--- mstools/h/winbase.h 2018/08/09 18:20:30 1.1.1.2 +++ mstools/h/winbase.h 2018/08/09 18:21:09 1.1.1.3 @@ -21,6 +21,10 @@ Revision History: #ifndef _WINBASE_ #define _WINBASE_ +#ifdef __cplusplus +extern "C" { +#endif + /* * Compatability macros */ @@ -76,6 +80,7 @@ Revision History: #define FILE_FLAG_SEQUENTIAL_SCAN 0x08000000 #define FILE_FLAG_DELETE_ON_CLOSE 0x04000000 #define FILE_FLAG_BACKUP_SEMANTICS 0x02000000 +#define FILE_FLAG_POSIX_SEMANTICS 0x01000000 #define CREATE_NEW 1 #define CREATE_ALWAYS 2 @@ -204,7 +209,7 @@ typedef struct _SYSTEMTIME { WORD wMilliseconds; } SYSTEMTIME, *PSYSTEMTIME, *LPSYSTEMTIME; -typedef DWORD (*PTHREAD_START_ROUTINE)( +typedef DWORD (WINAPI *PTHREAD_START_ROUTINE)( LPVOID lpThreadParameter ); typedef PTHREAD_START_ROUTINE LPTHREAD_START_ROUTINE; @@ -213,6 +218,10 @@ typedef RTL_CRITICAL_SECTION CRITICAL_SE typedef PRTL_CRITICAL_SECTION PCRITICAL_SECTION; typedef PRTL_CRITICAL_SECTION LPCRITICAL_SECTION; +typedef RTL_CRITICAL_SECTION_DEBUG CRITICAL_SECTION_DEBUG; +typedef PRTL_CRITICAL_SECTION_DEBUG PCRITICAL_SECTION_DEBUG; +typedef PRTL_CRITICAL_SECTION_DEBUG LPCRITICAL_SECTION_DEBUG; + #ifdef i386 typedef PLDT_ENTRY LPLDT_ENTRY; #else @@ -415,13 +424,13 @@ typedef struct _SYSTEM_INFO { DWORD dwActiveProcessorMask; DWORD dwNumberOfProcessors; DWORD dwProcessorType; - DWORD dwProcessorRevision; - DWORD dwProcessorOptions; + DWORD dwReserved1; + DWORD dwReserved2; } SYSTEM_INFO, *LPSYSTEM_INFO; #define FreeModule(hLibModule) FreeLibrary((hLibModule)) #define MakeProcInstance(lpProc,hInstance) (lpProc) -#define FreeProcInstance(lpProc) +#define FreeProcInstance(lpProc) (lpProc) /* Global Memory Flags */ #define GMEM_FIXED 0x0000 @@ -500,6 +509,9 @@ typedef struct _MEMORYSTATUS { #define NORMAL_PRIORITY_CLASS 0x00000020 #define IDLE_PRIORITY_CLASS 0x00000040 #define HIGH_PRIORITY_CLASS 0x00000080 +#define REALTIME_PRIORITY_CLASS 0x00000100 + +#define CREATE_NEW_PROCESS_GROUP 0x00000200 #define CREATE_NO_WINDOW 0x08000000 @@ -514,6 +526,9 @@ typedef struct _MEMORYSTATUS { #define THREAD_PRIORITY_ABOVE_NORMAL (THREAD_PRIORITY_HIGHEST-1) #define THREAD_PRIORITY_ERROR_RETURN (MAXLONG) +#define THREAD_PRIORITY_TIME_CRITICAL THREAD_BASE_PRIORITY_LOWRT +#define THREAD_PRIORITY_IDLE THREAD_BASE_PRIORITY_IDLE + // // Debug APIs // @@ -843,8 +858,8 @@ LockResource( int WINAPI WinMain( - HANDLE hInstance, - HANDLE hPrevInstance, + HINSTANCE hInstance, + HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd ); @@ -852,13 +867,13 @@ WinMain( BOOL WINAPI FreeLibrary( - HANDLE hLibModule + HINSTANCE hLibModule ); FARPROC WINAPI GetProcAddress( - HANDLE hModule, + HINSTANCE hModule, LPCSTR lpProcName ); @@ -1282,6 +1297,7 @@ SetLastError( #define SLE_WARNING 0x00000003 VOID +WINAPI SetLastErrorEx( DWORD dwErrCode, DWORD dwType @@ -1508,17 +1524,25 @@ Sleep( HRSRC WINAPI LoadResource( - HANDLE hModule, + HINSTANCE hModule, HRSRC hResInfo ); DWORD WINAPI SizeofResource( - HANDLE hModule, + HINSTANCE hModule, HRSRC hResInfo ); + +BOOLEAN +CloseProfileUserMapping( VOID ); + +BOOLEAN +OpenProfileUserMapping( VOID ); + + ATOM WINAPI GlobalDeleteAtom( @@ -1852,43 +1876,41 @@ SetTapePosition( HANDLE hDevice, DWORD dwPositionMethod, DWORD dwPartition, - DWORD dwOffset, - LPDWORD lpdwOffsetHigh, - LPOVERLAPPED lpOverlapped + DWORD dwOffsetLow, + DWORD dwOffsetHigh ); DWORD WINAPI GetTapePosition( HANDLE hDevice, - LPDWORD dwPartition, - LPDWORD lpdwOffsetHigh, - LPOVERLAPPED lpOverlapped + DWORD dwPositionType, + LPDWORD lpdwPartition, + LPDWORD lpdwOffsetLow, + LPDWORD lpdwOffsetHigh ); DWORD WINAPI PrepareTape( HANDLE hDevice, - DWORD dwTapeOperation, - LPOVERLAPPED lpOverlapped + DWORD dwOperation ); DWORD WINAPI EraseTape( HANDLE hDevice, - DWORD dwPartition, - DWORD dwEraseType, - LPOVERLAPPED lpOverlapped + DWORD dwEraseType ); DWORD +WINAPI CreateTapePartition( HANDLE hDevice, - DWORD dwSize, - LPVOID lpPartitionParameters, - LPOVERLAPPED lpOverlapped + DWORD dwPartitionMethod, + DWORD dwCount, + DWORD dwSize ); DWORD @@ -1896,16 +1918,13 @@ WINAPI WriteTapemark( HANDLE hDevice, DWORD dwTapemarkType, - DWORD dwTapemarkCount, - LPOVERLAPPED lpOverlapped + DWORD dwTapemarkCount ); DWORD WINAPI GetTapeStatus( - HANDLE hDevice, - LPVOID lpTapeStatus, - LPOVERLAPPED lpOverlapped + HANDLE hDevice ); DWORD @@ -1913,8 +1932,8 @@ WINAPI GetTapeParameters( HANDLE hDevice, DWORD dwOperation, - LPVOID lpTapeInformation, - LPOVERLAPPED lpOverlapped + LPDWORD lpdwSize, + LPVOID lpTapeInformation ); #define GET_TAPE_MEDIA_INFORMATION 0 @@ -1925,8 +1944,7 @@ WINAPI SetTapeParameters( HANDLE hDevice, DWORD dwOperation, - LPVOID lpTapeInformation, - LPOVERLAPPED lpOverlapped + LPVOID lpTapeInformation ); #define SET_TAPE_MEDIA_INFORMATION 0 @@ -2071,10 +2089,44 @@ SetSystemTime( VOID WINAPI +GetLocalTime( + LPSYSTEMTIME lpSystemTime + ); + +BOOL +WINAPI +SetLocalTime( + LPSYSTEMTIME lpSystemTime + ); + +VOID +WINAPI GetSystemInfo( LPSYSTEM_INFO lpSystemInfo ); +typedef struct _TIME_ZONE_INFORMATION { + LONG Bias; + WCHAR StandardName[ 32 ]; + SYSTEMTIME StandardDate; + LONG StandardBias; + WCHAR DaylightName[ 32 ]; + SYSTEMTIME DaylightDate; + LONG DaylightBias; +} TIME_ZONE_INFORMATION, *PTIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION; + + +DWORD +WINAPI +GetTimeZoneInformation( + LPTIME_ZONE_INFORMATION lpTimeZoneInformation + ); + +BOOL +WINAPI +SetTimeZoneInformation( + LPTIME_ZONE_INFORMATION lpTimeZoneInformation + ); // // Routines to convert back and forth between system time and file time @@ -2089,6 +2141,20 @@ SystemTimeToFileTime( BOOL WINAPI +FileTimeToLocalFileTime( + LPFILETIME lpFileTime, + LPFILETIME lpLocalFileTime + ); + +BOOL +WINAPI +LocalFileTimeToFileTime( + LPFILETIME lpLocalFileTime, + LPFILETIME lpFileTime + ); + +BOOL +WINAPI FileTimeToSystemTime( LPFILETIME lpFileTime, LPSYSTEMTIME lpSystemTime @@ -2125,7 +2191,7 @@ GetTickCount( DWORD WINAPI -FormatMessage( +FormatMessageA( DWORD dwFlags, LPVOID lpSource, DWORD dwMessageId, @@ -2134,6 +2200,22 @@ FormatMessage( DWORD nSize, LPVOID lpArguments ); +DWORD +WINAPI +FormatMessageW( + DWORD dwFlags, + LPVOID lpSource, + DWORD dwMessageId, + DWORD dwLanguageId, + LPWSTR lpBuffer, + DWORD nSize, + LPVOID lpArguments + ); +#ifdef UNICODE +#define FormatMessage FormatMessageW +#else +#define FormatMessage FormatMessageA +#endif // !UNICODE #define FORMAT_MESSAGE_ALLOCATE_BUFFER 0x00000100 #define FORMAT_MESSAGE_IGNORE_INSERTS 0x00000200 @@ -2440,7 +2522,7 @@ TlsFree( typedef VOID -(*LPOVERLAPPED_COMPLETION_ROUTINE)( +(WINAPI *LPOVERLAPPED_COMPLETION_ROUTINE)( DWORD dwErrorCode, DWORD dwNumberOfBytesTransfered, LPOVERLAPPED lpOverlapped @@ -2498,7 +2580,8 @@ BackupRead( LPBYTE lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, - BOOL fAbort , + BOOL bAbort, + BOOL bProcessSecurity, LPVOID *lpContext ); @@ -2509,7 +2592,8 @@ BackupWrite( LPBYTE lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten, - BOOL fAbort , + BOOL bAbort, + BOOL bProcessSecurity, LPVOID *lpContext ); @@ -2568,6 +2652,8 @@ typedef struct _STARTUPINFOW { #define LPSTARTUPINFO LPSTARTUPINFOA #endif // UNICODE +#define SHUTDOWN_NORETRY 0x00000001 + typedef struct _WIN32_FIND_DATAA { DWORD dwFileAttributes; FILETIME ftCreationTime; @@ -2602,8 +2688,6 @@ typedef struct _WIN32_FIND_DATAW { #define LPWIN32_FIND_DATA LPWIN32_FIND_DATAA #endif // UNICODE - - HANDLE WINAPI CreateMutexA( @@ -2792,12 +2876,12 @@ GetLogicalDriveStringsW( #define GetLogicalDriveStrings GetLogicalDriveStringsA #endif // !UNICODE -HANDLE +HINSTANCE WINAPI LoadLibraryA( LPCSTR lpLibFileName ); -HANDLE +HINSTANCE WINAPI LoadLibraryW( LPCWSTR lpLibFileName @@ -2808,17 +2892,40 @@ LoadLibraryW( #define LoadLibrary LoadLibraryA #endif // !UNICODE +HINSTANCE +WINAPI +LoadLibraryExA( + LPCSTR lpLibFileName, + HANDLE hFile, + DWORD dwFlags + ); +HINSTANCE +WINAPI +LoadLibraryExW( + LPCWSTR lpLibFileName, + HANDLE hFile, + DWORD dwFlags + ); +#ifdef UNICODE +#define LoadLibraryEx LoadLibraryExW +#else +#define LoadLibraryEx LoadLibraryExA +#endif // !UNICODE + +#define DONT_RESOLVE_DLL_REFERENCES 0x00000001 + + DWORD WINAPI GetModuleFileNameA( - HANDLE hModule, + HINSTANCE hModule, LPSTR lpFilename, DWORD nSize ); DWORD WINAPI GetModuleFileNameW( - HANDLE hModule, + HINSTANCE hModule, LPWSTR lpFilename, DWORD nSize ); @@ -2828,12 +2935,12 @@ GetModuleFileNameW( #define GetModuleFileName GetModuleFileNameA #endif // !UNICODE -HANDLE +HMODULE WINAPI GetModuleHandleA( LPCSTR lpModuleName ); -HANDLE +HMODULE WINAPI GetModuleHandleW( LPCWSTR lpModuleName @@ -2878,6 +2985,20 @@ CreateProcessW( #define CreateProcess CreateProcessA #endif // !UNICODE +BOOL +WINAPI +SetProcessShutdownParameters( + DWORD dwLevel, + DWORD dwFlags + ); + +BOOL +WINAPI +GetProcessShutdownParameters( + LPDWORD lpdwLevel, + LPDWORD lpdwFlags + ); + VOID WINAPI FatalAppExitA( @@ -3005,14 +3126,14 @@ OutputDebugStringW( HRSRC WINAPI FindResourceA( - HANDLE hModule, + HINSTANCE hModule, LPCSTR lpName, LPCSTR lpType ); HRSRC WINAPI FindResourceW( - HANDLE hModule, + HINSTANCE hModule, LPCWSTR lpName, LPCWSTR lpType ); @@ -3025,7 +3146,7 @@ FindResourceW( HRSRC WINAPI FindResourceExA( - HANDLE hModule, + HINSTANCE hModule, LPCSTR lpType, LPCSTR lpName, WORD wLanguage @@ -3033,7 +3154,7 @@ FindResourceExA( HRSRC WINAPI FindResourceExW( - HANDLE hModule, + HINSTANCE hModule, LPCWSTR lpType, LPCWSTR lpName, WORD wLanguage @@ -3045,11 +3166,11 @@ FindResourceExW( #endif // !UNICODE #ifdef STRICT -typedef BOOL (CALLBACK* ENUMRESTYPEPROC)(HANDLE hModule, LPTSTR lpType, +typedef BOOL (CALLBACK* ENUMRESTYPEPROC)(HINSTANCE hModule, LPTSTR lpType, LONG lParam); -typedef BOOL (CALLBACK* ENUMRESNAMEPROC)(HANDLE hModule, LPCTSTR lpType, +typedef BOOL (CALLBACK* ENUMRESNAMEPROC)(HINSTANCE hModule, LPCTSTR lpType, LPTSTR lpName, LONG lParam); -typedef BOOL (CALLBACK* ENUMRESLANGPROC)(HANDLE hModule, LPCTSTR lpType, +typedef BOOL (CALLBACK* ENUMRESLANGPROC)(HINSTANCE hModule, LPCTSTR lpType, LPCTSTR lpName, WORD wLanguage, LONG lParam); #else typedef FARPROC ENUMRESTYPEPROC; @@ -3060,14 +3181,14 @@ typedef FARPROC ENUMRESLANGPROC; BOOL WINAPI EnumResourceTypesA( - HANDLE hModule, + HINSTANCE hModule, ENUMRESTYPEPROC lpEnumFunc, LONG lParam ); BOOL WINAPI EnumResourceTypesW( - HANDLE hModule, + HINSTANCE hModule, ENUMRESTYPEPROC lpEnumFunc, LONG lParam ); @@ -3081,7 +3202,7 @@ EnumResourceTypesW( BOOL WINAPI EnumResourceNamesA( - HANDLE hModule, + HINSTANCE hModule, LPCSTR lpType, ENUMRESNAMEPROC lpEnumFunc, LONG lParam @@ -3089,7 +3210,7 @@ EnumResourceNamesA( BOOL WINAPI EnumResourceNamesW( - HANDLE hModule, + HINSTANCE hModule, LPCWSTR lpType, ENUMRESNAMEPROC lpEnumFunc, LONG lParam @@ -3103,7 +3224,7 @@ EnumResourceNamesW( BOOL WINAPI EnumResourceLanguagesA( - HANDLE hModule, + HINSTANCE hModule, LPCSTR lpType, LPCSTR lpName, ENUMRESLANGPROC lpEnumFunc, @@ -3112,7 +3233,7 @@ EnumResourceLanguagesA( BOOL WINAPI EnumResourceLanguagesW( - HANDLE hModule, + HINSTANCE hModule, LPCWSTR lpType, LPCWSTR lpName, ENUMRESLANGPROC lpEnumFunc, @@ -3127,12 +3248,14 @@ EnumResourceLanguagesW( HANDLE WINAPI BeginUpdateResourceA( - LPSTR pFileName + LPSTR pFileName, + BOOL bDeleteExistingResources ); HANDLE WINAPI BeginUpdateResourceW( - LPWSTR pFileName + LPWSTR pFileName, + BOOL bDeleteExistingResources ); #ifdef UNICODE #define BeginUpdateResource BeginUpdateResourceW @@ -3889,6 +4012,30 @@ MoveFileW( #define MoveFile MoveFileA #endif // !UNICODE +BOOL +WINAPI +MoveFileExA( + LPSTR lpExistingFileName, + LPSTR lpNewFileName, + DWORD dwFlags + ); +BOOL +WINAPI +MoveFileExW( + LPWSTR lpExistingFileName, + LPWSTR lpNewFileName, + DWORD dwFlags + ); +#ifdef UNICODE +#define MoveFileEx MoveFileExW +#else +#define MoveFileEx MoveFileExA +#endif // !UNICODE + +#define MOVEFILE_REPLACE_EXISTING 0x00000001 +#define MOVEFILE_COPY_ALLOWED 0x00000002 +#define MOVEFILE_DELAY_UNTIL_REBOOT 0x00000004 + HANDLE WINAPI CreateNamedPipeA( @@ -5208,7 +5355,7 @@ BuildCommDCBW( #define BuildCommDCB BuildCommDCBA #endif // !UNICODE -#define MAX_COMPUTERNAME_LENGTH 80 +#define MAX_COMPUTERNAME_LENGTH 15 BOOL WINAPI @@ -5293,4 +5440,8 @@ QueryPerformanceFrequency( #define TC_GP_TRAP 2 #define TC_SIGNAL 3 +#ifdef __cplusplus +} +#endif + #endif // _WINBASE_