Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

945 lines
30 KiB

  1. /*++
  2. Copyright (c) 1985 - 1999, Microsoft Corporation
  3. Module Name:
  4. conmsg.h
  5. Abstract:
  6. This include file defines the message formats used to communicate
  7. between the client and server portions of the CONSOLE portion of the
  8. Windows subsystem.
  9. Author:
  10. Therese Stowell (thereses) 10-Nov-1990
  11. Revision History:
  12. --*/
  13. #ifndef _CONMSG_H_
  14. #define _CONMSG_H_
  15. #define CONSOLE_INPUT_HANDLE 1
  16. #define CONSOLE_OUTPUT_HANDLE 2
  17. // max lengths, in bytes!
  18. #define MAX_TITLE_LENGTH ((MAX_PATH+1)*sizeof(WCHAR))
  19. #define MAX_APP_NAME_LENGTH 256
  20. #define INITIALIZATION_SUCCEEDED 0
  21. #define INITIALIZATION_FAILED 1
  22. #define NUMBER_OF_INITIALIZATION_EVENTS 2
  23. #if defined(FE_SB) // for Kernel32 Single Binary
  24. #include "winconp.h" // need FONT_SELECT
  25. #endif // FE_SB
  26. typedef struct _CONSOLE_INFO {
  27. IN OUT HANDLE ConsoleHandle;
  28. OUT HANDLE InputWaitHandle;
  29. OUT HANDLE StdIn;
  30. OUT HANDLE StdOut;
  31. OUT HANDLE StdErr;
  32. OUT HANDLE InitEvents[NUMBER_OF_INITIALIZATION_EVENTS];
  33. IN UINT iIconId;
  34. IN HICON hIcon;
  35. IN HICON hSmIcon;
  36. IN DWORD dwHotKey;
  37. IN DWORD dwStartupFlags;
  38. IN WORD wFillAttribute OPTIONAL;
  39. IN WORD wPopupFillAttribute OPTIONAL;
  40. IN WORD wShowWindow OPTIONAL;
  41. IN WORD wReserved OPTIONAL;
  42. IN COORD dwScreenBufferSize OPTIONAL;
  43. IN COORD dwWindowSize OPTIONAL;
  44. IN COORD dwWindowOrigin OPTIONAL;
  45. IN DWORD nFont OPTIONAL;
  46. IN DWORD nInputBufferSize OPTIONAL;
  47. IN COORD dwFontSize OPTIONAL;
  48. IN UINT uFontFamily OPTIONAL;
  49. IN UINT uFontWeight OPTIONAL;
  50. IN WCHAR FaceName[LF_FACESIZE];
  51. IN UINT uCursorSize OPTIONAL;
  52. IN BOOL bFullScreen OPTIONAL;
  53. IN BOOL bQuickEdit OPTIONAL;
  54. IN BOOL bInsertMode OPTIONAL;
  55. IN BOOL bAutoPosition OPTIONAL;
  56. IN UINT uHistoryBufferSize OPTIONAL;
  57. IN UINT uNumberOfHistoryBuffers OPTIONAL;
  58. IN BOOL bHistoryNoDup OPTIONAL;
  59. IN COLORREF ColorTable[ 16 ] OPTIONAL;
  60. #if defined(FE_SB) // for Kernel32 Single Binary
  61. IN UINT uCodePage;
  62. #endif // FE_SB
  63. } CONSOLE_INFO, *PCONSOLE_INFO;
  64. //
  65. // This structure is filled in by the client prior to connecting to the CONSRV
  66. // DLL in the Windows subsystem server. The server DLL will fill in the OUT
  67. // fields if prior to accepting the connection.
  68. //
  69. typedef struct _CONSOLE_API_CONNECTINFO {
  70. IN OUT CONSOLE_INFO ConsoleInfo;
  71. IN BOOLEAN ConsoleApp;
  72. IN BOOLEAN WindowVisible;
  73. IN LPTHREAD_START_ROUTINE CtrlRoutine;
  74. IN LPTHREAD_START_ROUTINE PropRoutine;
  75. #if defined(FE_SB)
  76. #if defined(FE_IME)
  77. IN LPTHREAD_START_ROUTINE ConsoleIMERoutine;
  78. #endif // FE_IME
  79. #endif // FE_SB
  80. IN DWORD TitleLength;
  81. IN WCHAR Title[MAX_TITLE_LENGTH/2];
  82. IN DWORD DesktopLength;
  83. IN LPWSTR Desktop;
  84. IN DWORD AppNameLength;
  85. IN WCHAR AppName[MAX_APP_NAME_LENGTH/2];
  86. IN DWORD CurDirLength;
  87. IN WCHAR CurDir[MAX_PATH+1];
  88. } CONSOLE_API_CONNECTINFO, *PCONSOLE_API_CONNECTINFO;
  89. //
  90. // Message format for messages sent from the client to the server
  91. //
  92. typedef enum _CONSOLE_API_NUMBER {
  93. ConsolepOpenConsole = CONSRV_FIRST_API_NUMBER,
  94. ConsolepGetConsoleInput,
  95. ConsolepWriteConsoleInput,
  96. ConsolepReadConsoleOutput,
  97. ConsolepWriteConsoleOutput,
  98. ConsolepReadConsoleOutputString,
  99. ConsolepWriteConsoleOutputString,
  100. ConsolepFillConsoleOutput,
  101. ConsolepGetMode,
  102. ConsolepGetNumberOfFonts,
  103. ConsolepGetNumberOfInputEvents,
  104. ConsolepGetScreenBufferInfo,
  105. ConsolepGetCursorInfo,
  106. ConsolepGetMouseInfo,
  107. ConsolepGetFontInfo,
  108. ConsolepGetFontSize,
  109. ConsolepGetCurrentFont,
  110. ConsolepSetMode,
  111. ConsolepSetActiveScreenBuffer,
  112. ConsolepFlushInputBuffer,
  113. ConsolepGetLargestWindowSize,
  114. ConsolepSetScreenBufferSize,
  115. ConsolepSetCursorPosition,
  116. ConsolepSetCursorInfo,
  117. ConsolepSetWindowInfo,
  118. ConsolepScrollScreenBuffer,
  119. ConsolepSetTextAttribute,
  120. ConsolepSetFont,
  121. ConsolepSetIcon,
  122. ConsolepReadConsole,
  123. ConsolepWriteConsole,
  124. ConsolepDupHandle,
  125. ConsolepGetHandleInformation,
  126. ConsolepSetHandleInformation,
  127. ConsolepCloseHandle,
  128. ConsolepVerifyIoHandle,
  129. ConsolepAlloc,
  130. ConsolepFree,
  131. ConsolepGetTitle,
  132. ConsolepSetTitle,
  133. ConsolepCreateScreenBuffer,
  134. ConsolepInvalidateBitmapRect,
  135. ConsolepVDMOperation,
  136. ConsolepSetCursor,
  137. ConsolepShowCursor,
  138. ConsolepMenuControl,
  139. ConsolepSetPalette,
  140. ConsolepSetDisplayMode,
  141. ConsolepRegisterVDM,
  142. ConsolepGetHardwareState,
  143. ConsolepSetHardwareState,
  144. ConsolepGetDisplayMode,
  145. ConsolepAddAlias,
  146. ConsolepGetAlias,
  147. ConsolepGetAliasesLength,
  148. ConsolepGetAliasExesLength,
  149. ConsolepGetAliases,
  150. ConsolepGetAliasExes,
  151. ConsolepExpungeCommandHistory,
  152. ConsolepSetNumberOfCommands,
  153. ConsolepGetCommandHistoryLength,
  154. ConsolepGetCommandHistory,
  155. ConsolepSetCommandHistoryMode,
  156. ConsolepGetCP,
  157. ConsolepSetCP,
  158. ConsolepSetKeyShortcuts,
  159. ConsolepSetMenuClose,
  160. ConsolepNotifyLastClose,
  161. ConsolepGenerateCtrlEvent,
  162. ConsolepGetKeyboardLayoutName,
  163. ConsolepGetConsoleWindow,
  164. #if defined(FE_SB) // for Kernel32 Single Binary
  165. ConsolepCharType,
  166. ConsolepSetLocalEUDC,
  167. ConsolepSetCursorMode,
  168. ConsolepGetCursorMode,
  169. ConsolepRegisterOS2,
  170. ConsolepSetOS2OemFormat,
  171. #if defined(FE_IME)
  172. ConsolepGetNlsMode,
  173. ConsolepSetNlsMode,
  174. ConsolepRegisterConsoleIME,
  175. ConsolepUnregisterConsoleIME,
  176. #endif // FE_IME
  177. #endif // FE_SB
  178. ConsolepGetLangId,
  179. ConsolepAttach,
  180. ConsolepGetSelectionInfo,
  181. ConsolepGetConsoleProcessList,
  182. ConsolepMaxApiNumber
  183. } CONSOLE_API_NUMBER, *PCONSOLE_API_NUMBER;
  184. typedef struct _CONSOLE_CREATESCREENBUFFER_MSG {
  185. IN HANDLE ConsoleHandle;
  186. IN ULONG DesiredAccess;
  187. IN BOOL InheritHandle;
  188. IN ULONG ShareMode;
  189. IN DWORD Flags;
  190. IN OUT CONSOLE_GRAPHICS_BUFFER_INFO GraphicsBufferInfo;
  191. OUT HANDLE hMutex;
  192. OUT PVOID lpBitmap;
  193. OUT HANDLE Handle;
  194. } CONSOLE_CREATESCREENBUFFER_MSG, *PCONSOLE_CREATESCREENBUFFER_MSG;
  195. typedef struct _CONSOLE_OPENCONSOLE_MSG {
  196. IN HANDLE ConsoleHandle;
  197. IN ULONG HandleType;
  198. IN ULONG DesiredAccess;
  199. IN BOOL InheritHandle;
  200. IN ULONG ShareMode;
  201. OUT HANDLE Handle;
  202. } CONSOLE_OPENCONSOLE_MSG, *PCONSOLE_OPENCONSOLE_MSG;
  203. #define INPUT_RECORD_BUFFER_SIZE 5
  204. typedef struct _CONSOLE_GETCONSOLEINPUT_MSG {
  205. IN HANDLE ConsoleHandle;
  206. IN HANDLE InputHandle;
  207. OUT INPUT_RECORD Record[INPUT_RECORD_BUFFER_SIZE];
  208. OUT PINPUT_RECORD BufPtr;
  209. IN OUT ULONG NumRecords; // this value is valid even for error cases
  210. IN USHORT Flags;
  211. BOOLEAN Unicode;
  212. } CONSOLE_GETCONSOLEINPUT_MSG, *PCONSOLE_GETCONSOLEINPUT_MSG;
  213. typedef struct _CONSOLE_WRITECONSOLEINPUT_MSG {
  214. IN HANDLE ConsoleHandle;
  215. IN HANDLE InputHandle;
  216. IN INPUT_RECORD Record[INPUT_RECORD_BUFFER_SIZE];
  217. IN PINPUT_RECORD BufPtr;
  218. IN OUT ULONG NumRecords; // this value is valid even for error cases
  219. BOOLEAN Unicode;
  220. BOOLEAN Append;
  221. } CONSOLE_WRITECONSOLEINPUT_MSG, *PCONSOLE_WRITECONSOLEINPUT_MSG;
  222. typedef struct _CONSOLE_READCONSOLEOUTPUT_MSG {
  223. IN HANDLE ConsoleHandle;
  224. IN HANDLE OutputHandle;
  225. OUT CHAR_INFO Char;
  226. OUT PCHAR_INFO BufPtr;
  227. IN OUT SMALL_RECT CharRegion; // this value is valid even for error cases
  228. BOOLEAN Unicode;
  229. } CONSOLE_READCONSOLEOUTPUT_MSG, *PCONSOLE_READCONSOLEOUTPUT_MSG;
  230. typedef struct _CONSOLE_WRITECONSOLEOUTPUT_MSG {
  231. IN HANDLE ConsoleHandle;
  232. IN HANDLE OutputHandle;
  233. IN CHAR_INFO Char;
  234. IN PCHAR_INFO BufPtr;
  235. IN OUT SMALL_RECT CharRegion; // this value is valid even for error cases
  236. BOOLEAN Unicode;
  237. BOOLEAN ReadVM;
  238. } CONSOLE_WRITECONSOLEOUTPUT_MSG, *PCONSOLE_WRITECONSOLEOUTPUT_MSG;
  239. #define BUFFER_SIZE 80
  240. /*
  241. * WriteOutputString and ReadInputString types
  242. */
  243. #define CONSOLE_ASCII 0x1
  244. #define CONSOLE_REAL_UNICODE 0x2
  245. #define CONSOLE_ATTRIBUTE 0x3
  246. #define CONSOLE_FALSE_UNICODE 0x4
  247. typedef struct _CONSOLE_READCONSOLEOUTPUTSTRING_MSG {
  248. IN HANDLE ConsoleHandle;
  249. IN HANDLE OutputHandle;
  250. IN COORD ReadCoord;
  251. IN DWORD StringType;
  252. OUT WCHAR String[BUFFER_SIZE/2];
  253. OUT PWCHAR BufPtr;
  254. IN OUT ULONG NumRecords; // this value is valid even for error cases
  255. } CONSOLE_READCONSOLEOUTPUTSTRING_MSG, *PCONSOLE_READCONSOLEOUTPUTSTRING_MSG;
  256. typedef struct _CONSOLE_WRITECONSOLEOUTPUTSTRING_MSG {
  257. IN HANDLE ConsoleHandle;
  258. IN HANDLE OutputHandle;
  259. IN COORD WriteCoord;
  260. IN DWORD StringType;
  261. OUT WCHAR String[BUFFER_SIZE/2];
  262. IN PWCHAR BufPtr;
  263. IN OUT ULONG NumRecords; // this value is valid even for error cases
  264. } CONSOLE_WRITECONSOLEOUTPUTSTRING_MSG, *PCONSOLE_WRITECONSOLEOUTPUTSTRING_MSG;
  265. typedef struct _CONSOLE_FILLCONSOLEOUTPUT_MSG {
  266. IN HANDLE ConsoleHandle;
  267. IN HANDLE OutputHandle;
  268. IN COORD WriteCoord;
  269. IN DWORD ElementType;
  270. IN WORD Element;
  271. IN OUT ULONG Length; // this value is valid even for error cases
  272. } CONSOLE_FILLCONSOLEOUTPUT_MSG, *PCONSOLE_FILLCONSOLEOUTPUT_MSG;
  273. typedef struct _CONSOLE_MODE_MSG {
  274. IN HANDLE ConsoleHandle;
  275. IN HANDLE Handle;
  276. IN DWORD Mode;
  277. } CONSOLE_MODE_MSG, *PCONSOLE_MODE_MSG;
  278. typedef struct _CONSOLE_GETNUMBEROFFONTS_MSG {
  279. IN HANDLE ConsoleHandle;
  280. OUT ULONG NumberOfFonts;
  281. } CONSOLE_GETNUMBEROFFONTS_MSG, *PCONSOLE_GETNUMBEROFFONTS_MSG;
  282. typedef struct _CONSOLE_GETNUMBEROFINPUTEVENTS_MSG {
  283. IN HANDLE ConsoleHandle;
  284. IN HANDLE InputHandle;
  285. OUT DWORD ReadyEvents;
  286. } CONSOLE_GETNUMBEROFINPUTEVENTS_MSG, *PCONSOLE_GETNUMBEROFINPUTEVENTS_MSG;
  287. typedef struct _CONSOLE_GETLARGESTWINDOWSIZE_MSG {
  288. IN HANDLE ConsoleHandle;
  289. IN HANDLE OutputHandle;
  290. OUT COORD Size;
  291. } CONSOLE_GETLARGESTWINDOWSIZE_MSG, *PCONSOLE_GETLARGESTWINDOWSIZE_MSG;
  292. typedef struct _CONSOLE_GETSCREENBUFFERINFO_MSG {
  293. IN HANDLE ConsoleHandle;
  294. IN HANDLE OutputHandle;
  295. OUT COORD Size;
  296. OUT COORD CursorPosition;
  297. OUT COORD ScrollPosition;
  298. OUT WORD Attributes;
  299. OUT COORD CurrentWindowSize;
  300. OUT COORD MaximumWindowSize;
  301. } CONSOLE_GETSCREENBUFFERINFO_MSG, *PCONSOLE_GETSCREENBUFFERINFO_MSG;
  302. typedef struct _CONSOLE_GETCURSORINFO_MSG {
  303. IN HANDLE ConsoleHandle;
  304. IN HANDLE OutputHandle;
  305. OUT DWORD CursorSize;
  306. OUT BOOLEAN Visible;
  307. } CONSOLE_GETCURSORINFO_MSG, *PCONSOLE_GETCURSORINFO_MSG;
  308. typedef struct _CONSOLE_GETSELECTIONINFO_MSG {
  309. IN HANDLE ConsoleHandle;
  310. OUT CONSOLE_SELECTION_INFO SelectionInfo;
  311. } CONSOLE_GETSELECTIONINFO_MSG, *PCONSOLE_GETSELECTIONINFO_MSG;
  312. typedef struct _CONSOLE_GETMOUSEINFO_MSG {
  313. IN HANDLE ConsoleHandle;
  314. OUT ULONG NumButtons;
  315. } CONSOLE_GETMOUSEINFO_MSG, *PCONSOLE_GETMOUSEINFO_MSG;
  316. typedef struct _CONSOLE_GETFONTINFO_MSG {
  317. IN HANDLE ConsoleHandle;
  318. IN HANDLE OutputHandle;
  319. IN BOOLEAN MaximumWindow;
  320. OUT PCHAR BufPtr;
  321. IN OUT ULONG NumFonts; // this value is valid even for error cases
  322. } CONSOLE_GETFONTINFO_MSG, *PCONSOLE_GETFONTINFO_MSG;
  323. typedef struct _CONSOLE_GETFONTSIZE_MSG {
  324. IN HANDLE ConsoleHandle;
  325. IN HANDLE OutputHandle;
  326. IN DWORD FontIndex;
  327. OUT COORD FontSize;
  328. } CONSOLE_GETFONTSIZE_MSG, *PCONSOLE_GETFONTSIZE_MSG;
  329. typedef struct _CONSOLE_GETCURRENTFONT_MSG {
  330. IN HANDLE ConsoleHandle;
  331. IN HANDLE OutputHandle;
  332. IN BOOLEAN MaximumWindow;
  333. OUT DWORD FontIndex;
  334. OUT COORD FontSize;
  335. } CONSOLE_GETCURRENTFONT_MSG, *PCONSOLE_GETCURRENTFONT_MSG;
  336. typedef struct _CONSOLE_SETACTIVESCREENBUFFER_MSG {
  337. IN HANDLE ConsoleHandle;
  338. IN HANDLE OutputHandle;
  339. } CONSOLE_SETACTIVESCREENBUFFER_MSG, *PCONSOLE_SETACTIVESCREENBUFFER_MSG;
  340. typedef struct _CONSOLE_FLUSHINPUTBUFFER_MSG {
  341. IN HANDLE ConsoleHandle;
  342. IN HANDLE InputHandle;
  343. } CONSOLE_FLUSHINPUTBUFFER_MSG, *PCONSOLE_FLUSHINPUTBUFFER_MSG;
  344. typedef struct _CONSOLE_SETSCREENBUFFERSIZE_MSG {
  345. IN HANDLE ConsoleHandle;
  346. IN HANDLE OutputHandle;
  347. IN COORD Size;
  348. } CONSOLE_SETSCREENBUFFERSIZE_MSG, *PCONSOLE_SETSCREENBUFFERSIZE_MSG;
  349. typedef struct _CONSOLE_SETCURSORPOSITION_MSG {
  350. IN HANDLE ConsoleHandle;
  351. IN HANDLE OutputHandle;
  352. IN COORD CursorPosition;
  353. } CONSOLE_SETCURSORPOSITION_MSG, *PCONSOLE_SETCURSORPOSITION_MSG;
  354. typedef struct _CONSOLE_SETCURSORINFO_MSG {
  355. IN HANDLE ConsoleHandle;
  356. IN HANDLE OutputHandle;
  357. IN DWORD CursorSize;
  358. IN BOOLEAN Visible;
  359. } CONSOLE_SETCURSORINFO_MSG, *PCONSOLE_SETCURSORINFO_MSG;
  360. typedef struct _CONSOLE_SETWINDOWINFO_MSG {
  361. IN HANDLE ConsoleHandle;
  362. IN HANDLE OutputHandle;
  363. IN BOOL Absolute;
  364. IN SMALL_RECT Window;
  365. } CONSOLE_SETWINDOWINFO_MSG, *PCONSOLE_SETWINDOWINFO_MSG;
  366. typedef struct _CONSOLE_SCROLLSCREENBUFFER_MSG {
  367. IN HANDLE ConsoleHandle;
  368. IN HANDLE OutputHandle;
  369. IN SMALL_RECT ScrollRectangle;
  370. IN SMALL_RECT ClipRectangle;
  371. IN BOOL Clip;
  372. IN COORD DestinationOrigin;
  373. IN CHAR_INFO Fill;
  374. IN BOOLEAN Unicode;
  375. } CONSOLE_SCROLLSCREENBUFFER_MSG, *PCONSOLE_SCROLLSCREENBUFFER_MSG;
  376. typedef struct _CONSOLE_SETTEXTATTRIBUTE_MSG {
  377. IN HANDLE ConsoleHandle;
  378. IN HANDLE OutputHandle;
  379. IN WORD Attributes;
  380. } CONSOLE_SETTEXTATTRIBUTE_MSG, *PCONSOLE_SETTEXTATTRIBUTE_MSG;
  381. typedef struct _CONSOLE_SETFONT_MSG {
  382. IN HANDLE ConsoleHandle;
  383. IN HANDLE OutputHandle;
  384. IN DWORD FontIndex;
  385. } CONSOLE_SETFONT_MSG, *PCONSOLE_SETFONT_MSG;
  386. typedef struct _CONSOLE_SETICON_MSG {
  387. IN HANDLE ConsoleHandle;
  388. IN HICON hIcon;
  389. } CONSOLE_SETICON_MSG, *PCONSOLE_SETICON_MSG;
  390. typedef struct _CONSOLE_READCONSOLE_MSG {
  391. IN HANDLE ConsoleHandle;
  392. IN HANDLE InputHandle;
  393. IN USHORT ExeNameLength;
  394. IN OUT WCHAR Buffer[BUFFER_SIZE/2];
  395. OUT PVOID BufPtr;
  396. IN OUT ULONG NumBytes; // this value is valid even for error cases
  397. IN ULONG CaptureBufferSize;
  398. IN ULONG InitialNumBytes;
  399. IN ULONG CtrlWakeupMask;
  400. OUT ULONG ControlKeyState;
  401. IN BOOLEAN Unicode;
  402. } CONSOLE_READCONSOLE_MSG, *PCONSOLE_READCONSOLE_MSG;
  403. typedef struct _CONSOLE_WRITECONSOLE_MSG {
  404. IN HANDLE ConsoleHandle;
  405. IN HANDLE OutputHandle;
  406. IN WCHAR Buffer[BUFFER_SIZE/2];
  407. IN PVOID BufPtr;
  408. IN OUT ULONG NumBytes; // this value is valid even for error cases
  409. PWCHAR TransBuffer; // used by server side only
  410. IN BOOLEAN BufferInMessage;
  411. IN BOOLEAN Unicode;
  412. BOOLEAN StackBuffer; // used by server side only
  413. DWORD WriteFlags; // used by server side only
  414. } CONSOLE_WRITECONSOLE_MSG, *PCONSOLE_WRITECONSOLE_MSG;
  415. typedef struct _CONSOLE_CLOSEHANDLE_MSG {
  416. IN HANDLE ConsoleHandle;
  417. IN HANDLE Handle;
  418. } CONSOLE_CLOSEHANDLE_MSG, *PCONSOLE_CLOSEHANDLE_MSG;
  419. typedef struct _CONSOLE_DUPHANDLE_MSG {
  420. IN HANDLE ConsoleHandle;
  421. IN HANDLE SourceHandle;
  422. IN DWORD DesiredAccess;
  423. IN BOOLEAN InheritHandle;
  424. IN DWORD Options;
  425. OUT HANDLE TargetHandle;
  426. } CONSOLE_DUPHANDLE_MSG, *PCONSOLE_DUPHANDLE_MSG;
  427. typedef struct _CONSOLE_GETHANDLEINFORMATION_MSG {
  428. IN HANDLE ConsoleHandle;
  429. IN HANDLE Handle;
  430. OUT DWORD Flags;
  431. } CONSOLE_GETHANDLEINFORMATION_MSG, *PCONSOLE_GETHANDLEINFORMATION_MSG;
  432. typedef struct _CONSOLE_SETHANDLEINFORMATION_MSG {
  433. IN HANDLE ConsoleHandle;
  434. IN HANDLE Handle;
  435. IN DWORD Mask;
  436. IN DWORD Flags;
  437. } CONSOLE_SETHANDLEINFORMATION_MSG, *PCONSOLE_SETHANDLEINFORMATION_MSG;
  438. typedef struct _CONSOLE_ADDALIAS_MSG {
  439. HANDLE ConsoleHandle;
  440. USHORT SourceLength;
  441. USHORT TargetLength;
  442. USHORT ExeLength;
  443. PVOID Source;
  444. PVOID Target;
  445. PVOID Exe;
  446. BOOLEAN Unicode;
  447. BOOLEAN UnicodeExe;
  448. } CONSOLE_ADDALIAS_MSG, *PCONSOLE_ADDALIAS_MSG;
  449. typedef struct _CONSOLE_GETALIAS_MSG {
  450. HANDLE ConsoleHandle;
  451. USHORT SourceLength;
  452. USHORT TargetLength;
  453. USHORT ExeLength;
  454. PVOID Source;
  455. PVOID Target;
  456. PVOID Exe;
  457. BOOLEAN Unicode;
  458. BOOLEAN UnicodeExe;
  459. } CONSOLE_GETALIAS_MSG, *PCONSOLE_GETALIAS_MSG;
  460. typedef struct _CONSOLE_GETALIASESLENGTH_MSG {
  461. HANDLE ConsoleHandle;
  462. USHORT ExeLength;
  463. PVOID Exe;
  464. DWORD AliasesLength;
  465. BOOLEAN Unicode;
  466. BOOLEAN UnicodeExe;
  467. } CONSOLE_GETALIASESLENGTH_MSG, *PCONSOLE_GETALIASESLENGTH_MSG;
  468. typedef struct _CONSOLE_GETALIASEXESLENGTH_MSG {
  469. HANDLE ConsoleHandle;
  470. DWORD AliasExesLength;
  471. BOOLEAN Unicode;
  472. } CONSOLE_GETALIASEXESLENGTH_MSG, *PCONSOLE_GETALIASEXESLENGTH_MSG;
  473. typedef struct _CONSOLE_GETALIASES_MSG {
  474. HANDLE ConsoleHandle;
  475. USHORT ExeLength;
  476. PVOID Exe;
  477. BOOLEAN Unicode;
  478. BOOLEAN UnicodeExe;
  479. DWORD AliasesBufferLength;
  480. PVOID AliasesBuffer;
  481. } CONSOLE_GETALIASES_MSG, *PCONSOLE_GETALIASES_MSG;
  482. typedef struct _CONSOLE_GETALIASEXES_MSG {
  483. HANDLE ConsoleHandle;
  484. DWORD AliasExesBufferLength;
  485. PVOID AliasExesBuffer;
  486. BOOLEAN Unicode;
  487. } CONSOLE_GETALIASEXES_MSG, *PCONSOLE_GETALIASEXES_MSG;
  488. typedef struct _CONSOLE_EXPUNGECOMMANDHISTORY_MSG {
  489. HANDLE ConsoleHandle;
  490. USHORT ExeLength;
  491. PVOID Exe;
  492. BOOLEAN Unicode;
  493. BOOLEAN UnicodeExe;
  494. } CONSOLE_EXPUNGECOMMANDHISTORY_MSG, *PCONSOLE_EXPUNGECOMMANDHISTORY_MSG;
  495. typedef struct _CONSOLE_SETNUMBEROFCOMMANDS_MSG {
  496. HANDLE ConsoleHandle;
  497. DWORD NumCommands;
  498. USHORT ExeLength;
  499. PVOID Exe;
  500. BOOLEAN Unicode;
  501. BOOLEAN UnicodeExe;
  502. } CONSOLE_SETNUMBEROFCOMMANDS_MSG, *PCONSOLE_SETNUMBEROFCOMMANDS_MSG;
  503. typedef struct _CONSOLE_GETCOMMANDHISTORYLENGTH_MSG {
  504. HANDLE ConsoleHandle;
  505. DWORD CommandHistoryLength;
  506. USHORT ExeLength;
  507. PVOID Exe;
  508. BOOLEAN Unicode;
  509. BOOLEAN UnicodeExe;
  510. } CONSOLE_GETCOMMANDHISTORYLENGTH_MSG, *PCONSOLE_GETCOMMANDHISTORYLENGTH_MSG;
  511. typedef struct _CONSOLE_GETCOMMANDHISTORY_MSG {
  512. HANDLE ConsoleHandle;
  513. DWORD CommandBufferLength;
  514. PVOID CommandBuffer;
  515. USHORT ExeLength;
  516. PVOID Exe;
  517. BOOLEAN Unicode;
  518. BOOLEAN UnicodeExe;
  519. } CONSOLE_GETCOMMANDHISTORY_MSG, *PCONSOLE_GETCOMMANDHISTORY_MSG;
  520. typedef struct _CONSOLE_SETCOMMANDHISTORYMODE_MSG {
  521. HANDLE ConsoleHandle;
  522. DWORD Flags;
  523. } CONSOLE_SETCOMMANDHISTORYMODE_MSG, *PCONSOLE_SETCOMMANDHISTORYMODE_MSG;
  524. typedef struct _CONSOLE_VERIFYIOHANDLE_MSG {
  525. BOOL Valid;
  526. HANDLE ConsoleHandle;
  527. HANDLE Handle;
  528. } CONSOLE_VERIFYIOHANDLE_MSG, *PCONSOLE_VERIFYIOHANDLE_MSG;
  529. typedef struct _CONSOLE_ALLOC_MSG {
  530. IN PCONSOLE_INFO ConsoleInfo;
  531. IN DWORD TitleLength;
  532. IN LPWSTR Title;
  533. IN DWORD DesktopLength;
  534. IN LPWSTR Desktop;
  535. IN DWORD AppNameLength;
  536. IN LPWSTR AppName;
  537. IN DWORD CurDirLength;
  538. IN LPWSTR CurDir;
  539. IN LPTHREAD_START_ROUTINE CtrlRoutine;
  540. IN LPTHREAD_START_ROUTINE PropRoutine;
  541. } CONSOLE_ALLOC_MSG, *PCONSOLE_ALLOC_MSG;
  542. typedef struct _CONSOLE_FREE_MSG {
  543. IN HANDLE ConsoleHandle;
  544. } CONSOLE_FREE_MSG, *PCONSOLE_FREE_MSG;
  545. typedef struct _CONSOLE_ATTACH_MSG {
  546. IN DWORD ProcessId;
  547. IN PCONSOLE_INFO ConsoleInfo;
  548. IN LPTHREAD_START_ROUTINE CtrlRoutine;
  549. IN LPTHREAD_START_ROUTINE PropRoutine;
  550. } CONSOLE_ATTACH_MSG, *PCONSOLE_ATTACH_MSG;
  551. typedef struct _CONSOLE_GETTITLE_MSG {
  552. IN HANDLE ConsoleHandle;
  553. IN OUT DWORD TitleLength;
  554. OUT PVOID Title;
  555. BOOLEAN Unicode;
  556. } CONSOLE_GETTITLE_MSG, *PCONSOLE_GETTITLE_MSG;
  557. typedef struct _CONSOLE_SETTITLE_MSG {
  558. IN HANDLE ConsoleHandle;
  559. IN DWORD TitleLength;
  560. IN PVOID Title;
  561. BOOLEAN Unicode;
  562. } CONSOLE_SETTITLE_MSG, *PCONSOLE_SETTITLE_MSG;
  563. typedef struct _CONSOLE_INVALIDATERECT_MSG {
  564. IN HANDLE ConsoleHandle;
  565. IN HANDLE OutputHandle;
  566. SMALL_RECT Rect;
  567. } CONSOLE_INVALIDATERECT_MSG, *PCONSOLE_INVALIDATERECT_MSG;
  568. typedef struct _CONSOLE_VDM_MSG {
  569. IN HANDLE ConsoleHandle;
  570. IN DWORD iFunction;
  571. OUT BOOL Bool;
  572. IN OUT POINT Point;
  573. OUT RECT Rect;
  574. } CONSOLE_VDM_MSG, *PCONSOLE_VDM_MSG;
  575. typedef struct _CONSOLE_SETCURSOR_MSG {
  576. IN HANDLE ConsoleHandle;
  577. IN HANDLE OutputHandle;
  578. IN HCURSOR CursorHandle;
  579. } CONSOLE_SETCURSOR_MSG, *PCONSOLE_SETCURSOR_MSG;
  580. typedef struct _CONSOLE_SHOWCURSOR_MSG {
  581. IN HANDLE ConsoleHandle;
  582. IN HANDLE OutputHandle;
  583. IN BOOL bShow;
  584. OUT int DisplayCount;
  585. } CONSOLE_SHOWCURSOR_MSG, *PCONSOLE_SHOWCURSOR_MSG;
  586. typedef struct _CONSOLE_MENUCONTROL_MSG {
  587. IN HANDLE ConsoleHandle;
  588. IN HANDLE OutputHandle;
  589. IN UINT CommandIdLow;
  590. IN UINT CommandIdHigh;
  591. OUT HMENU hMenu;
  592. } CONSOLE_MENUCONTROL_MSG, *PCONSOLE_MENUCONTROL_MSG;
  593. typedef struct _CONSOLE_SETPALETTE_MSG {
  594. IN HANDLE ConsoleHandle;
  595. IN HANDLE OutputHandle;
  596. IN HPALETTE hPalette;
  597. IN UINT dwUsage;
  598. } CONSOLE_SETPALETTE_MSG, *PCONSOLE_SETPALETTE_MSG;
  599. typedef struct _CONSOLE_SETDISPLAYMODE_MSG {
  600. IN HANDLE ConsoleHandle;
  601. IN HANDLE OutputHandle;
  602. IN DWORD dwFlags;
  603. OUT COORD ScreenBufferDimensions;
  604. IN HANDLE hEvent;
  605. } CONSOLE_SETDISPLAYMODE_MSG, *PCONSOLE_SETDISPLAYMODE_MSG;
  606. typedef struct _CONSOLE_REGISTERVDM_MSG {
  607. IN HANDLE ConsoleHandle;
  608. IN DWORD RegisterFlags;
  609. IN HANDLE StartEvent;
  610. IN HANDLE EndEvent;
  611. IN HANDLE ErrorEvent;
  612. IN DWORD Reserved;
  613. OUT ULONG StateLength;
  614. OUT PVOID StateBuffer;
  615. IN LPWSTR VDMBufferSectionName;
  616. IN DWORD VDMBufferSectionNameLength;
  617. IN COORD VDMBufferSize;
  618. OUT PVOID VDMBuffer;
  619. } CONSOLE_REGISTERVDM_MSG, *PCONSOLE_REGISTERVDM_MSG;
  620. typedef struct _CONSOLE_GETHARDWARESTATE_MSG {
  621. IN HANDLE ConsoleHandle;
  622. IN HANDLE OutputHandle;
  623. OUT COORD Resolution;
  624. OUT COORD FontSize;
  625. } CONSOLE_GETHARDWARESTATE_MSG, *PCONSOLE_GETHARDWARESTATE_MSG;
  626. typedef struct _CONSOLE_SETHARDWARESTATE_MSG {
  627. IN HANDLE ConsoleHandle;
  628. IN HANDLE OutputHandle;
  629. IN COORD Resolution;
  630. IN COORD FontSize;
  631. } CONSOLE_SETHARDWARESTATE_MSG, *PCONSOLE_SETHARDWARESTATE_MSG;
  632. typedef struct _CONSOLE_GETDISPLAYMODE_MSG {
  633. IN HANDLE ConsoleHandle;
  634. OUT ULONG ModeFlags;
  635. } CONSOLE_GETDISPLAYMODE_MSG, *PCONSOLE_GETDISPLAYMODE_MSG;
  636. typedef struct _CONSOLE_GETCP_MSG {
  637. IN HANDLE ConsoleHandle;
  638. UINT wCodePageID;
  639. BOOL Output;
  640. } CONSOLE_GETCP_MSG, *PCONSOLE_GETCP_MSG;
  641. typedef struct _CONSOLE_SETCP_MSG {
  642. IN HANDLE ConsoleHandle;
  643. UINT wCodePageID;
  644. BOOL Output;
  645. #if defined(FE_SB) // for Kernel32 Single Binary
  646. HANDLE hEvent;
  647. #endif // FE_SB
  648. } CONSOLE_SETCP_MSG, *PCONSOLE_SETCP_MSG;
  649. typedef struct _CONSOLE_GETKEYBOARDLAYOUTNAME_MSG {
  650. IN HANDLE ConsoleHandle;
  651. union {
  652. WCHAR awchLayout[9];
  653. char achLayout[9];
  654. };
  655. BOOL bAnsi;
  656. } CONSOLE_GETKEYBOARDLAYOUTNAME_MSG, *PCONSOLE_GETKEYBOARDLAYOUTNAME_MSG;
  657. typedef struct _CONSOLE_SETKEYSHORTCUTS_MSG {
  658. IN HANDLE ConsoleHandle;
  659. BOOL Set;
  660. BYTE ReserveKeys;
  661. DWORD NumAppKeys;
  662. LPAPPKEY AppKeys;
  663. } CONSOLE_SETKEYSHORTCUTS_MSG, *PCONSOLE_SETKEYSHORTCUTS_MSG;
  664. typedef struct _CONSOLE_SETMENUCLOSE_MSG {
  665. IN HANDLE ConsoleHandle;
  666. BOOL Enable;
  667. } CONSOLE_SETMENUCLOSE_MSG, *PCONSOLE_SETMENUCLOSE_MSG;
  668. typedef struct _CONSOLE_NOTIFYLASTCLOSE_MSG {
  669. IN HANDLE ConsoleHandle;
  670. } CONSOLE_NOTIFYLASTCLOSE_MSG, *PCONSOLE_NOTIFYLASTCLOSE_MSG;
  671. typedef struct _CONSOLE_CTRLEVENT_MSG {
  672. IN HANDLE ConsoleHandle;
  673. IN DWORD CtrlEvent;
  674. IN DWORD ProcessGroupId;
  675. } CONSOLE_CTRLEVENT_MSG, *PCONSOLE_CTRLEVENT_MSG;
  676. #if defined(FE_SB) // for Kernel32 Single Binary
  677. typedef struct _CONSOLE_CHAR_TYPE_MSG {
  678. IN HANDLE ConsoleHandle;
  679. IN HANDLE Handle;
  680. IN COORD coordCheck;
  681. OUT DWORD dwType;
  682. } CONSOLE_CHAR_TYPE_MSG, *PCONSOLE_CHAR_TYPE_MSG;
  683. typedef struct _CONSOLE_LOCAL_EUDC_MSG {
  684. IN HANDLE ConsoleHandle;
  685. IN HANDLE Handle;
  686. IN WORD CodePoint;
  687. IN COORD FontSize;
  688. IN PCHAR FontFace;
  689. } CONSOLE_LOCAL_EUDC_MSG, *PCONSOLE_LOCAL_EUDC_MSG;
  690. typedef struct _CONSOLE_CURSOR_MODE_MSG {
  691. IN HANDLE ConsoleHandle;
  692. IN HANDLE Handle;
  693. IN BOOL Blink;
  694. IN BOOL DBEnable;
  695. } CONSOLE_CURSOR_MODE_MSG, *PCONSOLE_CURSOR_MODE_MSG;
  696. typedef struct _CONSOLE_REGISTEROS2_MSG {
  697. IN HANDLE ConsoleHandle;
  698. IN BOOL fOs2Register;
  699. } CONSOLE_REGISTEROS2_MSG, *PCONSOLE_REGISTEROS2_MSG;
  700. typedef struct _CONSOLE_SETOS2OEMFORMAT_MSG {
  701. IN HANDLE ConsoleHandle;
  702. IN BOOL fOs2OemFormat;
  703. } CONSOLE_SETOS2OEMFORMAT_MSG, *PCONSOLE_SETOS2OEMFORMAT_MSG;
  704. #if defined(FE_IME)
  705. typedef struct _CONSOLE_NLS_MODE_MSG {
  706. IN HANDLE ConsoleHandle;
  707. IN HANDLE Handle;
  708. IN OUT BOOL Ready;
  709. IN DWORD NlsMode;
  710. IN HANDLE hEvent;
  711. } CONSOLE_NLS_MODE_MSG, *PCONSOLE_NLS_MODE_MSG;
  712. typedef struct _CONSOLE_REGISTER_CONSOLEIME_MSG {
  713. IN HANDLE ConsoleHandle;
  714. IN HWND hWndConsoleIME;
  715. IN DWORD dwConsoleIMEThreadId;
  716. IN DWORD DesktopLength;
  717. IN LPWSTR Desktop;
  718. OUT DWORD dwConsoleThreadId;
  719. } CONSOLE_REGISTER_CONSOLEIME_MSG, *PCONSOLE_REGISTER_CONSOLEIME_MSG;
  720. typedef struct _CONSOLE_UNREGISTER_CONSOLEIME_MSG {
  721. IN HANDLE ConsoleHandle;
  722. IN DWORD dwConsoleIMEThreadId;
  723. } CONSOLE_UNREGISTER_CONSOLEIME_MSG, *PCONSOLE_UNREGISTER_CONSOLEIME_MSG;
  724. #endif // FE_IME
  725. #endif // FE_SB
  726. typedef struct _CONSOLE_GETCONSOLEWINDOW_MSG {
  727. IN HANDLE ConsoleHandle;
  728. OUT HWND hwnd;
  729. } CONSOLE_GETCONSOLEWINDOW_MSG, *PCONSOLE_GETCONSOLEWINDOW_MSG;
  730. typedef struct _CONSOLE_LANGID_MSG {
  731. IN HANDLE ConsoleHandle;
  732. OUT LANGID LangId;
  733. } CONSOLE_LANGID_MSG, *PCONSOLE_LANGID_MSG;
  734. typedef struct _CONSOLE_GETPROCESSLIST_MSG {
  735. IN HANDLE ConsoleHandle;
  736. IN OUT DWORD dwProcessCount;
  737. OUT LPDWORD lpdwProcessList;
  738. } CONSOLE_GETCONSOLEPROCESSLIST_MSG, *PCONSOLE_GETCONSOLEPROCESSLIST_MSG;
  739. typedef struct _CONSOLE_API_MSG {
  740. PORT_MESSAGE h;
  741. PCSR_CAPTURE_HEADER CaptureBuffer;
  742. CSR_API_NUMBER ApiNumber;
  743. ULONG ReturnValue;
  744. ULONG Reserved;
  745. union {
  746. CONSOLE_OPENCONSOLE_MSG OpenConsole;
  747. CONSOLE_GETCONSOLEINPUT_MSG GetConsoleInput;
  748. CONSOLE_WRITECONSOLEINPUT_MSG WriteConsoleInput;
  749. CONSOLE_READCONSOLEOUTPUT_MSG ReadConsoleOutput;
  750. CONSOLE_WRITECONSOLEOUTPUT_MSG WriteConsoleOutput;
  751. CONSOLE_READCONSOLEOUTPUTSTRING_MSG ReadConsoleOutputString;
  752. CONSOLE_WRITECONSOLEOUTPUTSTRING_MSG WriteConsoleOutputString;
  753. CONSOLE_FILLCONSOLEOUTPUT_MSG FillConsoleOutput;
  754. CONSOLE_MODE_MSG GetConsoleMode;
  755. CONSOLE_GETNUMBEROFFONTS_MSG GetNumberOfConsoleFonts;
  756. CONSOLE_GETNUMBEROFINPUTEVENTS_MSG GetNumberOfConsoleInputEvents;
  757. CONSOLE_GETSCREENBUFFERINFO_MSG GetConsoleScreenBufferInfo;
  758. CONSOLE_GETCURSORINFO_MSG GetConsoleCursorInfo;
  759. CONSOLE_GETMOUSEINFO_MSG GetConsoleMouseInfo;
  760. CONSOLE_GETFONTINFO_MSG GetConsoleFontInfo;
  761. CONSOLE_GETFONTSIZE_MSG GetConsoleFontSize;
  762. CONSOLE_GETCURRENTFONT_MSG GetCurrentConsoleFont;
  763. CONSOLE_MODE_MSG SetConsoleMode;
  764. CONSOLE_SETACTIVESCREENBUFFER_MSG SetConsoleActiveScreenBuffer;
  765. CONSOLE_FLUSHINPUTBUFFER_MSG FlushConsoleInputBuffer;
  766. CONSOLE_GETLARGESTWINDOWSIZE_MSG GetLargestConsoleWindowSize;
  767. CONSOLE_SETSCREENBUFFERSIZE_MSG SetConsoleScreenBufferSize;
  768. CONSOLE_SETCURSORPOSITION_MSG SetConsoleCursorPosition;
  769. CONSOLE_SETCURSORINFO_MSG SetConsoleCursorInfo;
  770. CONSOLE_SETWINDOWINFO_MSG SetConsoleWindowInfo;
  771. CONSOLE_SCROLLSCREENBUFFER_MSG ScrollConsoleScreenBuffer;
  772. CONSOLE_SETTEXTATTRIBUTE_MSG SetConsoleTextAttribute;
  773. CONSOLE_SETFONT_MSG SetConsoleFont;
  774. CONSOLE_SETICON_MSG SetConsoleIcon;
  775. CONSOLE_READCONSOLE_MSG ReadConsole;
  776. CONSOLE_WRITECONSOLE_MSG WriteConsole;
  777. CONSOLE_DUPHANDLE_MSG DuplicateHandle;
  778. CONSOLE_GETHANDLEINFORMATION_MSG GetHandleInformation;
  779. CONSOLE_SETHANDLEINFORMATION_MSG SetHandleInformation;
  780. CONSOLE_CLOSEHANDLE_MSG CloseHandle;
  781. CONSOLE_VERIFYIOHANDLE_MSG VerifyConsoleIoHandle;
  782. CONSOLE_ALLOC_MSG AllocConsole;
  783. CONSOLE_FREE_MSG FreeConsole;
  784. CONSOLE_GETTITLE_MSG GetConsoleTitle;
  785. CONSOLE_SETTITLE_MSG SetConsoleTitle;
  786. CONSOLE_CREATESCREENBUFFER_MSG CreateConsoleScreenBuffer;
  787. CONSOLE_INVALIDATERECT_MSG InvalidateConsoleBitmapRect;
  788. CONSOLE_VDM_MSG VDMConsoleOperation;
  789. CONSOLE_SETCURSOR_MSG SetConsoleCursor;
  790. CONSOLE_SHOWCURSOR_MSG ShowConsoleCursor;
  791. CONSOLE_MENUCONTROL_MSG ConsoleMenuControl;
  792. CONSOLE_SETPALETTE_MSG SetConsolePalette;
  793. CONSOLE_SETDISPLAYMODE_MSG SetConsoleDisplayMode;
  794. CONSOLE_REGISTERVDM_MSG RegisterConsoleVDM;
  795. CONSOLE_GETHARDWARESTATE_MSG GetConsoleHardwareState;
  796. CONSOLE_SETHARDWARESTATE_MSG SetConsoleHardwareState;
  797. CONSOLE_GETDISPLAYMODE_MSG GetConsoleDisplayMode;
  798. CONSOLE_ADDALIAS_MSG AddConsoleAliasW;
  799. CONSOLE_GETALIAS_MSG GetConsoleAliasW;
  800. CONSOLE_GETALIASESLENGTH_MSG GetConsoleAliasesLengthW;
  801. CONSOLE_GETALIASEXESLENGTH_MSG GetConsoleAliasExesLengthW;
  802. CONSOLE_GETALIASES_MSG GetConsoleAliasesW;
  803. CONSOLE_GETALIASEXES_MSG GetConsoleAliasExesW;
  804. CONSOLE_EXPUNGECOMMANDHISTORY_MSG ExpungeConsoleCommandHistoryW;
  805. CONSOLE_SETNUMBEROFCOMMANDS_MSG SetConsoleNumberOfCommandsW;
  806. CONSOLE_GETCOMMANDHISTORYLENGTH_MSG GetConsoleCommandHistoryLengthW;
  807. CONSOLE_GETCOMMANDHISTORY_MSG GetConsoleCommandHistoryW;
  808. CONSOLE_SETCOMMANDHISTORYMODE_MSG SetConsoleCommandHistoryMode;
  809. CONSOLE_GETCP_MSG GetConsoleCP;
  810. CONSOLE_SETCP_MSG SetConsoleCP;
  811. CONSOLE_SETKEYSHORTCUTS_MSG SetConsoleKeyShortcuts;
  812. CONSOLE_SETMENUCLOSE_MSG SetConsoleMenuClose;
  813. CONSOLE_NOTIFYLASTCLOSE_MSG SetLastConsoleEventActive;
  814. CONSOLE_CTRLEVENT_MSG GenerateConsoleCtrlEvent;
  815. CONSOLE_GETKEYBOARDLAYOUTNAME_MSG GetKeyboardLayoutName;
  816. CONSOLE_GETCONSOLEWINDOW_MSG GetConsoleWindow;
  817. #if defined(FE_SB) // for Kernel32 Single Binary
  818. CONSOLE_CHAR_TYPE_MSG GetConsoleCharType;
  819. CONSOLE_LOCAL_EUDC_MSG SetConsoleLocalEUDC;
  820. CONSOLE_CURSOR_MODE_MSG SetConsoleCursorMode;
  821. CONSOLE_CURSOR_MODE_MSG GetConsoleCursorMode;
  822. CONSOLE_REGISTEROS2_MSG RegisterConsoleOS2;
  823. CONSOLE_SETOS2OEMFORMAT_MSG SetConsoleOS2OemFormat;
  824. #if defined(FE_IME)
  825. CONSOLE_NLS_MODE_MSG GetConsoleNlsMode;
  826. CONSOLE_NLS_MODE_MSG SetConsoleNlsMode;
  827. CONSOLE_REGISTER_CONSOLEIME_MSG RegisterConsoleIME;
  828. CONSOLE_UNREGISTER_CONSOLEIME_MSG UnregisterConsoleIME;
  829. #endif // FE_IME
  830. #endif // FE_SB
  831. CONSOLE_LANGID_MSG GetConsoleLangId;
  832. CONSOLE_ATTACH_MSG AttachConsole;
  833. CONSOLE_GETSELECTIONINFO_MSG GetConsoleSelectionInfo;
  834. CONSOLE_GETCONSOLEPROCESSLIST_MSG GetConsoleProcessList;
  835. } u;
  836. } CONSOLE_API_MSG, *PCONSOLE_API_MSG;
  837. #endif