[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
- Add brackets around "case XXX:" so that I'm able to (un)fold regions of code when debugging and reading.
- Temporarily skip AppCompat functionality added by Alex, in order to "fix" (read: hack-fix) launch of .bat/.cmd files. Indeed, when .bat/.cmd files get started with the CreateProcess function, a call to NtCreateSection fails with status STATUS_INVALID_IMAGE_NOT_MZ, as expected (line 2952). But the new AppCompat code (lines 3028 and 3031-3033 and following, and 3114), executed whenever the status code from NtCreateSection is STATUS_SUCCESS or STATUS_INVALID_IMAGE_NOT_MZ or something else, overwrites the status code by other values, so that, after we return to the main code path (lines 3174 and following), the status code isn't STATUS_INVALID_IMAGE_NOT_MZ anymore but STATUS_SUCCESS or whatever, and then, we fail to run the .bat/.cmd file (that should be done at lines 3314-3316 and following).
To Alex_Ionescu: Have a look at this and fix it properly!!
svn path=/trunk/; revision=59855
***NOTE THAT I ONLY DID THIS FOR UNICODE. I DID NOT BOTHER TO FIX THE ANSI VERSION. ERIC KOHL, PLEASE REVIEW & FIX AS APPROPRIATE***
svn path=/trunk/; revision=59843
* Check more parameters in MultiByteToWideChar() and WideCharToMultibyte(). By Marcus Boillat.
* Fixes 4 kernel32:codepage tests.
CORE-7411 #resolve #comment Committed in r59839 with formatting fixes. Thanks.
svn path=/trunk/; revision=59839
[SACDRV]: Cleanups and fixes. You can now use "Shutdown", "crashdump" and "restart" in the !SAC and the commands work as expected.
[SACDRV]: Implement GetTListInfo and DoTlistCommand. PrintTListInfo is next to actually show the output.
svn path=/trunk/; revision=59838
[CMD]
The default command prompt is $p$g. But still keep the information line by setting a system environment variable "PROMPT" set to $i$p$g. Therefore, if you are tired of it, either remove the environement variable or redefine it to whatever you want. In a current command-line session, to restore the default command prompt, enter "prompt" without any other parameter.
svn path=/trunk/; revision=59837
Remove the help resources moved to the help utility.
@ gigaherz (a.k.a. David Quintana): Don't worry! Your changes to fr-FR.rc were already moved to help.exe in the previous commit :D
svn path=/trunk/; revision=59833
Add a help.exe utility to replace the old built-in command "help" in cmd.exe (i.e. do it the Win2k3 way).
This way, if somebody runs a personalized command-line environment which provides its own help command, one can use the personalized help command and not the standard one (e.g. the "help" command of RosBE).
Adapted by myself from a patch by Lee Schroeder.
CORE-5701 #resolve #comment Committed in revision 59832, thanks :) I use a trick to be able to compile the utility (use: ninja cmd_help) because doing "ninja help" has a signification in ninja (signaled by AmineKhaldi).
svn path=/trunk/; revision=59832
[SACMSG]: Re-commit the .mc file with CRLF endings, this is essential for correct output.
[SACDRV]: Fix bug in VTUTF8ChannelAnsiDispatch (freeing stack memory with pool API).
[SACDRV]: Fix the way in which the cell buffer was being computed. This way works (tm) and is also much easier to read.
[SACDRV]: Fix bug in VTUTF8ChannelIRead (incorrect char vs byte sizing).
VT-UTF8 output and input works now in the !SAC channel. There's still some lurking bugs, however, such as when hitting the 24th row (probably an off-by-one memcpy).
svn path=/trunk/; revision=59831
WANTED: The fact that the SAC developers cherry-picked *which* ANSI standard and VT standard they were going to follow, threw in ANSI.SYS compatibility, and then added a bunch of bugs, makes me wonder if real people use SAC on Windows...
svn path=/trunk/; revision=59826
[SACDRV]: Implement VTUTF8ChannelOEcho.
[SACDRV]: WIP-lement VTUTF8ChannelConsumeEscapeSequence. Have to do some reading up on ANSI to get this right.
svn path=/trunk/; revision=59824
- Fix all bugs that keep MMC from starting and terminating properly.
- Implement an MDI client window.
- Add menuitem "File/New" in order to create a new console window (MDI child).
- Add a "large" menu that is used when console windows are visible.
svn path=/trunk/; revision=59823