Thanks,
Sridhar.
NtCreateProcess is capable of doing this but I've never tried that.
Since a lot of work is done in CreateProces and NtCreateProcess is a
very low level function you may need to emulate CreateProcess
functinality like informing CSRSS about the new process.
Libraries designed to work with the Win32 subsystem my also have
problems with that.
As far as I know the Unix subsystem is using NtCreateProcess for fork to
duplicate the address space but creates a new process (native NT
process) without address space duplication form exec.
Cygwin on the other hand is using CreateProcess and uses it's own logic
to load DLLs. Note that that solution is reportedly incompatible with
DLL relocation and address space randomization.
Korn�l
--
Don Burn (MVP, Windows DDK)
Windows Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr
Remove StopSpam to reply
"Korn�l P�l" <korn...@newsgroup.nospam> wrote in message
news:enNINiCy...@TK2MSFTNGP06.phx.gbl...
> __________ Information from ESET NOD32 Antivirus, version of virus
> signature database 4040 (20090428) __________
>
> The message was checked by ESET NOD32 Antivirus.
>
> http://www.eset.com
>
>
>
__________ Information from ESET NOD32 Antivirus, version of virus signature database 4040 (20090428) __________
The message was checked by ESET NOD32 Antivirus.
You can certainly download the source code for Cygwin and see how they
implemented it.
If it were me, however, I would be focusing my attention on ways to
rearchitect the application so that it uses threads instead of processes.
--
Tim Roberts, ti...@probo.com
Providenza & Boekelheide, Inc.
Thanks everyone for your suggestions. I think I may try to look for
an alternative solution for re-structuring my program rather than
creating a process.
Thanks,
Sridhar.