--- mstools/h/winbase.h 2018/08/09 18:20:30 1.1.1.2 +++ mstools/h/winbase.h 2018/08/09 18:23:04 1.1.1.4 @@ -21,6 +21,10 @@ Revision History: #ifndef _WINBASE_ #define _WINBASE_ +#ifdef __cplusplus +extern "C" { +#endif + /* * Compatability macros */ @@ -35,10 +39,15 @@ Revision History: #define Yield() #define INVALID_HANDLE_VALUE (HANDLE)-1 +#define INVALID_FILE_SIZE (DWORD)0xFFFFFFFF + #define FILE_BEGIN 0 #define FILE_CURRENT 1 #define FILE_END 2 +#define TIME_ZONE_ID_INVALID (DWORD)0xFFFFFFFF + +#define WAIT_FAILED (DWORD)0xFFFFFFFF #define WAIT_OBJECT_0 ((STATUS_WAIT_0 ) + 0 ) #define WAIT_ABANDONED ((STATUS_ABANDONED_WAIT_0 ) + 0 ) @@ -62,7 +71,16 @@ Revision History: #define EXCEPTION_INT_DIVIDE_BY_ZERO STATUS_INTEGER_DIVIDE_BY_ZERO #define EXCEPTION_INT_OVERFLOW STATUS_INTEGER_OVERFLOW #define EXCEPTION_PRIV_INSTRUCTION STATUS_PRIVILEGED_INSTRUCTION +#define EXCEPTION_IN_PAGE_ERROR STATUS_IN_PAGE_ERROR +#define EXCEPTION_ILLEGAL_INSTRUCTION STATUS_ILLEGAL_INSTRUCTION +#define EXCEPTION_NONCONTINUABLE_EXCEPTION STATUS_NONCONTINUABLE_EXCEPTION +#define EXCEPTION_STACK_OVERFLOW STATUS_STACK_OVERFLOW +#define EXCEPTION_INVALID_DISPOSITION STATUS_INVALID_DISPOSITION #define CONTROL_C_EXIT STATUS_CONTROL_C_EXIT +#define MoveMemory RtlMoveMemory +#define CopyMemory RtlCopyMemory +#define FillMemory RtlFillMemory +#define ZeroMemory RtlZeroMemory // // File creation flags must start at the high end since they @@ -76,6 +94,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 @@ -136,25 +155,6 @@ Revision History: #define SECURITY_SQOS_PRESENT 0x00100000 #define SECURITY_VALID_SQOS_FLAGS 0x001F0000 - -// -// Special values for mailslot information. -// - -// -// Special value for NextMessageSize to indicate that there is no next -// message. -// - -#define MAILSLOT_NO_MESSAGE ((ULONG)-1) - -// -// Special value for read timeout to indicate that mailslot reads should -// never timeout. -// - -#define MAILSLOT_WAIT_FOREVER ((ULONG)-1) - // // File structures // @@ -204,7 +204,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,7 +213,11 @@ typedef RTL_CRITICAL_SECTION CRITICAL_SE typedef PRTL_CRITICAL_SECTION PCRITICAL_SECTION; typedef PRTL_CRITICAL_SECTION LPCRITICAL_SECTION; -#ifdef i386 +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 _X86_ typedef PLDT_ENTRY LPLDT_ENTRY; #else typedef LPVOID LPLDT_ENTRY; @@ -294,6 +298,8 @@ typedef LPVOID LPLDT_ENTRY; #define BAUD_38400 ((DWORD)0x00004000) #define BAUD_56K ((DWORD)0x00008000) #define BAUD_128K ((DWORD)0x00010000) +#define BAUD_115200 ((DWORD)0x00020000) +#define BAUD_57600 ((DWORD)0x00040000) #define BAUD_USER ((DWORD)0x10000000) // @@ -349,7 +355,7 @@ typedef struct _COMSTAT { DWORD fXoffSent : 1; DWORD fEof : 1; DWORD fTxim : 1; - DWORD fReserved : 17; + DWORD fReserved : 25; DWORD cbInQue; DWORD cbOutQue; } COMSTAT, *LPCOMSTAT; @@ -385,7 +391,7 @@ typedef struct _DCB { DWORD fNull: 1; /* Enable Null stripping */ DWORD fRtsControl:2; /* Rts Flow control */ DWORD fAbortOnError:1; /* Abort all reads and writes on Error */ - DWORD fDummy2:1; /* Reserved */ + DWORD fDummy2:17; /* Reserved */ WORD wReserved; /* Not currently used */ WORD XonLim; /* Transmit X-ON threshold */ WORD XoffLim; /* Transmit X-OFF threshold */ @@ -415,13 +421,13 @@ typedef struct _SYSTEM_INFO { DWORD dwActiveProcessorMask; DWORD dwNumberOfProcessors; DWORD dwProcessorType; - DWORD dwProcessorRevision; - DWORD dwProcessorOptions; + DWORD dwAllocationGranularity; + DWORD dwReserved; } 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 +506,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 +523,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 // @@ -534,6 +546,7 @@ typedef struct _EXCEPTION_DEBUG_INFO { typedef struct _CREATE_THREAD_DEBUG_INFO { HANDLE hThread; + LPVOID lpThreadLocalBase; LPTHREAD_START_ROUTINE lpStartAddress; } CREATE_THREAD_DEBUG_INFO, *LPCREATE_THREAD_DEBUG_INFO; @@ -544,7 +557,10 @@ typedef struct _CREATE_PROCESS_DEBUG_INF LPVOID lpBaseOfImage; DWORD dwDebugInfoFileOffset; DWORD nDebugInfoSize; + LPVOID lpThreadLocalBase; LPTHREAD_START_ROUTINE lpStartAddress; + LPVOID lpImageName; + WORD fUnicode; } CREATE_PROCESS_DEBUG_INFO, *LPCREATE_PROCESS_DEBUG_INFO; typedef struct _EXIT_THREAD_DEBUG_INFO { @@ -560,6 +576,8 @@ typedef struct _LOAD_DLL_DEBUG_INFO { LPVOID lpBaseOfDll; DWORD dwDebugInfoFileOffset; DWORD nDebugInfoSize; + LPVOID lpImageName; + WORD fUnicode; } LOAD_DLL_DEBUG_INFO, *LPLOAD_DLL_DEBUG_INFO; typedef struct _UNLOAD_DLL_DEBUG_INFO { @@ -648,6 +666,8 @@ typedef PEXCEPTION_POINTERS LPEXCEPTION_ #define CBR_19200 19200 #define CBR_38400 38400 #define CBR_56000 56000 +#define CBR_57600 57600 +#define CBR_115200 115200 #define CBR_128000 128000 #define CBR_256000 256000 @@ -779,7 +799,9 @@ typedef PEXCEPTION_POINTERS LPEXCEPTION_ #define FS_CASE_IS_PRESERVED FILE_CASE_PRESERVED_NAMES #define FS_CASE_SENSITIVE FILE_CASE_SENSITIVE_SEARCH #define FS_UNICODE_STORED_ON_DISK FILE_UNICODE_ON_DISK +#define FS_PERSISTENT_ACLS FILE_PERSISTENT_ACLS +#define FILE_MAP_COPY SECTION_QUERY #define FILE_MAP_WRITE SECTION_MAP_WRITE #define FILE_MAP_READ SECTION_MAP_READ #define FILE_MAP_ALL_ACCESS SECTION_ALL_ACCESS @@ -808,9 +830,22 @@ typedef struct _OFSTRUCT { WORD nErrCode; WORD Reserved1; WORD Reserved2; - BYTE szPathName[OFS_MAXPATHNAME]; + CHAR szPathName[OFS_MAXPATHNAME]; } OFSTRUCT, *LPOFSTRUCT, *POFSTRUCT; +// +// The MS-MIPS compiler supports intrinsic functions for interlocked +// increment, decrement, and exchange. +// + +#if defined(_M_MRX000) && !defined(RC_INVOKED) + +#define InterlockedIncrement _InterlockedIncrement +#define InterlockedDecrement _InterlockedDecrement +#define InterlockedExchange _InterlockedExchange + +#endif + LONG WINAPI InterlockedIncrement( @@ -823,6 +858,21 @@ InterlockedDecrement( LPLONG lpAddend ); +LONG +WINAPI +InterlockedExchange( + LPLONG Target, + LONG Value + ); + +#if defined(_M_MRX000) && !defined(RC_INVOKED) + +#pragma intrinsic(_InterlockedIncrement) +#pragma intrinsic(_InterlockedDecrement) +#pragma intrinsic(_InterlockedExchange) + +#endif + BOOL WINAPI FreeResource( @@ -843,8 +893,8 @@ LockResource( int WINAPI WinMain( - HANDLE hInstance, - HANDLE hPrevInstance, + HINSTANCE hInstance, + HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd ); @@ -852,13 +902,13 @@ WinMain( BOOL WINAPI FreeLibrary( - HANDLE hLibModule + HINSTANCE hLibModule ); FARPROC WINAPI GetProcAddress( - HANDLE hModule, + HINSTANCE hModule, LPCSTR lpProcName ); @@ -904,7 +954,7 @@ GlobalLock( HGLOBAL WINAPI GlobalHandle( - LPVOID pMem + LPCVOID pMem ); @@ -981,7 +1031,7 @@ LocalLock( HLOCAL WINAPI LocalHandle( - LPVOID pMem + LPCVOID pMem ); BOOL @@ -1025,7 +1075,7 @@ BOOL WINAPI FlushInstructionCache( HANDLE hProcess, - LPVOID lpBaseAddress, + LPCVOID lpBaseAddress, DWORD dwSize ); @@ -1058,7 +1108,7 @@ VirtualProtect( DWORD WINAPI VirtualQuery( - LPVOID lpAddress, + LPCVOID lpAddress, PMEMORY_BASIC_INFORMATION lpBuffer, DWORD dwLength ); @@ -1077,7 +1127,7 @@ DWORD WINAPI VirtualQueryEx( HANDLE hProcess, - LPVOID lpAddress, + LPCVOID lpAddress, PMEMORY_BASIC_INFORMATION lpBuffer, DWORD dwLength ); @@ -1096,10 +1146,20 @@ HeapDestroy( HANDLE hHeap ); -LPSTR +LPVOID WINAPI HeapAlloc( HANDLE hHeap, + DWORD dwFlags, + DWORD dwBytes + ); + +LPVOID +WINAPI +HeapReAlloc( + HANDLE hHeap, + DWORD dwFlags, + LPVOID lpMem, DWORD dwBytes ); @@ -1107,16 +1167,31 @@ BOOL WINAPI HeapFree( HANDLE hHeap, - LPSTR lpMem + DWORD dwFlags, + LPVOID lpMem ); DWORD WINAPI HeapSize( HANDLE hHeap, - LPSTR lpMem + DWORD dwFlags, + LPCVOID lpMem ); +HANDLE +WINAPI +GetProcessHeap( VOID ); + +BOOL +WINAPI +GetProcessTimes( + HANDLE hProcess, + LPFILETIME lpCreationTime, + LPFILETIME lpExitTime, + LPFILETIME lpKernelTime, + LPFILETIME lpUserTime + ); HANDLE WINAPI @@ -1177,15 +1252,26 @@ RaiseException( DWORD dwExceptionCode, DWORD dwExceptionFlags, DWORD nNumberOfArguments, - LPDWORD lpArguments + CONST DWORD *lpArguments ); -EXCEPTION_DISPOSITION +LONG WINAPI UnhandledExceptionFilter( struct _EXCEPTION_POINTERS *ExceptionInfo ); +typedef LONG (WINAPI *PTOP_LEVEL_EXCEPTION_FILTER)( + struct _EXCEPTION_POINTERS *ExceptionInfo + ); +typedef PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER; + +LPTOP_LEVEL_EXCEPTION_FILTER +WINAPI +SetUnhandledExceptionFilter( + LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter + ); + HANDLE WINAPI CreateThread( @@ -1234,6 +1320,16 @@ GetThreadPriority( HANDLE hThread ); +BOOL +WINAPI +GetThreadTimes( + HANDLE hThread, + LPFILETIME lpCreationTime, + LPFILETIME lpExitTime, + LPFILETIME lpKernelTime, + LPFILETIME lpUserTime + ); + VOID WINAPI ExitThread( @@ -1274,6 +1370,7 @@ SetLastError( DWORD dwErrCode ); + // // SetLastErrorEx() types. // @@ -1282,6 +1379,7 @@ SetLastError( #define SLE_WARNING 0x00000003 VOID +WINAPI SetLastErrorEx( DWORD dwErrCode, DWORD dwType @@ -1317,7 +1415,7 @@ BOOL WINAPI ReadProcessMemory( HANDLE hProcess, - LPVOID lpBaseAddress, + LPCVOID lpBaseAddress, LPVOID lpBuffer, DWORD nSize, LPDWORD lpNumberOfBytesRead @@ -1344,7 +1442,7 @@ BOOL WINAPI SetThreadContext( HANDLE hThread, - LPCONTEXT lpContext + CONST CONTEXT *lpContext ); DWORD @@ -1386,47 +1484,6 @@ DebugActiveProcess( DWORD dwProcessId ); -HANDLE -WINAPI -DebugSnapShotProcessHeaps( - DWORD dwProcessId - ); - -typedef struct _DEBUG_HEAP_BACKTRACE { - DWORD Depth; - DWORD ReturnAddresses[ 1 ]; -} DEBUG_HEAP_BACKTRACE, *PDEBUG_HEAP_BACKTRACE; - -typedef struct _DEBUG_HEAP_ALLOCATOR { - DWORD TotalBytesAllocated; - DWORD OffsetToBackTrace; -} DEBUG_HEAP_ALLOCATOR, *PDEBUG_HEAP_ALLOCATOR; - -typedef struct _DEBUG_HEAP_ENTRY { - DWORD Address; - USHORT Size; - USHORT Allocator; -} DEBUG_HEAP_ENTRY, *PDEBUG_HEAP_ENTRY; - -#define DEBUG_HEAP_ENTRY_FREE (USHORT)-1 - -typedef struct _DEBUG_HEAP_INFO { - USHORT Creator; - USHORT HeaderSizeLog2; - USHORT ReservedPages; - USHORT CommittedPages; - USHORT AllocatorReservedPages; - USHORT AllocatorCommittedPages; - DWORD NumberOfEntries; - DEBUG_HEAP_ENTRY Entries[ 1 ]; -} DEBUG_HEAP_INFO, *PDEBUG_HEAP_INFO; - -typedef struct _DEBUG_HEAP_DUMP { - DWORD OffsetToAllocatorTable; - DWORD NumberOfHeaps; - DEBUG_HEAP_INFO HeapInfo[ 1 ]; -} DEBUG_HEAP_DUMP, *PDEBUG_HEAP_DUMP; - VOID WINAPI InitializeCriticalSection( @@ -1494,7 +1551,7 @@ DWORD WINAPI WaitForMultipleObjects( DWORD nCount, - LPHANDLE lpHandles, + CONST HANDLE *lpHandles, BOOL bWaitAll, DWORD dwMilliseconds ); @@ -1505,20 +1562,21 @@ Sleep( DWORD dwMilliseconds ); -HRSRC +HGLOBAL WINAPI LoadResource( - HANDLE hModule, + HINSTANCE hModule, HRSRC hResInfo ); DWORD WINAPI SizeofResource( - HANDLE hModule, + HINSTANCE hModule, HRSRC hResInfo ); + ATOM WINAPI GlobalDeleteAtom( @@ -1569,6 +1627,30 @@ UnlockFile( DWORD nNumberOfBytesToUnlockHigh ); +BOOL +WINAPI +LockFileEx( + HANDLE hFile, + DWORD dwFlags, + DWORD dwReserved, + DWORD nNumberOfBytesToLockLow, + DWORD nNumberOfBytesToLockHigh, + LPOVERLAPPED lpOverlapped + ); + +#define LOCKFILE_FAIL_IMMEDIATELY 0x00000001 +#define LOCKFILE_EXCLUSIVE_LOCK 0x00000002 + +BOOL +WINAPI +UnlockFileEx( + HANDLE hFile, + DWORD dwReserved, + DWORD nNumberOfBytesToUnlockLow, + DWORD nNumberOfBytesToUnlockHigh, + LPOVERLAPPED lpOverlapped + ); + typedef struct _BY_HANDLE_FILE_INFORMATION { DWORD dwFileAttributes; FILETIME ftCreationTime; @@ -1619,7 +1701,7 @@ BOOL WINAPI WriteFile( HANDLE hFile, - CONST VOID *lpBuffer, + LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten, LPOVERLAPPED lpOverlapped @@ -1688,9 +1770,9 @@ BOOL WINAPI SetFileTime( HANDLE hFile, - LPFILETIME lpCreationTime, - LPFILETIME lpLastAccessTime, - LPFILETIME lpLastWriteTime + CONST FILETIME *lpCreationTime, + CONST FILETIME *lpLastAccessTime, + CONST FILETIME *lpLastWriteTime ); BOOL @@ -1711,6 +1793,8 @@ DuplicateHandle( DWORD dwOptions ); +#define HINSTANCE_ERROR 32 + DWORD WINAPI LoadModule( @@ -1734,6 +1818,14 @@ BuildCommDCB( BOOL WINAPI +BuildCommDCBAndTimeouts( + LPSTR lpDef, + LPDCB lpDCB, + LPCOMMTIMEOUTS lpCommTimeouts + ); + +BOOL +WINAPI ClearCommBreak( HANDLE hFile ); @@ -1852,43 +1944,44 @@ SetTapePosition( HANDLE hDevice, DWORD dwPositionMethod, DWORD dwPartition, - DWORD dwOffset, - LPDWORD lpdwOffsetHigh, - LPOVERLAPPED lpOverlapped + DWORD dwOffsetLow, + DWORD dwOffsetHigh, + BOOL bImmediate ); 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, + BOOL bImmediate ); DWORD WINAPI EraseTape( HANDLE hDevice, - DWORD dwPartition, DWORD dwEraseType, - LPOVERLAPPED lpOverlapped + BOOL bImmediate ); DWORD +WINAPI CreateTapePartition( HANDLE hDevice, - DWORD dwSize, - LPVOID lpPartitionParameters, - LPOVERLAPPED lpOverlapped + DWORD dwPartitionMethod, + DWORD dwCount, + DWORD dwSize ); DWORD @@ -1897,15 +1990,13 @@ WriteTapemark( HANDLE hDevice, DWORD dwTapemarkType, DWORD dwTapemarkCount, - LPOVERLAPPED lpOverlapped + BOOL bImmediate ); DWORD WINAPI GetTapeStatus( - HANDLE hDevice, - LPVOID lpTapeStatus, - LPOVERLAPPED lpOverlapped + HANDLE hDevice ); DWORD @@ -1913,8 +2004,8 @@ WINAPI GetTapeParameters( HANDLE hDevice, DWORD dwOperation, - LPVOID lpTapeInformation, - LPOVERLAPPED lpOverlapped + LPDWORD lpdwSize, + LPVOID lpTapeInformation ); #define GET_TAPE_MEDIA_INFORMATION 0 @@ -1925,8 +2016,7 @@ WINAPI SetTapeParameters( HANDLE hDevice, DWORD dwOperation, - LPVOID lpTapeInformation, - LPOVERLAPPED lpOverlapped + LPVOID lpTapeInformation ); #define SET_TAPE_MEDIA_INFORMATION 0 @@ -2066,15 +2156,49 @@ GetSystemTime( BOOL WINAPI SetSystemTime( + CONST SYSTEMTIME *lpSystemTime + ); + +VOID +WINAPI +GetLocalTime( LPSYSTEMTIME lpSystemTime ); +BOOL +WINAPI +SetLocalTime( + CONST SYSTEMTIME *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( + CONST TIME_ZONE_INFORMATION *lpTimeZoneInformation + ); // // Routines to convert back and forth between system time and file time @@ -2083,28 +2207,42 @@ GetSystemInfo( BOOL WINAPI SystemTimeToFileTime( - LPSYSTEMTIME lpSystemTime, + CONST SYSTEMTIME *lpSystemTime, + LPFILETIME lpFileTime + ); + +BOOL +WINAPI +FileTimeToLocalFileTime( + CONST FILETIME *lpFileTime, + LPFILETIME lpLocalFileTime + ); + +BOOL +WINAPI +LocalFileTimeToFileTime( + CONST FILETIME *lpLocalFileTime, LPFILETIME lpFileTime ); BOOL WINAPI FileTimeToSystemTime( - LPFILETIME lpFileTime, + CONST FILETIME *lpFileTime, LPSYSTEMTIME lpSystemTime ); LONG WINAPI CompareFileTime( - LPFILETIME lpFileTime1, - LPFILETIME lpFileTime2 + CONST FILETIME *lpFileTime1, + CONST FILETIME *lpFileTime2 ); BOOL WINAPI FileTimeToDosDateTime( - LPFILETIME lpFileTime, + CONST FILETIME *lpFileTime, LPWORD lpFatDate, LPWORD lpFatTime ); @@ -2125,21 +2263,38 @@ GetTickCount( DWORD WINAPI -FormatMessage( +FormatMessageA( DWORD dwFlags, - LPVOID lpSource, + LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, LPSTR lpBuffer, DWORD nSize, - LPVOID lpArguments + va_list *Arguments ); +DWORD +WINAPI +FormatMessageW( + DWORD dwFlags, + LPCVOID lpSource, + DWORD dwMessageId, + DWORD dwLanguageId, + LPWSTR lpBuffer, + DWORD nSize, + va_list *Arguments + ); +#ifdef UNICODE +#define FormatMessage FormatMessageW +#else +#define FormatMessage FormatMessageA +#endif // !UNICODE #define FORMAT_MESSAGE_ALLOCATE_BUFFER 0x00000100 #define FORMAT_MESSAGE_IGNORE_INSERTS 0x00000200 #define FORMAT_MESSAGE_FROM_STRING 0x00000400 #define FORMAT_MESSAGE_FROM_HMODULE 0x00000800 #define FORMAT_MESSAGE_FROM_SYSTEM 0x00001000 +#define FORMAT_MESSAGE_ARGUMENT_ARRAY 0x00002000 #define FORMAT_MESSAGE_MAX_WIDTH_MASK 0x000000FF @@ -2210,7 +2365,7 @@ TransactNamedPipe( HANDLE WINAPI CreateMailslotA( - LPSTR lpName, + LPCSTR lpName, DWORD nMaxMessageSize, DWORD lReadTimeout, LPSECURITY_ATTRIBUTES lpSecurityAttributes @@ -2218,15 +2373,15 @@ CreateMailslotA( HANDLE WINAPI CreateMailslotW( - LPWSTR lpName, + LPCWSTR lpName, DWORD nMaxMessageSize, DWORD lReadTimeout, LPSECURITY_ATTRIBUTES lpSecurityAttributes ); #ifdef UNICODE -#define CreateMailslot CreateMailslotW +#define CreateMailslot CreateMailslotW #else -#define CreateMailslot CreateMailslotA +#define CreateMailslot CreateMailslotA #endif // !UNICODE BOOL @@ -2259,7 +2414,7 @@ MapViewOfFile( BOOL WINAPI FlushViewOfFile( - LPVOID lpBaseAddress, + LPCVOID lpBaseAddress, DWORD dwNumberOfBytesToFlush ); @@ -2286,9 +2441,9 @@ lstrcmpW( LPCWSTR lpString2 ); #ifdef UNICODE -#define lstrcmp lstrcmpW +#define lstrcmp lstrcmpW #else -#define lstrcmp lstrcmpA +#define lstrcmp lstrcmpA #endif // !UNICODE int @@ -2304,9 +2459,9 @@ lstrcmpiW( LPCWSTR lpString2 ); #ifdef UNICODE -#define lstrcmpi lstrcmpiW +#define lstrcmpi lstrcmpiW #else -#define lstrcmpi lstrcmpiA +#define lstrcmpi lstrcmpiA #endif // !UNICODE LPSTR @@ -2322,9 +2477,9 @@ lstrcpyW( LPCWSTR lpString2 ); #ifdef UNICODE -#define lstrcpy lstrcpyW +#define lstrcpy lstrcpyW #else -#define lstrcpy lstrcpyA +#define lstrcpy lstrcpyA #endif // !UNICODE LPSTR @@ -2340,9 +2495,9 @@ lstrcatW( LPCWSTR lpString2 ); #ifdef UNICODE -#define lstrcat lstrcatW +#define lstrcat lstrcatW #else -#define lstrcat lstrcatA +#define lstrcat lstrcatA #endif // !UNICODE int @@ -2356,9 +2511,9 @@ lstrlenW( LPCWSTR lpString ); #ifdef UNICODE -#define lstrlen lstrlenW +#define lstrlen lstrlenW #else -#define lstrlen lstrlenA +#define lstrlen lstrlenA #endif // !UNICODE HFILE @@ -2399,6 +2554,22 @@ _lwrite( UINT uBytes ); +long +WINAPI +_hread( + HFILE hFile, + LPVOID lpBuffer, + long lBytes + ); + +long +WINAPI +_hwrite( + HFILE hFile, + LPCSTR lpBuffer, + long lBytes + ); + HFILE WINAPI _lclose( @@ -2419,6 +2590,8 @@ TlsAlloc( VOID ); +#define TLS_OUT_OF_INDEXES (DWORD)0xFFFFFFFF + LPVOID WINAPI TlsGetValue( @@ -2440,7 +2613,7 @@ TlsFree( typedef VOID -(*LPOVERLAPPED_COMPLETION_ROUTINE)( +(WINAPI *LPOVERLAPPED_COMPLETION_ROUTINE)( DWORD dwErrorCode, DWORD dwNumberOfBytesTransfered, LPOVERLAPPED lpOverlapped @@ -2465,7 +2638,7 @@ DWORD WINAPI WaitForMultipleObjectsEx( DWORD nCount, - LPHANDLE lpHandles, + CONST HANDLE *lpHandles, BOOL bWaitAll, DWORD dwMilliseconds, BOOL bAlertable @@ -2485,7 +2658,7 @@ BOOL WINAPI WriteFileEx( HANDLE hFile, - LPVOID lpBuffer, + LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPOVERLAPPED lpOverlapped, LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine @@ -2498,7 +2671,19 @@ BackupRead( LPBYTE lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, - BOOL fAbort , + BOOL bAbort, + BOOL bProcessSecurity, + LPVOID *lpContext + ); + +BOOL +WINAPI +BackupSeek( + HANDLE hFile, + DWORD dwLowBytesToSeek, + DWORD dwHighBytesToSeek, + LPDWORD lpdwLowByteSeeked, + LPDWORD lpdwHighByteSeeked, LPVOID *lpContext ); @@ -2509,11 +2694,40 @@ BackupWrite( LPBYTE lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten, - BOOL fAbort , + BOOL bAbort, + BOOL bProcessSecurity, LPVOID *lpContext ); // +// Stream id structure +// +typedef struct _WIN32_STREAM_ID { + DWORD dwStreamId ; + DWORD dwStreamAttributes ; + LARGE_INTEGER Size ; + DWORD dwStreamNameSize ; + WCHAR cStreamName[ ANYSIZE_ARRAY ] ; +} WIN32_STREAM_ID, *LPWIN32_STREAM_ID ; + +// +// Stream Ids +// + +#define BACKUP_DATA 0x00000001 +#define BACKUP_EA_DATA 0x00000002 +#define BACKUP_SECURITY_DATA 0x00000003 +#define BACKUP_ALTERNATE_DATA 0x00000004 +#define BACKUP_LINK 0x00000005 + +// +// Stream Attributes +// + +#define STREAM_MODIFIED_WHEN_READ 0x0001 +#define STREAM_CONTAINS_SECURITY 0x0002 + +// // Dual Mode API below this line. Dual Mode Structures also included. // @@ -2525,6 +2739,7 @@ BackupWrite( #define STARTF_RUNFULLSCREEN 0x00000020 // ignored for non-x86 platforms #define STARTF_FORCEONFEEDBACK 0x00000040 #define STARTF_FORCEOFFFEEDBACK 0x00000080 +#define STARTF_USESTDHANDLES 0x00000100 typedef struct _STARTUPINFOA { DWORD cb; @@ -2542,6 +2757,9 @@ typedef struct _STARTUPINFOA { WORD wShowWindow; WORD cbReserved2; LPBYTE lpReserved2; + HANDLE hStdInput; + HANDLE hStdOutput; + HANDLE hStdError; } STARTUPINFOA, *LPSTARTUPINFOA; typedef struct _STARTUPINFOW { DWORD cb; @@ -2559,15 +2777,20 @@ typedef struct _STARTUPINFOW { WORD wShowWindow; WORD cbReserved2; LPBYTE lpReserved2; + HANDLE hStdInput; + HANDLE hStdOutput; + HANDLE hStdError; } STARTUPINFOW, *LPSTARTUPINFOW; #ifdef UNICODE -#define STARTUPINFO STARTUPINFOW -#define LPSTARTUPINFO LPSTARTUPINFOW +typedef STARTUPINFOW STARTUPINFO; +typedef LPSTARTUPINFOW LPSTARTUPINFO; #else -#define STARTUPINFO STARTUPINFOA -#define LPSTARTUPINFO LPSTARTUPINFOA +typedef STARTUPINFOA STARTUPINFO; +typedef LPSTARTUPINFOA LPSTARTUPINFO; #endif // UNICODE +#define SHUTDOWN_NORETRY 0x00000001 + typedef struct _WIN32_FIND_DATAA { DWORD dwFileAttributes; FILETIME ftCreationTime; @@ -2593,35 +2816,33 @@ typedef struct _WIN32_FIND_DATAW { WCHAR cAlternateFileName[ 14 ]; } WIN32_FIND_DATAW, *PWIN32_FIND_DATAW, *LPWIN32_FIND_DATAW; #ifdef UNICODE -#define WIN32_FIND_DATA WIN32_FIND_DATAW -#define PWIN32_FIND_DATA PWIN32_FIND_DATAW -#define LPWIN32_FIND_DATA LPWIN32_FIND_DATAW -#else -#define WIN32_FIND_DATA WIN32_FIND_DATAA -#define PWIN32_FIND_DATA PWIN32_FIND_DATAA -#define LPWIN32_FIND_DATA LPWIN32_FIND_DATAA +typedef WIN32_FIND_DATAW WIN32_FIND_DATA; +typedef PWIN32_FIND_DATAW PWIN32_FIND_DATA; +typedef LPWIN32_FIND_DATAW LPWIN32_FIND_DATA; +#else +typedef WIN32_FIND_DATAA WIN32_FIND_DATA; +typedef PWIN32_FIND_DATAA PWIN32_FIND_DATA; +typedef LPWIN32_FIND_DATAA LPWIN32_FIND_DATA; #endif // UNICODE - - HANDLE WINAPI CreateMutexA( LPSECURITY_ATTRIBUTES lpMutexAttributes, BOOL bInitialOwner, - LPSTR lpName + LPCSTR lpName ); HANDLE WINAPI CreateMutexW( LPSECURITY_ATTRIBUTES lpMutexAttributes, BOOL bInitialOwner, - LPWSTR lpName + LPCWSTR lpName ); #ifdef UNICODE -#define CreateMutex CreateMutexW +#define CreateMutex CreateMutexW #else -#define CreateMutex CreateMutexA +#define CreateMutex CreateMutexA #endif // !UNICODE HANDLE @@ -2629,19 +2850,19 @@ WINAPI OpenMutexA( DWORD dwDesiredAccess, BOOL bInheritHandle, - LPSTR lpName + LPCSTR lpName ); HANDLE WINAPI OpenMutexW( DWORD dwDesiredAccess, BOOL bInheritHandle, - LPWSTR lpName + LPCWSTR lpName ); #ifdef UNICODE -#define OpenMutex OpenMutexW +#define OpenMutex OpenMutexW #else -#define OpenMutex OpenMutexA +#define OpenMutex OpenMutexA #endif // !UNICODE HANDLE @@ -2650,7 +2871,7 @@ CreateEventA( LPSECURITY_ATTRIBUTES lpEventAttributes, BOOL bManualReset, BOOL bInitialState, - LPSTR lpName + LPCSTR lpName ); HANDLE WINAPI @@ -2658,12 +2879,12 @@ CreateEventW( LPSECURITY_ATTRIBUTES lpEventAttributes, BOOL bManualReset, BOOL bInitialState, - LPWSTR lpName + LPCWSTR lpName ); #ifdef UNICODE -#define CreateEvent CreateEventW +#define CreateEvent CreateEventW #else -#define CreateEvent CreateEventA +#define CreateEvent CreateEventA #endif // !UNICODE HANDLE @@ -2671,19 +2892,19 @@ WINAPI OpenEventA( DWORD dwDesiredAccess, BOOL bInheritHandle, - LPSTR lpName + LPCSTR lpName ); HANDLE WINAPI OpenEventW( DWORD dwDesiredAccess, BOOL bInheritHandle, - LPWSTR lpName + LPCWSTR lpName ); #ifdef UNICODE -#define OpenEvent OpenEventW +#define OpenEvent OpenEventW #else -#define OpenEvent OpenEventA +#define OpenEvent OpenEventA #endif // !UNICODE HANDLE @@ -2692,7 +2913,7 @@ CreateSemaphoreA( LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, LONG lInitialCount, LONG lMaximumCount, - LPSTR lpName + LPCSTR lpName ); HANDLE WINAPI @@ -2700,12 +2921,12 @@ CreateSemaphoreW( LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, LONG lInitialCount, LONG lMaximumCount, - LPWSTR lpName + LPCWSTR lpName ); #ifdef UNICODE -#define CreateSemaphore CreateSemaphoreW +#define CreateSemaphore CreateSemaphoreW #else -#define CreateSemaphore CreateSemaphoreA +#define CreateSemaphore CreateSemaphoreA #endif // !UNICODE HANDLE @@ -2713,19 +2934,19 @@ WINAPI OpenSemaphoreA( DWORD dwDesiredAccess, BOOL bInheritHandle, - LPSTR lpName + LPCSTR lpName ); HANDLE WINAPI OpenSemaphoreW( DWORD dwDesiredAccess, BOOL bInheritHandle, - LPWSTR lpName + LPCWSTR lpName ); #ifdef UNICODE -#define OpenSemaphore OpenSemaphoreW +#define OpenSemaphore OpenSemaphoreW #else -#define OpenSemaphore OpenSemaphoreA +#define OpenSemaphore OpenSemaphoreA #endif // !UNICODE HANDLE @@ -2736,7 +2957,7 @@ CreateFileMappingA( DWORD flProtect, DWORD dwMaximumSizeHigh, DWORD dwMaximumSizeLow, - LPSTR lpName + LPCSTR lpName ); HANDLE WINAPI @@ -2746,12 +2967,12 @@ CreateFileMappingW( DWORD flProtect, DWORD dwMaximumSizeHigh, DWORD dwMaximumSizeLow, - LPWSTR lpName + LPCWSTR lpName ); #ifdef UNICODE -#define CreateFileMapping CreateFileMappingW +#define CreateFileMapping CreateFileMappingW #else -#define CreateFileMapping CreateFileMappingA +#define CreateFileMapping CreateFileMappingA #endif // !UNICODE HANDLE @@ -2759,19 +2980,19 @@ WINAPI OpenFileMappingA( DWORD dwDesiredAccess, BOOL bInheritHandle, - LPSTR lpName + LPCSTR lpName ); HANDLE WINAPI OpenFileMappingW( DWORD dwDesiredAccess, BOOL bInheritHandle, - LPWSTR lpName + LPCWSTR lpName ); #ifdef UNICODE -#define OpenFileMapping OpenFileMappingW +#define OpenFileMapping OpenFileMappingW #else -#define OpenFileMapping OpenFileMappingA +#define OpenFileMapping OpenFileMappingA #endif // !UNICODE DWORD @@ -2787,61 +3008,84 @@ GetLogicalDriveStringsW( LPWSTR lpBuffer ); #ifdef UNICODE -#define GetLogicalDriveStrings GetLogicalDriveStringsW +#define GetLogicalDriveStrings GetLogicalDriveStringsW #else -#define GetLogicalDriveStrings GetLogicalDriveStringsA +#define GetLogicalDriveStrings GetLogicalDriveStringsA #endif // !UNICODE -HANDLE +HINSTANCE WINAPI LoadLibraryA( LPCSTR lpLibFileName ); -HANDLE +HINSTANCE WINAPI LoadLibraryW( LPCWSTR lpLibFileName ); #ifdef UNICODE -#define LoadLibrary LoadLibraryW +#define LoadLibrary LoadLibraryW +#else +#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 LoadLibrary LoadLibraryA +#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 ); #ifdef UNICODE -#define GetModuleFileName GetModuleFileNameW +#define GetModuleFileName GetModuleFileNameW #else -#define GetModuleFileName GetModuleFileNameA +#define GetModuleFileName GetModuleFileNameA #endif // !UNICODE -HANDLE +HMODULE WINAPI GetModuleHandleA( LPCSTR lpModuleName ); -HANDLE +HMODULE WINAPI GetModuleHandleW( LPCWSTR lpModuleName ); #ifdef UNICODE -#define GetModuleHandle GetModuleHandleW +#define GetModuleHandle GetModuleHandleW #else -#define GetModuleHandle GetModuleHandleA +#define GetModuleHandle GetModuleHandleA #endif // !UNICODE BOOL @@ -2854,7 +3098,7 @@ CreateProcessA( BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, - LPSTR lpCurrentDirectory, + LPCSTR lpCurrentDirectory, LPSTARTUPINFOA lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation ); @@ -2868,16 +3112,30 @@ CreateProcessW( BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, - LPWSTR lpCurrentDirectory, + LPCWSTR lpCurrentDirectory, LPSTARTUPINFOW lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation ); #ifdef UNICODE -#define CreateProcess CreateProcessW +#define CreateProcess CreateProcessW #else -#define CreateProcess CreateProcessA +#define CreateProcess CreateProcessA #endif // !UNICODE +BOOL +WINAPI +SetProcessShutdownParameters( + DWORD dwLevel, + DWORD dwFlags + ); + +BOOL +WINAPI +GetProcessShutdownParameters( + LPDWORD lpdwLevel, + LPDWORD lpdwFlags + ); + VOID WINAPI FatalAppExitA( @@ -2891,9 +3149,9 @@ FatalAppExitW( LPCWSTR lpMessageText ); #ifdef UNICODE -#define FatalAppExit FatalAppExitW +#define FatalAppExit FatalAppExitW #else -#define FatalAppExit FatalAppExitA +#define FatalAppExit FatalAppExitA #endif // !UNICODE VOID @@ -2907,9 +3165,9 @@ GetStartupInfoW( LPSTARTUPINFOW lpStartupInfo ); #ifdef UNICODE -#define GetStartupInfo GetStartupInfoW +#define GetStartupInfo GetStartupInfoW #else -#define GetStartupInfo GetStartupInfoA +#define GetStartupInfo GetStartupInfoA #endif // !UNICODE LPSTR @@ -2923,47 +3181,47 @@ GetCommandLineW( VOID ); #ifdef UNICODE -#define GetCommandLine GetCommandLineW +#define GetCommandLine GetCommandLineW #else -#define GetCommandLine GetCommandLineA +#define GetCommandLine GetCommandLineA #endif // !UNICODE DWORD WINAPI GetEnvironmentVariableA( - LPSTR lpName, + LPCSTR lpName, LPSTR lpBuffer, DWORD nSize ); DWORD WINAPI GetEnvironmentVariableW( - LPWSTR lpName, + LPCWSTR lpName, LPWSTR lpBuffer, DWORD nSize ); #ifdef UNICODE -#define GetEnvironmentVariable GetEnvironmentVariableW +#define GetEnvironmentVariable GetEnvironmentVariableW #else -#define GetEnvironmentVariable GetEnvironmentVariableA +#define GetEnvironmentVariable GetEnvironmentVariableA #endif // !UNICODE BOOL WINAPI SetEnvironmentVariableA( - LPSTR lpName, - LPSTR lpValue + LPCSTR lpName, + LPCSTR lpValue ); BOOL WINAPI SetEnvironmentVariableW( - LPWSTR lpName, - LPWSTR lpValue + LPCWSTR lpName, + LPCWSTR lpValue ); #ifdef UNICODE -#define SetEnvironmentVariable SetEnvironmentVariableW +#define SetEnvironmentVariable SetEnvironmentVariableW #else -#define SetEnvironmentVariable SetEnvironmentVariableA +#define SetEnvironmentVariable SetEnvironmentVariableA #endif // !UNICODE DWORD @@ -2981,9 +3239,9 @@ ExpandEnvironmentStringsW( DWORD nSize ); #ifdef UNICODE -#define ExpandEnvironmentStrings ExpandEnvironmentStringsW +#define ExpandEnvironmentStrings ExpandEnvironmentStringsW #else -#define ExpandEnvironmentStrings ExpandEnvironmentStringsA +#define ExpandEnvironmentStrings ExpandEnvironmentStringsA #endif // !UNICODE VOID @@ -2997,35 +3255,35 @@ OutputDebugStringW( LPCWSTR lpOutputString ); #ifdef UNICODE -#define OutputDebugString OutputDebugStringW +#define OutputDebugString OutputDebugStringW #else -#define OutputDebugString OutputDebugStringA +#define OutputDebugString OutputDebugStringA #endif // !UNICODE HRSRC WINAPI FindResourceA( - HANDLE hModule, + HINSTANCE hModule, LPCSTR lpName, LPCSTR lpType ); HRSRC WINAPI FindResourceW( - HANDLE hModule, + HINSTANCE hModule, LPCWSTR lpName, LPCWSTR lpType ); #ifdef UNICODE -#define FindResource FindResourceW +#define FindResource FindResourceW #else -#define FindResource FindResourceA +#define FindResource FindResourceA #endif // !UNICODE HRSRC WINAPI FindResourceExA( - HANDLE hModule, + HINSTANCE hModule, LPCSTR lpType, LPCSTR lpName, WORD wLanguage @@ -3033,23 +3291,23 @@ FindResourceExA( HRSRC WINAPI FindResourceExW( - HANDLE hModule, + HINSTANCE hModule, LPCWSTR lpType, LPCWSTR lpName, WORD wLanguage ); #ifdef UNICODE -#define FindResourceEx FindResourceExW +#define FindResourceEx FindResourceExW #else -#define FindResourceEx FindResourceExA +#define FindResourceEx FindResourceExA #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,28 +3318,28 @@ 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 ); #ifdef UNICODE -#define EnumResourceTypes EnumResourceTypesW +#define EnumResourceTypes EnumResourceTypesW #else -#define EnumResourceTypes EnumResourceTypesA +#define EnumResourceTypes EnumResourceTypesA #endif // !UNICODE BOOL WINAPI EnumResourceNamesA( - HANDLE hModule, + HINSTANCE hModule, LPCSTR lpType, ENUMRESNAMEPROC lpEnumFunc, LONG lParam @@ -3089,21 +3347,21 @@ EnumResourceNamesA( BOOL WINAPI EnumResourceNamesW( - HANDLE hModule, + HINSTANCE hModule, LPCWSTR lpType, ENUMRESNAMEPROC lpEnumFunc, LONG lParam ); #ifdef UNICODE -#define EnumResourceNames EnumResourceNamesW +#define EnumResourceNames EnumResourceNamesW #else -#define EnumResourceNames EnumResourceNamesA +#define EnumResourceNames EnumResourceNamesA #endif // !UNICODE BOOL WINAPI EnumResourceLanguagesA( - HANDLE hModule, + HINSTANCE hModule, LPCSTR lpType, LPCSTR lpName, ENUMRESLANGPROC lpEnumFunc, @@ -3112,40 +3370,42 @@ EnumResourceLanguagesA( BOOL WINAPI EnumResourceLanguagesW( - HANDLE hModule, + HINSTANCE hModule, LPCWSTR lpType, LPCWSTR lpName, ENUMRESLANGPROC lpEnumFunc, LONG lParam ); #ifdef UNICODE -#define EnumResourceLanguages EnumResourceLanguagesW +#define EnumResourceLanguages EnumResourceLanguagesW #else -#define EnumResourceLanguages EnumResourceLanguagesA +#define EnumResourceLanguages EnumResourceLanguagesA #endif // !UNICODE HANDLE WINAPI BeginUpdateResourceA( - LPSTR pFileName + LPCSTR pFileName, + BOOL bDeleteExistingResources ); HANDLE WINAPI BeginUpdateResourceW( - LPWSTR pFileName + LPCWSTR pFileName, + BOOL bDeleteExistingResources ); #ifdef UNICODE -#define BeginUpdateResource BeginUpdateResourceW +#define BeginUpdateResource BeginUpdateResourceW #else -#define BeginUpdateResource BeginUpdateResourceA +#define BeginUpdateResource BeginUpdateResourceA #endif // !UNICODE BOOL WINAPI UpdateResourceA( HANDLE hUpdate, - LPSTR lpType, - LPSTR lpName, + LPCSTR lpType, + LPCSTR lpName, WORD wLanguage, LPVOID lpData, DWORD cbData @@ -3154,16 +3414,16 @@ BOOL WINAPI UpdateResourceW( HANDLE hUpdate, - LPWSTR lpType, - LPWSTR lpName, + LPCWSTR lpType, + LPCWSTR lpName, WORD wLanguage, LPVOID lpData, DWORD cbData ); #ifdef UNICODE -#define UpdateResource UpdateResourceW +#define UpdateResource UpdateResourceW #else -#define UpdateResource UpdateResourceA +#define UpdateResource UpdateResourceA #endif // !UNICODE BOOL @@ -3179,9 +3439,9 @@ EndUpdateResourceW( BOOL fDiscard ); #ifdef UNICODE -#define EndUpdateResource EndUpdateResourceW +#define EndUpdateResource EndUpdateResourceW #else -#define EndUpdateResource EndUpdateResourceA +#define EndUpdateResource EndUpdateResourceA #endif // !UNICODE ATOM @@ -3195,9 +3455,9 @@ GlobalAddAtomW( LPCWSTR lpString ); #ifdef UNICODE -#define GlobalAddAtom GlobalAddAtomW +#define GlobalAddAtom GlobalAddAtomW #else -#define GlobalAddAtom GlobalAddAtomA +#define GlobalAddAtom GlobalAddAtomA #endif // !UNICODE ATOM @@ -3211,9 +3471,9 @@ GlobalFindAtomW( LPCWSTR lpString ); #ifdef UNICODE -#define GlobalFindAtom GlobalFindAtomW +#define GlobalFindAtom GlobalFindAtomW #else -#define GlobalFindAtom GlobalFindAtomA +#define GlobalFindAtom GlobalFindAtomA #endif // !UNICODE UINT @@ -3231,9 +3491,9 @@ GlobalGetAtomNameW( int nSize ); #ifdef UNICODE -#define GlobalGetAtomName GlobalGetAtomNameW +#define GlobalGetAtomName GlobalGetAtomNameW #else -#define GlobalGetAtomName GlobalGetAtomNameA +#define GlobalGetAtomName GlobalGetAtomNameA #endif // !UNICODE ATOM @@ -3247,9 +3507,9 @@ AddAtomW( LPCWSTR lpString ); #ifdef UNICODE -#define AddAtom AddAtomW +#define AddAtom AddAtomW #else -#define AddAtom AddAtomA +#define AddAtom AddAtomA #endif // !UNICODE ATOM @@ -3263,9 +3523,9 @@ FindAtomW( LPCWSTR lpString ); #ifdef UNICODE -#define FindAtom FindAtomW +#define FindAtom FindAtomW #else -#define FindAtom FindAtomA +#define FindAtom FindAtomA #endif // !UNICODE UINT @@ -3283,9 +3543,9 @@ GetAtomNameW( int nSize ); #ifdef UNICODE -#define GetAtomName GetAtomNameW +#define GetAtomName GetAtomNameW #else -#define GetAtomName GetAtomNameA +#define GetAtomName GetAtomNameA #endif // !UNICODE UINT @@ -3293,19 +3553,19 @@ WINAPI GetProfileIntA( LPCSTR lpAppName, LPCSTR lpKeyName, - DWORD nDefault + INT nDefault ); UINT WINAPI GetProfileIntW( LPCWSTR lpAppName, LPCWSTR lpKeyName, - DWORD nDefault + INT nDefault ); #ifdef UNICODE -#define GetProfileInt GetProfileIntW +#define GetProfileInt GetProfileIntW #else -#define GetProfileInt GetProfileIntA +#define GetProfileInt GetProfileIntA #endif // !UNICODE DWORD @@ -3327,9 +3587,9 @@ GetProfileStringW( DWORD nSize ); #ifdef UNICODE -#define GetProfileString GetProfileStringW +#define GetProfileString GetProfileStringW #else -#define GetProfileString GetProfileStringA +#define GetProfileString GetProfileStringA #endif // !UNICODE BOOL @@ -3347,9 +3607,9 @@ WriteProfileStringW( LPCWSTR lpString ); #ifdef UNICODE -#define WriteProfileString WriteProfileStringW +#define WriteProfileString WriteProfileStringW #else -#define WriteProfileString WriteProfileStringA +#define WriteProfileString WriteProfileStringA #endif // !UNICODE DWORD @@ -3367,9 +3627,9 @@ GetProfileSectionW( DWORD nSize ); #ifdef UNICODE -#define GetProfileSection GetProfileSectionW +#define GetProfileSection GetProfileSectionW #else -#define GetProfileSection GetProfileSectionA +#define GetProfileSection GetProfileSectionA #endif // !UNICODE BOOL @@ -3385,9 +3645,9 @@ WriteProfileSectionW( LPCWSTR lpString ); #ifdef UNICODE -#define WriteProfileSection WriteProfileSectionW +#define WriteProfileSection WriteProfileSectionW #else -#define WriteProfileSection WriteProfileSectionA +#define WriteProfileSection WriteProfileSectionA #endif // !UNICODE UINT @@ -3395,7 +3655,7 @@ WINAPI GetPrivateProfileIntA( LPCSTR lpAppName, LPCSTR lpKeyName, - DWORD nDefault, + INT nDefault, LPCSTR lpFileName ); UINT @@ -3403,13 +3663,13 @@ WINAPI GetPrivateProfileIntW( LPCWSTR lpAppName, LPCWSTR lpKeyName, - DWORD nDefault, + INT nDefault, LPCWSTR lpFileName ); #ifdef UNICODE -#define GetPrivateProfileInt GetPrivateProfileIntW +#define GetPrivateProfileInt GetPrivateProfileIntW #else -#define GetPrivateProfileInt GetPrivateProfileIntA +#define GetPrivateProfileInt GetPrivateProfileIntA #endif // !UNICODE DWORD @@ -3433,9 +3693,9 @@ GetPrivateProfileStringW( LPCWSTR lpFileName ); #ifdef UNICODE -#define GetPrivateProfileString GetPrivateProfileStringW +#define GetPrivateProfileString GetPrivateProfileStringW #else -#define GetPrivateProfileString GetPrivateProfileStringA +#define GetPrivateProfileString GetPrivateProfileStringA #endif // !UNICODE BOOL @@ -3455,9 +3715,9 @@ WritePrivateProfileStringW( LPCWSTR lpFileName ); #ifdef UNICODE -#define WritePrivateProfileString WritePrivateProfileStringW +#define WritePrivateProfileString WritePrivateProfileStringW #else -#define WritePrivateProfileString WritePrivateProfileStringA +#define WritePrivateProfileString WritePrivateProfileStringA #endif // !UNICODE DWORD @@ -3477,9 +3737,9 @@ GetPrivateProfileSectionW( LPCWSTR lpFileName ); #ifdef UNICODE -#define GetPrivateProfileSection GetPrivateProfileSectionW +#define GetPrivateProfileSection GetPrivateProfileSectionW #else -#define GetPrivateProfileSection GetPrivateProfileSectionA +#define GetPrivateProfileSection GetPrivateProfileSectionA #endif // !UNICODE BOOL @@ -3497,25 +3757,25 @@ WritePrivateProfileSectionW( LPCWSTR lpFileName ); #ifdef UNICODE -#define WritePrivateProfileSection WritePrivateProfileSectionW +#define WritePrivateProfileSection WritePrivateProfileSectionW #else -#define WritePrivateProfileSection WritePrivateProfileSectionA +#define WritePrivateProfileSection WritePrivateProfileSectionA #endif // !UNICODE UINT WINAPI GetDriveTypeA( - LPSTR lpRootPathName + LPCSTR lpRootPathName ); UINT WINAPI GetDriveTypeW( - LPWSTR lpRootPathName + LPCWSTR lpRootPathName ); #ifdef UNICODE -#define GetDriveType GetDriveTypeW +#define GetDriveType GetDriveTypeW #else -#define GetDriveType GetDriveTypeA +#define GetDriveType GetDriveTypeA #endif // !UNICODE UINT @@ -3531,9 +3791,9 @@ GetSystemDirectoryW( UINT uSize ); #ifdef UNICODE -#define GetSystemDirectory GetSystemDirectoryW +#define GetSystemDirectory GetSystemDirectoryW #else -#define GetSystemDirectory GetSystemDirectoryA +#define GetSystemDirectory GetSystemDirectoryA #endif // !UNICODE DWORD @@ -3549,9 +3809,9 @@ GetTempPathW( LPWSTR lpBuffer ); #ifdef UNICODE -#define GetTempPath GetTempPathW +#define GetTempPath GetTempPathW #else -#define GetTempPath GetTempPathA +#define GetTempPath GetTempPathA #endif // !UNICODE UINT @@ -3571,9 +3831,9 @@ GetTempFileNameW( LPWSTR lpTempFileName ); #ifdef UNICODE -#define GetTempFileName GetTempFileNameW +#define GetTempFileName GetTempFileNameW #else -#define GetTempFileName GetTempFileNameA +#define GetTempFileName GetTempFileNameA #endif // !UNICODE UINT @@ -3589,25 +3849,25 @@ GetWindowsDirectoryW( UINT uSize ); #ifdef UNICODE -#define GetWindowsDirectory GetWindowsDirectoryW +#define GetWindowsDirectory GetWindowsDirectoryW #else -#define GetWindowsDirectory GetWindowsDirectoryA +#define GetWindowsDirectory GetWindowsDirectoryA #endif // !UNICODE BOOL WINAPI SetCurrentDirectoryA( - LPSTR lpPathName + LPCSTR lpPathName ); BOOL WINAPI SetCurrentDirectoryW( - LPWSTR lpPathName + LPCWSTR lpPathName ); #ifdef UNICODE -#define SetCurrentDirectory SetCurrentDirectoryW +#define SetCurrentDirectory SetCurrentDirectoryW #else -#define SetCurrentDirectory SetCurrentDirectoryA +#define SetCurrentDirectory SetCurrentDirectoryA #endif // !UNICODE DWORD @@ -3623,15 +3883,15 @@ GetCurrentDirectoryW( LPWSTR lpBuffer ); #ifdef UNICODE -#define GetCurrentDirectory GetCurrentDirectoryW +#define GetCurrentDirectory GetCurrentDirectoryW #else -#define GetCurrentDirectory GetCurrentDirectoryA +#define GetCurrentDirectory GetCurrentDirectoryA #endif // !UNICODE BOOL WINAPI GetDiskFreeSpaceA( - LPSTR lpRootPathName, + LPCSTR lpRootPathName, LPDWORD lpSectorsPerCluster, LPDWORD lpBytesPerSector, LPDWORD lpNumberOfFreeClusters, @@ -3640,50 +3900,70 @@ GetDiskFreeSpaceA( BOOL WINAPI GetDiskFreeSpaceW( - LPWSTR lpRootPathName, + LPCWSTR lpRootPathName, LPDWORD lpSectorsPerCluster, LPDWORD lpBytesPerSector, LPDWORD lpNumberOfFreeClusters, LPDWORD lpTotalNumberOfClusters ); #ifdef UNICODE -#define GetDiskFreeSpace GetDiskFreeSpaceW +#define GetDiskFreeSpace GetDiskFreeSpaceW #else -#define GetDiskFreeSpace GetDiskFreeSpaceA +#define GetDiskFreeSpace GetDiskFreeSpaceA #endif // !UNICODE BOOL WINAPI CreateDirectoryA( - LPSTR lpPathName, + LPCSTR lpPathName, LPSECURITY_ATTRIBUTES lpSecurityAttributes ); BOOL WINAPI CreateDirectoryW( - LPWSTR lpPathName, + LPCWSTR lpPathName, LPSECURITY_ATTRIBUTES lpSecurityAttributes ); #ifdef UNICODE -#define CreateDirectory CreateDirectoryW +#define CreateDirectory CreateDirectoryW #else -#define CreateDirectory CreateDirectoryA +#define CreateDirectory CreateDirectoryA +#endif // !UNICODE + +BOOL +WINAPI +CreateDirectoryExA( + LPCSTR lpTemplateDirectory, + LPCSTR lpNewDirectory, + LPSECURITY_ATTRIBUTES lpSecurityAttributes + ); +BOOL +WINAPI +CreateDirectoryExW( + LPCWSTR lpTemplateDirectory, + LPCWSTR lpNewDirectory, + LPSECURITY_ATTRIBUTES lpSecurityAttributes + ); +#ifdef UNICODE +#define CreateDirectoryEx CreateDirectoryExW +#else +#define CreateDirectoryEx CreateDirectoryExA #endif // !UNICODE BOOL WINAPI RemoveDirectoryA( - LPSTR lpPathName + LPCSTR lpPathName ); BOOL WINAPI RemoveDirectoryW( - LPWSTR lpPathName + LPCWSTR lpPathName ); #ifdef UNICODE -#define RemoveDirectory RemoveDirectoryW +#define RemoveDirectory RemoveDirectoryW #else -#define RemoveDirectory RemoveDirectoryA +#define RemoveDirectory RemoveDirectoryA #endif // !UNICODE DWORD @@ -3703,13 +3983,57 @@ GetFullPathNameW( LPWSTR *lpFilePart ); #ifdef UNICODE -#define GetFullPathName GetFullPathNameW +#define GetFullPathName GetFullPathNameW #else -#define GetFullPathName GetFullPathNameA +#define GetFullPathName GetFullPathNameA #endif // !UNICODE -#define EXPAND_LOCAL_DRIVES +#define DDD_RAW_TARGET_PATH 0x00000001 +#define DDD_REMOVE_DEFINITION 0x00000002 +#define DDD_EXACT_MATCH_ON_REMOVE 0x00000004 + +BOOL +WINAPI +DefineDosDeviceA( + DWORD dwFlags, + LPCSTR lpDeviceName, + LPCSTR lpTargetPath + ); +BOOL +WINAPI +DefineDosDeviceW( + DWORD dwFlags, + LPCWSTR lpDeviceName, + LPCWSTR lpTargetPath + ); +#ifdef UNICODE +#define DefineDosDevice DefineDosDeviceW +#else +#define DefineDosDevice DefineDosDeviceA +#endif // !UNICODE + +DWORD +WINAPI +QueryDosDeviceA( + LPCSTR lpDeviceName, + LPSTR lpTargetPath, + DWORD ucchMax + ); +DWORD +WINAPI +QueryDosDeviceW( + LPCWSTR lpDeviceName, + LPWSTR lpTargetPath, + DWORD ucchMax + ); +#ifdef UNICODE +#define QueryDosDevice QueryDosDeviceW +#else +#define QueryDosDevice QueryDosDeviceA +#endif // !UNICODE + +#define EXPAND_LOCAL_DRIVES HANDLE WINAPI @@ -3734,77 +4058,77 @@ CreateFileW( HANDLE hTemplateFile ); #ifdef UNICODE -#define CreateFile CreateFileW +#define CreateFile CreateFileW #else -#define CreateFile CreateFileA +#define CreateFile CreateFileA #endif // !UNICODE BOOL WINAPI SetFileAttributesA( - LPSTR lpFileName, + LPCSTR lpFileName, DWORD dwFileAttributes ); BOOL WINAPI SetFileAttributesW( - LPWSTR lpFileName, + LPCWSTR lpFileName, DWORD dwFileAttributes ); #ifdef UNICODE -#define SetFileAttributes SetFileAttributesW +#define SetFileAttributes SetFileAttributesW #else -#define SetFileAttributes SetFileAttributesA +#define SetFileAttributes SetFileAttributesA #endif // !UNICODE DWORD WINAPI GetFileAttributesA( - LPSTR lpFileName + LPCSTR lpFileName ); DWORD WINAPI GetFileAttributesW( - LPWSTR lpFileName + LPCWSTR lpFileName ); #ifdef UNICODE -#define GetFileAttributes GetFileAttributesW +#define GetFileAttributes GetFileAttributesW #else -#define GetFileAttributes GetFileAttributesA +#define GetFileAttributes GetFileAttributesA #endif // !UNICODE BOOL WINAPI DeleteFileA( - LPSTR lpFileName + LPCSTR lpFileName ); BOOL WINAPI DeleteFileW( - LPWSTR lpFileName + LPCWSTR lpFileName ); #ifdef UNICODE -#define DeleteFile DeleteFileW +#define DeleteFile DeleteFileW #else -#define DeleteFile DeleteFileA +#define DeleteFile DeleteFileA #endif // !UNICODE HANDLE WINAPI FindFirstFileA( - LPSTR lpFileName, + LPCSTR lpFileName, LPWIN32_FIND_DATAA lpFindFileData ); HANDLE WINAPI FindFirstFileW( - LPWSTR lpFileName, + LPCWSTR lpFileName, LPWIN32_FIND_DATAW lpFindFileData ); #ifdef UNICODE -#define FindFirstFile FindFirstFileW +#define FindFirstFile FindFirstFileW #else -#define FindFirstFile FindFirstFileA +#define FindFirstFile FindFirstFileA #endif // !UNICODE BOOL @@ -3820,9 +4144,9 @@ FindNextFileW( LPWIN32_FIND_DATAW lpFindFileData ); #ifdef UNICODE -#define FindNextFile FindNextFileW +#define FindNextFile FindNextFileW #else -#define FindNextFile FindNextFileA +#define FindNextFile FindNextFileA #endif // !UNICODE DWORD @@ -3846,53 +4170,77 @@ SearchPathW( LPWSTR *lpFilePart ); #ifdef UNICODE -#define SearchPath SearchPathW +#define SearchPath SearchPathW #else -#define SearchPath SearchPathA +#define SearchPath SearchPathA #endif // !UNICODE BOOL WINAPI CopyFileA( - LPSTR lpExistingFileName, - LPSTR lpNewFileName, + LPCSTR lpExistingFileName, + LPCSTR lpNewFileName, BOOL bFailIfExists ); BOOL WINAPI CopyFileW( - LPWSTR lpExistingFileName, - LPWSTR lpNewFileName, + LPCWSTR lpExistingFileName, + LPCWSTR lpNewFileName, BOOL bFailIfExists ); #ifdef UNICODE -#define CopyFile CopyFileW +#define CopyFile CopyFileW #else -#define CopyFile CopyFileA +#define CopyFile CopyFileA #endif // !UNICODE BOOL WINAPI MoveFileA( - LPSTR lpExistingFileName, - LPSTR lpNewFileName + LPCSTR lpExistingFileName, + LPCSTR lpNewFileName ); BOOL WINAPI MoveFileW( - LPWSTR lpExistingFileName, - LPWSTR lpNewFileName + LPCWSTR lpExistingFileName, + LPCWSTR lpNewFileName ); #ifdef UNICODE -#define MoveFile MoveFileW +#define MoveFile MoveFileW #else -#define MoveFile MoveFileA +#define MoveFile MoveFileA #endif // !UNICODE +BOOL +WINAPI +MoveFileExA( + LPCSTR lpExistingFileName, + LPCSTR lpNewFileName, + DWORD dwFlags + ); +BOOL +WINAPI +MoveFileExW( + LPCWSTR lpExistingFileName, + LPCWSTR 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( - LPSTR lpName, + LPCSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode, DWORD nMaxInstances, @@ -3904,7 +4252,7 @@ CreateNamedPipeA( HANDLE WINAPI CreateNamedPipeW( - LPWSTR lpName, + LPCWSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode, DWORD nMaxInstances, @@ -3914,9 +4262,9 @@ CreateNamedPipeW( LPSECURITY_ATTRIBUTES lpSecurityAttributes ); #ifdef UNICODE -#define CreateNamedPipe CreateNamedPipeW +#define CreateNamedPipe CreateNamedPipeW #else -#define CreateNamedPipe CreateNamedPipeA +#define CreateNamedPipe CreateNamedPipeA #endif // !UNICODE BOOL @@ -3942,15 +4290,15 @@ GetNamedPipeHandleStateW( DWORD nMaxUserNameSize ); #ifdef UNICODE -#define GetNamedPipeHandleState GetNamedPipeHandleStateW +#define GetNamedPipeHandleState GetNamedPipeHandleStateW #else -#define GetNamedPipeHandleState GetNamedPipeHandleStateA +#define GetNamedPipeHandleState GetNamedPipeHandleStateA #endif // !UNICODE BOOL WINAPI CallNamedPipeA( - LPSTR lpNamedPipeName, + LPCSTR lpNamedPipeName, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, @@ -3961,7 +4309,7 @@ CallNamedPipeA( BOOL WINAPI CallNamedPipeW( - LPWSTR lpNamedPipeName, + LPCWSTR lpNamedPipeName, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, @@ -3970,33 +4318,55 @@ CallNamedPipeW( DWORD nTimeOut ); #ifdef UNICODE -#define CallNamedPipe CallNamedPipeW +#define CallNamedPipe CallNamedPipeW #else -#define CallNamedPipe CallNamedPipeA +#define CallNamedPipe CallNamedPipeA #endif // !UNICODE BOOL WINAPI WaitNamedPipeA( - LPSTR lpNamedPipeName, + LPCSTR lpNamedPipeName, DWORD nTimeOut ); BOOL WINAPI WaitNamedPipeW( - LPWSTR lpNamedPipeName, + LPCWSTR lpNamedPipeName, DWORD nTimeOut ); #ifdef UNICODE -#define WaitNamedPipe WaitNamedPipeW +#define WaitNamedPipe WaitNamedPipeW +#else +#define WaitNamedPipe WaitNamedPipeA +#endif // !UNICODE + +BOOL +WINAPI +SetVolumeLabelA( + LPCSTR lpRootPathName, + LPCSTR lpVolumeName + ); +BOOL +WINAPI +SetVolumeLabelW( + LPCWSTR lpRootPathName, + LPCWSTR lpVolumeName + ); +#ifdef UNICODE +#define SetVolumeLabel SetVolumeLabelW #else -#define WaitNamedPipe WaitNamedPipeA +#define SetVolumeLabel SetVolumeLabelA #endif // !UNICODE +VOID +WINAPI +SetFileApisToOEM( VOID ); + BOOL WINAPI GetVolumeInformationA( - LPSTR lpRootPathName, + LPCSTR lpRootPathName, LPSTR lpVolumeNameBuffer, DWORD nVolumeNameSize, LPDWORD lpVolumeSerialNumber, @@ -4008,7 +4378,7 @@ GetVolumeInformationA( BOOL WINAPI GetVolumeInformationW( - LPWSTR lpRootPathName, + LPCWSTR lpRootPathName, LPWSTR lpVolumeNameBuffer, DWORD nVolumeNameSize, LPDWORD lpVolumeSerialNumber, @@ -4018,9 +4388,9 @@ GetVolumeInformationW( DWORD nFileSystemNameSize ); #ifdef UNICODE -#define GetVolumeInformation GetVolumeInformationW +#define GetVolumeInformation GetVolumeInformationW #else -#define GetVolumeInformation GetVolumeInformationA +#define GetVolumeInformation GetVolumeInformationA #endif // !UNICODE // @@ -4031,36 +4401,36 @@ BOOL WINAPI ClearEventLogA ( HANDLE hEventLog, - LPSTR lpBackupFileName + LPCSTR lpBackupFileName ); BOOL WINAPI ClearEventLogW ( HANDLE hEventLog, - LPWSTR lpBackupFileName + LPCWSTR lpBackupFileName ); #ifdef UNICODE -#define ClearEventLog ClearEventLogW +#define ClearEventLog ClearEventLogW #else -#define ClearEventLog ClearEventLogA +#define ClearEventLog ClearEventLogA #endif // !UNICODE BOOL WINAPI BackupEventLogA ( HANDLE hEventLog, - LPSTR lpBackupFileName + LPCSTR lpBackupFileName ); BOOL WINAPI BackupEventLogW ( HANDLE hEventLog, - LPWSTR lpBackupFileName + LPCWSTR lpBackupFileName ); #ifdef UNICODE -#define BackupEventLog BackupEventLogW +#define BackupEventLog BackupEventLogW #else -#define BackupEventLog BackupEventLogA +#define BackupEventLog BackupEventLogA #endif // !UNICODE BOOL @@ -4093,55 +4463,55 @@ GetOldestEventLogRecord ( HANDLE WINAPI OpenEventLogA ( - LPSTR lpUNCServerName, - LPSTR lpSourceName + LPCSTR lpUNCServerName, + LPCSTR lpSourceName ); HANDLE WINAPI OpenEventLogW ( - LPWSTR lpUNCServerName, - LPWSTR lpSourceName + LPCWSTR lpUNCServerName, + LPCWSTR lpSourceName ); #ifdef UNICODE -#define OpenEventLog OpenEventLogW +#define OpenEventLog OpenEventLogW #else -#define OpenEventLog OpenEventLogA +#define OpenEventLog OpenEventLogA #endif // !UNICODE HANDLE WINAPI RegisterEventSourceA ( - LPSTR lpUNCServerName, - LPSTR lpSourceName + LPCSTR lpUNCServerName, + LPCSTR lpSourceName ); HANDLE WINAPI RegisterEventSourceW ( - LPWSTR lpUNCServerName, - LPWSTR lpSourceName + LPCWSTR lpUNCServerName, + LPCWSTR lpSourceName ); #ifdef UNICODE -#define RegisterEventSource RegisterEventSourceW +#define RegisterEventSource RegisterEventSourceW #else -#define RegisterEventSource RegisterEventSourceA +#define RegisterEventSource RegisterEventSourceA #endif // !UNICODE HANDLE WINAPI OpenBackupEventLogA ( - LPSTR lpUNCServerName, - LPSTR lpFileName + LPCSTR lpUNCServerName, + LPCSTR lpFileName ); HANDLE WINAPI OpenBackupEventLogW ( - LPWSTR lpUNCServerName, - LPWSTR lpFileName + LPCWSTR lpUNCServerName, + LPCWSTR lpFileName ); #ifdef UNICODE -#define OpenBackupEventLog OpenBackupEventLogW +#define OpenBackupEventLog OpenBackupEventLogW #else -#define OpenBackupEventLog OpenBackupEventLogA +#define OpenBackupEventLog OpenBackupEventLogA #endif // !UNICODE BOOL @@ -4167,9 +4537,9 @@ ReadEventLogW ( DWORD *pnMinNumberOfBytesNeeded ); #ifdef UNICODE -#define ReadEventLog ReadEventLogW +#define ReadEventLog ReadEventLogW #else -#define ReadEventLog ReadEventLogA +#define ReadEventLog ReadEventLogA #endif // !UNICODE BOOL @@ -4182,7 +4552,7 @@ ReportEventA ( PSID lpUserSid, WORD wNumStrings, DWORD dwDataSize, - LPSTR *lpStrings, + LPCSTR *lpStrings, LPVOID lpRawData ); BOOL @@ -4195,13 +4565,13 @@ ReportEventW ( PSID lpUserSid, WORD wNumStrings, DWORD dwDataSize, - LPWSTR *lpStrings, + LPCWSTR *lpStrings, LPVOID lpRawData ); #ifdef UNICODE -#define ReportEvent ReportEventW +#define ReportEvent ReportEventW #else -#define ReportEvent ReportEventA +#define ReportEvent ReportEventA #endif // !UNICODE // @@ -4247,6 +4617,12 @@ RevertToSelf ( VOID ); +BOOL +APIENTRY +SetThreadToken ( + PHANDLE Thread, + HANDLE Token + ); BOOL WINAPI @@ -4338,7 +4714,7 @@ PrivilegeCheck ( BOOL WINAPI AccessCheckAndAuditAlarmA ( - LPSTR SubsystemName, + LPCSTR SubsystemName, LPVOID HandleId, LPSTR ObjectTypeName, LPSTR ObjectName, @@ -4353,7 +4729,7 @@ AccessCheckAndAuditAlarmA ( BOOL WINAPI AccessCheckAndAuditAlarmW ( - LPWSTR SubsystemName, + LPCWSTR SubsystemName, LPVOID HandleId, LPWSTR ObjectTypeName, LPWSTR ObjectName, @@ -4366,16 +4742,16 @@ AccessCheckAndAuditAlarmW ( LPBOOL pfGenerateOnClose ); #ifdef UNICODE -#define AccessCheckAndAuditAlarm AccessCheckAndAuditAlarmW +#define AccessCheckAndAuditAlarm AccessCheckAndAuditAlarmW #else -#define AccessCheckAndAuditAlarm AccessCheckAndAuditAlarmA +#define AccessCheckAndAuditAlarm AccessCheckAndAuditAlarmA #endif // !UNICODE BOOL WINAPI ObjectOpenAuditAlarmA ( - LPSTR SubsystemName, + LPCSTR SubsystemName, LPVOID HandleId, LPSTR ObjectTypeName, LPSTR ObjectName, @@ -4391,7 +4767,7 @@ ObjectOpenAuditAlarmA ( BOOL WINAPI ObjectOpenAuditAlarmW ( - LPWSTR SubsystemName, + LPCWSTR SubsystemName, LPVOID HandleId, LPWSTR ObjectTypeName, LPWSTR ObjectName, @@ -4405,16 +4781,16 @@ ObjectOpenAuditAlarmW ( LPBOOL GenerateOnClose ); #ifdef UNICODE -#define ObjectOpenAuditAlarm ObjectOpenAuditAlarmW +#define ObjectOpenAuditAlarm ObjectOpenAuditAlarmW #else -#define ObjectOpenAuditAlarm ObjectOpenAuditAlarmA +#define ObjectOpenAuditAlarm ObjectOpenAuditAlarmA #endif // !UNICODE BOOL WINAPI ObjectPrivilegeAuditAlarmA ( - LPSTR SubsystemName, + LPCSTR SubsystemName, LPVOID HandleId, HANDLE ClientToken, DWORD DesiredAccess, @@ -4424,7 +4800,7 @@ ObjectPrivilegeAuditAlarmA ( BOOL WINAPI ObjectPrivilegeAuditAlarmW ( - LPWSTR SubsystemName, + LPCWSTR SubsystemName, LPVOID HandleId, HANDLE ClientToken, DWORD DesiredAccess, @@ -4432,38 +4808,38 @@ ObjectPrivilegeAuditAlarmW ( BOOL AccessGranted ); #ifdef UNICODE -#define ObjectPrivilegeAuditAlarm ObjectPrivilegeAuditAlarmW +#define ObjectPrivilegeAuditAlarm ObjectPrivilegeAuditAlarmW #else -#define ObjectPrivilegeAuditAlarm ObjectPrivilegeAuditAlarmA +#define ObjectPrivilegeAuditAlarm ObjectPrivilegeAuditAlarmA #endif // !UNICODE BOOL WINAPI ObjectCloseAuditAlarmA ( - LPSTR SubsystemName, + LPCSTR SubsystemName, LPVOID HandleId, BOOL GenerateOnClose ); BOOL WINAPI ObjectCloseAuditAlarmW ( - LPWSTR SubsystemName, + LPCWSTR SubsystemName, LPVOID HandleId, BOOL GenerateOnClose ); #ifdef UNICODE -#define ObjectCloseAuditAlarm ObjectCloseAuditAlarmW +#define ObjectCloseAuditAlarm ObjectCloseAuditAlarmW #else -#define ObjectCloseAuditAlarm ObjectCloseAuditAlarmA +#define ObjectCloseAuditAlarm ObjectCloseAuditAlarmA #endif // !UNICODE BOOL WINAPI PrivilegedServiceAuditAlarmA ( - LPSTR SubsystemName, - LPSTR ServiceName, + LPCSTR SubsystemName, + LPCSTR ServiceName, HANDLE ClientToken, PPRIVILEGE_SET Privileges, BOOL AccessGranted @@ -4471,16 +4847,16 @@ PrivilegedServiceAuditAlarmA ( BOOL WINAPI PrivilegedServiceAuditAlarmW ( - LPWSTR SubsystemName, - LPWSTR ServiceName, + LPCWSTR SubsystemName, + LPCWSTR ServiceName, HANDLE ClientToken, PPRIVILEGE_SET Privileges, BOOL AccessGranted ); #ifdef UNICODE -#define PrivilegedServiceAuditAlarm PrivilegedServiceAuditAlarmW +#define PrivilegedServiceAuditAlarm PrivilegedServiceAuditAlarmW #else -#define PrivilegedServiceAuditAlarm PrivilegedServiceAuditAlarmA +#define PrivilegedServiceAuditAlarm PrivilegedServiceAuditAlarmA #endif // !UNICODE @@ -4888,28 +5264,28 @@ MakeAbsoluteSD ( BOOL WINAPI SetFileSecurityA ( - LPSTR lpFileName, + LPCSTR lpFileName, SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor ); BOOL WINAPI SetFileSecurityW ( - LPWSTR lpFileName, + LPCWSTR lpFileName, SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor ); #ifdef UNICODE -#define SetFileSecurity SetFileSecurityW +#define SetFileSecurity SetFileSecurityW #else -#define SetFileSecurity SetFileSecurityA +#define SetFileSecurity SetFileSecurityA #endif // !UNICODE BOOL WINAPI GetFileSecurityA ( - LPSTR lpFileName, + LPCSTR lpFileName, SECURITY_INFORMATION RequestedInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor, DWORD nLength, @@ -4918,16 +5294,16 @@ GetFileSecurityA ( BOOL WINAPI GetFileSecurityW ( - LPWSTR lpFileName, + LPCWSTR lpFileName, SECURITY_INFORMATION RequestedInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor, DWORD nLength, LPDWORD lpnLengthNeeded ); #ifdef UNICODE -#define GetFileSecurity GetFileSecurityW +#define GetFileSecurity GetFileSecurityW #else -#define GetFileSecurity GetFileSecurityA +#define GetFileSecurity GetFileSecurityA #endif // !UNICODE @@ -4944,21 +5320,21 @@ SetKernelObjectSecurity ( HANDLE WINAPI FindFirstChangeNotificationA( - LPSTR lpPathName, + LPCSTR lpPathName, BOOL bWatchSubtree, DWORD dwNotifyFilter ); HANDLE WINAPI FindFirstChangeNotificationW( - LPWSTR lpPathName, + LPCWSTR lpPathName, BOOL bWatchSubtree, DWORD dwNotifyFilter ); #ifdef UNICODE -#define FindFirstChangeNotification FindFirstChangeNotificationW +#define FindFirstChangeNotification FindFirstChangeNotificationW #else -#define FindFirstChangeNotification FindFirstChangeNotificationA +#define FindFirstChangeNotification FindFirstChangeNotificationA #endif // !UNICODE BOOL WINAPI @@ -5057,15 +5433,15 @@ IsBadStringPtrW( UINT ucchMax ); #ifdef UNICODE -#define IsBadStringPtr IsBadStringPtrW +#define IsBadStringPtr IsBadStringPtrW #else -#define IsBadStringPtr IsBadStringPtrA +#define IsBadStringPtr IsBadStringPtrA #endif // !UNICODE BOOL WINAPI LookupAccountSidA( - LPSTR lpSystemName, + LPCSTR lpSystemName, PSID Sid, LPSTR Name, LPDWORD cbName, @@ -5076,7 +5452,7 @@ LookupAccountSidA( BOOL WINAPI LookupAccountSidW( - LPWSTR lpSystemName, + LPCWSTR lpSystemName, PSID Sid, LPWSTR Name, LPDWORD cbName, @@ -5085,16 +5461,16 @@ LookupAccountSidW( PSID_NAME_USE peUse ); #ifdef UNICODE -#define LookupAccountSid LookupAccountSidW +#define LookupAccountSid LookupAccountSidW #else -#define LookupAccountSid LookupAccountSidA +#define LookupAccountSid LookupAccountSidA #endif // !UNICODE BOOL WINAPI LookupAccountNameA( - LPSTR lpSystemName, - LPSTR lpAccountName, + LPCSTR lpSystemName, + LPCSTR lpAccountName, PSID Sid, LPDWORD cbSid, LPSTR ReferencedDomainName, @@ -5104,8 +5480,8 @@ LookupAccountNameA( BOOL WINAPI LookupAccountNameW( - LPWSTR lpSystemName, - LPWSTR lpAccountName, + LPCWSTR lpSystemName, + LPCWSTR lpAccountName, PSID Sid, LPDWORD cbSid, LPWSTR ReferencedDomainName, @@ -5113,35 +5489,35 @@ LookupAccountNameW( PSID_NAME_USE peUse ); #ifdef UNICODE -#define LookupAccountName LookupAccountNameW +#define LookupAccountName LookupAccountNameW #else -#define LookupAccountName LookupAccountNameA +#define LookupAccountName LookupAccountNameA #endif // !UNICODE BOOL WINAPI LookupPrivilegeValueA( - LPSTR lpSystemName, - LPSTR lpName, + LPCSTR lpSystemName, + LPCSTR lpName, PLUID lpLuid ); BOOL WINAPI LookupPrivilegeValueW( - LPWSTR lpSystemName, - LPWSTR lpName, + LPCWSTR lpSystemName, + LPCWSTR lpName, PLUID lpLuid ); #ifdef UNICODE -#define LookupPrivilegeValue LookupPrivilegeValueW +#define LookupPrivilegeValue LookupPrivilegeValueW #else -#define LookupPrivilegeValue LookupPrivilegeValueA +#define LookupPrivilegeValue LookupPrivilegeValueA #endif // !UNICODE BOOL WINAPI LookupPrivilegeNameA( - LPSTR lpSystemName, + LPCSTR lpSystemName, PLUID lpLuid, LPSTR lpName, LPDWORD cbName @@ -5149,22 +5525,22 @@ LookupPrivilegeNameA( BOOL WINAPI LookupPrivilegeNameW( - LPWSTR lpSystemName, + LPCWSTR lpSystemName, PLUID lpLuid, LPWSTR lpName, LPDWORD cbName ); #ifdef UNICODE -#define LookupPrivilegeName LookupPrivilegeNameW +#define LookupPrivilegeName LookupPrivilegeNameW #else -#define LookupPrivilegeName LookupPrivilegeNameA +#define LookupPrivilegeName LookupPrivilegeNameA #endif // !UNICODE BOOL WINAPI LookupPrivilegeDisplayNameA( - LPSTR lpSystemName, - LPSTR lpName, + LPCSTR lpSystemName, + LPCSTR lpName, LPSTR lpDisplayName, LPDWORD cbDisplayName, LPDWORD lpLanguageId @@ -5172,16 +5548,16 @@ LookupPrivilegeDisplayNameA( BOOL WINAPI LookupPrivilegeDisplayNameW( - LPWSTR lpSystemName, - LPWSTR lpName, + LPCWSTR lpSystemName, + LPCWSTR lpName, LPWSTR lpDisplayName, LPDWORD cbDisplayName, LPDWORD lpLanguageId ); #ifdef UNICODE -#define LookupPrivilegeDisplayName LookupPrivilegeDisplayNameW +#define LookupPrivilegeDisplayName LookupPrivilegeDisplayNameW #else -#define LookupPrivilegeDisplayName LookupPrivilegeDisplayNameA +#define LookupPrivilegeDisplayName LookupPrivilegeDisplayNameA #endif // !UNICODE BOOL @@ -5193,22 +5569,42 @@ AllocateLocallyUniqueId( BOOL WINAPI BuildCommDCBA( - LPSTR lpDef, + LPCSTR lpDef, LPDCB lpDCB ); BOOL WINAPI BuildCommDCBW( - LPWSTR lpDef, + LPCWSTR lpDef, LPDCB lpDCB ); #ifdef UNICODE -#define BuildCommDCB BuildCommDCBW +#define BuildCommDCB BuildCommDCBW #else -#define BuildCommDCB BuildCommDCBA +#define BuildCommDCB BuildCommDCBA #endif // !UNICODE -#define MAX_COMPUTERNAME_LENGTH 80 +BOOL +WINAPI +BuildCommDCBAndTimeoutsA( + LPCSTR lpDef, + LPDCB lpDCB, + LPCOMMTIMEOUTS lpCommTimeouts + ); +BOOL +WINAPI +BuildCommDCBAndTimeoutsW( + LPCWSTR lpDef, + LPDCB lpDCB, + LPCOMMTIMEOUTS lpCommTimeouts + ); +#ifdef UNICODE +#define BuildCommDCBAndTimeouts BuildCommDCBAndTimeoutsW +#else +#define BuildCommDCBAndTimeouts BuildCommDCBAndTimeoutsA +#endif // !UNICODE + +#define MAX_COMPUTERNAME_LENGTH 15 BOOL WINAPI @@ -5223,25 +5619,25 @@ GetComputerNameW ( LPDWORD nSize ); #ifdef UNICODE -#define GetComputerName GetComputerNameW +#define GetComputerName GetComputerNameW #else -#define GetComputerName GetComputerNameA +#define GetComputerName GetComputerNameA #endif // !UNICODE BOOL WINAPI SetComputerNameA ( - LPSTR lpComputerName + LPCSTR lpComputerName ); BOOL WINAPI SetComputerNameW ( - LPWSTR lpComputerName + LPCWSTR lpComputerName ); #ifdef UNICODE -#define SetComputerName SetComputerNameW +#define SetComputerName SetComputerNameW #else -#define SetComputerName SetComputerNameA +#define SetComputerName SetComputerNameA #endif // !UNICODE BOOL @@ -5257,9 +5653,9 @@ GetUserNameW ( LPDWORD nSize ); #ifdef UNICODE -#define GetUserName GetUserNameW +#define GetUserName GetUserNameW #else -#define GetUserName GetUserNameA +#define GetUserName GetUserNameA #endif // !UNICODE // @@ -5279,7 +5675,6 @@ QueryPerformanceFrequency( ); - // DOS and OS/2 Compatible Error Code definitions returned by the Win32 Base // API functions. // @@ -5293,4 +5688,8 @@ QueryPerformanceFrequency( #define TC_GP_TRAP 2 #define TC_SIGNAL 3 +#ifdef __cplusplus +} +#endif + #endif // _WINBASE_