16#ifndef _WINCON_UNDOC_H
17#define _WINCON_UNDOC_H
28#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA) && !defined(NOGDI)
34#pragma warning(disable:4820)
41#define CONSOLE_WINDOWED 0
44#define CONSOLE_FULLSCREEN 1
45#define CONSOLE_FULLSCREEN_HARDWARE 2
48#define CONSOLE_FULLSCREEN_MODE 1
49#define CONSOLE_WINDOWED_MODE 2
58#ifndef COMMON_LVB_SBCSDBCS
59#define COMMON_LVB_SBCSDBCS \
60 (COMMON_LVB_LEADING_BYTE | COMMON_LVB_TRAILING_BYTE)
68#define CONSOLE_GRAPHICS_BUFFER 2
75#define CTRL_LAST_CLOSE_EVENT 3
82#ifndef ENABLE_INSERT_MODE
83#define ENABLE_INSERT_MODE 0x0020
84#define ENABLE_QUICK_EDIT_MODE 0x0040
85#define ENABLE_EXTENDED_FLAGS 0x0080
91#define CONSOLE_SELECTION_INVERTED 0x0010
92#define CONSOLE_SELECTION_VALID (CONSOLE_SELECTION_IN_PROGRESS | \
93 CONSOLE_SELECTION_NOT_EMPTY | \
94 CONSOLE_MOUSE_SELECTION | \
100#ifndef HISTORY_NO_DUP_FLAG
102#define HISTORY_NO_DUP_FLAG 0x0001
104#ifndef CONSOLE_OVERSTRIKE
106#define CONSOLE_OVERSTRIKE 0x0001
124#if defined(_WINGDI_) && !defined(NOGDI)
125typedef struct _CONSOLE_GRAPHICS_BUFFER_INFO {
126 DWORD dwBitMapInfoLength;
131} CONSOLE_GRAPHICS_BUFFER_INFO, *PCONSOLE_GRAPHICS_BUFFER_INFO;
138#define EXENAME_LENGTH (255 + 1)
266#define CONSOLE_NOSHORTCUTKEY 0x00000000
267#define CONSOLE_ALTTAB 0x00000001
268#define CONSOLE_ALTESC 0x00000002
269#define CONSOLE_ALTSPACE 0x00000004
270#define CONSOLE_ALTENTER 0x00000008
271#define CONSOLE_ALTPRTSC 0x00000010
272#define CONSOLE_PRTSC 0x00000020
273#define CONSOLE_CTRLESC 0x00000040
280#define CONSOLE_MODIFIER_SHIFT 0x0003
281#define CONSOLE_MODIFIER_CONTROL 0x0004
282#define CONSOLE_MODIFIER_ALT 0x0008
295#define KL_NAMELENGTH 9
324#define CONSOLE_READ_NOREMOVE 0x0001
325#define CONSOLE_READ_NOWAIT 0x0002
326#define CONSOLE_READ_VALID (CONSOLE_READ_NOREMOVE | CONSOLE_READ_NOWAIT)
414 _In_ HPALETTE hPalette,
456#define CONSOLE_UNREGISTER_VDM 0
457#define CONSOLE_REGISTER_VDM 1
458#define CONSOLE_REGISTER_WOW 2
479#define VDM_HIDE_WINDOW 1
480#define VDM_IS_ICONIC 2
481#define VDM_CLIENT_RECT 3
482#define VDM_CLIENT_TO_SCREEN 4
483#define VDM_SCREEN_TO_CLIENT 5
484#define VDM_IS_HIDDEN 6
485#define VDM_FULLSCREEN_NOPAINT 7
486#define VDM_SET_VIDEO_MODE 8
537#define CHAR_TYPE_SBCS 0
538#define CHAR_TYPE_LEADING 2
539#define CHAR_TYPE_TRAILING 3
578#if defined(FE_IME) || defined(__REACTOS__)
593#define GetConsoleInputExeName GetConsoleInputExeNameW
594#define SetConsoleInputExeName SetConsoleInputExeNameW
595#define ExpungeConsoleCommandHistory ExpungeConsoleCommandHistoryW
596#define GetConsoleCommandHistory GetConsoleCommandHistoryW
597#define GetConsoleCommandHistoryLength GetConsoleCommandHistoryLengthW
598#define SetConsoleNumberOfCommands SetConsoleNumberOfCommandsW
599#define GetConsoleKeyboardLayoutName GetConsoleKeyboardLayoutNameW
600#define ReadConsoleInputEx ReadConsoleInputExW
601#define WriteConsoleInputVDM WriteConsoleInputVDMW
603#define GetConsoleInputExeName GetConsoleInputExeNameA
604#define SetConsoleInputExeName SetConsoleInputExeNameA
605#define ExpungeConsoleCommandHistory ExpungeConsoleCommandHistoryA
606#define GetConsoleCommandHistory GetConsoleCommandHistoryA
607#define GetConsoleCommandHistoryLength GetConsoleCommandHistoryLengthA
608#define SetConsoleNumberOfCommands SetConsoleNumberOfCommandsA
609#define GetConsoleKeyboardLayoutName GetConsoleKeyboardLayoutNameA
610#define ReadConsoleInputEx ReadConsoleInputExA
611#define WriteConsoleInputVDM WriteConsoleInputVDMA
static TAGREF LPCWSTR LPDWORD LPVOID lpBuffer
BOOL WINAPI DECLSPEC_HOTPATCH RegisterConsoleIME(_In_ HWND hWnd, _Out_opt_ LPDWORD pdwAttachToThreadId)
BOOL WINAPI DECLSPEC_HOTPATCH UnregisterConsoleIME(VOID)
BOOL WINAPI DECLSPEC_HOTPATCH ReadConsoleInputExW(IN HANDLE hConsoleInput, OUT PINPUT_RECORD lpBuffer, IN DWORD nLength, OUT LPDWORD lpNumberOfEventsRead, IN WORD wFlags)
BOOL WINAPI DECLSPEC_HOTPATCH ReadConsoleInputExA(IN HANDLE hConsoleInput, OUT PINPUT_RECORD lpBuffer, IN DWORD nLength, OUT LPDWORD lpNumberOfEventsRead, IN WORD wFlags)
static DWORD LPSTR lpExeName
static BOOL bInheritHandle
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
#define _Deref_out_range_(l, h)
#define _Out_writes_to_(s, c)
#define _Out_writes_bytes_(s)
#define FIELD_OFFSET(t, f)
_In_ LPCSTR _In_opt_ LPCSTR _In_ DWORD nBufferLength
WINBASEAPI _In_ DWORD _Out_ LPDWORD lpNumberOfEventsRead
struct _CONSOLE_READCONSOLE_CONTROL CONSOLE_READCONSOLE_CONTROL
struct _CONSOLE_READCONSOLE_CONTROL * PCONSOLE_READCONSOLE_CONTROL
WINBASEAPI BOOL WINAPI InvalidateConsoleDIBits(_In_ HANDLE hConsoleOutput, _In_ PSMALL_RECT lpRect)
WINBASEAPI BOOL WINAPI SetConsoleCursorMode(_In_ HANDLE hConsoleHandle, _In_ BOOL Blink, _In_ BOOL DBEnable)
WINBASEAPI DWORD WINAPI GetConsoleCommandHistoryLengthW(_In_ LPCWSTR lpExeName)
WINBASEAPI BOOL WINAPI SetConsoleKeyShortcuts(_In_ BOOL bSet, _In_ BYTE bReserveKeys, _In_reads_(dwNumAppKeys) LPAPPKEY lpAppKeys, _In_ DWORD dwNumAppKeys)
WINBASEAPI BOOL WINAPI GetConsoleCursorMode(_In_ HANDLE hConsoleHandle, _Out_ PBOOL pbBlink, _Out_ PBOOL pbDBEnable)
WINBASEAPI BOOL WINAPI SetConsoleHardwareState(_In_ HANDLE hConsoleOutput, _In_ DWORD Flags, _In_ DWORD State)
WINBASEAPI BOOL WINAPI SetConsoleNlsMode(_In_ HANDLE hConsole, _In_ DWORD fdwNlsMode)
WINBASEAPI HANDLE WINAPI GetConsoleInputWaitHandle(VOID)
WINBASEAPI DWORD WINAPI GetConsoleCommandHistoryLengthA(_In_ LPCSTR lpExeName)
WINBASEAPI BOOL WINAPI RegisterConsoleOS2(_In_ BOOL fOs2Register)
WINBASEAPI DWORD WINAPI GetConsoleFontInfo(_In_ HANDLE hConsoleOutput, _In_ BOOL bMaximumWindow, _In_ DWORD nFontCount, _Out_ PCONSOLE_FONT_INFO lpConsoleFontInfo)
WINBASEAPI DWORD WINAPI SetLastConsoleEventActive(VOID)
WINBASEAPI BOOL WINAPI GetConsoleKeyboardLayoutNameA(_Out_writes_(KL_NAMELENGTH) LPSTR pszLayout)
WINBASEAPI HANDLE WINAPI OpenConsoleW(_In_ LPCWSTR wsName, _In_ DWORD dwDesiredAccess, _In_ BOOL bInheritHandle, _In_ DWORD dwShareMode)
WINBASEAPI VOID WINAPI ExpungeConsoleCommandHistoryW(_In_ LPCWSTR lpExeName)
WINBASEAPI BOOL WINAPI GetConsoleKeyboardLayoutNameW(_Out_writes_(KL_NAMELENGTH) LPWSTR pszLayout)
WINBASEAPI BOOL WINAPI GetConsoleHardwareState(_In_ HANDLE hConsoleOutput, _Out_ PDWORD Flags, _Out_ PDWORD State)
struct _APPKEY * LPAPPKEY
WINBASEAPI DWORD WINAPI GetNumberOfConsoleFonts(VOID)
WINBASEAPI BOOL WINAPI SetConsoleInputExeNameA(_In_ LPCSTR lpExeName)
WINBASEAPI BOOL WINAPI SetConsoleIcon(_In_ HICON hIcon)
WINBASEAPI DWORD WINAPI GetConsoleCommandHistoryW(_Out_writes_bytes_(cbHistory) LPWSTR lpHistory, _In_ DWORD cbHistory, _In_ LPCWSTR lpExeName)
WINBASEAPI BOOL WINAPI SetConsoleNumberOfCommandsA(_In_ DWORD dwNumCommands, _In_ LPCSTR lpExeName)
WINBASEAPI BOOL WINAPI GetConsoleNlsMode(_In_ HANDLE hConsole, _Out_ PDWORD lpdwNlsMode)
WINBASEAPI BOOL WINAPI SetConsoleLocalEUDC(_In_ HANDLE hConsoleHandle, _In_ WORD wCodePoint, _In_ COORD cFontSize, _In_ PCHAR lpSB)
WINBASEAPI BOOL WINAPI GetConsoleCharType(_In_ HANDLE hConsole, _In_ COORD coordCheck, _Out_ PDWORD pdwType)
WINBASEAPI DWORD WINAPI GetConsoleCommandHistoryA(_Out_writes_bytes_(cbHistory) LPSTR lpHistory, _In_ DWORD cbHistory, _In_ LPCSTR lpExeName)
WINBASEAPI DWORD WINAPI GetConsoleInputExeNameW(_In_ DWORD nBufferLength, _Out_writes_(nBufferLength) LPWSTR lpExeName)
WINBASEAPI BOOL WINAPI SetConsoleMenuClose(_In_ BOOL bEnable)
WINBASEAPI BOOL WINAPI CloseConsoleHandle(_In_ HANDLE hHandle)
WINBASEAPI BOOL WINAPI WriteConsoleInputVDMW(_In_ HANDLE hConsoleInput, _In_reads_(nLength) CONST INPUT_RECORD *lpBuffer, _In_ DWORD nLength, _Out_ LPDWORD lpNumberOfEventsWritten)
WINBASEAPI BOOL WINAPI WriteConsoleInputVDMA(_In_ HANDLE hConsoleInput, _In_reads_(nLength) CONST INPUT_RECORD *lpBuffer, _In_ DWORD nLength, _Out_ LPDWORD lpNumberOfEventsWritten)
WINBASEAPI VOID WINAPI ExpungeConsoleCommandHistoryA(_In_ LPCSTR lpExeName)
WINBASEAPI BOOL WINAPI SetConsoleOS2OemFormat(_In_ BOOL fOs2OemFormat)
WINBASEAPI BOOL WINAPI VDMConsoleOperation(_In_ DWORD iFunction, _Inout_opt_ LPVOID lpData)
WINBASEAPI BOOL WINAPI SetConsoleInputExeNameW(_In_ LPCWSTR lpExeName)
WINBASEAPI INT WINAPI ShowConsoleCursor(_In_ HANDLE hConsoleOutput, _In_ BOOL bShow)
WINBASEAPI DWORD WINAPI GetConsoleInputExeNameA(_In_ DWORD nBufferLength, _Out_writes_(nBufferLength) LPSTR lpExeName)
WINBASEAPI HMENU WINAPI ConsoleMenuControl(_In_ HANDLE hConsoleOutput, _In_ DWORD dwCmdIdLow, _In_ DWORD dwCmdIdHigh)
WINBASEAPI BOOL WINAPI SetConsoleNumberOfCommandsW(_In_ DWORD dwNumCommands, _In_ LPCWSTR lpExeName)
WINBASEAPI BOOL WINAPI SetConsoleFont(_In_ HANDLE hConsoleOutput, _In_ DWORD nFont)
WINBASEAPI _In_ DWORD _Out_ _In_ WORD wFlags
WINBASEAPI BOOL WINAPI SetConsoleCursor(_In_ HANDLE hConsoleOutput, _In_ HCURSOR hCursor)
WINBASEAPI BOOL WINAPI SetConsolePalette(_In_ HANDLE hConsoleOutput, _In_ HPALETTE hPalette, _In_ UINT dwUsage)
WINBASEAPI BOOL WINAPI VerifyConsoleIoHandle(_In_ HANDLE hIoHandle)
WINBASEAPI BOOL WINAPI RegisterConsoleVDM(_In_ DWORD dwRegisterFlags, _In_ HANDLE hStartHardwareEvent, _In_ HANDLE hEndHardwareEvent, _In_ HANDLE hErrorHardwareEvent, _Reserved_ DWORD Reserved, _Out_ LPDWORD lpVideoStateLength, _Outptr_ PVOID *lpVideoState, _In_ PVOID lpUnusedBuffer, _In_ DWORD dwUnusedBufferLength, _In_ COORD dwVDMBufferSize, _Outptr_ PVOID *lpVDMBuffer)
WINBASEAPI _In_ DWORD nLength
WINBASEAPI HANDLE WINAPI DuplicateConsoleHandle(_In_ HANDLE hSourceHandle, _In_ DWORD dwDesiredAccess, _In_ BOOL bInheritHandle, _In_ DWORD dwOptions)
_Reserved_ PVOID Reserved
_Must_inspect_result_ _In_ ULONG Flags