Required for binary compatibility with MS KERNEL32.DLL.
NOTE Filip and I still don't understand why KERNEL32 calls twice CsrConnectToServer. A possible explanation is because the Win32 server is a dual server: gui+console. This differs with our current implementation in the SM: we accept only console registration requests (see SmpHandleConnectionRequest). Modified: trunk/reactos/lib/ntdll/csr/connect.c _____
Modified: trunk/reactos/lib/ntdll/csr/connect.c --- trunk/reactos/lib/ntdll/csr/connect.c 2005-09-25 12:39:32 UTC (rev 18049) +++ trunk/reactos/lib/ntdll/csr/connect.c 2005-09-25 13:36:27 UTC (rev 18050) @@ -180,8 +180,15 @@
PSID SystemSid = NULL; CSR_CONNECTION_INFO ConnectionInfo; ULONG ConnectionInfoLength = sizeof(CSR_CONNECTION_INFO); - DPRINT("CsrConnectToServer\n");
+ DPRINT("%s(%S)\n", __FUNCTION__, ObjectDirectory); + + /* Binary compatibility with MS KERNEL32 */ + if (NULL == ObjectDirectory) + { + ObjectDirectory = L"\Windows"; + } + /* Calculate the total port name size */ PortNameLength = ((wcslen(ObjectDirectory) + 1) * sizeof(WCHAR)) + sizeof(CSR_PORT_NAME);