- Implement two types of FsRtl locking functions: exclusive lock and Cc flushing lock, along with their releasing counterparts, without the filter callbacks support. These functions are unused in trunk now but would be needed by proper Cc/Mm/IFS in future.
svn path=/trunk/; revision=59889
- Fix nls.c header information.
- Rename BasepUnknown to BasepDebugProcess according to j00ru's http://j00ru.vexillium.org/csrss_list/api_list.html#Windows_2k3 and what Alex_Ionescu committed in r59879 (deprecated api).
svn path=/trunk/; revision=59884
[BASESRV]: Implement BaseSrvNlsCreateSection, which is needed by Windows kernel32.dll. Also implement the delay-loading functionality it needs.
svn path=/trunk/; revision=59879
[NDK]: Fix definition of a global flag.
[RTL]: RtlpCreateUserStack: 1) If the image is invalid, bail out. 2) If the stack commit is higher than reserve, adjust reserve. 3) After allocating a guard page, the stack limit is now ABOVE the guard page, not BELOW it (stack grows backward!).
[RTL]: Remove the hack which always Commited the "StackReserve" value. Threads now have a 4-64KB stack, instead of a 1MB stack.
[NTOSKRNL]: Implement MiAccessCheck and MiCheckForUserStackOverflow, which handle guard page + stack expansion.
[USER32]: Because threads now correctly run with a smaller stack than usual (and expand as needed), remove some checks in user-mode callbacks which forced larger stacks.
svn path=/trunk/; revision=59868
[RTL]: Make the Wine RtlActivationContext* APIs use the native RTL flags, not the Win32 flags.
[KERNEL32]: Separate Wine-specific ActCtx code from NT-compatible ActCtx code, and reimplement the latter. Now all ActCtx APIs except CreateActCtx (which is a mess on Windows) are compatible with the real NT RtlActivationContext APIs in terms of flags.
[KERNEL32]: Fix the hacks which were sending Win32 flags to the NT Native Rtl* functions.
svn path=/trunk/; revision=59866
[CSRSRV]: Fix definition of CSR_API_CONNECTINFO structure. It is now compatible with Server 2003. Also, set the DebugFlag.
svn path=/trunk/; revision=59864
* Improve resource files layout to make it consistent with the rest of our codebase. By Erdem Ersoy.
CORE-7414 #resolve #comment Committed in r59863. Thanks.
svn path=/trunk/; revision=59863
[USER32]: Initialize the KernelCallbackTable when loaded in GUI process. Also, store it statically instead of requiring a heap allocation (just like Windows).
svn path=/trunk/; revision=59862
* Introduce the support for organizing the solution into a hierarchy of folders that matches our codebase layout.
* You can enable this feature by adding -DUSE_FOLDER_STRUCTURE=1 to your configure phase (the VSSolution one).
* Based on a patch by Yuntian Zhang with my improvements.
CORE-7412
svn path=/trunk/; revision=59860
[NTOSKRNL]: Gut out almost all the fields in the ReactOS-specific MM_IMAGE_SECTION, and replace them with the NT SECTION_IMAGE_INFORMATION structure instead. Make NtQuerySection simply return a copy of these fields (as on Windows).
[NTOSKRNL]: Update the PE loader code to now store information in SECTION_IMAGE_INFORMATION. Also store LoaderFlags and DllCharacteristics, which were not stored/returned to users before (in NtQuerySection).
[NTOSKRNL]: An entrypoint of NULL should also set ImageContainsCode to FALSE.
[NTOSKRNL]: Implement MmGetImageInformation, which is used by NtQueryInformationProcess(ProcessImageInformation). Also implement this latter info class.
[NTOSKRNL]: Delete ps_i.h, nobody uses this anymore.
svn path=/trunk/; revision=59859
[NTOSKRNL]: MmCreatePeb should correctly fill out the Heap PEB parameters.
[NTOSKRNL]: MmInitSystem and mminit.c should correctly initialize and hold the Heap Tuning Parameters.
[NTOSKRNL]: CmControlVector should read the registry Heap Tuning Parameters into the real Mm variables, instaed of "Dummy".
This removes heap hacks and makes Windows NTDLL happy.
svn path=/trunk/; revision=59857