ReactOS 0.4.16-dev-1260-g901af6a
wincon.h
Go to the documentation of this file.
1/*
2 * wincon.h
3 *
4 * Console API definitions
5 *
6 * This file is part of the ReactOS PSDK package.
7 *
8 * Contributors:
9 * Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
10 *
11 * THIS SOFTWARE IS NOT COPYRIGHTED
12 *
13 * This source code is offered for use in the public domain. You may
14 * use, modify or distribute it freely.
15 *
16 * This code is distributed in the hope that it will be useful but
17 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
18 * DISCLAIMED. This includes but is not limited to warranties of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
20 *
21 */
22
23#ifndef _WINCON_
24#define _WINCON_
25
26#ifdef __cplusplus
27extern "C" {
28#endif
29
30#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA) && !defined(NOGDI)
31#include "wingdi.h"
32#endif
33
34#ifdef _MSC_VER
35#pragma warning(push)
36#pragma warning(disable:4820)
37#endif
38
39/*
40 * Special PID for parent process for AttachConsole API
41 */
42#if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
43#define ATTACH_PARENT_PROCESS ((DWORD)-1)
44#endif
45
46/* Special console handle values */
47#if (_WIN32_WINNT >= _WIN32_WINNT_WIN7)
48#define CONSOLE_REAL_OUTPUT_HANDLE (LongToHandle(-2))
49#define CONSOLE_REAL_INPUT_HANDLE (LongToHandle(-3))
50#endif
51
52/*
53 * Console display modes
54 */
55// These flags are returned by GetConsoleDisplayMode
56#define CONSOLE_WINDOWED 0
57#define CONSOLE_FULLSCREEN 1 /* Fullscreen console */
58#define CONSOLE_FULLSCREEN_HARDWARE 2 /* Console owns the hardware */
59
60// These flags are given to SetConsoleDisplayMode
61#define CONSOLE_FULLSCREEN_MODE 1
62#define CONSOLE_WINDOWED_MODE 2
63
64/*
65 * Color attributes for text and screen background
66 */
67#define FOREGROUND_BLUE 0x0001
68#define FOREGROUND_GREEN 0x0002
69#define FOREGROUND_RED 0x0004
70#define FOREGROUND_INTENSITY 0x0008
71#define BACKGROUND_BLUE 0x0010
72#define BACKGROUND_GREEN 0x0020
73#define BACKGROUND_RED 0x0040
74#define BACKGROUND_INTENSITY 0x0080
75
76#define COMMON_LVB_LEADING_BYTE 0x0100 /* DBCS Leading Byte */
77#define COMMON_LVB_TRAILING_BYTE 0x0200 /* DBCS Trailing Byte */
78#define COMMON_LVB_GRID_HORIZONTAL 0x0400 /* Grid attribute: Top Horizontal */
79#define COMMON_LVB_GRID_LVERTICAL 0x0800 /* Grid attribute: Left Vertical */
80#define COMMON_LVB_GRID_RVERTICAL 0x1000 /* Grid attribute: Right Vertical */
81#define COMMON_LVB_REVERSE_VIDEO 0x4000 /* Reverse fore/back ground attribute */
82#define COMMON_LVB_UNDERSCORE 0x8000 /* Underscore */
83
84#define COMMON_LVB_SBCSDBCS \
85 (COMMON_LVB_LEADING_BYTE | COMMON_LVB_TRAILING_BYTE) /* == 0x0300 */
86
87/*
88 * Screen buffer types
89 */
90#define CONSOLE_TEXTMODE_BUFFER 1
91// 2 is reserved!
92
93/*
94 * Control handler codes
95 */
96#define CTRL_C_EVENT 0
97#define CTRL_BREAK_EVENT 1
98#define CTRL_CLOSE_EVENT 2
99// 3 is reserved!
100// 4 is reserved!
101#define CTRL_LOGOFF_EVENT 5
102#define CTRL_SHUTDOWN_EVENT 6
103
104/*
105 * Input mode flags
106 */
107#define ENABLE_PROCESSED_INPUT 0x0001
108#define ENABLE_LINE_INPUT 0x0002
109#define ENABLE_ECHO_INPUT 0x0004
110#define ENABLE_WINDOW_INPUT 0x0008
111#define ENABLE_MOUSE_INPUT 0x0010
112#define ENABLE_INSERT_MODE 0x0020
113#define ENABLE_QUICK_EDIT_MODE 0x0040
114#define ENABLE_EXTENDED_FLAGS 0x0080
115#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
116#define ENABLE_AUTO_POSITION 0x0100
117#endif
118#if (NTDDI_VERSION >= NTDDI_WIN10_RS1) // (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
119#define ENABLE_VIRTUAL_TERMINAL_INPUT 0x0200
120#endif
121
122/*
123 * Output mode flags
124 */
125#define ENABLE_PROCESSED_OUTPUT 0x0001
126#define ENABLE_WRAP_AT_EOL_OUTPUT 0x0002
127#if (NTDDI_VERSION >= NTDDI_WIN10_RS1) // (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
128#define ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x0004
129#define DISABLE_NEWLINE_AUTO_RETURN 0x0008
130#define ENABLE_LVB_GRID_WORLDWIDE 0x0010
131#endif
132
133/*
134 * Console selection flags
135 */
136#define CONSOLE_NO_SELECTION 0x0000
137#define CONSOLE_SELECTION_IN_PROGRESS 0x0001 /* Selection has begun */
138#define CONSOLE_SELECTION_NOT_EMPTY 0x0002 /* Non-null select rectangle */
139#define CONSOLE_MOUSE_SELECTION 0x0004 /* Selecting with mouse */
140#define CONSOLE_MOUSE_DOWN 0x0008 /* Mouse is down */
141
142/*
143 * History information and mode flags
144 */
145#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
146// For Get/SetConsoleHistoryInfo
147#define HISTORY_NO_DUP_FLAG 0x0001
148// For SetConsoleCommandHistoryMode
149#define CONSOLE_OVERSTRIKE 0x0001
150#endif
151
152
153/*
154 * Event types
155 */
156#define KEY_EVENT 0x0001
157#define MOUSE_EVENT 0x0002
158#define WINDOW_BUFFER_SIZE_EVENT 0x0004
159#define MENU_EVENT 0x0008
160#define FOCUS_EVENT 0x0010
161
162/*
163 * ControlKeyState flags
164 */
165#define RIGHT_ALT_PRESSED 0x0001
166#define LEFT_ALT_PRESSED 0x0002
167#define RIGHT_CTRL_PRESSED 0x0004
168#define LEFT_CTRL_PRESSED 0x0008
169#define SHIFT_PRESSED 0x0010
170#define NUMLOCK_ON 0x0020
171#define SCROLLLOCK_ON 0x0040
172#define CAPSLOCK_ON 0x0080
173#define ENHANCED_KEY 0x0100
174
175// NLS Japanese flags
176#define NLS_DBCSCHAR 0x00010000 /* SBCS/DBCS mode */
177#define NLS_ALPHANUMERIC 0x00000000 /* Alphanumeric mode */
178#define NLS_KATAKANA 0x00020000 /* Katakana mode */
179#define NLS_HIRAGANA 0x00040000 /* Hiragana mode */
180#define NLS_ROMAN 0x00400000 /* Roman/Noroman mode */
181#define NLS_IME_CONVERSION 0x00800000 /* IME conversion */
182/* Reserved for EXTENDED_BIT, DONTCARE_BIT, FAKE_KEYSTROKE, ALTNUMPAD_BIT (kbd.h) */
183#define ALTNUMPAD_BIT 0x04000000 /* AltNumpad OEM char */
184#define NLS_IME_DISABLE 0x20000000 /* IME enable/disable */
185
186/*
187 * ButtonState flags
188 */
189#define FROM_LEFT_1ST_BUTTON_PRESSED 0x0001
190#define RIGHTMOST_BUTTON_PRESSED 0x0002
191#define FROM_LEFT_2ND_BUTTON_PRESSED 0x0004
192#define FROM_LEFT_3RD_BUTTON_PRESSED 0x0008
193#define FROM_LEFT_4TH_BUTTON_PRESSED 0x0010
194
195/*
196 * Mouse event flags
197 */
198#define MOUSE_MOVED 0x0001
199#define DOUBLE_CLICK 0x0002
200#define MOUSE_WHEELED 0x0004
201#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
202#define MOUSE_HWHEELED 0x0008
203#endif
204
211
212typedef struct _CHAR_INFO {
213 union {
219
220typedef struct _SMALL_RECT {
221 SHORT Left;
222 SHORT Top;
223 SHORT Right;
226
227typedef struct _CONSOLE_CURSOR_INFO {
231
232typedef struct _COORD {
236
242
243typedef struct _CONSOLE_FONT_INFO {
247
255
256typedef BOOL
258 _In_ DWORD CtrlType);
259
260typedef struct _KEY_EVENT_RECORD {
265 union {
271
273
274typedef struct _MOUSE_EVENT_RECORD {
280
284
285typedef struct _MENU_EVENT_RECORD {
288
289typedef struct _FOCUS_EVENT_RECORD {
292
293typedef struct _INPUT_RECORD {
295 union {
303
304#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
305typedef struct _CONSOLE_HISTORY_INFO {
311
323
324#ifndef NOGDI
325typedef struct _CONSOLE_FONT_INFOEX {
333#endif
334#endif // (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
335
337BOOL
338WINAPI
340
341#if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
343BOOL
344WINAPI
346 _In_ DWORD dwProcessId);
347#endif
348
349#if (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
350
352DWORD
353WINAPI
355 _Out_writes_(dwProcessCount) LPDWORD lpdwProcessList,
356 _In_ DWORD dwProcessCount);
357
359BOOL
360WINAPI
364 _In_ LPCSTR ExeName);
365
367BOOL
368WINAPI
372 _In_ LPCWSTR ExeName);
373
375DWORD
376WINAPI
379 _Out_writes_(TargetBufferLength) LPSTR TargetBuffer,
380 _In_ DWORD TargetBufferLength,
381 _In_ LPCSTR ExeName);
382
384DWORD
385WINAPI
388 _Out_writes_(TargetBufferLength) LPWSTR TargetBuffer,
389 _In_ DWORD TargetBufferLength,
390 _In_ LPCWSTR ExeName);
391
393DWORD
394WINAPI
396 _Out_writes_(AliasBufferLength) LPSTR AliasBuffer,
397 _In_ DWORD AliasBufferLength,
398 _In_ LPCSTR ExeName);
399
401DWORD
402WINAPI
404 _Out_writes_(AliasBufferLength) LPWSTR AliasBuffer,
405 _In_ DWORD AliasBufferLength,
406 _In_ LPCWSTR ExeName);
407
409DWORD
410WINAPI
412 _In_ LPCSTR ExeName);
413
415DWORD
416WINAPI
418 _In_ LPCWSTR ExeName);
419
421DWORD
422WINAPI
424 _Out_writes_(ExeNameBufferLength) LPSTR ExeNameBuffer,
425 _In_ DWORD ExeNameBufferLength);
426
428DWORD
429WINAPI
431 _Out_writes_(ExeNameBufferLength) LPWSTR ExeNameBuffer,
432 _In_ DWORD ExeNameBufferLength);
433
435DWORD
436WINAPI
438
440DWORD
441WINAPI
443
444#endif // (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
445
447HANDLE
448WINAPI
450 _In_ DWORD dwDesiredAccess,
451 _In_ DWORD dwShareMode,
452 _In_opt_ CONST SECURITY_ATTRIBUTES *lpSecurityAttributes,
454 _Reserved_ LPVOID lpScreenBufferData);
455
457BOOL
458WINAPI
460 _In_ HANDLE hConsoleOutput,
461 _In_ WORD wAttribute,
463 _In_ COORD dwWriteCoord,
464 _Out_ LPDWORD lpNumberOfAttrsWritten);
465
467BOOL
468WINAPI
470 _In_ HANDLE hConsoleOutput,
471 _In_ CHAR cCharacter,
473 _In_ COORD dwWriteCoord,
474 _Out_ LPDWORD lpNumberOfCharsWritten);
475
477BOOL
478WINAPI
480 _In_ HANDLE hConsoleOutput,
481 _In_ WCHAR cCharacter,
483 _In_ COORD dwWriteCoord,
484 _Out_ LPDWORD lpNumberOfCharsWritten);
485
487BOOL
488WINAPI
490 _In_ HANDLE hConsoleInput);
491
493BOOL
494WINAPI
496
498BOOL
499WINAPI
501 _In_ DWORD dwCtrlEvent,
502 _In_ DWORD dwProcessGroupId);
503
505UINT
506WINAPI
508
510BOOL
511WINAPI
513 _In_ HANDLE hConsoleOutput,
514 _Out_ PCONSOLE_CURSOR_INFO lpConsoleCursorInfo);
515
517BOOL
518WINAPI
520 _In_ HANDLE hConsoleHandle,
521 _Out_ LPDWORD lpMode);
522
524UINT
525WINAPI
527
529BOOL
530WINAPI
532 _In_ HANDLE hConsoleOutput,
533 _Out_ PCONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo);
534
535#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
537BOOL
538WINAPI
540 _In_ HANDLE hConsoleOutput,
541 _Inout_ PCONSOLE_SCREEN_BUFFER_INFOEX lpConsoleScreenBufferInfoEx);
542
544BOOL
545WINAPI
547 _In_ HANDLE hConsoleOutput,
548 _In_ PCONSOLE_SCREEN_BUFFER_INFOEX lpConsoleScreenBufferInfoEx);
549#endif // (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
550
552DWORD
553WINAPI
555 _Out_writes_(nSize) LPSTR lpConsoleTitle,
557
559DWORD
560WINAPI
562 _Out_writes_(nSize) LPWSTR lpConsoleTitle,
564
565#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
566
568DWORD
569WINAPI
571 _Out_writes_(nSize) LPSTR lpConsoleTitle,
573
575DWORD
576WINAPI
578 _Out_writes_(nSize) LPWSTR lpConsoleTitle,
580
581#ifndef NOGDI
583BOOL
584WINAPI
586 _In_ HANDLE hConsoleOutput,
587 _In_ BOOL bMaximumWindow,
588 _Out_ PCONSOLE_FONT_INFOEX lpConsoleCurrentFontEx);
589
591BOOL
592WINAPI
594 _In_ HANDLE hConsoleOutput,
595 _In_ BOOL bMaximumWindow,
596 _In_ PCONSOLE_FONT_INFOEX lpConsoleCurrentFontEx);
597#endif
598
600BOOL
601WINAPI
603 _Out_ PCONSOLE_HISTORY_INFO lpConsoleHistoryInfo);
604
606BOOL
607WINAPI
609 _In_ PCONSOLE_HISTORY_INFO lpConsoleHistoryInfo);
610
611#endif // (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
612
613#if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
614
616BOOL
617WINAPI
619 _In_ HANDLE hConsoleOutput,
620 _In_ BOOL bMaximumWindow,
621 _Out_ PCONSOLE_FONT_INFO lpConsoleCurrentFont);
622
624COORD
625WINAPI
627 _In_ HANDLE hConsoleOutput,
628 _In_ DWORD nFont);
629
631BOOL
632WINAPI
634 _Out_ PCONSOLE_SELECTION_INFO lpConsoleSelectionInfo);
635
637HWND
638WINAPI
640
642BOOL
643WINAPI
645 _Out_ LPDWORD lpModeFlags);
646
648BOOL
649WINAPI
651 _In_ HANDLE hConsoleOutput,
653 _Out_opt_ PCOORD lpNewScreenBufferDimensions);
654
655#endif // (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
656
658COORD
659WINAPI
661 _In_ HANDLE hConsoleOutput);
662
664BOOL
665WINAPI
667 _In_ HANDLE hConsoleInput,
668 _Out_ LPDWORD lpNumberOfEvents);
669
671BOOL
672WINAPI
674 _Out_ LPDWORD lpNumberOfMouseButtons);
675
677_Success_(return != FALSE)
678BOOL
680 _In_ HANDLE hConsoleInput,
684
686_Success_(return != FALSE)
687BOOL
688WINAPI
690 _In_ HANDLE hConsoleInput,
694
696_Success_(return != FALSE)
697BOOL
698WINAPI
700 _In_ HANDLE hConsoleInput,
701 _Out_writes_bytes_to_(nNumberOfCharsToRead * sizeof(CHAR), *lpNumberOfCharsRead * sizeof(CHAR)) LPVOID lpBuffer,
705
707_Success_(return != FALSE)
708BOOL
709WINAPI
711 _In_ HANDLE hConsoleInput,
712 _Out_writes_bytes_to_(nNumberOfCharsToRead * sizeof(WCHAR), *lpNumberOfCharsRead * sizeof(WCHAR)) LPVOID lpBuffer,
714 _Out_ _Deref_out_range_(<=, nNumberOfCharsToRead) LPDWORD lpNumberOfCharsRead,
716
718_Success_(return != FALSE)
719BOOL
720WINAPI
722 _In_ HANDLE hConsoleInput,
726
728_Success_(return != FALSE)
729BOOL
730WINAPI
732 _In_ HANDLE hConsoleInput,
736
738BOOL
739WINAPI
741 _In_ HANDLE hConsoleOutput,
742 _Out_writes_(nLength) LPWORD lpAttribute,
744 _In_ COORD dwReadCoord,
745 _Out_ LPDWORD lpNumberOfAttrsRead);
746
748BOOL
749WINAPI
751 _In_ HANDLE hConsoleOutput,
752 _Out_writes_(nLength) LPSTR lpCharacter,
754 _In_ COORD dwReadCoord,
755 _Out_ LPDWORD lpNumberOfCharsRead);
756
758BOOL
759WINAPI
761 _In_ HANDLE hConsoleOutput,
762 _Out_writes_(nLength) LPWSTR lpCharacter,
764 _In_ COORD dwReadCoord,
765 _Out_ LPDWORD lpNumberOfCharsRead);
766
768BOOL
769WINAPI
771 _In_ HANDLE hConsoleOutput,
772 _Out_writes_(dwBufferSize.X * dwBufferSize.Y) PCHAR_INFO lpBuffer,
773 _In_ COORD dwBufferSize,
774 _In_ COORD dwBufferCoord,
775 _Inout_ PSMALL_RECT lpReadRegion);
776
778BOOL
779WINAPI
781 _In_ HANDLE hConsoleOutput,
782 _Out_writes_(dwBufferSize.X * dwBufferSize.Y) PCHAR_INFO lpBuffer,
783 _In_ COORD dwBufferSize,
784 _In_ COORD dwBufferCoord,
785 _Inout_ PSMALL_RECT lpReadRegion);
786
788BOOL
789WINAPI
791 _In_ HANDLE hConsoleOutput,
792 _In_ CONST SMALL_RECT *lpScrollRectangle,
793 _In_opt_ CONST SMALL_RECT *lpClipRectangle,
794 _In_ COORD dwDestinationOrigin,
795 _In_ CONST CHAR_INFO *lpFill);
796
798BOOL
799WINAPI
801 _In_ HANDLE hConsoleOutput,
802 _In_ CONST SMALL_RECT *lpScrollRectangle,
803 _In_opt_ CONST SMALL_RECT *lpClipRectangle,
804 _In_ COORD dwDestinationOrigin,
805 _In_ CONST CHAR_INFO *lpFill);
806
808BOOL
809WINAPI
811 _In_ HANDLE hConsoleOutput);
812
814BOOL
815WINAPI
817 _In_ UINT wCodePageID);
818
820BOOL
821WINAPI
824 _In_ BOOL Add);
825
827BOOL
828WINAPI
830 _In_ HANDLE hConsoleOutput,
831 _In_ CONST CONSOLE_CURSOR_INFO *lpConsoleCursorInfo);
832
834BOOL
835WINAPI
837 _In_ HANDLE hConsoleOutput,
838 _In_ COORD dwCursorPosition);
839
841BOOL
842WINAPI
844 _In_ HANDLE hConsoleHandle,
845 _In_ DWORD dwMode);
846
848BOOL
849WINAPI
851 _In_ UINT wCodePageID);
852
854BOOL
855WINAPI
857 _In_ HANDLE hConsoleOutput,
859
861BOOL
862WINAPI
864 _In_ HANDLE hConsoleOutput,
865 _In_ WORD wAttributes);
866
868BOOL
869WINAPI
871 _In_ LPCSTR lpConsoleTitle);
872
874BOOL
875WINAPI
877 _In_ LPCWSTR lpConsoleTitle);
878
880BOOL
881WINAPI
883 _In_ HANDLE hConsoleOutput,
884 _In_ BOOL bAbsolute,
885 _In_ CONST SMALL_RECT *lpConsoleWindow);
886
888BOOL
889WINAPI
891 _In_ HANDLE hConsoleOutput,
892 _In_reads_(nNumberOfCharsToWrite) CONST VOID *lpBuffer,
893 _In_ DWORD nNumberOfCharsToWrite,
894 _Out_opt_ LPDWORD lpNumberOfCharsWritten,
896
898BOOL
899WINAPI
901 _In_ HANDLE hConsoleOutput,
902 _In_reads_(nNumberOfCharsToWrite) CONST VOID *lpBuffer,
903 _In_ DWORD nNumberOfCharsToWrite,
904 _Out_opt_ LPDWORD lpNumberOfCharsWritten,
906
908BOOL
909WINAPI
911 _In_ HANDLE hConsoleInput,
914 _Out_ LPDWORD lpNumberOfEventsWritten);
915
917BOOL
918WINAPI
920 _In_ HANDLE hConsoleInput,
923 _Out_ LPDWORD lpNumberOfEventsWritten);
924
926BOOL
927WINAPI
929 _In_ HANDLE hConsoleOutput,
930 _In_reads_(dwBufferSize.X * dwBufferSize.Y) CONST CHAR_INFO *lpBuffer,
931 _In_ COORD dwBufferSize,
932 _In_ COORD dwBufferCoord,
933 _Inout_ PSMALL_RECT lpWriteRegion);
934
936BOOL
937WINAPI
939 _In_ HANDLE hConsoleOutput,
940 _In_reads_(dwBufferSize.X * dwBufferSize.Y) CONST CHAR_INFO *lpBuffer,
941 _In_ COORD dwBufferSize,
942 _In_ COORD dwBufferCoord,
943 _Inout_ PSMALL_RECT lpWriteRegion);
944
946BOOL
947WINAPI
949 _In_ HANDLE hConsoleOutput,
950 _In_reads_(nLength) CONST WORD *lpAttribute,
952 _In_ COORD dwWriteCoord,
953 _Out_ LPDWORD lpNumberOfAttrsWritten);
954
956BOOL
957WINAPI
959 _In_ HANDLE hConsoleOutput,
960 _In_reads_(nLength) LPCSTR lpCharacter,
962 _In_ COORD dwWriteCoord,
963 _Out_ LPDWORD lpNumberOfCharsWritten);
964
966BOOL
967WINAPI
969 _In_ HANDLE hConsoleOutput,
970 _In_reads_(nLength) LPCWSTR lpCharacter,
972 _In_ COORD dwWriteCoord,
973 _Out_ LPDWORD lpNumberOfCharsWritten);
974
975
976#if (NTDDI_VERSION >= NTDDI_WIN10_RS5)
977// typedef VOID *HPCON;
978// CreatePseudoConsole()
979// ResizePseudoConsole()
980// ClosePseudoConsole()
981#endif // (NTDDI_VERSION >= NTDDI_WIN10_RS5)
982
983#if (NTDDI_VERSION >= NTDDI_WIN11_GE)
984/* See https://github.com/microsoft/terminal/blob/main/doc/specs/%237335%20-%20Console%20Allocation%20Policy.md
985 * and https://github.com/MicrosoftDocs/Console-Docs/pull/323 */
986// ALLOC_CONSOLE_MODE, ALLOC_CONSOLE_OPTIONS, ALLOC_CONSOLE_RESULT
987// AllocConsoleWithOptions()
988// ReleasePseudoConsole()
989#endif // (NTDDI_VERSION >= NTDDI_WIN11_GE)
990
991
992#ifdef UNICODE
993#define AddConsoleAlias AddConsoleAliasW
994#define GetConsoleAlias GetConsoleAliasW
995#define GetConsoleAliases GetConsoleAliasesW
996#define GetConsoleAliasesLength GetConsoleAliasesLengthW
997#define GetConsoleAliasExes GetConsoleAliasExesW
998#define GetConsoleAliasExesLength GetConsoleAliasExesLengthW
999#define GetConsoleTitle GetConsoleTitleW
1000#define GetConsoleOriginalTitle GetConsoleOriginalTitleW
1001#define PeekConsoleInput PeekConsoleInputW
1002#define ReadConsole ReadConsoleW
1003#define ReadConsoleInput ReadConsoleInputW
1004#define ReadConsoleOutput ReadConsoleOutputW
1005#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterW
1006#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferW
1007#define SetConsoleTitle SetConsoleTitleW
1008#define WriteConsole WriteConsoleW
1009#define WriteConsoleInput WriteConsoleInputW
1010#define WriteConsoleOutput WriteConsoleOutputW
1011#define FillConsoleOutputCharacter FillConsoleOutputCharacterW
1012#define WriteConsoleOutputCharacter WriteConsoleOutputCharacterW
1013#else
1014#define AddConsoleAlias AddConsoleAliasA
1015#define GetConsoleAlias GetConsoleAliasA
1016#define GetConsoleAliases GetConsoleAliasesA
1017#define GetConsoleAliasesLength GetConsoleAliasesLengthA
1018#define GetConsoleAliasExes GetConsoleAliasExesA
1019#define GetConsoleAliasExesLength GetConsoleAliasExesLengthA
1020#define GetConsoleTitle GetConsoleTitleA
1021#define GetConsoleOriginalTitle GetConsoleOriginalTitleA
1022#define PeekConsoleInput PeekConsoleInputA
1023#define ReadConsole ReadConsoleA
1024#define ReadConsoleInput ReadConsoleInputA
1025#define ReadConsoleOutput ReadConsoleOutputA
1026#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterA
1027#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferA
1028#define SetConsoleTitle SetConsoleTitleA
1029#define WriteConsole WriteConsoleA
1030#define WriteConsoleInput WriteConsoleInputA
1031#define WriteConsoleOutput WriteConsoleOutputA
1032#define FillConsoleOutputCharacter FillConsoleOutputCharacterA
1033#define WriteConsoleOutputCharacter WriteConsoleOutputCharacterA
1034#endif
1035
1036#ifdef _MSC_VER
1037#pragma warning(pop)
1038#endif
1039
1040#ifdef __cplusplus
1041}
1042#endif
1043
1044#endif /* _WINCON_ */
BOOL WINAPI HandlerRoutine(DWORD dwCtrlType)
static TAGREF LPCWSTR LPDWORD LPVOID lpBuffer
Definition: db.cpp:175
#define LF_FACESIZE
Definition: dimm.idl:39
#define FALSE
Definition: types.h:117
static WCHAR ExeNameBuffer[EXENAME_LENGTH]
Definition: console.c:43
BOOL WINAPI DECLSPEC_HOTPATCH ReadConsoleInputW(IN HANDLE hConsoleInput, OUT PINPUT_RECORD lpBuffer, IN DWORD nLength, OUT LPDWORD lpNumberOfEventsRead)
Definition: readwrite.c:1256
BOOL WINAPI DECLSPEC_HOTPATCH ReadConsoleW(IN HANDLE hConsoleInput, OUT LPVOID lpBuffer, IN DWORD nNumberOfCharsToRead, OUT LPDWORD lpNumberOfCharsRead, IN PCONSOLE_READCONSOLE_CONTROL pInputControl OPTIONAL)
Definition: readwrite.c:1174
BOOL WINAPI DECLSPEC_HOTPATCH ReadConsoleInputA(IN HANDLE hConsoleInput, OUT PINPUT_RECORD lpBuffer, IN DWORD nLength, OUT LPDWORD lpNumberOfEventsRead)
Definition: readwrite.c:1276
BOOL WINAPI DECLSPEC_HOTPATCH PeekConsoleInputA(IN HANDLE hConsoleInput, OUT PINPUT_RECORD lpBuffer, IN DWORD nLength, OUT LPDWORD lpNumberOfEventsRead)
Definition: readwrite.c:1236
BOOL WINAPI DECLSPEC_HOTPATCH PeekConsoleInputW(IN HANDLE hConsoleInput, OUT PINPUT_RECORD lpBuffer, IN DWORD nLength, OUT LPDWORD lpNumberOfEventsRead)
Definition: readwrite.c:1216
BOOL WINAPI DECLSPEC_HOTPATCH ReadConsoleA(IN HANDLE hConsoleInput, OUT LPVOID lpBuffer, IN DWORD nNumberOfCharsToRead, OUT LPDWORD lpNumberOfCharsRead, IN PCONSOLE_READCONSOLE_CONTROL pInputControl OPTIONAL)
Definition: readwrite.c:1195
BOOL WINAPI DECLSPEC_HOTPATCH FreeConsole(void)
Definition: console.c:663
UINT WINAPI DECLSPEC_HOTPATCH GetConsoleCP(void)
Definition: console.c:821
DWORD WINAPI GetConsoleAliasExesLengthW(void)
Definition: console.c:744
UINT WINAPI DECLSPEC_HOTPATCH GetConsoleOutputCP(void)
Definition: console.c:957
BOOL WINAPI AllocConsole(void)
Definition: console.c:492
HWND WINAPI GetConsoleWindow(void)
Definition: console.c:1102
DWORD WINAPI GetConsoleAliasExesLengthA(void)
Definition: console.c:733
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned short WORD
Definition: ntddk_ex.h:93
#define WINBASEAPI
Definition: green.h:8
#define C_ASSERT(e)
Definition: intsafe.h:73
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
Definition: env.c:56
unsigned int UINT
Definition: ndis.h:50
_In_ UINT _In_ UINT _In_ PNDIS_PACKET Source
Definition: ndis.h:3169
#define _In_reads_(s)
Definition: no_sal2.h:168
#define _Out_opt_
Definition: no_sal2.h:214
#define _Inout_
Definition: no_sal2.h:162
#define _Success_(c)
Definition: no_sal2.h:84
#define _Deref_out_range_(l, h)
Definition: no_sal2.h:376
#define _Out_writes_bytes_to_(s, c)
Definition: no_sal2.h:190
#define _Out_writes_(s)
Definition: no_sal2.h:176
#define _Out_
Definition: no_sal2.h:160
#define _In_
Definition: no_sal2.h:158
#define _In_opt_
Definition: no_sal2.h:212
#define _Reserved_
Definition: no_sal2.h:504
#define _Out_writes_to_(s, c)
Definition: no_sal2.h:188
#define BOOL
Definition: nt_native.h:43
#define CONST
Definition: pedump.c:81
short SHORT
Definition: pedump.c:59
union _CHAR_INFO::@3414 Char
CHAR AsciiChar
Definition: wincon.h:215
WCHAR UnicodeChar
Definition: wincon.h:214
WORD Attributes
Definition: wincon.h:217
WCHAR FaceName[LF_FACESIZE]
Definition: wincon.h:331
COORD dwFontSize
Definition: wincon.h:245
UINT NumberOfHistoryBuffers
Definition: wincon.h:308
SMALL_RECT srSelection
Definition: wincon.h:240
Definition: bl.h:1338
SHORT Y
Definition: wincon.h:234
SHORT X
Definition: wincon.h:233
MOUSE_EVENT_RECORD MouseEvent
Definition: wincon.h:297
FOCUS_EVENT_RECORD FocusEvent
Definition: wincon.h:300
union _INPUT_RECORD::@3416 Event
MENU_EVENT_RECORD MenuEvent
Definition: wincon.h:299
WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent
Definition: wincon.h:298
WORD EventType
Definition: wincon.h:294
KEY_EVENT_RECORD KeyEvent
Definition: wincon.h:296
WORD wVirtualScanCode
Definition: wincon.h:264
union _KEY_EVENT_RECORD::@3415 uChar
DWORD dwControlKeyState
Definition: wincon.h:269
WORD wVirtualKeyCode
Definition: wincon.h:263
WORD wRepeatCount
Definition: wincon.h:262
WCHAR UnicodeChar
Definition: wincon.h:266
DWORD dwControlKeyState
Definition: wincon.h:277
DWORD dwEventFlags
Definition: wincon.h:278
DWORD dwButtonState
Definition: wincon.h:276
COORD dwMousePosition
Definition: wincon.h:275
SHORT Top
Definition: tui.c:25
SHORT Right
Definition: tui.c:26
SHORT Left
Definition: tui.c:24
SHORT Bottom
Definition: tui.c:27
Definition: blue.h:25
#define FIELD_OFFSET(t, f)
Definition: typedefs.h:255
uint16_t * LPWORD
Definition: typedefs.h:56
uint32_t * LPDWORD
Definition: typedefs.h:59
uint32_t ULONG
Definition: typedefs.h:59
_In_ WDFIOTARGET Target
Definition: wdfrequest.h:306
*nSize LPSTR _Inout_ LPDWORD nSize
Definition: winbase.h:2125
struct _KEY_EVENT_RECORD * PKEY_EVENT_RECORD
struct _CONSOLE_FONT_INFOEX * PCONSOLE_FONT_INFOEX
WINBASEAPI BOOL WINAPI WriteConsoleOutputAttribute(_In_ HANDLE hConsoleOutput, _In_reads_(nLength) CONST WORD *lpAttribute, _In_ DWORD nLength, _In_ COORD dwWriteCoord, _Out_ LPDWORD lpNumberOfAttrsWritten)
WINBASEAPI BOOL WINAPI GetConsoleHistoryInfo(_Out_ PCONSOLE_HISTORY_INFO lpConsoleHistoryInfo)
WINBASEAPI DWORD WINAPI GetConsoleOriginalTitleW(_Out_writes_(nSize) LPWSTR lpConsoleTitle, _In_ DWORD nSize)
struct _SMALL_RECT SMALL_RECT
struct _CHAR_INFO CHAR_INFO
WINBASEAPI BOOL WINAPI ReadConsoleOutputW(_In_ HANDLE hConsoleOutput, _Out_writes_(dwBufferSize.X *dwBufferSize.Y) PCHAR_INFO lpBuffer, _In_ COORD dwBufferSize, _In_ COORD dwBufferCoord, _Inout_ PSMALL_RECT lpReadRegion)
WINBASEAPI BOOL WINAPI GenerateConsoleCtrlEvent(_In_ DWORD dwCtrlEvent, _In_ DWORD dwProcessGroupId)
WINBASEAPI BOOL WINAPI SetConsoleTitleW(_In_ LPCWSTR lpConsoleTitle)
struct _CONSOLE_SELECTION_INFO * PCONSOLE_SELECTION_INFO
WINBASEAPI BOOL WINAPI WriteConsoleInputW(_In_ HANDLE hConsoleInput, _In_reads_(nLength) CONST INPUT_RECORD *lpBuffer, _In_ DWORD nLength, _Out_ LPDWORD lpNumberOfEventsWritten)
WINBASEAPI BOOL WINAPI WriteConsoleOutputW(_In_ HANDLE hConsoleOutput, _In_reads_(dwBufferSize.X *dwBufferSize.Y) CONST CHAR_INFO *lpBuffer, _In_ COORD dwBufferSize, _In_ COORD dwBufferCoord, _Inout_ PSMALL_RECT lpWriteRegion)
WINBASEAPI BOOL WINAPI WriteConsoleOutputA(_In_ HANDLE hConsoleOutput, _In_reads_(dwBufferSize.X *dwBufferSize.Y) CONST CHAR_INFO *lpBuffer, _In_ COORD dwBufferSize, _In_ COORD dwBufferCoord, _Inout_ PSMALL_RECT lpWriteRegion)
WINBASEAPI DWORD WINAPI GetConsoleAliasesA(_Out_writes_(AliasBufferLength) LPSTR AliasBuffer, _In_ DWORD AliasBufferLength, _In_ LPCSTR ExeName)
Definition: alias.c:401
WINBASEAPI DWORD WINAPI GetConsoleAliasA(_In_ LPCSTR Source, _Out_writes_(TargetBufferLength) LPSTR TargetBuffer, _In_ DWORD TargetBufferLength, _In_ LPCSTR ExeName)
Definition: alias.c:286
WINBASEAPI DWORD WINAPI GetConsoleOriginalTitleA(_Out_writes_(nSize) LPSTR lpConsoleTitle, _In_ DWORD nSize)
WINBASEAPI BOOL WINAPI SetConsoleActiveScreenBuffer(_In_ HANDLE hConsoleOutput)
struct _CHAR_INFO * PCHAR_INFO
struct _CONSOLE_HISTORY_INFO CONSOLE_HISTORY_INFO
WINBASEAPI BOOL WINAPI SetConsoleCtrlHandler(_In_opt_ PHANDLER_ROUTINE HandlerRoutine, _In_ BOOL Add)
WINBASEAPI BOOL WINAPI SetConsoleScreenBufferSize(_In_ HANDLE hConsoleOutput, _In_ COORD dwSize)
struct _CONSOLE_FONT_INFOEX CONSOLE_FONT_INFOEX
WINBASEAPI BOOL WINAPI GetCurrentConsoleFontEx(_In_ HANDLE hConsoleOutput, _In_ BOOL bMaximumWindow, _Out_ PCONSOLE_FONT_INFOEX lpConsoleCurrentFontEx)
WINBASEAPI BOOL WINAPI SetConsoleMode(_In_ HANDLE hConsoleHandle, _In_ DWORD dwMode)
WINBASEAPI _In_ DWORD _Out_ LPDWORD lpNumberOfEventsRead
Definition: wincon.h:683
WINBASEAPI BOOL WINAPI AddConsoleAliasW(_In_ LPCWSTR Source, _In_ LPCWSTR Target, _In_ LPCWSTR ExeName)
Definition: alias.c:120
WINBASEAPI BOOL WINAPI ScrollConsoleScreenBufferA(_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 SetConsoleCP(_In_ UINT wCodePageID)
WINBASEAPI BOOL WINAPI SetConsoleCursorInfo(_In_ HANDLE hConsoleOutput, _In_ CONST CONSOLE_CURSOR_INFO *lpConsoleCursorInfo)
struct _SMALL_RECT * PSMALL_RECT
struct _CONSOLE_SCREEN_BUFFER_INFO CONSOLE_SCREEN_BUFFER_INFO
WINBASEAPI BOOL WINAPI AttachConsole(_In_ DWORD dwProcessId)
WINBASEAPI BOOL WINAPI SetConsoleTitleA(_In_ LPCSTR lpConsoleTitle)
struct _CONSOLE_SCREEN_BUFFER_INFOEX CONSOLE_SCREEN_BUFFER_INFOEX
struct _INPUT_RECORD INPUT_RECORD
WINBASEAPI BOOL WINAPI FillConsoleOutputCharacterA(_In_ HANDLE hConsoleOutput, _In_ CHAR cCharacter, _In_ DWORD nLength, _In_ COORD dwWriteCoord, _Out_ LPDWORD lpNumberOfCharsWritten)
WINBASEAPI BOOL WINAPI SetConsoleCursorPosition(_In_ HANDLE hConsoleOutput, _In_ COORD dwCursorPosition)
WINBASEAPI DWORD WINAPI GetConsoleAliasesLengthA(_In_ LPCSTR ExeName)
Definition: alias.c:485
WINBASEAPI BOOL WINAPI WriteConsoleOutputCharacterA(_In_ HANDLE hConsoleOutput, _In_reads_(nLength) LPCSTR lpCharacter, _In_ DWORD nLength, _In_ COORD dwWriteCoord, _Out_ LPDWORD lpNumberOfCharsWritten)
WINBASEAPI BOOL WINAPI ReadConsoleOutputA(_In_ HANDLE hConsoleOutput, _Out_writes_(dwBufferSize.X *dwBufferSize.Y) PCHAR_INFO lpBuffer, _In_ COORD dwBufferSize, _In_ COORD dwBufferCoord, _Inout_ PSMALL_RECT lpReadRegion)
WINBASEAPI BOOL WINAPI GetConsoleSelectionInfo(_Out_ PCONSOLE_SELECTION_INFO lpConsoleSelectionInfo)
WINBASEAPI BOOL WINAPI GetNumberOfConsoleMouseButtons(_Out_ LPDWORD lpNumberOfMouseButtons)
WINBASEAPI BOOL WINAPI GetConsoleCursorInfo(_In_ HANDLE hConsoleOutput, _Out_ PCONSOLE_CURSOR_INFO lpConsoleCursorInfo)
WINBASEAPI HANDLE WINAPI CreateConsoleScreenBuffer(_In_ DWORD dwDesiredAccess, _In_ DWORD dwShareMode, _In_opt_ CONST SECURITY_ATTRIBUTES *lpSecurityAttributes, _In_ DWORD dwFlags, _Reserved_ LPVOID lpScreenBufferData)
WINBASEAPI BOOL WINAPI SetConsoleTextAttribute(_In_ HANDLE hConsoleOutput, _In_ WORD wAttributes)
WINBASEAPI DWORD WINAPI GetConsoleAliasExesW(_Out_writes_(ExeNameBufferLength) LPWSTR ExeNameBuffer, _In_ DWORD ExeNameBufferLength)
struct _MENU_EVENT_RECORD MENU_EVENT_RECORD
struct _CONSOLE_HISTORY_INFO * PCONSOLE_HISTORY_INFO
WINBASEAPI COORD WINAPI GetConsoleFontSize(_In_ HANDLE hConsoleOutput, _In_ DWORD nFont)
WINBASEAPI BOOL WINAPI SetConsoleScreenBufferInfoEx(_In_ HANDLE hConsoleOutput, _In_ PCONSOLE_SCREEN_BUFFER_INFOEX lpConsoleScreenBufferInfoEx)
WINBASEAPI BOOL WINAPI AddConsoleAliasA(_In_ LPCSTR Source, _In_ LPCSTR Target, _In_ LPCSTR ExeName)
Definition: alias.c:146
WINBASEAPI BOOL WINAPI WriteConsoleW(_In_ HANDLE hConsoleOutput, _In_reads_(nNumberOfCharsToWrite) CONST VOID *lpBuffer, _In_ DWORD nNumberOfCharsToWrite, _Out_opt_ LPDWORD lpNumberOfCharsWritten, _Reserved_ LPVOID lpReserved)
WINBASEAPI BOOL WINAPI SetConsoleWindowInfo(_In_ HANDLE hConsoleOutput, _In_ BOOL bAbsolute, _In_ CONST SMALL_RECT *lpConsoleWindow)
WINBASEAPI BOOL WINAPI GetConsoleMode(_In_ HANDLE hConsoleHandle, _Out_ LPDWORD lpMode)
WINBASEAPI BOOL WINAPI GetNumberOfConsoleInputEvents(_In_ HANDLE hConsoleInput, _Out_ LPDWORD lpNumberOfEvents)
struct _CONSOLE_FONT_INFO CONSOLE_FONT_INFO
WINBASEAPI DWORD WINAPI GetConsoleAliasesW(_Out_writes_(AliasBufferLength) LPWSTR AliasBuffer, _In_ DWORD AliasBufferLength, _In_ LPCWSTR ExeName)
Definition: alias.c:380
struct _CONSOLE_FONT_INFO * PCONSOLE_FONT_INFO
WINBASEAPI BOOL WINAPI SetConsoleOutputCP(_In_ UINT wCodePageID)
struct _CONSOLE_READCONSOLE_CONTROL CONSOLE_READCONSOLE_CONTROL
WINBASEAPI _In_ DWORD _Out_ _In_opt_ PCONSOLE_READCONSOLE_CONTROL pInputControl
Definition: wincon.h:704
struct _CONSOLE_CURSOR_INFO * PCONSOLE_CURSOR_INFO
WINBASEAPI BOOL WINAPI ReadConsoleOutputCharacterA(_In_ HANDLE hConsoleOutput, _Out_writes_(nLength) LPSTR lpCharacter, _In_ DWORD nLength, _In_ COORD dwReadCoord, _Out_ LPDWORD lpNumberOfCharsRead)
WINBASEAPI BOOL WINAPI FlushConsoleInputBuffer(_In_ HANDLE hConsoleInput)
WINBASEAPI COORD WINAPI GetLargestConsoleWindowSize(_In_ HANDLE hConsoleOutput)
struct _CONSOLE_SCREEN_BUFFER_INFO * PCONSOLE_SCREEN_BUFFER_INFO
WINBASEAPI DWORD WINAPI GetConsoleAliasesLengthW(_In_ LPCWSTR ExeName)
Definition: alias.c:472
struct _INPUT_RECORD * PINPUT_RECORD
WINBASEAPI BOOL WINAPI GetConsoleScreenBufferInfoEx(_In_ HANDLE hConsoleOutput, _Inout_ PCONSOLE_SCREEN_BUFFER_INFOEX lpConsoleScreenBufferInfoEx)
WINBASEAPI BOOL WINAPI ReadConsoleOutputCharacterW(_In_ HANDLE hConsoleOutput, _Out_writes_(nLength) LPWSTR lpCharacter, _In_ DWORD nLength, _In_ COORD dwReadCoord, _Out_ LPDWORD lpNumberOfCharsRead)
struct _KEY_EVENT_RECORD KEY_EVENT_RECORD
WINBASEAPI BOOL WINAPI FillConsoleOutputCharacterW(_In_ HANDLE hConsoleOutput, _In_ WCHAR cCharacter, _In_ DWORD nLength, _In_ COORD dwWriteCoord, _Out_ LPDWORD lpNumberOfCharsWritten)
struct _FOCUS_EVENT_RECORD FOCUS_EVENT_RECORD
WINBASEAPI _In_ DWORD nNumberOfCharsToRead
Definition: wincon.h:702
struct _WINDOW_BUFFER_SIZE_RECORD * PWINDOW_BUFFER_SIZE_RECORD
struct _CONSOLE_CURSOR_INFO CONSOLE_CURSOR_INFO
WINBASEAPI BOOL WINAPI ScrollConsoleScreenBufferW(_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 GetCurrentConsoleFont(_In_ HANDLE hConsoleOutput, _In_ BOOL bMaximumWindow, _Out_ PCONSOLE_FONT_INFO lpConsoleCurrentFont)
WINBASEAPI DWORD WINAPI GetConsoleTitleA(_Out_writes_(nSize) LPSTR lpConsoleTitle, _In_ DWORD nSize)
WINBASEAPI DWORD WINAPI GetConsoleAliasExesA(_Out_writes_(ExeNameBufferLength) LPSTR ExeNameBuffer, _In_ DWORD ExeNameBufferLength)
WINBASEAPI BOOL WINAPI GetConsoleDisplayMode(_Out_ LPDWORD lpModeFlags)
struct _MOUSE_EVENT_RECORD * PMOUSE_EVENT_RECORD
WINBASEAPI BOOL WINAPI GetConsoleScreenBufferInfo(_In_ HANDLE hConsoleOutput, _Out_ PCONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo)
WINBASEAPI BOOL WINAPI ReadConsoleOutputAttribute(_In_ HANDLE hConsoleOutput, _Out_writes_(nLength) LPWORD lpAttribute, _In_ DWORD nLength, _In_ COORD dwReadCoord, _Out_ LPDWORD lpNumberOfAttrsRead)
struct _CONSOLE_SCREEN_BUFFER_INFOEX * PCONSOLE_SCREEN_BUFFER_INFOEX
struct _COORD * PCOORD
WINBASEAPI DWORD WINAPI GetConsoleAliasW(_In_ LPCWSTR Source, _Out_writes_(TargetBufferLength) LPWSTR TargetBuffer, _In_ DWORD TargetBufferLength, _In_ LPCWSTR ExeName)
Definition: alias.c:262
WINBASEAPI BOOL WINAPI SetCurrentConsoleFontEx(_In_ HANDLE hConsoleOutput, _In_ BOOL bMaximumWindow, _In_ PCONSOLE_FONT_INFOEX lpConsoleCurrentFontEx)
struct _WINDOW_BUFFER_SIZE_RECORD WINDOW_BUFFER_SIZE_RECORD
WINBASEAPI BOOL WINAPI WriteConsoleOutputCharacterW(_In_ HANDLE hConsoleOutput, _In_reads_(nLength) LPCWSTR lpCharacter, _In_ DWORD nLength, _In_ COORD dwWriteCoord, _Out_ LPDWORD lpNumberOfCharsWritten)
WINBASEAPI BOOL WINAPI FillConsoleOutputAttribute(_In_ HANDLE hConsoleOutput, _In_ WORD wAttribute, _In_ DWORD nLength, _In_ COORD dwWriteCoord, _Out_ LPDWORD lpNumberOfAttrsWritten)
struct _MOUSE_EVENT_RECORD MOUSE_EVENT_RECORD
BOOL(WINAPI * PHANDLER_ROUTINE)(_In_ DWORD CtrlType)
Definition: wincon.h:257
WINBASEAPI BOOL WINAPI WriteConsoleInputA(_In_ HANDLE hConsoleInput, _In_reads_(nLength) CONST INPUT_RECORD *lpBuffer, _In_ DWORD nLength, _Out_ LPDWORD lpNumberOfEventsWritten)
WINBASEAPI BOOL WINAPI SetConsoleHistoryInfo(_In_ PCONSOLE_HISTORY_INFO lpConsoleHistoryInfo)
WINBASEAPI BOOL WINAPI SetConsoleDisplayMode(_In_ HANDLE hConsoleOutput, _In_ DWORD dwFlags, _Out_opt_ PCOORD lpNewScreenBufferDimensions)
struct _FOCUS_EVENT_RECORD * PFOCUS_EVENT_RECORD
struct _MENU_EVENT_RECORD * PMENU_EVENT_RECORD
WINBASEAPI DWORD WINAPI GetConsoleProcessList(_Out_writes_(dwProcessCount) LPDWORD lpdwProcessList, _In_ DWORD dwProcessCount)
WINBASEAPI BOOL WINAPI WriteConsoleA(_In_ HANDLE hConsoleOutput, _In_reads_(nNumberOfCharsToWrite) CONST VOID *lpBuffer, _In_ DWORD nNumberOfCharsToWrite, _Out_opt_ LPDWORD lpNumberOfCharsWritten, _Reserved_ LPVOID lpReserved)
struct _CONSOLE_SELECTION_INFO CONSOLE_SELECTION_INFO
struct _COORD COORD
struct _CONSOLE_READCONSOLE_CONTROL * PCONSOLE_READCONSOLE_CONTROL
WINBASEAPI _In_ DWORD nLength
Definition: wincon.h:682
WINBASEAPI DWORD WINAPI GetConsoleTitleW(_Out_writes_(nSize) LPWSTR lpConsoleTitle, _In_ DWORD nSize)
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1176
DWORD COLORREF
Definition: windef.h:300
#define WINAPI
Definition: msvc.h:6
_In_ DWORD _In_ int _In_ int _In_opt_ LPNLSVERSIONINFO _In_opt_ LPVOID lpReserved
Definition: winnls.h:1199
const char * LPCSTR
Definition: xmlstorage.h:183
char * LPSTR
Definition: xmlstorage.h:182
__wchar_t WCHAR
Definition: xmlstorage.h:180
WCHAR * LPWSTR
Definition: xmlstorage.h:184
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
char CHAR
Definition: xmlstorage.h:175