[CSRSRV]: CsrInsertThread should call this API to make sure the thread isn't dead already. Update the callers to handle this possible failure.
This behavior was obeserved in Windows' CSRSRV.DLL. It now works in ReactOS as well.
svn path=/trunk/; revision=60059
[NTOSKRNL]: Make MmCreateSection do the correct access checks and parameter checks, just like ARM3 does. For example, asking for PAGE_EXECUTE on a non-image file no longer requests SYNCHRONIZE and FILE_READ_DATA...it asks... FILE_EXECUTE. Cause you know... that's what the caller..wants. Anyway, this, among other things, fixes LdrValidateImageChecksum (and those annoying errors 0xC0000022 in the logs). SMSS is now checking the checksums of Known DLLs just like before (in Win7 they stopped doing this to improve boot performance, lol). It also makes Windows' SMSS happy.
svn path=/trunk/; revision=60055
Use _SEH2_YIELD when exiting from a _SEH2 block via a return or a goto (otherwise --> bug in the stack).
This limitation will be removed in SEH3, but it's not used at the moment.
svn path=/trunk/; revision=60052
Don't hardcode the first parameter of the bugchecks. Instead, I introduce a NpBugCheck macro and file identifiers
(their names conform to the existing name convention of the driver) so that, when bugchecking, we report as the
first parameter of the NPFS_FILE_SYSTEM bugcheck the file ID (in the high word) and the line (in the low word)
where the bugcheck was emitted.
See the MSDN article "Bug Check 0x25: NPFS_FILE_SYSTEM" - http://msdn.microsoft.com/en-us/library/windows/hardware/ff557436(v=vs.85).aspx
for more information.
Inspired from the existing ext2 driver.
Should be done for the other filesystems (FAT, NTFS, CDFS, Redirector, Mailslot, etc...).
svn path=/trunk/; revision=60051
[NTOSKRNL]: Fix OPEN_PACKET definition. Also, allocate it from the pool in IoCreateFile, instead of the stack (Windows does too).
[NTOSKRNL]: IoCreateFile should only be setting IO_STATUS_BLOCK Information/Status if EA Buffer validation *Fails*, not if it succeeds!
svn path=/trunk/; revision=60038
- Fix MSVC build
- Fix some name mangling issues
- Add stub libraries to make the dll actually usable. The GCC alias library is still broken though.
svn path=/trunk/; revision=60037
download.microsoft.com/download/5/7/7/577a5684-8a83.../drvqa.doc". Fix a few incorrect exclusive vs shared lock acquires.
svn path=/trunk/; revision=60034
* Fix the locking in MiQueryBasicInformation to cover ARM3 too, not just RosMm. This makes sure we don't change the address space while querying it (or vice-versa).
* Don't attempt to query information for a terminated process (fixes some kernel32 loader winetests, matches Windows behavior).
* Brought to you by Alex Ionescu.
svn path=/trunk/; revision=60021
* Return the proper status when we attempt to illegally commit non-ARM3 section. We hit this assert with some kernel32 winetests (mainly loader and virtual). Brought to you by Alex Ionescu.
svn path=/trunk/; revision=60016
Use a correct return variable for RtlCreateUnicodeStringFromAsciiz. Advice: read the documentation before using functions...
svn path=/trunk/; revision=60014
- Allocate buffers for account and domain names in the well-known sid list instead of using pointers to strings.
- Add a string load routine and convert all hard-coded SID names to resources.
A german translation will follow soon.
svn path=/trunk/; revision=60013
- Fix header formatting plus windows headers inclusion.
- RtlCreateUnicodeString returns booleans, not ntstatuses, so fix the code appropriately.
svn path=/trunk/; revision=60012