RpcServerThread(LPVOID lpParameter)
{
RPC_STATUS Status;
+ BOOLEAN RegisteredProtSeq = FALSE;
UNREFERENCED_PARAMETER(lpParameter);
DPRINT("RpcServerThread() called\n");
+#if 0
+ /* XP-compatible protocol sequence/endpoint */
Status = RpcServerUseProtseqEpW(L"ncacn_np",
20,
- L"\\pipe\\umpnpmgr",
+ L"\\pipe\\ntsvcs",
NULL); // Security descriptor
- if (Status != RPC_S_OK)
- {
+ if (Status == RPC_S_OK)
+ RegisteredProtSeq = TRUE;
+ else
+ DPRINT1("RpcServerUseProtseqEpW() failed (Status %lx)\n", Status);
+#endif
+
+ /* Vista-compatible protocol sequence/endpoint */
+ Status = RpcServerUseProtseqEpW(L"ncacn_np",
+ 20,
+ L"\\pipe\\plugplay",
+ NULL); // Security descriptor
+ if (Status == RPC_S_OK)
+ RegisteredProtSeq = TRUE;
+ else
DPRINT1("RpcServerUseProtseqEpW() failed (Status %lx)\n", Status);
+
+ /* Make sure there's a usable endpoint */
+ if (RegisteredProtSeq == FALSE)
return 0;
- }
Status = RpcServerRegisterIf(pnp_v1_0_s_ifspec,
NULL,
/* Function 56 */
DWORD PNP_QueryArbitratorFreeData(
- handle_t hBinding)
+ handle_t hBinding,
+ BYTE *pData,
+ DWORD DataLen,
+ LPWSTR pDeviceID,
+ RESOURCEID ResourceID,
+ DWORD ulFlags)
{
UNIMPLEMENTED;
return CR_CALL_NOT_IMPLEMENTED;
/* Function 57 */
DWORD PNP_QueryArbitratorFreeSize(
- handle_t hBinding)
+ handle_t hBinding,
+ DWORD *pulSize,
+ LPWSTR pDeviceID,
+ RESOURCEID ResourceID,
+ DWORD ulFlags)
{
UNIMPLEMENTED;
return CR_CALL_NOT_IMPLEMENTED;