Emanuele Aliberti wrote:
Alex Ionescu wrote:
I don't understand this change; it is
incorrect. MS kernel32.dll
sends the name of the port.
It seems that KERNEL32, the 1st (or the 2nd) time, sends L"\\Windows",
but, the 2nd (or the 1st) time, sends NULL.
The 2nd call (the one that connects to the console server in
basesrv.dll) sends NULL, yes, but it's not CsrpConnectToServer's job to
automagically assume you want \\Windows. That is a total hack, so I just
wanted to point that out... on Windows, it will actually probably
-break- ntdll compatibility, since windows's ntdll merrily sends uses
the NULL, while we'll end up adding \Windows incorrectly.
This happens during the DLL initialization. As you and
other stated,
this is probably related to the SM managing subsystem IDs in pairs
(2+3 for Win32) and not to the servers (Win32 has 1+3 servers hosted
by the CSR).
N.B. Still trying to understand how everything get glued.
Best regards,
Alex Ionescu