--- mstools/h/winbase.h 2018/08/09 18:21:09 1.1.1.3 +++ mstools/h/winbase.h 2018/08/09 18:23:04 1.1.1.4 @@ -39,10 +39,15 @@ extern "C" { #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 ) @@ -66,7 +71,16 @@ extern "C" { #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 @@ -141,25 +155,6 @@ extern "C" { #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 // @@ -222,7 +217,7 @@ typedef RTL_CRITICAL_SECTION_DEBUG CRITI typedef PRTL_CRITICAL_SECTION_DEBUG PCRITICAL_SECTION_DEBUG; typedef PRTL_CRITICAL_SECTION_DEBUG LPCRITICAL_SECTION_DEBUG; -#ifdef i386 +#ifdef _X86_ typedef PLDT_ENTRY LPLDT_ENTRY; #else typedef LPVOID LPLDT_ENTRY; @@ -303,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) // @@ -358,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; @@ -394,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 */ @@ -424,8 +421,8 @@ typedef struct _SYSTEM_INFO { DWORD dwActiveProcessorMask; DWORD dwNumberOfProcessors; DWORD dwProcessorType; - DWORD dwReserved1; - DWORD dwReserved2; + DWORD dwAllocationGranularity; + DWORD dwReserved; } SYSTEM_INFO, *LPSYSTEM_INFO; #define FreeModule(hLibModule) FreeLibrary((hLibModule)) @@ -549,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; @@ -559,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 { @@ -575,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 { @@ -663,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 @@ -794,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 @@ -823,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( @@ -838,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( @@ -919,7 +954,7 @@ GlobalLock( HGLOBAL WINAPI GlobalHandle( - LPVOID pMem + LPCVOID pMem ); @@ -996,7 +1031,7 @@ LocalLock( HLOCAL WINAPI LocalHandle( - LPVOID pMem + LPCVOID pMem ); BOOL @@ -1040,7 +1075,7 @@ BOOL WINAPI FlushInstructionCache( HANDLE hProcess, - LPVOID lpBaseAddress, + LPCVOID lpBaseAddress, DWORD dwSize ); @@ -1073,7 +1108,7 @@ VirtualProtect( DWORD WINAPI VirtualQuery( - LPVOID lpAddress, + LPCVOID lpAddress, PMEMORY_BASIC_INFORMATION lpBuffer, DWORD dwLength ); @@ -1092,7 +1127,7 @@ DWORD WINAPI VirtualQueryEx( HANDLE hProcess, - LPVOID lpAddress, + LPCVOID lpAddress, PMEMORY_BASIC_INFORMATION lpBuffer, DWORD dwLength ); @@ -1111,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 ); @@ -1122,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 @@ -1192,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( @@ -1249,6 +1320,16 @@ GetThreadPriority( HANDLE hThread ); +BOOL +WINAPI +GetThreadTimes( + HANDLE hThread, + LPFILETIME lpCreationTime, + LPFILETIME lpExitTime, + LPFILETIME lpKernelTime, + LPFILETIME lpUserTime + ); + VOID WINAPI ExitThread( @@ -1289,6 +1370,7 @@ SetLastError( DWORD dwErrCode ); + // // SetLastErrorEx() types. // @@ -1333,7 +1415,7 @@ BOOL WINAPI ReadProcessMemory( HANDLE hProcess, - LPVOID lpBaseAddress, + LPCVOID lpBaseAddress, LPVOID lpBuffer, DWORD nSize, LPDWORD lpNumberOfBytesRead @@ -1360,7 +1442,7 @@ BOOL WINAPI SetThreadContext( HANDLE hThread, - LPCONTEXT lpContext + CONST CONTEXT *lpContext ); DWORD @@ -1402,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( @@ -1510,7 +1551,7 @@ DWORD WINAPI WaitForMultipleObjects( DWORD nCount, - LPHANDLE lpHandles, + CONST HANDLE *lpHandles, BOOL bWaitAll, DWORD dwMilliseconds ); @@ -1521,7 +1562,7 @@ Sleep( DWORD dwMilliseconds ); -HRSRC +HGLOBAL WINAPI LoadResource( HINSTANCE hModule, @@ -1536,13 +1577,6 @@ SizeofResource( ); -BOOLEAN -CloseProfileUserMapping( VOID ); - -BOOLEAN -OpenProfileUserMapping( VOID ); - - ATOM WINAPI GlobalDeleteAtom( @@ -1593,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; @@ -1643,7 +1701,7 @@ BOOL WINAPI WriteFile( HANDLE hFile, - CONST VOID *lpBuffer, + LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten, LPOVERLAPPED lpOverlapped @@ -1712,9 +1770,9 @@ BOOL WINAPI SetFileTime( HANDLE hFile, - LPFILETIME lpCreationTime, - LPFILETIME lpLastAccessTime, - LPFILETIME lpLastWriteTime + CONST FILETIME *lpCreationTime, + CONST FILETIME *lpLastAccessTime, + CONST FILETIME *lpLastWriteTime ); BOOL @@ -1735,6 +1793,8 @@ DuplicateHandle( DWORD dwOptions ); +#define HINSTANCE_ERROR 32 + DWORD WINAPI LoadModule( @@ -1758,6 +1818,14 @@ BuildCommDCB( BOOL WINAPI +BuildCommDCBAndTimeouts( + LPSTR lpDef, + LPDCB lpDCB, + LPCOMMTIMEOUTS lpCommTimeouts + ); + +BOOL +WINAPI ClearCommBreak( HANDLE hFile ); @@ -1877,7 +1945,8 @@ SetTapePosition( DWORD dwPositionMethod, DWORD dwPartition, DWORD dwOffsetLow, - DWORD dwOffsetHigh + DWORD dwOffsetHigh, + BOOL bImmediate ); DWORD @@ -1894,14 +1963,16 @@ DWORD WINAPI PrepareTape( HANDLE hDevice, - DWORD dwOperation + DWORD dwOperation, + BOOL bImmediate ); DWORD WINAPI EraseTape( HANDLE hDevice, - DWORD dwEraseType + DWORD dwEraseType, + BOOL bImmediate ); DWORD @@ -1918,7 +1989,8 @@ WINAPI WriteTapemark( HANDLE hDevice, DWORD dwTapemarkType, - DWORD dwTapemarkCount + DWORD dwTapemarkCount, + BOOL bImmediate ); DWORD @@ -2084,7 +2156,7 @@ GetSystemTime( BOOL WINAPI SetSystemTime( - LPSYSTEMTIME lpSystemTime + CONST SYSTEMTIME *lpSystemTime ); VOID @@ -2096,7 +2168,7 @@ GetLocalTime( BOOL WINAPI SetLocalTime( - LPSYSTEMTIME lpSystemTime + CONST SYSTEMTIME *lpSystemTime ); VOID @@ -2125,7 +2197,7 @@ GetTimeZoneInformation( BOOL WINAPI SetTimeZoneInformation( - LPTIME_ZONE_INFORMATION lpTimeZoneInformation + CONST TIME_ZONE_INFORMATION *lpTimeZoneInformation ); // @@ -2135,42 +2207,42 @@ SetTimeZoneInformation( BOOL WINAPI SystemTimeToFileTime( - LPSYSTEMTIME lpSystemTime, + CONST SYSTEMTIME *lpSystemTime, LPFILETIME lpFileTime ); BOOL WINAPI FileTimeToLocalFileTime( - LPFILETIME lpFileTime, + CONST FILETIME *lpFileTime, LPFILETIME lpLocalFileTime ); BOOL WINAPI LocalFileTimeToFileTime( - LPFILETIME lpLocalFileTime, + 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 ); @@ -2193,28 +2265,28 @@ DWORD WINAPI 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, - LPVOID lpSource, + LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, LPWSTR lpBuffer, DWORD nSize, - LPVOID lpArguments + va_list *Arguments ); #ifdef UNICODE -#define FormatMessage FormatMessageW +#define FormatMessage FormatMessageW #else -#define FormatMessage FormatMessageA +#define FormatMessage FormatMessageA #endif // !UNICODE #define FORMAT_MESSAGE_ALLOCATE_BUFFER 0x00000100 @@ -2222,6 +2294,7 @@ FormatMessageW( #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 @@ -2292,7 +2365,7 @@ TransactNamedPipe( HANDLE WINAPI CreateMailslotA( - LPSTR lpName, + LPCSTR lpName, DWORD nMaxMessageSize, DWORD lReadTimeout, LPSECURITY_ATTRIBUTES lpSecurityAttributes @@ -2300,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 @@ -2341,7 +2414,7 @@ MapViewOfFile( BOOL WINAPI FlushViewOfFile( - LPVOID lpBaseAddress, + LPCVOID lpBaseAddress, DWORD dwNumberOfBytesToFlush ); @@ -2368,9 +2441,9 @@ lstrcmpW( LPCWSTR lpString2 ); #ifdef UNICODE -#define lstrcmp lstrcmpW +#define lstrcmp lstrcmpW #else -#define lstrcmp lstrcmpA +#define lstrcmp lstrcmpA #endif // !UNICODE int @@ -2386,9 +2459,9 @@ lstrcmpiW( LPCWSTR lpString2 ); #ifdef UNICODE -#define lstrcmpi lstrcmpiW +#define lstrcmpi lstrcmpiW #else -#define lstrcmpi lstrcmpiA +#define lstrcmpi lstrcmpiA #endif // !UNICODE LPSTR @@ -2404,9 +2477,9 @@ lstrcpyW( LPCWSTR lpString2 ); #ifdef UNICODE -#define lstrcpy lstrcpyW +#define lstrcpy lstrcpyW #else -#define lstrcpy lstrcpyA +#define lstrcpy lstrcpyA #endif // !UNICODE LPSTR @@ -2422,9 +2495,9 @@ lstrcatW( LPCWSTR lpString2 ); #ifdef UNICODE -#define lstrcat lstrcatW +#define lstrcat lstrcatW #else -#define lstrcat lstrcatA +#define lstrcat lstrcatA #endif // !UNICODE int @@ -2438,9 +2511,9 @@ lstrlenW( LPCWSTR lpString ); #ifdef UNICODE -#define lstrlen lstrlenW +#define lstrlen lstrlenW #else -#define lstrlen lstrlenA +#define lstrlen lstrlenA #endif // !UNICODE HFILE @@ -2481,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( @@ -2501,6 +2590,8 @@ TlsAlloc( VOID ); +#define TLS_OUT_OF_INDEXES (DWORD)0xFFFFFFFF + LPVOID WINAPI TlsGetValue( @@ -2547,7 +2638,7 @@ DWORD WINAPI WaitForMultipleObjectsEx( DWORD nCount, - LPHANDLE lpHandles, + CONST HANDLE *lpHandles, BOOL bWaitAll, DWORD dwMilliseconds, BOOL bAlertable @@ -2567,7 +2658,7 @@ BOOL WINAPI WriteFileEx( HANDLE hFile, - LPVOID lpBuffer, + LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPOVERLAPPED lpOverlapped, LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine @@ -2587,6 +2678,17 @@ BackupRead( BOOL WINAPI +BackupSeek( + HANDLE hFile, + DWORD dwLowBytesToSeek, + DWORD dwHighBytesToSeek, + LPDWORD lpdwLowByteSeeked, + LPDWORD lpdwHighByteSeeked, + LPVOID *lpContext + ); + +BOOL +WINAPI BackupWrite( HANDLE hFile, LPBYTE lpBuffer, @@ -2598,6 +2700,34 @@ BackupWrite( ); // +// 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. // @@ -2609,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; @@ -2626,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; @@ -2643,13 +2777,16 @@ 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 @@ -2679,13 +2816,13 @@ 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 @@ -2693,19 +2830,19 @@ 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 @@ -2713,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 @@ -2734,7 +2871,7 @@ CreateEventA( LPSECURITY_ATTRIBUTES lpEventAttributes, BOOL bManualReset, BOOL bInitialState, - LPSTR lpName + LPCSTR lpName ); HANDLE WINAPI @@ -2742,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 @@ -2755,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 @@ -2776,7 +2913,7 @@ CreateSemaphoreA( LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, LONG lInitialCount, LONG lMaximumCount, - LPSTR lpName + LPCSTR lpName ); HANDLE WINAPI @@ -2784,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 @@ -2797,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 @@ -2820,7 +2957,7 @@ CreateFileMappingA( DWORD flProtect, DWORD dwMaximumSizeHigh, DWORD dwMaximumSizeLow, - LPSTR lpName + LPCSTR lpName ); HANDLE WINAPI @@ -2830,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 @@ -2843,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 @@ -2871,9 +3008,9 @@ GetLogicalDriveStringsW( LPWSTR lpBuffer ); #ifdef UNICODE -#define GetLogicalDriveStrings GetLogicalDriveStringsW +#define GetLogicalDriveStrings GetLogicalDriveStringsW #else -#define GetLogicalDriveStrings GetLogicalDriveStringsA +#define GetLogicalDriveStrings GetLogicalDriveStringsA #endif // !UNICODE HINSTANCE @@ -2887,9 +3024,9 @@ LoadLibraryW( LPCWSTR lpLibFileName ); #ifdef UNICODE -#define LoadLibrary LoadLibraryW +#define LoadLibrary LoadLibraryW #else -#define LoadLibrary LoadLibraryA +#define LoadLibrary LoadLibraryA #endif // !UNICODE HINSTANCE @@ -2907,9 +3044,9 @@ LoadLibraryExW( DWORD dwFlags ); #ifdef UNICODE -#define LoadLibraryEx LoadLibraryExW +#define LoadLibraryEx LoadLibraryExW #else -#define LoadLibraryEx LoadLibraryExA +#define LoadLibraryEx LoadLibraryExA #endif // !UNICODE #define DONT_RESOLVE_DLL_REFERENCES 0x00000001 @@ -2930,9 +3067,9 @@ GetModuleFileNameW( DWORD nSize ); #ifdef UNICODE -#define GetModuleFileName GetModuleFileNameW +#define GetModuleFileName GetModuleFileNameW #else -#define GetModuleFileName GetModuleFileNameA +#define GetModuleFileName GetModuleFileNameA #endif // !UNICODE HMODULE @@ -2946,9 +3083,9 @@ GetModuleHandleW( LPCWSTR lpModuleName ); #ifdef UNICODE -#define GetModuleHandle GetModuleHandleW +#define GetModuleHandle GetModuleHandleW #else -#define GetModuleHandle GetModuleHandleA +#define GetModuleHandle GetModuleHandleA #endif // !UNICODE BOOL @@ -2961,7 +3098,7 @@ CreateProcessA( BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, - LPSTR lpCurrentDirectory, + LPCSTR lpCurrentDirectory, LPSTARTUPINFOA lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation ); @@ -2975,14 +3112,14 @@ 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 @@ -3012,9 +3149,9 @@ FatalAppExitW( LPCWSTR lpMessageText ); #ifdef UNICODE -#define FatalAppExit FatalAppExitW +#define FatalAppExit FatalAppExitW #else -#define FatalAppExit FatalAppExitA +#define FatalAppExit FatalAppExitA #endif // !UNICODE VOID @@ -3028,9 +3165,9 @@ GetStartupInfoW( LPSTARTUPINFOW lpStartupInfo ); #ifdef UNICODE -#define GetStartupInfo GetStartupInfoW +#define GetStartupInfo GetStartupInfoW #else -#define GetStartupInfo GetStartupInfoA +#define GetStartupInfo GetStartupInfoA #endif // !UNICODE LPSTR @@ -3044,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 @@ -3102,9 +3239,9 @@ ExpandEnvironmentStringsW( DWORD nSize ); #ifdef UNICODE -#define ExpandEnvironmentStrings ExpandEnvironmentStringsW +#define ExpandEnvironmentStrings ExpandEnvironmentStringsW #else -#define ExpandEnvironmentStrings ExpandEnvironmentStringsA +#define ExpandEnvironmentStrings ExpandEnvironmentStringsA #endif // !UNICODE VOID @@ -3118,9 +3255,9 @@ OutputDebugStringW( LPCWSTR lpOutputString ); #ifdef UNICODE -#define OutputDebugString OutputDebugStringW +#define OutputDebugString OutputDebugStringW #else -#define OutputDebugString OutputDebugStringA +#define OutputDebugString OutputDebugStringA #endif // !UNICODE HRSRC @@ -3138,9 +3275,9 @@ FindResourceW( LPCWSTR lpType ); #ifdef UNICODE -#define FindResource FindResourceW +#define FindResource FindResourceW #else -#define FindResource FindResourceA +#define FindResource FindResourceA #endif // !UNICODE HRSRC @@ -3160,9 +3297,9 @@ FindResourceExW( WORD wLanguage ); #ifdef UNICODE -#define FindResourceEx FindResourceExW +#define FindResourceEx FindResourceExW #else -#define FindResourceEx FindResourceExA +#define FindResourceEx FindResourceExA #endif // !UNICODE #ifdef STRICT @@ -3193,9 +3330,9 @@ EnumResourceTypesW( LONG lParam ); #ifdef UNICODE -#define EnumResourceTypes EnumResourceTypesW +#define EnumResourceTypes EnumResourceTypesW #else -#define EnumResourceTypes EnumResourceTypesA +#define EnumResourceTypes EnumResourceTypesA #endif // !UNICODE @@ -3216,9 +3353,9 @@ EnumResourceNamesW( LONG lParam ); #ifdef UNICODE -#define EnumResourceNames EnumResourceNamesW +#define EnumResourceNames EnumResourceNamesW #else -#define EnumResourceNames EnumResourceNamesA +#define EnumResourceNames EnumResourceNamesA #endif // !UNICODE BOOL @@ -3240,35 +3377,35 @@ EnumResourceLanguagesW( 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 @@ -3277,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 @@ -3302,9 +3439,9 @@ EndUpdateResourceW( BOOL fDiscard ); #ifdef UNICODE -#define EndUpdateResource EndUpdateResourceW +#define EndUpdateResource EndUpdateResourceW #else -#define EndUpdateResource EndUpdateResourceA +#define EndUpdateResource EndUpdateResourceA #endif // !UNICODE ATOM @@ -3318,9 +3455,9 @@ GlobalAddAtomW( LPCWSTR lpString ); #ifdef UNICODE -#define GlobalAddAtom GlobalAddAtomW +#define GlobalAddAtom GlobalAddAtomW #else -#define GlobalAddAtom GlobalAddAtomA +#define GlobalAddAtom GlobalAddAtomA #endif // !UNICODE ATOM @@ -3334,9 +3471,9 @@ GlobalFindAtomW( LPCWSTR lpString ); #ifdef UNICODE -#define GlobalFindAtom GlobalFindAtomW +#define GlobalFindAtom GlobalFindAtomW #else -#define GlobalFindAtom GlobalFindAtomA +#define GlobalFindAtom GlobalFindAtomA #endif // !UNICODE UINT @@ -3354,9 +3491,9 @@ GlobalGetAtomNameW( int nSize ); #ifdef UNICODE -#define GlobalGetAtomName GlobalGetAtomNameW +#define GlobalGetAtomName GlobalGetAtomNameW #else -#define GlobalGetAtomName GlobalGetAtomNameA +#define GlobalGetAtomName GlobalGetAtomNameA #endif // !UNICODE ATOM @@ -3370,9 +3507,9 @@ AddAtomW( LPCWSTR lpString ); #ifdef UNICODE -#define AddAtom AddAtomW +#define AddAtom AddAtomW #else -#define AddAtom AddAtomA +#define AddAtom AddAtomA #endif // !UNICODE ATOM @@ -3386,9 +3523,9 @@ FindAtomW( LPCWSTR lpString ); #ifdef UNICODE -#define FindAtom FindAtomW +#define FindAtom FindAtomW #else -#define FindAtom FindAtomA +#define FindAtom FindAtomA #endif // !UNICODE UINT @@ -3406,9 +3543,9 @@ GetAtomNameW( int nSize ); #ifdef UNICODE -#define GetAtomName GetAtomNameW +#define GetAtomName GetAtomNameW #else -#define GetAtomName GetAtomNameA +#define GetAtomName GetAtomNameA #endif // !UNICODE UINT @@ -3416,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 @@ -3450,9 +3587,9 @@ GetProfileStringW( DWORD nSize ); #ifdef UNICODE -#define GetProfileString GetProfileStringW +#define GetProfileString GetProfileStringW #else -#define GetProfileString GetProfileStringA +#define GetProfileString GetProfileStringA #endif // !UNICODE BOOL @@ -3470,9 +3607,9 @@ WriteProfileStringW( LPCWSTR lpString ); #ifdef UNICODE -#define WriteProfileString WriteProfileStringW +#define WriteProfileString WriteProfileStringW #else -#define WriteProfileString WriteProfileStringA +#define WriteProfileString WriteProfileStringA #endif // !UNICODE DWORD @@ -3490,9 +3627,9 @@ GetProfileSectionW( DWORD nSize ); #ifdef UNICODE -#define GetProfileSection GetProfileSectionW +#define GetProfileSection GetProfileSectionW #else -#define GetProfileSection GetProfileSectionA +#define GetProfileSection GetProfileSectionA #endif // !UNICODE BOOL @@ -3508,9 +3645,9 @@ WriteProfileSectionW( LPCWSTR lpString ); #ifdef UNICODE -#define WriteProfileSection WriteProfileSectionW +#define WriteProfileSection WriteProfileSectionW #else -#define WriteProfileSection WriteProfileSectionA +#define WriteProfileSection WriteProfileSectionA #endif // !UNICODE UINT @@ -3518,7 +3655,7 @@ WINAPI GetPrivateProfileIntA( LPCSTR lpAppName, LPCSTR lpKeyName, - DWORD nDefault, + INT nDefault, LPCSTR lpFileName ); UINT @@ -3526,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 @@ -3556,9 +3693,9 @@ GetPrivateProfileStringW( LPCWSTR lpFileName ); #ifdef UNICODE -#define GetPrivateProfileString GetPrivateProfileStringW +#define GetPrivateProfileString GetPrivateProfileStringW #else -#define GetPrivateProfileString GetPrivateProfileStringA +#define GetPrivateProfileString GetPrivateProfileStringA #endif // !UNICODE BOOL @@ -3578,9 +3715,9 @@ WritePrivateProfileStringW( LPCWSTR lpFileName ); #ifdef UNICODE -#define WritePrivateProfileString WritePrivateProfileStringW +#define WritePrivateProfileString WritePrivateProfileStringW #else -#define WritePrivateProfileString WritePrivateProfileStringA +#define WritePrivateProfileString WritePrivateProfileStringA #endif // !UNICODE DWORD @@ -3600,9 +3737,9 @@ GetPrivateProfileSectionW( LPCWSTR lpFileName ); #ifdef UNICODE -#define GetPrivateProfileSection GetPrivateProfileSectionW +#define GetPrivateProfileSection GetPrivateProfileSectionW #else -#define GetPrivateProfileSection GetPrivateProfileSectionA +#define GetPrivateProfileSection GetPrivateProfileSectionA #endif // !UNICODE BOOL @@ -3620,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 @@ -3654,9 +3791,9 @@ GetSystemDirectoryW( UINT uSize ); #ifdef UNICODE -#define GetSystemDirectory GetSystemDirectoryW +#define GetSystemDirectory GetSystemDirectoryW #else -#define GetSystemDirectory GetSystemDirectoryA +#define GetSystemDirectory GetSystemDirectoryA #endif // !UNICODE DWORD @@ -3672,9 +3809,9 @@ GetTempPathW( LPWSTR lpBuffer ); #ifdef UNICODE -#define GetTempPath GetTempPathW +#define GetTempPath GetTempPathW #else -#define GetTempPath GetTempPathA +#define GetTempPath GetTempPathA #endif // !UNICODE UINT @@ -3694,9 +3831,9 @@ GetTempFileNameW( LPWSTR lpTempFileName ); #ifdef UNICODE -#define GetTempFileName GetTempFileNameW +#define GetTempFileName GetTempFileNameW #else -#define GetTempFileName GetTempFileNameA +#define GetTempFileName GetTempFileNameA #endif // !UNICODE UINT @@ -3712,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 @@ -3746,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, @@ -3763,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 @@ -3826,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 @@ -3857,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 @@ -3943,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 @@ -3969,67 +4170,67 @@ 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( - LPSTR lpExistingFileName, - LPSTR lpNewFileName, + LPCSTR lpExistingFileName, + LPCSTR lpNewFileName, DWORD dwFlags ); BOOL WINAPI MoveFileExW( - LPWSTR lpExistingFileName, - LPWSTR lpNewFileName, + LPCWSTR lpExistingFileName, + LPCWSTR lpNewFileName, DWORD dwFlags ); #ifdef UNICODE -#define MoveFileEx MoveFileExW +#define MoveFileEx MoveFileExW #else -#define MoveFileEx MoveFileExA +#define MoveFileEx MoveFileExA #endif // !UNICODE #define MOVEFILE_REPLACE_EXISTING 0x00000001 @@ -4039,7 +4240,7 @@ MoveFileExW( HANDLE WINAPI CreateNamedPipeA( - LPSTR lpName, + LPCSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode, DWORD nMaxInstances, @@ -4051,7 +4252,7 @@ CreateNamedPipeA( HANDLE WINAPI CreateNamedPipeW( - LPWSTR lpName, + LPCWSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode, DWORD nMaxInstances, @@ -4061,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 @@ -4089,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, @@ -4108,7 +4309,7 @@ CallNamedPipeA( BOOL WINAPI CallNamedPipeW( - LPWSTR lpNamedPipeName, + LPCWSTR lpNamedPipeName, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, @@ -4117,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 +#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 SetVolumeLabel SetVolumeLabelA +#endif // !UNICODE + +VOID +WINAPI +SetFileApisToOEM( VOID ); + +BOOL +WINAPI GetVolumeInformationA( - LPSTR lpRootPathName, + LPCSTR lpRootPathName, LPSTR lpVolumeNameBuffer, DWORD nVolumeNameSize, LPDWORD lpVolumeSerialNumber, @@ -4155,7 +4378,7 @@ GetVolumeInformationA( BOOL WINAPI GetVolumeInformationW( - LPWSTR lpRootPathName, + LPCWSTR lpRootPathName, LPWSTR lpVolumeNameBuffer, DWORD nVolumeNameSize, LPDWORD lpVolumeSerialNumber, @@ -4165,9 +4388,9 @@ GetVolumeInformationW( DWORD nFileSystemNameSize ); #ifdef UNICODE -#define GetVolumeInformation GetVolumeInformationW +#define GetVolumeInformation GetVolumeInformationW #else -#define GetVolumeInformation GetVolumeInformationA +#define GetVolumeInformation GetVolumeInformationA #endif // !UNICODE // @@ -4178,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 @@ -4240,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 @@ -4314,9 +4537,9 @@ ReadEventLogW ( DWORD *pnMinNumberOfBytesNeeded ); #ifdef UNICODE -#define ReadEventLog ReadEventLogW +#define ReadEventLog ReadEventLogW #else -#define ReadEventLog ReadEventLogA +#define ReadEventLog ReadEventLogA #endif // !UNICODE BOOL @@ -4329,7 +4552,7 @@ ReportEventA ( PSID lpUserSid, WORD wNumStrings, DWORD dwDataSize, - LPSTR *lpStrings, + LPCSTR *lpStrings, LPVOID lpRawData ); BOOL @@ -4342,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 // @@ -4394,6 +4617,12 @@ RevertToSelf ( VOID ); +BOOL +APIENTRY +SetThreadToken ( + PHANDLE Thread, + HANDLE Token + ); BOOL WINAPI @@ -4485,7 +4714,7 @@ PrivilegeCheck ( BOOL WINAPI AccessCheckAndAuditAlarmA ( - LPSTR SubsystemName, + LPCSTR SubsystemName, LPVOID HandleId, LPSTR ObjectTypeName, LPSTR ObjectName, @@ -4500,7 +4729,7 @@ AccessCheckAndAuditAlarmA ( BOOL WINAPI AccessCheckAndAuditAlarmW ( - LPWSTR SubsystemName, + LPCWSTR SubsystemName, LPVOID HandleId, LPWSTR ObjectTypeName, LPWSTR ObjectName, @@ -4513,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, @@ -4538,7 +4767,7 @@ ObjectOpenAuditAlarmA ( BOOL WINAPI ObjectOpenAuditAlarmW ( - LPWSTR SubsystemName, + LPCWSTR SubsystemName, LPVOID HandleId, LPWSTR ObjectTypeName, LPWSTR ObjectName, @@ -4552,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, @@ -4571,7 +4800,7 @@ ObjectPrivilegeAuditAlarmA ( BOOL WINAPI ObjectPrivilegeAuditAlarmW ( - LPWSTR SubsystemName, + LPCWSTR SubsystemName, LPVOID HandleId, HANDLE ClientToken, DWORD DesiredAccess, @@ -4579,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 @@ -4618,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 @@ -5035,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, @@ -5065,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 @@ -5091,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 @@ -5204,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, @@ -5223,7 +5452,7 @@ LookupAccountSidA( BOOL WINAPI LookupAccountSidW( - LPWSTR lpSystemName, + LPCWSTR lpSystemName, PSID Sid, LPWSTR Name, LPDWORD cbName, @@ -5232,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, @@ -5251,8 +5480,8 @@ LookupAccountNameA( BOOL WINAPI LookupAccountNameW( - LPWSTR lpSystemName, - LPWSTR lpAccountName, + LPCWSTR lpSystemName, + LPCWSTR lpAccountName, PSID Sid, LPDWORD cbSid, LPWSTR ReferencedDomainName, @@ -5260,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 @@ -5296,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 @@ -5319,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 @@ -5340,19 +5569,39 @@ 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 + +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 @@ -5370,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 @@ -5404,9 +5653,9 @@ GetUserNameW ( LPDWORD nSize ); #ifdef UNICODE -#define GetUserName GetUserNameW +#define GetUserName GetUserNameW #else -#define GetUserName GetUserNameA +#define GetUserName GetUserNameA #endif // !UNICODE // @@ -5426,7 +5675,6 @@ QueryPerformanceFrequency( ); - // DOS and OS/2 Compatible Error Code definitions returned by the Win32 Base // API functions. //