mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 04:33:32 +00:00
[SDK] Improve wincon.h and add wincon_undoc.h (#8019)
- Add missing WINBASEAPI modifiers. - Update/add missing SAL annotations. - Add missing function argument names. - Only keep public definitions there. - Move private/undocumented ones in a new wincon_undoc.h This header is based on the following resources: - https://undoc.airesoft.co.uk/kernel32.dll/ - https://github.com/microsoft/terminal/blob/main/dep/Console/ntcon.h - https://github.com/microsoft/terminal/blob/main/dep/Console/winconp.h (commit f08321a0b2)
This commit is contained in:
parent
228156e79f
commit
412fe7d9ac
3 changed files with 1068 additions and 199 deletions
|
@ -167,6 +167,8 @@
|
||||||
/drivers/base/condrv/ @HBelusca
|
/drivers/base/condrv/ @HBelusca
|
||||||
/drivers/setup/blue/ @HBelusca
|
/drivers/setup/blue/ @HBelusca
|
||||||
/modules/rostests/winetests/kernel32/console.c @HBelusca
|
/modules/rostests/winetests/kernel32/console.c @HBelusca
|
||||||
|
/sdk/include/psdk/wincon.h @HBelusca
|
||||||
|
/sdk/include/reactos/wincon_undoc.h @HBelusca
|
||||||
/sdk/include/reactos/drivers/condrv/ @HBelusca
|
/sdk/include/reactos/drivers/condrv/ @HBelusca
|
||||||
/sdk/include/reactos/drivers/blue/ @HBelusca
|
/sdk/include/reactos/drivers/blue/ @HBelusca
|
||||||
/sdk/include/reactos/subsys/win/conmsg.h @HBelusca
|
/sdk/include/reactos/subsys/win/conmsg.h @HBelusca
|
||||||
|
|
|
@ -1,12 +1,34 @@
|
||||||
#ifndef _WINCON_H
|
/*
|
||||||
#define _WINCON_H
|
* wincon.h
|
||||||
|
*
|
||||||
|
* Console API definitions
|
||||||
|
*
|
||||||
|
* This file is part of the ReactOS PSDK package.
|
||||||
|
*
|
||||||
|
* Contributors:
|
||||||
|
* Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS NOT COPYRIGHTED
|
||||||
|
*
|
||||||
|
* This source code is offered for use in the public domain. You may
|
||||||
|
* use, modify or distribute it freely.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful but
|
||||||
|
* WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
|
||||||
|
* DISCLAIMED. This includes but is not limited to warranties of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _WINCON_
|
||||||
|
#define _WINCON_
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA) && !defined(NOGDI)
|
#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA) && !defined(NOGDI)
|
||||||
# include "wingdi.h"
|
#include "wingdi.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
|
@ -17,19 +39,25 @@ extern "C" {
|
||||||
/*
|
/*
|
||||||
* Special PID for parent process for AttachConsole API
|
* Special PID for parent process for AttachConsole API
|
||||||
*/
|
*/
|
||||||
#if (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
|
#if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
|
||||||
#define ATTACH_PARENT_PROCESS ((DWORD)-1)
|
#define ATTACH_PARENT_PROCESS ((DWORD)-1)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Special console handle values */
|
||||||
|
#if (_WIN32_WINNT >= _WIN32_WINNT_WIN7)
|
||||||
|
#define CONSOLE_REAL_OUTPUT_HANDLE (LongToHandle(-2))
|
||||||
|
#define CONSOLE_REAL_INPUT_HANDLE (LongToHandle(-3))
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Console display modes
|
* Console display modes
|
||||||
*/
|
*/
|
||||||
// These codes are answered by GetConsoleDisplayMode
|
// These flags are returned by GetConsoleDisplayMode
|
||||||
#define CONSOLE_WINDOWED 0
|
#define CONSOLE_WINDOWED 0
|
||||||
#define CONSOLE_FULLSCREEN 1
|
#define CONSOLE_FULLSCREEN 1 /* Fullscreen console */
|
||||||
#define CONSOLE_FULLSCREEN_HARDWARE 2
|
#define CONSOLE_FULLSCREEN_HARDWARE 2 /* Console owns the hardware */
|
||||||
|
|
||||||
// These codes should be given to SetConsoleDisplayMode
|
// These flags are given to SetConsoleDisplayMode
|
||||||
#define CONSOLE_FULLSCREEN_MODE 1
|
#define CONSOLE_FULLSCREEN_MODE 1
|
||||||
#define CONSOLE_WINDOWED_MODE 2
|
#define CONSOLE_WINDOWED_MODE 2
|
||||||
|
|
||||||
|
@ -60,7 +88,7 @@ extern "C" {
|
||||||
* Screen buffer types
|
* Screen buffer types
|
||||||
*/
|
*/
|
||||||
#define CONSOLE_TEXTMODE_BUFFER 1
|
#define CONSOLE_TEXTMODE_BUFFER 1
|
||||||
#define CONSOLE_GRAPHICS_BUFFER 2 /* Undocumented, see http://blog.airesoft.co.uk/2012/10/things-ms-can-do-that-they-dont-tell-you-about-console-graphics/ */
|
// 2 is reserved!
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Control handler codes
|
* Control handler codes
|
||||||
|
@ -68,7 +96,8 @@ extern "C" {
|
||||||
#define CTRL_C_EVENT 0
|
#define CTRL_C_EVENT 0
|
||||||
#define CTRL_BREAK_EVENT 1
|
#define CTRL_BREAK_EVENT 1
|
||||||
#define CTRL_CLOSE_EVENT 2
|
#define CTRL_CLOSE_EVENT 2
|
||||||
#define CTRL_LAST_CLOSE_EVENT 3 /* Undocumented */
|
// 3 is reserved!
|
||||||
|
// 4 is reserved!
|
||||||
#define CTRL_LOGOFF_EVENT 5
|
#define CTRL_LOGOFF_EVENT 5
|
||||||
#define CTRL_SHUTDOWN_EVENT 6
|
#define CTRL_SHUTDOWN_EVENT 6
|
||||||
|
|
||||||
|
@ -86,7 +115,7 @@ extern "C" {
|
||||||
#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
|
#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
|
||||||
#define ENABLE_AUTO_POSITION 0x0100
|
#define ENABLE_AUTO_POSITION 0x0100
|
||||||
#endif
|
#endif
|
||||||
#if (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
|
#if (NTDDI_VERSION >= NTDDI_WIN10_RS1) // (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
|
||||||
#define ENABLE_VIRTUAL_TERMINAL_INPUT 0x0200
|
#define ENABLE_VIRTUAL_TERMINAL_INPUT 0x0200
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -95,15 +124,20 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
#define ENABLE_PROCESSED_OUTPUT 0x0001
|
#define ENABLE_PROCESSED_OUTPUT 0x0001
|
||||||
#define ENABLE_WRAP_AT_EOL_OUTPUT 0x0002
|
#define ENABLE_WRAP_AT_EOL_OUTPUT 0x0002
|
||||||
|
#if (NTDDI_VERSION >= NTDDI_WIN10_RS1) // (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
|
||||||
|
#define ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x0004
|
||||||
|
#define DISABLE_NEWLINE_AUTO_RETURN 0x0008
|
||||||
|
#define ENABLE_LVB_GRID_WORLDWIDE 0x0010
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Console selection flags
|
* Console selection flags
|
||||||
*/
|
*/
|
||||||
#define CONSOLE_NO_SELECTION 0x0000
|
#define CONSOLE_NO_SELECTION 0x0000
|
||||||
#define CONSOLE_SELECTION_IN_PROGRESS 0x0001
|
#define CONSOLE_SELECTION_IN_PROGRESS 0x0001 /* Selection has begun */
|
||||||
#define CONSOLE_SELECTION_NOT_EMPTY 0x0002
|
#define CONSOLE_SELECTION_NOT_EMPTY 0x0002 /* Non-null select rectangle */
|
||||||
#define CONSOLE_MOUSE_SELECTION 0x0004
|
#define CONSOLE_MOUSE_SELECTION 0x0004 /* Selecting with mouse */
|
||||||
#define CONSOLE_MOUSE_DOWN 0x0008
|
#define CONSOLE_MOUSE_DOWN 0x0008 /* Mouse is down */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* History information and mode flags
|
* History information and mode flags
|
||||||
|
@ -116,12 +150,6 @@ extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Read input flags
|
|
||||||
*/
|
|
||||||
#define CONSOLE_READ_NOREMOVE 0x0001
|
|
||||||
#define CONSOLE_READ_NOWAIT 0x0002
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Event types
|
* Event types
|
||||||
*/
|
*/
|
||||||
|
@ -151,6 +179,8 @@ extern "C" {
|
||||||
#define NLS_HIRAGANA 0x00040000 /* Hiragana mode */
|
#define NLS_HIRAGANA 0x00040000 /* Hiragana mode */
|
||||||
#define NLS_ROMAN 0x00400000 /* Roman/Noroman mode */
|
#define NLS_ROMAN 0x00400000 /* Roman/Noroman mode */
|
||||||
#define NLS_IME_CONVERSION 0x00800000 /* IME conversion */
|
#define NLS_IME_CONVERSION 0x00800000 /* IME conversion */
|
||||||
|
/* Reserved for EXTENDED_BIT, DONTCARE_BIT, FAKE_KEYSTROKE, ALTNUMPAD_BIT (kbd.h) */
|
||||||
|
#define ALTNUMPAD_BIT 0x04000000 /* AltNumpad OEM char */
|
||||||
#define NLS_IME_DISABLE 0x20000000 /* IME enable/disable */
|
#define NLS_IME_DISABLE 0x20000000 /* IME enable/disable */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -223,18 +253,9 @@ typedef struct _CONSOLE_SCREEN_BUFFER_INFO {
|
||||||
COORD dwMaximumWindowSize;
|
COORD dwMaximumWindowSize;
|
||||||
} CONSOLE_SCREEN_BUFFER_INFO,*PCONSOLE_SCREEN_BUFFER_INFO;
|
} CONSOLE_SCREEN_BUFFER_INFO,*PCONSOLE_SCREEN_BUFFER_INFO;
|
||||||
|
|
||||||
/* Undocumented, see http://blog.airesoft.co.uk/2012/10/things-ms-can-do-that-they-dont-tell-you-about-console-graphics/ */
|
typedef BOOL
|
||||||
#if defined(_WINGDI_) && !defined(NOGDI)
|
(WINAPI *PHANDLER_ROUTINE)(
|
||||||
typedef struct _CONSOLE_GRAPHICS_BUFFER_INFO {
|
_In_ DWORD CtrlType);
|
||||||
DWORD dwBitMapInfoLength;
|
|
||||||
LPBITMAPINFO lpBitMapInfo;
|
|
||||||
DWORD dwUsage; // DIB_PAL_COLORS or DIB_RGB_COLORS
|
|
||||||
HANDLE hMutex;
|
|
||||||
PVOID lpBitMap;
|
|
||||||
} CONSOLE_GRAPHICS_BUFFER_INFO, *PCONSOLE_GRAPHICS_BUFFER_INFO;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef BOOL(CALLBACK *PHANDLER_ROUTINE)(_In_ DWORD);
|
|
||||||
|
|
||||||
typedef struct _KEY_EVENT_RECORD {
|
typedef struct _KEY_EVENT_RECORD {
|
||||||
BOOL bKeyDown;
|
BOOL bKeyDown;
|
||||||
|
@ -310,136 +331,288 @@ typedef struct _CONSOLE_FONT_INFOEX {
|
||||||
WCHAR FaceName[LF_FACESIZE];
|
WCHAR FaceName[LF_FACESIZE];
|
||||||
} CONSOLE_FONT_INFOEX, *PCONSOLE_FONT_INFOEX;
|
} CONSOLE_FONT_INFOEX, *PCONSOLE_FONT_INFOEX;
|
||||||
#endif
|
#endif
|
||||||
|
#endif // (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AllocConsole(VOID);
|
||||||
|
|
||||||
|
#if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AttachConsole(
|
||||||
|
_In_ DWORD dwProcessId);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
BOOL WINAPI AllocConsole(VOID);
|
|
||||||
|
|
||||||
#if (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
|
#if (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
|
||||||
BOOL WINAPI AttachConsole(_In_ DWORD);
|
|
||||||
|
|
||||||
BOOL WINAPI AddConsoleAliasA(_In_ LPCSTR, _In_ LPCSTR, _In_ LPCSTR);
|
WINBASEAPI
|
||||||
BOOL WINAPI AddConsoleAliasW(_In_ LPCWSTR, _In_ LPCWSTR, _In_ LPCWSTR);
|
DWORD
|
||||||
|
WINAPI
|
||||||
|
GetConsoleProcessList(
|
||||||
|
_Out_writes_(dwProcessCount) LPDWORD lpdwProcessList,
|
||||||
|
_In_ DWORD dwProcessCount);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AddConsoleAliasA(
|
||||||
|
_In_ LPCSTR Source,
|
||||||
|
_In_ LPCSTR Target,
|
||||||
|
_In_ LPCSTR ExeName);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
AddConsoleAliasW(
|
||||||
|
_In_ LPCWSTR Source,
|
||||||
|
_In_ LPCWSTR Target,
|
||||||
|
_In_ LPCWSTR ExeName);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
DWORD
|
DWORD
|
||||||
WINAPI
|
WINAPI
|
||||||
GetConsoleAliasA(
|
GetConsoleAliasA(
|
||||||
_In_ LPSTR Source,
|
_In_ LPCSTR Source,
|
||||||
_Out_writes_(TargetBufferLength) LPSTR TargetBuffer,
|
_Out_writes_(TargetBufferLength) LPSTR TargetBuffer,
|
||||||
_In_ DWORD TargetBufferLength,
|
_In_ DWORD TargetBufferLength,
|
||||||
_In_ LPSTR ExeName);
|
_In_ LPCSTR ExeName);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
DWORD
|
DWORD
|
||||||
WINAPI
|
WINAPI
|
||||||
GetConsoleAliasW(
|
GetConsoleAliasW(
|
||||||
_In_ LPWSTR Source,
|
_In_ LPCWSTR Source,
|
||||||
_Out_writes_(TargetBufferLength) LPWSTR TargetBuffer,
|
_Out_writes_(TargetBufferLength) LPWSTR TargetBuffer,
|
||||||
_In_ DWORD TargetBufferLength,
|
_In_ DWORD TargetBufferLength,
|
||||||
_In_ LPWSTR ExeName);
|
_In_ LPCWSTR ExeName);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
DWORD
|
DWORD
|
||||||
WINAPI
|
WINAPI
|
||||||
GetConsoleAliasesA(
|
GetConsoleAliasesA(
|
||||||
_Out_writes_(AliasBufferLength) LPSTR AliasBuffer,
|
_Out_writes_(AliasBufferLength) LPSTR AliasBuffer,
|
||||||
_In_ DWORD AliasBufferLength,
|
_In_ DWORD AliasBufferLength,
|
||||||
_In_ LPSTR ExeName);
|
_In_ LPCSTR ExeName);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
DWORD
|
DWORD
|
||||||
WINAPI
|
WINAPI
|
||||||
GetConsoleAliasesW(
|
GetConsoleAliasesW(
|
||||||
_Out_writes_(AliasBufferLength) LPWSTR AliasBuffer,
|
_Out_writes_(AliasBufferLength) LPWSTR AliasBuffer,
|
||||||
_In_ DWORD AliasBufferLength,
|
_In_ DWORD AliasBufferLength,
|
||||||
_In_ LPWSTR ExeName);
|
_In_ LPCWSTR ExeName);
|
||||||
|
|
||||||
DWORD WINAPI GetConsoleAliasesLengthA(_In_ LPSTR ExeName);
|
WINBASEAPI
|
||||||
DWORD WINAPI GetConsoleAliasesLengthW(_In_ LPWSTR ExeName);
|
DWORD
|
||||||
|
WINAPI
|
||||||
|
GetConsoleAliasesLengthA(
|
||||||
|
_In_ LPCSTR ExeName);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
DWORD
|
||||||
|
WINAPI
|
||||||
|
GetConsoleAliasesLengthW(
|
||||||
|
_In_ LPCWSTR ExeName);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
DWORD
|
DWORD
|
||||||
WINAPI
|
WINAPI
|
||||||
GetConsoleAliasExesA(
|
GetConsoleAliasExesA(
|
||||||
_Out_writes_(ExeNameBufferLength) LPSTR ExeNameBuffer,
|
_Out_writes_(ExeNameBufferLength) LPSTR ExeNameBuffer,
|
||||||
_In_ DWORD ExeNameBufferLength);
|
_In_ DWORD ExeNameBufferLength);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
DWORD
|
DWORD
|
||||||
WINAPI
|
WINAPI
|
||||||
GetConsoleAliasExesW(
|
GetConsoleAliasExesW(
|
||||||
_Out_writes_(ExeNameBufferLength) LPWSTR ExeNameBuffer,
|
_Out_writes_(ExeNameBufferLength) LPWSTR ExeNameBuffer,
|
||||||
_In_ DWORD ExeNameBufferLength);
|
_In_ DWORD ExeNameBufferLength);
|
||||||
|
|
||||||
DWORD WINAPI GetConsoleAliasExesLengthA(VOID);
|
WINBASEAPI
|
||||||
DWORD WINAPI GetConsoleAliasExesLengthW(VOID);
|
DWORD
|
||||||
#endif
|
WINAPI
|
||||||
|
GetConsoleAliasExesLengthA(VOID);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
DWORD
|
||||||
|
WINAPI
|
||||||
|
GetConsoleAliasExesLengthW(VOID);
|
||||||
|
|
||||||
|
#endif // (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
HANDLE
|
HANDLE
|
||||||
WINAPI
|
WINAPI
|
||||||
CreateConsoleScreenBuffer(
|
CreateConsoleScreenBuffer(
|
||||||
_In_ DWORD,
|
_In_ DWORD dwDesiredAccess,
|
||||||
_In_ DWORD,
|
_In_ DWORD dwShareMode,
|
||||||
_In_opt_ CONST SECURITY_ATTRIBUTES*,
|
_In_opt_ CONST SECURITY_ATTRIBUTES *lpSecurityAttributes,
|
||||||
_In_ DWORD,
|
_In_ DWORD dwFlags,
|
||||||
_Reserved_ LPVOID);
|
_Reserved_ LPVOID lpScreenBufferData);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
FillConsoleOutputAttribute(
|
FillConsoleOutputAttribute(
|
||||||
_In_ HANDLE,
|
_In_ HANDLE hConsoleOutput,
|
||||||
_In_ WORD,
|
_In_ WORD wAttribute,
|
||||||
_In_ DWORD,
|
_In_ DWORD nLength,
|
||||||
_In_ COORD,
|
_In_ COORD dwWriteCoord,
|
||||||
_Out_ PDWORD);
|
_Out_ LPDWORD lpNumberOfAttrsWritten);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
FillConsoleOutputCharacterA(
|
FillConsoleOutputCharacterA(
|
||||||
_In_ HANDLE,
|
_In_ HANDLE hConsoleOutput,
|
||||||
_In_ CHAR,
|
_In_ CHAR cCharacter,
|
||||||
_In_ DWORD,
|
_In_ DWORD nLength,
|
||||||
_In_ COORD,
|
_In_ COORD dwWriteCoord,
|
||||||
_Out_ PDWORD);
|
_Out_ LPDWORD lpNumberOfCharsWritten);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
FillConsoleOutputCharacterW(
|
FillConsoleOutputCharacterW(
|
||||||
_In_ HANDLE,
|
_In_ HANDLE hConsoleOutput,
|
||||||
_In_ WCHAR,
|
_In_ WCHAR cCharacter,
|
||||||
_In_ DWORD,
|
_In_ DWORD nLength,
|
||||||
_In_ COORD,
|
_In_ COORD dwWriteCoord,
|
||||||
_Out_ PDWORD);
|
_Out_ LPDWORD lpNumberOfCharsWritten);
|
||||||
|
|
||||||
BOOL WINAPI FlushConsoleInputBuffer(_In_ HANDLE);
|
WINBASEAPI
|
||||||
BOOL WINAPI FreeConsole(VOID);
|
BOOL
|
||||||
BOOL WINAPI GenerateConsoleCtrlEvent(_In_ DWORD, _In_ DWORD);
|
WINAPI
|
||||||
UINT WINAPI GetConsoleCP(VOID);
|
FlushConsoleInputBuffer(
|
||||||
BOOL WINAPI GetConsoleCursorInfo(_In_ HANDLE, _Out_ PCONSOLE_CURSOR_INFO);
|
_In_ HANDLE hConsoleInput);
|
||||||
BOOL WINAPI GetConsoleMode(_In_ HANDLE, _Out_ PDWORD);
|
|
||||||
UINT WINAPI GetConsoleOutputCP(VOID);
|
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
FreeConsole(VOID);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
GenerateConsoleCtrlEvent(
|
||||||
|
_In_ DWORD dwCtrlEvent,
|
||||||
|
_In_ DWORD dwProcessGroupId);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
UINT
|
||||||
|
WINAPI
|
||||||
|
GetConsoleCP(VOID);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
GetConsoleCursorInfo(
|
||||||
|
_In_ HANDLE hConsoleOutput,
|
||||||
|
_Out_ PCONSOLE_CURSOR_INFO lpConsoleCursorInfo);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
GetConsoleMode(
|
||||||
|
_In_ HANDLE hConsoleHandle,
|
||||||
|
_Out_ LPDWORD lpMode);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
UINT
|
||||||
|
WINAPI
|
||||||
|
GetConsoleOutputCP(VOID);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
GetConsoleScreenBufferInfo(
|
GetConsoleScreenBufferInfo(
|
||||||
_In_ HANDLE,
|
_In_ HANDLE hConsoleOutput,
|
||||||
_Out_ PCONSOLE_SCREEN_BUFFER_INFO);
|
_Out_ PCONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo);
|
||||||
|
|
||||||
/* Undocumented, see http://blog.airesoft.co.uk/2012/10/things-ms-can-do-that-they-dont-tell-you-about-console-graphics/ */
|
#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
|
||||||
BOOL WINAPI InvalidateConsoleDIBits(_In_ HANDLE, _In_ PSMALL_RECT);
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
GetConsoleScreenBufferInfoEx(
|
||||||
|
_In_ HANDLE hConsoleOutput,
|
||||||
|
_Inout_ PCONSOLE_SCREEN_BUFFER_INFOEX lpConsoleScreenBufferInfoEx);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetConsoleScreenBufferInfoEx(
|
||||||
|
_In_ HANDLE hConsoleOutput,
|
||||||
|
_In_ PCONSOLE_SCREEN_BUFFER_INFOEX lpConsoleScreenBufferInfoEx);
|
||||||
|
#endif // (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
DWORD
|
DWORD
|
||||||
WINAPI
|
WINAPI
|
||||||
GetConsoleTitleA(
|
GetConsoleTitleA(
|
||||||
_Out_writes_(nSize) LPSTR lpConsoleTitle,
|
_Out_writes_(nSize) LPSTR lpConsoleTitle,
|
||||||
_In_ DWORD nSize);
|
_In_ DWORD nSize);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
DWORD
|
DWORD
|
||||||
WINAPI
|
WINAPI
|
||||||
GetConsoleTitleW(
|
GetConsoleTitleW(
|
||||||
_Out_writes_(nSize) LPWSTR lpConsoleTitle,
|
_Out_writes_(nSize) LPWSTR lpConsoleTitle,
|
||||||
_In_ DWORD nSize);
|
_In_ DWORD nSize);
|
||||||
|
|
||||||
COORD
|
#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
|
||||||
WINAPI
|
|
||||||
GetConsoleFontSize(
|
|
||||||
_In_ HANDLE hConsoleOutput,
|
|
||||||
_In_ DWORD nFont);
|
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
DWORD
|
||||||
|
WINAPI
|
||||||
|
GetConsoleOriginalTitleA(
|
||||||
|
_Out_writes_(nSize) LPSTR lpConsoleTitle,
|
||||||
|
_In_ DWORD nSize);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
DWORD
|
||||||
|
WINAPI
|
||||||
|
GetConsoleOriginalTitleW(
|
||||||
|
_Out_writes_(nSize) LPWSTR lpConsoleTitle,
|
||||||
|
_In_ DWORD nSize);
|
||||||
|
|
||||||
|
#ifndef NOGDI
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
GetCurrentConsoleFontEx(
|
||||||
|
_In_ HANDLE hConsoleOutput,
|
||||||
|
_In_ BOOL bMaximumWindow,
|
||||||
|
_Out_ PCONSOLE_FONT_INFOEX lpConsoleCurrentFontEx);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetCurrentConsoleFontEx(
|
||||||
|
_In_ HANDLE hConsoleOutput,
|
||||||
|
_In_ BOOL bMaximumWindow,
|
||||||
|
_In_ PCONSOLE_FONT_INFOEX lpConsoleCurrentFontEx);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
GetConsoleHistoryInfo(
|
||||||
|
_Out_ PCONSOLE_HISTORY_INFO lpConsoleHistoryInfo);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetConsoleHistoryInfo(
|
||||||
|
_In_ PCONSOLE_HISTORY_INFO lpConsoleHistoryInfo);
|
||||||
|
|
||||||
|
#endif // (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
|
||||||
|
|
||||||
|
#if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
GetCurrentConsoleFont(
|
GetCurrentConsoleFont(
|
||||||
|
@ -447,11 +620,31 @@ GetCurrentConsoleFont(
|
||||||
_In_ BOOL bMaximumWindow,
|
_In_ BOOL bMaximumWindow,
|
||||||
_Out_ PCONSOLE_FONT_INFO lpConsoleCurrentFont);
|
_Out_ PCONSOLE_FONT_INFO lpConsoleCurrentFont);
|
||||||
|
|
||||||
#if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
|
WINBASEAPI
|
||||||
|
COORD
|
||||||
|
WINAPI
|
||||||
|
GetConsoleFontSize(
|
||||||
|
_In_ HANDLE hConsoleOutput,
|
||||||
|
_In_ DWORD nFont);
|
||||||
|
|
||||||
HWND WINAPI GetConsoleWindow(VOID);
|
WINBASEAPI
|
||||||
BOOL WINAPI GetConsoleDisplayMode(_Out_ LPDWORD lpModeFlags);
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
GetConsoleSelectionInfo(
|
||||||
|
_Out_ PCONSOLE_SELECTION_INFO lpConsoleSelectionInfo);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
HWND
|
||||||
|
WINAPI
|
||||||
|
GetConsoleWindow(VOID);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
GetConsoleDisplayMode(
|
||||||
|
_Out_ LPDWORD lpModeFlags);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
SetConsoleDisplayMode(
|
SetConsoleDisplayMode(
|
||||||
|
@ -459,13 +652,29 @@ SetConsoleDisplayMode(
|
||||||
_In_ DWORD dwFlags,
|
_In_ DWORD dwFlags,
|
||||||
_Out_opt_ PCOORD lpNewScreenBufferDimensions);
|
_Out_opt_ PCOORD lpNewScreenBufferDimensions);
|
||||||
|
|
||||||
#endif
|
#endif // (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
|
||||||
|
|
||||||
COORD WINAPI GetLargestConsoleWindowSize(_In_ HANDLE);
|
WINBASEAPI
|
||||||
BOOL WINAPI GetNumberOfConsoleInputEvents(_In_ HANDLE, _Out_ PDWORD);
|
COORD
|
||||||
BOOL WINAPI GetNumberOfConsoleMouseButtons(_Out_ PDWORD);
|
WINAPI
|
||||||
|
GetLargestConsoleWindowSize(
|
||||||
|
_In_ HANDLE hConsoleOutput);
|
||||||
|
|
||||||
_Success_(return != 0)
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
GetNumberOfConsoleInputEvents(
|
||||||
|
_In_ HANDLE hConsoleInput,
|
||||||
|
_Out_ LPDWORD lpNumberOfEvents);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
GetNumberOfConsoleMouseButtons(
|
||||||
|
_Out_ LPDWORD lpNumberOfMouseButtons);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
_Success_(return != FALSE)
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI PeekConsoleInputA(
|
WINAPI PeekConsoleInputA(
|
||||||
_In_ HANDLE hConsoleInput,
|
_In_ HANDLE hConsoleInput,
|
||||||
|
@ -473,7 +682,8 @@ WINAPI PeekConsoleInputA(
|
||||||
_In_ DWORD nLength,
|
_In_ DWORD nLength,
|
||||||
_Out_ LPDWORD lpNumberOfEventsRead);
|
_Out_ LPDWORD lpNumberOfEventsRead);
|
||||||
|
|
||||||
_Success_(return != 0)
|
WINBASEAPI
|
||||||
|
_Success_(return != FALSE)
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
PeekConsoleInputW(
|
PeekConsoleInputW(
|
||||||
|
@ -482,64 +692,49 @@ PeekConsoleInputW(
|
||||||
_In_ DWORD nLength,
|
_In_ DWORD nLength,
|
||||||
_Out_ LPDWORD lpNumberOfEventsRead);
|
_Out_ LPDWORD lpNumberOfEventsRead);
|
||||||
|
|
||||||
_Success_(return != 0)
|
WINBASEAPI
|
||||||
|
_Success_(return != FALSE)
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
ReadConsoleA(
|
ReadConsoleA(
|
||||||
_In_ HANDLE hConsoleInput,
|
_In_ HANDLE hConsoleInput,
|
||||||
_Out_writes_bytes_to_(nNumberOfCharsToRead * sizeof(CHAR), *lpNumberOfCharsRead * sizeof(CHAR)) LPVOID lpBuffer,
|
_Out_writes_bytes_to_(nNumberOfCharsToRead * sizeof(CHAR), *lpNumberOfCharsRead * sizeof(CHAR)) LPVOID lpBuffer,
|
||||||
_In_ DWORD nNumberOfCharsToRead,
|
_In_ DWORD nNumberOfCharsToRead,
|
||||||
_Out_ _Deref_out_range_(<= , nNumberOfCharsToRead) LPDWORD lpNumberOfCharsRead,
|
_Out_ _Deref_out_range_(<=, nNumberOfCharsToRead) LPDWORD lpNumberOfCharsRead,
|
||||||
_In_opt_ PCONSOLE_READCONSOLE_CONTROL pInputControl);
|
_In_opt_ PCONSOLE_READCONSOLE_CONTROL pInputControl);
|
||||||
|
|
||||||
_Success_(return != 0)
|
WINBASEAPI
|
||||||
|
_Success_(return != FALSE)
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
ReadConsoleW(
|
ReadConsoleW(
|
||||||
_In_ HANDLE hConsoleInput,
|
_In_ HANDLE hConsoleInput,
|
||||||
_Out_writes_bytes_to_(nNumberOfCharsToRead * sizeof(WCHAR), *lpNumberOfCharsRead * sizeof(WCHAR)) LPVOID lpBuffer,
|
_Out_writes_bytes_to_(nNumberOfCharsToRead * sizeof(WCHAR), *lpNumberOfCharsRead * sizeof(WCHAR)) LPVOID lpBuffer,
|
||||||
_In_ DWORD nNumberOfCharsToRead,
|
_In_ DWORD nNumberOfCharsToRead,
|
||||||
_Out_ _Deref_out_range_(<= , nNumberOfCharsToRead) LPDWORD lpNumberOfCharsRead,
|
_Out_ _Deref_out_range_(<=, nNumberOfCharsToRead) LPDWORD lpNumberOfCharsRead,
|
||||||
_In_opt_ PCONSOLE_READCONSOLE_CONTROL pInputControl);
|
_In_opt_ PCONSOLE_READCONSOLE_CONTROL pInputControl);
|
||||||
|
|
||||||
_Success_(return != 0)
|
WINBASEAPI
|
||||||
|
_Success_(return != FALSE)
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
ReadConsoleInputA(
|
ReadConsoleInputA(
|
||||||
_In_ HANDLE hConsoleInput,
|
_In_ HANDLE hConsoleInput,
|
||||||
_Out_writes_to_(nLength, *lpNumberOfEventsRead) PINPUT_RECORD lpBuffer,
|
_Out_writes_to_(nLength, *lpNumberOfEventsRead) PINPUT_RECORD lpBuffer,
|
||||||
_In_ DWORD nLength,
|
_In_ DWORD nLength,
|
||||||
_Out_ _Deref_out_range_(<= , nLength) LPDWORD lpNumberOfEventsRead);
|
_Out_ _Deref_out_range_(<=, nLength) LPDWORD lpNumberOfEventsRead);
|
||||||
|
|
||||||
_Success_(return != 0)
|
WINBASEAPI
|
||||||
|
_Success_(return != FALSE)
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
ReadConsoleInputW(
|
ReadConsoleInputW(
|
||||||
_In_ HANDLE hConsoleInput,
|
_In_ HANDLE hConsoleInput,
|
||||||
_Out_writes_to_(nLength, *lpNumberOfEventsRead) PINPUT_RECORD lpBuffer,
|
_Out_writes_to_(nLength, *lpNumberOfEventsRead) PINPUT_RECORD lpBuffer,
|
||||||
_In_ DWORD nLength,
|
_In_ DWORD nLength,
|
||||||
_Out_ _Deref_out_range_(<= , nLength) LPDWORD lpNumberOfEventsRead);
|
_Out_ _Deref_out_range_(<=, nLength) LPDWORD lpNumberOfEventsRead);
|
||||||
|
|
||||||
_Success_(return != 0)
|
|
||||||
BOOL
|
|
||||||
WINAPI
|
|
||||||
ReadConsoleInputExA(
|
|
||||||
_In_ HANDLE hConsoleInput,
|
|
||||||
_Out_writes_to_(nLength, *lpNumberOfEventsRead) PINPUT_RECORD lpBuffer,
|
|
||||||
_In_ DWORD nLength,
|
|
||||||
_Out_ _Deref_out_range_(<= , nLength) LPDWORD lpNumberOfEventsRead,
|
|
||||||
_In_ WORD wFlags);
|
|
||||||
|
|
||||||
_Success_(return != 0)
|
|
||||||
BOOL
|
|
||||||
WINAPI
|
|
||||||
ReadConsoleInputExW(
|
|
||||||
_In_ HANDLE hConsoleInput,
|
|
||||||
_Out_writes_to_(nLength, *lpNumberOfEventsRead) PINPUT_RECORD lpBuffer,
|
|
||||||
_In_ DWORD nLength,
|
|
||||||
_Out_ _Deref_out_range_(<= , nLength) LPDWORD lpNumberOfEventsRead,
|
|
||||||
_In_ WORD wFlags);
|
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
ReadConsoleOutputAttribute(
|
ReadConsoleOutputAttribute(
|
||||||
|
@ -549,6 +744,7 @@ ReadConsoleOutputAttribute(
|
||||||
_In_ COORD dwReadCoord,
|
_In_ COORD dwReadCoord,
|
||||||
_Out_ LPDWORD lpNumberOfAttrsRead);
|
_Out_ LPDWORD lpNumberOfAttrsRead);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
ReadConsoleOutputCharacterA(
|
ReadConsoleOutputCharacterA(
|
||||||
|
@ -558,6 +754,7 @@ ReadConsoleOutputCharacterA(
|
||||||
_In_ COORD dwReadCoord,
|
_In_ COORD dwReadCoord,
|
||||||
_Out_ LPDWORD lpNumberOfCharsRead);
|
_Out_ LPDWORD lpNumberOfCharsRead);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
ReadConsoleOutputCharacterW(
|
ReadConsoleOutputCharacterW(
|
||||||
|
@ -567,6 +764,7 @@ ReadConsoleOutputCharacterW(
|
||||||
_In_ COORD dwReadCoord,
|
_In_ COORD dwReadCoord,
|
||||||
_Out_ LPDWORD lpNumberOfCharsRead);
|
_Out_ LPDWORD lpNumberOfCharsRead);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
ReadConsoleOutputA(
|
ReadConsoleOutputA(
|
||||||
|
@ -576,6 +774,7 @@ ReadConsoleOutputA(
|
||||||
_In_ COORD dwBufferCoord,
|
_In_ COORD dwBufferCoord,
|
||||||
_Inout_ PSMALL_RECT lpReadRegion);
|
_Inout_ PSMALL_RECT lpReadRegion);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
ReadConsoleOutputW(
|
ReadConsoleOutputW(
|
||||||
|
@ -585,68 +784,107 @@ ReadConsoleOutputW(
|
||||||
_In_ COORD dwBufferCoord,
|
_In_ COORD dwBufferCoord,
|
||||||
_Inout_ PSMALL_RECT lpReadRegion);
|
_Inout_ PSMALL_RECT lpReadRegion);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
ScrollConsoleScreenBufferA(
|
ScrollConsoleScreenBufferA(
|
||||||
_In_ HANDLE,
|
_In_ HANDLE hConsoleOutput,
|
||||||
_In_ const SMALL_RECT*,
|
_In_ CONST SMALL_RECT *lpScrollRectangle,
|
||||||
_In_opt_ const SMALL_RECT*,
|
_In_opt_ CONST SMALL_RECT *lpClipRectangle,
|
||||||
_In_ COORD,
|
_In_ COORD dwDestinationOrigin,
|
||||||
_In_ const CHAR_INFO*);
|
_In_ CONST CHAR_INFO *lpFill);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
ScrollConsoleScreenBufferW(
|
ScrollConsoleScreenBufferW(
|
||||||
_In_ HANDLE,
|
_In_ HANDLE hConsoleOutput,
|
||||||
_In_ const SMALL_RECT*,
|
_In_ CONST SMALL_RECT *lpScrollRectangle,
|
||||||
_In_opt_ const SMALL_RECT*,
|
_In_opt_ CONST SMALL_RECT *lpClipRectangle,
|
||||||
_In_ COORD,
|
_In_ COORD dwDestinationOrigin,
|
||||||
_In_ const CHAR_INFO*);
|
_In_ CONST CHAR_INFO *lpFill);
|
||||||
|
|
||||||
BOOL WINAPI SetConsoleActiveScreenBuffer(_In_ HANDLE);
|
WINBASEAPI
|
||||||
BOOL WINAPI SetConsoleCP(_In_ UINT);
|
BOOL
|
||||||
BOOL WINAPI SetConsoleCtrlHandler(_In_opt_ PHANDLER_ROUTINE, _In_ BOOL);
|
WINAPI
|
||||||
BOOL WINAPI SetConsoleCursorInfo(_In_ HANDLE, _In_ const CONSOLE_CURSOR_INFO*);
|
SetConsoleActiveScreenBuffer(
|
||||||
BOOL WINAPI SetConsoleCursorPosition(_In_ HANDLE, _In_ COORD);
|
_In_ HANDLE hConsoleOutput);
|
||||||
BOOL WINAPI SetConsoleMode(_In_ HANDLE, _In_ DWORD);
|
|
||||||
BOOL WINAPI SetConsoleOutputCP(_In_ UINT);
|
|
||||||
BOOL WINAPI SetConsoleScreenBufferSize(_In_ HANDLE, _In_ COORD);
|
|
||||||
BOOL WINAPI SetConsoleTextAttribute(_In_ HANDLE, _In_ WORD);
|
|
||||||
BOOL WINAPI SetConsoleTitleA(_In_ LPCSTR);
|
|
||||||
BOOL WINAPI SetConsoleTitleW(_In_ LPCWSTR);
|
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetConsoleCP(
|
||||||
|
_In_ UINT wCodePageID);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetConsoleCtrlHandler(
|
||||||
|
_In_opt_ PHANDLER_ROUTINE HandlerRoutine,
|
||||||
|
_In_ BOOL Add);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetConsoleCursorInfo(
|
||||||
|
_In_ HANDLE hConsoleOutput,
|
||||||
|
_In_ CONST CONSOLE_CURSOR_INFO *lpConsoleCursorInfo);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetConsoleCursorPosition(
|
||||||
|
_In_ HANDLE hConsoleOutput,
|
||||||
|
_In_ COORD dwCursorPosition);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetConsoleMode(
|
||||||
|
_In_ HANDLE hConsoleHandle,
|
||||||
|
_In_ DWORD dwMode);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetConsoleOutputCP(
|
||||||
|
_In_ UINT wCodePageID);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetConsoleScreenBufferSize(
|
||||||
|
_In_ HANDLE hConsoleOutput,
|
||||||
|
_In_ COORD dwSize);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetConsoleTextAttribute(
|
||||||
|
_In_ HANDLE hConsoleOutput,
|
||||||
|
_In_ WORD wAttributes);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetConsoleTitleA(
|
||||||
|
_In_ LPCSTR lpConsoleTitle);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetConsoleTitleW(
|
||||||
|
_In_ LPCWSTR lpConsoleTitle);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
SetConsoleWindowInfo(
|
SetConsoleWindowInfo(
|
||||||
_In_ HANDLE,
|
_In_ HANDLE hConsoleOutput,
|
||||||
_In_ BOOL,
|
_In_ BOOL bAbsolute,
|
||||||
_In_ const SMALL_RECT*);
|
_In_ CONST SMALL_RECT *lpConsoleWindow);
|
||||||
|
|
||||||
/* Undocumented, see http://undoc.airesoft.co.uk/kernel32.dll/ConsoleMenuControl.php */
|
|
||||||
HMENU WINAPI ConsoleMenuControl(_In_ HANDLE, _In_ DWORD, _In_ DWORD);
|
|
||||||
/* Undocumented */
|
|
||||||
BOOL WINAPI SetConsoleMenuClose(_In_ BOOL);
|
|
||||||
/* Undocumented, see http://undoc.airesoft.co.uk/kernel32.dll/SetConsoleCursor.php */
|
|
||||||
BOOL WINAPI SetConsoleCursor(_In_ HANDLE, _In_ HCURSOR);
|
|
||||||
/* Undocumented, see http://undoc.airesoft.co.uk/kernel32.dll/ShowConsoleCursor.php */
|
|
||||||
INT WINAPI ShowConsoleCursor(_In_ HANDLE, _In_ BOOL);
|
|
||||||
/* Undocumented */
|
|
||||||
BOOL WINAPI SetConsoleIcon(_In_ HICON);
|
|
||||||
/* Undocumented, see http://comments.gmane.org/gmane.comp.lang.harbour.devel/27844 */
|
|
||||||
BOOL WINAPI SetConsolePalette(_In_ HANDLE, _In_ HPALETTE, _In_ UINT);
|
|
||||||
/* Undocumented */
|
|
||||||
BOOL WINAPI CloseConsoleHandle(_In_ HANDLE);
|
|
||||||
/* Undocumented */
|
|
||||||
HANDLE WINAPI GetConsoleInputWaitHandle(VOID);
|
|
||||||
/* Undocumented */
|
|
||||||
BOOL WINAPI VerifyConsoleIoHandle(_In_ HANDLE);
|
|
||||||
/* Undocumented */
|
|
||||||
BOOL
|
|
||||||
WINAPI
|
|
||||||
RegisterConsoleVDM(_In_ DWORD, _In_ HANDLE, _In_ HANDLE, _In_ HANDLE, _In_ DWORD,
|
|
||||||
_Out_ LPDWORD, _Out_ PVOID*, _In_ PVOID, _In_ DWORD, _In_ COORD,
|
|
||||||
_Out_ PVOID*);
|
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
WriteConsoleA(
|
WriteConsoleA(
|
||||||
|
@ -656,6 +894,7 @@ WriteConsoleA(
|
||||||
_Out_opt_ LPDWORD lpNumberOfCharsWritten,
|
_Out_opt_ LPDWORD lpNumberOfCharsWritten,
|
||||||
_Reserved_ LPVOID lpReserved);
|
_Reserved_ LPVOID lpReserved);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
WriteConsoleW(
|
WriteConsoleW(
|
||||||
|
@ -665,6 +904,7 @@ WriteConsoleW(
|
||||||
_Out_opt_ LPDWORD lpNumberOfCharsWritten,
|
_Out_opt_ LPDWORD lpNumberOfCharsWritten,
|
||||||
_Reserved_ LPVOID lpReserved);
|
_Reserved_ LPVOID lpReserved);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
WriteConsoleInputA(
|
WriteConsoleInputA(
|
||||||
|
@ -673,6 +913,7 @@ WriteConsoleInputA(
|
||||||
_In_ DWORD nLength,
|
_In_ DWORD nLength,
|
||||||
_Out_ LPDWORD lpNumberOfEventsWritten);
|
_Out_ LPDWORD lpNumberOfEventsWritten);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
WriteConsoleInputW(
|
WriteConsoleInputW(
|
||||||
|
@ -681,22 +922,7 @@ WriteConsoleInputW(
|
||||||
_In_ DWORD nLength,
|
_In_ DWORD nLength,
|
||||||
_Out_ LPDWORD lpNumberOfEventsWritten);
|
_Out_ LPDWORD lpNumberOfEventsWritten);
|
||||||
|
|
||||||
BOOL
|
WINBASEAPI
|
||||||
WINAPI
|
|
||||||
WriteConsoleInputVDMA(
|
|
||||||
_In_ HANDLE hConsoleInput,
|
|
||||||
_In_reads_(nLength) CONST INPUT_RECORD *lpBuffer,
|
|
||||||
_In_ DWORD nLength,
|
|
||||||
_Out_ LPDWORD lpNumberOfEventsWritten);
|
|
||||||
|
|
||||||
BOOL
|
|
||||||
WINAPI
|
|
||||||
WriteConsoleInputVDMW(
|
|
||||||
_In_ HANDLE hConsoleInput,
|
|
||||||
_In_reads_(nLength) CONST INPUT_RECORD *lpBuffer,
|
|
||||||
_In_ DWORD nLength,
|
|
||||||
_Out_ LPDWORD lpNumberOfEventsWritten);
|
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
WriteConsoleOutputA(
|
WriteConsoleOutputA(
|
||||||
|
@ -706,6 +932,7 @@ WriteConsoleOutputA(
|
||||||
_In_ COORD dwBufferCoord,
|
_In_ COORD dwBufferCoord,
|
||||||
_Inout_ PSMALL_RECT lpWriteRegion);
|
_Inout_ PSMALL_RECT lpWriteRegion);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
WriteConsoleOutputW(
|
WriteConsoleOutputW(
|
||||||
|
@ -715,6 +942,7 @@ WriteConsoleOutputW(
|
||||||
_In_ COORD dwBufferCoord,
|
_In_ COORD dwBufferCoord,
|
||||||
_Inout_ PSMALL_RECT lpWriteRegion);
|
_Inout_ PSMALL_RECT lpWriteRegion);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
WriteConsoleOutputAttribute(
|
WriteConsoleOutputAttribute(
|
||||||
|
@ -724,6 +952,7 @@ WriteConsoleOutputAttribute(
|
||||||
_In_ COORD dwWriteCoord,
|
_In_ COORD dwWriteCoord,
|
||||||
_Out_ LPDWORD lpNumberOfAttrsWritten);
|
_Out_ LPDWORD lpNumberOfAttrsWritten);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
WriteConsoleOutputCharacterA(
|
WriteConsoleOutputCharacterA(
|
||||||
|
@ -733,6 +962,7 @@ WriteConsoleOutputCharacterA(
|
||||||
_In_ COORD dwWriteCoord,
|
_In_ COORD dwWriteCoord,
|
||||||
_Out_ LPDWORD lpNumberOfCharsWritten);
|
_Out_ LPDWORD lpNumberOfCharsWritten);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
WriteConsoleOutputCharacterW(
|
WriteConsoleOutputCharacterW(
|
||||||
|
@ -743,6 +973,22 @@ WriteConsoleOutputCharacterW(
|
||||||
_Out_ LPDWORD lpNumberOfCharsWritten);
|
_Out_ LPDWORD lpNumberOfCharsWritten);
|
||||||
|
|
||||||
|
|
||||||
|
#if (NTDDI_VERSION >= NTDDI_WIN10_RS5)
|
||||||
|
// typedef VOID *HPCON;
|
||||||
|
// CreatePseudoConsole()
|
||||||
|
// ResizePseudoConsole()
|
||||||
|
// ClosePseudoConsole()
|
||||||
|
#endif // (NTDDI_VERSION >= NTDDI_WIN10_RS5)
|
||||||
|
|
||||||
|
#if (NTDDI_VERSION >= NTDDI_WIN11_GE)
|
||||||
|
/* See https://github.com/microsoft/terminal/blob/main/doc/specs/%237335%20-%20Console%20Allocation%20Policy.md
|
||||||
|
* and https://github.com/MicrosoftDocs/Console-Docs/pull/323 */
|
||||||
|
// ALLOC_CONSOLE_MODE, ALLOC_CONSOLE_OPTIONS, ALLOC_CONSOLE_RESULT
|
||||||
|
// AllocConsoleWithOptions()
|
||||||
|
// ReleasePseudoConsole()
|
||||||
|
#endif // (NTDDI_VERSION >= NTDDI_WIN11_GE)
|
||||||
|
|
||||||
|
|
||||||
#ifdef UNICODE
|
#ifdef UNICODE
|
||||||
#define AddConsoleAlias AddConsoleAliasW
|
#define AddConsoleAlias AddConsoleAliasW
|
||||||
#define GetConsoleAlias GetConsoleAliasW
|
#define GetConsoleAlias GetConsoleAliasW
|
||||||
|
@ -751,17 +997,16 @@ WriteConsoleOutputCharacterW(
|
||||||
#define GetConsoleAliasExes GetConsoleAliasExesW
|
#define GetConsoleAliasExes GetConsoleAliasExesW
|
||||||
#define GetConsoleAliasExesLength GetConsoleAliasExesLengthW
|
#define GetConsoleAliasExesLength GetConsoleAliasExesLengthW
|
||||||
#define GetConsoleTitle GetConsoleTitleW
|
#define GetConsoleTitle GetConsoleTitleW
|
||||||
|
#define GetConsoleOriginalTitle GetConsoleOriginalTitleW
|
||||||
#define PeekConsoleInput PeekConsoleInputW
|
#define PeekConsoleInput PeekConsoleInputW
|
||||||
#define ReadConsole ReadConsoleW
|
#define ReadConsole ReadConsoleW
|
||||||
#define ReadConsoleInput ReadConsoleInputW
|
#define ReadConsoleInput ReadConsoleInputW
|
||||||
#define ReadConsoleInputEx ReadConsoleInputExW
|
|
||||||
#define ReadConsoleOutput ReadConsoleOutputW
|
#define ReadConsoleOutput ReadConsoleOutputW
|
||||||
#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterW
|
#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterW
|
||||||
#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferW
|
#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferW
|
||||||
#define SetConsoleTitle SetConsoleTitleW
|
#define SetConsoleTitle SetConsoleTitleW
|
||||||
#define WriteConsole WriteConsoleW
|
#define WriteConsole WriteConsoleW
|
||||||
#define WriteConsoleInput WriteConsoleInputW
|
#define WriteConsoleInput WriteConsoleInputW
|
||||||
#define WriteConsoleInputVDM WriteConsoleInputVDMW
|
|
||||||
#define WriteConsoleOutput WriteConsoleOutputW
|
#define WriteConsoleOutput WriteConsoleOutputW
|
||||||
#define FillConsoleOutputCharacter FillConsoleOutputCharacterW
|
#define FillConsoleOutputCharacter FillConsoleOutputCharacterW
|
||||||
#define WriteConsoleOutputCharacter WriteConsoleOutputCharacterW
|
#define WriteConsoleOutputCharacter WriteConsoleOutputCharacterW
|
||||||
|
@ -773,17 +1018,16 @@ WriteConsoleOutputCharacterW(
|
||||||
#define GetConsoleAliasExes GetConsoleAliasExesA
|
#define GetConsoleAliasExes GetConsoleAliasExesA
|
||||||
#define GetConsoleAliasExesLength GetConsoleAliasExesLengthA
|
#define GetConsoleAliasExesLength GetConsoleAliasExesLengthA
|
||||||
#define GetConsoleTitle GetConsoleTitleA
|
#define GetConsoleTitle GetConsoleTitleA
|
||||||
|
#define GetConsoleOriginalTitle GetConsoleOriginalTitleA
|
||||||
#define PeekConsoleInput PeekConsoleInputA
|
#define PeekConsoleInput PeekConsoleInputA
|
||||||
#define ReadConsole ReadConsoleA
|
#define ReadConsole ReadConsoleA
|
||||||
#define ReadConsoleInput ReadConsoleInputA
|
#define ReadConsoleInput ReadConsoleInputA
|
||||||
#define ReadConsoleInputEx ReadConsoleInputExA
|
|
||||||
#define ReadConsoleOutput ReadConsoleOutputA
|
#define ReadConsoleOutput ReadConsoleOutputA
|
||||||
#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterA
|
#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterA
|
||||||
#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferA
|
#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferA
|
||||||
#define SetConsoleTitle SetConsoleTitleA
|
#define SetConsoleTitle SetConsoleTitleA
|
||||||
#define WriteConsole WriteConsoleA
|
#define WriteConsole WriteConsoleA
|
||||||
#define WriteConsoleInput WriteConsoleInputA
|
#define WriteConsoleInput WriteConsoleInputA
|
||||||
#define WriteConsoleInputVDM WriteConsoleInputVDMA
|
|
||||||
#define WriteConsoleOutput WriteConsoleOutputA
|
#define WriteConsoleOutput WriteConsoleOutputA
|
||||||
#define FillConsoleOutputCharacter FillConsoleOutputCharacterA
|
#define FillConsoleOutputCharacter FillConsoleOutputCharacterA
|
||||||
#define WriteConsoleOutputCharacter WriteConsoleOutputCharacterA
|
#define WriteConsoleOutputCharacter WriteConsoleOutputCharacterA
|
||||||
|
@ -797,4 +1041,4 @@ WriteConsoleOutputCharacterW(
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* _WINCON_H */
|
#endif /* _WINCON_ */
|
||||||
|
|
623
sdk/include/reactos/wincon_undoc.h
Normal file
623
sdk/include/reactos/wincon_undoc.h
Normal file
|
@ -0,0 +1,623 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS SDK
|
||||||
|
* LICENSE: Dual-licensed:
|
||||||
|
* LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
|
||||||
|
* MIT (https://spdx.org/licenses/MIT)
|
||||||
|
* PURPOSE: Undocumented Console API definitions, absent from wincon.h
|
||||||
|
* COPYRIGHT: Copyright 2013-2025 Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
|
||||||
|
*
|
||||||
|
* REMARK: This header is based on the following resources:
|
||||||
|
* - https://undoc.airesoft.co.uk/kernel32.dll/
|
||||||
|
* - https://github.com/microsoft/terminal/blob/main/dep/Console/ntcon.h
|
||||||
|
* - https://github.com/microsoft/terminal/blob/main/dep/Console/winconp.h
|
||||||
|
* (commit f08321a0b2)
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _WINCON_UNDOC_H
|
||||||
|
#define _WINCON_UNDOC_H
|
||||||
|
|
||||||
|
#ifndef _WINCONP_ // As seen in dep/Console/winconp.h
|
||||||
|
#define _WINCONP_
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA) && !defined(NOGDI)
|
||||||
|
#include "wingdi.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef _MSC_VER
|
||||||
|
#pragma warning(push)
|
||||||
|
#pragma warning(disable:4820)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Console display modes
|
||||||
|
*/
|
||||||
|
// These flags are returned by GetConsoleDisplayMode
|
||||||
|
#define CONSOLE_WINDOWED 0 /* Windowed console */
|
||||||
|
|
||||||
|
#if 0 // Defined in wincon.h; kept here for reference.
|
||||||
|
#define CONSOLE_FULLSCREEN 1 /* Fullscreen console */
|
||||||
|
#define CONSOLE_FULLSCREEN_HARDWARE 2 /* Console owns the hardware */
|
||||||
|
|
||||||
|
// These flags are given to SetConsoleDisplayMode
|
||||||
|
#define CONSOLE_FULLSCREEN_MODE 1
|
||||||
|
#define CONSOLE_WINDOWED_MODE 2
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Color attributes for text and screen background
|
||||||
|
*/
|
||||||
|
// #define COMMON_LVB_GRID_RVERTICAL 0x1000
|
||||||
|
// NOTE: 0x2000 is unused
|
||||||
|
// #define COMMON_LVB_REVERSE_VIDEO 0x4000
|
||||||
|
#ifndef COMMON_LVB_SBCSDBCS
|
||||||
|
#define COMMON_LVB_SBCSDBCS \
|
||||||
|
(COMMON_LVB_LEADING_BYTE | COMMON_LVB_TRAILING_BYTE) /* == 0x0300 */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Screen buffer types for CreateConsoleScreenBuffer().
|
||||||
|
* See https://blog.airesoft.co.uk/2012/10/things-ms-can-do-that-they-dont-tell-you-about-console-graphics/
|
||||||
|
*/
|
||||||
|
// #define CONSOLE_TEXTMODE_BUFFER 1
|
||||||
|
#define CONSOLE_GRAPHICS_BUFFER 2
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Undocumented Control handler codes,
|
||||||
|
* additional to CTRL_C_EVENT, CTRL_BREAK_EVENT, CTRL_CLOSE_EVENT,
|
||||||
|
* CTRL_LOGOFF_EVENT, CTRL_SHUTDOWN_EVENT.
|
||||||
|
*/
|
||||||
|
#define CTRL_LAST_CLOSE_EVENT 3 // SYSTEM_ROOT_CONSOLE_EVENT
|
||||||
|
// 4 is reserved! // SYSTEM_CLOSE_EVENT
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Input mode flags, available since NT 3.51
|
||||||
|
* but documented only in Vista+ PSDK.
|
||||||
|
*/
|
||||||
|
#ifndef ENABLE_INSERT_MODE
|
||||||
|
#define ENABLE_INSERT_MODE 0x0020
|
||||||
|
#define ENABLE_QUICK_EDIT_MODE 0x0040
|
||||||
|
#define ENABLE_EXTENDED_FLAGS 0x0080
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Console selection flags
|
||||||
|
*/
|
||||||
|
#define CONSOLE_SELECTION_INVERTED 0x0010 /* Selection is inverted (turned off) */
|
||||||
|
#define CONSOLE_SELECTION_VALID (CONSOLE_SELECTION_IN_PROGRESS | \
|
||||||
|
CONSOLE_SELECTION_NOT_EMPTY | \
|
||||||
|
CONSOLE_MOUSE_SELECTION | \
|
||||||
|
CONSOLE_MOUSE_DOWN)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* History information and mode flags
|
||||||
|
*/
|
||||||
|
#ifndef HISTORY_NO_DUP_FLAG // (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
|
||||||
|
// For Get/SetConsoleHistoryInfo
|
||||||
|
#define HISTORY_NO_DUP_FLAG 0x0001
|
||||||
|
#endif
|
||||||
|
#ifndef CONSOLE_OVERSTRIKE // (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
|
||||||
|
// For SetConsoleCommandHistoryMode
|
||||||
|
#define CONSOLE_OVERSTRIKE 0x0001
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Always existed, but was added in official PSDK in Windows Vista/7.
|
||||||
|
* Kept here for reference. */
|
||||||
|
#if 0
|
||||||
|
typedef struct _CONSOLE_READCONSOLE_CONTROL {
|
||||||
|
ULONG nLength;
|
||||||
|
ULONG nInitialChars;
|
||||||
|
ULONG dwCtrlWakeupMask;
|
||||||
|
ULONG dwControlKeyState;
|
||||||
|
} CONSOLE_READCONSOLE_CONTROL, *PCONSOLE_READCONSOLE_CONTROL;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is the graphics counterpart to text-mode CONSOLE_SCREEN_BUFFER_INFO.
|
||||||
|
* See https://blog.airesoft.co.uk/2012/10/things-ms-can-do-that-they-dont-tell-you-about-console-graphics/
|
||||||
|
*/
|
||||||
|
#if defined(_WINGDI_) && !defined(NOGDI)
|
||||||
|
typedef struct _CONSOLE_GRAPHICS_BUFFER_INFO {
|
||||||
|
DWORD dwBitMapInfoLength;
|
||||||
|
LPBITMAPINFO lpBitMapInfo;
|
||||||
|
DWORD dwUsage; // DIB_PAL_COLORS or DIB_RGB_COLORS
|
||||||
|
HANDLE hMutex;
|
||||||
|
PVOID lpBitMap;
|
||||||
|
} CONSOLE_GRAPHICS_BUFFER_INFO, *PCONSOLE_GRAPHICS_BUFFER_INFO;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// typedef struct _KEY_EVENT_RECORD { ... } KEY_EVENT_RECORD, *PKEY_EVENT_RECORD;
|
||||||
|
C_ASSERT(FIELD_OFFSET(KEY_EVENT_RECORD, uChar) == 0xA);
|
||||||
|
|
||||||
|
|
||||||
|
#define EXENAME_LENGTH (255 + 1)
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
DWORD
|
||||||
|
WINAPI
|
||||||
|
GetConsoleInputExeNameA(
|
||||||
|
_In_ DWORD nBufferLength,
|
||||||
|
_Out_writes_(nBufferLength) LPSTR lpExeName);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
DWORD
|
||||||
|
WINAPI
|
||||||
|
GetConsoleInputExeNameW(
|
||||||
|
_In_ DWORD nBufferLength,
|
||||||
|
_Out_writes_(nBufferLength) LPWSTR lpExeName);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetConsoleInputExeNameA(
|
||||||
|
_In_ LPCSTR lpExeName);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetConsoleInputExeNameW(
|
||||||
|
_In_ LPCWSTR lpExeName);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
VOID
|
||||||
|
WINAPI
|
||||||
|
ExpungeConsoleCommandHistoryA(
|
||||||
|
_In_ LPCSTR lpExeName);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
VOID
|
||||||
|
WINAPI
|
||||||
|
ExpungeConsoleCommandHistoryW(
|
||||||
|
_In_ LPCWSTR lpExeName);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
DWORD
|
||||||
|
WINAPI
|
||||||
|
GetConsoleCommandHistoryA(
|
||||||
|
_Out_writes_bytes_(cbHistory) LPSTR lpHistory,
|
||||||
|
_In_ DWORD cbHistory,
|
||||||
|
_In_ LPCSTR lpExeName);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
DWORD
|
||||||
|
WINAPI
|
||||||
|
GetConsoleCommandHistoryW(
|
||||||
|
_Out_writes_bytes_(cbHistory) LPWSTR lpHistory,
|
||||||
|
_In_ DWORD cbHistory,
|
||||||
|
_In_ LPCWSTR lpExeName);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
DWORD
|
||||||
|
WINAPI
|
||||||
|
GetConsoleCommandHistoryLengthA(
|
||||||
|
_In_ LPCSTR lpExeName);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
DWORD
|
||||||
|
WINAPI
|
||||||
|
GetConsoleCommandHistoryLengthW(
|
||||||
|
_In_ LPCWSTR lpExeName);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetConsoleNumberOfCommandsA(
|
||||||
|
_In_ DWORD dwNumCommands,
|
||||||
|
_In_ LPCSTR lpExeName);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetConsoleNumberOfCommandsW(
|
||||||
|
_In_ DWORD dwNumCommands,
|
||||||
|
_In_ LPCWSTR lpExeName);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* See https://undoc.airesoft.co.uk/kernel32.dll/InvalidateConsoleDIBits.php
|
||||||
|
* and https://blog.airesoft.co.uk/2012/10/things-ms-can-do-that-they-dont-tell-you-about-console-graphics/
|
||||||
|
*/
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
InvalidateConsoleDIBits(
|
||||||
|
_In_ HANDLE hConsoleOutput,
|
||||||
|
_In_ PSMALL_RECT lpRect);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
GetConsoleHardwareState(
|
||||||
|
_In_ HANDLE hConsoleOutput,
|
||||||
|
_Out_ PDWORD Flags,
|
||||||
|
_Out_ PDWORD State);
|
||||||
|
#if 0 // FIXME: How https://github.com/microsoft/terminal/blob/main/dep/Console/winconp.h sees it:
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
GetConsoleHardwareState(
|
||||||
|
_In_ HANDLE hConsoleOutput,
|
||||||
|
_Out_ PCOORD lpResolution,
|
||||||
|
_Out_ PCOORD lpFontSize);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetConsoleHardwareState(
|
||||||
|
_In_ HANDLE hConsoleOutput,
|
||||||
|
_In_ DWORD Flags,
|
||||||
|
_In_ DWORD State);
|
||||||
|
#if 0 // FIXME: How https://github.com/microsoft/terminal/blob/main/dep/Console/winconp.h sees it:
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetConsoleHardwareState(
|
||||||
|
_In_ HANDLE hConsoleOutput,
|
||||||
|
_In_ COORD dwResolution,
|
||||||
|
_In_ COORD dwFontSize);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define CONSOLE_NOSHORTCUTKEY 0x00000000 /* No shortcut key */
|
||||||
|
#define CONSOLE_ALTTAB 0x00000001 /* Alt + Tab */
|
||||||
|
#define CONSOLE_ALTESC 0x00000002 /* Alt + Escape */
|
||||||
|
#define CONSOLE_ALTSPACE 0x00000004 /* Alt + Space */
|
||||||
|
#define CONSOLE_ALTENTER 0x00000008 /* Alt + Enter */
|
||||||
|
#define CONSOLE_ALTPRTSC 0x00000010 /* Alt Print screen */
|
||||||
|
#define CONSOLE_PRTSC 0x00000020 /* Print screen */
|
||||||
|
#define CONSOLE_CTRLESC 0x00000040 /* Ctrl + Escape */
|
||||||
|
|
||||||
|
typedef struct _APPKEY {
|
||||||
|
WORD Modifier;
|
||||||
|
WORD ScanCode;
|
||||||
|
} APPKEY, *LPAPPKEY;
|
||||||
|
|
||||||
|
#define CONSOLE_MODIFIER_SHIFT 0x0003 // Left shift key
|
||||||
|
#define CONSOLE_MODIFIER_CONTROL 0x0004 // Either Control shift key
|
||||||
|
#define CONSOLE_MODIFIER_ALT 0x0008 // Either Alt shift key
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetConsoleKeyShortcuts(
|
||||||
|
_In_ BOOL bSet,
|
||||||
|
_In_ BYTE bReserveKeys,
|
||||||
|
_In_reads_(dwNumAppKeys) LPAPPKEY lpAppKeys,
|
||||||
|
_In_ DWORD dwNumAppKeys);
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef KL_NAMELENGTH // Defined in winuser.h
|
||||||
|
#define KL_NAMELENGTH 9
|
||||||
|
#endif
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
GetConsoleKeyboardLayoutNameA(
|
||||||
|
_Out_writes_(KL_NAMELENGTH) LPSTR pszLayout);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
GetConsoleKeyboardLayoutNameW(
|
||||||
|
_Out_writes_(KL_NAMELENGTH) LPWSTR pszLayout);
|
||||||
|
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
DWORD
|
||||||
|
WINAPI
|
||||||
|
SetLastConsoleEventActive(VOID);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ReadConsoleInputExA/W, now documented at:
|
||||||
|
* https://learn.microsoft.com/en-us/windows/console/readconsoleinputex
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Read input flags for ReadConsoleInputExA/W
|
||||||
|
*/
|
||||||
|
#define CONSOLE_READ_NOREMOVE 0x0001
|
||||||
|
#define CONSOLE_READ_NOWAIT 0x0002
|
||||||
|
#define CONSOLE_READ_VALID (CONSOLE_READ_NOREMOVE | CONSOLE_READ_NOWAIT)
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
_Success_(return != FALSE)
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
ReadConsoleInputExA(
|
||||||
|
_In_ HANDLE hConsoleInput,
|
||||||
|
_Out_writes_to_(nLength, *lpNumberOfEventsRead) PINPUT_RECORD lpBuffer,
|
||||||
|
_In_ DWORD nLength,
|
||||||
|
_Out_ _Deref_out_range_(<=, nLength) LPDWORD lpNumberOfEventsRead,
|
||||||
|
_In_ WORD wFlags);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
_Success_(return != FALSE)
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
ReadConsoleInputExW(
|
||||||
|
_In_ HANDLE hConsoleInput,
|
||||||
|
_Out_writes_to_(nLength, *lpNumberOfEventsRead) PINPUT_RECORD lpBuffer,
|
||||||
|
_In_ DWORD nLength,
|
||||||
|
_Out_ _Deref_out_range_(<=, nLength) LPDWORD lpNumberOfEventsRead,
|
||||||
|
_In_ WORD wFlags);
|
||||||
|
|
||||||
|
/* See https://undoc.airesoft.co.uk/kernel32.dll/ConsoleMenuControl.php */
|
||||||
|
WINBASEAPI
|
||||||
|
HMENU
|
||||||
|
WINAPI
|
||||||
|
ConsoleMenuControl(
|
||||||
|
_In_ HANDLE hConsoleOutput,
|
||||||
|
_In_ DWORD dwCmdIdLow,
|
||||||
|
_In_ DWORD dwCmdIdHigh);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetConsoleMenuClose(
|
||||||
|
_In_ BOOL bEnable);
|
||||||
|
|
||||||
|
/* See https://undoc.airesoft.co.uk/kernel32.dll/SetConsoleCursor.php */
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetConsoleCursor(
|
||||||
|
_In_ HANDLE hConsoleOutput,
|
||||||
|
_In_ HCURSOR hCursor);
|
||||||
|
|
||||||
|
/* See https://undoc.airesoft.co.uk/kernel32.dll/ShowConsoleCursor.php */
|
||||||
|
WINBASEAPI
|
||||||
|
INT
|
||||||
|
WINAPI
|
||||||
|
ShowConsoleCursor(
|
||||||
|
_In_ HANDLE hConsoleOutput,
|
||||||
|
_In_ BOOL bShow);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetConsoleFont(
|
||||||
|
_In_ HANDLE hConsoleOutput,
|
||||||
|
_In_ DWORD nFont);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
DWORD
|
||||||
|
WINAPI
|
||||||
|
GetConsoleFontInfo(
|
||||||
|
_In_ HANDLE hConsoleOutput,
|
||||||
|
_In_ BOOL bMaximumWindow,
|
||||||
|
_In_ DWORD nFontCount,
|
||||||
|
_Out_ PCONSOLE_FONT_INFO lpConsoleFontInfo);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
DWORD
|
||||||
|
WINAPI
|
||||||
|
GetNumberOfConsoleFonts(VOID);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetConsoleIcon(
|
||||||
|
_In_ HICON hIcon);
|
||||||
|
|
||||||
|
/* See http://comments.gmane.org/gmane.comp.lang.harbour.devel/27844 */
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetConsolePalette(
|
||||||
|
_In_ HANDLE hConsoleOutput,
|
||||||
|
_In_ HPALETTE hPalette,
|
||||||
|
_In_ UINT dwUsage);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
HANDLE
|
||||||
|
WINAPI
|
||||||
|
OpenConsoleW(
|
||||||
|
_In_ LPCWSTR wsName,
|
||||||
|
_In_ DWORD dwDesiredAccess,
|
||||||
|
_In_ BOOL bInheritHandle,
|
||||||
|
_In_ DWORD dwShareMode);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
CloseConsoleHandle(
|
||||||
|
_In_ HANDLE hHandle);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
HANDLE
|
||||||
|
WINAPI
|
||||||
|
DuplicateConsoleHandle(
|
||||||
|
_In_ HANDLE hSourceHandle,
|
||||||
|
_In_ DWORD dwDesiredAccess,
|
||||||
|
_In_ BOOL bInheritHandle,
|
||||||
|
_In_ DWORD dwOptions);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
HANDLE
|
||||||
|
WINAPI
|
||||||
|
GetConsoleInputWaitHandle(VOID);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
VerifyConsoleIoHandle(
|
||||||
|
_In_ HANDLE hIoHandle);
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* dwRegisterFlags for RegisterConsoleVDM
|
||||||
|
*/
|
||||||
|
#define CONSOLE_UNREGISTER_VDM 0
|
||||||
|
#define CONSOLE_REGISTER_VDM 1
|
||||||
|
#define CONSOLE_REGISTER_WOW 2
|
||||||
|
|
||||||
|
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, // PVIDEO_HARDWARE_STATE_HEADER*
|
||||||
|
_In_ PVOID lpUnusedBuffer,
|
||||||
|
_In_ DWORD dwUnusedBufferLength,
|
||||||
|
_In_ COORD dwVDMBufferSize,
|
||||||
|
_Outptr_ PVOID* lpVDMBuffer);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* iFunction for VDMConsoleOperation
|
||||||
|
*/
|
||||||
|
#define VDM_HIDE_WINDOW 1
|
||||||
|
#define VDM_IS_ICONIC 2
|
||||||
|
#define VDM_CLIENT_RECT 3
|
||||||
|
#define VDM_CLIENT_TO_SCREEN 4
|
||||||
|
#define VDM_SCREEN_TO_CLIENT 5
|
||||||
|
#define VDM_IS_HIDDEN 6
|
||||||
|
#define VDM_FULLSCREEN_NOPAINT 7
|
||||||
|
#define VDM_SET_VIDEO_MODE 8
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
VDMConsoleOperation(
|
||||||
|
_In_ DWORD iFunction,
|
||||||
|
_Inout_opt_ LPVOID lpData);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
WriteConsoleInputVDMA(
|
||||||
|
_In_ HANDLE hConsoleInput,
|
||||||
|
_In_reads_(nLength) CONST INPUT_RECORD *lpBuffer,
|
||||||
|
_In_ DWORD nLength,
|
||||||
|
_Out_ LPDWORD lpNumberOfEventsWritten);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
WriteConsoleInputVDMW(
|
||||||
|
_In_ HANDLE hConsoleInput,
|
||||||
|
_In_reads_(nLength) CONST INPUT_RECORD *lpBuffer,
|
||||||
|
_In_ DWORD nLength,
|
||||||
|
_Out_ LPDWORD lpNumberOfEventsWritten);
|
||||||
|
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
GetConsoleNlsMode(
|
||||||
|
_In_ HANDLE hConsole,
|
||||||
|
_Out_ PDWORD lpdwNlsMode);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetConsoleNlsMode(
|
||||||
|
_In_ HANDLE hConsole,
|
||||||
|
_In_ DWORD fdwNlsMode);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
GetConsoleCharType(
|
||||||
|
_In_ HANDLE hConsole,
|
||||||
|
_In_ COORD coordCheck,
|
||||||
|
_Out_ PDWORD pdwType);
|
||||||
|
|
||||||
|
/* Character type returned by GetConsoleCharType */
|
||||||
|
#define CHAR_TYPE_SBCS 0 // Displayed SBCS character
|
||||||
|
#define CHAR_TYPE_LEADING 2 // Displayed leading byte of DBCS
|
||||||
|
#define CHAR_TYPE_TRAILING 3 // Displayed trailing byte of DBCS
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetConsoleLocalEUDC(
|
||||||
|
_In_ HANDLE hConsoleHandle,
|
||||||
|
_In_ WORD wCodePoint,
|
||||||
|
_In_ COORD cFontSize,
|
||||||
|
_In_ PCHAR lpSB);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetConsoleCursorMode(
|
||||||
|
_In_ HANDLE hConsoleHandle,
|
||||||
|
_In_ BOOL Blink,
|
||||||
|
_In_ BOOL DBEnable);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
GetConsoleCursorMode(
|
||||||
|
_In_ HANDLE hConsoleHandle,
|
||||||
|
_Out_ PBOOL pbBlink,
|
||||||
|
_Out_ PBOOL pbDBEnable);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
RegisterConsoleOS2(
|
||||||
|
_In_ BOOL fOs2Register);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetConsoleOS2OemFormat(
|
||||||
|
_In_ BOOL fOs2OemFormat);
|
||||||
|
|
||||||
|
#if defined(FE_IME) || defined(__REACTOS__)
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
RegisterConsoleIME(
|
||||||
|
_In_ HWND hWndConsoleIME,
|
||||||
|
_Out_opt_ DWORD *lpdwConsoleThreadId);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
UnregisterConsoleIME(VOID);
|
||||||
|
#endif // FE_IME
|
||||||
|
|
||||||
|
#ifdef UNICODE
|
||||||
|
#define GetConsoleInputExeName GetConsoleInputExeNameW
|
||||||
|
#define SetConsoleInputExeName SetConsoleInputExeNameW
|
||||||
|
#define ExpungeConsoleCommandHistory ExpungeConsoleCommandHistoryW
|
||||||
|
#define GetConsoleCommandHistory GetConsoleCommandHistoryW
|
||||||
|
#define GetConsoleCommandHistoryLength GetConsoleCommandHistoryLengthW
|
||||||
|
#define SetConsoleNumberOfCommands SetConsoleNumberOfCommandsW
|
||||||
|
#define GetConsoleKeyboardLayoutName GetConsoleKeyboardLayoutNameW
|
||||||
|
#define ReadConsoleInputEx ReadConsoleInputExW
|
||||||
|
#define WriteConsoleInputVDM WriteConsoleInputVDMW
|
||||||
|
#else
|
||||||
|
#define GetConsoleInputExeName GetConsoleInputExeNameA
|
||||||
|
#define SetConsoleInputExeName SetConsoleInputExeNameA
|
||||||
|
#define ExpungeConsoleCommandHistory ExpungeConsoleCommandHistoryA
|
||||||
|
#define GetConsoleCommandHistory GetConsoleCommandHistoryA
|
||||||
|
#define GetConsoleCommandHistoryLength GetConsoleCommandHistoryLengthA
|
||||||
|
#define SetConsoleNumberOfCommands SetConsoleNumberOfCommandsA
|
||||||
|
#define GetConsoleKeyboardLayoutName GetConsoleKeyboardLayoutNameA
|
||||||
|
#define ReadConsoleInputEx ReadConsoleInputExA
|
||||||
|
#define WriteConsoleInputVDM WriteConsoleInputVDMA
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef _MSC_VER
|
||||||
|
#pragma warning(pop)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _WINCONP_ */
|
||||||
|
#endif /* _WINCON_UNDOC_H */
|
Loading…
Add table
Add a link
Reference in a new issue