--- mstools/h/wincon.h 2018/08/09 18:20:33 1.1.1.2 +++ mstools/h/wincon.h 2018/08/09 18:21:12 1.1.1.3 @@ -158,13 +158,17 @@ typedef struct _CONSOLE_CURSOR_INFO { typedef BOOL -(*PHANDLER_ROUTINE)( +(WINAPI *PHANDLER_ROUTINE)( DWORD CtrlType ); -#define CTRL_C_EVENT 0 -#define CTRL_BREAK_EVENT 1 -#define CTRL_CLOSE_EVENT 2 +#define CTRL_C_EVENT 0 +#define CTRL_BREAK_EVENT 1 +#define CTRL_CLOSE_EVENT 2 +// 3 is reserved! +// 4 is reserved! +#define CTRL_LOGOFF_EVENT 5 +#define CTRL_SHUTDOWN_EVENT 6 // // Input Mode flags: @@ -188,7 +192,7 @@ BOOL // BOOL -APIENTRY +WINAPI PeekConsoleInputA( HANDLE hConsoleInput, PINPUT_RECORD lpBuffer, @@ -196,7 +200,7 @@ PeekConsoleInputA( LPDWORD lpNumberOfEventsRead ); BOOL -APIENTRY +WINAPI PeekConsoleInputW( HANDLE hConsoleInput, PINPUT_RECORD lpBuffer, @@ -210,7 +214,7 @@ PeekConsoleInputW( #endif // !UNICODE BOOL -APIENTRY +WINAPI ReadConsoleInputA( HANDLE hConsoleInput, PINPUT_RECORD lpBuffer, @@ -218,7 +222,7 @@ ReadConsoleInputA( LPDWORD lpNumberOfEventsRead ); BOOL -APIENTRY +WINAPI ReadConsoleInputW( HANDLE hConsoleInput, PINPUT_RECORD lpBuffer, @@ -232,7 +236,7 @@ ReadConsoleInputW( #endif // !UNICODE BOOL -APIENTRY +WINAPI WriteConsoleInputA( HANDLE hConsoleInput, PINPUT_RECORD lpBuffer, @@ -240,7 +244,7 @@ WriteConsoleInputA( LPDWORD lpNumberOfEventsWritten ); BOOL -APIENTRY +WINAPI WriteConsoleInputW( HANDLE hConsoleInput, PINPUT_RECORD lpBuffer, @@ -254,7 +258,7 @@ WriteConsoleInputW( #endif // !UNICODE BOOL -APIENTRY +WINAPI ReadConsoleOutputA( HANDLE hConsoleOutput, PCHAR_INFO lpBuffer, @@ -263,7 +267,7 @@ ReadConsoleOutputA( PSMALL_RECT lpReadRegion ); BOOL -APIENTRY +WINAPI ReadConsoleOutputW( HANDLE hConsoleOutput, PCHAR_INFO lpBuffer, @@ -278,7 +282,7 @@ ReadConsoleOutputW( #endif // !UNICODE BOOL -APIENTRY +WINAPI WriteConsoleOutputA( HANDLE hConsoleOutput, PCHAR_INFO lpBuffer, @@ -287,7 +291,7 @@ WriteConsoleOutputA( PSMALL_RECT lpWriteRegion ); BOOL -APIENTRY +WINAPI WriteConsoleOutputW( HANDLE hConsoleOutput, PCHAR_INFO lpBuffer, @@ -302,7 +306,7 @@ WriteConsoleOutputW( #endif // !UNICODE BOOL -APIENTRY +WINAPI ReadConsoleOutputCharacterA( HANDLE hConsoleOutput, LPSTR lpCharacter, @@ -311,7 +315,7 @@ ReadConsoleOutputCharacterA( LPDWORD lpNumberOfCharsRead ); BOOL -APIENTRY +WINAPI ReadConsoleOutputCharacterW( HANDLE hConsoleOutput, LPWSTR lpCharacter, @@ -326,7 +330,7 @@ ReadConsoleOutputCharacterW( #endif // !UNICODE BOOL -APIENTRY +WINAPI ReadConsoleOutputAttribute( HANDLE hConsoleOutput, LPWORD lpAttribute, @@ -336,7 +340,7 @@ ReadConsoleOutputAttribute( ); BOOL -APIENTRY +WINAPI WriteConsoleOutputCharacterA( HANDLE hConsoleOutput, LPSTR lpCharacter, @@ -345,7 +349,7 @@ WriteConsoleOutputCharacterA( LPDWORD lpNumberOfCharsWritten ); BOOL -APIENTRY +WINAPI WriteConsoleOutputCharacterW( HANDLE hConsoleOutput, LPWSTR lpCharacter, @@ -360,7 +364,7 @@ WriteConsoleOutputCharacterW( #endif // !UNICODE BOOL -APIENTRY +WINAPI WriteConsoleOutputAttribute( HANDLE hConsoleOutput, LPWORD lpAttribute, @@ -370,7 +374,7 @@ WriteConsoleOutputAttribute( ); BOOL -APIENTRY +WINAPI FillConsoleOutputCharacterA( HANDLE hConsoleOutput, CHAR cCharacter, @@ -379,7 +383,7 @@ FillConsoleOutputCharacterA( LPDWORD lpNumberOfCharsWritten ); BOOL -APIENTRY +WINAPI FillConsoleOutputCharacterW( HANDLE hConsoleOutput, WCHAR cCharacter, @@ -394,7 +398,7 @@ FillConsoleOutputCharacterW( #endif // !UNICODE BOOL -APIENTRY +WINAPI FillConsoleOutputAttribute( HANDLE hConsoleOutput, WORD wAttribute, @@ -404,87 +408,87 @@ FillConsoleOutputAttribute( ); BOOL -APIENTRY +WINAPI GetConsoleMode( HANDLE hConsoleHandle, LPDWORD lpMode ); BOOL -APIENTRY +WINAPI GetNumberOfConsoleInputEvents( HANDLE hConsoleInput, LPDWORD lpNumberOfEvents ); BOOL -APIENTRY +WINAPI GetConsoleScreenBufferInfo( HANDLE hConsoleOutput, PCONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo ); COORD -APIENTRY +WINAPI GetLargestConsoleWindowSize( HANDLE hConsoleOutput ); BOOL -APIENTRY +WINAPI GetConsoleCursorInfo( HANDLE hConsoleOutput, PCONSOLE_CURSOR_INFO lpConsoleCursorInfo ); BOOL -APIENTRY +WINAPI GetNumberOfConsoleMouseButtons( LPDWORD lpNumberOfMouseButtons ); BOOL -APIENTRY +WINAPI SetConsoleMode( HANDLE hConsoleHandle, DWORD dwMode ); BOOL -APIENTRY +WINAPI SetConsoleActiveScreenBuffer( HANDLE hConsoleOutput ); BOOL -APIENTRY +WINAPI FlushConsoleInputBuffer( HANDLE hConsoleInput ); BOOL -APIENTRY +WINAPI SetConsoleScreenBufferSize( HANDLE hConsoleOutput, COORD dwSize ); BOOL -APIENTRY +WINAPI SetConsoleCursorPosition( HANDLE hConsoleOutput, COORD dwCursorPosition ); BOOL -APIENTRY +WINAPI SetConsoleCursorInfo( HANDLE hConsoleOutput, PCONSOLE_CURSOR_INFO lpConsoleCursorInfo ); BOOL -APIENTRY +WINAPI ScrollConsoleScreenBufferA( HANDLE hConsoleOutput, PSMALL_RECT lpScrollRectangle, @@ -493,7 +497,7 @@ ScrollConsoleScreenBufferA( PCHAR_INFO lpFill ); BOOL -APIENTRY +WINAPI ScrollConsoleScreenBufferW( HANDLE hConsoleOutput, PSMALL_RECT lpScrollRectangle, @@ -508,7 +512,7 @@ ScrollConsoleScreenBufferW( #endif // !UNICODE BOOL -APIENTRY +WINAPI SetConsoleWindowInfo( HANDLE hConsoleOutput, BOOL bAbsolute, @@ -516,36 +520,43 @@ SetConsoleWindowInfo( ); BOOL -APIENTRY +WINAPI SetConsoleTextAttribute( HANDLE hConsoleOutput, WORD wAttributes ); BOOL -APIENTRY +WINAPI SetConsoleCtrlHandler( PHANDLER_ROUTINE HandlerRoutine, BOOL Add ); BOOL -APIENTRY +WINAPI +GenerateConsoleCtrlEvent( + DWORD dwCtrlEvent, + DWORD dwProcessGroupId + ); + +BOOL +WINAPI AllocConsole( VOID ); BOOL -APIENTRY +WINAPI FreeConsole( VOID ); DWORD -APIENTRY +WINAPI GetConsoleTitleA( LPSTR lpConsoleTitle, DWORD nSize ); DWORD -APIENTRY +WINAPI GetConsoleTitleW( LPWSTR lpConsoleTitle, DWORD nSize @@ -557,12 +568,12 @@ GetConsoleTitleW( #endif // !UNICODE BOOL -APIENTRY +WINAPI SetConsoleTitleA( LPSTR lpConsoleTitle ); BOOL -APIENTRY +WINAPI SetConsoleTitleW( LPWSTR lpConsoleTitle ); @@ -573,6 +584,7 @@ SetConsoleTitleW( #endif // !UNICODE BOOL +WINAPI ReadConsoleA( HANDLE hConsoleInput, LPVOID lpBuffer, @@ -581,6 +593,7 @@ ReadConsoleA( LPVOID lpReserved ); BOOL +WINAPI ReadConsoleW( HANDLE hConsoleInput, LPVOID lpBuffer, @@ -595,6 +608,7 @@ ReadConsoleW( #endif // !UNICODE BOOL +WINAPI WriteConsoleA( HANDLE hConsoleOutput, CONST VOID *lpBuffer, @@ -603,6 +617,7 @@ WriteConsoleA( LPVOID lpReserved ); BOOL +WINAPI WriteConsoleW( HANDLE hConsoleOutput, CONST VOID *lpBuffer, @@ -619,7 +634,7 @@ WriteConsoleW( #define CONSOLE_TEXTMODE_BUFFER 1 HANDLE -APIENTRY +WINAPI CreateConsoleScreenBuffer( DWORD dwDesiredAccess, DWORD dwShareMode, @@ -629,17 +644,21 @@ CreateConsoleScreenBuffer( ); UINT +WINAPI GetConsoleCP( VOID ); BOOL +WINAPI SetConsoleCP( UINT wCodePageID ); UINT +WINAPI GetConsoleOutputCP( VOID ); BOOL +WINAPI SetConsoleOutputCP( UINT wCodePageID );