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 (131072) //(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
;;
519 } CSRSS_GET_TEMP_FILE
, *PCSRSS_GET_TEMP_FILE
;
521 #define CSR_API_MESSAGE_HEADER_SIZE(Type) (FIELD_OFFSET(CSR_API_MESSAGE, Data) + sizeof(Type))
522 #define CSRSS_MAX_WRITE_CONSOLE (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_WRITE_CONSOLE))
523 #define CSRSS_MAX_WRITE_CONSOLE_OUTPUT_CHAR (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_WRITE_CONSOLE_OUTPUT_CHAR))
524 #define CSRSS_MAX_WRITE_CONSOLE_OUTPUT_ATTRIB (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_WRITE_CONSOLE_OUTPUT_ATTRIB))
525 #define CSRSS_MAX_READ_CONSOLE_OUTPUT_CHAR (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_READ_CONSOLE_OUTPUT_CHAR))
526 #define CSRSS_MAX_READ_CONSOLE_OUTPUT_ATTRIB (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_READ_CONSOLE_OUTPUT_ATTRIB))
528 #define CREATE_PROCESS (0x0)
529 #define TERMINATE_PROCESS (0x1)
530 #define WRITE_CONSOLE (0x2)
531 #define READ_CONSOLE (0x3)
532 #define ALLOC_CONSOLE (0x4)
533 #define FREE_CONSOLE (0x5)
534 #define CONNECT_PROCESS (0x6)
535 #define SCREEN_BUFFER_INFO (0x7)
536 #define SET_CURSOR (0x8)
537 #define FILL_OUTPUT (0x9)
538 #define READ_INPUT (0xA)
539 #define WRITE_CONSOLE_OUTPUT_CHAR (0xB)
540 #define WRITE_CONSOLE_OUTPUT_ATTRIB (0xC)
541 #define FILL_OUTPUT_ATTRIB (0xD)
542 #define GET_CURSOR_INFO (0xE)
543 #define SET_CURSOR_INFO (0xF)
544 #define SET_ATTRIB (0x10)
545 #define GET_CONSOLE_MODE (0x11)
546 #define SET_CONSOLE_MODE (0x12)
547 #define CREATE_SCREEN_BUFFER (0x13)
548 #define SET_SCREEN_BUFFER (0x14)
549 #define SET_TITLE (0x15)
550 #define GET_TITLE (0x16)
551 #define WRITE_CONSOLE_OUTPUT (0x17)
552 #define FLUSH_INPUT_BUFFER (0x18)
553 #define SCROLL_CONSOLE_SCREEN_BUFFER (0x19)
554 #define READ_CONSOLE_OUTPUT_CHAR (0x1A)
555 #define READ_CONSOLE_OUTPUT_ATTRIB (0x1B)
556 #define GET_NUM_INPUT_EVENTS (0x1C)
557 #define REGISTER_SERVICES_PROCESS (0x1D)
558 #define EXIT_REACTOS (0x1E)
559 #define GET_SHUTDOWN_PARAMETERS (0x1F)
560 #define SET_SHUTDOWN_PARAMETERS (0x20)
561 #define PEEK_CONSOLE_INPUT (0x21)
562 #define READ_CONSOLE_OUTPUT (0x22)
563 #define WRITE_CONSOLE_INPUT (0x23)
564 #define GET_INPUT_HANDLE (0x24)
565 #define GET_OUTPUT_HANDLE (0x25)
566 #define CLOSE_HANDLE (0x26)
567 #define VERIFY_HANDLE (0x27)
568 #define DUPLICATE_HANDLE (0x28)
569 #define SETGET_CONSOLE_HW_STATE (0x29)
570 #define GET_CONSOLE_WINDOW (0x2A)
571 #define CREATE_DESKTOP (0x2B)
572 #define SHOW_DESKTOP (0x2C)
573 #define HIDE_DESKTOP (0x2D)
574 #define SET_CONSOLE_ICON (0x2E)
575 #define SET_LOGON_NOTIFY_WINDOW (0x2F)
576 #define REGISTER_LOGON_PROCESS (0x30)
577 #define GET_CONSOLE_CP (0x31)
578 #define SET_CONSOLE_CP (0x32)
579 #define GET_CONSOLE_OUTPUT_CP (0x33)
580 #define SET_CONSOLE_OUTPUT_CP (0x34)
581 #define GET_INPUT_WAIT_HANDLE (0x35)
582 #define GET_PROCESS_LIST (0x36)
583 #define START_SCREEN_SAVER (0x37)
584 #define ADD_CONSOLE_ALIAS (0x38)
585 #define GET_CONSOLE_ALIAS (0x39)
586 #define GET_ALL_CONSOLE_ALIASES (0x3A)
587 #define GET_ALL_CONSOLE_ALIASES_LENGTH (0x3B)
588 #define GET_CONSOLE_ALIASES_EXES (0x3C)
589 #define GET_CONSOLE_ALIASES_EXES_LENGTH (0x3D)
590 #define GENERATE_CTRL_EVENT (0x3E)
591 #define CREATE_THREAD (0x3F)
592 #define SET_SCREEN_BUFFER_SIZE (0x40)
593 #define GET_CONSOLE_SELECTION_INFO (0x41)
594 #define GET_COMMAND_HISTORY_LENGTH (0x42)
595 #define GET_COMMAND_HISTORY (0x43)
596 #define EXPUNGE_COMMAND_HISTORY (0x44)
597 #define SET_HISTORY_NUMBER_COMMANDS (0x45)
598 #define GET_HISTORY_INFO (0x46)
599 #define SET_HISTORY_INFO (0x47)
600 #define GET_TEMP_FILE (0x48)
602 /* Keep in sync with definition below. */
603 #define CSRSS_HEADER_SIZE (sizeof(PORT_MESSAGE) + sizeof(ULONG) + sizeof(NTSTATUS))
605 typedef struct _CSR_API_MESSAGE
608 PVOID CsrCaptureData
;
613 CSRSS_CREATE_PROCESS CreateProcessRequest
;
614 CSRSS_CREATE_THREAD CreateThreadRequest
;
615 CSRSS_CONNECT_PROCESS ConnectRequest
;
616 CSRSS_WRITE_CONSOLE WriteConsoleRequest
;
617 CSRSS_READ_CONSOLE ReadConsoleRequest
;
618 CSRSS_ALLOC_CONSOLE AllocConsoleRequest
;
619 CSRSS_SCREEN_BUFFER_INFO ScreenBufferInfoRequest
;
620 CSRSS_SET_CURSOR SetCursorRequest
;
621 CSRSS_FILL_OUTPUT FillOutputRequest
;
622 CSRSS_READ_INPUT ReadInputRequest
;
623 CSRSS_WRITE_CONSOLE_OUTPUT_CHAR WriteConsoleOutputCharRequest
;
624 CSRSS_WRITE_CONSOLE_OUTPUT_ATTRIB WriteConsoleOutputAttribRequest
;
625 CSRSS_FILL_OUTPUT_ATTRIB FillOutputAttribRequest
;
626 CSRSS_SET_CURSOR_INFO SetCursorInfoRequest
;
627 CSRSS_GET_CURSOR_INFO GetCursorInfoRequest
;
628 CSRSS_SET_ATTRIB SetAttribRequest
;
629 CSRSS_SET_CONSOLE_MODE SetConsoleModeRequest
;
630 CSRSS_GET_CONSOLE_MODE GetConsoleModeRequest
;
631 CSRSS_CREATE_SCREEN_BUFFER CreateScreenBufferRequest
;
632 CSRSS_SET_SCREEN_BUFFER SetScreenBufferRequest
;
633 CSRSS_SET_TITLE SetTitleRequest
;
634 CSRSS_GET_TITLE GetTitleRequest
;
635 CSRSS_WRITE_CONSOLE_OUTPUT WriteConsoleOutputRequest
;
636 CSRSS_FLUSH_INPUT_BUFFER FlushInputBufferRequest
;
637 CSRSS_SCROLL_CONSOLE_SCREEN_BUFFER ScrollConsoleScreenBufferRequest
;
638 CSRSS_READ_CONSOLE_OUTPUT_CHAR ReadConsoleOutputCharRequest
;
639 CSRSS_READ_CONSOLE_OUTPUT_ATTRIB ReadConsoleOutputAttribRequest
;
640 CSRSS_GET_NUM_INPUT_EVENTS GetNumInputEventsRequest
;
641 CSRSS_REGISTER_SERVICES_PROCESS RegisterServicesProcessRequest
;
642 CSRSS_EXIT_REACTOS ExitReactosRequest
;
643 CSRSS_SET_SHUTDOWN_PARAMETERS SetShutdownParametersRequest
;
644 CSRSS_GET_SHUTDOWN_PARAMETERS GetShutdownParametersRequest
;
645 CSRSS_PEEK_CONSOLE_INPUT PeekConsoleInputRequest
;
646 CSRSS_READ_CONSOLE_OUTPUT ReadConsoleOutputRequest
;
647 CSRSS_WRITE_CONSOLE_INPUT WriteConsoleInputRequest
;
648 CSRSS_GET_INPUT_HANDLE GetInputHandleRequest
;
649 CSRSS_GET_OUTPUT_HANDLE GetOutputHandleRequest
;
650 CSRSS_CLOSE_HANDLE CloseHandleRequest
;
651 CSRSS_VERIFY_HANDLE VerifyHandleRequest
;
652 CSRSS_DUPLICATE_HANDLE DuplicateHandleRequest
;
653 CSRSS_SETGET_CONSOLE_HW_STATE ConsoleHardwareStateRequest
;
654 CSRSS_GET_CONSOLE_WINDOW GetConsoleWindowRequest
;
655 CSRSS_CREATE_DESKTOP CreateDesktopRequest
;
656 CSRSS_SHOW_DESKTOP ShowDesktopRequest
;
657 CSRSS_HIDE_DESKTOP HideDesktopRequest
;
658 CSRSS_SET_CONSOLE_ICON SetConsoleIconRequest
;
659 CSRSS_SET_LOGON_NOTIFY_WINDOW SetLogonNotifyWindowRequest
;
660 CSRSS_REGISTER_LOGON_PROCESS RegisterLogonProcessRequest
;
661 CSRSS_GET_CONSOLE_CP GetConsoleCodePage
;
662 CSRSS_SET_CONSOLE_CP SetConsoleCodePage
;
663 CSRSS_GET_CONSOLE_OUTPUT_CP GetConsoleOutputCodePage
;
664 CSRSS_SET_CONSOLE_OUTPUT_CP SetConsoleOutputCodePage
;
665 CSRSS_GET_INPUT_WAIT_HANDLE GetConsoleInputWaitHandle
;
666 CSRSS_GET_PROCESS_LIST GetProcessListRequest
;
667 CSRSS_ADD_CONSOLE_ALIAS AddConsoleAlias
;
668 CSRSS_GET_CONSOLE_ALIAS GetConsoleAlias
;
669 CSRSS_GET_ALL_CONSOLE_ALIASES GetAllConsoleAlias
;
670 CSRSS_GET_ALL_CONSOLE_ALIASES_LENGTH GetAllConsoleAliasesLength
;
671 CSRSS_GET_CONSOLE_ALIASES_EXES GetConsoleAliasesExes
;
672 CSRSS_GET_CONSOLE_ALIASES_EXES_LENGTH GetConsoleAliasesExesLength
;
673 CSRSS_GENERATE_CTRL_EVENT GenerateCtrlEvent
;
674 CSRSS_SET_SCREEN_BUFFER_SIZE SetScreenBufferSize
;
675 CSRSS_GET_CONSOLE_SELECTION_INFO GetConsoleSelectionInfo
;
676 CSRSS_GET_COMMAND_HISTORY_LENGTH GetCommandHistoryLength
;
677 CSRSS_GET_COMMAND_HISTORY GetCommandHistory
;
678 CSRSS_EXPUNGE_COMMAND_HISTORY ExpungeCommandHistory
;
679 CSRSS_SET_HISTORY_NUMBER_COMMANDS SetHistoryNumberCommands
;
680 CSRSS_GET_HISTORY_INFO GetHistoryInfo
;
681 CSRSS_SET_HISTORY_INFO SetHistoryInfo
;
682 CSRSS_GET_TEMP_FILE GetTempFile
;
684 } CSR_API_MESSAGE
, *PCSR_API_MESSAGE
;
686 /* Types used in the new CSR. Temporarly here for proper compile of NTDLL */
687 #define CSR_SRV_SERVER 0
689 #define CsrSrvClientConnect 0
690 #define CsrSrvIdentifyAlertableThread 3
691 #define CsrSrvSetPriorityClass 4
693 #define CSR_MAKE_OPCODE(s,m) ((s) << 16) | (m)
695 typedef struct _CSR_CONNECTION_INFO
699 HANDLE ObjectDirectory
;
700 PVOID SharedSectionBase
;
701 PVOID SharedSectionHeap
;
702 PVOID SharedSectionData
;
706 } CSR_CONNECTION_INFO
, *PCSR_CONNECTION_INFO
;
708 typedef struct _CSR_CLIENT_CONNECT
711 PVOID ConnectionInfo
;
712 ULONG ConnectionInfoSize
;
713 } CSR_CLIENT_CONNECT
, *PCSR_CLIENT_CONNECT
;
715 typedef struct _CSR_IDENTIFY_ALTERTABLE_THREAD
718 } CSR_IDENTIFY_ALTERTABLE_THREAD
, *PCSR_IDENTIFY_ALTERTABLE_THREAD
;
720 typedef struct _CSR_SET_PRIORITY_CLASS
724 } CSR_SET_PRIORITY_CLASS
, *PCSR_SET_PRIORITY_CLASS
;
726 typedef struct _CSR_API_MESSAGE2
731 CSR_CONNECTION_INFO ConnectionInfo
;
734 PVOID CsrCaptureData
;
735 CSR_API_NUMBER Opcode
;
740 CSR_CLIENT_CONNECT ClientConnect
;
741 CSR_SET_PRIORITY_CLASS SetPriorityClass
;
742 CSR_IDENTIFY_ALTERTABLE_THREAD IdentifyAlertableThread
;
746 } CSR_API_MESSAGE2
, *PCSR_API_MESSAGE2
;
748 typedef struct _CSR_CAPTURE_BUFFER
751 struct _CSR_CAPTURE_BUFFER
*PreviousCaptureBuffer
;
754 ULONG_PTR PointerArray
[1];
755 } CSR_CAPTURE_BUFFER
, *PCSR_CAPTURE_BUFFER
;
757 #endif /* __INCLUDE_CSRSS_CSRSS_H */