[Mono-dev] Mono on Windows Native NT API

Peacebreaker Marc.Rittinghaus at web.de
Thu Mar 5 05:03:52 EST 2009

Robert Jordan wrote:
> Hi,
> Kornél Pál wrote:
>> Hi,
>> You will get a very limited functionality because ntdll isn't the only 
>> user mode module enabling you to access kernel mode services.
>> Also note that large parts of CreateProcess are implemented outside of 
>> ntdll.
>> Anyway I would suggest you to port the io-layer to native NT API. You 
>> may need modifications in other parts as well but this is the best 
>> solution I can think of if you really don't want to use kernel32.dll and 
>> advapi32.dll.
> I'd rather implement slimmed down versions of kernel32.dll, advapi32.dll
> instead of reviewing:
> - mono
> - msvcrt
> - libgc
> - eglib or glib+gmodule
> Robert


thank you Kornél Pál and Robert for your replies. I checked kernel32.dll and
it seems ok to include it because it only depends on ntdll.dll and does no
system calls to
win32k.sys (which is no longer available). The same is true for msvcrt.dll
(and version.dll).

Looking at the dependency tree of mono.exe/mono.dll...I find that the
standard mono build which
you can download from this site depends on numerous win32 dlls. I will never
be able to replace them all with slimmed down versions. Is there any
possibility to build a very limited version of mono (for windows) with a
smaller dependency tree?

If I'm left with altering mono I would appreciate a kind of documentation of
how the IO layer works and how portability is technically realized. Is there
any such documentation available? 

I read that mono - if built for windows - directly uses the win32 API, but
built for e.g. linux it implements its own functionality. Could there be a
way of combining both ways where mono needs functionality brought by
advapi32.dll and other advanced win32 libs?


View this message in context: http://www.nabble.com/Mono-on-Windows-Native-NT-API-tp22299347p22348587.html
Sent from the Mono - Dev mailing list archive at Nabble.com.

More information about the Mono-devel-list mailing list