16#define DEFAULT_SCREEN_ATTRIB (FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED)
17#define DEFAULT_POPUP_ATTRIB (FOREGROUND_BLUE | FOREGROUND_RED | \
18 BACKGROUND_BLUE | BACKGROUND_GREEN | BACKGROUND_RED | BACKGROUND_INTENSITY)
54#define GetType(This) (((PCONSOLE_SCREEN_BUFFER)(This))->Header.Type)
320#define GetConsoleInputBufferMode(Console) \
321 (Console)->InputBuffer.Mode
323#define CON_SET_OUTPUT_CP(Console, CodePage)\
325 (Console)->OutputCodePage = (CodePage); \
326 (Console)->IsCJK = IsCJKCodePage((Console)->OutputCodePage); \
341#define IS_FULL_WIDTH(wch) \
342 (((USHORT)(wch) >= 0x0080) && (mk_wcwidth_cjk(wch) == 2))
COORD WINAPI DECLSPEC_HOTPATCH GetLargestConsoleWindowSize(HANDLE hConsoleOutput)
static VOID DrawRegion(PGUI_CONSOLE_DATA GuiData, SMALL_RECT *Region)
struct _CONSOLE * Console
CONSOLE_IO_OBJECT_TYPE Type
CONSOLE_CURSOR_INFO CursorInfo
COORD OldScreenBufferSize
CONSOLE_INPUT_BUFFER InputBuffer
PCONSOLE_SCREEN_BUFFER ActiveBuffer
CONSOLE_GRAPHICS_BUFFER_INFO Info
BOOL(NTAPI *SetScreenInfo)(IN OUT PTERMINAL This
IN BOOLEAN OUT PVOID IN OUT PCONSOLE_READCONSOLE_CONTROL ReadControl
IN BOOLEAN OUT PVOID IN OUT PCONSOLE_READCONSOLE_CONTROL IN PVOID Parameter OPTIONAL
VOID(NTAPI *ResizeTerminal)(IN OUT PTERMINAL This)
PCONSOLE_SCREEN_BUFFER SHORT SHORT OldCursorY
PTEXTMODE_SCREEN_BUFFER Buff
PCONSOLE_SCREEN_BUFFER SHORT OldCursorX
IN BOOLEAN OUT PVOID IN OUT PCONSOLE_READCONSOLE_CONTROL IN PVOID Parameter IN ULONG OUT PULONG NumCharsRead OPTIONAL
IN struct _CONSOLE * Console
VOID(NTAPI *GetLargestConsoleWindowSize)(IN OUT PTERMINAL This
IN PCONSOLE_SCREEN_BUFFER ScreenBuffer
BOOL(NTAPI *SetCodePage)(IN OUT PTERMINAL This
VOID(NTAPI *ReleaseScreenBuffer)(IN OUT PTERMINAL This
HPALETTE UINT PaletteUsage
NTSTATUS(NTAPI *WriteStream)(IN OUT PTERMINAL This
NTSTATUS(NTAPI *ReadStream)(IN OUT PTERMINAL This
PCONSOLE_SCREEN_BUFFER ScreenBuffer
VOID(NTAPI *DeinitTerminal)(IN OUT PTERMINAL This)
PTEXTMODE_SCREEN_BUFFER PWCHAR DWORD BOOL Attrib
PTEXTMODE_SCREEN_BUFFER PWCHAR Buffer
NTSTATUS(NTAPI *InitTerminal)(IN OUT PTERMINAL This
IN BOOLEAN OUT PVOID Buffer
VOID(NTAPI *SetActiveScreenBuffer)(IN OUT PTERMINAL This)
BOOL(NTAPI *SetPalette)(IN OUT PTERMINAL This
INT(NTAPI *ShowMouseCursor)(IN OUT PTERMINAL This
IN BOOLEAN OUT PVOID IN OUT PCONSOLE_READCONSOLE_CONTROL IN PVOID Parameter IN ULONG NumCharsToRead
BOOL(NTAPI *SetCursorInfo)(IN OUT PTERMINAL This
VOID(NTAPI *DrawRegion)(IN OUT PTERMINAL This
PTEXTMODE_SCREEN_BUFFER PWCHAR DWORD Length
struct _CONSOLE * Console
USHORT PopupDefaultAttrib
USHORT ScreenDefaultAttrib
static VOID SetActiveScreenBuffer(HANDLE ScreenBuffer)
_Must_inspect_result_ _In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR _Out_ WDFDEVICE _Inout_opt_ PWDF_CHILD_RETRIEVE_INFO Info
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
struct _TERMINAL * PTERMINAL
struct _CONSOLE_INPUT_BUFFER * PCONSOLE_INPUT_BUFFER
enum _CONSOLE_IO_OBJECT_TYPE CONSOLE_IO_OBJECT_TYPE
VOID NTAPI ConDrvUnpause(PCONSOLE Console)
struct _CONSOLE_IO_OBJECT * PCONSOLE_IO_OBJECT
enum _CONSOLE_STATE CONSOLE_STATE
struct _CONSOLE * PCONSOLE
enum _CONSOLE_STATE * PCONSOLE_STATE
int mk_wcwidth_cjk(wchar_t ucs)
struct _TERMINAL_VTBL TERMINAL_VTBL
struct _TEXTMODE_SCREEN_BUFFER * PTEXTMODE_SCREEN_BUFFER
struct _GRAPHICS_BUFFER_INFO GRAPHICS_BUFFER_INFO
struct _CONSOLE_SCREEN_BUFFER CONSOLE_SCREEN_BUFFER
struct _GRAPHICS_BUFFER_INFO * PGRAPHICS_BUFFER_INFO
struct _GRAPHICS_SCREEN_BUFFER GRAPHICS_SCREEN_BUFFER
struct _TEXTMODE_BUFFER_INFO TEXTMODE_BUFFER_INFO
struct _CONSOLE_IO_OBJECT CONSOLE_IO_OBJECT
struct _CONSOLE_INPUT_BUFFER CONSOLE_INPUT_BUFFER
PCHAR_INFO ConioCoordToPointer(PTEXTMODE_SCREEN_BUFFER Buff, ULONG X, ULONG Y)
struct _CONSOLE_INFO CONSOLE_INFO
struct _TEXTMODE_SCREEN_BUFFER TEXTMODE_SCREEN_BUFFER
struct _CONSOLE_SCREEN_BUFFER * PCONSOLE_SCREEN_BUFFER
NTSTATUS ConioResizeBuffer(PCONSOLE Console, PTEXTMODE_SCREEN_BUFFER ScreenBuffer, COORD Size)
struct _CONSOLE_INFO * PCONSOLE_INFO
struct _TERMINAL_VTBL * PTERMINAL_VTBL
struct _TEXTMODE_BUFFER_INFO * PTEXTMODE_BUFFER_INFO
VOID NTAPI ConDrvPause(PCONSOLE Console)
struct _GRAPHICS_SCREEN_BUFFER * PGRAPHICS_SCREEN_BUFFER
_Inout_opt_ PVOID Parameter