- Moved all members with variable length in CSRSS_XXX structures to the end.
[reactos.git] / reactos / include / subsys / csrss / csrss.h
1 #ifndef __INCLUDE_CSRSS_CSRSS_H
2 #define __INCLUDE_CSRSS_CSRSS_H
3
4 #include <blue/ntddblue.h>
5
6 #define CSR_NATIVE 0x0000
7 #define CSR_CONSOLE 0x0001
8 #define CSR_GUI 0x0002
9
10 /*
11 typedef union _CSR_API_NUMBER
12 {
13 WORD Index; // CSRSS API number
14 WORD Subsystem; // 0=NTDLL;1=KERNEL32;2=KERNEL32
15 } CSR_API_NUMBER, *PCSR_API_NUMBER;
16 */
17
18 typedef ULONG CSR_API_NUMBER;
19
20 #define MAKE_CSR_API(Number, Server) \
21 ((Server) << 16) + Number
22
23 #define CSR_CSRSS_SECTION_SIZE (65536)
24
25 typedef VOID (CALLBACK *PCONTROLDISPATCHER)(DWORD);
26
27 typedef struct
28 {
29 ULONG Dummy;
30 } CSRSS_CONNECT_PROCESS, *PCSRSS_CONNECT_PROCESS;
31
32 typedef struct
33 {
34 HANDLE NewProcessId;
35 ULONG Flags;
36 BOOL bInheritHandles;
37 } CSRSS_CREATE_PROCESS, *PCSRSS_CREATE_PROCESS;
38
39 typedef struct
40 {
41 ULONG Dummy;
42 } CSRSS_TERMINATE_PROCESS, *PCSRSS_TERMINATE_PROCESS;
43
44 typedef struct
45 {
46 ULONG nMaxIds;
47 ULONG nProcessIdsCopied;
48 ULONG nProcessIdsTotal;
49 HANDLE ProcessId[0];
50 } CSRSS_GET_PROCESS_LIST, *PCSRSS_GET_PROCESS_LIST;
51
52 typedef struct
53 {
54 HANDLE ConsoleHandle;
55 BOOL Unicode;
56 ULONG NrCharactersToWrite;
57 ULONG NrCharactersWritten;
58 BYTE Buffer[0];
59 } CSRSS_WRITE_CONSOLE, *PCSRSS_WRITE_CONSOLE;
60
61 typedef struct
62 {
63 HANDLE ConsoleHandle;
64 BOOL Unicode;
65 WORD NrCharactersToRead;
66 WORD nCharsCanBeDeleted; /* number of chars already in buffer that can be backspaced */
67 HANDLE EventHandle;
68 ULONG NrCharactersRead;
69 BYTE Buffer[0];
70 } CSRSS_READ_CONSOLE, *PCSRSS_READ_CONSOLE;
71
72 typedef struct
73 {
74 PCONTROLDISPATCHER CtrlDispatcher;
75 BOOL ConsoleNeeded;
76 HANDLE Console;
77 HANDLE InputHandle;
78 HANDLE OutputHandle;
79 } CSRSS_ALLOC_CONSOLE, *PCSRSS_ALLOC_CONSOLE;
80
81 typedef struct
82 {
83 ULONG Dummy;
84 } CSRSS_FREE_CONSOLE, *PCSRSS_FREE_CONSOLE;
85
86 typedef struct
87 {
88 HANDLE ConsoleHandle;
89 CONSOLE_SCREEN_BUFFER_INFO Info;
90 } CSRSS_SCREEN_BUFFER_INFO, *PCSRSS_SCREEN_BUFFER_INFO;
91
92 typedef struct
93 {
94 HANDLE ConsoleHandle;
95 COORD Position;
96 } CSRSS_SET_CURSOR, *PCSRSS_SET_CURSOR;
97
98 typedef struct
99 {
100 HANDLE ConsoleHandle;
101 BOOL Unicode;
102 union
103 {
104 CHAR AsciiChar;
105 WCHAR UnicodeChar;
106 } Char;
107 COORD Position;
108 WORD Length;
109 ULONG NrCharactersWritten;
110 } CSRSS_FILL_OUTPUT, *PCSRSS_FILL_OUTPUT;
111
112 typedef struct
113 {
114 HANDLE ConsoleHandle;
115 CHAR Attribute;
116 COORD Coord;
117 WORD Length;
118 } CSRSS_FILL_OUTPUT_ATTRIB, *PCSRSS_FILL_OUTPUT_ATTRIB;
119
120 typedef struct
121 {
122 HANDLE ConsoleHandle;
123 BOOL Unicode;
124 INPUT_RECORD Input;
125 BOOL MoreEvents;
126 HANDLE Event;
127 } CSRSS_READ_INPUT, *PCSRSS_READ_INPUT;
128
129 typedef struct
130 {
131 HANDLE ConsoleHandle;
132 BOOL Unicode;
133 WORD Length;
134 COORD Coord;
135 COORD EndCoord;
136 ULONG NrCharactersWritten;
137 CHAR String[0];
138 } CSRSS_WRITE_CONSOLE_OUTPUT_CHAR, *PCSRSS_WRITE_CONSOLE_OUTPUT_CHAR;
139
140 typedef struct
141 {
142 HANDLE ConsoleHandle;
143 WORD Length;
144 COORD Coord;
145 COORD EndCoord;
146 WORD Attribute[0];
147 } CSRSS_WRITE_CONSOLE_OUTPUT_ATTRIB, *PCSRSS_WRITE_CONSOLE_OUTPUT_ATTRIB;
148
149 typedef struct
150 {
151 HANDLE ConsoleHandle;
152 CONSOLE_CURSOR_INFO Info;
153 } CSRSS_GET_CURSOR_INFO, *PCSRSS_GET_CURSOR_INFO;
154
155 typedef struct
156 {
157 HANDLE ConsoleHandle;
158 CONSOLE_CURSOR_INFO Info;
159 } CSRSS_SET_CURSOR_INFO, *PCSRSS_SET_CURSOR_INFO;
160
161 typedef struct
162 {
163 HANDLE ConsoleHandle;
164 CHAR Attrib;
165 } CSRSS_SET_ATTRIB, *PCSRSS_SET_ATTRIB;
166
167 typedef struct
168 {
169 HANDLE ConsoleHandle;
170 DWORD Mode;
171 } CSRSS_SET_CONSOLE_MODE, *PCSRSS_SET_CONSOLE_MODE;
172
173 typedef struct
174 {
175 HANDLE ConsoleHandle;
176 DWORD ConsoleMode;
177 } CSRSS_GET_CONSOLE_MODE, *PCSRSS_GET_CONSOLE_MODE;
178
179 typedef struct
180 {
181 /* may want to add some parameters here someday */
182 HANDLE OutputHandle; /* handle to newly created screen buffer */
183 } CSRSS_CREATE_SCREEN_BUFFER, *PCSRSS_CREATE_SCREEN_BUFFER;
184
185 typedef struct
186 {
187 HANDLE OutputHandle; /* handle to screen buffer to switch to */
188 } CSRSS_SET_SCREEN_BUFFER, *PCSRSS_SET_SCREEN_BUFFER;
189
190 typedef struct
191 {
192 HANDLE UniqueThread;
193 CLIENT_ID Cid;
194 } CSRSS_IDENTIFY_ALERTABLE_THREAD, *PCSRSS_IDENTIFY_ALERTABLE_THREAD;
195
196 typedef struct
197 {
198 HANDLE Console;
199 DWORD Length;
200 WCHAR Title[0];
201 } CSRSS_SET_TITLE, *PCSRSS_SET_TITLE;
202
203 typedef struct
204 {
205 HANDLE ConsoleHandle;
206 DWORD Length;
207 WCHAR Title[0];
208 } CSRSS_GET_TITLE, *PCSRSS_GET_TITLE;
209
210 typedef struct
211 {
212 HANDLE ConsoleHandle;
213 BOOL Unicode;
214 COORD BufferSize;
215 COORD BufferCoord;
216 SMALL_RECT WriteRegion;
217 CHAR_INFO* CharInfo;
218 } CSRSS_WRITE_CONSOLE_OUTPUT, *PCSRSS_WRITE_CONSOLE_OUTPUT;
219
220 typedef struct
221 {
222 HANDLE ConsoleInput;
223 } CSRSS_FLUSH_INPUT_BUFFER, *PCSRSS_FLUSH_INPUT_BUFFER;
224
225 typedef struct
226 {
227 HANDLE ConsoleHandle;
228 BOOL Unicode;
229 SMALL_RECT ScrollRectangle;
230 BOOLEAN UseClipRectangle;
231 SMALL_RECT ClipRectangle;
232 COORD DestinationOrigin;
233 CHAR_INFO Fill;
234 } CSRSS_SCROLL_CONSOLE_SCREEN_BUFFER, *PCSRSS_SCROLL_CONSOLE_SCREEN_BUFFER;
235
236 typedef struct
237 {
238 HANDLE ConsoleHandle;
239 BOOL Unicode;
240 DWORD NumCharsToRead;
241 COORD ReadCoord;
242 COORD EndCoord;
243 DWORD CharsRead;
244 CHAR String[0];
245 }CSRSS_READ_CONSOLE_OUTPUT_CHAR, *PCSRSS_READ_CONSOLE_OUTPUT_CHAR;
246
247 typedef struct
248 {
249 HANDLE ConsoleHandle;
250 DWORD NumAttrsToRead;
251 COORD ReadCoord;
252 COORD EndCoord;
253 WORD Attribute[0];
254 }CSRSS_READ_CONSOLE_OUTPUT_ATTRIB, *PCSRSS_READ_CONSOLE_OUTPUT_ATTRIB;
255
256 typedef struct
257 {
258 HANDLE ConsoleHandle;
259 DWORD NumInputEvents;
260 }CSRSS_GET_NUM_INPUT_EVENTS, *PCSRSS_GET_NUM_INPUT_EVENTS;
261
262 typedef struct
263 {
264 HANDLE ProcessId;
265 } CSRSS_REGISTER_SERVICES_PROCESS, *PCSRSS_REGISTER_SERVICES_PROCESS;
266
267 typedef struct
268 {
269 UINT Flags;
270 DWORD Reserved;
271 } CSRSS_EXIT_REACTOS, *PCSRSS_EXIT_REACTOS;
272
273 typedef struct
274 {
275 DWORD Level;
276 DWORD Flags;
277 } CSRSS_SET_SHUTDOWN_PARAMETERS, *PCSRSS_SET_SHUTDOWN_PARAMETERS;
278
279 typedef struct
280 {
281 DWORD Level;
282 DWORD Flags;
283 } CSRSS_GET_SHUTDOWN_PARAMETERS, *PCSRSS_GET_SHUTDOWN_PARAMETERS;
284
285 typedef struct
286 {
287 HANDLE ConsoleHandle;
288 BOOL Unicode;
289 DWORD Length;
290 INPUT_RECORD* InputRecord;
291 } CSRSS_PEEK_CONSOLE_INPUT, *PCSRSS_PEEK_CONSOLE_INPUT;
292
293 typedef struct
294 {
295 HANDLE ConsoleHandle;
296 BOOL Unicode;
297 COORD BufferSize;
298 COORD BufferCoord;
299 SMALL_RECT ReadRegion;
300 CHAR_INFO* CharInfo;
301 } CSRSS_READ_CONSOLE_OUTPUT, *PCSRSS_READ_CONSOLE_OUTPUT;
302
303 typedef struct
304 {
305 HANDLE ConsoleHandle;
306 BOOL Unicode;
307 DWORD Length;
308 INPUT_RECORD* InputRecord;
309 } CSRSS_WRITE_CONSOLE_INPUT, *PCSRSS_WRITE_CONSOLE_INPUT;
310
311 typedef struct
312 {
313 HANDLE InputHandle;
314 } CSRSS_GET_INPUT_HANDLE, *PCSRSS_GET_INPUT_HANDLE;
315
316 typedef struct
317 {
318 HANDLE OutputHandle;
319 } CSRSS_GET_OUTPUT_HANDLE, *PCSRSS_GET_OUTPUT_HANDLE;
320
321 typedef struct
322 {
323 HANDLE Handle;
324 } CSRSS_CLOSE_HANDLE, *PCSRSS_CLOSE_HANDLE;
325
326 typedef struct
327 {
328 HANDLE Handle;
329 } CSRSS_VERIFY_HANDLE, *PCSRSS_VERIFY_HANDLE;
330
331 typedef struct
332 {
333 HANDLE Handle;
334 HANDLE ProcessId;
335 } CSRSS_DUPLICATE_HANDLE, *PCSRSS_DUPLICATE_HANDLE;
336
337 #define CONSOLE_HARDWARE_STATE_GET 0
338 #define CONSOLE_HARDWARE_STATE_SET 1
339
340 #define CONSOLE_HARDWARE_STATE_GDI_MANAGED 0
341 #define CONSOLE_HARDWARE_STATE_DIRECT 1
342
343 typedef struct
344 {
345 HANDLE ConsoleHandle;
346 DWORD SetGet; /* 0=get; 1=set */
347 DWORD State;
348 } CSRSS_SETGET_CONSOLE_HW_STATE, *PCSRSS_SETGET_CONSOLE_HW_STATE;
349
350 typedef struct
351 {
352 HWND WindowHandle;
353 } CSRSS_GET_CONSOLE_WINDOW, *PCSRSS_GET_CONSOLE_WINDOW;
354
355 typedef struct
356 {
357 HICON WindowIcon;
358 } CSRSS_SET_CONSOLE_ICON, *PCSRSS_SET_CONSOLE_ICON;
359
360 typedef struct
361 {
362 HDESK DesktopHandle;
363 } CSRSS_CREATE_DESKTOP, *PCSRSS_CREATE_DESKTOP;
364
365 typedef struct
366 {
367 HWND DesktopWindow;
368 ULONG Width;
369 ULONG Height;
370 } CSRSS_SHOW_DESKTOP, *PCSRSS_SHOW_DESKTOP;
371
372 typedef struct
373 {
374 HWND DesktopWindow;
375 } CSRSS_HIDE_DESKTOP, *PCSRSS_HIDE_DESKTOP;
376
377 typedef struct
378 {
379 HWND LogonNotifyWindow;
380 } CSRSS_SET_LOGON_NOTIFY_WINDOW, *PCSRSS_SET_LOGON_NOTIFY_WINDOW;
381
382 typedef struct
383 {
384 HANDLE ProcessId;
385 BOOL Register;
386 } CSRSS_REGISTER_LOGON_PROCESS, *PCSRSS_REGISTER_LOGON_PROCESS;
387
388 typedef struct
389 {
390 UINT CodePage;
391 } CSRSS_GET_CONSOLE_CP, *PCSRSS_GET_CONSOLE_CP;
392
393 typedef struct
394 {
395 UINT CodePage;
396 } CSRSS_SET_CONSOLE_CP, *PCSRSS_SET_CONSOLE_CP;
397
398 typedef struct
399 {
400 UINT CodePage;
401 } CSRSS_GET_CONSOLE_OUTPUT_CP, *PCSRSS_GET_CONSOLE_OUTPUT_CP;
402
403 typedef struct
404 {
405 UINT CodePage;
406 } CSRSS_SET_CONSOLE_OUTPUT_CP, *PCSRSS_SET_CONSOLE_OUTPUT_CP;
407
408 typedef struct
409 {
410 HANDLE InputWaitHandle;
411 } CSRSS_GET_INPUT_WAIT_HANDLE, *PCSRSS_GET_INPUT_WAIT_HANDLE;
412
413 #define CSR_API_MESSAGE_HEADER_SIZE(Type) (FIELD_OFFSET(CSR_API_MESSAGE, Data) + sizeof(Type))
414 #define CSRSS_MAX_WRITE_CONSOLE (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_WRITE_CONSOLE))
415 #define CSRSS_MAX_SET_TITLE (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_SET_TITLE))
416 #define CSRSS_MAX_WRITE_CONSOLE_OUTPUT_CHAR (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_WRITE_CONSOLE_OUTPUT_CHAR))
417 #define CSRSS_MAX_WRITE_CONSOLE_OUTPUT_ATTRIB (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_WRITE_CONSOLE_OUTPUT_ATTRIB))
418 #define CSRSS_MAX_READ_CONSOLE (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_READ_CONSOLE))
419 #define CSRSS_MAX_READ_CONSOLE_OUTPUT_CHAR (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_READ_CONSOLE_OUTPUT_CHAR))
420 #define CSRSS_MAX_READ_CONSOLE_OUTPUT_ATTRIB (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_READ_CONSOLE_OUTPUT_ATTRIB))
421
422 /* WCHARs, not bytes! */
423 #define CSRSS_MAX_TITLE_LENGTH 80
424
425 #define CREATE_PROCESS (0x0)
426 #define TERMINATE_PROCESS (0x1)
427 #define WRITE_CONSOLE (0x2)
428 #define READ_CONSOLE (0x3)
429 #define ALLOC_CONSOLE (0x4)
430 #define FREE_CONSOLE (0x5)
431 #define CONNECT_PROCESS (0x6)
432 #define SCREEN_BUFFER_INFO (0x7)
433 #define SET_CURSOR (0x8)
434 #define FILL_OUTPUT (0x9)
435 #define READ_INPUT (0xA)
436 #define WRITE_CONSOLE_OUTPUT_CHAR (0xB)
437 #define WRITE_CONSOLE_OUTPUT_ATTRIB (0xC)
438 #define FILL_OUTPUT_ATTRIB (0xD)
439 #define GET_CURSOR_INFO (0xE)
440 #define SET_CURSOR_INFO (0xF)
441 #define SET_ATTRIB (0x10)
442 #define GET_CONSOLE_MODE (0x11)
443 #define SET_CONSOLE_MODE (0x12)
444 #define CREATE_SCREEN_BUFFER (0x13)
445 #define SET_SCREEN_BUFFER (0x14)
446 #define SET_TITLE (0x15)
447 #define GET_TITLE (0x16)
448 #define WRITE_CONSOLE_OUTPUT (0x17)
449 #define FLUSH_INPUT_BUFFER (0x18)
450 #define SCROLL_CONSOLE_SCREEN_BUFFER (0x19)
451 #define READ_CONSOLE_OUTPUT_CHAR (0x1A)
452 #define READ_CONSOLE_OUTPUT_ATTRIB (0x1B)
453 #define GET_NUM_INPUT_EVENTS (0x1C)
454 #define REGISTER_SERVICES_PROCESS (0x1D)
455 #define EXIT_REACTOS (0x1E)
456 #define GET_SHUTDOWN_PARAMETERS (0x1F)
457 #define SET_SHUTDOWN_PARAMETERS (0x20)
458 #define PEEK_CONSOLE_INPUT (0x21)
459 #define READ_CONSOLE_OUTPUT (0x22)
460 #define WRITE_CONSOLE_INPUT (0x23)
461 #define GET_INPUT_HANDLE (0x24)
462 #define GET_OUTPUT_HANDLE (0x25)
463 #define CLOSE_HANDLE (0x26)
464 #define VERIFY_HANDLE (0x27)
465 #define DUPLICATE_HANDLE (0x28)
466 #define SETGET_CONSOLE_HW_STATE (0x29)
467 #define GET_CONSOLE_WINDOW (0x2A)
468 #define CREATE_DESKTOP (0x2B)
469 #define SHOW_DESKTOP (0x2C)
470 #define HIDE_DESKTOP (0x2D)
471 #define SET_CONSOLE_ICON (0x2E)
472 #define SET_LOGON_NOTIFY_WINDOW (0x2F)
473 #define REGISTER_LOGON_PROCESS (0x30)
474 #define GET_CONSOLE_CP (0x31)
475 #define SET_CONSOLE_CP (0x32)
476 #define GET_CONSOLE_OUTPUT_CP (0x33)
477 #define SET_CONSOLE_OUTPUT_CP (0x34)
478 #define GET_INPUT_WAIT_HANDLE (0x35)
479 #define GET_PROCESS_LIST (0x36)
480
481 /* Keep in sync with definition below. */
482 #define CSRSS_HEADER_SIZE (sizeof(PORT_MESSAGE) + sizeof(ULONG) + sizeof(NTSTATUS))
483
484 typedef struct _CSR_API_MESSAGE
485 {
486 union
487 {
488 PORT_MESSAGE Header;
489 union
490 {
491 struct
492 {
493 BYTE HeaderReserved[sizeof(PORT_MESSAGE)];
494 ULONG Type;
495 NTSTATUS Status;
496 union
497 {
498 CSRSS_CREATE_PROCESS CreateProcessRequest;
499 CSRSS_CONNECT_PROCESS ConnectRequest;
500 CSRSS_WRITE_CONSOLE WriteConsoleRequest;
501 CSRSS_READ_CONSOLE ReadConsoleRequest;
502 CSRSS_ALLOC_CONSOLE AllocConsoleRequest;
503 CSRSS_SCREEN_BUFFER_INFO ScreenBufferInfoRequest;
504 CSRSS_SET_CURSOR SetCursorRequest;
505 CSRSS_FILL_OUTPUT FillOutputRequest;
506 CSRSS_READ_INPUT ReadInputRequest;
507 CSRSS_WRITE_CONSOLE_OUTPUT_CHAR WriteConsoleOutputCharRequest;
508 CSRSS_WRITE_CONSOLE_OUTPUT_ATTRIB WriteConsoleOutputAttribRequest;
509 CSRSS_FILL_OUTPUT_ATTRIB FillOutputAttribRequest;
510 CSRSS_SET_CURSOR_INFO SetCursorInfoRequest;
511 CSRSS_GET_CURSOR_INFO GetCursorInfoRequest;
512 CSRSS_SET_ATTRIB SetAttribRequest;
513 CSRSS_SET_CONSOLE_MODE SetConsoleModeRequest;
514 CSRSS_GET_CONSOLE_MODE GetConsoleModeRequest;
515 CSRSS_CREATE_SCREEN_BUFFER CreateScreenBufferRequest;
516 CSRSS_SET_SCREEN_BUFFER SetScreenBufferRequest;
517 CSRSS_SET_TITLE SetTitleRequest;
518 CSRSS_GET_TITLE GetTitleRequest;
519 CSRSS_WRITE_CONSOLE_OUTPUT WriteConsoleOutputRequest;
520 CSRSS_FLUSH_INPUT_BUFFER FlushInputBufferRequest;
521 CSRSS_SCROLL_CONSOLE_SCREEN_BUFFER ScrollConsoleScreenBufferRequest;
522 CSRSS_READ_CONSOLE_OUTPUT_CHAR ReadConsoleOutputCharRequest;
523 CSRSS_READ_CONSOLE_OUTPUT_ATTRIB ReadConsoleOutputAttribRequest;
524 CSRSS_GET_NUM_INPUT_EVENTS GetNumInputEventsRequest;
525 CSRSS_REGISTER_SERVICES_PROCESS RegisterServicesProcessRequest;
526 CSRSS_EXIT_REACTOS ExitReactosRequest;
527 CSRSS_SET_SHUTDOWN_PARAMETERS SetShutdownParametersRequest;
528 CSRSS_GET_SHUTDOWN_PARAMETERS GetShutdownParametersRequest;
529 CSRSS_PEEK_CONSOLE_INPUT PeekConsoleInputRequest;
530 CSRSS_READ_CONSOLE_OUTPUT ReadConsoleOutputRequest;
531 CSRSS_WRITE_CONSOLE_INPUT WriteConsoleInputRequest;
532 CSRSS_GET_INPUT_HANDLE GetInputHandleRequest;
533 CSRSS_GET_OUTPUT_HANDLE GetOutputHandleRequest;
534 CSRSS_CLOSE_HANDLE CloseHandleRequest;
535 CSRSS_VERIFY_HANDLE VerifyHandleRequest;
536 CSRSS_DUPLICATE_HANDLE DuplicateHandleRequest;
537 CSRSS_SETGET_CONSOLE_HW_STATE ConsoleHardwareStateRequest;
538 CSRSS_GET_CONSOLE_WINDOW GetConsoleWindowRequest;
539 CSRSS_CREATE_DESKTOP CreateDesktopRequest;
540 CSRSS_SHOW_DESKTOP ShowDesktopRequest;
541 CSRSS_HIDE_DESKTOP HideDesktopRequest;
542 CSRSS_SET_CONSOLE_ICON SetConsoleIconRequest;
543 CSRSS_SET_LOGON_NOTIFY_WINDOW SetLogonNotifyWindowRequest;
544 CSRSS_REGISTER_LOGON_PROCESS RegisterLogonProcessRequest;
545 CSRSS_GET_CONSOLE_CP GetConsoleCodePage;
546 CSRSS_SET_CONSOLE_CP SetConsoleCodePage;
547 CSRSS_GET_CONSOLE_OUTPUT_CP GetConsoleOutputCodePage;
548 CSRSS_SET_CONSOLE_OUTPUT_CP SetConsoleOutputCodePage;
549 CSRSS_GET_INPUT_WAIT_HANDLE GetConsoleInputWaitHandle;
550 CSRSS_GET_PROCESS_LIST GetProcessListRequest;
551 } Data;
552 };
553 UCHAR PadBuffer[PORT_MAXIMUM_MESSAGE_LENGTH];
554 };
555 };
556 } CSR_API_MESSAGE, *PCSR_API_MESSAGE;
557
558 #endif /* __INCLUDE_CSRSS_CSRSS_H */