- Since NTSTATUS definition is returned into bcrypt.h, then let's define PNTSTATUS too. Otherwise it makes no sense and errors out.
- Handle BCRYPT_H and __WINE_BCRYPT_H in ndk/umtypes.h. Thomas said that BCRYPT_H is not an option - but our NDK should be compatible with ReactOS PSDK too. If I am wrong, please feel free to change __WINE_BCRYPT_H to BCRYPT_H in psdk/bcrypt.h, fix related probelms and revert my change. Thanks!
svn path=/trunk/; revision=64713
- Extend GetUserObjectInformation test to include the ansi version. ... this is the lazy way and just duplicates the code, feel free to make it more concise.
CORE-8101
svn path=/trunk/; revision=64706
* Introduce support for for MSVC native run-time checks. Set RUNTIME_CHECKS to TRUE to enable it.
* Dedicated to Christoph von Wittich and all ReactOS devs that use MSVC builds ;)
CORE-8626
svn path=/trunk/; revision=64704
- Allow the thread that called LdrShutdownProcess to forcefully acquire critical sections (the loader lock in particular).
This fixes the race condition where ExitProcess might terminate a thread holding the loader lock and subsequently call LdrShutdownProcess. That would then result in a deadlock because LdrShutdownProcess cannot acquire the loader lock.
This is a pretty ugly hack... but at least Windows does it the same way.
Fixes hangs after the summary line when running mshtml tests.
CORE-8624 #resolve
svn path=/trunk/; revision=64702
- Move the stack frame indices to where they belong (this is the stack layout when an interrupt is called).
- In the bootstrap interrupt, modify the CS:IP stored in the stack instead of the current CS:IP of the CPU, so that we can clean up everything and the interrupt return correctly, instead of breaking everything... (some apps wouldn't start with the original code^^). This is an addendum/fix to revision 64521.
svn path=/trunk/; revision=64701
Store the module handles to loaded property page provider dlls in the DeviceInfoData (for class property pages) or in the DeviceInfo (for device property pages). The dlls are unloaded when the device info set is destroyed. These dlls were unloaded as soon as the property sheet data had been retrieved. These property pages could not be added to a property sheet because unloading the dll invalidated the page reources.
svn path=/trunk/; revision=64700
- Call SECUR32_initializeProviders from EnumerateSecurityPackagesW if necessary. Fixes a couple secur32 tests, and an occasional crash in rpcrt4:rpc
svn path=/trunk/; revision=64699
- Use NtReadVirtualMemory instead of dereferencing a pointer from a different process in DbgUiConvertStateChangeStructure.
CORE-8622 #resolve
svn path=/trunk/; revision=64690
- In ElfGetLogHandleEntryByHandle, actually verify the validity of the handle by traversing the log handle list. Fixes crash in advapi32_winetest:eventlog (double close).
- Minor style improvements to ElfDeleteEventLogHandle
CORE-8621 #resolve
svn path=/trunk/; revision=64689
- In order to always check for opcode handler being NULL, replace the only NULL handler by a non-NULL one that handles the invalid opcodes.
- To quickly retrieve opcode numbers, add their numbers in regard to their handlers.
svn path=/trunk/; revision=64686
Use a more performant CountLeadingZeros64 version from Timo (tested by Thomas), and disable the MSVC-specific one until you find a version that works, and is supported for any CPU.
svn path=/trunk/; revision=64680
- Implement KiRaiseSecurityCheckFailure[Handler] to handle int 0x29 (__fastfail). Based on patch by Timo Kreuzer.
(Yes, this is a Windows 8 feature. However all it does is improve the debugging experience, and we have a need for that)
CORE-8419
svn path=/trunk/; revision=64665
Rename AVL tree functions with macros when included from Mm. This is necessary since the compiler might chose to not inline these functions (and does so on MSVC debug builds) yet only generate one instance of the function, where 2 different versions are required. This caused RtlAvlTree functions to fail on MSVC builds, since they were calling the functions compiled for Mm AVL trees!
svn path=/trunk/; revision=64664