|
|
52d60d |
#ifndef NTCON_H
|
|
|
52d60d |
#define NTCON_H
|
|
|
52d60d |
|
|
|
52d60d |
#include "ntcon_api.h"
|
|
|
52d60d |
|
|
|
52d60d |
#ifdef __cplusplus
|
|
|
52d60d |
extern "C" {
|
|
|
52d60d |
#endif
|
|
|
52d60d |
|
|
|
52d60d |
/* console standard handles */
|
|
|
52d60d |
#define NT_STD_INPUT_HANDLE (uint32_t)-10
|
|
|
52d60d |
#define NT_STD_OUTPUT_HANDLE (uint32_t)-11
|
|
|
52d60d |
#define NT_STD_ERROR_HANDLE (uint32_t)-12
|
|
|
52d60d |
|
|
|
52d60d |
/* console attachment */
|
|
|
52d60d |
#define NT_ATTACH_PARENT_PROCESS (uint32_t)-1
|
|
|
52d60d |
|
|
|
52d60d |
/* console screen buffer flags */
|
|
|
52d60d |
#define NT_CONSOLE_TEXTMODE_BUFFER (0x01)
|
|
|
52d60d |
|
|
|
52d60d |
/* console control signals */
|
|
|
52d60d |
#define NT_CTRL_C_EVENT (0x00)
|
|
|
52d60d |
#define NT_CTRL_BREAK_EVENT (0x01)
|
|
|
52d60d |
#define NT_CTRL_CLOSE_EVENT (0x02)
|
|
|
52d60d |
#define NT_CTRL_LOGOFF_EVENT (0x05)
|
|
|
52d60d |
#define NT_CTRL_SHUTDOWN_EVENT (0x06)
|
|
|
52d60d |
|
|
|
52d60d |
/* console history flags */
|
|
|
52d60d |
#define NT_HISTORY_NO_DUP_FLAG (0x0001)
|
|
|
52d60d |
|
|
|
52d60d |
/* console event types */
|
|
|
52d60d |
#define NT_KEY_EVENT (0x0001)
|
|
|
52d60d |
#define NT_MOUSE_EVENT (0x0002)
|
|
|
52d60d |
#define NT_WINDOW_BUFFER_SIZE_EVENT (0x0004)
|
|
|
52d60d |
#define NT_MENU_EVENT (0x0008)
|
|
|
52d60d |
#define NT_FOCUS_EVENT (0x0010)
|
|
|
52d60d |
|
|
|
52d60d |
/* control key states */
|
|
|
52d60d |
#define NT_RIGHT_ALT_PRESSED (0x0001)
|
|
|
52d60d |
#define NT_LEFT_ALT_PRESSED (0x0002)
|
|
|
52d60d |
#define NT_RIGHT_CTRL_PRESSED (0x0004)
|
|
|
52d60d |
#define NT_LEFT_CTRL_PRESSED (0x0008)
|
|
|
52d60d |
#define NT_SHIFT_PRESSED (0x0010)
|
|
|
52d60d |
#define NT_NUMLOCK_ON (0x0020)
|
|
|
52d60d |
#define NT_SCROLLLOCK_ON (0x0040)
|
|
|
52d60d |
#define NT_CAPSLOCK_ON (0x0080)
|
|
|
52d60d |
#define NT_ENHANCED_KEY (0x0100)
|
|
|
52d60d |
|
|
|
52d60d |
/* console foreground color attributes */
|
|
|
52d60d |
#define NT_FOREGROUND_BLACK (0x0000)
|
|
|
52d60d |
#define NT_FOREGROUND_BLUE (0x0001)
|
|
|
52d60d |
#define NT_FOREGROUND_GREEN (0x0002)
|
|
|
52d60d |
#define NT_FOREGROUND_CYAN (0x0003)
|
|
|
52d60d |
#define NT_FOREGROUND_RED (0x0004)
|
|
|
52d60d |
#define NT_FOREGROUND_MAGENTA (0x0005)
|
|
|
52d60d |
#define NT_FOREGROUND_YELLOW (0x0006)
|
|
|
52d60d |
#define NT_FOREGROUND_WHITE (0x0007)
|
|
|
52d60d |
#define NT_FOREGROUND_INTENSITY (0x0008)
|
|
|
52d60d |
|
|
|
52d60d |
/* console background color attributes */
|
|
|
52d60d |
#define NT_BACKGROUND_BLACK (0x0000)
|
|
|
52d60d |
#define NT_BACKGROUND_BLUE (0x0010)
|
|
|
52d60d |
#define NT_BACKGROUND_GREEN (0x0020)
|
|
|
52d60d |
#define NT_BACKGROUND_CYAN (0x0030)
|
|
|
52d60d |
#define NT_BACKGROUND_RED (0x0040)
|
|
|
52d60d |
#define NT_BACKGROUND_MAGENTA (0x0050)
|
|
|
52d60d |
#define NT_BACKGROUND_YELLOW (0x0060)
|
|
|
52d60d |
#define NT_BACKGROUND_WHITE (0x0070)
|
|
|
52d60d |
#define NT_BACKGROUND_INTENSITY (0x0080)
|
|
|
52d60d |
|
|
|
52d60d |
/* console common lvb attributes */
|
|
|
52d60d |
#define NT_COMMON_LVB_LEADING_BYTE (0x0100)
|
|
|
52d60d |
#define NT_COMMON_LVB_TRAILING_BYTE (0x0200)
|
|
|
52d60d |
#define NT_COMMON_LVB_GRID_HORIZONTAL (0x0400)
|
|
|
52d60d |
#define NT_COMMON_LVB_GRID_LVERTICAL (0x0800)
|
|
|
52d60d |
#define NT_COMMON_LVB_GRID_RVERTICAL (0x1000)
|
|
|
52d60d |
#define NT_COMMON_LVB_REVERSE_VIDEO (0x4000)
|
|
|
52d60d |
#define NT_COMMON_LVB_UNDERSCORE (0x8000)
|
|
|
52d60d |
|
|
|
52d60d |
/* console font name length limit */
|
|
|
52d60d |
#define NT_LF_FACESIZE (0x20)
|
|
|
52d60d |
|
|
|
52d60d |
/* console font families */
|
|
|
52d60d |
#define NT_FF_DONTCARE (0x0 << 4)
|
|
|
52d60d |
#define NT_FF_ROMAN (0x1 << 4)
|
|
|
52d60d |
#define NT_FF_SWISS (0x2 << 4)
|
|
|
52d60d |
#define NT_FF_MODERN (0x3 << 4)
|
|
|
52d60d |
#define NT_FF_SCRIPT (0x4 << 4)
|
|
|
52d60d |
#define NT_FF_DECORATIVE (0x5 << 4)
|
|
|
52d60d |
|
|
|
52d60d |
/* console font weight */
|
|
|
52d60d |
#define NT_FW_DONTCARE 0
|
|
|
52d60d |
#define NT_FW_THIN 100
|
|
|
52d60d |
#define NT_FW_EXTRALIGHT 200
|
|
|
52d60d |
#define NT_FW_ULTRALIGHT 200
|
|
|
52d60d |
#define NT_FW_LIGHT 300
|
|
|
52d60d |
#define NT_FW_NORMAL 400
|
|
|
52d60d |
#define NT_FW_REGULAR 400
|
|
|
52d60d |
#define NT_FW_MEDIUM 500
|
|
|
52d60d |
#define NT_FW_SEMIBOLD 600
|
|
|
52d60d |
#define NT_FW_DEMIBOLD 600
|
|
|
52d60d |
#define NT_FW_BOLD 700
|
|
|
52d60d |
#define NT_FW_EXTRABOLD 800
|
|
|
52d60d |
#define NT_FW_ULTRABOLD 800
|
|
|
52d60d |
#define NT_FW_HEAVY 900
|
|
|
52d60d |
#define NT_FW_BLACK 900
|
|
|
52d60d |
|
|
|
52d60d |
/* console selection bits */
|
|
|
52d60d |
#define NT_CONSOLE_NO_SELECTION (0x0000)
|
|
|
52d60d |
#define NT_CONSOLE_SELECTION_IN_PROGRESS (0x0001)
|
|
|
52d60d |
#define NT_CONSOLE_SELECTION_NOT_EMPTY (0x0002)
|
|
|
52d60d |
#define NT_CONSOLE_MOUSE_SELECTION (0x0004)
|
|
|
52d60d |
#define NT_CONSOLE_MOUSE_DOWN (0x0008)
|
|
|
52d60d |
|
|
|
52d60d |
/* console mode bits */
|
|
|
52d60d |
#define NT_ENABLE_PROCESSED_INPUT (0x0001)
|
|
|
52d60d |
#define NT_ENABLE_LINE_INPUT (0x0002)
|
|
|
52d60d |
#define NT_ENABLE_ECHO_INPUT (0x0004)
|
|
|
52d60d |
#define NT_ENABLE_WINDOW_INPUT (0x0008)
|
|
|
52d60d |
#define NT_ENABLE_MOUSE_INPUT (0x0010)
|
|
|
52d60d |
#define NT_ENABLE_INSERT_MODE (0x0020)
|
|
|
52d60d |
#define NT_ENABLE_QUICK_EDIT_MODE (0x0040)
|
|
|
0822ab |
#define NT_ENABLE_EXTENDED_FLAGS (0x0080)
|
|
|
52d60d |
|
|
|
52d60d |
/* console display modes */
|
|
|
52d60d |
#define NT_CONSOLE_FULLSCREEN (0x0001)
|
|
|
52d60d |
#define NT_CONSOLE_FULLSCREEN_HARDWARE (0x0002)
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
/* console structures */
|
|
|
52d60d |
typedef struct _nt_coord {
|
|
|
52d60d |
int16_t x;
|
|
|
52d60d |
int16_t y;
|
|
|
52d60d |
} nt_coord;
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef struct _nt_small_rect {
|
|
|
52d60d |
int16_t left;
|
|
|
52d60d |
int16_t top;
|
|
|
52d60d |
int16_t right;
|
|
|
52d60d |
int16_t bottom;
|
|
|
52d60d |
} nt_small_rect;
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef struct _nt_char_info {
|
|
|
52d60d |
union {
|
|
|
52d60d |
wchar16_t unicode_char;
|
|
|
52d60d |
char ascii_char;
|
|
|
e99940 |
};
|
|
|
52d60d |
|
|
|
52d60d |
uint16_t attributes;
|
|
|
52d60d |
} nt_char_info;
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef struct _nt_console_cursor_info {
|
|
|
52d60d |
uint32_t size;
|
|
|
52d60d |
int32_t visible;
|
|
|
52d60d |
} nt_console_cursor_info;
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef struct _nt_console_font_info {
|
|
|
52d60d |
uint32_t font;
|
|
|
52d60d |
nt_coord font_size;
|
|
|
52d60d |
} nt_console_font_info;
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef struct _nt_console_font_info_ex {
|
|
|
52d60d |
uint32_t info_size;
|
|
|
52d60d |
uint32_t font;
|
|
|
52d60d |
nt_coord font_size;
|
|
|
52d60d |
uint32_t font_family;
|
|
|
52d60d |
uint32_t font_weight;
|
|
|
52d60d |
wchar16_t face_name[NT_LF_FACESIZE];
|
|
|
52d60d |
} nt_console_font_info_ex;
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef struct _nt_console_history_info {
|
|
|
52d60d |
uint32_t info_size;
|
|
|
52d60d |
uint32_t history_buffer_size;
|
|
|
52d60d |
uint32_t history_buffer_count;
|
|
|
52d60d |
uint32_t flags;
|
|
|
52d60d |
} nt_console_history_info;
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef struct _nt_key_event_record {
|
|
|
52d60d |
int32_t key_down;
|
|
|
52d60d |
uint16_t repeat_count;
|
|
|
52d60d |
uint16_t virtual_key_code;
|
|
|
52d60d |
uint16_t virtual_scan_code;
|
|
|
52d60d |
|
|
|
52d60d |
union {
|
|
|
52d60d |
wchar16_t unicode_char;
|
|
|
52d60d |
char ascii_char;
|
|
|
e99940 |
};
|
|
|
52d60d |
|
|
|
52d60d |
uint32_t control_key_state;
|
|
|
52d60d |
} nt_key_event_record;
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef struct _nt_mouse_event_record {
|
|
|
52d60d |
nt_coord mouse_position;
|
|
|
52d60d |
uint32_t button_state;
|
|
|
52d60d |
uint32_t control_key_state;
|
|
|
52d60d |
uint32_t event_flags;
|
|
|
52d60d |
} nt_mouse_event_record;
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef struct _nt_window_buffer_size_record {
|
|
|
52d60d |
nt_coord size;
|
|
|
52d60d |
} nt_window_buffer_size_record;
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef struct _nt_menu_event_record {
|
|
|
52d60d |
uint32_t command_id;
|
|
|
52d60d |
} nt_menu_event_record;
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef struct _nt_focus_event_record {
|
|
|
52d60d |
int32_t set_focus;
|
|
|
52d60d |
} nt_focus_event_record;
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef struct _nt_input_record {
|
|
|
52d60d |
uint16_t event_type;
|
|
|
52d60d |
|
|
|
52d60d |
union {
|
|
|
52d60d |
nt_key_event_record key_event;
|
|
|
52d60d |
nt_mouse_event_record mouse_event;
|
|
|
e99940 |
nt_window_buffer_size_record window_event;
|
|
|
52d60d |
nt_menu_event_record menu_event;
|
|
|
52d60d |
nt_focus_event_record focus_event;
|
|
|
e99940 |
};
|
|
|
52d60d |
} nt_input_record;
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef struct _nt_console_screen_buffer_info {
|
|
|
52d60d |
nt_coord size;
|
|
|
52d60d |
nt_coord cursor_position;
|
|
|
52d60d |
uint16_t attributes;
|
|
|
52d60d |
nt_small_rect window;
|
|
|
52d60d |
nt_coord max_windows_size;
|
|
|
52d60d |
} nt_console_screen_buffer_info;
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef struct _nt_console_screen_buffer_info_ex {
|
|
|
52d60d |
uint16_t info_size;
|
|
|
52d60d |
nt_coord size;
|
|
|
52d60d |
nt_coord cursor_position;
|
|
|
52d60d |
uint16_t attributes;
|
|
|
52d60d |
nt_small_rect window;
|
|
|
52d60d |
nt_coord max_windows_size;
|
|
|
52d60d |
uint16_t popup_attributes;
|
|
|
52d60d |
int32_t full_screen_supported;
|
|
|
52d60d |
uint32_t color_table[0x10];
|
|
|
52d60d |
} nt_console_screen_buffer_info_ex;
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef struct _nt_console_read_console_control {
|
|
|
52d60d |
uint32_t length;
|
|
|
52d60d |
uint32_t initial_chars;
|
|
|
52d60d |
uint32_t crtl_wakeup_mask;
|
|
|
52d60d |
uint32_t ctrl_key_state;
|
|
|
52d60d |
} nt_console_read_console_control;
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef struct _nt_console_selection_info {
|
|
|
52d60d |
uint32_t flags;
|
|
|
52d60d |
nt_coord selection_anchor;
|
|
|
52d60d |
nt_small_rect selection;
|
|
|
52d60d |
} nt_console_selection_info;
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
/* console api: console handles */
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_alloc_console(void);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_attach_console(uint32_t pid);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_free_console(void);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef void * __stdcall ntcon_get_std_handle(uint32_t ntcon_std_type);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
/* console api: read/write using std handles */
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_get_number_of_console_input_events(
|
|
|
52d60d |
__in void * hconin,
|
|
|
52d60d |
__out uint32_t * number_of_events);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_flush_console_input_buffer(
|
|
|
52d60d |
__in void * hconin);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_peek_console_input_ansi(
|
|
|
52d60d |
__in void * hconin,
|
|
|
52d60d |
__out nt_input_record * buffer,
|
|
|
52d60d |
__in uint32_t length,
|
|
|
52d60d |
__out uint32_t * events_read);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_peek_console_input_utf16(
|
|
|
52d60d |
__in void * hconin,
|
|
|
52d60d |
__out nt_input_record * buffer,
|
|
|
52d60d |
__in uint32_t length,
|
|
|
52d60d |
__out uint32_t * events_read);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_read_console_ansi(
|
|
|
52d60d |
__in void * hconsole,
|
|
|
52d60d |
__out char * buffer,
|
|
|
52d60d |
__in uint32_t chars_to_read,
|
|
|
52d60d |
__out uint32_t * chars_read,
|
|
|
52d60d |
__in void * input_control __optional);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_read_console_utf16(
|
|
|
52d60d |
__in void * hconsole,
|
|
|
52d60d |
__out wchar16_t * buffer,
|
|
|
52d60d |
__in uint32_t chars_to_read,
|
|
|
52d60d |
__out uint32_t * chars_read,
|
|
|
52d60d |
__in void * input_control __optional);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_read_console_input_ansi(
|
|
|
52d60d |
__in void * hconin,
|
|
|
52d60d |
__out nt_input_record * buffer,
|
|
|
52d60d |
__in uint32_t length,
|
|
|
52d60d |
__out uint32_t * events_read);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_read_console_input_utf16(
|
|
|
52d60d |
__in void * hconin,
|
|
|
52d60d |
__out nt_input_record * buffer,
|
|
|
52d60d |
__in uint32_t length,
|
|
|
52d60d |
__out uint32_t * events_read);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_read_console_output_ansi(
|
|
|
52d60d |
__in void * hconout,
|
|
|
52d60d |
__out nt_char_info * buffer,
|
|
|
52d60d |
__in nt_coord buffer_size,
|
|
|
52d60d |
__in nt_coord buffer_coord,
|
|
|
52d60d |
__in_out nt_small_rect * read_region);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_read_console_output_utf16(
|
|
|
52d60d |
__in void * hconout,
|
|
|
52d60d |
__out nt_char_info * buffer,
|
|
|
52d60d |
__in nt_coord buffer_size,
|
|
|
52d60d |
__in nt_coord buffer_coord,
|
|
|
52d60d |
__in_out nt_small_rect * read_region);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_write_console_ansi(
|
|
|
52d60d |
__in void * hconsole,
|
|
|
52d60d |
__in const void * buffer,
|
|
|
52d60d |
__in uint32_t bytes_sent,
|
|
|
52d60d |
__out uint32_t * bytes_written,
|
|
|
52d60d |
__in_out void * overlapped __optional);
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_write_console_utf16(
|
|
|
52d60d |
__in void * hconsole,
|
|
|
52d60d |
__in const void * buffer,
|
|
|
52d60d |
__in uint32_t bytes_sent,
|
|
|
52d60d |
__out uint32_t * bytes_written,
|
|
|
52d60d |
__in_out void * overlapped __optional);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_write_console_input_ansi(
|
|
|
52d60d |
__in void * hconin,
|
|
|
52d60d |
__in const nt_input_record * buffer,
|
|
|
52d60d |
__in uint32_t length,
|
|
|
52d60d |
__out uint32_t * events_written);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_write_console_input_utf16(
|
|
|
52d60d |
__in void * hconin,
|
|
|
52d60d |
__in const nt_input_record * buffer,
|
|
|
52d60d |
__in uint32_t length,
|
|
|
52d60d |
__out uint32_t * events_written);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_write_console_output_ansi(
|
|
|
52d60d |
__in void * hconout,
|
|
|
52d60d |
__in const nt_char_info * buffer,
|
|
|
52d60d |
__in nt_coord buffer_size,
|
|
|
52d60d |
__in nt_coord buffer_coord,
|
|
|
52d60d |
__in_out nt_small_rect * write_region);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_write_console_output_utf16(
|
|
|
52d60d |
__in void * hconout,
|
|
|
52d60d |
__in const nt_char_info * buffer,
|
|
|
52d60d |
__in nt_coord buffer_size,
|
|
|
52d60d |
__in nt_coord buffer_coord,
|
|
|
52d60d |
__in_out nt_small_rect * write_region);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
/* console api: screen buffers */
|
|
|
52d60d |
typedef struct _nt_security_attributes nt_security_attributes;
|
|
|
52d60d |
|
|
|
52d60d |
typedef void * __stdcall ntcon_create_console_screen_buffer(
|
|
|
52d60d |
__in uint32_t desired_access,
|
|
|
52d60d |
__in uint32_t share_mode,
|
|
|
52d60d |
__in nt_security_attributes * sec_attr __optional,
|
|
|
52d60d |
__in uint32_t flags,
|
|
|
52d60d |
__in void * reserved);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_get_console_screen_buffer_info(
|
|
|
52d60d |
__in void * hconout,
|
|
|
52d60d |
__out nt_console_screen_buffer_info * con_screen_buffer_info);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_get_console_screen_buffer_info_ex(
|
|
|
52d60d |
__in void * hconout,
|
|
|
52d60d |
__out nt_console_screen_buffer_info_ex * con_screen_buffer_info_ex);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_set_console_screen_buffer_info_ex(
|
|
|
52d60d |
__in void * hconout,
|
|
|
52d60d |
__out nt_console_screen_buffer_info_ex * con_screen_buffer_info_ex);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_set_console_screen_buffer_size(
|
|
|
52d60d |
__in void * hconout,
|
|
|
52d60d |
__in nt_coord size);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_set_console_active_screen_buffer(
|
|
|
52d60d |
__in void * hconout);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_set_console_window_info(
|
|
|
52d60d |
__in void * hconout,
|
|
|
52d60d |
__in int32_t absolute,
|
|
|
52d60d |
__in const nt_small_rect * console_window);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_scroll_console_screen_buffer_ansi(
|
|
|
52d60d |
__in void * hconout,
|
|
|
52d60d |
__in const nt_small_rect * scroll_rect,
|
|
|
52d60d |
__in const nt_small_rect * clip_rect __optional,
|
|
|
52d60d |
__in nt_coord dest_origin,
|
|
|
52d60d |
__in const nt_char_info * fill);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_scroll_console_screen_buffer_utf16(
|
|
|
52d60d |
__in void * hconout,
|
|
|
52d60d |
__in const nt_small_rect * scroll_rect,
|
|
|
52d60d |
__in const nt_small_rect * clip_rect __optional,
|
|
|
52d60d |
__in nt_coord dest_origin,
|
|
|
52d60d |
__in const nt_char_info * fill);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
/* console api: code page */
|
|
|
52d60d |
typedef uint32_t __stdcall ntcon_get_console_code_page(void);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_set_console_code_page(uint32_t code_page);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
/* console api: console control */
|
|
|
52d60d |
typedef int32_t __stdcall nt_console_handler_routine(
|
|
|
52d60d |
__in uint32_t console_ctrl_type);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_generate_console_ctrl_event(
|
|
|
52d60d |
__in uint32_t ctrl_event,
|
|
|
52d60d |
__in uint32_t process_group_id);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_set_console_ctrl_handler(
|
|
|
52d60d |
__in nt_console_handler_routine * handler_routine __optional,
|
|
|
52d60d |
__in int32_t add_or_remove);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
/* console api: interface mode */
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_get_console_mode(
|
|
|
52d60d |
__in void * hconsole,
|
|
|
52d60d |
__out uint32_t * mode);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_set_console_mode(
|
|
|
52d60d |
__in void * hconsole,
|
|
|
52d60d |
__in uint32_t mode);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
/* console api: console process list */
|
|
|
52d60d |
typedef uint32_t __stdcall ntcon_get_console_process_list(
|
|
|
52d60d |
__out uint32_t * process_list,
|
|
|
52d60d |
__in uint32_t process_count);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
/* console api: aliases */
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_add_console_alias_ansi(
|
|
|
52d60d |
__in char * source,
|
|
|
52d60d |
__in char * target,
|
|
|
52d60d |
__in char * exe_name);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_add_console_alias_utf16(
|
|
|
52d60d |
__in wchar16_t * source,
|
|
|
52d60d |
__in wchar16_t * target,
|
|
|
52d60d |
__in wchar16_t * exe_name);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef uint32_t __stdcall ntcon_get_console_alias_ansi(
|
|
|
52d60d |
__in char * source,
|
|
|
52d60d |
__out char * target_buffer,
|
|
|
52d60d |
__in uint32_t target_buffer_length,
|
|
|
52d60d |
__in char * exe_name);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef uint32_t __stdcall ntcon_get_console_alias_utf16(
|
|
|
52d60d |
__in wchar16_t * source,
|
|
|
52d60d |
__out wchar16_t * target_buffer,
|
|
|
52d60d |
__in uint32_t target_buffer_length,
|
|
|
52d60d |
__in wchar16_t * exe_name);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef uint32_t __stdcall ntcon_get_console_aliases_ansi(
|
|
|
52d60d |
__out char * alias_buffer,
|
|
|
52d60d |
__in uint32_t alias_buffer_length,
|
|
|
52d60d |
__in char * exe_name);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef uint32_t __stdcall ntcon_get_console_aliases_utf16(
|
|
|
52d60d |
__out wchar16_t * alias_buffer,
|
|
|
52d60d |
__in uint32_t alias_buffer_length,
|
|
|
52d60d |
__in wchar16_t * exe_name);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef uint32_t __stdcall ntcon_get_console_aliases_length_ansi(
|
|
|
52d60d |
__in char * exe_name);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef uint32_t __stdcall ntcon_get_console_aliases_length_utf16(
|
|
|
52d60d |
__in wchar16_t * exe_name);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef uint32_t __stdcall ntcon_get_console_alias_exes_ansi(
|
|
|
52d60d |
__out char * exe_name_buffer,
|
|
|
52d60d |
__in uint32_t exe_name_buffer_length);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef uint32_t __stdcall ntcon_get_console_alias_exes_utf16(
|
|
|
52d60d |
__out wchar16_t * exe_name_buffer,
|
|
|
52d60d |
__in uint32_t exe_name_buffer_length);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef uint32_t __stdcall ntcon_get_console_alias_exes_length_ansi(void);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef uint32_t __stdcall ntcon_get_console_alias_exes_length_utf16(void);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
/* console api: output attributes */
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_fill_console_output_attribute(
|
|
|
52d60d |
__in void * hconout,
|
|
|
52d60d |
__in uint16_t attribute,
|
|
|
52d60d |
__in uint32_t length,
|
|
|
52d60d |
__in nt_coord write_coord,
|
|
|
52d60d |
__out uint32_t * attrs_written);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_read_console_output_attribute(
|
|
|
52d60d |
__in void * hconout,
|
|
|
52d60d |
__in uint16_t * attribute,
|
|
|
52d60d |
__in uint32_t length,
|
|
|
52d60d |
__in nt_coord read_coord,
|
|
|
52d60d |
__out uint32_t * attrs_read);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_write_console_output_attribute(
|
|
|
52d60d |
__in void * hconout,
|
|
|
52d60d |
__in uint16_t * attribute,
|
|
|
52d60d |
__in uint32_t length,
|
|
|
52d60d |
__in nt_coord write_coord,
|
|
|
52d60d |
__out uint32_t * attrs_written);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
/* console api: output characters */
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_fill_console_output_character_ansi(
|
|
|
52d60d |
__in void * hconout,
|
|
|
52d60d |
__in char character,
|
|
|
52d60d |
__in uint32_t length,
|
|
|
52d60d |
__in nt_coord write_coord,
|
|
|
52d60d |
__out uint32_t * chars_written);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_fill_console_output_character_utf16(
|
|
|
52d60d |
__in void * hconout,
|
|
|
52d60d |
__in wchar16_t character,
|
|
|
52d60d |
__in uint32_t length,
|
|
|
52d60d |
__in nt_coord write_coord,
|
|
|
52d60d |
__out uint32_t * chars_written);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_read_console_output_character_ansi(
|
|
|
52d60d |
__in void * hconout,
|
|
|
52d60d |
__in char * character,
|
|
|
52d60d |
__in uint32_t length,
|
|
|
52d60d |
__in nt_coord read_coord,
|
|
|
52d60d |
__out uint32_t * chars_read);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_read_console_output_character_utf16(
|
|
|
52d60d |
__in void * hconout,
|
|
|
52d60d |
__in wchar16_t * character,
|
|
|
52d60d |
__in uint32_t length,
|
|
|
52d60d |
__in nt_coord read_coord,
|
|
|
52d60d |
__out uint32_t * chars_read);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_write_console_output_character_ansi(
|
|
|
52d60d |
__in void * hconout,
|
|
|
52d60d |
__in char * character,
|
|
|
52d60d |
__in uint32_t length,
|
|
|
52d60d |
__in nt_coord write_coord,
|
|
|
52d60d |
__out uint32_t * chars_written);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_write_console_output_character_utf16(
|
|
|
52d60d |
__in void * hconout,
|
|
|
52d60d |
__in wchar16_t * character,
|
|
|
52d60d |
__in uint32_t length,
|
|
|
52d60d |
__in nt_coord write_coord,
|
|
|
52d60d |
__out uint32_t * chars_written);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
/* console api: output code page */
|
|
|
52d60d |
typedef uint32_t __stdcall ntcon_get_console_output_code_page(void);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_set_console_output_code_page(
|
|
|
52d60d |
__in uint32_t code_page_id);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
/* console api: text attributes */
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_set_console_text_attribute(
|
|
|
52d60d |
__in void * hconout,
|
|
|
52d60d |
__in uint16_t attributes);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
/* console api: cursor info */
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_get_console_cursor_info(
|
|
|
52d60d |
__in void * hconout,
|
|
|
52d60d |
__out nt_console_cursor_info * console_cursor_info);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_set_console_cursor_info(
|
|
|
52d60d |
__in void * hconout,
|
|
|
52d60d |
__in const nt_console_cursor_info * console_cursor_info);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_set_console_cursor_position(
|
|
|
52d60d |
__in void * hconout,
|
|
|
52d60d |
__out nt_coord cursor_position);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
/* console api: selection info */
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_get_console_selection_info(
|
|
|
52d60d |
__out nt_console_selection_info * console_selection_info);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
/* console api: history info */
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_get_console_history_info(
|
|
|
52d60d |
__out nt_console_history_info * console_history_info);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_set_console_history_info(
|
|
|
52d60d |
__in nt_console_history_info * console_history_info);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
/* console api: font info */
|
|
|
52d60d |
typedef nt_coord __stdcall ntcon_get_console_font_size(
|
|
|
52d60d |
__in void * hconout,
|
|
|
52d60d |
__in uint32_t font);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_get_current_console_font(
|
|
|
52d60d |
__in void * hconout,
|
|
|
52d60d |
__in int32_t maximum_window,
|
|
|
52d60d |
__out nt_console_font_info * console_current_font);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_get_current_console_font_ex(
|
|
|
52d60d |
__in void * hconout,
|
|
|
52d60d |
__in int32_t maximum_window,
|
|
|
52d60d |
__out nt_console_font_info_ex * console_current_font_ex);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_set_current_console_font_ex(
|
|
|
52d60d |
__in void * hconout,
|
|
|
52d60d |
__in int32_t maximum_window,
|
|
|
52d60d |
__in nt_console_font_info_ex * console_current_font_ex);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
/* console api: mouse capabilities */
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_get_number_of_console_mouse_buttons(
|
|
|
52d60d |
__out uint32_t * number_of_mouse_buttons);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
/* console api: window information */
|
|
|
52d60d |
typedef void * __stdcall ntcon_get_console_window(void);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef nt_coord __stdcall ntcon_get_largest_console_window_size(
|
|
|
52d60d |
__in void * hconout);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
/* console api: display mode */
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_get_console_display_mode(
|
|
|
52d60d |
__out uint32_t * mode_flags);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_set_console_display_mode(
|
|
|
52d60d |
__in void * hconsole,
|
|
|
52d60d |
__in uint32_t mode_flags,
|
|
|
52d60d |
__out nt_coord * new_screen_buffer_dimensions __optional);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
/* console api: console title */
|
|
|
52d60d |
typedef uint32_t __stdcall ntcon_get_console_title_ansi(
|
|
|
52d60d |
__out char * console_title,
|
|
|
52d60d |
__in uint32_t size);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef uint32_t __stdcall ntcon_get_console_title_utf16(
|
|
|
52d60d |
__out wchar16_t * console_title,
|
|
|
52d60d |
__in uint32_t size);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_set_console_title_ansi(
|
|
|
52d60d |
__in char * console_title);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef int32_t __stdcall ntcon_set_console_title_utf16(
|
|
|
52d60d |
__in wchar16_t * console_title);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef uint32_t __stdcall ntcon_get_console_original_title_ansi(
|
|
|
52d60d |
__out char * console_title,
|
|
|
52d60d |
__in uint32_t size);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
typedef uint32_t __stdcall ntcon_get_console_original_title_utf16(
|
|
|
52d60d |
__out wchar16_t * console_title,
|
|
|
52d60d |
__in uint32_t size);
|
|
|
52d60d |
|
|
|
52d60d |
|
|
|
52d60d |
/* ntcon function vtbl */
|
|
|
52d60d |
typedef struct _ntcon_vtbl {
|
|
|
52d60d |
/* console handles */
|
|
|
52d60d |
ntcon_alloc_console * alloc_console;
|
|
|
52d60d |
ntcon_attach_console * attach_console;
|
|
|
52d60d |
ntcon_free_console * free_console;
|
|
|
52d60d |
ntcon_get_std_handle * get_std_handle;
|
|
|
52d60d |
|
|
|
52d60d |
/* read/write using std handles */
|
|
|
52d60d |
ntcon_get_number_of_console_input_events * get_number_of_console_input_events;
|
|
|
52d60d |
ntcon_flush_console_input_buffer * flush_console_input_buffer;
|
|
|
52d60d |
ntcon_peek_console_input_ansi * peek_console_input_ansi;
|
|
|
52d60d |
ntcon_peek_console_input_utf16 * peek_console_input_utf16;
|
|
|
52d60d |
ntcon_read_console_ansi * read_console_ansi;
|
|
|
52d60d |
ntcon_read_console_utf16 * read_console_utf16;
|
|
|
52d60d |
ntcon_read_console_input_ansi * read_console_input_ansi;
|
|
|
52d60d |
ntcon_read_console_input_utf16 * read_console_input_utf16;
|
|
|
52d60d |
ntcon_read_console_output_ansi * read_console_output_ansi;
|
|
|
52d60d |
ntcon_read_console_output_utf16 * read_console_output_utf16;
|
|
|
52d60d |
ntcon_write_console_ansi * write_console_ansi;
|
|
|
52d60d |
ntcon_write_console_utf16 * write_console_utf16;
|
|
|
52d60d |
ntcon_write_console_input_ansi * write_console_input_ansi;
|
|
|
52d60d |
ntcon_write_console_input_utf16 * write_console_input_utf16;
|
|
|
52d60d |
ntcon_write_console_output_ansi * write_console_output_ansi;
|
|
|
52d60d |
ntcon_write_console_output_utf16 * write_console_output_utf16;
|
|
|
52d60d |
|
|
|
52d60d |
/* screen buffers */
|
|
|
52d60d |
ntcon_create_console_screen_buffer * create_console_screen_buffer;
|
|
|
52d60d |
ntcon_get_console_screen_buffer_info * get_console_screen_buffer_info;
|
|
|
52d60d |
ntcon_get_console_screen_buffer_info_ex * get_console_screen_buffer_info_ex;
|
|
|
52d60d |
ntcon_set_console_screen_buffer_info_ex * set_console_screen_buffer_info_ex;
|
|
|
52d60d |
ntcon_set_console_screen_buffer_size * set_console_screen_buffer_size;
|
|
|
52d60d |
ntcon_set_console_active_screen_buffer * set_console_active_screen_buffer;
|
|
|
52d60d |
ntcon_set_console_window_info * set_console_window_info;
|
|
|
52d60d |
ntcon_scroll_console_screen_buffer_ansi * scroll_console_screen_buffer_ansi;
|
|
|
52d60d |
ntcon_scroll_console_screen_buffer_utf16 * scroll_console_screen_buffer_utf16;
|
|
|
52d60d |
|
|
|
52d60d |
/* code page */
|
|
|
52d60d |
ntcon_get_console_code_page * get_console_code_page;
|
|
|
52d60d |
ntcon_set_console_code_page * set_console_code_page;
|
|
|
52d60d |
|
|
|
52d60d |
/* console control */
|
|
|
52d60d |
ntcon_generate_console_ctrl_event * generate_console_ctrl_event;
|
|
|
52d60d |
ntcon_set_console_ctrl_handler * set_console_ctrl_handler;
|
|
|
52d60d |
|
|
|
52d60d |
/* interface mode */
|
|
|
52d60d |
ntcon_get_console_mode * get_console_mode;
|
|
|
52d60d |
ntcon_set_console_mode * set_console_mode;
|
|
|
52d60d |
|
|
|
52d60d |
/* console process list */
|
|
|
52d60d |
ntcon_get_console_process_list * get_console_process_list;
|
|
|
52d60d |
|
|
|
52d60d |
/* aliases */
|
|
|
52d60d |
ntcon_add_console_alias_ansi * add_console_alias_ansi;
|
|
|
52d60d |
ntcon_add_console_alias_utf16 * add_console_alias_utf16;
|
|
|
52d60d |
ntcon_get_console_alias_ansi * get_console_alias_ansi;
|
|
|
52d60d |
ntcon_get_console_alias_utf16 * get_console_alias_utf16;
|
|
|
52d60d |
ntcon_get_console_aliases_ansi * get_console_aliases_ansi;
|
|
|
52d60d |
ntcon_get_console_aliases_utf16 * get_console_aliases_utf16;
|
|
|
52d60d |
ntcon_get_console_aliases_length_ansi * get_console_aliases_length_ansi;
|
|
|
52d60d |
ntcon_get_console_aliases_length_utf16 * get_console_aliases_length_utf16;
|
|
|
52d60d |
ntcon_get_console_alias_exes_ansi * get_console_alias_exes_ansi;
|
|
|
52d60d |
ntcon_get_console_alias_exes_utf16 * get_console_alias_exes_utf16;
|
|
|
52d60d |
ntcon_get_console_alias_exes_length_ansi * get_console_alias_exes_length_ansi;
|
|
|
52d60d |
ntcon_get_console_alias_exes_length_utf16 * get_console_alias_exes_length_utf16;
|
|
|
52d60d |
|
|
|
52d60d |
/* output attributes */
|
|
|
52d60d |
ntcon_fill_console_output_attribute * fill_console_output_attribute;
|
|
|
52d60d |
ntcon_read_console_output_attribute * read_console_output_attribute;
|
|
|
52d60d |
ntcon_write_console_output_attribute * write_console_output_attribute;
|
|
|
52d60d |
|
|
|
52d60d |
/* output characters */
|
|
|
52d60d |
ntcon_fill_console_output_character_ansi * fill_console_output_character_ansi;
|
|
|
52d60d |
ntcon_fill_console_output_character_utf16 * fill_console_output_character_utf16;
|
|
|
52d60d |
ntcon_read_console_output_character_ansi * read_console_output_character_ansi;
|
|
|
52d60d |
ntcon_read_console_output_character_utf16 * read_console_output_character_utf16;
|
|
|
52d60d |
ntcon_write_console_output_character_ansi * write_console_output_character_ansi;
|
|
|
52d60d |
ntcon_write_console_output_character_utf16 * write_console_output_character_utf16;
|
|
|
52d60d |
|
|
|
52d60d |
/* output code page */
|
|
|
52d60d |
ntcon_get_console_output_code_page * get_console_output_code_page;
|
|
|
52d60d |
ntcon_set_console_output_code_page * set_console_output_code_page;
|
|
|
52d60d |
|
|
|
52d60d |
/* text attributes */
|
|
|
52d60d |
ntcon_set_console_text_attribute * set_console_text_attribute;
|
|
|
52d60d |
|
|
|
52d60d |
/* cursor info */
|
|
|
52d60d |
ntcon_get_console_cursor_info * get_console_cursor_info;
|
|
|
52d60d |
ntcon_set_console_cursor_info * set_console_cursor_info;
|
|
|
52d60d |
ntcon_set_console_cursor_position * set_console_cursor_position;
|
|
|
52d60d |
|
|
|
52d60d |
/* selection info */
|
|
|
52d60d |
ntcon_get_console_selection_info * get_console_selection_info;
|
|
|
52d60d |
|
|
|
52d60d |
/* history info */
|
|
|
52d60d |
ntcon_get_console_history_info * get_console_history_info;
|
|
|
52d60d |
ntcon_set_console_history_info * set_console_history_info;
|
|
|
52d60d |
|
|
|
52d60d |
/* font info */
|
|
|
52d60d |
ntcon_get_console_font_size * get_console_font_size;
|
|
|
52d60d |
ntcon_get_current_console_font * get_current_console_font;
|
|
|
52d60d |
ntcon_get_current_console_font_ex * get_current_console_font_ex;
|
|
|
52d60d |
ntcon_set_current_console_font_ex * set_current_console_font_ex;
|
|
|
52d60d |
|
|
|
52d60d |
/* mouse capabilities */
|
|
|
52d60d |
ntcon_get_number_of_console_mouse_buttons * get_number_of_console_mouse_buttons;
|
|
|
52d60d |
|
|
|
52d60d |
/* window information */
|
|
|
52d60d |
ntcon_get_console_window * get_console_window;
|
|
|
52d60d |
ntcon_get_largest_console_window_size * get_largest_console_window_size;
|
|
|
52d60d |
|
|
|
52d60d |
/* display mode */
|
|
|
52d60d |
ntcon_get_console_display_mode * get_console_display_mode;
|
|
|
52d60d |
ntcon_set_console_display_mode * set_console_display_mode;
|
|
|
52d60d |
|
|
|
52d60d |
/* console title */
|
|
|
52d60d |
ntcon_get_console_title_ansi * get_console_title_ansi;
|
|
|
52d60d |
ntcon_get_console_title_utf16 * get_console_title_utf16;
|
|
|
52d60d |
ntcon_set_console_title_ansi * set_console_title_ansi;
|
|
|
52d60d |
ntcon_set_console_title_utf16 * set_console_title_utf16;
|
|
|
52d60d |
ntcon_get_console_original_title_ansi * get_console_original_title_ansi;
|
|
|
52d60d |
ntcon_get_console_original_title_utf16 * get_console_original_title_utf16;
|
|
|
52d60d |
} ntcon_vtbl;
|
|
|
52d60d |
|
|
|
52d60d |
ntcon_api
|
|
|
52d60d |
int32_t __fastcall ntcon_vtbl_init(ntcon_vtbl * pvtbl);
|
|
|
52d60d |
|
|
|
52d60d |
#ifdef __cplusplus
|
|
|
52d60d |
}
|
|
|
52d60d |
#endif
|
|
|
52d60d |
#endif
|