- Fix PSECURITY_DESCRIPTOR_RELATIVE names.c
- Don't use rtltypes.h as a replacement for normal stdlib headers.
- Fix a HAL header fixme.
svn path=/trunk/; revision=16744
- Changes:
- CreateProcess
* Cleanup creation of the initial thread using new utility functions and remove rosrtl
* Almost entirely rewrote the function to support features such as:
- SxS (locally only, patch will follow),
- SFP (SAFER) (locally only, patch will follow),
- DllPaths (locally only, patch will follow),
- Proper process environment/paramter block creation
- Proper console handle management (needs more work in kernel32/csr),
- Tokens/CreateProcessAsUser (locally only, patch will follow),
- Simpler code for path lookup, and more robust.
- Support for "auto-correction" (see Raymond Chen's blog)
- 16-bit/NE detection
- A variety of creation flags are now properly supported
- Added support for an undocumented-yet-known (see comment) shell flag
- Alert for flags we don't support yet
- Catch invalid flag combinations and other caller errors
- Improve and correct path searcing to use documented behaviours
- Created a multitude of helper functions to make the code easier to read
and allow them to be used for other apis as time goes on.
- BaseProcessStartup
* Call NtSetThreadInformation to let the Kernel know of the Thread's Start Address.
* Correct prototype of Thread Startup function for this case.
This fixes MANY things, some of which may not be evident, and possibly creates regressions which I have not yet seen but will try to correct. Some of these may be caused by the fact that I've seen code send CreateProcessW incorrect flags. Some things of note: DO NOT send partial names as "lpApplicationName". It's not supposed to work unless you're in the same current directory. Also, do NOT send CREATE_UNICODE_ENVIRONMENT if you don't have a unicode environement, and vice-versa. I've seen lots of code doing mistakes related to this. I hope you appreciate this patch and won't all jump on me for possbile regressions :(.
svn path=/trunk/; revision=16730
Directly use HKEY_LOCAL_MACHINE instead of RegOpenKey(HKEY_LOCAL_MACHINE, NULL, ...).
Remove use of UNICODE_NULL
Replace #ifdef __WINE__ by #ifdef __WINESRC__
Fix SetupDiCallClassInstaller prototype (DWORD -> DI_FUNCTION)
Thanks Usurp for your testing on Wine!
This file works now unmodified in Wine. A patch would be soon sent to wine-patches ML.
svn path=/trunk/; revision=16713
- Detect if Kernel APCs were pending during thread shutdown.
- Call Lego Routine, if registered, during thread shutdown.
svn path=/trunk/; revision=16705
- Fix offset calculation bug in the marshalling and unmarshalling code.
- Fix typos in the TypeFormatString.
This makes the [string, out, size_is()] parameters work properly.
svn path=/trunk/; revision=16703