mirror of
https://github.com/reactos/reactos.git
synced 2025-07-31 15:32:11 +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/setup/blue/ @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/blue/ @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
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA) && !defined(NOGDI)
|
||||
# include "wingdi.h"
|
||||
#include "wingdi.h"
|
||||
#endif
|
||||
|
||||
#ifdef _MSC_VER
|
||||
|
@ -17,19 +39,25 @@ extern "C" {
|
|||
/*
|
||||
* 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)
|
||||
#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
|
||||
*/
|
||||
// These codes are answered by GetConsoleDisplayMode
|
||||
// These flags are returned by GetConsoleDisplayMode
|
||||
#define CONSOLE_WINDOWED 0
|
||||
#define CONSOLE_FULLSCREEN 1
|
||||
#define CONSOLE_FULLSCREEN_HARDWARE 2
|
||||
#define CONSOLE_FULLSCREEN 1 /* Fullscreen console */
|
||||
#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_WINDOWED_MODE 2
|
||||
|
||||
|
@ -59,18 +87,19 @@ extern "C" {
|
|||
/*
|
||||
* Screen buffer types
|
||||
*/
|
||||
#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/ */
|
||||
#define CONSOLE_TEXTMODE_BUFFER 1
|
||||
// 2 is reserved!
|
||||
|
||||
/*
|
||||
* Control handler codes
|
||||
*/
|
||||
#define CTRL_C_EVENT 0
|
||||
#define CTRL_BREAK_EVENT 1
|
||||
#define CTRL_CLOSE_EVENT 2
|
||||
#define CTRL_LAST_CLOSE_EVENT 3 /* Undocumented */
|
||||
#define CTRL_LOGOFF_EVENT 5
|
||||
#define CTRL_SHUTDOWN_EVENT 6
|
||||
#define CTRL_C_EVENT 0
|
||||
#define CTRL_BREAK_EVENT 1
|
||||
#define CTRL_CLOSE_EVENT 2
|
||||
// 3 is reserved!
|
||||
// 4 is reserved!
|
||||
#define CTRL_LOGOFF_EVENT 5
|
||||
#define CTRL_SHUTDOWN_EVENT 6
|
||||
|
||||
/*
|
||||
* Input mode flags
|
||||
|
@ -86,24 +115,29 @@ extern "C" {
|
|||
#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
|
||||
#define ENABLE_AUTO_POSITION 0x0100
|
||||
#endif
|
||||
#if (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN10_RS1) // (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
|
||||
#define ENABLE_VIRTUAL_TERMINAL_INPUT 0x0200
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Output mode flags
|
||||
*/
|
||||
#define ENABLE_PROCESSED_OUTPUT 0x0001
|
||||
#define ENABLE_WRAP_AT_EOL_OUTPUT 0x0002
|
||||
#define ENABLE_PROCESSED_OUTPUT 0x0001
|
||||
#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
|
||||
*/
|
||||
#define CONSOLE_NO_SELECTION 0x0000
|
||||
#define CONSOLE_SELECTION_IN_PROGRESS 0x0001
|
||||
#define CONSOLE_SELECTION_NOT_EMPTY 0x0002
|
||||
#define CONSOLE_MOUSE_SELECTION 0x0004
|
||||
#define CONSOLE_MOUSE_DOWN 0x0008
|
||||
#define CONSOLE_SELECTION_IN_PROGRESS 0x0001 /* Selection has begun */
|
||||
#define CONSOLE_SELECTION_NOT_EMPTY 0x0002 /* Non-null select rectangle */
|
||||
#define CONSOLE_MOUSE_SELECTION 0x0004 /* Selecting with mouse */
|
||||
#define CONSOLE_MOUSE_DOWN 0x0008 /* Mouse is down */
|
||||
|
||||
/*
|
||||
* History information and mode flags
|
||||
|
@ -116,12 +150,6 @@ extern "C" {
|
|||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* Read input flags
|
||||
*/
|
||||
#define CONSOLE_READ_NOREMOVE 0x0001
|
||||
#define CONSOLE_READ_NOWAIT 0x0002
|
||||
|
||||
/*
|
||||
* Event types
|
||||
*/
|
||||
|
@ -151,6 +179,8 @@ extern "C" {
|
|||
#define NLS_HIRAGANA 0x00040000 /* Hiragana mode */
|
||||
#define NLS_ROMAN 0x00400000 /* Roman/Noroman mode */
|
||||
#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 */
|
||||
|
||||
/*
|
||||
|
@ -223,18 +253,9 @@ typedef struct _CONSOLE_SCREEN_BUFFER_INFO {
|
|||
COORD dwMaximumWindowSize;
|
||||
} 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/ */
|
||||
#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 BOOL(CALLBACK *PHANDLER_ROUTINE)(_In_ DWORD);
|
||||
typedef BOOL
|
||||
(WINAPI *PHANDLER_ROUTINE)(
|
||||
_In_ DWORD CtrlType);
|
||||
|
||||
typedef struct _KEY_EVENT_RECORD {
|
||||
BOOL bKeyDown;
|
||||
|
@ -310,148 +331,320 @@ typedef struct _CONSOLE_FONT_INFOEX {
|
|||
WCHAR FaceName[LF_FACESIZE];
|
||||
} CONSOLE_FONT_INFOEX, *PCONSOLE_FONT_INFOEX;
|
||||
#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
|
||||
|
||||
BOOL WINAPI AllocConsole(VOID);
|
||||
|
||||
#if (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
|
||||
BOOL WINAPI AttachConsole(_In_ DWORD);
|
||||
|
||||
BOOL WINAPI AddConsoleAliasA(_In_ LPCSTR, _In_ LPCSTR, _In_ LPCSTR);
|
||||
BOOL WINAPI AddConsoleAliasW(_In_ LPCWSTR, _In_ LPCWSTR, _In_ LPCWSTR);
|
||||
WINBASEAPI
|
||||
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
|
||||
WINAPI
|
||||
GetConsoleAliasA(
|
||||
_In_ LPSTR Source,
|
||||
_In_ LPCSTR Source,
|
||||
_Out_writes_(TargetBufferLength) LPSTR TargetBuffer,
|
||||
_In_ DWORD TargetBufferLength,
|
||||
_In_ LPSTR ExeName);
|
||||
_In_ LPCSTR ExeName);
|
||||
|
||||
WINBASEAPI
|
||||
DWORD
|
||||
WINAPI
|
||||
GetConsoleAliasW(
|
||||
_In_ LPWSTR Source,
|
||||
_In_ LPCWSTR Source,
|
||||
_Out_writes_(TargetBufferLength) LPWSTR TargetBuffer,
|
||||
_In_ DWORD TargetBufferLength,
|
||||
_In_ LPWSTR ExeName);
|
||||
_In_ LPCWSTR ExeName);
|
||||
|
||||
WINBASEAPI
|
||||
DWORD
|
||||
WINAPI
|
||||
GetConsoleAliasesA(
|
||||
_Out_writes_(AliasBufferLength) LPSTR AliasBuffer,
|
||||
_In_ DWORD AliasBufferLength,
|
||||
_In_ LPSTR ExeName);
|
||||
_In_ LPCSTR ExeName);
|
||||
|
||||
WINBASEAPI
|
||||
DWORD
|
||||
WINAPI
|
||||
GetConsoleAliasesW(
|
||||
_Out_writes_(AliasBufferLength) LPWSTR AliasBuffer,
|
||||
_In_ DWORD AliasBufferLength,
|
||||
_In_ LPWSTR ExeName);
|
||||
_In_ LPCWSTR ExeName);
|
||||
|
||||
DWORD WINAPI GetConsoleAliasesLengthA(_In_ LPSTR ExeName);
|
||||
DWORD WINAPI GetConsoleAliasesLengthW(_In_ LPWSTR ExeName);
|
||||
WINBASEAPI
|
||||
DWORD
|
||||
WINAPI
|
||||
GetConsoleAliasesLengthA(
|
||||
_In_ LPCSTR ExeName);
|
||||
|
||||
WINBASEAPI
|
||||
DWORD
|
||||
WINAPI
|
||||
GetConsoleAliasesLengthW(
|
||||
_In_ LPCWSTR ExeName);
|
||||
|
||||
WINBASEAPI
|
||||
DWORD
|
||||
WINAPI
|
||||
GetConsoleAliasExesA(
|
||||
_Out_writes_(ExeNameBufferLength) LPSTR ExeNameBuffer,
|
||||
_In_ DWORD ExeNameBufferLength);
|
||||
|
||||
WINBASEAPI
|
||||
DWORD
|
||||
WINAPI
|
||||
GetConsoleAliasExesW(
|
||||
_Out_writes_(ExeNameBufferLength) LPWSTR ExeNameBuffer,
|
||||
_In_ DWORD ExeNameBufferLength);
|
||||
|
||||
DWORD WINAPI GetConsoleAliasExesLengthA(VOID);
|
||||
DWORD WINAPI GetConsoleAliasExesLengthW(VOID);
|
||||
#endif
|
||||
WINBASEAPI
|
||||
DWORD
|
||||
WINAPI
|
||||
GetConsoleAliasExesLengthA(VOID);
|
||||
|
||||
WINBASEAPI
|
||||
DWORD
|
||||
WINAPI
|
||||
GetConsoleAliasExesLengthW(VOID);
|
||||
|
||||
#endif // (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
|
||||
|
||||
WINBASEAPI
|
||||
HANDLE
|
||||
WINAPI
|
||||
CreateConsoleScreenBuffer(
|
||||
_In_ DWORD,
|
||||
_In_ DWORD,
|
||||
_In_opt_ CONST SECURITY_ATTRIBUTES*,
|
||||
_In_ DWORD,
|
||||
_Reserved_ LPVOID);
|
||||
_In_ DWORD dwDesiredAccess,
|
||||
_In_ DWORD dwShareMode,
|
||||
_In_opt_ CONST SECURITY_ATTRIBUTES *lpSecurityAttributes,
|
||||
_In_ DWORD dwFlags,
|
||||
_Reserved_ LPVOID lpScreenBufferData);
|
||||
|
||||
WINBASEAPI
|
||||
BOOL
|
||||
WINAPI
|
||||
FillConsoleOutputAttribute(
|
||||
_In_ HANDLE,
|
||||
_In_ WORD,
|
||||
_In_ DWORD,
|
||||
_In_ COORD,
|
||||
_Out_ PDWORD);
|
||||
_In_ HANDLE hConsoleOutput,
|
||||
_In_ WORD wAttribute,
|
||||
_In_ DWORD nLength,
|
||||
_In_ COORD dwWriteCoord,
|
||||
_Out_ LPDWORD lpNumberOfAttrsWritten);
|
||||
|
||||
WINBASEAPI
|
||||
BOOL
|
||||
WINAPI
|
||||
FillConsoleOutputCharacterA(
|
||||
_In_ HANDLE,
|
||||
_In_ CHAR,
|
||||
_In_ DWORD,
|
||||
_In_ COORD,
|
||||
_Out_ PDWORD);
|
||||
_In_ HANDLE hConsoleOutput,
|
||||
_In_ CHAR cCharacter,
|
||||
_In_ DWORD nLength,
|
||||
_In_ COORD dwWriteCoord,
|
||||
_Out_ LPDWORD lpNumberOfCharsWritten);
|
||||
|
||||
WINBASEAPI
|
||||
BOOL
|
||||
WINAPI
|
||||
FillConsoleOutputCharacterW(
|
||||
_In_ HANDLE,
|
||||
_In_ WCHAR,
|
||||
_In_ DWORD,
|
||||
_In_ COORD,
|
||||
_Out_ PDWORD);
|
||||
_In_ HANDLE hConsoleOutput,
|
||||
_In_ WCHAR cCharacter,
|
||||
_In_ DWORD nLength,
|
||||
_In_ COORD dwWriteCoord,
|
||||
_Out_ LPDWORD lpNumberOfCharsWritten);
|
||||
|
||||
BOOL WINAPI FlushConsoleInputBuffer(_In_ HANDLE);
|
||||
BOOL WINAPI FreeConsole(VOID);
|
||||
BOOL WINAPI GenerateConsoleCtrlEvent(_In_ DWORD, _In_ DWORD);
|
||||
UINT WINAPI GetConsoleCP(VOID);
|
||||
BOOL WINAPI GetConsoleCursorInfo(_In_ HANDLE, _Out_ PCONSOLE_CURSOR_INFO);
|
||||
BOOL WINAPI GetConsoleMode(_In_ HANDLE, _Out_ PDWORD);
|
||||
UINT WINAPI GetConsoleOutputCP(VOID);
|
||||
WINBASEAPI
|
||||
BOOL
|
||||
WINAPI
|
||||
FlushConsoleInputBuffer(
|
||||
_In_ HANDLE hConsoleInput);
|
||||
|
||||
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
|
||||
WINAPI
|
||||
GetConsoleScreenBufferInfo(
|
||||
_In_ HANDLE,
|
||||
_Out_ PCONSOLE_SCREEN_BUFFER_INFO);
|
||||
_In_ HANDLE hConsoleOutput,
|
||||
_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/ */
|
||||
BOOL WINAPI InvalidateConsoleDIBits(_In_ HANDLE, _In_ PSMALL_RECT);
|
||||
#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
|
||||
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
|
||||
WINAPI
|
||||
GetConsoleTitleA(
|
||||
_Out_writes_(nSize) LPSTR lpConsoleTitle,
|
||||
_In_ DWORD nSize);
|
||||
|
||||
WINBASEAPI
|
||||
DWORD
|
||||
WINAPI
|
||||
GetConsoleTitleW(
|
||||
_Out_writes_(nSize) LPWSTR lpConsoleTitle,
|
||||
_In_ DWORD nSize);
|
||||
|
||||
#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
|
||||
|
||||
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
|
||||
WINAPI
|
||||
GetCurrentConsoleFont(
|
||||
_In_ HANDLE hConsoleOutput,
|
||||
_In_ BOOL bMaximumWindow,
|
||||
_Out_ PCONSOLE_FONT_INFO lpConsoleCurrentFont);
|
||||
|
||||
WINBASEAPI
|
||||
COORD
|
||||
WINAPI
|
||||
GetConsoleFontSize(
|
||||
_In_ HANDLE hConsoleOutput,
|
||||
_In_ DWORD nFont);
|
||||
|
||||
WINBASEAPI
|
||||
BOOL
|
||||
WINAPI
|
||||
GetCurrentConsoleFont(
|
||||
_In_ HANDLE hConsoleOutput,
|
||||
_In_ BOOL bMaximumWindow,
|
||||
_Out_ PCONSOLE_FONT_INFO lpConsoleCurrentFont);
|
||||
GetConsoleSelectionInfo(
|
||||
_Out_ PCONSOLE_SELECTION_INFO lpConsoleSelectionInfo);
|
||||
|
||||
#if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
|
||||
WINBASEAPI
|
||||
HWND
|
||||
WINAPI
|
||||
GetConsoleWindow(VOID);
|
||||
|
||||
HWND WINAPI GetConsoleWindow(VOID);
|
||||
BOOL WINAPI GetConsoleDisplayMode(_Out_ LPDWORD lpModeFlags);
|
||||
WINBASEAPI
|
||||
BOOL
|
||||
WINAPI
|
||||
GetConsoleDisplayMode(
|
||||
_Out_ LPDWORD lpModeFlags);
|
||||
|
||||
WINBASEAPI
|
||||
BOOL
|
||||
WINAPI
|
||||
SetConsoleDisplayMode(
|
||||
|
@ -459,13 +652,29 @@ SetConsoleDisplayMode(
|
|||
_In_ DWORD dwFlags,
|
||||
_Out_opt_ PCOORD lpNewScreenBufferDimensions);
|
||||
|
||||
#endif
|
||||
#endif // (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
|
||||
|
||||
COORD WINAPI GetLargestConsoleWindowSize(_In_ HANDLE);
|
||||
BOOL WINAPI GetNumberOfConsoleInputEvents(_In_ HANDLE, _Out_ PDWORD);
|
||||
BOOL WINAPI GetNumberOfConsoleMouseButtons(_Out_ PDWORD);
|
||||
WINBASEAPI
|
||||
COORD
|
||||
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
|
||||
WINAPI PeekConsoleInputA(
|
||||
_In_ HANDLE hConsoleInput,
|
||||
|
@ -473,7 +682,8 @@ WINAPI PeekConsoleInputA(
|
|||
_In_ DWORD nLength,
|
||||
_Out_ LPDWORD lpNumberOfEventsRead);
|
||||
|
||||
_Success_(return != 0)
|
||||
WINBASEAPI
|
||||
_Success_(return != FALSE)
|
||||
BOOL
|
||||
WINAPI
|
||||
PeekConsoleInputW(
|
||||
|
@ -482,64 +692,49 @@ PeekConsoleInputW(
|
|||
_In_ DWORD nLength,
|
||||
_Out_ LPDWORD lpNumberOfEventsRead);
|
||||
|
||||
_Success_(return != 0)
|
||||
WINBASEAPI
|
||||
_Success_(return != FALSE)
|
||||
BOOL
|
||||
WINAPI
|
||||
ReadConsoleA(
|
||||
_In_ HANDLE hConsoleInput,
|
||||
_Out_writes_bytes_to_(nNumberOfCharsToRead * sizeof(CHAR), *lpNumberOfCharsRead * sizeof(CHAR)) LPVOID lpBuffer,
|
||||
_In_ DWORD nNumberOfCharsToRead,
|
||||
_Out_ _Deref_out_range_(<= , nNumberOfCharsToRead) LPDWORD lpNumberOfCharsRead,
|
||||
_Out_ _Deref_out_range_(<=, nNumberOfCharsToRead) LPDWORD lpNumberOfCharsRead,
|
||||
_In_opt_ PCONSOLE_READCONSOLE_CONTROL pInputControl);
|
||||
|
||||
_Success_(return != 0)
|
||||
WINBASEAPI
|
||||
_Success_(return != FALSE)
|
||||
BOOL
|
||||
WINAPI
|
||||
ReadConsoleW(
|
||||
_In_ HANDLE hConsoleInput,
|
||||
_Out_writes_bytes_to_(nNumberOfCharsToRead * sizeof(WCHAR), *lpNumberOfCharsRead * sizeof(WCHAR)) LPVOID lpBuffer,
|
||||
_In_ DWORD nNumberOfCharsToRead,
|
||||
_Out_ _Deref_out_range_(<= , nNumberOfCharsToRead) LPDWORD lpNumberOfCharsRead,
|
||||
_Out_ _Deref_out_range_(<=, nNumberOfCharsToRead) LPDWORD lpNumberOfCharsRead,
|
||||
_In_opt_ PCONSOLE_READCONSOLE_CONTROL pInputControl);
|
||||
|
||||
_Success_(return != 0)
|
||||
WINBASEAPI
|
||||
_Success_(return != FALSE)
|
||||
BOOL
|
||||
WINAPI
|
||||
ReadConsoleInputA(
|
||||
_In_ HANDLE hConsoleInput,
|
||||
_Out_writes_to_(nLength, *lpNumberOfEventsRead) PINPUT_RECORD lpBuffer,
|
||||
_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
|
||||
WINAPI
|
||||
ReadConsoleInputW(
|
||||
_In_ HANDLE hConsoleInput,
|
||||
_Out_writes_to_(nLength, *lpNumberOfEventsRead) PINPUT_RECORD lpBuffer,
|
||||
_In_ DWORD nLength,
|
||||
_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);
|
||||
_Out_ _Deref_out_range_(<=, nLength) LPDWORD lpNumberOfEventsRead);
|
||||
|
||||
WINBASEAPI
|
||||
BOOL
|
||||
WINAPI
|
||||
ReadConsoleOutputAttribute(
|
||||
|
@ -549,6 +744,7 @@ ReadConsoleOutputAttribute(
|
|||
_In_ COORD dwReadCoord,
|
||||
_Out_ LPDWORD lpNumberOfAttrsRead);
|
||||
|
||||
WINBASEAPI
|
||||
BOOL
|
||||
WINAPI
|
||||
ReadConsoleOutputCharacterA(
|
||||
|
@ -558,6 +754,7 @@ ReadConsoleOutputCharacterA(
|
|||
_In_ COORD dwReadCoord,
|
||||
_Out_ LPDWORD lpNumberOfCharsRead);
|
||||
|
||||
WINBASEAPI
|
||||
BOOL
|
||||
WINAPI
|
||||
ReadConsoleOutputCharacterW(
|
||||
|
@ -567,6 +764,7 @@ ReadConsoleOutputCharacterW(
|
|||
_In_ COORD dwReadCoord,
|
||||
_Out_ LPDWORD lpNumberOfCharsRead);
|
||||
|
||||
WINBASEAPI
|
||||
BOOL
|
||||
WINAPI
|
||||
ReadConsoleOutputA(
|
||||
|
@ -576,6 +774,7 @@ ReadConsoleOutputA(
|
|||
_In_ COORD dwBufferCoord,
|
||||
_Inout_ PSMALL_RECT lpReadRegion);
|
||||
|
||||
WINBASEAPI
|
||||
BOOL
|
||||
WINAPI
|
||||
ReadConsoleOutputW(
|
||||
|
@ -585,68 +784,107 @@ ReadConsoleOutputW(
|
|||
_In_ COORD dwBufferCoord,
|
||||
_Inout_ PSMALL_RECT lpReadRegion);
|
||||
|
||||
WINBASEAPI
|
||||
BOOL
|
||||
WINAPI
|
||||
ScrollConsoleScreenBufferA(
|
||||
_In_ HANDLE,
|
||||
_In_ const SMALL_RECT*,
|
||||
_In_opt_ const SMALL_RECT*,
|
||||
_In_ COORD,
|
||||
_In_ const CHAR_INFO*);
|
||||
_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
|
||||
ScrollConsoleScreenBufferW(
|
||||
_In_ HANDLE,
|
||||
_In_ const SMALL_RECT*,
|
||||
_In_opt_ const SMALL_RECT*,
|
||||
_In_ COORD,
|
||||
_In_ const CHAR_INFO*);
|
||||
_In_ HANDLE hConsoleOutput,
|
||||
_In_ CONST SMALL_RECT *lpScrollRectangle,
|
||||
_In_opt_ CONST SMALL_RECT *lpClipRectangle,
|
||||
_In_ COORD dwDestinationOrigin,
|
||||
_In_ CONST CHAR_INFO *lpFill);
|
||||
|
||||
BOOL WINAPI SetConsoleActiveScreenBuffer(_In_ HANDLE);
|
||||
BOOL WINAPI SetConsoleCP(_In_ UINT);
|
||||
BOOL WINAPI SetConsoleCtrlHandler(_In_opt_ PHANDLER_ROUTINE, _In_ BOOL);
|
||||
BOOL WINAPI SetConsoleCursorInfo(_In_ HANDLE, _In_ const CONSOLE_CURSOR_INFO*);
|
||||
BOOL WINAPI SetConsoleCursorPosition(_In_ HANDLE, _In_ COORD);
|
||||
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
|
||||
SetConsoleActiveScreenBuffer(
|
||||
_In_ HANDLE hConsoleOutput);
|
||||
|
||||
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
|
||||
WINAPI
|
||||
SetConsoleWindowInfo(
|
||||
_In_ HANDLE,
|
||||
_In_ BOOL,
|
||||
_In_ const SMALL_RECT*);
|
||||
|
||||
/* 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*);
|
||||
_In_ HANDLE hConsoleOutput,
|
||||
_In_ BOOL bAbsolute,
|
||||
_In_ CONST SMALL_RECT *lpConsoleWindow);
|
||||
|
||||
WINBASEAPI
|
||||
BOOL
|
||||
WINAPI
|
||||
WriteConsoleA(
|
||||
|
@ -656,6 +894,7 @@ WriteConsoleA(
|
|||
_Out_opt_ LPDWORD lpNumberOfCharsWritten,
|
||||
_Reserved_ LPVOID lpReserved);
|
||||
|
||||
WINBASEAPI
|
||||
BOOL
|
||||
WINAPI
|
||||
WriteConsoleW(
|
||||
|
@ -665,6 +904,7 @@ WriteConsoleW(
|
|||
_Out_opt_ LPDWORD lpNumberOfCharsWritten,
|
||||
_Reserved_ LPVOID lpReserved);
|
||||
|
||||
WINBASEAPI
|
||||
BOOL
|
||||
WINAPI
|
||||
WriteConsoleInputA(
|
||||
|
@ -673,6 +913,7 @@ WriteConsoleInputA(
|
|||
_In_ DWORD nLength,
|
||||
_Out_ LPDWORD lpNumberOfEventsWritten);
|
||||
|
||||
WINBASEAPI
|
||||
BOOL
|
||||
WINAPI
|
||||
WriteConsoleInputW(
|
||||
|
@ -681,22 +922,7 @@ WriteConsoleInputW(
|
|||
_In_ DWORD nLength,
|
||||
_Out_ LPDWORD lpNumberOfEventsWritten);
|
||||
|
||||
BOOL
|
||||
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);
|
||||
|
||||
WINBASEAPI
|
||||
BOOL
|
||||
WINAPI
|
||||
WriteConsoleOutputA(
|
||||
|
@ -706,6 +932,7 @@ WriteConsoleOutputA(
|
|||
_In_ COORD dwBufferCoord,
|
||||
_Inout_ PSMALL_RECT lpWriteRegion);
|
||||
|
||||
WINBASEAPI
|
||||
BOOL
|
||||
WINAPI
|
||||
WriteConsoleOutputW(
|
||||
|
@ -715,6 +942,7 @@ WriteConsoleOutputW(
|
|||
_In_ COORD dwBufferCoord,
|
||||
_Inout_ PSMALL_RECT lpWriteRegion);
|
||||
|
||||
WINBASEAPI
|
||||
BOOL
|
||||
WINAPI
|
||||
WriteConsoleOutputAttribute(
|
||||
|
@ -724,6 +952,7 @@ WriteConsoleOutputAttribute(
|
|||
_In_ COORD dwWriteCoord,
|
||||
_Out_ LPDWORD lpNumberOfAttrsWritten);
|
||||
|
||||
WINBASEAPI
|
||||
BOOL
|
||||
WINAPI
|
||||
WriteConsoleOutputCharacterA(
|
||||
|
@ -733,6 +962,7 @@ WriteConsoleOutputCharacterA(
|
|||
_In_ COORD dwWriteCoord,
|
||||
_Out_ LPDWORD lpNumberOfCharsWritten);
|
||||
|
||||
WINBASEAPI
|
||||
BOOL
|
||||
WINAPI
|
||||
WriteConsoleOutputCharacterW(
|
||||
|
@ -743,6 +973,22 @@ WriteConsoleOutputCharacterW(
|
|||
_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
|
||||
#define AddConsoleAlias AddConsoleAliasW
|
||||
#define GetConsoleAlias GetConsoleAliasW
|
||||
|
@ -751,17 +997,16 @@ WriteConsoleOutputCharacterW(
|
|||
#define GetConsoleAliasExes GetConsoleAliasExesW
|
||||
#define GetConsoleAliasExesLength GetConsoleAliasExesLengthW
|
||||
#define GetConsoleTitle GetConsoleTitleW
|
||||
#define GetConsoleOriginalTitle GetConsoleOriginalTitleW
|
||||
#define PeekConsoleInput PeekConsoleInputW
|
||||
#define ReadConsole ReadConsoleW
|
||||
#define ReadConsoleInput ReadConsoleInputW
|
||||
#define ReadConsoleInputEx ReadConsoleInputExW
|
||||
#define ReadConsoleOutput ReadConsoleOutputW
|
||||
#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterW
|
||||
#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferW
|
||||
#define SetConsoleTitle SetConsoleTitleW
|
||||
#define WriteConsole WriteConsoleW
|
||||
#define WriteConsoleInput WriteConsoleInputW
|
||||
#define WriteConsoleInputVDM WriteConsoleInputVDMW
|
||||
#define WriteConsoleOutput WriteConsoleOutputW
|
||||
#define FillConsoleOutputCharacter FillConsoleOutputCharacterW
|
||||
#define WriteConsoleOutputCharacter WriteConsoleOutputCharacterW
|
||||
|
@ -773,17 +1018,16 @@ WriteConsoleOutputCharacterW(
|
|||
#define GetConsoleAliasExes GetConsoleAliasExesA
|
||||
#define GetConsoleAliasExesLength GetConsoleAliasExesLengthA
|
||||
#define GetConsoleTitle GetConsoleTitleA
|
||||
#define GetConsoleOriginalTitle GetConsoleOriginalTitleA
|
||||
#define PeekConsoleInput PeekConsoleInputA
|
||||
#define ReadConsole ReadConsoleA
|
||||
#define ReadConsoleInput ReadConsoleInputA
|
||||
#define ReadConsoleInputEx ReadConsoleInputExA
|
||||
#define ReadConsoleOutput ReadConsoleOutputA
|
||||
#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterA
|
||||
#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferA
|
||||
#define SetConsoleTitle SetConsoleTitleA
|
||||
#define WriteConsole WriteConsoleA
|
||||
#define WriteConsoleInput WriteConsoleInputA
|
||||
#define WriteConsoleInputVDM WriteConsoleInputVDMA
|
||||
#define WriteConsoleOutput WriteConsoleOutputA
|
||||
#define FillConsoleOutputCharacter FillConsoleOutputCharacterA
|
||||
#define WriteConsoleOutputCharacter WriteConsoleOutputCharacterA
|
||||
|
@ -797,4 +1041,4 @@ WriteConsoleOutputCharacterW(
|
|||
}
|
||||
#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