[ros-dev] Re: [ros-svn] [ea] 18219: A do-nothing crt0 for native
ea at iol.it
Sun Oct 2 21:36:48 CEST 2005
Alex Ionescu wrote:
>> No problem for me. I didn't even know there was one. What puzzles me
>> is the ANSI signature for the main function. NT is almost everywhere
>> Unicode, but in the entry point of a native process...
> That's because _wmain didn't really appear until much later. Vista's
> nt.lib now implements NtStartupProcess (calls _main) and
> NtStartupProcessW (calls _wmain). I didn't implement it yet because
> I'm waiting for Thomas's patch to make mingw support _wmain.
That explains this oddity.
> Also, speaking of mu-sessions and smss, you might be interested to
> know that Vista now has a completely re-designed LPC called ALPC (you
> can email me if you want more info), as well as a much more "open" and
> public SMSS, now accessible through functions like RtlConnectToSm and
> RtlSendMsgToSm. I'm going to guess that some of the features regarding
> mu-sessions you've wanted will actually be done right this time:)
My English must be really bad, because I totally dislike μSessions and
the way the SM is implemented in 2k/XP/2k3 (which is the design that
inspired you in writing the new CSR). The main problem is Win32
polluting everything in MS design: from kernel up. SM and CSR aren't
exceptions. My goal was drawing a sharp line between the ROS core and
any personality subsystem: cloning the MS CSR (and modifying the SM to
work with it) will bind ROS to Win32 and leave other personality
subsystems no run-time to grow upon. Thightly binding ROS to Win32 means
problems in Win32 may propagate deep down in the system and vice versa
(the well known example is win32k.sys, which can not be removed though).
RtlConnectToSm!? Well, it seems that MS eventually cloned our smdll.dll :)
More information about the Ros-dev