Remove the unneeded CsrpHandleConnectionRequest function since CsrApiHandleConnectionRequest does already the job.
svn path=/branches/ros-csrss/; revision=57744
When calling CsrClientConnectToServer with a valid connection info user buffer, after capturing the buffer and calling CsrClientCallServer, do not forget to copy back to the user buffer the updated connection info and to free the capture buffer !
svn path=/branches/ros-csrss/; revision=57743
- Remove unused functions CallHardError and CsrHandleHardError (in fact calling the hard error callback is already done in the listening thread).
- Add an annotation and correct a typographical error; remove old comments.
- Remove the now unneeded csrplugin.h header (a relic of the old callback system of the old csrss/csrsrv).
svn path=/branches/ros-csrss/; revision=57741
- Merge IntWriteConsoleOutputCharacter and WriteConsoleOutputAttribute functions into IntWriteConsoleOutputCode helper functions, which is used inside WriteConsoleOutputAttribute and WriteConsoleOutputCharacterW/A.
- In server-side, merge CsrWriteConsoleOutputChar and CsrWriteConsoleOutputAttrib into the server API SrvWriteConsoleOutputString.
- The structures CSRSS_WRITE_CONSOLE_OUTPUT_CHAR and CSRSS_WRITE_CONSOLE_OUTPUT_ATTRIB are merged into CSRSS_WRITE_CONSOLE_OUTPUT_CODE.
[CONSRV]
- Add a CsrValidateMessageBuffer usage.
svn path=/branches/ros-csrss/; revision=57740
- Modify the helper function IntWriteConsole to make it use of capture buffers for passing things to write.
- Now, the loop disappears.
- I moved the pause-event wait (introduced in revision r47359) inside consrv, and (concerning the server-api-part SrvWriteConsole), especially in the ConioWriteConsole function, to be sure that all functions calling ConioWriteConsole become sensible to pause event. This REALLY NEEDS testing (and of course the code needs cleaning of the introduced comments, when I'm sure it works).
svn path=/branches/ros-csrss/; revision=57738
- Merge IntFillConsoleOutputCharacter and FillConsoleOutputAttribute functions into IntFillConsoleOutputCode helper and make it used by FillConsoleOutputAttribute/CharacterW/A.
- In server-side, CsrFillOutputChar and CsrFillOutputAttrib are merged into SrvFillConsoleOutput.
- Merge CSRSS_FILL_OUTPUT and CSRSS_FILL_OUTPUT_ATTRIB structures into CSRSS_FILL_OUTPUT.
svn path=/branches/ros-csrss/; revision=57734
- Use the ConsoleGetPerProcessData macro (--> CONSOLE_PROCESS_DATA structure).
- Do not forget to leave a critical section if we fail.
svn path=/branches/ros-csrss/; revision=57731
Use new structures and api indices namings.
[CONSRV]
Use CsrValidateMessageBuffer instead of Win32CsrValidateBuffer.
svn path=/branches/ros-csrss/; revision=57729
- Use new structures and api indices namings (as usual).
[CONSRV]
- Merge CSRSS_SET_TITLE and CSRSS_GET_TITLE into CSRSS_CONSOLE_TITLE.
- Merge CSRSS_GET_CONSOLE_(OUTPUT_)CP and CSRSS_SET_CONSOLE_(OUTPUT_)CP into CSRSS_CONSOLE_CP.
- NtDuplicateObject(GetCurrentProcess(), ... ---> NtDuplicateObject(NtCurrentProcess(), ...
- Use CsrValidateMessageBuffer instead of Win32CsrValidateBuffer.
- Use CONSOLE_PROCESS_DATA structure.
TODO: Remove a DPRINT1 checkpoint in SrvAllocConsole after future tests are OK.
svn path=/branches/ros-csrss/; revision=57727
- Use new structures and api indices namings.
[CONSRV]
- CSRSS_SET_CURSOR ==> CSRSS_SET_CURSOR_POSITION for SrvSetConsoleCursorPosition.
- Merge CSRSS_GET_CURSOR_INFO and CSRSS_SET_CURSOR_INFO into CSRSS_CURSOR_INFO.
svn path=/branches/ros-csrss/; revision=57725
- Make some functions compliant with the new structures and server apis indices names.
[KERNEL32/CONSRV]
- Merge CSRSS_SET_CONSOLE_MODE and CSRSS_GET_CONSOLE_MODE into CSRSS_CONSOLE_MODE.
- Rename CSRSS_SETGET_CONSOLE_HW_STATE into CSRSS_CONSOLE_HW_STATE.
svn path=/branches/ros-csrss/; revision=57724
- Make OpenConsole call only one server api, namely SrvOpenConsole, which was known before under the name CsrGetHandle (this latter function was removed in r57689 by error).
- Merge CSRSS_GET_INPUT_HANDLE and CSRSS_GET_OUTPUT_HANDLE structures into CSRSS_OPEN_CONSOLE (used by the functions named above).
[CONSRV]
- Add SrvOpenConsole (copied from CsrGetHandle), and add DPRINT1s to it.
- Load the localized string "Command Prompt" using the Server DLL's instance handle instead of calling GetModuleHandleW.
- Make use of CONSOLE_PROCESS_DATA structures.
svn path=/branches/ros-csrss/; revision=57723
Reorganize the data members according to their purposes (increases the lisibility only). No code changes.
svn path=/branches/ros-csrss/; revision=57722
- Move the waiting loop of IntReadConsole into SrvReadConsole instead.
- Merge IntPeekConsoleInput and IntReadConsoleInput helpers into a single IntGetConsoleInput helper function
and make PeekConsoleInputW/A and ReadConsoleInputW/A use it.
Indeed, the "only" difference between these two functions, is that the first one keeps the data read inside
the console input buffer, but on the contrary the second removes the data and does not return until at least
one input record has been read.
In server-side, CsrReadInputEvent and CsrPeekConsoleInput are merged into SrvGetConsoleInput. Merge the corresponding
structures.
- Use shorter variable names in IntReadConsoleOutput and use CONSOLE_PROCESS_DATA structure in SrvReadConsoleOutput.
- Merge IntReadConsoleOutputCharacter and ReadConsoleOutputAttribute functions into a single IntReadConsoleOutputCode
helper function, and make ReadConsoleOutputAttribute and ReadConsoleOutputCharacterW/A use it.
In server-side, CsrReadConsoleOutputChar and CsrReadConsoleOutputAttrib are merged into SrvReadConsoleOutputString.
(Remark: the SrvReadConsoleOutputString name comes from http://j00ru.vexillium.org/csrss_list/api_list.html and I
checked that it was indeed the server function that was called by both ReadConsoleOutputAttribute and ReadConsoleOutputCharacter).
The idea behind merging these two functions is, that an attribute or a character are instances of the same entity, namely
a "code" (what would be called an (ANSI) escape sequence). Therefore I encode them inside the same CSRSS_READ_CONSOLE_OUTPUT_CODE
structure and I use it with the previous functions.
[CONSRV]
- Make use of the CONSOLE_PROCESS_DATA structure (introduced in r57685).
- Use CsrValidateMessageBuffer instead of Win32CsrValidateBuffer.
- Reorganize conmsg.h a little bit.
svn path=/branches/ros-csrss/; revision=57721
- Use a standard win32 thread function for the ConsoleControlDispatcher thread, instead of a custom PCONTROLDISPATCHER one.
- Deactivate debug outputs in console.c, which were activated by error in r57706.
svn path=/branches/ros-csrss/; revision=57714
- Move console-related Vista+ functions from client/vista.c to a dedicated client/console/vista.c file, and add it to compilation.
- Move some helper functions from console.c to history.c.
- Use the new api index names in history.c.
[CONSRV]
- Merge CSRSS_GET_HISTORY_INFO and PCSRSS_SET_HISTORY_INFO structures declarations into CSRSS_HISTORY_INFO, and therefore use only one member of it inside CONSOLE_API_MESSAGE structure.
- WORD --> UINT for few structure members related to history information.
svn path=/branches/ros-csrss/; revision=57713
- Use capture buffers to pass (variable-length) strings to the console server.
- Merge the CSRSS_ADD_CONSOLE_ALIAS and CSRSS_GET_CONSOLE_ALIAS structures into a unique structure CSRSS_CONSOLE_ALIAS.
TODO: Check what happens to the "/ sizeof(WCHAR);" in GetConsoleAliasesW.
svn path=/branches/ros-csrss/; revision=57712
- Move all the read/write related functions to an appropriate source file and add it to compilation.
- Fix credits for alias.c
svn path=/branches/ros-csrss/; revision=57711
- Move history-functions to a dedicated source file. The functions were created in r47580 and therefore update the description header of the file.
svn path=/branches/ros-csrss/; revision=57709
- Move alias-functions to a dedicated file. The names of the programmers were retrieved via svn information (see r32093 and r32118).
svn path=/branches/ros-csrss/; revision=57707
- Place console.c file in a dedicated directory because I will after split it into logical units (eg. a file for Alias-functions, a file for Read-write functions, etc...) to facilitate maintenance.
svn path=/branches/ros-csrss/; revision=57705
- Comments formatting.
- Correct a nasty initialization bug which unveiled itself as, eg., critical sections being already initialized in consoles, whereas we were creating new ones. It was because we didn't copy correctly per-process server data from parent process to child process. Now consoles initialize finely.
Now, only modifications to the console subsystem remain to make it totally conform to the new messaging structures of csrss (I mean, using the capture buffers).
svn path=/branches/ros-csrss/; revision=57703
- Use a variable ServerDll instead of using each time CsrLoadedServerDll[i], as it is done in some other places.
- Clean the code (remove extra-parentheses).
- Zero-out the memory buffer allocated for CsrSrvSharedStaticServerData.
svn path=/branches/ros-csrss/; revision=57701
NetLocalGroupEnum: Add code to return information about a single alias to the caller.
Now, the user account control panel enumerates the built-in groups. ;-)
svn path=/trunk/; revision=57700
Resize the dialogs to fit the ReactOS image, and add the logo to the "Please wait..." dialog
(which is displayed when a user is logging-on or quitting his session and the "Save your parameters..."
message is displayed). Now ReactOS looks perfect.
svn path=/trunk/; revision=57697
- Implement usage of alpha cursors (does not work yet due to a bug in windres)
- Directly use bitmaps passed to NtUserSetCursorIconData instead of copying them
svn path=/trunk/; revision=57695