8 #if (_WIN32_WINNT >= 0x0600) && !defined(NOGDI)
14 #pragma warning(disable:4820)
18 * Special PID for parent process for AttachConsole API
20 #if (_WIN32_WINNT >= 0x0501)
21 #define ATTACH_PARENT_PROCESS ((DWORD)-1)
25 * Console display modes
27 // These codes are answered by GetConsoleDisplayMode
28 #define CONSOLE_WINDOWED 0
29 #define CONSOLE_FULLSCREEN 1
30 #define CONSOLE_FULLSCREEN_HARDWARE 2
32 // These codes should be given to SetConsoleDisplayMode
33 #define CONSOLE_FULLSCREEN_MODE 1
34 #define CONSOLE_WINDOWED_MODE 2
37 * Color attributes for text and screen background
39 #define FOREGROUND_BLUE 0x0001
40 #define FOREGROUND_GREEN 0x0002
41 #define FOREGROUND_RED 0x0004
42 #define FOREGROUND_INTENSITY 0x0008
43 #define BACKGROUND_BLUE 0x0010
44 #define BACKGROUND_GREEN 0x0020
45 #define BACKGROUND_RED 0x0040
46 #define BACKGROUND_INTENSITY 0x0080
48 #define COMMON_LVB_LEADING_BYTE 0x0100
49 #define COMMON_LVB_TRAILING_BYTE 0x0200
50 #define COMMON_LVB_GRID_HORIZONTAL 0x0400
51 #define COMMON_LVB_GRID_LVERTICAL 0x0800
52 #define COMMON_LVB_GRID_RVERTICAL 0x1000
53 #define COMMON_LVB_REVERSE_VIDEO 0x4000
54 #define COMMON_LVB_UNDERSCORE 0x8000
59 #define CONSOLE_TEXTMODE_BUFFER 1
60 #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/ */
63 * Control handler codes
65 #define CTRL_C_EVENT 0
66 #define CTRL_BREAK_EVENT 1
67 #define CTRL_CLOSE_EVENT 2
68 #define CTRL_LAST_CLOSE_EVENT 3 /* Undocumented */
69 #define CTRL_LOGOFF_EVENT 5
70 #define CTRL_SHUTDOWN_EVENT 6
75 #define ENABLE_PROCESSED_INPUT 0x0001
76 #define ENABLE_LINE_INPUT 0x0002
77 #define ENABLE_ECHO_INPUT 0x0004
78 #define ENABLE_WINDOW_INPUT 0x0008
79 #define ENABLE_MOUSE_INPUT 0x0010
80 #define ENABLE_INSERT_MODE 0x0020
81 #define ENABLE_QUICK_EDIT_MODE 0x0040
82 #define ENABLE_EXTENDED_FLAGS 0x0080
83 #if (_WIN32_WINNT >= 0x0600)
84 #define ENABLE_AUTO_POSITION 0x0100
90 #define ENABLE_PROCESSED_OUTPUT 0x0001
91 #define ENABLE_WRAP_AT_EOL_OUTPUT 0x0002
94 * Console selection flags
96 #define CONSOLE_NO_SELECTION 0x0000
97 #define CONSOLE_SELECTION_IN_PROGRESS 0x0001
98 #define CONSOLE_SELECTION_NOT_EMPTY 0x0002
99 #define CONSOLE_MOUSE_SELECTION 0x0004
100 #define CONSOLE_MOUSE_DOWN 0x0008
103 * History information and mode flags
105 #if (_WIN32_WINNT >= 0x0600)
106 // For Get/SetConsoleHistoryInfo
107 #define HISTORY_NO_DUP_FLAG 0x0001
108 // For SetConsoleCommandHistoryMode
109 #define CONSOLE_OVERSTRIKE 0x0001
116 #define CONSOLE_READ_KEEPEVENT 0x0001
117 #define CONSOLE_READ_CONTINUE 0x0002
122 #define KEY_EVENT 0x0001
123 #define MOUSE_EVENT 0x0002
124 #define WINDOW_BUFFER_SIZE_EVENT 0x0004
125 #define MENU_EVENT 0x0008
126 #define FOCUS_EVENT 0x0010
129 * ControlKeyState flags
131 #define RIGHT_ALT_PRESSED 0x0001
132 #define LEFT_ALT_PRESSED 0x0002
133 #define RIGHT_CTRL_PRESSED 0x0004
134 #define LEFT_CTRL_PRESSED 0x0008
135 #define SHIFT_PRESSED 0x0010
136 #define NUMLOCK_ON 0x0020
137 #define SCROLLLOCK_ON 0x0040
138 #define CAPSLOCK_ON 0x0080
139 #define ENHANCED_KEY 0x0100
144 #define FROM_LEFT_1ST_BUTTON_PRESSED 0x0001
145 #define RIGHTMOST_BUTTON_PRESSED 0x0002
146 #define FROM_LEFT_2ND_BUTTON_PRESSED 0x0004
147 #define FROM_LEFT_3RD_BUTTON_PRESSED 0x0008
148 #define FROM_LEFT_4TH_BUTTON_PRESSED 0x0010
153 #define MOUSE_MOVED 0x0001
154 #define DOUBLE_CLICK 0x0002
155 #define MOUSE_WHEELED 0x0004
156 #if (_WIN32_WINNT >= 0x0600)
157 #define MOUSE_HWHEELED 0x0008
160 typedef struct _CONSOLE_READCONSOLE_CONTROL
{
163 ULONG dwCtrlWakeupMask
;
164 ULONG dwControlKeyState
;
165 } CONSOLE_READCONSOLE_CONTROL
, *PCONSOLE_READCONSOLE_CONTROL
;
167 typedef struct _CHAR_INFO
{
173 } CHAR_INFO
,*PCHAR_INFO
;
175 typedef struct _SMALL_RECT
{
180 } SMALL_RECT
,*PSMALL_RECT
;
182 typedef struct _CONSOLE_CURSOR_INFO
{
185 } CONSOLE_CURSOR_INFO
,*PCONSOLE_CURSOR_INFO
;
187 typedef struct _COORD
{
192 typedef struct _CONSOLE_SELECTION_INFO
{
194 COORD dwSelectionAnchor
;
195 SMALL_RECT srSelection
;
196 } CONSOLE_SELECTION_INFO
, *PCONSOLE_SELECTION_INFO
;
198 typedef struct _CONSOLE_FONT_INFO
{
201 } CONSOLE_FONT_INFO
, *PCONSOLE_FONT_INFO
;
203 typedef struct _CONSOLE_SCREEN_BUFFER_INFO
{
205 COORD dwCursorPosition
;
208 COORD dwMaximumWindowSize
;
209 } CONSOLE_SCREEN_BUFFER_INFO
,*PCONSOLE_SCREEN_BUFFER_INFO
;
211 /* Undocumented, see http://blog.airesoft.co.uk/2012/10/things-ms-can-do-that-they-dont-tell-you-about-console-graphics/ */
212 #if defined(_WINGDI_) && !defined(NOGDI)
213 typedef struct _CONSOLE_GRAPHICS_BUFFER_INFO
{
214 DWORD dwBitMapInfoLength
;
215 LPBITMAPINFO lpBitMapInfo
;
216 DWORD dwUsage
; // DIB_PAL_COLORS or DIB_RGB_COLORS
219 } CONSOLE_GRAPHICS_BUFFER_INFO
, *PCONSOLE_GRAPHICS_BUFFER_INFO
;
222 typedef BOOL(CALLBACK
*PHANDLER_ROUTINE
)(_In_ DWORD
);
224 typedef struct _KEY_EVENT_RECORD
{
227 WORD wVirtualKeyCode
;
228 WORD wVirtualScanCode
;
233 DWORD dwControlKeyState
;
236 /* gcc's alignment is not what win32 expects */
239 KEY_EVENT_RECORD
, *PKEY_EVENT_RECORD
;
241 typedef struct _MOUSE_EVENT_RECORD
{
242 COORD dwMousePosition
;
244 DWORD dwControlKeyState
;
246 } MOUSE_EVENT_RECORD
, *PMOUSE_EVENT_RECORD
;
248 typedef struct _WINDOW_BUFFER_SIZE_RECORD
{
250 } WINDOW_BUFFER_SIZE_RECORD
, *PWINDOW_BUFFER_SIZE_RECORD
;
252 typedef struct _MENU_EVENT_RECORD
{
254 } MENU_EVENT_RECORD
, *PMENU_EVENT_RECORD
;
256 typedef struct _FOCUS_EVENT_RECORD
{
258 } FOCUS_EVENT_RECORD
, *PFOCUS_EVENT_RECORD
;
260 typedef struct _INPUT_RECORD
{
263 KEY_EVENT_RECORD KeyEvent
;
264 MOUSE_EVENT_RECORD MouseEvent
;
265 WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent
;
266 MENU_EVENT_RECORD MenuEvent
;
267 FOCUS_EVENT_RECORD FocusEvent
;
269 } INPUT_RECORD
, *PINPUT_RECORD
;
271 #if (_WIN32_WINNT >= 0x0600)
272 typedef struct _CONSOLE_HISTORY_INFO
{
274 UINT HistoryBufferSize
;
275 UINT NumberOfHistoryBuffers
;
277 } CONSOLE_HISTORY_INFO
, *PCONSOLE_HISTORY_INFO
;
279 typedef struct _CONSOLE_SCREEN_BUFFER_INFOEX
{
282 COORD dwCursorPosition
;
285 COORD dwMaximumWindowSize
;
286 WORD wPopupAttributes
;
287 BOOL bFullscreenSupported
;
288 COLORREF ColorTable
[16];
289 } CONSOLE_SCREEN_BUFFER_INFOEX
, *PCONSOLE_SCREEN_BUFFER_INFOEX
;
292 typedef struct _CONSOLE_FONT_INFOEX
{
298 WCHAR FaceName
[LF_FACESIZE
];
299 } CONSOLE_FONT_INFOEX
, *PCONSOLE_FONT_INFOEX
;
303 BOOL WINAPI
AllocConsole(VOID
);
305 #if (_WIN32_WINNT >= 0x0501)
306 BOOL WINAPI
AttachConsole(_In_ DWORD
);
308 BOOL WINAPI
AddConsoleAliasA(_In_ LPCSTR
, _In_ LPCSTR
, _In_ LPCSTR
);
309 BOOL WINAPI
AddConsoleAliasW(_In_ LPCWSTR
, _In_ LPCWSTR
, _In_ LPCWSTR
);
315 _Out_writes_(TargetBufferLength
) LPSTR TargetBuffer
,
316 _In_ DWORD TargetBufferLength
,
323 _Out_writes_(TargetBufferLength
) LPWSTR TargetBuffer
,
324 _In_ DWORD TargetBufferLength
,
325 _In_ LPWSTR ExeName
);
330 _Out_writes_(AliasBufferLength
) LPSTR AliasBuffer
,
331 _In_ DWORD AliasBufferLength
,
337 _Out_writes_(AliasBufferLength
) LPWSTR AliasBuffer
,
338 _In_ DWORD AliasBufferLength
,
339 _In_ LPWSTR ExeName
);
341 DWORD WINAPI
GetConsoleAliasesLengthA(_In_ LPSTR ExeName
);
342 DWORD WINAPI
GetConsoleAliasesLengthW(_In_ LPWSTR ExeName
);
346 GetConsoleAliasExesA(
347 _Out_writes_(ExeNameBufferLength
) LPSTR ExeNameBuffer
,
348 _In_ DWORD ExeNameBufferLength
);
352 GetConsoleAliasExesW(
353 _Out_writes_(ExeNameBufferLength
) LPWSTR ExeNameBuffer
,
354 _In_ DWORD ExeNameBufferLength
);
356 DWORD WINAPI
GetConsoleAliasExesLengthA(VOID
);
357 DWORD WINAPI
GetConsoleAliasExesLengthW(VOID
);
362 CreateConsoleScreenBuffer(
365 _In_opt_ CONST SECURITY_ATTRIBUTES
*,
371 FillConsoleOutputAttribute(
380 FillConsoleOutputCharacterA(
389 FillConsoleOutputCharacterW(
396 BOOL WINAPI
FlushConsoleInputBuffer(_In_ HANDLE
);
397 BOOL WINAPI
FreeConsole(VOID
);
398 BOOL WINAPI
GenerateConsoleCtrlEvent(_In_ DWORD
, _In_ DWORD
);
399 UINT WINAPI
GetConsoleCP(VOID
);
400 BOOL WINAPI
GetConsoleCursorInfo(_In_ HANDLE
, _Out_ PCONSOLE_CURSOR_INFO
);
401 BOOL WINAPI
GetConsoleMode(_In_ HANDLE
, _Out_ PDWORD
);
402 UINT WINAPI
GetConsoleOutputCP(VOID
);
406 GetConsoleScreenBufferInfo(
408 _Out_ PCONSOLE_SCREEN_BUFFER_INFO
);
410 /* Undocumented, see http://blog.airesoft.co.uk/2012/10/things-ms-can-do-that-they-dont-tell-you-about-console-graphics/ */
411 BOOL WINAPI
InvalidateConsoleDIBits(_In_ HANDLE
, _In_ PSMALL_RECT
);
416 _Out_writes_(nSize
) LPSTR lpConsoleTitle
,
422 _Out_writes_(nSize
) LPWSTR lpConsoleTitle
,
428 _In_ HANDLE hConsoleOutput
,
433 GetCurrentConsoleFont(
434 _In_ HANDLE hConsoleOutput
,
435 _In_ BOOL bMaximumWindow
,
436 _Out_ PCONSOLE_FONT_INFO lpConsoleCurrentFont
);
438 #if (_WIN32_WINNT >= 0x0500)
440 HWND WINAPI
GetConsoleWindow(VOID
);
441 BOOL WINAPI
GetConsoleDisplayMode(_Out_ LPDWORD lpModeFlags
);
445 SetConsoleDisplayMode(
446 _In_ HANDLE hConsoleOutput
,
448 _Out_opt_ PCOORD lpNewScreenBufferDimensions
);
452 COORD WINAPI
GetLargestConsoleWindowSize(_In_ HANDLE
);
453 BOOL WINAPI
GetNumberOfConsoleInputEvents(_In_ HANDLE
, _Out_ PDWORD
);
454 BOOL WINAPI
GetNumberOfConsoleMouseButtons(_Out_ PDWORD
);
456 _Success_(return != 0)
458 WINAPI
PeekConsoleInputA(
459 _In_ HANDLE hConsoleInput
,
460 _Out_writes_(nLength
) PINPUT_RECORD lpBuffer
,
462 _Out_ LPDWORD lpNumberOfEventsRead
);
464 _Success_(return != 0)
468 _In_ HANDLE hConsoleInput
,
469 _Out_writes_(nLength
) PINPUT_RECORD lpBuffer
,
471 _Out_ LPDWORD lpNumberOfEventsRead
);
473 _Success_(return != 0)
477 _In_ HANDLE hConsoleInput
,
478 _Out_writes_bytes_to_(nNumberOfCharsToRead
* sizeof(CHAR
), *lpNumberOfCharsRead
* sizeof(CHAR
)) LPVOID lpBuffer
,
479 _In_ DWORD nNumberOfCharsToRead
,
480 _Out_
_Deref_out_range_(<= , nNumberOfCharsToRead
) LPDWORD lpNumberOfCharsRead
,
481 _In_opt_ PCONSOLE_READCONSOLE_CONTROL pInputControl
);
483 _Success_(return != 0)
487 _In_ HANDLE hConsoleInput
,
488 _Out_writes_bytes_to_(nNumberOfCharsToRead
* sizeof(WCHAR
), *lpNumberOfCharsRead
* sizeof(WCHAR
)) LPVOID lpBuffer
,
489 _In_ DWORD nNumberOfCharsToRead
,
490 _Out_
_Deref_out_range_(<= , nNumberOfCharsToRead
) LPDWORD lpNumberOfCharsRead
,
491 _In_opt_ PCONSOLE_READCONSOLE_CONTROL pInputControl
);
493 _Success_(return != 0)
497 _In_ HANDLE hConsoleInput
,
498 _Out_writes_to_(nLength
, *lpNumberOfEventsRead
) PINPUT_RECORD lpBuffer
,
500 _Out_
_Deref_out_range_(<= , nLength
) LPDWORD lpNumberOfEventsRead
);
502 _Success_(return != 0)
506 _In_ HANDLE hConsoleInput
,
507 _Out_writes_to_(nLength
, *lpNumberOfEventsRead
) PINPUT_RECORD lpBuffer
,
509 _Out_
_Deref_out_range_(<= , nLength
) LPDWORD lpNumberOfEventsRead
);
511 _Success_(return != 0)
515 _In_ HANDLE hConsoleInput
,
516 _Out_writes_to_(nLength
, *lpNumberOfEventsRead
) PINPUT_RECORD lpBuffer
,
518 _Out_
_Deref_out_range_(<= , nLength
) LPDWORD lpNumberOfEventsRead
,
521 _Success_(return != 0)
525 _In_ HANDLE hConsoleInput
,
526 _Out_writes_to_(nLength
, *lpNumberOfEventsRead
) PINPUT_RECORD lpBuffer
,
528 _Out_
_Deref_out_range_(<= , nLength
) LPDWORD lpNumberOfEventsRead
,
533 ReadConsoleOutputAttribute(
534 _In_ HANDLE hConsoleOutput
,
535 _Out_writes_(nLength
) LPWORD lpAttribute
,
537 _In_ COORD dwReadCoord
,
538 _Out_ LPDWORD lpNumberOfAttrsRead
);
542 ReadConsoleOutputCharacterA(
543 _In_ HANDLE hConsoleOutput
,
544 _Out_writes_(nLength
) LPSTR lpCharacter
,
546 _In_ COORD dwReadCoord
,
547 _Out_ LPDWORD lpNumberOfCharsRead
);
551 ReadConsoleOutputCharacterW(
552 _In_ HANDLE hConsoleOutput
,
553 _Out_writes_(nLength
) LPWSTR lpCharacter
,
555 _In_ COORD dwReadCoord
,
556 _Out_ LPDWORD lpNumberOfCharsRead
);
561 _In_ HANDLE hConsoleOutput
,
562 _Out_writes_(dwBufferSize
.X
* dwBufferSize
.Y
) PCHAR_INFO lpBuffer
,
563 _In_ COORD dwBufferSize
,
564 _In_ COORD dwBufferCoord
,
565 _Inout_ PSMALL_RECT lpReadRegion
);
570 _In_ HANDLE hConsoleOutput
,
571 _Out_writes_(dwBufferSize
.X
* dwBufferSize
.Y
) PCHAR_INFO lpBuffer
,
572 _In_ COORD dwBufferSize
,
573 _In_ COORD dwBufferCoord
,
574 _Inout_ PSMALL_RECT lpReadRegion
);
578 ScrollConsoleScreenBufferA(
580 _In_
const SMALL_RECT
*,
581 _In_opt_
const SMALL_RECT
*,
583 _In_
const CHAR_INFO
*);
587 ScrollConsoleScreenBufferW(
589 _In_
const SMALL_RECT
*,
590 _In_opt_
const SMALL_RECT
*,
592 _In_
const CHAR_INFO
*);
594 BOOL WINAPI
SetConsoleActiveScreenBuffer(_In_ HANDLE
);
595 BOOL WINAPI
SetConsoleCP(_In_ UINT
);
596 BOOL WINAPI
SetConsoleCtrlHandler(_In_opt_ PHANDLER_ROUTINE
, _In_ BOOL
);
597 BOOL WINAPI
SetConsoleCursorInfo(_In_ HANDLE
, _In_
const CONSOLE_CURSOR_INFO
*);
598 BOOL WINAPI
SetConsoleCursorPosition(_In_ HANDLE
, _In_ COORD
);
599 BOOL WINAPI
SetConsoleMode(_In_ HANDLE
, _In_ DWORD
);
600 BOOL WINAPI
SetConsoleOutputCP(_In_ UINT
);
601 BOOL WINAPI
SetConsoleScreenBufferSize(_In_ HANDLE
, _In_ COORD
);
602 BOOL WINAPI
SetConsoleTextAttribute(_In_ HANDLE
, _In_ WORD
);
603 BOOL WINAPI
SetConsoleTitleA(_In_ LPCSTR
);
604 BOOL WINAPI
SetConsoleTitleW(_In_ LPCWSTR
);
608 SetConsoleWindowInfo(
611 _In_
const SMALL_RECT
*);
613 /* Undocumented, see http://undoc.airesoft.co.uk/kernel32.dll/ConsoleMenuControl.php */
614 HMENU WINAPI
ConsoleMenuControl(_In_ HANDLE
, _In_ DWORD
, _In_ DWORD
);
616 BOOL WINAPI
SetConsoleMenuClose(_In_ BOOL
);
617 /* Undocumented, see http://undoc.airesoft.co.uk/kernel32.dll/SetConsoleCursor.php */
618 BOOL WINAPI
SetConsoleCursor(_In_ HANDLE
, _In_ HCURSOR
);
619 /* Undocumented, see http://undoc.airesoft.co.uk/kernel32.dll/ShowConsoleCursor.php */
620 INT WINAPI
ShowConsoleCursor(_In_ HANDLE
, _In_ BOOL
);
622 BOOL WINAPI
SetConsoleIcon(_In_ HICON
);
623 /* Undocumented, see http://comments.gmane.org/gmane.comp.lang.harbour.devel/27844 */
624 BOOL WINAPI
SetConsolePalette(_In_ HANDLE
, _In_ HPALETTE
, _In_ UINT
);
626 BOOL WINAPI
CloseConsoleHandle(_In_ HANDLE
);
628 HANDLE WINAPI
GetConsoleInputWaitHandle(VOID
);
630 BOOL WINAPI
VerifyConsoleIoHandle(_In_ HANDLE
);
634 RegisterConsoleVDM(_In_ DWORD
, _In_ HANDLE
, _In_ HANDLE
, _In_ HANDLE
, _In_ DWORD
,
635 _Out_ LPDWORD
, _Out_ PVOID
*, _In_ PVOID
, _In_ DWORD
, _In_ COORD
,
641 _In_ HANDLE hConsoleOutput
,
642 _In_reads_(nNumberOfCharsToWrite
) CONST VOID
*lpBuffer
,
643 _In_ DWORD nNumberOfCharsToWrite
,
644 _Out_opt_ LPDWORD lpNumberOfCharsWritten
,
645 _Reserved_ LPVOID lpReserved
);
650 _In_ HANDLE hConsoleOutput
,
651 _In_reads_(nNumberOfCharsToWrite
) CONST VOID
*lpBuffer
,
652 _In_ DWORD nNumberOfCharsToWrite
,
653 _Out_opt_ LPDWORD lpNumberOfCharsWritten
,
654 _Reserved_ LPVOID lpReserved
);
659 _In_ HANDLE hConsoleInput
,
660 _In_reads_(nLength
) CONST INPUT_RECORD
*lpBuffer
,
662 _Out_ LPDWORD lpNumberOfEventsWritten
);
667 _In_ HANDLE hConsoleInput
,
668 _In_reads_(nLength
) CONST INPUT_RECORD
*lpBuffer
,
670 _Out_ LPDWORD lpNumberOfEventsWritten
);
674 WriteConsoleInputVDMA(
675 _In_ HANDLE hConsoleInput
,
676 _In_reads_(nLength
) CONST INPUT_RECORD
*lpBuffer
,
678 _Out_ LPDWORD lpNumberOfEventsWritten
);
682 WriteConsoleInputVDMW(
683 _In_ HANDLE hConsoleInput
,
684 _In_reads_(nLength
) CONST INPUT_RECORD
*lpBuffer
,
686 _Out_ LPDWORD lpNumberOfEventsWritten
);
691 _In_ HANDLE hConsoleOutput
,
692 _In_reads_(dwBufferSize
.X
* dwBufferSize
.Y
) CONST CHAR_INFO
*lpBuffer
,
693 _In_ COORD dwBufferSize
,
694 _In_ COORD dwBufferCoord
,
695 _Inout_ PSMALL_RECT lpWriteRegion
);
700 _In_ HANDLE hConsoleOutput
,
701 _In_reads_(dwBufferSize
.X
* dwBufferSize
.Y
) CONST CHAR_INFO
*lpBuffer
,
702 _In_ COORD dwBufferSize
,
703 _In_ COORD dwBufferCoord
,
704 _Inout_ PSMALL_RECT lpWriteRegion
);
708 WriteConsoleOutputAttribute(
709 _In_ HANDLE hConsoleOutput
,
710 _In_reads_(nLength
) CONST WORD
*lpAttribute
,
712 _In_ COORD dwWriteCoord
,
713 _Out_ LPDWORD lpNumberOfAttrsWritten
);
717 WriteConsoleOutputCharacterA(
718 _In_ HANDLE hConsoleOutput
,
719 _In_reads_(nLength
) LPCSTR lpCharacter
,
721 _In_ COORD dwWriteCoord
,
722 _Out_ LPDWORD lpNumberOfCharsWritten
);
726 WriteConsoleOutputCharacterW(
727 _In_ HANDLE hConsoleOutput
,
728 _In_reads_(nLength
) LPCWSTR lpCharacter
,
730 _In_ COORD dwWriteCoord
,
731 _Out_ LPDWORD lpNumberOfCharsWritten
);
735 #define AddConsoleAlias AddConsoleAliasW
736 #define GetConsoleAlias GetConsoleAliasW
737 #define GetConsoleAliases GetConsoleAliasesW
738 #define GetConsoleAliasesLength GetConsoleAliasesLengthW
739 #define GetConsoleAliasExes GetConsoleAliasExesW
740 #define GetConsoleAliasExesLength GetConsoleAliasExesLengthW
741 #define GetConsoleTitle GetConsoleTitleW
742 #define PeekConsoleInput PeekConsoleInputW
743 #define ReadConsole ReadConsoleW
744 #define ReadConsoleInput ReadConsoleInputW
745 #define ReadConsoleInputEx ReadConsoleInputExW
746 #define ReadConsoleOutput ReadConsoleOutputW
747 #define ReadConsoleOutputCharacter ReadConsoleOutputCharacterW
748 #define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferW
749 #define SetConsoleTitle SetConsoleTitleW
750 #define WriteConsole WriteConsoleW
751 #define WriteConsoleInput WriteConsoleInputW
752 #define WriteConsoleInputVDM WriteConsoleInputVDMW
753 #define WriteConsoleOutput WriteConsoleOutputW
754 #define FillConsoleOutputCharacter FillConsoleOutputCharacterW
755 #define WriteConsoleOutputCharacter WriteConsoleOutputCharacterW
757 #define AddConsoleAlias AddConsoleAliasA
758 #define GetConsoleAlias GetConsoleAliasA
759 #define GetConsoleAliases GetConsoleAliasesA
760 #define GetConsoleAliasesLength GetConsoleAliasesLengthA
761 #define GetConsoleAliasExes GetConsoleAliasExesA
762 #define GetConsoleAliasExesLength GetConsoleAliasExesLengthA
763 #define GetConsoleTitle GetConsoleTitleA
764 #define PeekConsoleInput PeekConsoleInputA
765 #define ReadConsole ReadConsoleA
766 #define ReadConsoleInput ReadConsoleInputA
767 #define ReadConsoleInputEx ReadConsoleInputExA
768 #define ReadConsoleOutput ReadConsoleOutputA
769 #define ReadConsoleOutputCharacter ReadConsoleOutputCharacterA
770 #define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferA
771 #define SetConsoleTitle SetConsoleTitleA
772 #define WriteConsole WriteConsoleA
773 #define WriteConsoleInput WriteConsoleInputA
774 #define WriteConsoleInputVDM WriteConsoleInputVDMA
775 #define WriteConsoleOutput WriteConsoleOutputA
776 #define FillConsoleOutputCharacter FillConsoleOutputCharacterA
777 #define WriteConsoleOutputCharacter WriteConsoleOutputCharacterA
788 #endif /* _WINCON_H */