--- mstools/h/wincon.h 2018/08/09 18:20:33 1.1.1.2 +++ mstools/h/wincon.h 2018/08/09 18:23:07 1.1.1.4 @@ -22,6 +22,10 @@ Revision History: #ifndef _WINCON_ #define _WINCON_ +#ifdef __cplusplus +extern "C" { +#endif + typedef struct _COORD { SHORT X; SHORT Y; @@ -158,13 +162,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 +196,7 @@ BOOL // BOOL -APIENTRY +WINAPI PeekConsoleInputA( HANDLE hConsoleInput, PINPUT_RECORD lpBuffer, @@ -196,7 +204,7 @@ PeekConsoleInputA( LPDWORD lpNumberOfEventsRead ); BOOL -APIENTRY +WINAPI PeekConsoleInputW( HANDLE hConsoleInput, PINPUT_RECORD lpBuffer, @@ -204,13 +212,13 @@ PeekConsoleInputW( LPDWORD lpNumberOfEventsRead ); #ifdef UNICODE -#define PeekConsoleInput PeekConsoleInputW +#define PeekConsoleInput PeekConsoleInputW #else -#define PeekConsoleInput PeekConsoleInputA +#define PeekConsoleInput PeekConsoleInputA #endif // !UNICODE BOOL -APIENTRY +WINAPI ReadConsoleInputA( HANDLE hConsoleInput, PINPUT_RECORD lpBuffer, @@ -218,7 +226,7 @@ ReadConsoleInputA( LPDWORD lpNumberOfEventsRead ); BOOL -APIENTRY +WINAPI ReadConsoleInputW( HANDLE hConsoleInput, PINPUT_RECORD lpBuffer, @@ -226,13 +234,13 @@ ReadConsoleInputW( LPDWORD lpNumberOfEventsRead ); #ifdef UNICODE -#define ReadConsoleInput ReadConsoleInputW +#define ReadConsoleInput ReadConsoleInputW #else -#define ReadConsoleInput ReadConsoleInputA +#define ReadConsoleInput ReadConsoleInputA #endif // !UNICODE BOOL -APIENTRY +WINAPI WriteConsoleInputA( HANDLE hConsoleInput, PINPUT_RECORD lpBuffer, @@ -240,7 +248,7 @@ WriteConsoleInputA( LPDWORD lpNumberOfEventsWritten ); BOOL -APIENTRY +WINAPI WriteConsoleInputW( HANDLE hConsoleInput, PINPUT_RECORD lpBuffer, @@ -248,13 +256,13 @@ WriteConsoleInputW( LPDWORD lpNumberOfEventsWritten ); #ifdef UNICODE -#define WriteConsoleInput WriteConsoleInputW +#define WriteConsoleInput WriteConsoleInputW #else -#define WriteConsoleInput WriteConsoleInputA +#define WriteConsoleInput WriteConsoleInputA #endif // !UNICODE BOOL -APIENTRY +WINAPI ReadConsoleOutputA( HANDLE hConsoleOutput, PCHAR_INFO lpBuffer, @@ -263,7 +271,7 @@ ReadConsoleOutputA( PSMALL_RECT lpReadRegion ); BOOL -APIENTRY +WINAPI ReadConsoleOutputW( HANDLE hConsoleOutput, PCHAR_INFO lpBuffer, @@ -272,13 +280,13 @@ ReadConsoleOutputW( PSMALL_RECT lpReadRegion ); #ifdef UNICODE -#define ReadConsoleOutput ReadConsoleOutputW +#define ReadConsoleOutput ReadConsoleOutputW #else -#define ReadConsoleOutput ReadConsoleOutputA +#define ReadConsoleOutput ReadConsoleOutputA #endif // !UNICODE BOOL -APIENTRY +WINAPI WriteConsoleOutputA( HANDLE hConsoleOutput, PCHAR_INFO lpBuffer, @@ -287,7 +295,7 @@ WriteConsoleOutputA( PSMALL_RECT lpWriteRegion ); BOOL -APIENTRY +WINAPI WriteConsoleOutputW( HANDLE hConsoleOutput, PCHAR_INFO lpBuffer, @@ -296,13 +304,13 @@ WriteConsoleOutputW( PSMALL_RECT lpWriteRegion ); #ifdef UNICODE -#define WriteConsoleOutput WriteConsoleOutputW +#define WriteConsoleOutput WriteConsoleOutputW #else -#define WriteConsoleOutput WriteConsoleOutputA +#define WriteConsoleOutput WriteConsoleOutputA #endif // !UNICODE BOOL -APIENTRY +WINAPI ReadConsoleOutputCharacterA( HANDLE hConsoleOutput, LPSTR lpCharacter, @@ -311,7 +319,7 @@ ReadConsoleOutputCharacterA( LPDWORD lpNumberOfCharsRead ); BOOL -APIENTRY +WINAPI ReadConsoleOutputCharacterW( HANDLE hConsoleOutput, LPWSTR lpCharacter, @@ -320,13 +328,13 @@ ReadConsoleOutputCharacterW( LPDWORD lpNumberOfCharsRead ); #ifdef UNICODE -#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterW +#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterW #else -#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterA +#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterA #endif // !UNICODE BOOL -APIENTRY +WINAPI ReadConsoleOutputAttribute( HANDLE hConsoleOutput, LPWORD lpAttribute, @@ -336,7 +344,7 @@ ReadConsoleOutputAttribute( ); BOOL -APIENTRY +WINAPI WriteConsoleOutputCharacterA( HANDLE hConsoleOutput, LPSTR lpCharacter, @@ -345,7 +353,7 @@ WriteConsoleOutputCharacterA( LPDWORD lpNumberOfCharsWritten ); BOOL -APIENTRY +WINAPI WriteConsoleOutputCharacterW( HANDLE hConsoleOutput, LPWSTR lpCharacter, @@ -354,13 +362,13 @@ WriteConsoleOutputCharacterW( LPDWORD lpNumberOfCharsWritten ); #ifdef UNICODE -#define WriteConsoleOutputCharacter WriteConsoleOutputCharacterW +#define WriteConsoleOutputCharacter WriteConsoleOutputCharacterW #else -#define WriteConsoleOutputCharacter WriteConsoleOutputCharacterA +#define WriteConsoleOutputCharacter WriteConsoleOutputCharacterA #endif // !UNICODE BOOL -APIENTRY +WINAPI WriteConsoleOutputAttribute( HANDLE hConsoleOutput, LPWORD lpAttribute, @@ -370,7 +378,7 @@ WriteConsoleOutputAttribute( ); BOOL -APIENTRY +WINAPI FillConsoleOutputCharacterA( HANDLE hConsoleOutput, CHAR cCharacter, @@ -379,7 +387,7 @@ FillConsoleOutputCharacterA( LPDWORD lpNumberOfCharsWritten ); BOOL -APIENTRY +WINAPI FillConsoleOutputCharacterW( HANDLE hConsoleOutput, WCHAR cCharacter, @@ -388,13 +396,13 @@ FillConsoleOutputCharacterW( LPDWORD lpNumberOfCharsWritten ); #ifdef UNICODE -#define FillConsoleOutputCharacter FillConsoleOutputCharacterW +#define FillConsoleOutputCharacter FillConsoleOutputCharacterW #else -#define FillConsoleOutputCharacter FillConsoleOutputCharacterA +#define FillConsoleOutputCharacter FillConsoleOutputCharacterA #endif // !UNICODE BOOL -APIENTRY +WINAPI FillConsoleOutputAttribute( HANDLE hConsoleOutput, WORD wAttribute, @@ -404,87 +412,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 +501,7 @@ ScrollConsoleScreenBufferA( PCHAR_INFO lpFill ); BOOL -APIENTRY +WINAPI ScrollConsoleScreenBufferW( HANDLE hConsoleOutput, PSMALL_RECT lpScrollRectangle, @@ -502,13 +510,13 @@ ScrollConsoleScreenBufferW( PCHAR_INFO lpFill ); #ifdef UNICODE -#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferW +#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferW #else -#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferA +#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferA #endif // !UNICODE BOOL -APIENTRY +WINAPI SetConsoleWindowInfo( HANDLE hConsoleOutput, BOOL bAbsolute, @@ -516,63 +524,71 @@ 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 ); #ifdef UNICODE -#define GetConsoleTitle GetConsoleTitleW +#define GetConsoleTitle GetConsoleTitleW #else -#define GetConsoleTitle GetConsoleTitleA +#define GetConsoleTitle GetConsoleTitleA #endif // !UNICODE BOOL -APIENTRY +WINAPI SetConsoleTitleA( LPSTR lpConsoleTitle ); BOOL -APIENTRY +WINAPI SetConsoleTitleW( LPWSTR lpConsoleTitle ); #ifdef UNICODE -#define SetConsoleTitle SetConsoleTitleW +#define SetConsoleTitle SetConsoleTitleW #else -#define SetConsoleTitle SetConsoleTitleA +#define SetConsoleTitle SetConsoleTitleA #endif // !UNICODE BOOL +WINAPI ReadConsoleA( HANDLE hConsoleInput, LPVOID lpBuffer, @@ -581,6 +597,7 @@ ReadConsoleA( LPVOID lpReserved ); BOOL +WINAPI ReadConsoleW( HANDLE hConsoleInput, LPVOID lpBuffer, @@ -589,12 +606,13 @@ ReadConsoleW( LPVOID lpReserved ); #ifdef UNICODE -#define ReadConsole ReadConsoleW +#define ReadConsole ReadConsoleW #else -#define ReadConsole ReadConsoleA +#define ReadConsole ReadConsoleA #endif // !UNICODE BOOL +WINAPI WriteConsoleA( HANDLE hConsoleOutput, CONST VOID *lpBuffer, @@ -603,6 +621,7 @@ WriteConsoleA( LPVOID lpReserved ); BOOL +WINAPI WriteConsoleW( HANDLE hConsoleOutput, CONST VOID *lpBuffer, @@ -611,15 +630,15 @@ WriteConsoleW( LPVOID lpReserved ); #ifdef UNICODE -#define WriteConsole WriteConsoleW +#define WriteConsole WriteConsoleW #else -#define WriteConsole WriteConsoleA +#define WriteConsole WriteConsoleA #endif // !UNICODE #define CONSOLE_TEXTMODE_BUFFER 1 HANDLE -APIENTRY +WINAPI CreateConsoleScreenBuffer( DWORD dwDesiredAccess, DWORD dwShareMode, @@ -629,19 +648,27 @@ CreateConsoleScreenBuffer( ); UINT +WINAPI GetConsoleCP( VOID ); BOOL +WINAPI SetConsoleCP( UINT wCodePageID ); UINT +WINAPI GetConsoleOutputCP( VOID ); BOOL +WINAPI SetConsoleOutputCP( UINT wCodePageID ); +#ifdef __cplusplus +} +#endif + #endif // _WINCON_