[ros-dev] Re: [ros-svn] [ea] 18219: A do-nothing crt0 for native NT processes.

Emanuele Aliberti 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 :)

:Emanuele Aliberti

More information about the Ros-dev mailing list