[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
* Import Wine's (broken) winioctl.h.
* Remove FILE_FS_VOLUME_INFORMATION from winternl.h. It doesn't belong there.
[NTDLL_WINETEST]
* Be more specific about winioctl.h inclusion.
svn path=/trunk/; revision=60005
* Be more specific about the commctrl.h inclusion.
* We no longer need to add include/reactos/wine as a global inclusions folder.
svn path=/trunk/; revision=60004
Fix string size to store GPT GUIDs.
This was causing a buffer overflow (with ending null char) and thus a stack corruption.
The side effect of the stack corruption was that the debug code (display) was looping
forever while attempting to read partition table making ntoskrnl unable to boot with
a machine where there's a GPT disk.
Kernel is now able again to handle GPT disks (and they can be used again in user-land).
This was magically hidding before r59923 or by disabling NDEBUG. Lovely Heisenbugs :-).
svn path=/trunk/; revision=60003