[PATCH v2 4/4] plugplay: Use ncacn_np instead of ncalrpc transport.

Rémi Bernon rbernon at codeweavers.com
Wed Jan 26 03:50:20 CST 2022


The ncacn_np should be used when the endpoint is a pipe, ncalrpc should
only be used with arbitrary named ports, which we translate into
\\pipe\lrpc\xxx pipe names.

Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
---
 dlls/ntoskrnl.exe/pnp.c   | 2 +-
 dlls/sechost/service.c    | 2 +-
 include/wine/plugplay.idl | 1 +
 programs/plugplay/main.c  | 2 +-
 4 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/dlls/ntoskrnl.exe/pnp.c b/dlls/ntoskrnl.exe/pnp.c
index 6d53d79267e..8d3481b2a72 100644
--- a/dlls/ntoskrnl.exe/pnp.c
+++ b/dlls/ntoskrnl.exe/pnp.c
@@ -1084,7 +1084,7 @@ void pnp_manager_start(void)
 {
     static const WCHAR driver_nameW[] = {'\\','D','r','i','v','e','r','\\','P','n','p','M','a','n','a','g','e','r',0};
     WCHAR endpoint[] = L"\\pipe\\wine_plugplay";
-    WCHAR protseq[] = L"ncalrpc";
+    WCHAR protseq[] = L"ncacn_np";
     UNICODE_STRING driver_nameU;
     RPC_WSTR binding_str;
     NTSTATUS status;
diff --git a/dlls/sechost/service.c b/dlls/sechost/service.c
index e6f4eb75db0..4dfb40b4bac 100644
--- a/dlls/sechost/service.c
+++ b/dlls/sechost/service.c
@@ -1988,7 +1988,7 @@ struct device_notify_registration
 static DWORD WINAPI device_notify_proc( void *arg )
 {
     WCHAR endpoint[] = L"\\pipe\\wine_plugplay";
-    WCHAR protseq[] = L"ncalrpc";
+    WCHAR protseq[] = L"ncacn_np";
     RPC_WSTR binding_str;
     DWORD err = ERROR_SUCCESS;
     struct device_notify_registration *registration;
diff --git a/include/wine/plugplay.idl b/include/wine/plugplay.idl
index 8123b733ad1..a3e7b04bf30 100644
--- a/include/wine/plugplay.idl
+++ b/include/wine/plugplay.idl
@@ -20,6 +20,7 @@ import "wtypes.idl";
 
 [
     uuid(57c680ac-7bce-4f39-97fd-ffea566754d5),
+    endpoint("ncacn_np:[\\pipe\\wine_plugplay]"),
     implicit_handle(handle_t plugplay_binding_handle)
 ]
 interface plugplay
diff --git a/programs/plugplay/main.c b/programs/plugplay/main.c
index 1156cb9f036..366be9c2b46 100644
--- a/programs/plugplay/main.c
+++ b/programs/plugplay/main.c
@@ -200,7 +200,7 @@ static DWORD WINAPI service_handler( DWORD ctrl, DWORD event_type, LPVOID event_
 static void WINAPI ServiceMain( DWORD argc, LPWSTR *argv )
 {
     unsigned char endpoint[] = "\\pipe\\wine_plugplay";
-    unsigned char protseq[] = "ncalrpc";
+    unsigned char protseq[] = "ncacn_np";
     SERVICE_STATUS status;
     RPC_STATUS err;
 
-- 
2.34.1




More information about the wine-devel mailing list