Author: rmessiant Date: Fri Dec 31 16:27:01 2010 New Revision: 50242
URL: http://svn.reactos.org/svn/reactos?rev=50242&view=rev Log: [UMPNPMGR] - Start using XP- and Vista-compatible pipe names for the RPC endpoint. Kick out the ROS-specific \pipe\umpnpmgr one. - Use only the Vista pipe name for now, using the XP one makes device installation fail.. - Use the correct PNP interface UUID [SETUPAPI] - Bind to the PNP service using the Vista-compatible pipe.
Modified: trunk/reactos/base/services/umpnpmgr/umpnpmgr.c trunk/reactos/dll/win32/setupapi/rpc.c trunk/reactos/include/reactos/idl/pnp.idl
Modified: trunk/reactos/base/services/umpnpmgr/umpnpmgr.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/services/umpnpmgr/umpn... ============================================================================== --- trunk/reactos/base/services/umpnpmgr/umpnpmgr.c [iso-8859-1] (original) +++ trunk/reactos/base/services/umpnpmgr/umpnpmgr.c [iso-8859-1] Fri Dec 31 16:27:01 2010 @@ -94,20 +94,37 @@ 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,
Modified: trunk/reactos/dll/win32/setupapi/rpc.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/setupapi/rpc.c?re... ============================================================================== --- trunk/reactos/dll/win32/setupapi/rpc.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/setupapi/rpc.c [iso-8859-1] Fri Dec 31 16:27:01 2010 @@ -36,7 +36,7 @@ Status = RpcStringBindingComposeW(NULL, L"ncacn_np", (LPWSTR)pszMachine, - L"\pipe\umpnpmgr", + L"\pipe\plugplay", NULL, &pszStringBinding); if (Status != RPC_S_OK)
Modified: trunk/reactos/include/reactos/idl/pnp.idl URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/idl/pnp.idl... ============================================================================== --- trunk/reactos/include/reactos/idl/pnp.idl [iso-8859-1] (original) +++ trunk/reactos/include/reactos/idl/pnp.idl [iso-8859-1] Fri Dec 31 16:27:01 2010 @@ -250,7 +250,7 @@ } DEVPROPKEY;
[ - uuid (809F4e40-A03D-11CE-8F69-08003E30051B), + uuid (8D9F4E40-A03D-11CE-8F69-08003E30051B), version(1.0), pointer_default(unique) #ifndef __midl