1 #ifndef __INCLUDE_CSRSS_CSRSS_H
2 #define __INCLUDE_CSRSS_CSRSS_H
4 #include <drivers/blue/ntddblue.h>
6 #define CSR_NATIVE 0x0000
7 #define CSR_CONSOLE 0x0001
9 #define CONSOLE_INPUT_MODE_VALID (0x0f)
10 #define CONSOLE_OUTPUT_MODE_VALID (0x03)
13 typedef union _CSR_API_NUMBER
15 WORD Index; // CSRSS API number
16 WORD Subsystem; // 0=NTDLL;1=KERNEL32;2=KERNEL32
17 } CSR_API_NUMBER, *PCSR_API_NUMBER;
20 typedef ULONG CSR_API_NUMBER
;
22 #define MAKE_CSR_API(Number, Server) \
23 ((Server) << 16) + Number
25 #define CSR_CSRSS_SECTION_SIZE (65536)
27 typedef VOID (CALLBACK
*PCONTROLDISPATCHER
)(DWORD
);
32 } CSRSS_CONNECT_PROCESS
, *PCSRSS_CONNECT_PROCESS
;
39 } CSRSS_CREATE_PROCESS
, *PCSRSS_CREATE_PROCESS
;
45 } CSRSS_CREATE_THREAD
, *PCSRSS_CREATE_THREAD
;
50 } CSRSS_TERMINATE_PROCESS
, *PCSRSS_TERMINATE_PROCESS
;
56 ULONG nProcessIdsTotal
;
57 } CSRSS_GET_PROCESS_LIST
, *PCSRSS_GET_PROCESS_LIST
;
63 ULONG NrCharactersToWrite
;
64 ULONG NrCharactersWritten
;
67 } CSRSS_WRITE_CONSOLE
, *PCSRSS_WRITE_CONSOLE
;
73 WORD NrCharactersToRead
;
74 WORD NrCharactersRead
;
77 UNICODE_STRING ExeName
;
79 DWORD ControlKeyState
;
80 } CSRSS_READ_CONSOLE
, *PCSRSS_READ_CONSOLE
;
84 PCONTROLDISPATCHER CtrlDispatcher
;
85 BOOLEAN ConsoleNeeded
;
90 } CSRSS_ALLOC_CONSOLE
, *PCSRSS_ALLOC_CONSOLE
;
95 } CSRSS_FREE_CONSOLE
, *PCSRSS_FREE_CONSOLE
;
100 CONSOLE_SCREEN_BUFFER_INFO Info
;
101 } CSRSS_SCREEN_BUFFER_INFO
, *PCSRSS_SCREEN_BUFFER_INFO
;
105 HANDLE ConsoleHandle
;
107 } CSRSS_SET_CURSOR
, *PCSRSS_SET_CURSOR
;
111 HANDLE ConsoleHandle
;
120 ULONG NrCharactersWritten
;
121 } CSRSS_FILL_OUTPUT
, *PCSRSS_FILL_OUTPUT
;
125 HANDLE ConsoleHandle
;
129 } CSRSS_FILL_OUTPUT_ATTRIB
, *PCSRSS_FILL_OUTPUT_ATTRIB
;
133 HANDLE ConsoleHandle
;
138 } CSRSS_READ_INPUT
, *PCSRSS_READ_INPUT
;
142 HANDLE ConsoleHandle
;
147 ULONG NrCharactersWritten
;
149 } CSRSS_WRITE_CONSOLE_OUTPUT_CHAR
, *PCSRSS_WRITE_CONSOLE_OUTPUT_CHAR
;
153 HANDLE ConsoleHandle
;
158 } CSRSS_WRITE_CONSOLE_OUTPUT_ATTRIB
, *PCSRSS_WRITE_CONSOLE_OUTPUT_ATTRIB
;
162 HANDLE ConsoleHandle
;
163 CONSOLE_CURSOR_INFO Info
;
164 } CSRSS_GET_CURSOR_INFO
, *PCSRSS_GET_CURSOR_INFO
;
168 HANDLE ConsoleHandle
;
169 CONSOLE_CURSOR_INFO Info
;
170 } CSRSS_SET_CURSOR_INFO
, *PCSRSS_SET_CURSOR_INFO
;
174 HANDLE ConsoleHandle
;
176 } CSRSS_SET_ATTRIB
, *PCSRSS_SET_ATTRIB
;
180 HANDLE ConsoleHandle
;
182 } CSRSS_SET_CONSOLE_MODE
, *PCSRSS_SET_CONSOLE_MODE
;
186 HANDLE ConsoleHandle
;
188 } CSRSS_GET_CONSOLE_MODE
, *PCSRSS_GET_CONSOLE_MODE
;
195 HANDLE OutputHandle
; /* handle to newly created screen buffer */
196 } CSRSS_CREATE_SCREEN_BUFFER
, *PCSRSS_CREATE_SCREEN_BUFFER
;
200 HANDLE OutputHandle
; /* handle to screen buffer to switch to */
201 } CSRSS_SET_SCREEN_BUFFER
, *PCSRSS_SET_SCREEN_BUFFER
;
207 } CSRSS_IDENTIFY_ALERTABLE_THREAD
, *PCSRSS_IDENTIFY_ALERTABLE_THREAD
;
213 } CSRSS_SET_TITLE
, *PCSRSS_SET_TITLE
;
219 } CSRSS_GET_TITLE
, *PCSRSS_GET_TITLE
;
223 HANDLE ConsoleHandle
;
227 SMALL_RECT WriteRegion
;
229 } CSRSS_WRITE_CONSOLE_OUTPUT
, *PCSRSS_WRITE_CONSOLE_OUTPUT
;
234 } CSRSS_FLUSH_INPUT_BUFFER
, *PCSRSS_FLUSH_INPUT_BUFFER
;
238 HANDLE ConsoleHandle
;
240 SMALL_RECT ScrollRectangle
;
241 BOOLEAN UseClipRectangle
;
242 SMALL_RECT ClipRectangle
;
243 COORD DestinationOrigin
;
245 } CSRSS_SCROLL_CONSOLE_SCREEN_BUFFER
, *PCSRSS_SCROLL_CONSOLE_SCREEN_BUFFER
;
249 HANDLE ConsoleHandle
;
251 DWORD NumCharsToRead
;
256 }CSRSS_READ_CONSOLE_OUTPUT_CHAR
, *PCSRSS_READ_CONSOLE_OUTPUT_CHAR
;
260 HANDLE ConsoleHandle
;
261 DWORD NumAttrsToRead
;
265 }CSRSS_READ_CONSOLE_OUTPUT_ATTRIB
, *PCSRSS_READ_CONSOLE_OUTPUT_ATTRIB
;
269 HANDLE ConsoleHandle
;
270 DWORD NumInputEvents
;
271 }CSRSS_GET_NUM_INPUT_EVENTS
, *PCSRSS_GET_NUM_INPUT_EVENTS
;
276 } CSRSS_REGISTER_SERVICES_PROCESS
, *PCSRSS_REGISTER_SERVICES_PROCESS
;
282 } CSRSS_EXIT_REACTOS
, *PCSRSS_EXIT_REACTOS
;
288 } CSRSS_SET_SHUTDOWN_PARAMETERS
, *PCSRSS_SET_SHUTDOWN_PARAMETERS
;
294 } CSRSS_GET_SHUTDOWN_PARAMETERS
, *PCSRSS_GET_SHUTDOWN_PARAMETERS
;
298 HANDLE ConsoleHandle
;
301 INPUT_RECORD
* InputRecord
;
302 } CSRSS_PEEK_CONSOLE_INPUT
, *PCSRSS_PEEK_CONSOLE_INPUT
;
306 HANDLE ConsoleHandle
;
310 SMALL_RECT ReadRegion
;
312 } CSRSS_READ_CONSOLE_OUTPUT
, *PCSRSS_READ_CONSOLE_OUTPUT
;
316 HANDLE ConsoleHandle
;
319 INPUT_RECORD
* InputRecord
;
320 } CSRSS_WRITE_CONSOLE_INPUT
, *PCSRSS_WRITE_CONSOLE_INPUT
;
328 } CSRSS_GET_INPUT_HANDLE
, *PCSRSS_GET_INPUT_HANDLE
,
329 CSRSS_GET_OUTPUT_HANDLE
, *PCSRSS_GET_OUTPUT_HANDLE
;
334 } CSRSS_CLOSE_HANDLE
, *PCSRSS_CLOSE_HANDLE
;
339 } CSRSS_VERIFY_HANDLE
, *PCSRSS_VERIFY_HANDLE
;
347 } CSRSS_DUPLICATE_HANDLE
, *PCSRSS_DUPLICATE_HANDLE
;
349 #define CONSOLE_HARDWARE_STATE_GET 0
350 #define CONSOLE_HARDWARE_STATE_SET 1
352 #define CONSOLE_HARDWARE_STATE_GDI_MANAGED 0
353 #define CONSOLE_HARDWARE_STATE_DIRECT 1
357 HANDLE ConsoleHandle
;
358 DWORD SetGet
; /* 0=get; 1=set */
360 } CSRSS_SETGET_CONSOLE_HW_STATE
, *PCSRSS_SETGET_CONSOLE_HW_STATE
;
365 } CSRSS_GET_CONSOLE_WINDOW
, *PCSRSS_GET_CONSOLE_WINDOW
;
370 } CSRSS_SET_CONSOLE_ICON
, *PCSRSS_SET_CONSOLE_ICON
;
375 } CSRSS_CREATE_DESKTOP
, *PCSRSS_CREATE_DESKTOP
;
382 } CSRSS_SHOW_DESKTOP
, *PCSRSS_SHOW_DESKTOP
;
387 } CSRSS_HIDE_DESKTOP
, *PCSRSS_HIDE_DESKTOP
;
391 HWND LogonNotifyWindow
;
392 } CSRSS_SET_LOGON_NOTIFY_WINDOW
, *PCSRSS_SET_LOGON_NOTIFY_WINDOW
;
398 } CSRSS_REGISTER_LOGON_PROCESS
, *PCSRSS_REGISTER_LOGON_PROCESS
;
403 } CSRSS_GET_CONSOLE_CP
, *PCSRSS_GET_CONSOLE_CP
;
408 } CSRSS_SET_CONSOLE_CP
, *PCSRSS_SET_CONSOLE_CP
;
413 } CSRSS_GET_CONSOLE_OUTPUT_CP
, *PCSRSS_GET_CONSOLE_OUTPUT_CP
;
418 } CSRSS_SET_CONSOLE_OUTPUT_CP
, *PCSRSS_SET_CONSOLE_OUTPUT_CP
;
422 HANDLE InputWaitHandle
;
423 } CSRSS_GET_INPUT_WAIT_HANDLE
, *PCSRSS_GET_INPUT_WAIT_HANDLE
;
430 } CSRSS_ADD_CONSOLE_ALIAS
, *PCSRSS_ADD_CONSOLE_ALIAS
;
437 ULONG TargetBufferLength
;
439 } CSRSS_GET_CONSOLE_ALIAS
, *PCSRSS_GET_CONSOLE_ALIAS
;
445 DWORD AliasBufferLength
;
447 } CSRSS_GET_ALL_CONSOLE_ALIASES
, *PCSRSS_GET_ALL_CONSOLE_ALIAS
;
453 } CSRSS_GET_ALL_CONSOLE_ALIASES_LENGTH
, *PCSRSS_GET_ALL_CONSOLE_ALIASES_LENGTH
;
460 } CSRSS_GET_CONSOLE_ALIASES_EXES
, *PCSRSS_GET_CONSOLE_ALIASES_EXES
;
465 } CSRSS_GET_CONSOLE_ALIASES_EXES_LENGTH
, *PCSRSS_GET_CONSOLE_ALIASES_EXES_LENGTH
;
471 } CSRSS_GENERATE_CTRL_EVENT
, *PCSRSS_GENERATE_CTRL_EVENT
;
477 } CSRSS_SET_SCREEN_BUFFER_SIZE
, *PCSRSS_SET_SCREEN_BUFFER_SIZE
;
481 CONSOLE_SELECTION_INFO Info
;
482 } CSRSS_GET_CONSOLE_SELECTION_INFO
, *PCSRSS_GET_CONSOLE_SELECTION_INFO
;
486 UNICODE_STRING ExeName
;
488 } CSRSS_GET_COMMAND_HISTORY_LENGTH
, *PCSRSS_GET_COMMAND_HISTORY_LENGTH
;
492 UNICODE_STRING ExeName
;
495 } CSRSS_GET_COMMAND_HISTORY
, *PCSRSS_GET_COMMAND_HISTORY
;
499 UNICODE_STRING ExeName
;
500 } CSRSS_EXPUNGE_COMMAND_HISTORY
, *PCSRSS_EXPUNGE_COMMAND_HISTORY
;
504 UNICODE_STRING ExeName
;
506 } CSRSS_SET_HISTORY_NUMBER_COMMANDS
, *PCSRSS_SET_HISTORY_NUMBER_COMMANDS
;
510 DWORD HistoryBufferSize
;
511 DWORD NumberOfHistoryBuffers
;
513 } CSRSS_GET_HISTORY_INFO
, *PCSRSS_GET_HISTORY_INFO
,
514 CSRSS_SET_HISTORY_INFO
, *PCSRSS_SET_HISTORY_INFO
;
516 #define CSR_API_MESSAGE_HEADER_SIZE(Type) (FIELD_OFFSET(CSR_API_MESSAGE, Data) + sizeof(Type))
517 #define CSRSS_MAX_WRITE_CONSOLE (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_WRITE_CONSOLE))
518 #define CSRSS_MAX_WRITE_CONSOLE_OUTPUT_CHAR (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_WRITE_CONSOLE_OUTPUT_CHAR))
519 #define CSRSS_MAX_WRITE_CONSOLE_OUTPUT_ATTRIB (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_WRITE_CONSOLE_OUTPUT_ATTRIB))
520 #define CSRSS_MAX_READ_CONSOLE_OUTPUT_CHAR (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_READ_CONSOLE_OUTPUT_CHAR))
521 #define CSRSS_MAX_READ_CONSOLE_OUTPUT_ATTRIB (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_READ_CONSOLE_OUTPUT_ATTRIB))
523 #define CREATE_PROCESS (0x0)
524 #define TERMINATE_PROCESS (0x1)
525 #define WRITE_CONSOLE (0x2)
526 #define READ_CONSOLE (0x3)
527 #define ALLOC_CONSOLE (0x4)
528 #define FREE_CONSOLE (0x5)
529 #define CONNECT_PROCESS (0x6)
530 #define SCREEN_BUFFER_INFO (0x7)
531 #define SET_CURSOR (0x8)
532 #define FILL_OUTPUT (0x9)
533 #define READ_INPUT (0xA)
534 #define WRITE_CONSOLE_OUTPUT_CHAR (0xB)
535 #define WRITE_CONSOLE_OUTPUT_ATTRIB (0xC)
536 #define FILL_OUTPUT_ATTRIB (0xD)
537 #define GET_CURSOR_INFO (0xE)
538 #define SET_CURSOR_INFO (0xF)
539 #define SET_ATTRIB (0x10)
540 #define GET_CONSOLE_MODE (0x11)
541 #define SET_CONSOLE_MODE (0x12)
542 #define CREATE_SCREEN_BUFFER (0x13)
543 #define SET_SCREEN_BUFFER (0x14)
544 #define SET_TITLE (0x15)
545 #define GET_TITLE (0x16)
546 #define WRITE_CONSOLE_OUTPUT (0x17)
547 #define FLUSH_INPUT_BUFFER (0x18)
548 #define SCROLL_CONSOLE_SCREEN_BUFFER (0x19)
549 #define READ_CONSOLE_OUTPUT_CHAR (0x1A)
550 #define READ_CONSOLE_OUTPUT_ATTRIB (0x1B)
551 #define GET_NUM_INPUT_EVENTS (0x1C)
552 #define REGISTER_SERVICES_PROCESS (0x1D)
553 #define EXIT_REACTOS (0x1E)
554 #define GET_SHUTDOWN_PARAMETERS (0x1F)
555 #define SET_SHUTDOWN_PARAMETERS (0x20)
556 #define PEEK_CONSOLE_INPUT (0x21)
557 #define READ_CONSOLE_OUTPUT (0x22)
558 #define WRITE_CONSOLE_INPUT (0x23)
559 #define GET_INPUT_HANDLE (0x24)
560 #define GET_OUTPUT_HANDLE (0x25)
561 #define CLOSE_HANDLE (0x26)
562 #define VERIFY_HANDLE (0x27)
563 #define DUPLICATE_HANDLE (0x28)
564 #define SETGET_CONSOLE_HW_STATE (0x29)
565 #define GET_CONSOLE_WINDOW (0x2A)
566 #define CREATE_DESKTOP (0x2B)
567 #define SHOW_DESKTOP (0x2C)
568 #define HIDE_DESKTOP (0x2D)
569 #define SET_CONSOLE_ICON (0x2E)
570 #define SET_LOGON_NOTIFY_WINDOW (0x2F)
571 #define REGISTER_LOGON_PROCESS (0x30)
572 #define GET_CONSOLE_CP (0x31)
573 #define SET_CONSOLE_CP (0x32)
574 #define GET_CONSOLE_OUTPUT_CP (0x33)
575 #define SET_CONSOLE_OUTPUT_CP (0x34)
576 #define GET_INPUT_WAIT_HANDLE (0x35)
577 #define GET_PROCESS_LIST (0x36)
578 #define START_SCREEN_SAVER (0x37)
579 #define ADD_CONSOLE_ALIAS (0x38)
580 #define GET_CONSOLE_ALIAS (0x39)
581 #define GET_ALL_CONSOLE_ALIASES (0x3A)
582 #define GET_ALL_CONSOLE_ALIASES_LENGTH (0x3B)
583 #define GET_CONSOLE_ALIASES_EXES (0x3C)
584 #define GET_CONSOLE_ALIASES_EXES_LENGTH (0x3D)
585 #define GENERATE_CTRL_EVENT (0x3E)
586 #define CREATE_THREAD (0x3F)
587 #define SET_SCREEN_BUFFER_SIZE (0x40)
588 #define GET_CONSOLE_SELECTION_INFO (0x41)
589 #define GET_COMMAND_HISTORY_LENGTH (0x42)
590 #define GET_COMMAND_HISTORY (0x43)
591 #define EXPUNGE_COMMAND_HISTORY (0x44)
592 #define SET_HISTORY_NUMBER_COMMANDS (0x45)
593 #define GET_HISTORY_INFO (0x46)
594 #define SET_HISTORY_INFO (0x47)
596 /* Keep in sync with definition below. */
597 #define CSRSS_HEADER_SIZE (sizeof(PORT_MESSAGE) + sizeof(ULONG) + sizeof(NTSTATUS))
599 typedef struct _CSR_API_MESSAGE
602 PVOID CsrCaptureData
;
607 CSRSS_CREATE_PROCESS CreateProcessRequest
;
608 CSRSS_CREATE_THREAD CreateThreadRequest
;
609 CSRSS_CONNECT_PROCESS ConnectRequest
;
610 CSRSS_WRITE_CONSOLE WriteConsoleRequest
;
611 CSRSS_READ_CONSOLE ReadConsoleRequest
;
612 CSRSS_ALLOC_CONSOLE AllocConsoleRequest
;
613 CSRSS_SCREEN_BUFFER_INFO ScreenBufferInfoRequest
;
614 CSRSS_SET_CURSOR SetCursorRequest
;
615 CSRSS_FILL_OUTPUT FillOutputRequest
;
616 CSRSS_READ_INPUT ReadInputRequest
;
617 CSRSS_WRITE_CONSOLE_OUTPUT_CHAR WriteConsoleOutputCharRequest
;
618 CSRSS_WRITE_CONSOLE_OUTPUT_ATTRIB WriteConsoleOutputAttribRequest
;
619 CSRSS_FILL_OUTPUT_ATTRIB FillOutputAttribRequest
;
620 CSRSS_SET_CURSOR_INFO SetCursorInfoRequest
;
621 CSRSS_GET_CURSOR_INFO GetCursorInfoRequest
;
622 CSRSS_SET_ATTRIB SetAttribRequest
;
623 CSRSS_SET_CONSOLE_MODE SetConsoleModeRequest
;
624 CSRSS_GET_CONSOLE_MODE GetConsoleModeRequest
;
625 CSRSS_CREATE_SCREEN_BUFFER CreateScreenBufferRequest
;
626 CSRSS_SET_SCREEN_BUFFER SetScreenBufferRequest
;
627 CSRSS_SET_TITLE SetTitleRequest
;
628 CSRSS_GET_TITLE GetTitleRequest
;
629 CSRSS_WRITE_CONSOLE_OUTPUT WriteConsoleOutputRequest
;
630 CSRSS_FLUSH_INPUT_BUFFER FlushInputBufferRequest
;
631 CSRSS_SCROLL_CONSOLE_SCREEN_BUFFER ScrollConsoleScreenBufferRequest
;
632 CSRSS_READ_CONSOLE_OUTPUT_CHAR ReadConsoleOutputCharRequest
;
633 CSRSS_READ_CONSOLE_OUTPUT_ATTRIB ReadConsoleOutputAttribRequest
;
634 CSRSS_GET_NUM_INPUT_EVENTS GetNumInputEventsRequest
;
635 CSRSS_REGISTER_SERVICES_PROCESS RegisterServicesProcessRequest
;
636 CSRSS_EXIT_REACTOS ExitReactosRequest
;
637 CSRSS_SET_SHUTDOWN_PARAMETERS SetShutdownParametersRequest
;
638 CSRSS_GET_SHUTDOWN_PARAMETERS GetShutdownParametersRequest
;
639 CSRSS_PEEK_CONSOLE_INPUT PeekConsoleInputRequest
;
640 CSRSS_READ_CONSOLE_OUTPUT ReadConsoleOutputRequest
;
641 CSRSS_WRITE_CONSOLE_INPUT WriteConsoleInputRequest
;
642 CSRSS_GET_INPUT_HANDLE GetInputHandleRequest
;
643 CSRSS_GET_OUTPUT_HANDLE GetOutputHandleRequest
;
644 CSRSS_CLOSE_HANDLE CloseHandleRequest
;
645 CSRSS_VERIFY_HANDLE VerifyHandleRequest
;
646 CSRSS_DUPLICATE_HANDLE DuplicateHandleRequest
;
647 CSRSS_SETGET_CONSOLE_HW_STATE ConsoleHardwareStateRequest
;
648 CSRSS_GET_CONSOLE_WINDOW GetConsoleWindowRequest
;
649 CSRSS_CREATE_DESKTOP CreateDesktopRequest
;
650 CSRSS_SHOW_DESKTOP ShowDesktopRequest
;
651 CSRSS_HIDE_DESKTOP HideDesktopRequest
;
652 CSRSS_SET_CONSOLE_ICON SetConsoleIconRequest
;
653 CSRSS_SET_LOGON_NOTIFY_WINDOW SetLogonNotifyWindowRequest
;
654 CSRSS_REGISTER_LOGON_PROCESS RegisterLogonProcessRequest
;
655 CSRSS_GET_CONSOLE_CP GetConsoleCodePage
;
656 CSRSS_SET_CONSOLE_CP SetConsoleCodePage
;
657 CSRSS_GET_CONSOLE_OUTPUT_CP GetConsoleOutputCodePage
;
658 CSRSS_SET_CONSOLE_OUTPUT_CP SetConsoleOutputCodePage
;
659 CSRSS_GET_INPUT_WAIT_HANDLE GetConsoleInputWaitHandle
;
660 CSRSS_GET_PROCESS_LIST GetProcessListRequest
;
661 CSRSS_ADD_CONSOLE_ALIAS AddConsoleAlias
;
662 CSRSS_GET_CONSOLE_ALIAS GetConsoleAlias
;
663 CSRSS_GET_ALL_CONSOLE_ALIASES GetAllConsoleAlias
;
664 CSRSS_GET_ALL_CONSOLE_ALIASES_LENGTH GetAllConsoleAliasesLength
;
665 CSRSS_GET_CONSOLE_ALIASES_EXES GetConsoleAliasesExes
;
666 CSRSS_GET_CONSOLE_ALIASES_EXES_LENGTH GetConsoleAliasesExesLength
;
667 CSRSS_GENERATE_CTRL_EVENT GenerateCtrlEvent
;
668 CSRSS_SET_SCREEN_BUFFER_SIZE SetScreenBufferSize
;
669 CSRSS_GET_CONSOLE_SELECTION_INFO GetConsoleSelectionInfo
;
670 CSRSS_GET_COMMAND_HISTORY_LENGTH GetCommandHistoryLength
;
671 CSRSS_GET_COMMAND_HISTORY GetCommandHistory
;
672 CSRSS_EXPUNGE_COMMAND_HISTORY ExpungeCommandHistory
;
673 CSRSS_SET_HISTORY_NUMBER_COMMANDS SetHistoryNumberCommands
;
674 CSRSS_GET_HISTORY_INFO GetHistoryInfo
;
675 CSRSS_SET_HISTORY_INFO SetHistoryInfo
;
677 } CSR_API_MESSAGE
, *PCSR_API_MESSAGE
;
679 /* Types used in the new CSR. Temporarly here for proper compile of NTDLL */
680 #define CSR_SRV_SERVER 0
682 #define CsrSrvClientConnect 0
683 #define CsrSrvIdentifyAlertableThread 3
684 #define CsrSrvSetPriorityClass 4
686 #define CSR_MAKE_OPCODE(s,m) ((s) << 16) | (m)
688 typedef struct _CSR_CONNECTION_INFO
692 HANDLE ObjectDirectory
;
693 PVOID SharedSectionBase
;
694 PVOID SharedSectionHeap
;
695 PVOID SharedSectionData
;
699 } CSR_CONNECTION_INFO
, *PCSR_CONNECTION_INFO
;
701 typedef struct _CSR_CLIENT_CONNECT
704 PVOID ConnectionInfo
;
705 ULONG ConnectionInfoSize
;
706 } CSR_CLIENT_CONNECT
, *PCSR_CLIENT_CONNECT
;
708 typedef struct _CSR_IDENTIFY_ALTERTABLE_THREAD
711 } CSR_IDENTIFY_ALTERTABLE_THREAD
, *PCSR_IDENTIFY_ALTERTABLE_THREAD
;
713 typedef struct _CSR_SET_PRIORITY_CLASS
717 } CSR_SET_PRIORITY_CLASS
, *PCSR_SET_PRIORITY_CLASS
;
719 typedef struct _CSR_API_MESSAGE2
724 CSR_CONNECTION_INFO ConnectionInfo
;
727 PVOID CsrCaptureData
;
728 CSR_API_NUMBER Opcode
;
733 CSR_CLIENT_CONNECT ClientConnect
;
734 CSR_SET_PRIORITY_CLASS SetPriorityClass
;
735 CSR_IDENTIFY_ALTERTABLE_THREAD IdentifyAlertableThread
;
739 } CSR_API_MESSAGE2
, *PCSR_API_MESSAGE2
;
741 typedef struct _CSR_CAPTURE_BUFFER
744 struct _CSR_CAPTURE_BUFFER
*PreviousCaptureBuffer
;
747 ULONG_PTR PointerArray
[1];
748 } CSR_CAPTURE_BUFFER
, *PCSR_CAPTURE_BUFFER
;
750 #endif /* __INCLUDE_CSRSS_CSRSS_H */