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
;
34 typedef struct _BASE_SXS_CREATEPROCESS_MSG
37 ULONG ProcessParameterFlags
;
39 UNICODE_STRING SxsWin32ExePath
;
40 UNICODE_STRING SxsNtExePath
;
41 SIZE_T OverrideManifestOffset
;
42 ULONG OverrideManifestSize
;
43 SIZE_T OverridePolicyOffset
;
44 ULONG OverridePolicySize
;
45 PVOID PEManifestAddress
;
47 UNICODE_STRING CultureFallbacks
;
49 UNICODE_STRING AssemblyName
;
50 } BASE_SXS_CREATEPROCESS_MSG
, *PBASE_SXS_CREATEPROCESS_MSG
;
55 // NT-type structure (BASE_CREATEPROCESS_MSG)
64 BASE_SXS_CREATEPROCESS_MSG Sxs
;
65 PVOID PebAddressNative
;
66 ULONG PebAddressWow64
;
67 USHORT ProcessorArchitecture
;
73 } CSRSS_CREATE_PROCESS
, *PCSRSS_CREATE_PROCESS
;
79 } CSRSS_CREATE_THREAD
, *PCSRSS_CREATE_THREAD
;
84 } CSRSS_TERMINATE_PROCESS
, *PCSRSS_TERMINATE_PROCESS
;
90 ULONG nProcessIdsTotal
;
91 } CSRSS_GET_PROCESS_LIST
, *PCSRSS_GET_PROCESS_LIST
;
97 ULONG NrCharactersToWrite
;
98 ULONG NrCharactersWritten
;
101 } CSRSS_WRITE_CONSOLE
, *PCSRSS_WRITE_CONSOLE
;
105 HANDLE ConsoleHandle
;
107 WORD NrCharactersToRead
;
108 WORD NrCharactersRead
;
111 UNICODE_STRING ExeName
;
112 DWORD CtrlWakeupMask
;
113 DWORD ControlKeyState
;
114 } CSRSS_READ_CONSOLE
, *PCSRSS_READ_CONSOLE
;
118 PCONTROLDISPATCHER CtrlDispatcher
;
119 BOOLEAN ConsoleNeeded
;
124 } CSRSS_ALLOC_CONSOLE
, *PCSRSS_ALLOC_CONSOLE
;
129 } CSRSS_FREE_CONSOLE
, *PCSRSS_FREE_CONSOLE
;
133 HANDLE ConsoleHandle
;
134 CONSOLE_SCREEN_BUFFER_INFO Info
;
135 } CSRSS_SCREEN_BUFFER_INFO
, *PCSRSS_SCREEN_BUFFER_INFO
;
139 HANDLE ConsoleHandle
;
141 } CSRSS_SET_CURSOR
, *PCSRSS_SET_CURSOR
;
145 HANDLE ConsoleHandle
;
154 ULONG NrCharactersWritten
;
155 } CSRSS_FILL_OUTPUT
, *PCSRSS_FILL_OUTPUT
;
159 HANDLE ConsoleHandle
;
163 } CSRSS_FILL_OUTPUT_ATTRIB
, *PCSRSS_FILL_OUTPUT_ATTRIB
;
167 HANDLE ConsoleHandle
;
172 } CSRSS_READ_INPUT
, *PCSRSS_READ_INPUT
;
176 HANDLE ConsoleHandle
;
181 ULONG NrCharactersWritten
;
183 } CSRSS_WRITE_CONSOLE_OUTPUT_CHAR
, *PCSRSS_WRITE_CONSOLE_OUTPUT_CHAR
;
187 HANDLE ConsoleHandle
;
192 } CSRSS_WRITE_CONSOLE_OUTPUT_ATTRIB
, *PCSRSS_WRITE_CONSOLE_OUTPUT_ATTRIB
;
196 HANDLE ConsoleHandle
;
197 CONSOLE_CURSOR_INFO Info
;
198 } CSRSS_GET_CURSOR_INFO
, *PCSRSS_GET_CURSOR_INFO
;
202 HANDLE ConsoleHandle
;
203 CONSOLE_CURSOR_INFO Info
;
204 } CSRSS_SET_CURSOR_INFO
, *PCSRSS_SET_CURSOR_INFO
;
208 HANDLE ConsoleHandle
;
210 } CSRSS_SET_ATTRIB
, *PCSRSS_SET_ATTRIB
;
214 HANDLE ConsoleHandle
;
216 } CSRSS_SET_CONSOLE_MODE
, *PCSRSS_SET_CONSOLE_MODE
;
220 HANDLE ConsoleHandle
;
222 } CSRSS_GET_CONSOLE_MODE
, *PCSRSS_GET_CONSOLE_MODE
;
229 HANDLE OutputHandle
; /* handle to newly created screen buffer */
230 } CSRSS_CREATE_SCREEN_BUFFER
, *PCSRSS_CREATE_SCREEN_BUFFER
;
234 HANDLE OutputHandle
; /* handle to screen buffer to switch to */
235 } CSRSS_SET_SCREEN_BUFFER
, *PCSRSS_SET_SCREEN_BUFFER
;
241 } CSRSS_IDENTIFY_ALERTABLE_THREAD
, *PCSRSS_IDENTIFY_ALERTABLE_THREAD
;
247 } CSRSS_SET_TITLE
, *PCSRSS_SET_TITLE
;
253 } CSRSS_GET_TITLE
, *PCSRSS_GET_TITLE
;
257 HANDLE ConsoleHandle
;
261 SMALL_RECT WriteRegion
;
263 } CSRSS_WRITE_CONSOLE_OUTPUT
, *PCSRSS_WRITE_CONSOLE_OUTPUT
;
268 } CSRSS_FLUSH_INPUT_BUFFER
, *PCSRSS_FLUSH_INPUT_BUFFER
;
272 HANDLE ConsoleHandle
;
274 SMALL_RECT ScrollRectangle
;
275 BOOLEAN UseClipRectangle
;
276 SMALL_RECT ClipRectangle
;
277 COORD DestinationOrigin
;
279 } CSRSS_SCROLL_CONSOLE_SCREEN_BUFFER
, *PCSRSS_SCROLL_CONSOLE_SCREEN_BUFFER
;
283 HANDLE ConsoleHandle
;
285 DWORD NumCharsToRead
;
290 }CSRSS_READ_CONSOLE_OUTPUT_CHAR
, *PCSRSS_READ_CONSOLE_OUTPUT_CHAR
;
294 HANDLE ConsoleHandle
;
295 DWORD NumAttrsToRead
;
299 }CSRSS_READ_CONSOLE_OUTPUT_ATTRIB
, *PCSRSS_READ_CONSOLE_OUTPUT_ATTRIB
;
303 HANDLE ConsoleHandle
;
304 DWORD NumInputEvents
;
305 }CSRSS_GET_NUM_INPUT_EVENTS
, *PCSRSS_GET_NUM_INPUT_EVENTS
;
310 } CSRSS_REGISTER_SERVICES_PROCESS
, *PCSRSS_REGISTER_SERVICES_PROCESS
;
316 } CSRSS_EXIT_REACTOS
, *PCSRSS_EXIT_REACTOS
;
322 } CSRSS_SET_SHUTDOWN_PARAMETERS
, *PCSRSS_SET_SHUTDOWN_PARAMETERS
;
328 } CSRSS_GET_SHUTDOWN_PARAMETERS
, *PCSRSS_GET_SHUTDOWN_PARAMETERS
;
332 HANDLE ConsoleHandle
;
335 INPUT_RECORD
* InputRecord
;
336 } CSRSS_PEEK_CONSOLE_INPUT
, *PCSRSS_PEEK_CONSOLE_INPUT
;
340 HANDLE ConsoleHandle
;
344 SMALL_RECT ReadRegion
;
346 } CSRSS_READ_CONSOLE_OUTPUT
, *PCSRSS_READ_CONSOLE_OUTPUT
;
350 HANDLE ConsoleHandle
;
353 INPUT_RECORD
* InputRecord
;
354 } CSRSS_WRITE_CONSOLE_INPUT
, *PCSRSS_WRITE_CONSOLE_INPUT
;
362 } CSRSS_GET_INPUT_HANDLE
, *PCSRSS_GET_INPUT_HANDLE
,
363 CSRSS_GET_OUTPUT_HANDLE
, *PCSRSS_GET_OUTPUT_HANDLE
;
368 } CSRSS_CLOSE_HANDLE
, *PCSRSS_CLOSE_HANDLE
;
373 } CSRSS_VERIFY_HANDLE
, *PCSRSS_VERIFY_HANDLE
;
381 } CSRSS_DUPLICATE_HANDLE
, *PCSRSS_DUPLICATE_HANDLE
;
383 #define CONSOLE_HARDWARE_STATE_GET 0
384 #define CONSOLE_HARDWARE_STATE_SET 1
386 #define CONSOLE_HARDWARE_STATE_GDI_MANAGED 0
387 #define CONSOLE_HARDWARE_STATE_DIRECT 1
391 HANDLE ConsoleHandle
;
392 DWORD SetGet
; /* 0=get; 1=set */
394 } CSRSS_SETGET_CONSOLE_HW_STATE
, *PCSRSS_SETGET_CONSOLE_HW_STATE
;
399 } CSRSS_GET_CONSOLE_WINDOW
, *PCSRSS_GET_CONSOLE_WINDOW
;
404 } CSRSS_SET_CONSOLE_ICON
, *PCSRSS_SET_CONSOLE_ICON
;
409 } CSRSS_CREATE_DESKTOP
, *PCSRSS_CREATE_DESKTOP
;
416 } CSRSS_SHOW_DESKTOP
, *PCSRSS_SHOW_DESKTOP
;
421 } CSRSS_HIDE_DESKTOP
, *PCSRSS_HIDE_DESKTOP
;
425 HWND LogonNotifyWindow
;
426 } CSRSS_SET_LOGON_NOTIFY_WINDOW
, *PCSRSS_SET_LOGON_NOTIFY_WINDOW
;
432 } CSRSS_REGISTER_LOGON_PROCESS
, *PCSRSS_REGISTER_LOGON_PROCESS
;
437 } CSRSS_GET_CONSOLE_CP
, *PCSRSS_GET_CONSOLE_CP
;
442 } CSRSS_SET_CONSOLE_CP
, *PCSRSS_SET_CONSOLE_CP
;
447 } CSRSS_GET_CONSOLE_OUTPUT_CP
, *PCSRSS_GET_CONSOLE_OUTPUT_CP
;
452 } CSRSS_SET_CONSOLE_OUTPUT_CP
, *PCSRSS_SET_CONSOLE_OUTPUT_CP
;
456 HANDLE InputWaitHandle
;
457 } CSRSS_GET_INPUT_WAIT_HANDLE
, *PCSRSS_GET_INPUT_WAIT_HANDLE
;
464 } CSRSS_ADD_CONSOLE_ALIAS
, *PCSRSS_ADD_CONSOLE_ALIAS
;
471 ULONG TargetBufferLength
;
473 } CSRSS_GET_CONSOLE_ALIAS
, *PCSRSS_GET_CONSOLE_ALIAS
;
479 DWORD AliasBufferLength
;
481 } CSRSS_GET_ALL_CONSOLE_ALIASES
, *PCSRSS_GET_ALL_CONSOLE_ALIAS
;
487 } CSRSS_GET_ALL_CONSOLE_ALIASES_LENGTH
, *PCSRSS_GET_ALL_CONSOLE_ALIASES_LENGTH
;
494 } CSRSS_GET_CONSOLE_ALIASES_EXES
, *PCSRSS_GET_CONSOLE_ALIASES_EXES
;
499 } CSRSS_GET_CONSOLE_ALIASES_EXES_LENGTH
, *PCSRSS_GET_CONSOLE_ALIASES_EXES_LENGTH
;
505 } CSRSS_GENERATE_CTRL_EVENT
, *PCSRSS_GENERATE_CTRL_EVENT
;
511 } CSRSS_SET_SCREEN_BUFFER_SIZE
, *PCSRSS_SET_SCREEN_BUFFER_SIZE
;
515 CONSOLE_SELECTION_INFO Info
;
516 } CSRSS_GET_CONSOLE_SELECTION_INFO
, *PCSRSS_GET_CONSOLE_SELECTION_INFO
;
520 UNICODE_STRING ExeName
;
522 } CSRSS_GET_COMMAND_HISTORY_LENGTH
, *PCSRSS_GET_COMMAND_HISTORY_LENGTH
;
526 UNICODE_STRING ExeName
;
529 } CSRSS_GET_COMMAND_HISTORY
, *PCSRSS_GET_COMMAND_HISTORY
;
533 UNICODE_STRING ExeName
;
534 } CSRSS_EXPUNGE_COMMAND_HISTORY
, *PCSRSS_EXPUNGE_COMMAND_HISTORY
;
538 UNICODE_STRING ExeName
;
540 } CSRSS_SET_HISTORY_NUMBER_COMMANDS
, *PCSRSS_SET_HISTORY_NUMBER_COMMANDS
;
544 DWORD HistoryBufferSize
;
545 DWORD NumberOfHistoryBuffers
;
547 } CSRSS_GET_HISTORY_INFO
, *PCSRSS_GET_HISTORY_INFO
,
548 CSRSS_SET_HISTORY_INFO
, *PCSRSS_SET_HISTORY_INFO
;;
553 } CSRSS_GET_TEMP_FILE
, *PCSRSS_GET_TEMP_FILE
;
557 UNICODE_STRING DeviceName
;
558 UNICODE_STRING TargetName
;
560 } CSRSS_DEFINE_DOS_DEVICE
, *PCSRSS_DEFINE_DOS_DEVICE
;
565 } CSRSS_SOUND_SENTRY
, *PCSRSS_SOUND_SENTRY
;
571 HANDLE ConsoleHandle
;
572 HANDLE VDMProcessHandle
;
573 HANDLE WaitObjectForParent
;
575 USHORT VDMCreationState
;
576 } CSRSS_UPDATE_VDM_ENTRY
, *PCSRSS_UPDATE_VDM_ENTRY
;
580 HANDLE ConsoleHandle
;
583 } CSRSS_GET_VDM_EXIT_CODE
, *PCSRSS_GET_VDM_EXIT_CODE
;
588 HANDLE ConsoleHandle
;
590 HANDLE WaitObjectForParent
;
595 ULONG dwCreationFlags
;
612 USHORT CurDirectoryLen
;
615 } CSRSS_CHECK_VDM
, *PCSRSS_CHECK_VDM
;
617 #define CSR_API_MESSAGE_HEADER_SIZE(Type) (FIELD_OFFSET(CSR_API_MESSAGE, Data) + sizeof(Type))
618 #define CSRSS_MAX_WRITE_CONSOLE (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_WRITE_CONSOLE))
619 #define CSRSS_MAX_WRITE_CONSOLE_OUTPUT_CHAR (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_WRITE_CONSOLE_OUTPUT_CHAR))
620 #define CSRSS_MAX_WRITE_CONSOLE_OUTPUT_ATTRIB (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_WRITE_CONSOLE_OUTPUT_ATTRIB))
621 #define CSRSS_MAX_READ_CONSOLE_OUTPUT_CHAR (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_READ_CONSOLE_OUTPUT_CHAR))
622 #define CSRSS_MAX_READ_CONSOLE_OUTPUT_ATTRIB (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_READ_CONSOLE_OUTPUT_ATTRIB))
624 #define CREATE_PROCESS (0x0)
625 #define TERMINATE_PROCESS (0x1)
626 #define WRITE_CONSOLE (0x2)
627 #define READ_CONSOLE (0x3)
628 #define ALLOC_CONSOLE (0x4)
629 #define FREE_CONSOLE (0x5)
630 #define CONNECT_PROCESS (0x6)
631 #define SCREEN_BUFFER_INFO (0x7)
632 #define SET_CURSOR (0x8)
633 #define FILL_OUTPUT (0x9)
634 #define READ_INPUT (0xA)
635 #define WRITE_CONSOLE_OUTPUT_CHAR (0xB)
636 #define WRITE_CONSOLE_OUTPUT_ATTRIB (0xC)
637 #define FILL_OUTPUT_ATTRIB (0xD)
638 #define GET_CURSOR_INFO (0xE)
639 #define SET_CURSOR_INFO (0xF)
640 #define SET_ATTRIB (0x10)
641 #define GET_CONSOLE_MODE (0x11)
642 #define SET_CONSOLE_MODE (0x12)
643 #define CREATE_SCREEN_BUFFER (0x13)
644 #define SET_SCREEN_BUFFER (0x14)
645 #define SET_TITLE (0x15)
646 #define GET_TITLE (0x16)
647 #define WRITE_CONSOLE_OUTPUT (0x17)
648 #define FLUSH_INPUT_BUFFER (0x18)
649 #define SCROLL_CONSOLE_SCREEN_BUFFER (0x19)
650 #define READ_CONSOLE_OUTPUT_CHAR (0x1A)
651 #define READ_CONSOLE_OUTPUT_ATTRIB (0x1B)
652 #define GET_NUM_INPUT_EVENTS (0x1C)
653 #define REGISTER_SERVICES_PROCESS (0x1D)
654 #define EXIT_REACTOS (0x1E)
655 #define GET_SHUTDOWN_PARAMETERS (0x1F)
656 #define SET_SHUTDOWN_PARAMETERS (0x20)
657 #define PEEK_CONSOLE_INPUT (0x21)
658 #define READ_CONSOLE_OUTPUT (0x22)
659 #define WRITE_CONSOLE_INPUT (0x23)
660 #define GET_INPUT_HANDLE (0x24)
661 #define GET_OUTPUT_HANDLE (0x25)
662 #define CLOSE_HANDLE (0x26)
663 #define VERIFY_HANDLE (0x27)
664 #define DUPLICATE_HANDLE (0x28)
665 #define SETGET_CONSOLE_HW_STATE (0x29)
666 #define GET_CONSOLE_WINDOW (0x2A)
667 #define CREATE_DESKTOP (0x2B)
668 #define SHOW_DESKTOP (0x2C)
669 #define HIDE_DESKTOP (0x2D)
670 #define SET_CONSOLE_ICON (0x2E)
671 #define SET_LOGON_NOTIFY_WINDOW (0x2F)
672 #define REGISTER_LOGON_PROCESS (0x30)
673 #define GET_CONSOLE_CP (0x31)
674 #define SET_CONSOLE_CP (0x32)
675 #define GET_CONSOLE_OUTPUT_CP (0x33)
676 #define SET_CONSOLE_OUTPUT_CP (0x34)
677 #define GET_INPUT_WAIT_HANDLE (0x35)
678 #define GET_PROCESS_LIST (0x36)
679 #define START_SCREEN_SAVER (0x37)
680 #define ADD_CONSOLE_ALIAS (0x38)
681 #define GET_CONSOLE_ALIAS (0x39)
682 #define GET_ALL_CONSOLE_ALIASES (0x3A)
683 #define GET_ALL_CONSOLE_ALIASES_LENGTH (0x3B)
684 #define GET_CONSOLE_ALIASES_EXES (0x3C)
685 #define GET_CONSOLE_ALIASES_EXES_LENGTH (0x3D)
686 #define GENERATE_CTRL_EVENT (0x3E)
687 #define CREATE_THREAD (0x3F)
688 #define SET_SCREEN_BUFFER_SIZE (0x40)
689 #define GET_CONSOLE_SELECTION_INFO (0x41)
690 #define GET_COMMAND_HISTORY_LENGTH (0x42)
691 #define GET_COMMAND_HISTORY (0x43)
692 #define EXPUNGE_COMMAND_HISTORY (0x44)
693 #define SET_HISTORY_NUMBER_COMMANDS (0x45)
694 #define GET_HISTORY_INFO (0x46)
695 #define SET_HISTORY_INFO (0x47)
696 #define GET_TEMP_FILE (0x48)
697 #define DEFINE_DOS_DEVICE (0X49)
698 #define SOUND_SENTRY (0x50)
699 #define UPDATE_VDM_ENTRY (0x51)
700 #define GET_VDM_EXIT_CODE (0x52)
701 #define CHECK_VDM (0x53)
703 /* Keep in sync with definition below. */
704 #define CSRSS_HEADER_SIZE (sizeof(PORT_MESSAGE) + sizeof(ULONG) + sizeof(NTSTATUS))
706 typedef struct _CSR_API_MESSAGE
709 PVOID CsrCaptureData
;
714 CSRSS_CREATE_PROCESS CreateProcessRequest
;
715 CSRSS_CREATE_THREAD CreateThreadRequest
;
716 CSRSS_TERMINATE_PROCESS TerminateProcessRequest
;
717 CSRSS_CONNECT_PROCESS ConnectRequest
;
718 CSRSS_WRITE_CONSOLE WriteConsoleRequest
;
719 CSRSS_READ_CONSOLE ReadConsoleRequest
;
720 CSRSS_ALLOC_CONSOLE AllocConsoleRequest
;
721 CSRSS_SCREEN_BUFFER_INFO ScreenBufferInfoRequest
;
722 CSRSS_SET_CURSOR SetCursorRequest
;
723 CSRSS_FILL_OUTPUT FillOutputRequest
;
724 CSRSS_READ_INPUT ReadInputRequest
;
725 CSRSS_WRITE_CONSOLE_OUTPUT_CHAR WriteConsoleOutputCharRequest
;
726 CSRSS_WRITE_CONSOLE_OUTPUT_ATTRIB WriteConsoleOutputAttribRequest
;
727 CSRSS_FILL_OUTPUT_ATTRIB FillOutputAttribRequest
;
728 CSRSS_SET_CURSOR_INFO SetCursorInfoRequest
;
729 CSRSS_GET_CURSOR_INFO GetCursorInfoRequest
;
730 CSRSS_SET_ATTRIB SetAttribRequest
;
731 CSRSS_SET_CONSOLE_MODE SetConsoleModeRequest
;
732 CSRSS_GET_CONSOLE_MODE GetConsoleModeRequest
;
733 CSRSS_CREATE_SCREEN_BUFFER CreateScreenBufferRequest
;
734 CSRSS_SET_SCREEN_BUFFER SetScreenBufferRequest
;
735 CSRSS_SET_TITLE SetTitleRequest
;
736 CSRSS_GET_TITLE GetTitleRequest
;
737 CSRSS_WRITE_CONSOLE_OUTPUT WriteConsoleOutputRequest
;
738 CSRSS_FLUSH_INPUT_BUFFER FlushInputBufferRequest
;
739 CSRSS_SCROLL_CONSOLE_SCREEN_BUFFER ScrollConsoleScreenBufferRequest
;
740 CSRSS_READ_CONSOLE_OUTPUT_CHAR ReadConsoleOutputCharRequest
;
741 CSRSS_READ_CONSOLE_OUTPUT_ATTRIB ReadConsoleOutputAttribRequest
;
742 CSRSS_GET_NUM_INPUT_EVENTS GetNumInputEventsRequest
;
743 CSRSS_REGISTER_SERVICES_PROCESS RegisterServicesProcessRequest
;
744 CSRSS_EXIT_REACTOS ExitReactosRequest
;
745 CSRSS_SET_SHUTDOWN_PARAMETERS SetShutdownParametersRequest
;
746 CSRSS_GET_SHUTDOWN_PARAMETERS GetShutdownParametersRequest
;
747 CSRSS_PEEK_CONSOLE_INPUT PeekConsoleInputRequest
;
748 CSRSS_READ_CONSOLE_OUTPUT ReadConsoleOutputRequest
;
749 CSRSS_WRITE_CONSOLE_INPUT WriteConsoleInputRequest
;
750 CSRSS_GET_INPUT_HANDLE GetInputHandleRequest
;
751 CSRSS_GET_OUTPUT_HANDLE GetOutputHandleRequest
;
752 CSRSS_CLOSE_HANDLE CloseHandleRequest
;
753 CSRSS_VERIFY_HANDLE VerifyHandleRequest
;
754 CSRSS_DUPLICATE_HANDLE DuplicateHandleRequest
;
755 CSRSS_SETGET_CONSOLE_HW_STATE ConsoleHardwareStateRequest
;
756 CSRSS_GET_CONSOLE_WINDOW GetConsoleWindowRequest
;
757 CSRSS_CREATE_DESKTOP CreateDesktopRequest
;
758 CSRSS_SHOW_DESKTOP ShowDesktopRequest
;
759 CSRSS_HIDE_DESKTOP HideDesktopRequest
;
760 CSRSS_SET_CONSOLE_ICON SetConsoleIconRequest
;
761 CSRSS_SET_LOGON_NOTIFY_WINDOW SetLogonNotifyWindowRequest
;
762 CSRSS_REGISTER_LOGON_PROCESS RegisterLogonProcessRequest
;
763 CSRSS_GET_CONSOLE_CP GetConsoleCodePage
;
764 CSRSS_SET_CONSOLE_CP SetConsoleCodePage
;
765 CSRSS_GET_CONSOLE_OUTPUT_CP GetConsoleOutputCodePage
;
766 CSRSS_SET_CONSOLE_OUTPUT_CP SetConsoleOutputCodePage
;
767 CSRSS_GET_INPUT_WAIT_HANDLE GetConsoleInputWaitHandle
;
768 CSRSS_GET_PROCESS_LIST GetProcessListRequest
;
769 CSRSS_ADD_CONSOLE_ALIAS AddConsoleAlias
;
770 CSRSS_GET_CONSOLE_ALIAS GetConsoleAlias
;
771 CSRSS_GET_ALL_CONSOLE_ALIASES GetAllConsoleAlias
;
772 CSRSS_GET_ALL_CONSOLE_ALIASES_LENGTH GetAllConsoleAliasesLength
;
773 CSRSS_GET_CONSOLE_ALIASES_EXES GetConsoleAliasesExes
;
774 CSRSS_GET_CONSOLE_ALIASES_EXES_LENGTH GetConsoleAliasesExesLength
;
775 CSRSS_GENERATE_CTRL_EVENT GenerateCtrlEvent
;
776 CSRSS_SET_SCREEN_BUFFER_SIZE SetScreenBufferSize
;
777 CSRSS_GET_CONSOLE_SELECTION_INFO GetConsoleSelectionInfo
;
778 CSRSS_GET_COMMAND_HISTORY_LENGTH GetCommandHistoryLength
;
779 CSRSS_GET_COMMAND_HISTORY GetCommandHistory
;
780 CSRSS_EXPUNGE_COMMAND_HISTORY ExpungeCommandHistory
;
781 CSRSS_SET_HISTORY_NUMBER_COMMANDS SetHistoryNumberCommands
;
782 CSRSS_GET_HISTORY_INFO GetHistoryInfo
;
783 CSRSS_SET_HISTORY_INFO SetHistoryInfo
;
784 CSRSS_GET_TEMP_FILE GetTempFile
;
785 CSRSS_DEFINE_DOS_DEVICE DefineDosDeviceRequest
;
786 CSRSS_SOUND_SENTRY SoundSentryRequest
;
787 CSRSS_UPDATE_VDM_ENTRY UpdateVdmEntry
;
788 CSRSS_GET_VDM_EXIT_CODE GetVdmExitCode
;
789 CSRSS_CHECK_VDM CheckVdm
;
791 } CSR_API_MESSAGE
, *PCSR_API_MESSAGE
;
793 typedef struct _NLS_USER_INFO
799 WCHAR iPaperSize
[80];
805 WCHAR iNegNumber
[80];
806 WCHAR sNativeDigits
[80];
807 WCHAR iDigitSubstitution
[80];
809 WCHAR sMonDecSep
[80];
810 WCHAR sMonThouSep
[80];
811 WCHAR sMonGrouping
[80];
812 WCHAR iCurrDigits
[80];
817 WCHAR sTimeFormat
[80];
820 WCHAR sShortDate
[80];
821 WCHAR sYearMonth
[80];
825 WCHAR iFirstWeek
[80];
827 WCHAR sLocaleName
[85];
829 LUID InteractiveUserLuid
;
830 CHAR InteractiveUserSid
[68]; // SECURITY_MAX_SID_SIZE to make ros happy
831 ULONG ulCacheUpdateCount
;
832 } NLS_USER_INFO
, *PNLS_USER_INFO
;
835 typedef struct _BASE_STATIC_SERVER_DATA
837 UNICODE_STRING WindowsDirectory
;
838 UNICODE_STRING WindowsSystemDirectory
;
839 UNICODE_STRING NamedObjectDirectory
;
840 USHORT WindowsMajorVersion
;
841 USHORT WindowsMinorVersion
;
845 WCHAR CSDVersion
[128];
846 SYSTEM_BASIC_INFORMATION SysInfo
;
847 SYSTEM_TIMEOFDAY_INFORMATION TimeOfDay
;
848 PVOID IniFileMapping
;
849 NLS_USER_INFO NlsUserInfo
;
850 BOOLEAN DefaultSeparateVDM
;
851 BOOLEAN IsWowTaskReady
;
852 UNICODE_STRING WindowsSys32x86Directory
;
853 BOOLEAN fTermsrvAppInstallMode
;
854 TIME_ZONE_INFORMATION tziTermsrvClientTimeZone
;
855 KSYSTEM_TIME ktTermsrvClientBias
;
856 ULONG TermsrvClientTimeZoneId
;
857 BOOLEAN LUIDDeviceMapsEnabled
;
858 ULONG TermsrvClientTimeZoneChangeNum
;
859 } BASE_STATIC_SERVER_DATA
, *PBASE_STATIC_SERVER_DATA
;
862 /* Types used in the new CSR. Temporarly here for proper compile of NTDLL */
863 #define CSR_SRV_SERVER 0
865 typedef enum _CSR_SRV_API_NUMBER
870 CsrpIdentifyAlertable
,
871 CsrpSetPriorityClass
,
873 } CSR_SRV_API_NUMBER
, *PCSR_SRV_API_NUMBER
;
875 #define CSR_MAKE_OPCODE(s,m) ((s) << 16) | (m)
877 typedef struct _CSR_CONNECTION_INFO
881 HANDLE ObjectDirectory
;
882 PVOID SharedSectionBase
;
883 PVOID SharedSectionHeap
;
884 PVOID SharedSectionData
;
888 } CSR_CONNECTION_INFO
, *PCSR_CONNECTION_INFO
;
890 typedef struct _CSR_CLIENT_CONNECT
893 PVOID ConnectionInfo
;
894 ULONG ConnectionInfoSize
;
895 } CSR_CLIENT_CONNECT
, *PCSR_CLIENT_CONNECT
;
897 typedef struct _CSR_IDENTIFY_ALTERTABLE_THREAD
900 } CSR_IDENTIFY_ALTERTABLE_THREAD
, *PCSR_IDENTIFY_ALTERTABLE_THREAD
;
902 typedef struct _CSR_SET_PRIORITY_CLASS
906 } CSR_SET_PRIORITY_CLASS
, *PCSR_SET_PRIORITY_CLASS
;
908 typedef struct _CSR_API_MESSAGE2
913 CSR_CONNECTION_INFO ConnectionInfo
;
916 PVOID CsrCaptureData
;
917 CSR_API_NUMBER Opcode
;
922 CSR_CLIENT_CONNECT ClientConnect
;
923 CSR_SET_PRIORITY_CLASS SetPriorityClass
;
924 CSR_IDENTIFY_ALTERTABLE_THREAD IdentifyAlertableThread
;
928 } CSR_API_MESSAGE2
, *PCSR_API_MESSAGE2
;
930 typedef struct _CSR_CAPTURE_BUFFER
933 struct _CSR_CAPTURE_BUFFER
*PreviousCaptureBuffer
;
936 ULONG_PTR PointerArray
[1];
937 } CSR_CAPTURE_BUFFER
, *PCSR_CAPTURE_BUFFER
;
939 #endif /* __INCLUDE_CSRSS_CSRSS_H */