30#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA) && !defined(NOGDI)
36#pragma warning(disable:4820)
42#if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
43#define ATTACH_PARENT_PROCESS ((DWORD)-1)
47#if (_WIN32_WINNT >= _WIN32_WINNT_WIN7)
48#define CONSOLE_REAL_OUTPUT_HANDLE (LongToHandle(-2))
49#define CONSOLE_REAL_INPUT_HANDLE (LongToHandle(-3))
56#define CONSOLE_WINDOWED 0
57#define CONSOLE_FULLSCREEN 1
58#define CONSOLE_FULLSCREEN_HARDWARE 2
61#define CONSOLE_FULLSCREEN_MODE 1
62#define CONSOLE_WINDOWED_MODE 2
67#define FOREGROUND_BLUE 0x0001
68#define FOREGROUND_GREEN 0x0002
69#define FOREGROUND_RED 0x0004
70#define FOREGROUND_INTENSITY 0x0008
71#define BACKGROUND_BLUE 0x0010
72#define BACKGROUND_GREEN 0x0020
73#define BACKGROUND_RED 0x0040
74#define BACKGROUND_INTENSITY 0x0080
76#define COMMON_LVB_LEADING_BYTE 0x0100
77#define COMMON_LVB_TRAILING_BYTE 0x0200
78#define COMMON_LVB_GRID_HORIZONTAL 0x0400
79#define COMMON_LVB_GRID_LVERTICAL 0x0800
80#define COMMON_LVB_GRID_RVERTICAL 0x1000
81#define COMMON_LVB_REVERSE_VIDEO 0x4000
82#define COMMON_LVB_UNDERSCORE 0x8000
84#define COMMON_LVB_SBCSDBCS \
85 (COMMON_LVB_LEADING_BYTE | COMMON_LVB_TRAILING_BYTE)
90#define CONSOLE_TEXTMODE_BUFFER 1
97#define CTRL_BREAK_EVENT 1
98#define CTRL_CLOSE_EVENT 2
101#define CTRL_LOGOFF_EVENT 5
102#define CTRL_SHUTDOWN_EVENT 6
107#define ENABLE_PROCESSED_INPUT 0x0001
108#define ENABLE_LINE_INPUT 0x0002
109#define ENABLE_ECHO_INPUT 0x0004
110#define ENABLE_WINDOW_INPUT 0x0008
111#define ENABLE_MOUSE_INPUT 0x0010
112#define ENABLE_INSERT_MODE 0x0020
113#define ENABLE_QUICK_EDIT_MODE 0x0040
114#define ENABLE_EXTENDED_FLAGS 0x0080
115#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
116#define ENABLE_AUTO_POSITION 0x0100
118#if (NTDDI_VERSION >= NTDDI_WIN10_RS1)
119#define ENABLE_VIRTUAL_TERMINAL_INPUT 0x0200
125#define ENABLE_PROCESSED_OUTPUT 0x0001
126#define ENABLE_WRAP_AT_EOL_OUTPUT 0x0002
127#if (NTDDI_VERSION >= NTDDI_WIN10_RS1)
128#define ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x0004
129#define DISABLE_NEWLINE_AUTO_RETURN 0x0008
130#define ENABLE_LVB_GRID_WORLDWIDE 0x0010
136#define CONSOLE_NO_SELECTION 0x0000
137#define CONSOLE_SELECTION_IN_PROGRESS 0x0001
138#define CONSOLE_SELECTION_NOT_EMPTY 0x0002
139#define CONSOLE_MOUSE_SELECTION 0x0004
140#define CONSOLE_MOUSE_DOWN 0x0008
145#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
147#define HISTORY_NO_DUP_FLAG 0x0001
149#define CONSOLE_OVERSTRIKE 0x0001
156#define KEY_EVENT 0x0001
157#define MOUSE_EVENT 0x0002
158#define WINDOW_BUFFER_SIZE_EVENT 0x0004
159#define MENU_EVENT 0x0008
160#define FOCUS_EVENT 0x0010
165#define RIGHT_ALT_PRESSED 0x0001
166#define LEFT_ALT_PRESSED 0x0002
167#define RIGHT_CTRL_PRESSED 0x0004
168#define LEFT_CTRL_PRESSED 0x0008
169#define SHIFT_PRESSED 0x0010
170#define NUMLOCK_ON 0x0020
171#define SCROLLLOCK_ON 0x0040
172#define CAPSLOCK_ON 0x0080
173#define ENHANCED_KEY 0x0100
176#define NLS_DBCSCHAR 0x00010000
177#define NLS_ALPHANUMERIC 0x00000000
178#define NLS_KATAKANA 0x00020000
179#define NLS_HIRAGANA 0x00040000
180#define NLS_ROMAN 0x00400000
181#define NLS_IME_CONVERSION 0x00800000
183#define ALTNUMPAD_BIT 0x04000000
184#define NLS_IME_DISABLE 0x20000000
189#define FROM_LEFT_1ST_BUTTON_PRESSED 0x0001
190#define RIGHTMOST_BUTTON_PRESSED 0x0002
191#define FROM_LEFT_2ND_BUTTON_PRESSED 0x0004
192#define FROM_LEFT_3RD_BUTTON_PRESSED 0x0008
193#define FROM_LEFT_4TH_BUTTON_PRESSED 0x0010
198#define MOUSE_MOVED 0x0001
199#define DOUBLE_CLICK 0x0002
200#define MOUSE_WHEELED 0x0004
201#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
202#define MOUSE_HWHEELED 0x0008
304#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
341#if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
349#if (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
535#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
565#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
613#if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
976#if (NTDDI_VERSION >= NTDDI_WIN10_RS5)
983#if (NTDDI_VERSION >= NTDDI_WIN11_GE)
993#define AddConsoleAlias AddConsoleAliasW
994#define GetConsoleAlias GetConsoleAliasW
995#define GetConsoleAliases GetConsoleAliasesW
996#define GetConsoleAliasesLength GetConsoleAliasesLengthW
997#define GetConsoleAliasExes GetConsoleAliasExesW
998#define GetConsoleAliasExesLength GetConsoleAliasExesLengthW
999#define GetConsoleTitle GetConsoleTitleW
1000#define GetConsoleOriginalTitle GetConsoleOriginalTitleW
1001#define PeekConsoleInput PeekConsoleInputW
1002#define ReadConsole ReadConsoleW
1003#define ReadConsoleInput ReadConsoleInputW
1004#define ReadConsoleOutput ReadConsoleOutputW
1005#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterW
1006#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferW
1007#define SetConsoleTitle SetConsoleTitleW
1008#define WriteConsole WriteConsoleW
1009#define WriteConsoleInput WriteConsoleInputW
1010#define WriteConsoleOutput WriteConsoleOutputW
1011#define FillConsoleOutputCharacter FillConsoleOutputCharacterW
1012#define WriteConsoleOutputCharacter WriteConsoleOutputCharacterW
1014#define AddConsoleAlias AddConsoleAliasA
1015#define GetConsoleAlias GetConsoleAliasA
1016#define GetConsoleAliases GetConsoleAliasesA
1017#define GetConsoleAliasesLength GetConsoleAliasesLengthA
1018#define GetConsoleAliasExes GetConsoleAliasExesA
1019#define GetConsoleAliasExesLength GetConsoleAliasExesLengthA
1020#define GetConsoleTitle GetConsoleTitleA
1021#define GetConsoleOriginalTitle GetConsoleOriginalTitleA
1022#define PeekConsoleInput PeekConsoleInputA
1023#define ReadConsole ReadConsoleA
1024#define ReadConsoleInput ReadConsoleInputA
1025#define ReadConsoleOutput ReadConsoleOutputA
1026#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterA
1027#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferA
1028#define SetConsoleTitle SetConsoleTitleA
1029#define WriteConsole WriteConsoleA
1030#define WriteConsoleInput WriteConsoleInputA
1031#define WriteConsoleOutput WriteConsoleOutputA
1032#define FillConsoleOutputCharacter FillConsoleOutputCharacterA
1033#define WriteConsoleOutputCharacter WriteConsoleOutputCharacterA
BOOL WINAPI HandlerRoutine(DWORD dwCtrlType)
static TAGREF LPCWSTR LPDWORD LPVOID lpBuffer
static WCHAR ExeNameBuffer[EXENAME_LENGTH]
BOOL WINAPI DECLSPEC_HOTPATCH ReadConsoleInputW(IN HANDLE hConsoleInput, OUT PINPUT_RECORD lpBuffer, IN DWORD nLength, OUT LPDWORD lpNumberOfEventsRead)
BOOL WINAPI DECLSPEC_HOTPATCH ReadConsoleW(IN HANDLE hConsoleInput, OUT LPVOID lpBuffer, IN DWORD nNumberOfCharsToRead, OUT LPDWORD lpNumberOfCharsRead, IN PCONSOLE_READCONSOLE_CONTROL pInputControl OPTIONAL)
BOOL WINAPI DECLSPEC_HOTPATCH ReadConsoleInputA(IN HANDLE hConsoleInput, OUT PINPUT_RECORD lpBuffer, IN DWORD nLength, OUT LPDWORD lpNumberOfEventsRead)
BOOL WINAPI DECLSPEC_HOTPATCH PeekConsoleInputA(IN HANDLE hConsoleInput, OUT PINPUT_RECORD lpBuffer, IN DWORD nLength, OUT LPDWORD lpNumberOfEventsRead)
BOOL WINAPI DECLSPEC_HOTPATCH PeekConsoleInputW(IN HANDLE hConsoleInput, OUT PINPUT_RECORD lpBuffer, IN DWORD nLength, OUT LPDWORD lpNumberOfEventsRead)
BOOL WINAPI DECLSPEC_HOTPATCH ReadConsoleA(IN HANDLE hConsoleInput, OUT LPVOID lpBuffer, IN DWORD nNumberOfCharsToRead, OUT LPDWORD lpNumberOfCharsRead, IN PCONSOLE_READCONSOLE_CONTROL pInputControl OPTIONAL)
BOOL WINAPI DECLSPEC_HOTPATCH FreeConsole(void)
UINT WINAPI DECLSPEC_HOTPATCH GetConsoleCP(void)
DWORD WINAPI GetConsoleAliasExesLengthW(void)
UINT WINAPI DECLSPEC_HOTPATCH GetConsoleOutputCP(void)
BOOL WINAPI AllocConsole(void)
HWND WINAPI GetConsoleWindow(void)
DWORD WINAPI GetConsoleAliasExesLengthA(void)
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
_In_ UINT _In_ UINT _In_ PNDIS_PACKET Source
#define _Deref_out_range_(l, h)
#define _Out_writes_bytes_to_(s, c)
#define _Out_writes_to_(s, c)
union _CHAR_INFO::@3414 Char
WCHAR FaceName[LF_FACESIZE]
UINT NumberOfHistoryBuffers
COORD dwMaximumWindowSize
BOOL bFullscreenSupported
COORD dwMaximumWindowSize
union _KEY_EVENT_RECORD::@3415 uChar
#define FIELD_OFFSET(t, f)
*nSize LPSTR _Inout_ LPDWORD nSize
struct _KEY_EVENT_RECORD * PKEY_EVENT_RECORD
struct _CONSOLE_FONT_INFOEX * PCONSOLE_FONT_INFOEX
WINBASEAPI BOOL WINAPI WriteConsoleOutputAttribute(_In_ HANDLE hConsoleOutput, _In_reads_(nLength) CONST WORD *lpAttribute, _In_ DWORD nLength, _In_ COORD dwWriteCoord, _Out_ LPDWORD lpNumberOfAttrsWritten)
WINBASEAPI BOOL WINAPI GetConsoleHistoryInfo(_Out_ PCONSOLE_HISTORY_INFO lpConsoleHistoryInfo)
WINBASEAPI DWORD WINAPI GetConsoleOriginalTitleW(_Out_writes_(nSize) LPWSTR lpConsoleTitle, _In_ DWORD nSize)
struct _SMALL_RECT SMALL_RECT
struct _CHAR_INFO CHAR_INFO
WINBASEAPI BOOL WINAPI ReadConsoleOutputW(_In_ HANDLE hConsoleOutput, _Out_writes_(dwBufferSize.X *dwBufferSize.Y) PCHAR_INFO lpBuffer, _In_ COORD dwBufferSize, _In_ COORD dwBufferCoord, _Inout_ PSMALL_RECT lpReadRegion)
WINBASEAPI BOOL WINAPI GenerateConsoleCtrlEvent(_In_ DWORD dwCtrlEvent, _In_ DWORD dwProcessGroupId)
WINBASEAPI BOOL WINAPI SetConsoleTitleW(_In_ LPCWSTR lpConsoleTitle)
struct _CONSOLE_SELECTION_INFO * PCONSOLE_SELECTION_INFO
WINBASEAPI BOOL WINAPI WriteConsoleInputW(_In_ HANDLE hConsoleInput, _In_reads_(nLength) CONST INPUT_RECORD *lpBuffer, _In_ DWORD nLength, _Out_ LPDWORD lpNumberOfEventsWritten)
WINBASEAPI BOOL WINAPI WriteConsoleOutputW(_In_ HANDLE hConsoleOutput, _In_reads_(dwBufferSize.X *dwBufferSize.Y) CONST CHAR_INFO *lpBuffer, _In_ COORD dwBufferSize, _In_ COORD dwBufferCoord, _Inout_ PSMALL_RECT lpWriteRegion)
WINBASEAPI BOOL WINAPI WriteConsoleOutputA(_In_ HANDLE hConsoleOutput, _In_reads_(dwBufferSize.X *dwBufferSize.Y) CONST CHAR_INFO *lpBuffer, _In_ COORD dwBufferSize, _In_ COORD dwBufferCoord, _Inout_ PSMALL_RECT lpWriteRegion)
WINBASEAPI DWORD WINAPI GetConsoleAliasesA(_Out_writes_(AliasBufferLength) LPSTR AliasBuffer, _In_ DWORD AliasBufferLength, _In_ LPCSTR ExeName)
WINBASEAPI DWORD WINAPI GetConsoleAliasA(_In_ LPCSTR Source, _Out_writes_(TargetBufferLength) LPSTR TargetBuffer, _In_ DWORD TargetBufferLength, _In_ LPCSTR ExeName)
WINBASEAPI DWORD WINAPI GetConsoleOriginalTitleA(_Out_writes_(nSize) LPSTR lpConsoleTitle, _In_ DWORD nSize)
WINBASEAPI BOOL WINAPI SetConsoleActiveScreenBuffer(_In_ HANDLE hConsoleOutput)
struct _CHAR_INFO * PCHAR_INFO
struct _CONSOLE_HISTORY_INFO CONSOLE_HISTORY_INFO
WINBASEAPI BOOL WINAPI SetConsoleCtrlHandler(_In_opt_ PHANDLER_ROUTINE HandlerRoutine, _In_ BOOL Add)
WINBASEAPI BOOL WINAPI SetConsoleScreenBufferSize(_In_ HANDLE hConsoleOutput, _In_ COORD dwSize)
struct _CONSOLE_FONT_INFOEX CONSOLE_FONT_INFOEX
WINBASEAPI BOOL WINAPI GetCurrentConsoleFontEx(_In_ HANDLE hConsoleOutput, _In_ BOOL bMaximumWindow, _Out_ PCONSOLE_FONT_INFOEX lpConsoleCurrentFontEx)
WINBASEAPI BOOL WINAPI SetConsoleMode(_In_ HANDLE hConsoleHandle, _In_ DWORD dwMode)
WINBASEAPI _In_ DWORD _Out_ LPDWORD lpNumberOfEventsRead
WINBASEAPI BOOL WINAPI AddConsoleAliasW(_In_ LPCWSTR Source, _In_ LPCWSTR Target, _In_ LPCWSTR ExeName)
WINBASEAPI BOOL WINAPI ScrollConsoleScreenBufferA(_In_ HANDLE hConsoleOutput, _In_ CONST SMALL_RECT *lpScrollRectangle, _In_opt_ CONST SMALL_RECT *lpClipRectangle, _In_ COORD dwDestinationOrigin, _In_ CONST CHAR_INFO *lpFill)
WINBASEAPI BOOL WINAPI SetConsoleCP(_In_ UINT wCodePageID)
WINBASEAPI BOOL WINAPI SetConsoleCursorInfo(_In_ HANDLE hConsoleOutput, _In_ CONST CONSOLE_CURSOR_INFO *lpConsoleCursorInfo)
struct _SMALL_RECT * PSMALL_RECT
struct _CONSOLE_SCREEN_BUFFER_INFO CONSOLE_SCREEN_BUFFER_INFO
WINBASEAPI BOOL WINAPI AttachConsole(_In_ DWORD dwProcessId)
WINBASEAPI BOOL WINAPI SetConsoleTitleA(_In_ LPCSTR lpConsoleTitle)
struct _CONSOLE_SCREEN_BUFFER_INFOEX CONSOLE_SCREEN_BUFFER_INFOEX
struct _INPUT_RECORD INPUT_RECORD
WINBASEAPI BOOL WINAPI FillConsoleOutputCharacterA(_In_ HANDLE hConsoleOutput, _In_ CHAR cCharacter, _In_ DWORD nLength, _In_ COORD dwWriteCoord, _Out_ LPDWORD lpNumberOfCharsWritten)
WINBASEAPI BOOL WINAPI SetConsoleCursorPosition(_In_ HANDLE hConsoleOutput, _In_ COORD dwCursorPosition)
WINBASEAPI DWORD WINAPI GetConsoleAliasesLengthA(_In_ LPCSTR ExeName)
WINBASEAPI BOOL WINAPI WriteConsoleOutputCharacterA(_In_ HANDLE hConsoleOutput, _In_reads_(nLength) LPCSTR lpCharacter, _In_ DWORD nLength, _In_ COORD dwWriteCoord, _Out_ LPDWORD lpNumberOfCharsWritten)
WINBASEAPI BOOL WINAPI ReadConsoleOutputA(_In_ HANDLE hConsoleOutput, _Out_writes_(dwBufferSize.X *dwBufferSize.Y) PCHAR_INFO lpBuffer, _In_ COORD dwBufferSize, _In_ COORD dwBufferCoord, _Inout_ PSMALL_RECT lpReadRegion)
WINBASEAPI BOOL WINAPI GetConsoleSelectionInfo(_Out_ PCONSOLE_SELECTION_INFO lpConsoleSelectionInfo)
WINBASEAPI BOOL WINAPI GetNumberOfConsoleMouseButtons(_Out_ LPDWORD lpNumberOfMouseButtons)
WINBASEAPI BOOL WINAPI GetConsoleCursorInfo(_In_ HANDLE hConsoleOutput, _Out_ PCONSOLE_CURSOR_INFO lpConsoleCursorInfo)
WINBASEAPI HANDLE WINAPI CreateConsoleScreenBuffer(_In_ DWORD dwDesiredAccess, _In_ DWORD dwShareMode, _In_opt_ CONST SECURITY_ATTRIBUTES *lpSecurityAttributes, _In_ DWORD dwFlags, _Reserved_ LPVOID lpScreenBufferData)
WINBASEAPI BOOL WINAPI SetConsoleTextAttribute(_In_ HANDLE hConsoleOutput, _In_ WORD wAttributes)
WINBASEAPI DWORD WINAPI GetConsoleAliasExesW(_Out_writes_(ExeNameBufferLength) LPWSTR ExeNameBuffer, _In_ DWORD ExeNameBufferLength)
struct _MENU_EVENT_RECORD MENU_EVENT_RECORD
struct _CONSOLE_HISTORY_INFO * PCONSOLE_HISTORY_INFO
WINBASEAPI COORD WINAPI GetConsoleFontSize(_In_ HANDLE hConsoleOutput, _In_ DWORD nFont)
WINBASEAPI BOOL WINAPI SetConsoleScreenBufferInfoEx(_In_ HANDLE hConsoleOutput, _In_ PCONSOLE_SCREEN_BUFFER_INFOEX lpConsoleScreenBufferInfoEx)
WINBASEAPI BOOL WINAPI AddConsoleAliasA(_In_ LPCSTR Source, _In_ LPCSTR Target, _In_ LPCSTR ExeName)
WINBASEAPI BOOL WINAPI WriteConsoleW(_In_ HANDLE hConsoleOutput, _In_reads_(nNumberOfCharsToWrite) CONST VOID *lpBuffer, _In_ DWORD nNumberOfCharsToWrite, _Out_opt_ LPDWORD lpNumberOfCharsWritten, _Reserved_ LPVOID lpReserved)
WINBASEAPI BOOL WINAPI SetConsoleWindowInfo(_In_ HANDLE hConsoleOutput, _In_ BOOL bAbsolute, _In_ CONST SMALL_RECT *lpConsoleWindow)
WINBASEAPI BOOL WINAPI GetConsoleMode(_In_ HANDLE hConsoleHandle, _Out_ LPDWORD lpMode)
WINBASEAPI BOOL WINAPI GetNumberOfConsoleInputEvents(_In_ HANDLE hConsoleInput, _Out_ LPDWORD lpNumberOfEvents)
struct _CONSOLE_FONT_INFO CONSOLE_FONT_INFO
WINBASEAPI DWORD WINAPI GetConsoleAliasesW(_Out_writes_(AliasBufferLength) LPWSTR AliasBuffer, _In_ DWORD AliasBufferLength, _In_ LPCWSTR ExeName)
struct _CONSOLE_FONT_INFO * PCONSOLE_FONT_INFO
WINBASEAPI BOOL WINAPI SetConsoleOutputCP(_In_ UINT wCodePageID)
struct _CONSOLE_READCONSOLE_CONTROL CONSOLE_READCONSOLE_CONTROL
WINBASEAPI _In_ DWORD _Out_ _In_opt_ PCONSOLE_READCONSOLE_CONTROL pInputControl
struct _CONSOLE_CURSOR_INFO * PCONSOLE_CURSOR_INFO
WINBASEAPI BOOL WINAPI ReadConsoleOutputCharacterA(_In_ HANDLE hConsoleOutput, _Out_writes_(nLength) LPSTR lpCharacter, _In_ DWORD nLength, _In_ COORD dwReadCoord, _Out_ LPDWORD lpNumberOfCharsRead)
WINBASEAPI BOOL WINAPI FlushConsoleInputBuffer(_In_ HANDLE hConsoleInput)
WINBASEAPI COORD WINAPI GetLargestConsoleWindowSize(_In_ HANDLE hConsoleOutput)
struct _CONSOLE_SCREEN_BUFFER_INFO * PCONSOLE_SCREEN_BUFFER_INFO
WINBASEAPI DWORD WINAPI GetConsoleAliasesLengthW(_In_ LPCWSTR ExeName)
struct _INPUT_RECORD * PINPUT_RECORD
WINBASEAPI BOOL WINAPI GetConsoleScreenBufferInfoEx(_In_ HANDLE hConsoleOutput, _Inout_ PCONSOLE_SCREEN_BUFFER_INFOEX lpConsoleScreenBufferInfoEx)
WINBASEAPI BOOL WINAPI ReadConsoleOutputCharacterW(_In_ HANDLE hConsoleOutput, _Out_writes_(nLength) LPWSTR lpCharacter, _In_ DWORD nLength, _In_ COORD dwReadCoord, _Out_ LPDWORD lpNumberOfCharsRead)
struct _KEY_EVENT_RECORD KEY_EVENT_RECORD
WINBASEAPI BOOL WINAPI FillConsoleOutputCharacterW(_In_ HANDLE hConsoleOutput, _In_ WCHAR cCharacter, _In_ DWORD nLength, _In_ COORD dwWriteCoord, _Out_ LPDWORD lpNumberOfCharsWritten)
struct _FOCUS_EVENT_RECORD FOCUS_EVENT_RECORD
WINBASEAPI _In_ DWORD nNumberOfCharsToRead
struct _WINDOW_BUFFER_SIZE_RECORD * PWINDOW_BUFFER_SIZE_RECORD
struct _CONSOLE_CURSOR_INFO CONSOLE_CURSOR_INFO
WINBASEAPI BOOL WINAPI ScrollConsoleScreenBufferW(_In_ HANDLE hConsoleOutput, _In_ CONST SMALL_RECT *lpScrollRectangle, _In_opt_ CONST SMALL_RECT *lpClipRectangle, _In_ COORD dwDestinationOrigin, _In_ CONST CHAR_INFO *lpFill)
WINBASEAPI BOOL WINAPI GetCurrentConsoleFont(_In_ HANDLE hConsoleOutput, _In_ BOOL bMaximumWindow, _Out_ PCONSOLE_FONT_INFO lpConsoleCurrentFont)
WINBASEAPI DWORD WINAPI GetConsoleTitleA(_Out_writes_(nSize) LPSTR lpConsoleTitle, _In_ DWORD nSize)
WINBASEAPI DWORD WINAPI GetConsoleAliasExesA(_Out_writes_(ExeNameBufferLength) LPSTR ExeNameBuffer, _In_ DWORD ExeNameBufferLength)
WINBASEAPI BOOL WINAPI GetConsoleDisplayMode(_Out_ LPDWORD lpModeFlags)
struct _MOUSE_EVENT_RECORD * PMOUSE_EVENT_RECORD
WINBASEAPI BOOL WINAPI GetConsoleScreenBufferInfo(_In_ HANDLE hConsoleOutput, _Out_ PCONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo)
WINBASEAPI BOOL WINAPI ReadConsoleOutputAttribute(_In_ HANDLE hConsoleOutput, _Out_writes_(nLength) LPWORD lpAttribute, _In_ DWORD nLength, _In_ COORD dwReadCoord, _Out_ LPDWORD lpNumberOfAttrsRead)
struct _CONSOLE_SCREEN_BUFFER_INFOEX * PCONSOLE_SCREEN_BUFFER_INFOEX
WINBASEAPI DWORD WINAPI GetConsoleAliasW(_In_ LPCWSTR Source, _Out_writes_(TargetBufferLength) LPWSTR TargetBuffer, _In_ DWORD TargetBufferLength, _In_ LPCWSTR ExeName)
WINBASEAPI BOOL WINAPI SetCurrentConsoleFontEx(_In_ HANDLE hConsoleOutput, _In_ BOOL bMaximumWindow, _In_ PCONSOLE_FONT_INFOEX lpConsoleCurrentFontEx)
struct _WINDOW_BUFFER_SIZE_RECORD WINDOW_BUFFER_SIZE_RECORD
WINBASEAPI BOOL WINAPI WriteConsoleOutputCharacterW(_In_ HANDLE hConsoleOutput, _In_reads_(nLength) LPCWSTR lpCharacter, _In_ DWORD nLength, _In_ COORD dwWriteCoord, _Out_ LPDWORD lpNumberOfCharsWritten)
WINBASEAPI BOOL WINAPI FillConsoleOutputAttribute(_In_ HANDLE hConsoleOutput, _In_ WORD wAttribute, _In_ DWORD nLength, _In_ COORD dwWriteCoord, _Out_ LPDWORD lpNumberOfAttrsWritten)
struct _MOUSE_EVENT_RECORD MOUSE_EVENT_RECORD
BOOL(WINAPI * PHANDLER_ROUTINE)(_In_ DWORD CtrlType)
WINBASEAPI BOOL WINAPI WriteConsoleInputA(_In_ HANDLE hConsoleInput, _In_reads_(nLength) CONST INPUT_RECORD *lpBuffer, _In_ DWORD nLength, _Out_ LPDWORD lpNumberOfEventsWritten)
WINBASEAPI BOOL WINAPI SetConsoleHistoryInfo(_In_ PCONSOLE_HISTORY_INFO lpConsoleHistoryInfo)
WINBASEAPI BOOL WINAPI SetConsoleDisplayMode(_In_ HANDLE hConsoleOutput, _In_ DWORD dwFlags, _Out_opt_ PCOORD lpNewScreenBufferDimensions)
struct _FOCUS_EVENT_RECORD * PFOCUS_EVENT_RECORD
struct _MENU_EVENT_RECORD * PMENU_EVENT_RECORD
WINBASEAPI DWORD WINAPI GetConsoleProcessList(_Out_writes_(dwProcessCount) LPDWORD lpdwProcessList, _In_ DWORD dwProcessCount)
WINBASEAPI BOOL WINAPI WriteConsoleA(_In_ HANDLE hConsoleOutput, _In_reads_(nNumberOfCharsToWrite) CONST VOID *lpBuffer, _In_ DWORD nNumberOfCharsToWrite, _Out_opt_ LPDWORD lpNumberOfCharsWritten, _Reserved_ LPVOID lpReserved)
struct _CONSOLE_SELECTION_INFO CONSOLE_SELECTION_INFO
struct _CONSOLE_READCONSOLE_CONTROL * PCONSOLE_READCONSOLE_CONTROL
WINBASEAPI _In_ DWORD nLength
WINBASEAPI DWORD WINAPI GetConsoleTitleW(_Out_writes_(nSize) LPWSTR lpConsoleTitle, _In_ DWORD nSize)
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
_In_ DWORD _In_ int _In_ int _In_opt_ LPNLSVERSIONINFO _In_opt_ LPVOID lpReserved