Add a bunch of missing _SEH_YIELD in 'return' clues in _SEH_TRY clauses.
[KERNEL32][CONSRV]
Make kernel32 / winsrv console CSR structures Win2k3-compliant for Read/WriteConsoleOutput functions.
The last missing ones are Alloc/Attach/FreeConsole APIs!!
Part 9/10
CORE-7931
svn path=/branches/condrv_restructure/; revision=63803
- Make kernel32 / winsrv console CSR structures Win2k3-compliant for Read/WriteConsole functions.
An attentive code reader will see that there are structure members in CONSOLE_WRITECONSOLE that are
indeed unused by kernel32 that can be used in ReactOS for undocumented extensions of WriteConsole...
(for instance, adding a parameter for ANSI codes support, who knows!... :P)
- Fix a bit the support for the CONSOLE_READCONSOLE_CONTROL parameter in ReadConsole (for unicode only).
- Use the actual exe name for command history management, given via a hackish way by ReadConsole:
the exe name is passed via the 80-byte-length limited static buffer, and is of course retrieved before
actually using the static buffer (if needed).
[CONSRV]
- Fix writing input events in the console, but first preprocessing them for pausing commands (we treat them separately and remove them),
then, in case we write many single events, we merge them in case they are mouse moves or repeated key down presses. This helps in not
overflowing too quickly the input buffer, and that fixes all the remaining kernel32:console winetests!! (see CORE-8256)
- Use the actual exe name for command history management, given via a hackish way by ReadConsole (blame MS!)
Part 8/X
CORE-7931
CORE-8256 #resolve #comment Fixed in the condrv_restructure branch in revision .
svn path=/branches/condrv_restructure/; revision=63793
- It is supposed that user buffers are valid, and if not, access to them is protected with SEH. This fixes almost all of the kernel32_winetest:console tests.
- Add parameter annotations.
svn path=/branches/condrv_restructure/; revision=63772
- Use a CODE_ELEMENT structure in order to simplify the code.
- Do not do an on-place ansi to unicode conversion.
svn path=/branches/condrv_restructure/; revision=63766
- Make kernel32 / winsrv console CSR structures Win2k3-compliant for Read/WriteConsoleCharacter/Attribute and FillConsoleOutputCharacter/Attribute functions.
The underlying CONSOLE_READOUTPUTCODE and CONSOLE_WRITEOUTPUTCODE structures are the same.
It should be noticed, as for the Read/WriteConsoleInput functions of r63754 and the other Read/WriteConsole*** functions, that for performance purposes Windows uses a local buffer for "small" sizes;
we should do the same too because both the client and the server use the number of elements to actually read/write in order to determine which buffer one should use (local or some shared buffer).
- Some memcpy --> RtlCopyMemory.
Part 7/X
CORE-7931
svn path=/branches/condrv_restructure/; revision=63755
- Make kernel32 / winsrv console CSR structures Win2k3-compliant for Read/WriteConsoleInput functions.
- Really fix some ASSERTS from r63108.
Part 6/X
CORE-7931
svn path=/branches/condrv_restructure/; revision=63754
- No need to use another NTSTATUS variable, since all of the information is already contained in ApiMessage.Status.
- Do not hardcode the type of the request variables in the sizeofs used in the CsrClientCallServer calls.
svn path=/branches/condrv_restructure/; revision=63753
Make kernel32 / winsrv console CSR structures Win2k3-compliant.
- Fix UNICODE and ANSI versions of the Alias and History APIs. Tested with unicode and ansi version of our doskey.exe
- Implement GetNumberOfConsoleMouseButtons.
Part 5/X
CORE-7931
svn path=/branches/condrv_restructure/; revision=63751
No need to precalculate the string lengths before calling the helper functions. They can do it instead.
svn path=/branches/condrv_restructure/; revision=63198
Make kernel32 / winsrv console CSR structures Win2k3-compliant.
The aim is to be able to put our kernel32.dll or winsrv.dll on win2k3, and vice-versa.
- Fix almost all the alias APIs and the history APIs. Unicode versions is OK, ANSI ones need correct fixes in server-side (see CORE-7931 for more details).
- Half-plement SetConsoleCommandHistoryMode (client-side OK, server-side unimplemented).
Part 4/X
CORE-7931
svn path=/branches/condrv_restructure/; revision=63194
- Fix potential bug in CsrCaptureMessageString, in case StringLength > MaximumLength, and also do not copy too much data into the captured buffer. Then always NULL-terminate the captured strings if possible.
- Implement CsrCaptureMessageMultiUnicodeStringsInPlace, used by Win2k3 kernel32.dll in CreateProcess and for SxS thingies.
svn path=/branches/condrv_restructure/; revision=63184