test: conmsg.h Source File

Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

# conmsg.h

Go to the documentation of this file.

    00001 /*++
    00002
    00003 Copyright (c) 1985 - 1999, Microsoft Corporation
    00004
    00005 Module Name:
    00006
    00007     conmsg.h
    00008
    00009 Abstract:
    00010
    00011     This include file defines the message formats used to communicate
    00012     between the client and server portions of the CONSOLE portion of the
    00013     Windows subsystem.
    00014
    00015 Author:
    00016
    00017     Therese Stowell (thereses) 10-Nov-1990
    00018
    00019 Revision History:
    00020
    00021 --*/
    00022
    00023 #ifndef _CONMSG_H_
    00024 #define _CONMSG_H_
    00025
    00026 #define CONSOLE_INPUT_HANDLE 1
    00027 #define CONSOLE_OUTPUT_HANDLE 2
    00028
    00029 // max lengths, in bytes!
    00030 #define MAX_TITLE_LENGTH ((MAX_PATH+1)*sizeof(WCHAR))
    00031 #define MAX_APP_NAME_LENGTH 256
    00032
    00033 #define INITIALIZATION_SUCCEEDED 0
    00034 #define INITIALIZATION_FAILED 1
    00035 #define NUMBER_OF_INITIALIZATION_EVENTS 2
    00036
    00037 #if defined(FE_SB) // for Kernel32 Single Binary
    00038 #include "winconp.h"  // need FONT_SELECT
    00039 #endif // FE_SB
    00040
    00041 typedef struct _CONSOLE_INFO {
    00042     IN OUT HANDLE ConsoleHandle;
    00043     OUT HANDLE InputWaitHandle;
    00044     OUT HANDLE StdIn;
    00045     OUT HANDLE StdOut;
    00046     OUT HANDLE StdErr;
    00047     OUT HANDLE InitEvents[NUMBER_OF_INITIALIZATION_EVENTS];
    00048     IN UINT   iIconId;
    00049     IN HICON  hIcon;
    00050     IN HICON  hSmIcon;
    00051     IN DWORD dwHotKey;
    00052     IN DWORD dwStartupFlags;
    00053     IN WORD  wFillAttribute OPTIONAL;
    00054     IN WORD  wPopupFillAttribute OPTIONAL;
    00055     IN WORD  wShowWindow OPTIONAL;
    00056     IN WORD  wReserved OPTIONAL;
    00057     IN COORD dwScreenBufferSize OPTIONAL;
    00058     IN COORD dwWindowSize OPTIONAL;
    00059     IN COORD dwWindowOrigin OPTIONAL;
    00060     IN DWORD nFont OPTIONAL;
    00061     IN DWORD nInputBufferSize OPTIONAL;
    00062     IN COORD dwFontSize OPTIONAL;
    00063     IN UINT  uFontFamily OPTIONAL;
    00064     IN UINT  uFontWeight OPTIONAL;
    00065     IN WCHAR FaceName[LF_FACESIZE];
    00066     IN UINT  uCursorSize OPTIONAL;
    00067     IN BOOL  bFullScreen OPTIONAL;
    00068     IN BOOL  bQuickEdit  OPTIONAL;
    00069     IN BOOL  bInsertMode OPTIONAL;
    00070     IN BOOL  bAutoPosition OPTIONAL;
    00071     IN UINT  uHistoryBufferSize OPTIONAL;
    00072     IN UINT  uNumberOfHistoryBuffers OPTIONAL;
    00073     IN BOOL  bHistoryNoDup OPTIONAL;
    00074     IN COLORREF ColorTable[ 16 ] OPTIONAL;
    00075 #if defined(FE_SB) // for Kernel32 Single Binary
    00076     IN UINT  uCodePage;
    00077 #endif // FE_SB
    00078 } CONSOLE_INFO, *PCONSOLE_INFO;
    00079
    00080
    00081 //
    00082 // This structure is filled in by the client prior to connecting to the CONSRV
    00083 // DLL in the Windows subsystem server.  The server DLL will fill in the OUT
    00084 // fields if prior to accepting the connection.
    00085 //
    00086
    00087 typedef struct _CONSOLE_API_CONNECTINFO {
    00088     IN OUT CONSOLE_INFO ConsoleInfo;
    00089     IN BOOLEAN ConsoleApp;
    00090     IN BOOLEAN WindowVisible;
    00091     IN LPTHREAD_START_ROUTINE CtrlRoutine;
    00092     IN LPTHREAD_START_ROUTINE PropRoutine;
    00093 #if defined(FE_SB)
    00094 #if defined(FE_IME)
    00095     IN LPTHREAD_START_ROUTINE ConsoleIMERoutine;
    00096 #endif // FE_IME
    00097 #endif // FE_SB
    00098     IN DWORD TitleLength;
    00099     IN WCHAR Title[MAX_TITLE_LENGTH/2];
    00100     IN DWORD DesktopLength;
    00101     IN LPWSTR Desktop;
    00102     IN DWORD AppNameLength;
    00103     IN WCHAR AppName[MAX_APP_NAME_LENGTH/2];
    00104     IN DWORD CurDirLength;
    00105     IN WCHAR CurDir[MAX_PATH+1];
    00106 } CONSOLE_API_CONNECTINFO, *PCONSOLE_API_CONNECTINFO;
    00107
    00108 //
    00109 // Message format for messages sent from the client to the server
    00110 //
    00111
    00112 typedef enum _CONSOLE_API_NUMBER {
    00113     ConsolepOpenConsole = CONSRV_FIRST_API_NUMBER,
    00114     ConsolepGetConsoleInput,
    00115     ConsolepWriteConsoleInput,
    00116     ConsolepReadConsoleOutput,
    00117     ConsolepWriteConsoleOutput,
    00118     ConsolepReadConsoleOutputString,
    00119     ConsolepWriteConsoleOutputString,
    00120     ConsolepFillConsoleOutput,
    00121     ConsolepGetMode,
    00122     ConsolepGetNumberOfFonts,
    00123     ConsolepGetNumberOfInputEvents,
    00124     ConsolepGetScreenBufferInfo,
    00125     ConsolepGetCursorInfo,
    00126     ConsolepGetMouseInfo,
    00127     ConsolepGetFontInfo,
    00128     ConsolepGetFontSize,
    00129     ConsolepGetCurrentFont,
    00130     ConsolepSetMode,
    00131     ConsolepSetActiveScreenBuffer,
    00132     ConsolepFlushInputBuffer,
    00133     ConsolepGetLargestWindowSize,
    00134     ConsolepSetScreenBufferSize,
    00135     ConsolepSetCursorPosition,
    00136     ConsolepSetCursorInfo,
    00137     ConsolepSetWindowInfo,
    00138     ConsolepScrollScreenBuffer,
    00139     ConsolepSetTextAttribute,
    00140     ConsolepSetFont,
    00141     ConsolepSetIcon,
    00142     ConsolepReadConsole,
    00143     ConsolepWriteConsole,
    00144     ConsolepDupHandle,
    00145     ConsolepGetHandleInformation,
    00146     ConsolepSetHandleInformation,
    00147     ConsolepCloseHandle,
    00148     ConsolepVerifyIoHandle,
    00149     ConsolepAlloc,
    00150     ConsolepFree,
    00151     ConsolepGetTitle,
    00152     ConsolepSetTitle,
    00153     ConsolepCreateScreenBuffer,
    00154     ConsolepInvalidateBitmapRect,
    00155     ConsolepVDMOperation,
    00156     ConsolepSetCursor,
    00157     ConsolepShowCursor,
    00158     ConsolepMenuControl,
    00159     ConsolepSetPalette,
    00160     ConsolepSetDisplayMode,
    00161     ConsolepRegisterVDM,
    00162     ConsolepGetHardwareState,
    00163     ConsolepSetHardwareState,
    00164     ConsolepGetDisplayMode,
    00165     ConsolepAddAlias,
    00166     ConsolepGetAlias,
    00167     ConsolepGetAliasesLength,
    00168     ConsolepGetAliasExesLength,
    00169     ConsolepGetAliases,
    00170     ConsolepGetAliasExes,
    00171     ConsolepExpungeCommandHistory,
    00172     ConsolepSetNumberOfCommands,
    00173     ConsolepGetCommandHistoryLength,
    00174     ConsolepGetCommandHistory,
    00175     ConsolepSetCommandHistoryMode,
    00176     ConsolepGetCP,
    00177     ConsolepSetCP,
    00178     ConsolepSetKeyShortcuts,
    00179     ConsolepSetMenuClose,
    00180     ConsolepNotifyLastClose,
    00181     ConsolepGenerateCtrlEvent,
    00182     ConsolepGetKeyboardLayoutName,
    00183     ConsolepGetConsoleWindow,
    00184 #if defined(FE_SB) // for Kernel32 Single Binary
    00185     ConsolepCharType,
    00186     ConsolepSetLocalEUDC,
    00187     ConsolepSetCursorMode,
    00188     ConsolepGetCursorMode,
    00189     ConsolepRegisterOS2,
    00190     ConsolepSetOS2OemFormat,
    00191 #if defined(FE_IME)
    00192     ConsolepGetNlsMode,
    00193     ConsolepSetNlsMode,
    00194     ConsolepRegisterConsoleIME,
    00195     ConsolepUnregisterConsoleIME,
    00196 #endif // FE_IME
    00197 #endif // FE_SB
    00198     ConsolepGetLangId,
    00199     ConsolepMaxApiNumber
    00200 } CONSOLE_API_NUMBER, *PCONSOLE_API_NUMBER;
    00201
    00202 typedef struct _CONSOLE_CREATESCREENBUFFER_MSG {
    00203     IN HANDLE ConsoleHandle;
    00204     IN ULONG DesiredAccess;
    00205     IN BOOL InheritHandle;
    00206     IN ULONG ShareMode;
    00207     IN DWORD Flags;
    00208     IN OUT CONSOLE_GRAPHICS_BUFFER_INFO GraphicsBufferInfo;
    00209     OUT HANDLE hMutex;
    00210     OUT PVOID lpBitmap;
    00211     OUT HANDLE Handle;
    00212 } CONSOLE_CREATESCREENBUFFER_MSG, *PCONSOLE_CREATESCREENBUFFER_MSG;
    00213
    00214 typedef struct _CONSOLE_OPENCONSOLE_MSG {
    00215     IN HANDLE ConsoleHandle;
    00216     IN ULONG HandleType;
    00217     IN ULONG DesiredAccess;
    00218     IN BOOL InheritHandle;
    00219     IN ULONG ShareMode;
    00220     OUT HANDLE Handle;
    00221 } CONSOLE_OPENCONSOLE_MSG, *PCONSOLE_OPENCONSOLE_MSG;
    00222
    00223 #define INPUT_RECORD_BUFFER_SIZE 5
    00224
    00225 typedef struct _CONSOLE_GETCONSOLEINPUT_MSG {
    00226     IN HANDLE ConsoleHandle;
    00227     IN HANDLE InputHandle;
    00228     OUT INPUT_RECORD Record[INPUT_RECORD_BUFFER_SIZE];
    00229     OUT PINPUT_RECORD  BufPtr;
    00230     IN OUT ULONG  NumRecords;   // this value is valid even for error cases
    00231     IN USHORT Flags;
    00232     BOOLEAN Unicode;
    00233 } CONSOLE_GETCONSOLEINPUT_MSG, *PCONSOLE_GETCONSOLEINPUT_MSG;
    00234
    00235 typedef struct _CONSOLE_WRITECONSOLEINPUT_MSG {
    00236     IN HANDLE ConsoleHandle;
    00237     IN HANDLE InputHandle;
    00238     IN INPUT_RECORD Record[INPUT_RECORD_BUFFER_SIZE];
    00239     IN PINPUT_RECORD  BufPtr;
    00240     IN OUT ULONG  NumRecords;  // this value is valid even for error cases
    00241     BOOLEAN Unicode;
    00242     BOOLEAN Append;
    00243 } CONSOLE_WRITECONSOLEINPUT_MSG, *PCONSOLE_WRITECONSOLEINPUT_MSG;
    00244
    00245 typedef struct _CONSOLE_READCONSOLEOUTPUT_MSG {
    00246     IN HANDLE ConsoleHandle;
    00247     IN HANDLE OutputHandle;
    00248     OUT CHAR_INFO Char;
    00249     OUT PCHAR_INFO BufPtr;
    00250     IN OUT SMALL_RECT CharRegion; // this value is valid even for error cases
    00251     BOOLEAN Unicode;
    00252 } CONSOLE_READCONSOLEOUTPUT_MSG, *PCONSOLE_READCONSOLEOUTPUT_MSG;
    00253
    00254 typedef struct _CONSOLE_WRITECONSOLEOUTPUT_MSG {
    00255     IN HANDLE ConsoleHandle;
    00256     IN HANDLE OutputHandle;
    00257     IN CHAR_INFO Char;
    00258     IN PCHAR_INFO BufPtr;
    00259     IN OUT SMALL_RECT CharRegion; // this value is valid even for error cases
    00260     BOOLEAN Unicode;
    00261     BOOLEAN ReadVM;
    00262 } CONSOLE_WRITECONSOLEOUTPUT_MSG, *PCONSOLE_WRITECONSOLEOUTPUT_MSG;
    00263
    00264 #define BUFFER_SIZE 80
    00265
    00266 /*
    00267  * WriteOutputString and ReadInputString types
    00268  */
    00269 #define CONSOLE_ASCII             0x1
    00270 #define CONSOLE_REAL_UNICODE      0x2
    00271 #define CONSOLE_ATTRIBUTE         0x3
    00272 #define CONSOLE_FALSE_UNICODE     0x4
    00273
    00274 typedef struct _CONSOLE_READCONSOLEOUTPUTSTRING_MSG {
    00275     IN HANDLE ConsoleHandle;
    00276     IN HANDLE OutputHandle;
    00277     IN COORD ReadCoord;
    00278     IN DWORD  StringType;
    00279     OUT WCHAR String[BUFFER_SIZE/2];
    00280     OUT PWCHAR BufPtr;
    00281     IN OUT ULONG NumRecords; // this value is valid even for error cases
    00282 } CONSOLE_READCONSOLEOUTPUTSTRING_MSG, *PCONSOLE_READCONSOLEOUTPUTSTRING_MSG;
    00283
    00284 typedef struct _CONSOLE_WRITECONSOLEOUTPUTSTRING_MSG {
    00285     IN HANDLE ConsoleHandle;
    00286     IN HANDLE OutputHandle;
    00287     IN COORD WriteCoord;
    00288     IN DWORD  StringType;
    00289     OUT WCHAR String[BUFFER_SIZE/2];
    00290     IN PWCHAR BufPtr;
    00291     IN OUT ULONG NumRecords; // this value is valid even for error cases
    00292 } CONSOLE_WRITECONSOLEOUTPUTSTRING_MSG, *PCONSOLE_WRITECONSOLEOUTPUTSTRING_MSG;
    00293
    00294 typedef struct _CONSOLE_FILLCONSOLEOUTPUT_MSG {
    00295     IN HANDLE ConsoleHandle;
    00296     IN HANDLE OutputHandle;
    00297     IN COORD WriteCoord;
    00298     IN DWORD  ElementType;
    00299     IN WORD Element;
    00300     IN OUT ULONG Length; // this value is valid even for error cases
    00301 } CONSOLE_FILLCONSOLEOUTPUT_MSG, *PCONSOLE_FILLCONSOLEOUTPUT_MSG;
    00302
    00303 typedef struct _CONSOLE_MODE_MSG {
    00304     IN HANDLE ConsoleHandle;
    00305     IN HANDLE Handle;
    00306     IN DWORD Mode;
    00307 } CONSOLE_MODE_MSG, *PCONSOLE_MODE_MSG;
    00308
    00309 typedef struct _CONSOLE_GETNUMBEROFFONTS_MSG {
    00310     IN HANDLE ConsoleHandle;
    00311     OUT ULONG NumberOfFonts;
    00312 } CONSOLE_GETNUMBEROFFONTS_MSG, *PCONSOLE_GETNUMBEROFFONTS_MSG;
    00313
    00314 typedef struct _CONSOLE_GETNUMBEROFINPUTEVENTS_MSG {
    00315     IN HANDLE ConsoleHandle;
    00316     IN HANDLE InputHandle;
    00317     OUT DWORD ReadyEvents;
    00318 } CONSOLE_GETNUMBEROFINPUTEVENTS_MSG, *PCONSOLE_GETNUMBEROFINPUTEVENTS_MSG;
    00319
    00320 typedef struct _CONSOLE_GETLARGESTWINDOWSIZE_MSG {
    00321     IN HANDLE ConsoleHandle;
    00322     IN HANDLE OutputHandle;
    00323     OUT COORD  Size;
    00324 } CONSOLE_GETLARGESTWINDOWSIZE_MSG, *PCONSOLE_GETLARGESTWINDOWSIZE_MSG;
    00325
    00326 typedef struct _CONSOLE_GETSCREENBUFFERINFO_MSG {
    00327     IN HANDLE ConsoleHandle;
    00328     IN HANDLE OutputHandle;
    00329     OUT COORD Size;
    00330     OUT COORD CursorPosition;
    00331     OUT COORD ScrollPosition;
    00332     OUT WORD  Attributes;
    00333     OUT COORD CurrentWindowSize;
    00334     OUT COORD MaximumWindowSize;
    00335 } CONSOLE_GETSCREENBUFFERINFO_MSG, *PCONSOLE_GETSCREENBUFFERINFO_MSG;
    00336
    00337 typedef struct _CONSOLE_GETCURSORINFO_MSG {
    00338     IN HANDLE ConsoleHandle;
    00339     IN HANDLE OutputHandle;
    00340     OUT DWORD CursorSize;
    00341     OUT BOOLEAN Visible;
    00342 } CONSOLE_GETCURSORINFO_MSG, *PCONSOLE_GETCURSORINFO_MSG;
    00343
    00344 typedef struct _CONSOLE_GETMOUSEINFO_MSG {
    00345     IN HANDLE ConsoleHandle;
    00346     OUT ULONG NumButtons;
    00347 } CONSOLE_GETMOUSEINFO_MSG, *PCONSOLE_GETMOUSEINFO_MSG;
    00348
    00349 typedef struct _CONSOLE_GETFONTINFO_MSG {
    00350     IN HANDLE ConsoleHandle;
    00351     IN HANDLE OutputHandle;
    00352     IN BOOLEAN MaximumWindow;
    00353     OUT PCHAR BufPtr;
    00354     IN OUT ULONG NumFonts;  // this value is valid even for error cases
    00355 } CONSOLE_GETFONTINFO_MSG, *PCONSOLE_GETFONTINFO_MSG;
    00356
    00357 typedef struct _CONSOLE_GETFONTSIZE_MSG {
    00358     IN HANDLE ConsoleHandle;
    00359     IN HANDLE OutputHandle;
    00360     IN DWORD  FontIndex;
    00361     OUT COORD FontSize;
    00362 } CONSOLE_GETFONTSIZE_MSG, *PCONSOLE_GETFONTSIZE_MSG;
    00363
    00364 typedef struct _CONSOLE_GETCURRENTFONT_MSG {
    00365     IN HANDLE ConsoleHandle;
    00366     IN HANDLE OutputHandle;
    00367     IN BOOLEAN MaximumWindow;
    00368     OUT DWORD FontIndex;
    00369     OUT COORD FontSize;
    00370 } CONSOLE_GETCURRENTFONT_MSG, *PCONSOLE_GETCURRENTFONT_MSG;
    00371
    00372 typedef struct _CONSOLE_SETACTIVESCREENBUFFER_MSG {
    00373     IN HANDLE ConsoleHandle;
    00374     IN HANDLE OutputHandle;
    00375 } CONSOLE_SETACTIVESCREENBUFFER_MSG, *PCONSOLE_SETACTIVESCREENBUFFER_MSG;
    00376
    00377 typedef struct _CONSOLE_FLUSHINPUTBUFFER_MSG {
    00378     IN HANDLE ConsoleHandle;
    00379     IN HANDLE InputHandle;
    00380 } CONSOLE_FLUSHINPUTBUFFER_MSG, *PCONSOLE_FLUSHINPUTBUFFER_MSG;
    00381
    00382 typedef struct _CONSOLE_SETSCREENBUFFERSIZE_MSG {
    00383     IN HANDLE ConsoleHandle;
    00384     IN HANDLE OutputHandle;
    00385     IN COORD  Size;
    00386 } CONSOLE_SETSCREENBUFFERSIZE_MSG, *PCONSOLE_SETSCREENBUFFERSIZE_MSG;
    00387
    00388 typedef struct _CONSOLE_SETCURSORPOSITION_MSG {
    00389     IN HANDLE ConsoleHandle;
    00390     IN HANDLE OutputHandle;
    00391     IN COORD  CursorPosition;
    00392 } CONSOLE_SETCURSORPOSITION_MSG, *PCONSOLE_SETCURSORPOSITION_MSG;
    00393
    00394 typedef struct _CONSOLE_SETCURSORINFO_MSG {
    00395     IN HANDLE ConsoleHandle;
    00396     IN HANDLE OutputHandle;
    00397     IN DWORD  CursorSize;
    00398     IN BOOLEAN Visible;
    00399 } CONSOLE_SETCURSORINFO_MSG, *PCONSOLE_SETCURSORINFO_MSG;
    00400
    00401 typedef struct _CONSOLE_SETWINDOWINFO_MSG {
    00402     IN HANDLE ConsoleHandle;
    00403     IN HANDLE OutputHandle;
    00404     IN BOOL Absolute;
    00405     IN SMALL_RECT Window;
    00406 } CONSOLE_SETWINDOWINFO_MSG, *PCONSOLE_SETWINDOWINFO_MSG;
    00407
    00408 typedef struct _CONSOLE_SCROLLSCREENBUFFER_MSG {
    00409     IN HANDLE ConsoleHandle;
    00410     IN HANDLE OutputHandle;
    00411     IN SMALL_RECT ScrollRectangle;
    00412     IN SMALL_RECT ClipRectangle;
    00413     IN BOOL Clip;
    00414     IN COORD  DestinationOrigin;
    00415     IN CHAR_INFO Fill;
    00416     IN BOOLEAN Unicode;
    00417 } CONSOLE_SCROLLSCREENBUFFER_MSG, *PCONSOLE_SCROLLSCREENBUFFER_MSG;
    00418
    00419 typedef struct _CONSOLE_SETTEXTATTRIBUTE_MSG {
    00420     IN HANDLE ConsoleHandle;
    00421     IN HANDLE OutputHandle;
    00422     IN WORD   Attributes;
    00423 } CONSOLE_SETTEXTATTRIBUTE_MSG, *PCONSOLE_SETTEXTATTRIBUTE_MSG;
    00424
    00425 typedef struct _CONSOLE_SETFONT_MSG {
    00426     IN HANDLE ConsoleHandle;
    00427     IN HANDLE OutputHandle;
    00428     IN DWORD  FontIndex;
    00429 } CONSOLE_SETFONT_MSG, *PCONSOLE_SETFONT_MSG;
    00430
    00431 typedef struct _CONSOLE_SETICON_MSG {
    00432     IN HANDLE ConsoleHandle;
    00433     IN HICON hIcon;
    00434 } CONSOLE_SETICON_MSG, *PCONSOLE_SETICON_MSG;
    00435
    00436 typedef struct _CONSOLE_READCONSOLE_MSG {
    00437     IN HANDLE ConsoleHandle;
    00438     IN HANDLE InputHandle;
    00439     IN USHORT ExeNameLength;
    00440     IN OUT WCHAR   Buffer[BUFFER_SIZE/2];
    00441     OUT PVOID  BufPtr;
    00442     IN OUT ULONG  NumBytes;    // this value is valid even for error cases
    00443     IN ULONG CaptureBufferSize;
    00444     IN ULONG InitialNumBytes;
    00445     IN ULONG CtrlWakeupMask;
    00446     OUT ULONG ControlKeyState;
    00447     IN BOOLEAN Unicode;
    00448 } CONSOLE_READCONSOLE_MSG, *PCONSOLE_READCONSOLE_MSG;
    00449
    00450 typedef struct _CONSOLE_WRITECONSOLE_MSG {
    00451     IN HANDLE ConsoleHandle;
    00452     IN HANDLE OutputHandle;
    00453     IN WCHAR   Buffer[BUFFER_SIZE/2];
    00454     IN PVOID  BufPtr;
    00455     IN OUT ULONG  NumBytes;    // this value is valid even for error cases
    00456     PWCHAR TransBuffer;         // used by server side only
    00457     IN BOOLEAN BufferInMessage;
    00458     IN BOOLEAN Unicode;
    00459     BOOLEAN StackBuffer;        // used by server side only
    00460     DWORD WriteFlags;           // used by server side only
    00461 } CONSOLE_WRITECONSOLE_MSG, *PCONSOLE_WRITECONSOLE_MSG;
    00462
    00463 typedef struct _CONSOLE_CLOSEHANDLE_MSG {
    00464     IN HANDLE ConsoleHandle;
    00465     IN HANDLE Handle;
    00466 } CONSOLE_CLOSEHANDLE_MSG, *PCONSOLE_CLOSEHANDLE_MSG;
    00467
    00468 typedef struct _CONSOLE_DUPHANDLE_MSG {
    00469     IN HANDLE ConsoleHandle;
    00470     IN HANDLE SourceHandle;
    00471     IN DWORD  DesiredAccess;
    00472     IN BOOLEAN InheritHandle;
    00473     IN DWORD Options;
    00474     OUT HANDLE TargetHandle;
    00475 } CONSOLE_DUPHANDLE_MSG, *PCONSOLE_DUPHANDLE_MSG;
    00476
    00477 typedef struct _CONSOLE_GETHANDLEINFORMATION_MSG {
    00478     IN HANDLE ConsoleHandle;
    00479     IN HANDLE Handle;
    00480     OUT DWORD Flags;
    00481 } CONSOLE_GETHANDLEINFORMATION_MSG, *PCONSOLE_GETHANDLEINFORMATION_MSG;
    00482
    00483 typedef struct _CONSOLE_SETHANDLEINFORMATION_MSG {
    00484     IN HANDLE ConsoleHandle;
    00485     IN HANDLE Handle;
    00486     IN DWORD Mask;
    00487     IN DWORD Flags;
    00488 } CONSOLE_SETHANDLEINFORMATION_MSG, *PCONSOLE_SETHANDLEINFORMATION_MSG;
    00489
    00490 typedef struct _CONSOLE_ADDALIAS_MSG {
    00491     HANDLE ConsoleHandle;
    00492     USHORT SourceLength;
    00493     USHORT TargetLength;
    00494     USHORT ExeLength;
    00495     PVOID Source;
    00496     PVOID Target;
    00497     PVOID Exe;
    00498     BOOLEAN Unicode;
    00499     BOOLEAN UnicodeExe;
    00500 } CONSOLE_ADDALIAS_MSG, *PCONSOLE_ADDALIAS_MSG;
    00501
    00502 typedef struct _CONSOLE_GETALIAS_MSG {
    00503     HANDLE ConsoleHandle;
    00504     USHORT SourceLength;
    00505     USHORT TargetLength;
    00506     USHORT ExeLength;
    00507     PVOID Source;
    00508     PVOID Target;
    00509     PVOID Exe;
    00510     BOOLEAN Unicode;
    00511     BOOLEAN UnicodeExe;
    00512 } CONSOLE_GETALIAS_MSG, *PCONSOLE_GETALIAS_MSG;
    00513
    00514 typedef struct _CONSOLE_GETALIASESLENGTH_MSG {
    00515     HANDLE ConsoleHandle;
    00516     USHORT ExeLength;
    00517     PVOID Exe;
    00518     DWORD AliasesLength;
    00519     BOOLEAN Unicode;
    00520     BOOLEAN UnicodeExe;
    00521 } CONSOLE_GETALIASESLENGTH_MSG, *PCONSOLE_GETALIASESLENGTH_MSG;
    00522
    00523 typedef struct _CONSOLE_GETALIASEXESLENGTH_MSG {
    00524     HANDLE ConsoleHandle;
    00525     DWORD AliasExesLength;
    00526     BOOLEAN Unicode;
    00527 } CONSOLE_GETALIASEXESLENGTH_MSG, *PCONSOLE_GETALIASEXESLENGTH_MSG;
    00528
    00529 typedef struct _CONSOLE_GETALIASES_MSG {
    00530     HANDLE ConsoleHandle;
    00531     USHORT ExeLength;
    00532     PVOID Exe;
    00533     BOOLEAN Unicode;
    00534     BOOLEAN UnicodeExe;
    00535     DWORD AliasesBufferLength;
    00536     PVOID AliasesBuffer;
    00537 } CONSOLE_GETALIASES_MSG, *PCONSOLE_GETALIASES_MSG;
    00538
    00539 typedef struct _CONSOLE_GETALIASEXES_MSG {
    00540     HANDLE ConsoleHandle;
    00541     DWORD AliasExesBufferLength;
    00542     PVOID AliasExesBuffer;
    00543     BOOLEAN Unicode;
    00544 } CONSOLE_GETALIASEXES_MSG, *PCONSOLE_GETALIASEXES_MSG;
    00545
    00546 typedef struct _CONSOLE_EXPUNGECOMMANDHISTORY_MSG {
    00547     HANDLE ConsoleHandle;
    00548     USHORT ExeLength;
    00549     PVOID Exe;
    00550     BOOLEAN Unicode;
    00551     BOOLEAN UnicodeExe;
    00552 } CONSOLE_EXPUNGECOMMANDHISTORY_MSG, *PCONSOLE_EXPUNGECOMMANDHISTORY_MSG;
    00553
    00554 typedef struct _CONSOLE_SETNUMBEROFCOMMANDS_MSG {
    00555     HANDLE ConsoleHandle;
    00556     DWORD NumCommands;
    00557     USHORT ExeLength;
    00558     PVOID Exe;
    00559     BOOLEAN Unicode;
    00560     BOOLEAN UnicodeExe;
    00561 } CONSOLE_SETNUMBEROFCOMMANDS_MSG, *PCONSOLE_SETNUMBEROFCOMMANDS_MSG;
    00562
    00563 typedef struct _CONSOLE_GETCOMMANDHISTORYLENGTH_MSG {
    00564     HANDLE ConsoleHandle;
    00565     DWORD CommandHistoryLength;
    00566     USHORT ExeLength;
    00567     PVOID Exe;
    00568     BOOLEAN Unicode;
    00569     BOOLEAN UnicodeExe;
    00570 } CONSOLE_GETCOMMANDHISTORYLENGTH_MSG, *PCONSOLE_GETCOMMANDHISTORYLENGTH_MSG;
    00571
    00572 typedef struct _CONSOLE_GETCOMMANDHISTORY_MSG {
    00573     HANDLE ConsoleHandle;
    00574     DWORD CommandBufferLength;
    00575     PVOID CommandBuffer;
    00576     USHORT ExeLength;
    00577     PVOID Exe;
    00578     BOOLEAN Unicode;
    00579     BOOLEAN UnicodeExe;
    00580 } CONSOLE_GETCOMMANDHISTORY_MSG, *PCONSOLE_GETCOMMANDHISTORY_MSG;
    00581
    00582 typedef struct _CONSOLE_SETCOMMANDHISTORYMODE_MSG {
    00583     HANDLE ConsoleHandle;
    00584     DWORD Flags;
    00585 } CONSOLE_SETCOMMANDHISTORYMODE_MSG, *PCONSOLE_SETCOMMANDHISTORYMODE_MSG;
    00586
    00587 typedef struct _CONSOLE_VERIFYIOHANDLE_MSG {
    00588     BOOL Valid;
    00589     HANDLE ConsoleHandle;
    00590     HANDLE Handle;
    00591 } CONSOLE_VERIFYIOHANDLE_MSG, *PCONSOLE_VERIFYIOHANDLE_MSG;
    00592
    00593 typedef struct _CONSOLE_ALLOC_MSG {
    00594     IN PCONSOLE_INFO ConsoleInfo;
    00595     IN DWORD TitleLength;
    00596     IN LPWSTR Title;
    00597     IN DWORD DesktopLength;
    00598     IN LPWSTR Desktop;
    00599     IN DWORD AppNameLength;
    00600     IN LPWSTR AppName;
    00601     IN DWORD CurDirLength;
    00602     IN LPWSTR CurDir;
    00603     IN LPTHREAD_START_ROUTINE CtrlRoutine;
    00604     IN LPTHREAD_START_ROUTINE PropRoutine;
    00605 } CONSOLE_ALLOC_MSG, *PCONSOLE_ALLOC_MSG;
    00606
    00607 typedef struct _CONSOLE_FREE_MSG {
    00608     IN HANDLE ConsoleHandle;
    00609 } CONSOLE_FREE_MSG, *PCONSOLE_FREE_MSG;
    00610
    00611 typedef struct _CONSOLE_GETTITLE_MSG {
    00612     IN HANDLE ConsoleHandle;
    00613     IN OUT DWORD TitleLength;
    00614     OUT PVOID Title;
    00615     BOOLEAN Unicode;
    00616 } CONSOLE_GETTITLE_MSG, *PCONSOLE_GETTITLE_MSG;
    00617
    00618 typedef struct _CONSOLE_SETTITLE_MSG {
    00619     IN HANDLE ConsoleHandle;
    00620     IN DWORD TitleLength;
    00621     IN PVOID Title;
    00622     BOOLEAN Unicode;
    00623 } CONSOLE_SETTITLE_MSG, *PCONSOLE_SETTITLE_MSG;
    00624
    00625 typedef struct _CONSOLE_INVALIDATERECT_MSG {
    00626     IN HANDLE ConsoleHandle;
    00627     IN HANDLE OutputHandle;
    00628     SMALL_RECT Rect;
    00629 } CONSOLE_INVALIDATERECT_MSG, *PCONSOLE_INVALIDATERECT_MSG;
    00630
    00631 typedef struct _CONSOLE_VDM_MSG {
    00632     IN HANDLE ConsoleHandle;
    00633     IN DWORD  iFunction;
    00634     OUT BOOL Bool;
    00635     IN OUT POINT Point;
    00636     OUT RECT Rect;
    00637 #if defined(FE_SB) && defined(i386) // for Kernel32 Single Binary
    00638     IN OUT VDM_IOCTL_PARAM VDMIoctlParam;
    00639 #endif // FE_SB
    00640 } CONSOLE_VDM_MSG, *PCONSOLE_VDM_MSG;
    00641
    00642 typedef struct _CONSOLE_SETCURSOR_MSG {
    00643     IN HANDLE ConsoleHandle;
    00644     IN HANDLE OutputHandle;
    00645     IN HCURSOR CursorHandle;
    00646 } CONSOLE_SETCURSOR_MSG, *PCONSOLE_SETCURSOR_MSG;
    00647
    00648 typedef struct _CONSOLE_SHOWCURSOR_MSG {
    00649     IN HANDLE ConsoleHandle;
    00650     IN HANDLE OutputHandle;
    00651     IN BOOL bShow;
    00652     OUT int DisplayCount;
    00653 } CONSOLE_SHOWCURSOR_MSG, *PCONSOLE_SHOWCURSOR_MSG;
    00654
    00655 typedef struct _CONSOLE_MENUCONTROL_MSG {
    00656     IN HANDLE ConsoleHandle;
    00657     IN HANDLE OutputHandle;
    00658     IN UINT CommandIdLow;
    00659     IN UINT CommandIdHigh;
    00660     OUT HMENU hMenu;
    00661 } CONSOLE_MENUCONTROL_MSG, *PCONSOLE_MENUCONTROL_MSG;
    00662
    00663 typedef struct _CONSOLE_SETPALETTE_MSG {
    00664     IN HANDLE ConsoleHandle;
    00665     IN HANDLE OutputHandle;
    00666     IN HPALETTE hPalette;
    00667     IN UINT dwUsage;
    00668 } CONSOLE_SETPALETTE_MSG, *PCONSOLE_SETPALETTE_MSG;
    00669
    00670 typedef struct _CONSOLE_SETDISPLAYMODE_MSG {
    00671     IN HANDLE ConsoleHandle;
    00672     IN HANDLE OutputHandle;
    00673     IN DWORD dwFlags;
    00674     OUT COORD ScreenBufferDimensions;
    00675     IN HANDLE hEvent;
    00676 } CONSOLE_SETDISPLAYMODE_MSG, *PCONSOLE_SETDISPLAYMODE_MSG;
    00677
    00678 typedef struct _CONSOLE_REGISTERVDM_MSG {
    00679     IN HANDLE ConsoleHandle;
    00680     IN DWORD RegisterFlags;
    00681     IN HANDLE StartEvent;
    00682     IN HANDLE EndEvent;
    00683     IN LPWSTR StateSectionName;
    00684     IN DWORD StateSectionNameLength;
    00685     OUT ULONG StateLength;
    00686     OUT PVOID StateBuffer;
    00687     IN LPWSTR VDMBufferSectionName;
    00688     IN DWORD VDMBufferSectionNameLength;
    00689     IN COORD VDMBufferSize;
    00690     OUT PVOID VDMBuffer;
    00691 } CONSOLE_REGISTERVDM_MSG, *PCONSOLE_REGISTERVDM_MSG;
    00692
    00693 typedef struct _CONSOLE_GETHARDWARESTATE_MSG {
    00694     IN HANDLE ConsoleHandle;
    00695     IN HANDLE OutputHandle;
    00696     OUT COORD Resolution;
    00697     OUT COORD FontSize;
    00698 } CONSOLE_GETHARDWARESTATE_MSG, *PCONSOLE_GETHARDWARESTATE_MSG;
    00699
    00700 typedef struct _CONSOLE_SETHARDWARESTATE_MSG {
    00701     IN HANDLE ConsoleHandle;
    00702     IN HANDLE OutputHandle;
    00703     IN COORD Resolution;
    00704     IN COORD FontSize;
    00705 } CONSOLE_SETHARDWARESTATE_MSG, *PCONSOLE_SETHARDWARESTATE_MSG;
    00706
    00707 typedef struct _CONSOLE_GETDISPLAYMODE_MSG {
    00708     IN HANDLE ConsoleHandle;
    00709     OUT ULONG ModeFlags;
    00710 } CONSOLE_GETDISPLAYMODE_MSG, *PCONSOLE_GETDISPLAYMODE_MSG;
    00711
    00712 typedef struct _CONSOLE_GETCP_MSG {
    00713     IN HANDLE ConsoleHandle;
    00714     UINT wCodePageID;
    00715     BOOL Output;
    00716 } CONSOLE_GETCP_MSG, *PCONSOLE_GETCP_MSG;
    00717
    00718 typedef struct _CONSOLE_SETCP_MSG {
    00719     IN HANDLE ConsoleHandle;
    00720     UINT wCodePageID;
    00721     BOOL Output;
    00722 #if defined(FE_SB) // for Kernel32 Single Binary
    00723     HANDLE hEvent;
    00724 #endif // FE_SB
    00725 } CONSOLE_SETCP_MSG, *PCONSOLE_SETCP_MSG;
    00726
    00727 typedef struct _CONSOLE_GETKEYBOARDLAYOUTNAME_MSG {
    00728     IN HANDLE ConsoleHandle;
    00729     union {
    00730         WCHAR awchLayout[9];
    00731         char achLayout[9];
    00732     };
    00733     BOOL bAnsi;
    00734 } CONSOLE_GETKEYBOARDLAYOUTNAME_MSG, *PCONSOLE_GETKEYBOARDLAYOUTNAME_MSG;
    00735
    00736 typedef struct _CONSOLE_SETKEYSHORTCUTS_MSG {
    00737     IN HANDLE ConsoleHandle;
    00738     BOOL Set;
    00739     BYTE ReserveKeys;
    00740     DWORD NumAppKeys;
    00741     LPAPPKEY AppKeys;
    00742 } CONSOLE_SETKEYSHORTCUTS_MSG, *PCONSOLE_SETKEYSHORTCUTS_MSG;
    00743
    00744 typedef struct _CONSOLE_SETMENUCLOSE_MSG {
    00745     IN HANDLE ConsoleHandle;
    00746     BOOL Enable;
    00747 } CONSOLE_SETMENUCLOSE_MSG, *PCONSOLE_SETMENUCLOSE_MSG;
    00748
    00749 typedef struct _CONSOLE_NOTIFYLASTCLOSE_MSG {
    00750     IN HANDLE ConsoleHandle;
    00751 } CONSOLE_NOTIFYLASTCLOSE_MSG, *PCONSOLE_NOTIFYLASTCLOSE_MSG;
    00752
    00753 typedef struct _CONSOLE_CTRLEVENT_MSG {
    00754     IN HANDLE ConsoleHandle;
    00755     IN DWORD CtrlEvent;
    00756     IN DWORD ProcessGroupId;
    00757 } CONSOLE_CTRLEVENT_MSG, *PCONSOLE_CTRLEVENT_MSG;
    00758
    00759 #if defined(FE_SB) // for Kernel32 Single Binary
    00760 typedef struct _CONSOLE_CHAR_TYPE_MSG {
    00761     IN HANDLE ConsoleHandle;
    00762     IN HANDLE Handle;
    00763     IN COORD coordCheck;
    00764     OUT DWORD dwType;
    00765 } CONSOLE_CHAR_TYPE_MSG, *PCONSOLE_CHAR_TYPE_MSG;
    00766
    00767 typedef struct _CONSOLE_LOCAL_EUDC_MSG {
    00768     IN HANDLE ConsoleHandle;
    00769     IN HANDLE Handle;
    00770     IN WORD CodePoint;
    00771     IN COORD FontSize;
    00772     IN PCHAR FontFace;
    00773 } CONSOLE_LOCAL_EUDC_MSG, *PCONSOLE_LOCAL_EUDC_MSG;
    00774
    00775 typedef struct _CONSOLE_CURSOR_MODE_MSG {
    00776     IN HANDLE ConsoleHandle;
    00777     IN HANDLE Handle;
    00778     IN BOOL Blink;
    00779     IN BOOL DBEnable;
    00780 } CONSOLE_CURSOR_MODE_MSG, *PCONSOLE_CURSOR_MODE_MSG;
    00781
    00782 typedef struct _CONSOLE_REGISTEROS2_MSG {
    00783     IN HANDLE ConsoleHandle;
    00784     IN BOOL fOs2Register;
    00785 } CONSOLE_REGISTEROS2_MSG, *PCONSOLE_REGISTEROS2_MSG;
    00786
    00787 typedef struct _CONSOLE_SETOS2OEMFORMAT_MSG {
    00788     IN HANDLE ConsoleHandle;
    00789     IN BOOL fOs2OemFormat;
    00790 } CONSOLE_SETOS2OEMFORMAT_MSG, *PCONSOLE_SETOS2OEMFORMAT_MSG;
    00791
    00792 #if defined(FE_IME)
    00793 typedef struct _CONSOLE_NLS_MODE_MSG {
    00794     IN HANDLE ConsoleHandle;
    00795     IN HANDLE Handle;
    00796     IN OUT BOOL Ready;
    00797     IN DWORD NlsMode;
    00798     IN HANDLE hEvent;
    00799 } CONSOLE_NLS_MODE_MSG, *PCONSOLE_NLS_MODE_MSG;
    00800
    00801 typedef struct _CONSOLE_REGISTER_CONSOLEIME_MSG {
    00802     IN HANDLE ConsoleHandle;
    00803     IN HWND hWndConsoleIME;
    00804     IN DWORD dwConsoleIMEThreadId;
    00805     IN DWORD DesktopLength;
    00806     IN LPWSTR Desktop;
    00807     OUT DWORD dwConsoleThreadId;
    00808 } CONSOLE_REGISTER_CONSOLEIME_MSG, *PCONSOLE_REGISTER_CONSOLEIME_MSG;
    00809
    00810 typedef struct _CONSOLE_UNREGISTER_CONSOLEIME_MSG {
    00811     IN HANDLE ConsoleHandle;
    00812     IN DWORD dwConsoleIMEThreadId;
    00813 } CONSOLE_UNREGISTER_CONSOLEIME_MSG, *PCONSOLE_UNREGISTER_CONSOLEIME_MSG;
    00814 #endif // FE_IME
    00815
    00816 #endif // FE_SB
    00817
    00818 typedef struct _CONSOLE_GETCONSOLEWINDOW_MSG {
    00819     IN HANDLE ConsoleHandle;
    00820     HANDLE hwnd;
    00821 } CONSOLE_GETCONSOLEWINDOW_MSG, *PCONSOLE_GETCONSOLEWINDOW_MSG;
    00822
    00823 typedef struct _CONSOLE_LANGID_MSG {
    00824     IN HANDLE ConsoleHandle;
    00825     OUT LANGID LangId;
    00826 } CONSOLE_LANGID_MSG, *PCONSOLE_LANGID_MSG;
    00827
    00828 typedef struct _CONSOLE_API_MSG {
    00829     PORT_MESSAGE h;
    00830     PCSR_CAPTURE_HEADER CaptureBuffer;
    00831     CSR_API_NUMBER ApiNumber;
    00832     ULONG ReturnValue;
    00833     ULONG Reserved;
    00834     union {
    00835         CONSOLE_OPENCONSOLE_MSG OpenConsole;
    00836         CONSOLE_GETCONSOLEINPUT_MSG GetConsoleInput;
    00837         CONSOLE_WRITECONSOLEINPUT_MSG WriteConsoleInput;
    00838         CONSOLE_READCONSOLEOUTPUT_MSG ReadConsoleOutput;
    00839         CONSOLE_WRITECONSOLEOUTPUT_MSG WriteConsoleOutput;
    00840         CONSOLE_READCONSOLEOUTPUTSTRING_MSG ReadConsoleOutputString;
    00841         CONSOLE_WRITECONSOLEOUTPUTSTRING_MSG WriteConsoleOutputString;
    00842         CONSOLE_FILLCONSOLEOUTPUT_MSG FillConsoleOutput;
    00843         CONSOLE_MODE_MSG GetConsoleMode;
    00844         CONSOLE_GETNUMBEROFFONTS_MSG GetNumberOfConsoleFonts;
    00845         CONSOLE_GETNUMBEROFINPUTEVENTS_MSG GetNumberOfConsoleInputEvents;
    00846         CONSOLE_GETSCREENBUFFERINFO_MSG GetConsoleScreenBufferInfo;
    00847         CONSOLE_GETCURSORINFO_MSG GetConsoleCursorInfo;
    00848         CONSOLE_GETMOUSEINFO_MSG GetConsoleMouseInfo;
    00849         CONSOLE_GETFONTINFO_MSG GetConsoleFontInfo;
    00850         CONSOLE_GETFONTSIZE_MSG GetConsoleFontSize;
    00851         CONSOLE_GETCURRENTFONT_MSG GetCurrentConsoleFont;
    00852         CONSOLE_MODE_MSG SetConsoleMode;
    00853         CONSOLE_SETACTIVESCREENBUFFER_MSG SetConsoleActiveScreenBuffer;
    00854         CONSOLE_FLUSHINPUTBUFFER_MSG FlushConsoleInputBuffer;
    00855         CONSOLE_GETLARGESTWINDOWSIZE_MSG GetLargestConsoleWindowSize;
    00856         CONSOLE_SETSCREENBUFFERSIZE_MSG SetConsoleScreenBufferSize;
    00857         CONSOLE_SETCURSORPOSITION_MSG SetConsoleCursorPosition;
    00858         CONSOLE_SETCURSORINFO_MSG SetConsoleCursorInfo;
    00859         CONSOLE_SETWINDOWINFO_MSG SetConsoleWindowInfo;
    00860         CONSOLE_SCROLLSCREENBUFFER_MSG ScrollConsoleScreenBuffer;
    00861         CONSOLE_SETTEXTATTRIBUTE_MSG SetConsoleTextAttribute;
    00862         CONSOLE_SETFONT_MSG SetConsoleFont;
    00863         CONSOLE_SETICON_MSG SetConsoleIcon;
    00864         CONSOLE_READCONSOLE_MSG ReadConsole;
    00865         CONSOLE_WRITECONSOLE_MSG WriteConsole;
    00866         CONSOLE_DUPHANDLE_MSG DuplicateHandle;
    00867         CONSOLE_GETHANDLEINFORMATION_MSG GetHandleInformation;
    00868         CONSOLE_SETHANDLEINFORMATION_MSG SetHandleInformation;
    00869         CONSOLE_CLOSEHANDLE_MSG CloseHandle;
    00870         CONSOLE_VERIFYIOHANDLE_MSG VerifyConsoleIoHandle;
    00871         CONSOLE_ALLOC_MSG AllocConsole;
    00872         CONSOLE_FREE_MSG FreeConsole;
    00873         CONSOLE_GETTITLE_MSG GetConsoleTitle;
    00874         CONSOLE_SETTITLE_MSG SetConsoleTitle;
    00875         CONSOLE_CREATESCREENBUFFER_MSG CreateConsoleScreenBuffer;
    00876         CONSOLE_INVALIDATERECT_MSG InvalidateConsoleBitmapRect;
    00877         CONSOLE_VDM_MSG VDMConsoleOperation;
    00878         CONSOLE_SETCURSOR_MSG SetConsoleCursor;
    00879         CONSOLE_SHOWCURSOR_MSG ShowConsoleCursor;
    00880         CONSOLE_MENUCONTROL_MSG ConsoleMenuControl;
    00881         CONSOLE_SETPALETTE_MSG SetConsolePalette;
    00882         CONSOLE_SETDISPLAYMODE_MSG SetConsoleDisplayMode;
    00883         CONSOLE_REGISTERVDM_MSG RegisterConsoleVDM;
    00884         CONSOLE_GETHARDWARESTATE_MSG GetConsoleHardwareState;
    00885         CONSOLE_SETHARDWARESTATE_MSG SetConsoleHardwareState;
    00886         CONSOLE_GETDISPLAYMODE_MSG GetConsoleDisplayMode;
    00887         CONSOLE_ADDALIAS_MSG AddConsoleAliasW;
    00888         CONSOLE_GETALIAS_MSG GetConsoleAliasW;
    00889         CONSOLE_GETALIASESLENGTH_MSG GetConsoleAliasesLengthW;
    00890         CONSOLE_GETALIASEXESLENGTH_MSG GetConsoleAliasExesLengthW;
    00891         CONSOLE_GETALIASES_MSG GetConsoleAliasesW;
    00892         CONSOLE_GETALIASEXES_MSG GetConsoleAliasExesW;
    00893         CONSOLE_EXPUNGECOMMANDHISTORY_MSG ExpungeConsoleCommandHistoryW;
    00894         CONSOLE_SETNUMBEROFCOMMANDS_MSG SetConsoleNumberOfCommandsW;
    00895         CONSOLE_GETCOMMANDHISTORYLENGTH_MSG GetConsoleCommandHistoryLengthW;
    00896         CONSOLE_GETCOMMANDHISTORY_MSG GetConsoleCommandHistoryW;
    00897         CONSOLE_SETCOMMANDHISTORYMODE_MSG SetConsoleCommandHistoryMode;
    00898         CONSOLE_GETCP_MSG GetConsoleCP;
    00899         CONSOLE_SETCP_MSG SetConsoleCP;
    00900         CONSOLE_SETKEYSHORTCUTS_MSG SetConsoleKeyShortcuts;
    00901         CONSOLE_SETMENUCLOSE_MSG SetConsoleMenuClose;
    00902         CONSOLE_NOTIFYLASTCLOSE_MSG SetLastConsoleEventActive;
    00903         CONSOLE_CTRLEVENT_MSG GenerateConsoleCtrlEvent;
    00904         CONSOLE_GETKEYBOARDLAYOUTNAME_MSG GetKeyboardLayoutName;
    00905         CONSOLE_GETCONSOLEWINDOW_MSG GetConsoleWindow;
    00906 #if defined(FE_SB) // for Kernel32 Single Binary
    00907         CONSOLE_CHAR_TYPE_MSG GetConsoleCharType;
    00908         CONSOLE_LOCAL_EUDC_MSG SetConsoleLocalEUDC;
    00909         CONSOLE_CURSOR_MODE_MSG SetConsoleCursorMode;
    00910         CONSOLE_CURSOR_MODE_MSG GetConsoleCursorMode;
    00911         CONSOLE_REGISTEROS2_MSG RegisterConsoleOS2;
    00912         CONSOLE_SETOS2OEMFORMAT_MSG SetConsoleOS2OemFormat;
    00913 #if defined(FE_IME)
    00914         CONSOLE_NLS_MODE_MSG GetConsoleNlsMode;
    00915         CONSOLE_NLS_MODE_MSG SetConsoleNlsMode;
    00916         CONSOLE_REGISTER_CONSOLEIME_MSG RegisterConsoleIME;
    00917         CONSOLE_UNREGISTER_CONSOLEIME_MSG UnregisterConsoleIME;
    00918 #endif // FE_IME
    00919 #endif // FE_SB
    00920         CONSOLE_LANGID_MSG GetConsoleLangId;
    00921     } u;
    00922 } CONSOLE_API_MSG, *PCONSOLE_API_MSG;
    00923
    00924 #endif