From: Keith Marshall Date: Fri, 24 Mar 2017 11:39:12 +0000 (+0000) Subject: Consolidate version specific conditionals. X-Git-Tag: wsl-5.0.1-release~11 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;ds=sidebyside;h=5563640f917c70ddf4ef5a9a8f34cf93030025db;p=mingw%2Fmingw-org-wsl.git Consolidate version specific conditionals. --- diff --git a/w32api/ChangeLog b/w32api/ChangeLog index 41d8c0c..b5dad38 100644 --- a/w32api/ChangeLog +++ b/w32api/ChangeLog @@ -1,3 +1,12 @@ +2017-03-24 Keith Marshall + + Consolidate version specific conditionals. + + * include/winbase.h: Reorganize file content; group manifest constant + definitions into one nested collection of conditional blocks, with one + block per Windows version evolution, sorting alphabetically within each + block; do likewise for data type definitions and function prototypes. + 2017-03-20 Keith Marshall Tidy, and make header effectively self-contained. diff --git a/w32api/include/winbase.h b/w32api/include/winbase.h index 0865c16..ff29412 100644 --- a/w32api/include/winbase.h +++ b/w32api/include/winbase.h @@ -64,6 +64,7 @@ _BEGIN_C_DECLS #define SP_SERIALCOMM 1 + #define PST_UNSPECIFIED 0 #define PST_RS232 1 #define PST_PARALLELPORT 2 @@ -77,6 +78,7 @@ _BEGIN_C_DECLS #define PST_LAT 0x101 #define PST_TCPIP_TELNET 0x102 #define PST_X25 0x103 + #define BAUD_075 1 #define BAUD_110 2 #define BAUD_134_5 4 @@ -97,6 +99,7 @@ _BEGIN_C_DECLS #define BAUD_115200 131072 #define BAUD_57600 262144 #define BAUD_USER 0x10000000 + #define PCF_DTRDSR 1 #define PCF_RTSCTS 2 #define PCF_RLSD 4 @@ -107,6 +110,7 @@ _BEGIN_C_DECLS #define PCF_INTTIMEOUTS 128 #define PCF_SPECIALCHARS 256 #define PCF_16BITMODE 512 + #define SP_PARITY 1 #define SP_BAUD 2 #define SP_DATABITS 4 @@ -114,20 +118,24 @@ _BEGIN_C_DECLS #define SP_HANDSHAKING 16 #define SP_PARITY_CHECK 32 #define SP_RLSD 64 + #define DATABITS_5 1 #define DATABITS_6 2 #define DATABITS_7 4 #define DATABITS_8 8 #define DATABITS_16 16 #define DATABITS_16X 32 + #define STOPBITS_10 1 #define STOPBITS_15 2 #define STOPBITS_20 4 + #define PARITY_NONE 256 #define PARITY_ODD 512 #define PARITY_EVEN 1024 #define PARITY_MARK 2048 #define PARITY_SPACE 4096 + #define EXCEPTION_DEBUG_EVENT 1 #define CREATE_THREAD_DEBUG_EVENT 2 #define CREATE_PROCESS_DEBUG_EVENT 3 @@ -137,11 +145,15 @@ _BEGIN_C_DECLS #define UNLOAD_DLL_DEBUG_EVENT 7 #define OUTPUT_DEBUG_STRING_EVENT 8 #define RIP_EVENT 9 + #define HFILE_ERROR ((HFILE)(-1)) + #define FILE_BEGIN 0 #define FILE_CURRENT 1 #define FILE_END 2 + #define INVALID_SET_FILE_POINTER ((DWORD)(-1)) + #define OF_READ 0 #define OF_READWRITE 2 #define OF_WRITE 1 @@ -158,9 +170,11 @@ _BEGIN_C_DECLS #define OF_PROMPT 8192 #define OF_REOPEN 32768 #define OF_VERIFY 1024 + #define NMPWAIT_NOWAIT 1 #define NMPWAIT_WAIT_FOREVER ((DWORD)(-1)) #define NMPWAIT_USE_DEFAULT_WAIT 0 + #define CE_BREAK 16 #define CE_DNS 2048 #define CE_FRAME 8 @@ -172,36 +186,35 @@ _BEGIN_C_DECLS #define CE_RXOVER 1 #define CE_RXPARITY 4 #define CE_TXFULL 256 + #define PROGRESS_CONTINUE 0 #define PROGRESS_CANCEL 1 #define PROGRESS_STOP 2 #define PROGRESS_QUIET 3 + #define CALLBACK_CHUNK_FINISHED 0 #define CALLBACK_STREAM_SWITCH 1 + #define COPY_FILE_FAIL_IF_EXISTS 0x0001 #define COPY_FILE_RESTARTABLE 0x0002 #define COPY_FILE_OPEN_SOURCE_FOR_WRITE 0x0004 -#if (_WIN32_WINNT > 0x0500) -#define COPY_FILE_ALLOW_DECRYPTED_DESTINATION 0x0008 - -#if (_WIN32_WINNT > 0x0501) -#define COPY_FILE_COPY_SYMLINK 0x0800 -#define COPY_FILE_NO_BUFFERING 0x1000 -#endif -#endif - #define OFS_MAXPATHNAME 128 + #define FILE_MAP_ALL_ACCESS 0xF001F #define FILE_MAP_READ 4 #define FILE_MAP_WRITE 2 #define FILE_MAP_COPY 1 + #define MUTEX_ALL_ACCESS 0x1F0001 #define MUTEX_MODIFY_STATE 1 + #define SEMAPHORE_ALL_ACCESS 0x1F0003 #define SEMAPHORE_MODIFY_STATE 2 + #define EVENT_ALL_ACCESS 0x1F0003 #define EVENT_MODIFY_STATE 2 + #define PIPE_ACCESS_DUPLEX 3 #define PIPE_ACCESS_INBOUND 1 #define PIPE_ACCESS_OUTBOUND 2 @@ -214,6 +227,7 @@ _BEGIN_C_DECLS #define PIPE_CLIENT_END 0 #define PIPE_SERVER_END 1 #define PIPE_UNLIMITED_INSTANCES 255 + #define DEBUG_PROCESS 0x00000001 #define DEBUG_ONLY_THIS_PROCESS 0x00000002 #define CREATE_SUSPENDED 0x00000004 @@ -235,15 +249,19 @@ _BEGIN_C_DECLS #define CREATE_WITH_USERPROFILE 0x02000000 #define CREATE_DEFAULT_ERROR_MODE 0x04000000 #define CREATE_NO_WINDOW 0x08000000 + #define PROFILE_USER 0x10000000 #define PROFILE_KERNEL 0x20000000 #define PROFILE_SERVER 0x40000000 + #define CONSOLE_TEXTMODE_BUFFER 1 + #define CREATE_NEW 1 #define CREATE_ALWAYS 2 #define OPEN_EXISTING 3 #define OPEN_ALWAYS 4 #define TRUNCATE_EXISTING 5 + #define FILE_FLAG_WRITE_THROUGH 0x80000000 #define FILE_FLAG_OVERLAPPED 1073741824 #define FILE_FLAG_NO_BUFFERING 536870912 @@ -255,11 +273,8 @@ _BEGIN_C_DECLS #define FILE_FLAG_OPEN_REPARSE_POINT 2097152 #define FILE_FLAG_OPEN_NO_RECALL 1048576 -#if (_WIN32_WINNT >= 0x0500) -#define FILE_FLAG_FIRST_PIPE_INSTANCE 524288 -#endif - #define SYMBOLIC_LINK_FLAG_DIRECTORY 0x1 + #define CLRDTR 6 #define CLRRTS 4 #define SETDTR 5 @@ -268,8 +283,11 @@ _BEGIN_C_DECLS #define SETXON 2 #define SETBREAK 8 #define CLRBREAK 9 + #define STILL_ACTIVE 0x103 + #define FIND_FIRST_EX_CASE_SENSITIVE 1 + #define SCS_32BIT_BINARY 0 #define SCS_64BIT_BINARY 6 #define SCS_DOS_BINARY 1 @@ -277,14 +295,18 @@ _BEGIN_C_DECLS #define SCS_PIF_BINARY 3 #define SCS_POSIX_BINARY 4 #define SCS_WOW_BINARY 2 + #define MAX_COMPUTERNAME_LENGTH 15 + #define HW_PROFILE_GUIDLEN 39 #define MAX_PROFILE_LEN 80 + #define DOCKINFO_UNDOCKED 1 #define DOCKINFO_DOCKED 2 #define DOCKINFO_USER_SUPPLIED 4 #define DOCKINFO_USER_UNDOCKED (DOCKINFO_USER_SUPPLIED|DOCKINFO_UNDOCKED) #define DOCKINFO_USER_DOCKED (DOCKINFO_USER_SUPPLIED|DOCKINFO_DOCKED) + #define DRIVE_REMOVABLE 2 #define DRIVE_FIXED 3 #define DRIVE_REMOTE 4 @@ -292,6 +314,7 @@ _BEGIN_C_DECLS #define DRIVE_RAMDISK 6 #define DRIVE_UNKNOWN 0 #define DRIVE_NO_ROOT_DIR 1 + #define FILE_TYPE_UNKNOWN 0 #define FILE_TYPE_DISK 1 #define FILE_TYPE_CHAR 2 @@ -306,24 +329,23 @@ _BEGIN_C_DECLS #define FILE_SYSTEM_NOT_SUPPORT 6 #define FILE_UNKNOWN 5 #define FILE_USER_DISALLOWED 7 + /* also in ddk/ntapi.h */ #define HANDLE_FLAG_INHERIT 0x01 #define HANDLE_FLAG_PROTECT_FROM_CLOSE 0x02 /* end ntapi.h */ + #define STD_INPUT_HANDLE (DWORD)(0xfffffff6) #define STD_OUTPUT_HANDLE (DWORD)(0xfffffff5) #define STD_ERROR_HANDLE (DWORD)(0xfffffff4) + #define INVALID_HANDLE_VALUE (HANDLE)(-1) + #define GET_TAPE_MEDIA_INFORMATION 0 #define GET_TAPE_DRIVE_INFORMATION 1 #define SET_TAPE_MEDIA_INFORMATION 0 #define SET_TAPE_DRIVE_INFORMATION 1 -#if (_WIN32_WINNT >= 0x0600) -#define THREAD_MODE_BACKGROUND_BEGIN 0x00010000 -#define THREAD_MODE_BACKGROUND_END 0x00020000 -#endif - #define THREAD_PRIORITY_ABOVE_NORMAL 1 #define THREAD_PRIORITY_BELOW_NORMAL (-1) #define THREAD_PRIORITY_HIGHEST 2 @@ -332,16 +354,19 @@ _BEGIN_C_DECLS #define THREAD_PRIORITY_NORMAL 0 #define THREAD_PRIORITY_TIME_CRITICAL 15 #define THREAD_PRIORITY_ERROR_RETURN 2147483647 + #define TIME_ZONE_ID_UNKNOWN 0 #define TIME_ZONE_ID_STANDARD 1 #define TIME_ZONE_ID_DAYLIGHT 2 #define TIME_ZONE_ID_INVALID 0xFFFFFFFF + #define FS_CASE_IS_PRESERVED 2 #define FS_CASE_SENSITIVE 1 #define FS_UNICODE_STORED_ON_DISK 4 #define FS_PERSISTENT_ACLS 8 #define FS_FILE_COMPRESSION 16 #define FS_VOL_IS_COMPRESSED 32768 + #define GMEM_FIXED 0 #define GMEM_MOVEABLE 2 #define GMEM_MODIFY 128 @@ -360,6 +385,7 @@ _BEGIN_C_DECLS #define GMEM_INVALID_HANDLE 32768 #define GMEM_LOCKCOUNT 255 #define GMEM_VALID_FLAGS 32626 + #define STATUS_WAIT_0 0 #define STATUS_ABANDONED_WAIT_0 0x80 #define STATUS_USER_APC 0xC0 @@ -392,6 +418,7 @@ _BEGIN_C_DECLS #define STATUS_CONTROL_C_EXIT 0xC000013A #define STATUS_DLL_INIT_FAILED 0xC0000142 #define STATUS_DLL_INIT_FAILED_LOGOFF 0xC000026B + #define EXCEPTION_ACCESS_VIOLATION STATUS_ACCESS_VIOLATION #define EXCEPTION_DATATYPE_MISALIGNMENT STATUS_DATATYPE_MISALIGNMENT #define EXCEPTION_BREAKPOINT STATUS_BREAKPOINT @@ -415,14 +442,17 @@ _BEGIN_C_DECLS #define EXCEPTION_GUARD_PAGE STATUS_GUARD_PAGE_VIOLATION #define EXCEPTION_INVALID_HANDLE STATUS_INVALID_HANDLE #define CONTROL_C_EXIT STATUS_CONTROL_C_EXIT + #define PROCESS_HEAP_REGION 1 #define PROCESS_HEAP_UNCOMMITTED_RANGE 2 #define PROCESS_HEAP_ENTRY_BUSY 4 #define PROCESS_HEAP_ENTRY_MOVEABLE 16 #define PROCESS_HEAP_ENTRY_DDESHARE 32 + #define DONT_RESOLVE_DLL_REFERENCES 1 #define LOAD_LIBRARY_AS_DATAFILE 2 #define LOAD_WITH_ALTERED_SEARCH_PATH 8 + #define LMEM_FIXED 0 #define LMEM_MOVEABLE 2 #define LMEM_NONZEROLHND 2 @@ -435,40 +465,31 @@ _BEGIN_C_DECLS #define LMEM_MODIFY 128 #define LMEM_INVALID_HANDLE 32768 #define LMEM_LOCKCOUNT 255 + #define LPTR 64 #define LHND 66 #define NONZEROLHND 2 #define NONZEROLPTR 0 + #define LOCKFILE_FAIL_IMMEDIATELY 1 #define LOCKFILE_EXCLUSIVE_LOCK 2 + #define LOGON32_PROVIDER_DEFAULT 0 #define LOGON32_PROVIDER_WINNT35 1 - -#if (_WIN32_WINNT >= 0x0400) -#define LOGON32_PROVIDER_WINNT40 2 -#endif - -#if (_WIN32_WINNT >= 0x0500) -#define LOGON32_PROVIDER_WINNT50 3 -#endif - #define LOGON32_LOGON_INTERACTIVE 2 #define LOGON32_LOGON_NETWORK 3 #define LOGON32_LOGON_BATCH 4 #define LOGON32_LOGON_SERVICE 5 #define LOGON32_LOGON_UNLOCK 7 -#if (_WIN32_WINNT >= 0x0500) -#define LOGON32_LOGON_NETWORK_CLEARTEXT 8 -#define LOGON32_LOGON_NEW_CREDENTIALS 9 -#endif - #define MOVEFILE_REPLACE_EXISTING 1 #define MOVEFILE_COPY_ALLOWED 2 #define MOVEFILE_DELAY_UNTIL_REBOOT 4 #define MOVEFILE_WRITE_THROUGH 8 + #define MAXIMUM_WAIT_OBJECTS 64 #define MAXIMUM_SUSPEND_COUNT 0x7F + #define WAIT_OBJECT_0 0 #define WAIT_ABANDONED_0 128 @@ -489,10 +510,12 @@ _BEGIN_C_DECLS #define WAIT_IO_COMPLETION 0xC0 #define WAIT_ABANDONED 128 #define WAIT_FAILED ((DWORD)(0xFFFFFFFF)) + #define PURGE_TXABORT 1 #define PURGE_RXABORT 2 #define PURGE_TXCLEAR 4 #define PURGE_RXCLEAR 8 + #define EVENTLOG_SUCCESS 0 #define EVENTLOG_FORWARDS_READ 4 #define EVENTLOG_BACKWARDS_READ 8 @@ -503,6 +526,7 @@ _BEGIN_C_DECLS #define EVENTLOG_INFORMATION_TYPE 4 #define EVENTLOG_AUDIT_SUCCESS 8 #define EVENTLOG_AUDIT_FAILURE 16 + #define FORMAT_MESSAGE_ALLOCATE_BUFFER 256 #define FORMAT_MESSAGE_IGNORE_INSERTS 512 #define FORMAT_MESSAGE_FROM_STRING 1024 @@ -510,6 +534,7 @@ _BEGIN_C_DECLS #define FORMAT_MESSAGE_FROM_SYSTEM 4096 #define FORMAT_MESSAGE_ARGUMENT_ARRAY 8192 #define FORMAT_MESSAGE_MAX_WIDTH_MASK 255 + #define EV_BREAK 64 #define EV_CTS 8 #define EV_DSR 16 @@ -523,6 +548,7 @@ _BEGIN_C_DECLS #define EV_RXCHAR 1 #define EV_RXFLAG 2 #define EV_TXEMPTY 4 + /* also in ddk/ntapi.h */ /* To restore default error mode, call SetErrorMode (0). */ #define SEM_FAILCRITICALERRORS 0x0001 @@ -530,15 +556,20 @@ _BEGIN_C_DECLS #define SEM_NOALIGNMENTFAULTEXCEPT 0x0004 #define SEM_NOOPENFILEERRORBOX 0x8000 /* end ntapi.h */ + #define SLE_ERROR 1 #define SLE_MINORERROR 2 #define SLE_WARNING 3 + #define SHUTDOWN_NORETRY 1 + #define EXCEPTION_EXECUTE_HANDLER 1 #define EXCEPTION_CONTINUE_EXECUTION (-1) #define EXCEPTION_CONTINUE_SEARCH 0 + #define MAXINTATOM 0xC000 #define INVALID_ATOM ((ATOM)(0)) + #define IGNORE 0 #define INFINITE 0xFFFFFFFF #define NOPARITY 0 @@ -564,6 +595,7 @@ _BEGIN_C_DECLS #define CBR_115200 115200 #define CBR_128000 128000 #define CBR_256000 256000 + #define BACKUP_INVALID 0 #define BACKUP_DATA 1 #define BACKUP_EA_DATA 2 @@ -574,10 +606,12 @@ _BEGIN_C_DECLS #define BACKUP_OBJECT_ID 7 #define BACKUP_REPARSE_DATA 8 #define BACKUP_SPARSE_BLOCK 9 + #define STREAM_NORMAL_ATTRIBUTE 0 #define STREAM_MODIFIED_WHEN_READ 1 #define STREAM_CONTAINS_SECURITY 2 #define STREAM_CONTAINS_PROPERTIES 4 + #define STARTF_USESHOWWINDOW 1 #define STARTF_USESIZE 2 #define STARTF_USEPOSITION 4 @@ -588,14 +622,17 @@ _BEGIN_C_DECLS #define STARTF_FORCEOFFFEEDBACK 128 #define STARTF_USESTDHANDLES 256 #define STARTF_USEHOTKEY 512 + #define TC_NORMAL 0 #define TC_HARDERR 1 #define TC_GP_TRAP 2 #define TC_SIGNAL 3 + #define AC_LINE_OFFLINE 0 #define AC_LINE_ONLINE 1 #define AC_LINE_BACKUP_POWER 2 #define AC_LINE_UNKNOWN 255 + #define BATTERY_FLAG_HIGH 1 #define BATTERY_FLAG_LOW 2 #define BATTERY_FLAG_CRITICAL 4 @@ -604,21 +641,27 @@ _BEGIN_C_DECLS #define BATTERY_FLAG_UNKNOWN 255 #define BATTERY_PERCENTAGE_UNKNOWN 255 #define BATTERY_LIFE_UNKNOWN 0xFFFFFFFF + #define DDD_RAW_TARGET_PATH 1 #define DDD_REMOVE_DEFINITION 2 #define DDD_EXACT_MATCH_ON_REMOVE 4 + #define HINSTANCE_ERROR 32 + #define MS_CTS_ON 16 #define MS_DSR_ON 32 #define MS_RING_ON 64 #define MS_RLSD_ON 128 + #define DTR_CONTROL_DISABLE 0 #define DTR_CONTROL_ENABLE 1 #define DTR_CONTROL_HANDSHAKE 2 + #define RTS_CONTROL_DISABLE 0 #define RTS_CONTROL_ENABLE 1 #define RTS_CONTROL_HANDSHAKE 2 #define RTS_CONTROL_TOGGLE 3 + #define SECURITY_ANONYMOUS (SecurityAnonymous<<16) #define SECURITY_IDENTIFICATION (SecurityIdentification<<16) #define SECURITY_IMPERSONATION (SecurityImpersonation<<16) @@ -627,13 +670,55 @@ _BEGIN_C_DECLS #define SECURITY_EFFECTIVE_ONLY 0x80000 #define SECURITY_SQOS_PRESENT 0x100000 #define SECURITY_VALID_SQOS_FLAGS 0x1F0000 + #define INVALID_FILE_SIZE 0xFFFFFFFF #define TLS_OUT_OF_INDEXES (DWORD)(0xFFFFFFFF) + #define GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS 0x00000004 #define GET_MODULE_HANDLE_EX_FLAG_PIN 0x00000001 #define GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT 0x00000002 -#if (_WIN32_WINNT >= 0x0501) +#define WRITE_WATCH_FLAG_RESET 1 + +#if _WIN32_WINNT >= _WIN32_WINNT_NT4 +/* Constants associated with features supported only on WinNT, + * from NT4 onwards. + */ +#define LOGON32_PROVIDER_WINNT40 2 + +#if (_WIN32_WINNT > 0x0500) +/* FIXME: What does this mean? 0x0500 is Win2K, so greater than Win2K + * implies WinXP and later, so does it mean >= WinXP, or is it a typo + * for >= Win2K? Should use >= comparator for clarity. + */ +#define COPY_FILE_ALLOW_DECRYPTED_DESTINATION 0x0008 +#endif + +#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K +/* Constants associated with features supported only on WinXP and later. + */ +#define FILE_FLAG_FIRST_PIPE_INSTANCE 524288 + +#define LOGON32_PROVIDER_WINNT50 3 +#define LOGON32_LOGON_NETWORK_CLEARTEXT 8 +#define LOGON32_LOGON_NEW_CREDENTIALS 9 + +#define REPLACEFILE_WRITE_THROUGH 0x00000001 +#define REPLACEFILE_IGNORE_MERGE_ERRORS 0x00000002 + +#if (_WIN32_WINNT > 0x0501) +/* FIXME: Once again, what does this mean? Should use >= comparator, for + * clarity. 0x0501 is WinXP, but does > WinXP mean Server-2003 (0x0502)? + * Or deoes it mean Vista (0x0600)? (Intuitively, since symlinks weren't + * supported prior to Vista, the latter seems likely). + */ +#define COPY_FILE_COPY_SYMLINK 0x0800 +#define COPY_FILE_NO_BUFFERING 0x1000 +#endif + +#if _WIN32_WINNT >= _WIN32_WINNT_WINXP +/* Constants associated with features supported only on WinXP and later. + */ #define ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID 0x00000001 #define ACTCTX_FLAG_LANGID_VALID 0x00000002 #define ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID 0x00000004 @@ -646,31 +731,36 @@ _BEGIN_C_DECLS #define QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX 0x00000004 #define QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE 0x00000008 #define QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS 0x00000010 -#endif /* (_WIN32_WINNT >= 0x0501) */ - -#if (_WIN32_WINNT >= 0x0500) -#define REPLACEFILE_WRITE_THROUGH 0x00000001 -#define REPLACEFILE_IGNORE_MERGE_ERRORS 0x00000002 -#endif /* (_WIN32_WINNT >= 0x0500) */ - -#define WRITE_WATCH_FLAG_RESET 1 -#if (_WIN32_WINNT >= 0x0601) -#define PROCESS_DEP_ENABLE 1 -#define PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION 2 -#endif +#if _WIN32_WINNT >= _WIN32_WINNT_VISTA +/* Constants associated with features supported only on Vista and later. + */ +#define THREAD_MODE_BACKGROUND_BEGIN 0x00010000 +#define THREAD_MODE_BACKGROUND_END 0x00020000 -#if (_WIN32_WINNT >= 0x0600) /* http://msdn.microsoft.com/en-us/library/aa363866%28VS.85%29.aspx */ #define SYMBOLIC_LINK_FLAG_DIRECTORY 0x1 + /* http://msdn.microsoft.com/en-us/library/aa364962%28VS.85%29.aspx */ #define FILE_NAME_NORMALIZED 0x0 #define FILE_NAME_OPENED 0x8 + #define VOLUME_NAME_DOS 0x0 #define VOLUME_NAME_GUID 0x1 #define VOLUME_NAME_NONE 0x4 #define VOLUME_NAME_NT 0x2 -#endif /* (_WIN32_WINNT >= 0x0600) */ + +#if _WIN32_WINNT >= _WIN32_WINNT_WIN7 +/* Constants associated with features supported only on Win7 and later. + */ +#define PROCESS_DEP_ENABLE 1 +#define PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION 2 + +#endif /* Win7 and later */ +#endif /* WinVista and later */ +#endif /* WinXP and later */ +#endif /* Win2K and later */ +#endif /* WinNT from NT4 */ #ifndef RC_INVOKED @@ -692,94 +782,6 @@ typedef struct _BY_HANDLE_FILE_INFORMATION DWORD nFileIndexLow; } BY_HANDLE_FILE_INFORMATION, *LPBY_HANDLE_FILE_INFORMATION; -#if (_WIN32_WINNT >= 0x0600) -typedef struct _FILE_BASIC_INFO -/* http://msdn.microsoft.com/en-us/library/aa364217%28VS.85%29.aspx */ -{ LARGE_INTEGER CreationTime; - LARGE_INTEGER LastAccessTime; - LARGE_INTEGER LastWriteTime; - LARGE_INTEGER ChangeTime; - DWORD FileAttributes; -} FILE_BASIC_INFO, *PFILE_BASIC_INFO, *LPFILE_BASIC_INFO; - -typedef struct _FILE_STANDARD_INFO -/* http://msdn.microsoft.com/en-us/library/aa364401%28VS.85%29.aspx */ -{ LARGE_INTEGER AllocationSize; - LARGE_INTEGER EndOfFile; - DWORD NumberOfLinks; - BOOL DeletePending; - BOOL Directory; -} FILE_STANDARD_INFO, *PFILE_STANDARD_INFO, *LPFILE_STANDARD_INFO; - -typedef struct _FILE_NAME_INFO -/* http://msdn.microsoft.com/en-us/library/aa364388%28v=VS.85%29.aspx */ -{ DWORD FileNameLength; - WCHAR FileName[1]; -} FILE_NAME_INFO, *PFILE_NAME_INFO, *LPFILE_NAME_INFO; - -typedef struct _FILE_STREAM_INFO -/* http://msdn.microsoft.com/en-us/library/aa364406%28v=VS.85%29.aspx */ -{ DWORD NextEntryOffset; - DWORD StreamNameLength; - LARGE_INTEGER StreamSize; - LARGE_INTEGER StreamAllocationSize; - WCHAR StreamName[1]; -} FILE_STREAM_INFO, *PFILE_STREAM_INFO, *LPFILE_STREAM_INFO; - -typedef struct _FILE_COMPRESSION_INFO -/* http://msdn.microsoft.com/en-us/library/aa364220%28v=VS.85%29.aspx */ -{ LARGE_INTEGER CompressedFileSize; - WORD CompressionFormat; - UCHAR CompressionUnitShift; - UCHAR ChunkShift; - UCHAR ClusterShift; - UCHAR Reserved[3]; -} FILE_COMPRESSION_INFO, *PFILE_COMPRESSION_INFO, *LPFILE_COMPRESSION_INFO; - -typedef struct _FILE_ATTRIBUTE_TAG_INFO -/* http://msdn.microsoft.com/en-us/library/aa364216%28v=VS.85%29.aspx */ -{ DWORD FileAttributes; - DWORD ReparseTag; -} FILE_ATTRIBUTE_TAG_INFO, *PFILE_ATTRIBUTE_TAG_INFO, *LPFILE_ATTRIBUTE_TAG_INFO; - -typedef struct _FILE_ID_BOTH_DIR_INFO -/* http://msdn.microsoft.com/en-us/library/aa364226%28v=VS.85%29.aspx */ -{ DWORD NextEntryOffset; - DWORD FileIndex; - LARGE_INTEGER CreationTime; - LARGE_INTEGER LastAccessTime; - LARGE_INTEGER LastWriteTime; - LARGE_INTEGER ChangeTime; - LARGE_INTEGER EndOfFile; - LARGE_INTEGER AllocationSize; - DWORD FileAttributes; - DWORD FileNameLength; - DWORD EaSize; - CCHAR ShortNameLength; - WCHAR ShortName[12]; - LARGE_INTEGER FileId; - WCHAR FileName[1]; -} FILE_ID_BOTH_DIR_INFO, *PFILE_ID_BOTH_DIR_INFO, *LPFILE_ID_BOTH_DIR_INFO; - -typedef struct _FILE_REMOTE_PROTOCOL_INFO -/* http://msdn.microsoft.com/en-us/library/dd979524%28v=VS.85%29.aspx */ -{ USHORT StructureVersion; - USHORT StructureSize; - ULONG Protocol; - USHORT ProtocolMajorVersion; - USHORT ProtocolMinorVersion; - USHORT ProtocolRevision; - USHORT Reserved; - ULONG Flags; - struct - { ULONG Reserved[8]; - } GenericReserved; - struct - { ULONG Reserved[16]; - } ProtocolSpecificReserved; -} FILE_REMOTE_PROTOCOL_INFO, *PFILE_REMOTE_PROTOCOL_INFO, *LPFILE_REMOTE_PROTOCOL_INFO; -#endif /* (_WIN32_WINNT >= 0x0600) */ - typedef struct _DCB { DWORD DCBlength; DWORD BaudRate; @@ -1175,20 +1177,6 @@ typedef struct _MEMORYSTATUS DWORD dwAvailVirtual; } MEMORYSTATUS, *LPMEMORYSTATUS; -#if (_WIN32_WINNT >= 0x0500) -typedef struct _MEMORYSTATUSEX -{ DWORD dwLength; - DWORD dwMemoryLoad; - DWORDLONG ullTotalPhys; - DWORDLONG ullAvailPhys; - DWORDLONG ullTotalPageFile; - DWORDLONG ullAvailPageFile; - DWORDLONG ullTotalVirtual; - DWORDLONG ullAvailVirtual; - DWORDLONG ullAvailExtendedVirtual; -} MEMORYSTATUSEX, *LPMEMORYSTATUSEX; -#endif - typedef struct _LDT_ENTRY { WORD LimitLow; WORD BaseLow; @@ -1250,110 +1238,11 @@ typedef struct _WIN_CERTIFICATE BYTE bCertificate[1]; } WIN_CERTIFICATE, *LPWIN_CERTIFICATE; -#if (_WIN32_WINNT >= 0x0501) - -typedef struct tagACTCTXA -{ ULONG cbSize; - DWORD dwFlags; - LPCSTR lpSource; - USHORT wProcessorArchitecture; - LANGID wLangId; - LPCSTR lpAssemblyDirectory; - LPCSTR lpResourceName; - LPCSTR lpApplicationName; - HMODULE hModule; -} ACTCTXA, *PACTCTXA; - -typedef struct tagACTCTXW -{ ULONG cbSize; - DWORD dwFlags; - LPCWSTR lpSource; - USHORT wProcessorArchitecture; - LANGID wLangId; - LPCWSTR lpAssemblyDirectory; - LPCWSTR lpResourceName; - LPCWSTR lpApplicationName; - HMODULE hModule; -} ACTCTXW, *PACTCTXW; - -typedef const ACTCTXA *PCACTCTXA; -typedef const ACTCTXW *PCACTCTXW; - -typedef __AW_ALIAS__(ACTCTX), *PACTCTX; -typedef __AW_ALIAS__(PCACTCTX); - -typedef struct tagACTCTX_SECTION_KEYED_DATA -{ ULONG cbSize; - ULONG ulDataFormatVersion; - PVOID lpData; - ULONG ulLength; - PVOID lpSectionGlobalData; - ULONG ulSectionGlobalDataLength; - PVOID lpSectionBase; - ULONG ulSectionTotalLength; - HANDLE hActCtx; - HANDLE ulAssemblyRosterIndex; -} ACTCTX_SECTION_KEYED_DATA, *PACTCTX_SECTION_KEYED_DATA; - -typedef const ACTCTX_SECTION_KEYED_DATA *PCACTCTX_SECTION_KEYED_DATA; - -typedef enum -{ LowMemoryResourceNotification, - HighMemoryResourceNotification -} MEMORY_RESOURCE_NOTIFICATION_TYPE; -#endif - -#if (_WIN32_WINNT >= 0x0500) -typedef enum _COMPUTER_NAME_FORMAT -{ ComputerNameNetBIOS, - ComputerNameDnsHostname, - ComputerNameDnsDomain, - ComputerNameDnsFullyQualified, - ComputerNamePhysicalNetBIOS, - ComputerNamePhysicalDnsHostname, - ComputerNamePhysicalDnsDomain, - ComputerNamePhysicalDnsFullyQualified, - ComputerNameMax -} COMPUTER_NAME_FORMAT; -#endif - -#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410) -typedef DWORD EXECUTION_STATE; -#endif - -#if (_WIN32_WINNT >= 0x0600) -typedef enum _DEP_SYSTEM_POLICY_TYPE -{ AlwaysOn, - AlwaysOff, - OptIn, - OptOut -} DEP_SYSTEM_POLICY_TYPE; - -typedef enum _FILE_INFO_BY_HANDLE_CLASS -/* http://msdn.microsoft.com/en-us/library/aa364228%28v=VS.85%29.aspx */ -{ FileBasicInfo, - FileStandardInfo, - FileNameInfo, - FileRenameInfo, - FileDispositionInfo, - FileAllocationInfo, - FileEndOfFileInfo, - FileStreamInfo, - FileCompressionInfo, - FileAttributeTagInfo, - FileIdBothDirectoryInfo, - FileIdBothDirectoryRestartInfo, - FileIoPriorityHintInfo, - FileRemoteProtocolInfo, - MaximumFileInfoByHandlesClass -} FILE_INFO_BY_HANDLE_CLASS, *PFILE_INFO_BY_HANDLE_CLASS; -#endif - -typedef DWORD (WINAPI *LPPROGRESS_ROUTINE) -( LARGE_INTEGER, LARGE_INTEGER, LARGE_INTEGER, LARGE_INTEGER, - DWORD, DWORD, HANDLE, HANDLE, LPVOID -); -typedef void (WINAPI *LPFIBER_START_ROUTINE)(PVOID); +typedef DWORD (WINAPI *LPPROGRESS_ROUTINE) +( LARGE_INTEGER, LARGE_INTEGER, LARGE_INTEGER, LARGE_INTEGER, + DWORD, DWORD, HANDLE, HANDLE, LPVOID +); +typedef void (WINAPI *LPFIBER_START_ROUTINE)(PVOID); #define ENUMRESLANGPROC __AW_SUFFIXED__(ENUMRESLANGPROC) typedef BOOL (CALLBACK *ENUMRESLANGPROCA)(HMODULE, LPCSTR, LPCSTR, WORD, LONG); @@ -1375,10 +1264,6 @@ typedef PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER; typedef void (APIENTRY *PAPCFUNC)(ULONG_PTR); typedef void (CALLBACK *PTIMERAPCROUTINE)(PVOID, DWORD, DWORD); -#if (_WIN32_WINNT >= 0x0500) -typedef void (CALLBACK *WAITORTIMERCALLBACK)(PVOID, BOOLEAN); -#endif - #define MAKEINTATOM(i) (LPTSTR)((DWORD)((WORD)(i))) /* Functions */ @@ -1416,18 +1301,8 @@ WINBASEAPI BOOL WINAPI AccessCheckAndAuditAlarmW PGENERIC_MAPPING, BOOL, PDWORD, PBOOL, PBOOL ); -#if (_WIN32_WINNT >= 0x0501) -WINBASEAPI BOOL WINAPI ActivateActCtx (HANDLE, ULONG_PTR *); -#endif - WINBASEAPI BOOL WINAPI AddAccessAllowedAce (PACL, DWORD, DWORD, PSID); WINBASEAPI BOOL WINAPI AddAccessDeniedAce (PACL, DWORD, DWORD, PSID); - -#if (_WIN32_WINNT >= 0x0500) -WINBASEAPI BOOL WINAPI AddAccessAllowedAceEx (PACL, DWORD, DWORD, DWORD, PSID); -WINBASEAPI BOOL WINAPI AddAccessDeniedAceEx (PACL, DWORD, DWORD, DWORD, PSID); -#endif - WINBASEAPI BOOL WINAPI AddAce (PACL, DWORD, DWORD, PVOID, DWORD); #define AddAtom __AW_SUFFIXED__(AddAtom) @@ -1435,16 +1310,6 @@ WINBASEAPI ATOM WINAPI AddAtomA (LPCSTR); WINBASEAPI ATOM WINAPI AddAtomW (LPCWSTR); WINBASEAPI BOOL WINAPI AddAuditAccessAce (PACL, DWORD, DWORD, PSID, BOOL, BOOL); - -#if (_WIN32_WINNT >= 0x0501) -WINBASEAPI void WINAPI AddRefActCtx (HANDLE); -#endif - -#if (_WIN32_WINNT >= 0x0500) -WINBASEAPI PVOID WINAPI AddVectoredExceptionHandler -(ULONG, PVECTORED_EXCEPTION_HANDLER); -#endif - WINBASEAPI BOOL WINAPI AdjustTokenGroups (HANDLE, BOOL, PTOKEN_GROUPS, DWORD, PTOKEN_GROUPS, PDWORD); WINBASEAPI BOOL WINAPI AdjustTokenPrivileges @@ -1492,25 +1357,6 @@ WINBASEAPI BOOL WINAPI CallNamedPipeW WINBASEAPI BOOL WINAPI CancelDeviceWakeupRequest (HANDLE); WINBASEAPI BOOL WINAPI CancelIo (HANDLE); WINBASEAPI BOOL WINAPI CancelWaitableTimer (HANDLE); - -#if (_WIN32_WINNT >= 0x0500) -WINBASEAPI BOOL WINAPI ChangeTimerQueueTimer (HANDLE, HANDLE, ULONG, ULONG); -#endif - -#if (_WIN32_WINNT >= 0x0501) -#define CheckNameLegalDOS8Dot3 __AW_SUFFIXED__(CheckNameLegalDOS8Dot3) -WINBASEAPI BOOL WINAPI CheckNameLegalDOS8Dot3A -(LPCSTR, LPSTR, DWORD, PBOOL, PBOOL); -WINBASEAPI BOOL WINAPI CheckNameLegalDOS8Dot3W -(LPCWSTR, LPSTR, DWORD, PBOOL, PBOOL); - -WINBASEAPI BOOL WINAPI CheckRemoteDebuggerPresent (HANDLE, PBOOL); -#endif - -#if (_WIN32_WINNT >= 0x0500) -WINBASEAPI BOOL WINAPI CheckTokenMembership (HANDLE, PSID, PBOOL); -#endif - WINBASEAPI BOOL WINAPI ClearCommBreak (HANDLE); WINBASEAPI BOOL WINAPI ClearCommError (HANDLE, PDWORD, LPCOMSTAT); @@ -1528,10 +1374,6 @@ WINBASEAPI BOOL WINAPI CommConfigDialogW (LPCWSTR, HWND, LPCOMMCONFIG); WINBASEAPI LONG WINAPI CompareFileTime (CONST FILETIME *, CONST FILETIME *); WINBASEAPI BOOL WINAPI ConnectNamedPipe (HANDLE, LPOVERLAPPED); WINBASEAPI BOOL WINAPI ContinueDebugEvent (DWORD, DWORD, DWORD); - -#if (_WIN32_WINNT >= 0x0400) -WINBASEAPI BOOL WINAPI ConvertFiberToThread (void); -#endif WINBASEAPI PVOID WINAPI ConvertThreadToFiber (PVOID); #define CopyFile __AW_SUFFIXED__(CopyFile) @@ -1555,12 +1397,6 @@ WINBASEAPI BOOL WINAPI CopyFileExW WINBASEAPI BOOL WINAPI CopySid (DWORD, PSID, PSID); -#if (_WIN32_WINNT >= 0x0501) -#define CreateActCtx __AW_SUFFIXED__(CreateActCtx) -WINBASEAPI HANDLE WINAPI CreateActCtxA (PCACTCTXA); -WINBASEAPI HANDLE WINAPI CreateActCtxW (PCACTCTXW); -#endif - #define CreateDirectory __AW_SUFFIXED__(CreateDirectory) WINBASEAPI BOOL WINAPI CreateDirectoryA (LPCSTR, LPSECURITY_ATTRIBUTES); WINBASEAPI BOOL WINAPI CreateDirectoryW (LPCWSTR, LPSECURITY_ATTRIBUTES); @@ -1579,11 +1415,6 @@ WINBASEAPI HANDLE WINAPI CreateEventW WINBASEAPI LPVOID WINAPI CreateFiber (SIZE_T, LPFIBER_START_ROUTINE, LPVOID); -#if (_WIN32_WINNT >= 0x0400) -WINBASEAPI LPVOID WINAPI CreateFiberEx -(SIZE_T, SIZE_T, DWORD, LPFIBER_START_ROUTINE, LPVOID); -#endif - #define CreateFile __AW_SUFFIXED__(CreateFile) WINBASEAPI HANDLE WINAPI CreateFileA (LPCSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE); @@ -1596,40 +1427,15 @@ WINBASEAPI HANDLE WINAPI CreateFileMappingA WINBASEAPI HANDLE WINAPI CreateFileMappingW (HANDLE, LPSECURITY_ATTRIBUTES, DWORD, DWORD, DWORD, LPCWSTR); -#if (_WIN32_WINNT >= 0x0500) -#define CreateHardLink __AW_SUFFIXED__(CreateHardLink) -WINBASEAPI BOOL WINAPI CreateHardLinkA (LPCSTR, LPCSTR, LPSECURITY_ATTRIBUTES); -WINBASEAPI BOOL WINAPI CreateHardLinkW -(LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES); -#endif - WINBASEAPI HANDLE WINAPI CreateIoCompletionPort (HANDLE, HANDLE, ULONG_PTR, DWORD); -#if (_WIN32_WINNT >= 0x0500) -#define CreateJobObject __AW_SUFFIXED__(CreateJobObject) -WINBASEAPI HANDLE WINAPI CreateJobObjectA (LPSECURITY_ATTRIBUTES, LPCSTR); -WINBASEAPI HANDLE WINAPI CreateJobObjectW (LPSECURITY_ATTRIBUTES, LPCWSTR); - -WINBASEAPI BOOL WINAPI TerminateJobObject (HANDLE, UINT); -WINBASEAPI BOOL WINAPI AssignProcessToJobObject (HANDLE, HANDLE); -WINBASEAPI BOOL WINAPI SetInformationJobObject -(HANDLE, JOBOBJECTINFOCLASS, LPVOID, DWORD); -WINBASEAPI BOOL WINAPI QueryInformationJobObject -(HANDLE, JOBOBJECTINFOCLASS, LPVOID, DWORD, LPDWORD); -#endif - #define CreateMailslot __AW_SUFFIXED__(CreateMailslot) WINBASEAPI HANDLE WINAPI CreateMailslotA (LPCSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES); WINBASEAPI HANDLE WINAPI CreateMailslotW (LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES); -#if (_WIN32_WINNT >= 0x0501) -WINBASEAPI HANDLE WINAPI CreateMemoryResourceNotification -(MEMORY_RESOURCE_NOTIFICATION_TYPE); -#endif - #define CreateMutex __AW_SUFFIXED__(CreateMutex) WINBASEAPI HANDLE WINAPI CreateMutexA (LPSECURITY_ATTRIBUTES, BOOL, LPCSTR); WINBASEAPI HANDLE WINAPI CreateMutexW (LPSECURITY_ATTRIBUTES, BOOL, LPCWSTR); @@ -1667,51 +1473,18 @@ WINBASEAPI BOOL WINAPI CreateProcessAsUserW BOOL, DWORD, PVOID, LPCWSTR, LPSTARTUPINFOW, LPPROCESS_INFORMATION ); -#if (_WIN32_WINNT >= 0x0500) -WINBASEAPI BOOL WINAPI CreateProcessWithLogonW -( LPCWSTR, LPCWSTR, LPCWSTR, DWORD, LPCWSTR, LPWSTR, DWORD, LPVOID, - LPCWSTR, LPSTARTUPINFOW, LPPROCESS_INFORMATION -); -#define LOGON_WITH_PROFILE 0x00000001 -#define LOGON_NETCREDENTIALS_ONLY 0x00000002 -#endif - WINBASEAPI HANDLE WINAPI CreateRemoteThread ( HANDLE, LPSECURITY_ATTRIBUTES, DWORD, LPTHREAD_START_ROUTINE, LPVOID, DWORD, LPDWORD ); -#if (_WIN32_WINNT >= 0x0500) -WINBASEAPI BOOL WINAPI CreateRestrictedToken -( HANDLE, DWORD, DWORD, PSID_AND_ATTRIBUTES, DWORD, PLUID_AND_ATTRIBUTES, - DWORD, PSID_AND_ATTRIBUTES, PHANDLE -); -#define DISABLE_MAX_PRIVILEGE 1 -#define SANDBOX_INERT 2 -#define LUA_TOKEN 4 -#define WRITE_RESTRICTED 8 -#endif - #define CreateSemaphore __AW_SUFFIXED__(CreateSemaphore) WINBASEAPI HANDLE WINAPI CreateSemaphoreA (LPSECURITY_ATTRIBUTES, LONG, LONG, LPCSTR); WINBASEAPI HANDLE WINAPI CreateSemaphoreW (LPSECURITY_ATTRIBUTES, LONG, LONG, LPCWSTR); -#if (_WIN32_WINNT >= 0x0600) -#define CreateSymbolicLink __AW_SUFFIXED__(CreateSymbolicLink) -WINBASEAPI BOOL WINAPI CreateSymbolicLinkA (LPCSTR, LPCSTR, DWORD); -WINBASEAPI BOOL WINAPI CreateSymbolicLinkW (LPCWSTR, LPCWSTR, DWORD); -#endif - WINBASEAPI DWORD WINAPI CreateTapePartition (HANDLE, DWORD, DWORD, DWORD); - -#if (_WIN32_WINNT >= 0x0500) -WINBASEAPI HANDLE WINAPI CreateTimerQueue (void); -WINBASEAPI BOOL WINAPI CreateTimerQueueTimer -(PHANDLE, HANDLE, WAITORTIMERCALLBACK, PVOID, DWORD, DWORD, ULONG); -#endif - WINBASEAPI HANDLE WINAPI CreateThread (LPSECURITY_ATTRIBUTES, DWORD, LPTHREAD_START_ROUTINE, PVOID, DWORD, PDWORD); @@ -1721,23 +1494,9 @@ WINBASEAPI HANDLE WINAPI CreateWaitableTimerA WINBASEAPI HANDLE WINAPI CreateWaitableTimerW (LPSECURITY_ATTRIBUTES, BOOL, LPCWSTR); -#if (_WIN32_WINNT >= 0x0501) -WINBASEAPI BOOL WINAPI DeactivateActCtx (DWORD, ULONG_PTR); -#endif - WINBASEAPI BOOL WINAPI DebugActiveProcess (DWORD); - -#if (_WIN32_WINNT >= 0x0501) -WINBASEAPI BOOL WINAPI DebugActiveProcessStop (DWORD); -#endif - WINBASEAPI void WINAPI DebugBreak (void); -#if (_WIN32_WINNT >= 0x0501) -WINBASEAPI BOOL WINAPI DebugBreakProcess (HANDLE); -WINBASEAPI BOOL WINAPI DebugSetProcessKillOnExit (BOOL); -#endif - #define DefineDosDevice __AW_SUFFIXED__(DefineDosDevice) WINBASEAPI BOOL WINAPI DefineDosDeviceA (DWORD, LPCSTR, LPCSTR); WINBASEAPI BOOL WINAPI DefineDosDeviceW (DWORD, LPCWSTR, LPCWSTR); @@ -1753,28 +1512,11 @@ WINBASEAPI void WINAPI DeleteFiber (PVOID); WINBASEAPI BOOL WINAPI DeleteFileA (LPCSTR); WINBASEAPI BOOL WINAPI DeleteFileW (LPCWSTR); -#if (_WIN32_WINNT >= 0x0500) -WINBASEAPI BOOL WINAPI DeleteTimerQueue (HANDLE); -WINBASEAPI BOOL WINAPI DeleteTimerQueueEx (HANDLE, HANDLE); -WINBASEAPI BOOL WINAPI DeleteTimerQueueTimer (HANDLE, HANDLE, HANDLE); - -#define DeleteVolumeMountPoint __AW_SUFFIXED__(DeleteVolumeMountPoint) -WINBASEAPI BOOL WINAPI DeleteVolumeMountPointA (LPCSTR); -WINBASEAPI BOOL WINAPI DeleteVolumeMountPointW (LPCWSTR); -#endif - WINBASEAPI BOOL WINAPI DeregisterEventSource (HANDLE); WINBASEAPI BOOL WINAPI DestroyPrivateObjectSecurity (PSECURITY_DESCRIPTOR *); WINBASEAPI BOOL WINAPI DeviceIoControl (HANDLE, DWORD, PVOID, DWORD, PVOID, DWORD, PDWORD, POVERLAPPED); WINBASEAPI BOOL WINAPI DisableThreadLibraryCalls (HMODULE); - -#if (_WIN32_WINNT >= 0x0500) -#define DnsHostnameToComputerName __AW_SUFFIXED__(DnsHostnameToComputerName) -WINBASEAPI BOOL WINAPI DnsHostnameToComputerNameA (LPCSTR, LPSTR, LPDWORD); -WINBASEAPI BOOL WINAPI DnsHostnameToComputerNameW (LPCWSTR, LPWSTR, LPDWORD); -#endif - WINBASEAPI BOOL WINAPI DisconnectNamedPipe (HANDLE); WINBASEAPI BOOL WINAPI DosDateTimeToFileTime (WORD, WORD, LPFILETIME); WINBASEAPI BOOL WINAPI DuplicateHandle @@ -1837,17 +1579,6 @@ WINBASEAPI BOOL WINAPI FileTimeToDosDateTime (CONST FILETIME *, LPWORD, LPWORD); WINBASEAPI BOOL WINAPI FileTimeToLocalFileTime (CONST FILETIME *, LPFILETIME); WINBASEAPI BOOL WINAPI FileTimeToSystemTime (CONST FILETIME *, LPSYSTEMTIME); -#if (_WIN32_WINNT >= 0x0501) -WINBASEAPI BOOL WINAPI FindActCtxSectionGuid -(DWORD, const GUID *, ULONG, const GUID *, PACTCTX_SECTION_KEYED_DATA); - -#define FindActCtxSectionString __AW_SUFFIXED__(FindActCtxSectionString) -WINBASEAPI BOOL WINAPI FindActCtxSectionStringA -(DWORD, const GUID *, ULONG, LPCSTR, PACTCTX_SECTION_KEYED_DATA); -WINBASEAPI BOOL WINAPI FindActCtxSectionStringW -(DWORD, const GUID *, ULONG, LPCWSTR, PACTCTX_SECTION_KEYED_DATA); -#endif - #define FindAtom __AW_SUFFIXED__(FindAtom) WINBASEAPI ATOM WINAPI FindAtomA (LPCSTR); WINBASEAPI ATOM WINAPI FindAtomW (LPCWSTR); @@ -1870,36 +1601,12 @@ WINBASEAPI HANDLE WINAPI FindFirstFileExW (LPCWSTR, FINDEX_INFO_LEVELS, PVOID, FINDEX_SEARCH_OPS, PVOID, DWORD); WINBASEAPI BOOL WINAPI FindFirstFreeAce (PACL, PVOID *); - -#if (_WIN32_WINNT >= 0x0500) -#define FindFirstVolume __AW_SUFFIXED__(FindFirstVolume) -WINBASEAPI HANDLE WINAPI FindFirstVolumeA (LPCSTR, DWORD); -WINBASEAPI HANDLE WINAPI FindFirstVolumeW (LPCWSTR, DWORD); - -#define FindFirstVolumeMountPoint __AW_SUFFIXED__(FindFirstVolumeMountPoint) -WINBASEAPI HANDLE WINAPI FindFirstVolumeMountPointA (LPSTR, LPSTR, DWORD); -WINBASEAPI HANDLE WINAPI FindFirstVolumeMountPointW (LPWSTR, LPWSTR, DWORD); -#endif - WINBASEAPI BOOL WINAPI FindNextChangeNotification (HANDLE); #define FindNextFile __AW_SUFFIXED__(FindNextFile) WINBASEAPI BOOL WINAPI FindNextFileA (HANDLE, LPWIN32_FIND_DATAA); WINBASEAPI BOOL WINAPI FindNextFileW (HANDLE, LPWIN32_FIND_DATAW); -#if (_WIN32_WINNT >= 0x0500) -#define FindNextVolume __AW_SUFFIXED__(FindNextVolume) -WINBASEAPI BOOL WINAPI FindNextVolumeA (HANDLE, LPCSTR, DWORD); -WINBASEAPI BOOL WINAPI FindNextVolumeW (HANDLE, LPWSTR, DWORD); - -#define FindNextVolumeMountPoint __AW_SUFFIXED__(FindNextVolumeMountPoint) -WINBASEAPI BOOL WINAPI FindNextVolumeMountPointA (HANDLE, LPSTR, DWORD); -WINBASEAPI BOOL WINAPI FindNextVolumeMountPointW (HANDLE, LPWSTR, DWORD); - -WINBASEAPI BOOL WINAPI FindVolumeClose (HANDLE); -WINBASEAPI BOOL WINAPI FindVolumeMountPointClose (HANDLE); -#endif - #define FindResource __AW_SUFFIXED__(FindResource) WINBASEAPI HRSRC WINAPI FindResourceA (HMODULE, LPCSTR, LPCSTR); WINBASEAPI HRSRC WINAPI FindResourceW (HINSTANCE, LPCWSTR, LPCWSTR); @@ -1908,16 +1615,6 @@ WINBASEAPI HRSRC WINAPI FindResourceW (HINSTANCE, LPCWSTR, LPCWSTR); WINBASEAPI HRSRC WINAPI FindResourceExA (HINSTANCE, LPCSTR, LPCSTR, WORD); WINBASEAPI HRSRC WINAPI FindResourceExW (HINSTANCE, LPCWSTR, LPCWSTR, WORD); -#if (_WIN32_WINNT >= 0x0502) -/* GetFirmwareEnvironmentVariable: previously missing UNICODE vs. ANSI define */ -#define \ -GetFirmwareEnvironmentVariable __AW_SUFFIXED__(GetFirmwareEnvironmentVariable) -WINBASEAPI DWORD WINAPI GetFirmwareEnvironmentVariableA -(LPCSTR, LPCSTR, PVOID, DWORD); -WINBASEAPI DWORD WINAPI GetFirmwareEnvironmentVariableW -(LPCWSTR, LPCWSTR, PVOID, DWORD); -#endif - WINBASEAPI BOOL WINAPI FlushFileBuffers (HANDLE); WINBASEAPI BOOL WINAPI FlushInstructionCache (HANDLE, PCVOID, DWORD); WINBASEAPI BOOL WINAPI FlushViewOfFile (PCVOID, DWORD); @@ -1975,18 +1672,6 @@ WINBASEAPI DWORD WINAPI GetCompressedFileSizeW (LPCWSTR, PDWORD); WINBASEAPI BOOL WINAPI GetComputerNameA (LPSTR, PDWORD); WINBASEAPI BOOL WINAPI GetComputerNameW (LPWSTR, PDWORD); -#if (_WIN32_WINNT >= 0x0500) -#define GetComputerNameEx __AW_SUFFIXED__(GetComputerNameEx) -WINBASEAPI BOOL WINAPI GetComputerNameExA -(COMPUTER_NAME_FORMAT, LPSTR, LPDWORD); -WINBASEAPI BOOL WINAPI GetComputerNameExW -(COMPUTER_NAME_FORMAT, LPWSTR, LPDWORD); -#endif - -#if (_WIN32_WINNT >= 0x0501) -WINBASEAPI BOOL WINAPI GetCurrentActCtx (HANDLE *); -#endif - #define GetCurrentDirectory __AW_SUFFIXED__(GetCurrentDirectory) WINBASEAPI DWORD WINAPI GetCurrentDirectoryA (DWORD, LPSTR); WINBASEAPI DWORD WINAPI GetCurrentDirectoryW (DWORD, LPWSTR); @@ -2026,12 +1711,6 @@ WINBASEAPI BOOL WINAPI GetDiskFreeSpaceExA WINBASEAPI BOOL WINAPI GetDiskFreeSpaceExW (LPCWSTR, PULARGE_INTEGER, PULARGE_INTEGER, PULARGE_INTEGER); -#if (_WIN32_WINNT >= 0x0502) -#define GetDllDirectory __AW_SUFFIXED__(GetDllDirectory) -WINBASEAPI DWORD WINAPI GetDllDirectoryA (DWORD, LPSTR); -WINBASEAPI DWORD WINAPI GetDllDirectoryW (DWORD, LPWSTR); -#endif - #define GetDriveType __AW_SUFFIXED__(GetDriveType) WINBASEAPI UINT WINAPI GetDriveTypeA (LPCSTR); WINBASEAPI UINT WINAPI GetDriveTypeW (LPCWSTR); @@ -2062,12 +1741,6 @@ WINBASEAPI BOOL WINAPI GetFileAttributesExW WINBASEAPI BOOL WINAPI GetFileInformationByHandle (HANDLE, LPBY_HANDLE_FILE_INFORMATION); -#if (_WIN32_WINNT >= 0x0600) -/* http://msdn.microsoft.com/en-us/library/aa364953%28VS.85%29.aspx */ -WINBASEAPI BOOL WINAPI GetFileInformationByHandleEx -(HANDLE, FILE_INFO_BY_HANDLE_CLASS, LPVOID, DWORD); -#endif - #define GetFileSecurity __AW_SUFFIXED__(GetFileSecurity) WINBASEAPI BOOL WINAPI GetFileSecurityA (LPCSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, PDWORD); @@ -2075,22 +1748,9 @@ WINBASEAPI BOOL WINAPI GetFileSecurityW (LPCWSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, PDWORD); WINBASEAPI DWORD WINAPI GetFileSize (HANDLE, PDWORD); - -#if (_WIN32_WINNT >= 0x0500) -WINBASEAPI BOOL WINAPI GetFileSizeEx (HANDLE, PLARGE_INTEGER); -#endif - WINBASEAPI BOOL WINAPI GetFileTime (HANDLE, LPFILETIME, LPFILETIME, LPFILETIME); WINBASEAPI DWORD WINAPI GetFileType (HANDLE); -#if (_WIN32_WINNT >= 0x0600) -/* http://msdn.microsoft.com/en-us/library/aa364962%28VS.85%29.aspx */ -#define GetFinalPathNameByHandle __AW_SUFFIXED__(GetFinalPathNameByHandle) -WINBASEAPI DWORD WINAPI GetFinalPathNameByHandleA (HANDLE, LPSTR, DWORD, DWORD); -WINBASEAPI DWORD WINAPI GetFinalPathNameByHandleW -(HANDLE, LPWSTR, DWORD, DWORD); -#endif - #define GetFreeSpace(w) (0x100000L) #define GetFullPathName __AW_SUFFIXED__(GetFullPathName) @@ -2109,12 +1769,6 @@ WINBASEAPI DWORD WINAPI GetLogicalDrives (void); WINBASEAPI DWORD WINAPI GetLogicalDriveStringsA (DWORD, LPSTR); WINBASEAPI DWORD WINAPI GetLogicalDriveStringsW (DWORD, LPWSTR); -#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410) -#define GetLongPathName __AW_SUFFIXED__(GetLongPathName) -WINBASEAPI DWORD WINAPI GetLongPathNameA (LPCSTR, LPSTR, DWORD); -WINBASEAPI DWORD WINAPI GetLongPathNameW (LPCWSTR, LPWSTR, DWORD); -#endif - WINBASEAPI BOOL WINAPI GetMailslotInfo (HANDLE, PDWORD, PDWORD, PDWORD, PDWORD); #define GetModuleFileName __AW_SUFFIXED__(GetModuleFileName) @@ -2125,12 +1779,6 @@ WINBASEAPI DWORD WINAPI GetModuleFileNameW (HINSTANCE, LPWSTR, DWORD); WINBASEAPI HMODULE WINAPI GetModuleHandleA (LPCSTR); WINBASEAPI HMODULE WINAPI GetModuleHandleW (LPCWSTR); -#if (_WIN32_WINNT >= 0x0501) -#define GetModuleHandleEx __AW_SUFFIXED__(GetModuleHandleEx) -WINBASEAPI BOOL WINAPI GetModuleHandleExA (DWORD, LPCSTR, HMODULE *); -WINBASEAPI BOOL WINAPI GetModuleHandleExW (DWORD, LPCWSTR, HMODULE *); -#endif - #define GetNamedPipeHandleState __AW_SUFFIXED__(GetNamedPipeHandleState) WINBASEAPI BOOL WINAPI GetNamedPipeHandleStateA (HANDLE, PDWORD, PDWORD, PDWORD, PDWORD, LPSTR, DWORD); @@ -2139,11 +1787,6 @@ WINBASEAPI BOOL WINAPI GetNamedPipeHandleStateW WINBASEAPI BOOL WINAPI GetNamedPipeInfo (HANDLE, PDWORD, PDWORD, PDWORD, PDWORD); - -#if (_WIN32_WINNT >= 0x0501) -WINBASEAPI VOID WINAPI GetNativeSystemInfo (LPSYSTEM_INFO); -#endif - WINBASEAPI BOOL WINAPI GetNumberOfEventLogRecords (HANDLE, PDWORD); WINBASEAPI BOOL WINAPI GetOldestEventLogRecord (HANDLE, PDWORD); WINBASEAPI BOOL WINAPI GetOverlappedResult (HANDLE, LPOVERLAPPED, PDWORD, BOOL); @@ -2183,25 +1826,8 @@ WINBASEAPI BOOL WINAPI GetPrivateProfileStructW WINBASEAPI FARPROC WINAPI GetProcAddress (HINSTANCE, LPCSTR); WINBASEAPI BOOL WINAPI GetProcessAffinityMask (HANDLE, PDWORD, PDWORD); -#if (_WIN32_WINNT >= 0x0601) -WINBASEAPI BOOL WINAPI GetProcessDEPPolicy (HANDLE, LPDWORD, PBOOL); -#endif - -#if (_WIN32_WINNT >= 0x0501) -WINBASEAPI BOOL WINAPI GetProcessHandleCount (HANDLE, PDWORD); -#endif - WINBASEAPI HANDLE WINAPI GetProcessHeap (VOID); WINBASEAPI DWORD WINAPI GetProcessHeaps (DWORD, PHANDLE); - -#if (_WIN32_WINNT >= 0x0501) -WINBASEAPI DWORD WINAPI GetProcessId (HANDLE); -#endif - -#if (_WIN32_WINNT >= 0x0500) -WINBASEAPI BOOL WINAPI GetProcessIoCounters (HANDLE, PIO_COUNTERS); -#endif - WINBASEAPI BOOL WINAPI GetProcessPriorityBoost (HANDLE, PBOOL); WINBASEAPI BOOL WINAPI GetProcessShutdownParameters (PDWORD, PDWORD); WINBASEAPI BOOL WINAPI GetProcessTimes @@ -2253,42 +1879,15 @@ WINBASEAPI VOID WINAPI GetStartupInfoW (LPSTARTUPINFOW); WINBASEAPI HANDLE WINAPI GetStdHandle (DWORD); -#if (_WIN32_WINNT >= 0x0601) -WINBASEAPI DEP_SYSTEM_POLICY_TYPE WINAPI GetSystemDEPPolicy (void); -#endif - #define GetSystemDirectory __AW_SUFFIXED__(GetSystemDirectory) WINBASEAPI UINT WINAPI GetSystemDirectoryA (LPSTR, UINT); WINBASEAPI UINT WINAPI GetSystemDirectoryW (LPWSTR, UINT); WINBASEAPI VOID WINAPI GetSystemInfo (LPSYSTEM_INFO); WINBASEAPI BOOL WINAPI GetSystemPowerStatus (LPSYSTEM_POWER_STATUS); - -#if (_WIN32_WINNT >= 0x0501) -WINBASEAPI BOOL WINAPI GetSystemRegistryQuota (PDWORD, PDWORD); -#endif - WINBASEAPI VOID WINAPI GetSystemTime (LPSYSTEMTIME); - -#if (_WIN32_WINNT >= 0x0501) -WINBASEAPI BOOL WINAPI GetSystemTimes (LPFILETIME, LPFILETIME, LPFILETIME); -#endif - WINBASEAPI BOOL WINAPI GetSystemTimeAdjustment (PDWORD, PDWORD, PBOOL); WINBASEAPI void WINAPI GetSystemTimeAsFileTime (LPFILETIME); - -#if (_WIN32_WINNT >= 0x0500) -#define GetSystemWindowsDirectory __AW_SUFFIXED__(GetSystemWindowsDirectory) -WINBASEAPI UINT WINAPI GetSystemWindowsDirectoryA (LPSTR, UINT); -WINBASEAPI UINT WINAPI GetSystemWindowsDirectoryW (LPWSTR, UINT); -#endif - -#if (_WIN32_WINNT >= 0x0501) -#define GetSystemWow64Directory __AW_SUFFIXED__(GetSystemWow64Directory) -WINBASEAPI UINT WINAPI GetSystemWow64DirectoryA (LPSTR, UINT); -WINBASEAPI UINT WINAPI GetSystemWow64DirectoryW (LPWSTR, UINT); -#endif - WINBASEAPI DWORD WINAPI GetTapeParameters (HANDLE, DWORD, PDWORD, PVOID); WINBASEAPI DWORD WINAPI GetTapePosition (HANDLE, DWORD, PDWORD, PDWORD, PDWORD); WINBASEAPI DWORD WINAPI GetTapeStatus (HANDLE); @@ -2302,11 +1901,6 @@ WINBASEAPI DWORD WINAPI GetTempPathA (DWORD, LPSTR); WINBASEAPI DWORD WINAPI GetTempPathW (DWORD, LPWSTR); WINBASEAPI BOOL WINAPI GetThreadContext (HANDLE, LPCONTEXT); - -#if (_WIN32_WINNT >= 0x0501) -WINBASEAPI BOOL WINAPI GetThreadIOPendingFlag (HANDLE, PBOOL); -#endif - WINBASEAPI int WINAPI GetThreadPriority (HANDLE); WINBASEAPI BOOL WINAPI GetThreadPriorityBoost (HANDLE, PBOOL); WINBASEAPI BOOL WINAPI GetThreadSelectorEntry (HANDLE, DWORD, LPLDT_ENTRY); @@ -2333,27 +1927,6 @@ WINBASEAPI BOOL WINAPI GetVolumeInformationA WINBASEAPI BOOL WINAPI GetVolumeInformationW (LPCWSTR, LPWSTR, DWORD, PDWORD, PDWORD, PDWORD, LPWSTR, DWORD); -#if (_WIN32_WINNT >= 0x0500) -#define \ -GetVolumeNameForVolumeMountPoint __AW_SUFFIXED__(GetVolumeNameForVolumeMountPoint) -WINBASEAPI BOOL WINAPI GetVolumeNameForVolumeMountPointA (LPCSTR, LPSTR, DWORD); -WINBASEAPI BOOL WINAPI GetVolumeNameForVolumeMountPointW -(LPCWSTR, LPWSTR, DWORD); - -#define GetVolumePathName __AW_SUFFIXED__(GetVolumePathName) -WINBASEAPI BOOL WINAPI GetVolumePathNameA (LPCSTR, LPSTR, DWORD); -WINBASEAPI BOOL WINAPI GetVolumePathNameW (LPCWSTR, LPWSTR, DWORD); -#endif - -#if (_WIN32_WINNT >= 0x0501) -#define \ -GetVolumePathNamesForVolumeName __AW_SUFFIXED__(GetVolumePathNamesForVolumeName) -WINBASEAPI BOOL WINAPI GetVolumePathNamesForVolumeNameA -(LPCSTR, LPSTR, DWORD, PDWORD); -WINBASEAPI BOOL WINAPI GetVolumePathNamesForVolumeNameW -(LPCWSTR, LPWSTR, DWORD, PDWORD); -#endif - #define GetWindowsDirectory __AW_SUFFIXED__(GetWindowsDirectory) WINBASEAPI UINT WINAPI GetWindowsDirectoryA (LPSTR, UINT); WINBASEAPI UINT WINAPI GetWindowsDirectoryW (LPWSTR, UINT); @@ -2387,11 +1960,6 @@ WINBASEAPI UINT WINAPI GlobalGetAtomNameW (ATOM, LPWSTR, int); WINBASEAPI HGLOBAL WINAPI GlobalHandle (PCVOID); WINBASEAPI LPVOID WINAPI GlobalLock (HGLOBAL); WINBASEAPI VOID WINAPI GlobalMemoryStatus (LPMEMORYSTATUS); - -#if (_WIN32_WINNT >= 0x0500) -WINBASEAPI BOOL WINAPI GlobalMemoryStatusEx (LPMEMORYSTATUSEX); -#endif - WINBASEAPI HGLOBAL WINAPI GlobalReAlloc (HGLOBAL, DWORD, UINT); WINBASEAPI DWORD WINAPI GlobalSize (HGLOBAL); WINBASEAPI VOID WINAPI GlobalUnfix (HGLOBAL); /* Obsolete: Has no effect. */ @@ -2408,19 +1976,7 @@ WINBASEAPI HANDLE WINAPI HeapCreate (DWORD, DWORD, DWORD); WINBASEAPI BOOL WINAPI HeapDestroy (HANDLE); WINBASEAPI BOOL WINAPI HeapFree (HANDLE, DWORD, PVOID); WINBASEAPI BOOL WINAPI HeapLock (HANDLE); - -#if (_WIN32_WINNT >= 0x0501) -WINBASEAPI BOOL WINAPI HeapQueryInformation -(HANDLE, HEAP_INFORMATION_CLASS, PVOID, SIZE_T, PSIZE_T); -#endif - WINBASEAPI PVOID WINAPI HeapReAlloc (HANDLE, DWORD, PVOID, DWORD); - -#if (_WIN32_WINNT >= 0x0501) -WINBASEAPI BOOL WINAPI HeapSetInformation -(HANDLE, HEAP_INFORMATION_CLASS, PVOID, SIZE_T); -#endif - WINBASEAPI DWORD WINAPI HeapSize (HANDLE, DWORD, PCVOID); WINBASEAPI BOOL WINAPI HeapUnlock (HANDLE); WINBASEAPI BOOL WINAPI HeapValidate (HANDLE, DWORD, PCVOID); @@ -2485,27 +2041,13 @@ WINBASEAPI BOOL WINAPI IsBadStringPtrW (LPCWSTR, UINT); WINBASEAPI BOOL WINAPI IsBadWritePtr (PVOID, UINT); WINBASEAPI BOOL WINAPI IsDebuggerPresent (void); - -#if (_WIN32_WINNT >= 0x0501) -WINBASEAPI BOOL IsProcessInJob (HANDLE, HANDLE, PBOOL); -#endif - WINBASEAPI BOOL WINAPI IsProcessorFeaturePresent (DWORD); WINBASEAPI BOOL WINAPI IsSystemResumeAutomatic (void); WINBASEAPI BOOL WINAPI IsTextUnicode (PCVOID, int, LPINT); - -#if (_WIN32_WINNT >= 0x0500) -WINBASEAPI BOOL WINAPI IsTokenRestricted (HANDLE); -#endif - WINBASEAPI BOOL WINAPI IsValidAcl (PACL); WINBASEAPI BOOL WINAPI IsValidSecurityDescriptor (PSECURITY_DESCRIPTOR); WINBASEAPI BOOL WINAPI IsValidSid (PSID); -#if (_WIN32_WINNT >= 0x0501) -WINBASEAPI BOOL WINAPI IsWow64Process (HANDLE, PBOOL); -#endif - WINBASEAPI void WINAPI LeaveCriticalSection (LPCRITICAL_SECTION); #define LimitEmsPages(n) @@ -2616,14 +2158,6 @@ WINBASEAPI BOOL WINAPI MoveFileW (LPCWSTR, LPCWSTR); WINBASEAPI BOOL WINAPI MoveFileExA (LPCSTR, LPCSTR, DWORD); WINBASEAPI BOOL WINAPI MoveFileExW (LPCWSTR, LPCWSTR, DWORD); -#if (_WIN32_WINNT >= 0x0500) -#define MoveFileWithProgress __AW_SUFFIXED__(MoveFileWithProgress) -WINBASEAPI BOOL WINAPI MoveFileWithProgressA -(LPCSTR, LPCSTR, LPPROGRESS_ROUTINE, LPVOID, DWORD); -WINBASEAPI BOOL WINAPI MoveFileWithProgressW -(LPCWSTR, LPCWSTR, LPPROGRESS_ROUTINE, LPVOID, DWORD); -#endif - WINBASEAPI int WINAPI MulDiv (int, int, int); WINBASEAPI BOOL WINAPI NotifyChangeEventLog (HANDLE, HANDLE); @@ -2680,10 +2214,6 @@ WINBASEAPI BOOL WINAPI OpenProcessToken (HANDLE, DWORD, PHANDLE); WINBASEAPI HANDLE WINAPI OpenSemaphoreA (DWORD, BOOL, LPCSTR); WINBASEAPI HANDLE WINAPI OpenSemaphoreW (DWORD, BOOL, LPCWSTR); -#if (_WIN32_WINNT >= 0x0500) || (_WIN32_WINDOWS >= 0x0490) -WINBASEAPI HANDLE WINAPI OpenThread (DWORD, BOOL, DWORD); -#endif - WINBASEAPI BOOL WINAPI OpenThreadToken (HANDLE, DWORD, BOOL, PHANDLE); /* OpenWaitableTimer: previously missing UNICODE vs. ANSI define */ @@ -2708,34 +2238,16 @@ WINBASEAPI BOOL WINAPI PrivilegedServiceAuditAlarmA WINBASEAPI BOOL WINAPI PrivilegedServiceAuditAlarmW (LPCWSTR, LPCWSTR, HANDLE, PPRIVILEGE_SET, BOOL); -#if (_WIN32_WINNT >= 0x0500) -WINBASEAPI BOOL WINAPI ProcessIdToSessionId (DWORD, DWORD *); -#endif - WINBASEAPI BOOL WINAPI PulseEvent (HANDLE); WINBASEAPI BOOL WINAPI PurgeComm (HANDLE, DWORD); -#if (_WIN32_WINNT >= 0x0501) -WINBASEAPI BOOL WINAPI QueryActCtxW -(DWORD, HANDLE, PVOID, ULONG, PVOID, SIZE_T, SIZE_T *); -#endif - #define QueryDosDevice __AW_SUFFIXED__(QueryDosDevice) WINBASEAPI DWORD WINAPI QueryDosDeviceA (LPCSTR, LPSTR, DWORD); WINBASEAPI DWORD WINAPI QueryDosDeviceW (LPCWSTR, LPWSTR, DWORD); - -#if (_WIN32_WINNT >= 0x0501) -WINBASEAPI BOOL WINAPI QueryMemoryResourceNotification (HANDLE, PBOOL); -#endif - WINBASEAPI BOOL WINAPI QueryPerformanceCounter (PLARGE_INTEGER); WINBASEAPI BOOL WINAPI QueryPerformanceFrequency (PLARGE_INTEGER); WINBASEAPI DWORD WINAPI QueueUserAPC (PAPCFUNC, HANDLE, ULONG_PTR); -#if (_WIN32_WINNT >= 0x0500) -WINBASEAPI BOOL WINAPI QueueUserWorkItem (LPTHREAD_START_ROUTINE, PVOID, ULONG); -#endif - WINBASEAPI void WINAPI RaiseException (DWORD, DWORD, DWORD, const DWORD *); WINBASEAPI BOOL WINAPI ReadDirectoryChangesW ( HANDLE, PVOID, DWORD, BOOL, DWORD, PDWORD, LPOVERLAPPED, @@ -2759,17 +2271,6 @@ WINBASEAPI BOOL WINAPI ReadProcessMemory (HANDLE, PCVOID, PVOID, DWORD, PDWORD); WINBASEAPI HANDLE WINAPI RegisterEventSourceA (LPCSTR, LPCSTR); WINBASEAPI HANDLE WINAPI RegisterEventSourceW (LPCWSTR, LPCWSTR); -#if (_WIN32_WINNT >= 0x0500) -WINBASEAPI BOOL WINAPI RegisterWaitForSingleObject -(PHANDLE, HANDLE, WAITORTIMERCALLBACK, PVOID, ULONG, ULONG); -WINBASEAPI HANDLE WINAPI RegisterWaitForSingleObjectEx -(HANDLE, WAITORTIMERCALLBACK, PVOID, ULONG, ULONG); -#endif - -#if (_WIN32_WINNT >= 0x0501) -WINBASEAPI void WINAPI ReleaseActCtx (HANDLE); -#endif - WINBASEAPI BOOL WINAPI ReleaseMutex (HANDLE); WINBASEAPI BOOL WINAPI ReleaseSemaphore (HANDLE, LONG, LPLONG); @@ -2777,22 +2278,6 @@ WINBASEAPI BOOL WINAPI ReleaseSemaphore (HANDLE, LONG, LPLONG); WINBASEAPI BOOL WINAPI RemoveDirectoryA (LPCSTR); WINBASEAPI BOOL WINAPI RemoveDirectoryW (LPCWSTR); -#if (_WIN32_WINNT >= 0x0500) -WINBASEAPI ULONG WINAPI RemoveVectoredExceptionHandler (PVOID); -#endif - -#if (_WIN32_WINNT >= 0x0502) -WINBASEAPI HANDLE WINAPI ReOpenFile (HANDLE, DWORD, DWORD, DWORD); -#endif - -#if (_WIN32_WINNT >= 0x0500) -#define ReplaceFile __AW_SUFFIXED__(ReplaceFile) -WINBASEAPI BOOL WINAPI ReplaceFileA -(LPCSTR, LPCSTR, LPCSTR, DWORD, LPVOID, LPVOID); -WINBASEAPI BOOL WINAPI ReplaceFileW -(LPCWSTR, LPCWSTR, LPCWSTR, DWORD, LPVOID, LPVOID); -#endif - #define ReportEvent __AW_SUFFIXED__(ReportEvent) WINBASEAPI BOOL WINAPI ReportEventA (HANDLE, WORD, WORD, DWORD, PSID, WORD, DWORD, LPCSTR *, PVOID); @@ -2806,11 +2291,6 @@ WINBASEAPI BOOL WINAPI ResetEvent (HANDLE); #endif WINBASEAPI UINT WINAPI ResetWriteWatch (LPVOID, SIZE_T); - -#if (_WIN32_WINNT >= 0x0510) /* Huh? Typo for 0x0501? */ -WINBASEAPI VOID WINAPI RestoreLastError (DWORD); -#endif - WINBASEAPI DWORD WINAPI ResumeThread (HANDLE); WINBASEAPI BOOL WINAPI RevertToSelf (void); @@ -2832,13 +2312,6 @@ WINBASEAPI BOOL WINAPI SetCommTimeouts (HANDLE, LPCOMMTIMEOUTS); WINBASEAPI BOOL WINAPI SetComputerNameA (LPCSTR); WINBASEAPI BOOL WINAPI SetComputerNameW (LPCWSTR); -#if (_WIN32_WINNT >= 0x0500) -/* SetComputerNameEx: previously missing UNICODE vs. ANSI define */ -#define SetComputerNameEx __AW_SUFFIXED__(SetComputerNameEx) -WINBASEAPI BOOL WINAPI SetComputerNameExA (COMPUTER_NAME_FORMAT, LPCSTR); -WINBASEAPI BOOL WINAPI SetComputerNameExW (COMPUTER_NAME_FORMAT, LPCWSTR); -#endif - #define SetCurrentDirectory __AW_SUFFIXED__(SetCurrentDirectory) WINBASEAPI BOOL WINAPI SetCurrentDirectoryA (LPCSTR); WINBASEAPI BOOL WINAPI SetCurrentDirectoryW (LPCWSTR); @@ -2847,12 +2320,6 @@ WINBASEAPI BOOL WINAPI SetCurrentDirectoryW (LPCWSTR); WINBASEAPI BOOL WINAPI SetDefaultCommConfigA (LPCSTR, LPCOMMCONFIG, DWORD); WINBASEAPI BOOL WINAPI SetDefaultCommConfigW (LPCWSTR, LPCOMMCONFIG, DWORD); -#if (_WIN32_WINNT >= 0x0502) -#define SetDllDirectory __AW_SUFFIXED__(SetDllDirectory) -WINBASEAPI BOOL WINAPI SetDllDirectoryA (LPCSTR); -WINBASEAPI BOOL WINAPI SetDllDirectoryW (LPCWSTR); -#endif - WINBASEAPI BOOL WINAPI SetEndOfFile (HANDLE); #define SetEnvironmentVariable __AW_SUFFIXED__(SetEnvironmentVariable) @@ -2884,28 +2351,9 @@ WINBASEAPI BOOL WINAPI SetFileSecurityA WINBASEAPI BOOL WINAPI SetFileSecurityW (LPCWSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR); -#if (_WIN32_WINNT >= 0x0501) -#define SetFileShortName __AW_SUFFIXED__(SetFileShortName) -WINBASEAPI BOOL WINAPI SetFileShortNameA (HANDLE, LPCSTR); -WINBASEAPI BOOL WINAPI SetFileShortNameW (HANDLE, LPCWSTR); -#endif - WINBASEAPI BOOL WINAPI SetFileTime (HANDLE, const FILETIME *, const FILETIME *, const FILETIME *); -#if (_WIN32_WINNT >= 0x0501) -WINBASEAPI BOOL WINAPI SetFileValidData (HANDLE, LONGLONG); -#endif - -#if (_WIN32_WINNT >= 0x0502) -#define \ -SetFirmwareEnvironmentVariable __AW_SUFFIXED__(SetFirmwareEnvironmentVariable) -WINBASEAPI BOOL WINAPI SetFirmwareEnvironmentVariableA -(LPCSTR, LPCSTR, PVOID, DWORD); -WINBASEAPI BOOL WINAPI SetFirmwareEnvironmentVariableW -(LPCWSTR, LPCWSTR, PVOID, DWORD); -#endif - WINBASEAPI UINT WINAPI SetHandleCount (UINT); WINBASEAPI BOOL WINAPI SetHandleInformation (HANDLE, DWORD, DWORD); WINBASEAPI BOOL WINAPI SetKernelObjectSecurity @@ -2921,11 +2369,6 @@ WINBASEAPI BOOL WINAPI SetPrivateObjectSecurity PGENERIC_MAPPING, HANDLE ); WINBASEAPI BOOL WINAPI SetProcessAffinityMask (HANDLE, DWORD); - -#if (_WIN32_WINNT >= 0x0601) -WINBASEAPI BOOL WINAPI SetProcessDEPPolicy (DWORD); -#endif - WINBASEAPI BOOL WINAPI SetProcessPriorityBoost (HANDLE, BOOL); WINBASEAPI BOOL WINAPI SetProcessShutdownParameters (DWORD, DWORD); WINBASEAPI BOOL WINAPI SetProcessWorkingSetSize (HANDLE, SIZE_T, SIZE_T); @@ -2953,10 +2396,6 @@ WINBASEAPI DWORD WINAPI SetTapePosition WINBASEAPI DWORD WINAPI SetThreadAffinityMask (HANDLE, DWORD); WINBASEAPI BOOL WINAPI SetThreadContext (HANDLE, const CONTEXT *); -#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410) -WINBASEAPI EXECUTION_STATE WINAPI SetThreadExecutionState (EXECUTION_STATE); -#endif - WINBASEAPI DWORD WINAPI SetThreadIdealProcessor (HANDLE, DWORD); WINBASEAPI BOOL WINAPI SetThreadPriority (HANDLE, int); WINBASEAPI BOOL WINAPI SetThreadPriorityBoost (HANDLE, BOOL); @@ -2972,12 +2411,6 @@ WINBASEAPI BOOL WINAPI SetupComm (HANDLE, DWORD, DWORD); WINBASEAPI BOOL WINAPI SetVolumeLabelA (LPCSTR, LPCSTR); WINBASEAPI BOOL WINAPI SetVolumeLabelW (LPCWSTR, LPCWSTR); -#if (_WIN32_WINNT >= 0x0500) -#define SetVolumeMountPoint __AW_SUFFIXED__(SetVolumeMountPoint) -WINBASEAPI BOOL WINAPI SetVolumeMountPointA (LPCSTR, LPCSTR); -WINBASEAPI BOOL WINAPI SetVolumeMountPointW (LPCWSTR, LPCWSTR); -#endif - WINBASEAPI BOOL WINAPI SetWaitableTimer (HANDLE, const LARGE_INTEGER *, LONG, PTIMERAPCROUTINE, PVOID, BOOL); WINBASEAPI DWORD WINAPI SignalObjectAndWait (HANDLE, HANDLE, DWORD, BOOL); @@ -2988,14 +2421,9 @@ WINBASEAPI DWORD WINAPI SuspendThread (HANDLE); WINBASEAPI void WINAPI SwitchToFiber (PVOID); WINBASEAPI BOOL WINAPI SwitchToThread (void); WINBASEAPI BOOL WINAPI SystemTimeToFileTime (const SYSTEMTIME *, LPFILETIME); - -#if (_WIN32_WINNT >= 0x501) -WINBASEAPI BOOL WINAPI TzSpecificLocalTimeToSystemTime +WINBASEAPI BOOL WINAPI SystemTimeToTzSpecificLocalTime (LPTIME_ZONE_INFORMATION, LPSYSTEMTIME, LPSYSTEMTIME); -#endif -WINBASEAPI BOOL WINAPI SystemTimeToTzSpecificLocalTime -(LPTIME_ZONE_INFORMATION, LPSYSTEMTIME, LPSYSTEMTIME); WINBASEAPI BOOL WINAPI TerminateProcess (HANDLE, UINT); WINBASEAPI BOOL WINAPI TerminateThread (HANDLE, DWORD); WINBASEAPI DWORD WINAPI TlsAlloc (VOID); @@ -3015,11 +2443,6 @@ WINBASEAPI BOOL WINAPI UnlockFileEx (HANDLE, DWORD, DWORD, DWORD, LPOVERLAPPED); WINBASEAPI BOOL WINAPI UnmapViewOfFile (LPCVOID); -#if (_WIN32_WINNT >= 0x0500) -WINBASEAPI BOOL WINAPI UnregisterWait (HANDLE); -WINBASEAPI BOOL WINAPI UnregisterWaitEx (HANDLE, HANDLE); -#endif - #define UpdateResource __AW_SUFFIXED__(UpdateResource) WINBASEAPI BOOL WINAPI UpdateResourceA (HANDLE, LPCSTR, LPCSTR, WORD, PVOID, DWORD); @@ -3094,18 +2517,516 @@ WINBASEAPI DWORD WINAPI WriteTapemark (HANDLE, DWORD, DWORD, BOOL); #define Yield() -#if (_WIN32_WINNT >= 0x0501) -WINBASEAPI BOOL WINAPI ZombifyActCtx (HANDLE); -#endif +#if _WIN32_WINNT >= _WIN32_WINNT_NT4 +/* Features available on all Win9x versions, but not introduced to the + * WinNT platform series until the release of Windows-NT4. + */ +WINBASEAPI BOOL WINAPI ConvertFiberToThread (void); +WINBASEAPI LPVOID WINAPI CreateFiberEx +(SIZE_T, SIZE_T, DWORD, LPFIBER_START_ROUTINE, LPVOID); +#endif /* Win9x, but not WinNT until NT4 */ + +#if _WIN32_WINDOWS >= _WIN32_WINDOWS_98 || _WIN32_WINNT >= _WIN32_WINNT_WIN2K +/* New features, introduced to Win9x from Win98 onwards, and also to the WinNT + * platform series, from Win2K onwards. + */ +typedef DWORD EXECUTION_STATE; + +#define GetLongPathName __AW_SUFFIXED__(GetLongPathName) +WINBASEAPI DWORD WINAPI GetLongPathNameA (LPCSTR, LPSTR, DWORD); +WINBASEAPI DWORD WINAPI GetLongPathNameW (LPCWSTR, LPWSTR, DWORD); + +WINBASEAPI EXECUTION_STATE WINAPI SetThreadExecutionState (EXECUTION_STATE); + +#if _WIN32_WINDOWS >= _WIN32_WINDOWS_ME || _WIN32_WINNT >= _WIN32_WINNT_WIN2K +/* The OpenThread() API is supported in WinNT versions, from Win2K onwards, + * but was introduced to the Win9X series only in the Millennium Edition. + */ +WINBASEAPI HANDLE WINAPI OpenThread (DWORD, BOOL, DWORD); +#endif /* WinNT from Win2K onwards, and WinME */ + +#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K +/* Additional new features introduced in Win2K, but not available in Win9x. + */ +typedef struct _MEMORYSTATUSEX +{ DWORD dwLength; + DWORD dwMemoryLoad; + DWORDLONG ullTotalPhys; + DWORDLONG ullAvailPhys; + DWORDLONG ullTotalPageFile; + DWORDLONG ullAvailPageFile; + DWORDLONG ullTotalVirtual; + DWORDLONG ullAvailVirtual; + DWORDLONG ullAvailExtendedVirtual; +} MEMORYSTATUSEX, *LPMEMORYSTATUSEX; + +typedef enum _COMPUTER_NAME_FORMAT +{ ComputerNameNetBIOS, + ComputerNameDnsHostname, + ComputerNameDnsDomain, + ComputerNameDnsFullyQualified, + ComputerNamePhysicalNetBIOS, + ComputerNamePhysicalDnsHostname, + ComputerNamePhysicalDnsDomain, + ComputerNamePhysicalDnsFullyQualified, + ComputerNameMax +} COMPUTER_NAME_FORMAT; + +typedef void (CALLBACK *WAITORTIMERCALLBACK)(PVOID, BOOLEAN); + +WINBASEAPI BOOL WINAPI AddAccessAllowedAceEx (PACL, DWORD, DWORD, DWORD, PSID); +WINBASEAPI BOOL WINAPI AddAccessDeniedAceEx (PACL, DWORD, DWORD, DWORD, PSID); +WINBASEAPI PVOID WINAPI AddVectoredExceptionHandler +(ULONG, PVECTORED_EXCEPTION_HANDLER); + +WINBASEAPI BOOL WINAPI ChangeTimerQueueTimer (HANDLE, HANDLE, ULONG, ULONG); +WINBASEAPI BOOL WINAPI CheckTokenMembership (HANDLE, PSID, PBOOL); + +#define CreateHardLink __AW_SUFFIXED__(CreateHardLink) +WINBASEAPI BOOL WINAPI CreateHardLinkA (LPCSTR, LPCSTR, LPSECURITY_ATTRIBUTES); +WINBASEAPI BOOL WINAPI CreateHardLinkW +(LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES); + +#define CreateJobObject __AW_SUFFIXED__(CreateJobObject) +WINBASEAPI HANDLE WINAPI CreateJobObjectA (LPSECURITY_ATTRIBUTES, LPCSTR); +WINBASEAPI HANDLE WINAPI CreateJobObjectW (LPSECURITY_ATTRIBUTES, LPCWSTR); + +WINBASEAPI BOOL WINAPI TerminateJobObject (HANDLE, UINT); +WINBASEAPI BOOL WINAPI AssignProcessToJobObject (HANDLE, HANDLE); + +WINBASEAPI BOOL WINAPI SetInformationJobObject +(HANDLE, JOBOBJECTINFOCLASS, LPVOID, DWORD); +WINBASEAPI BOOL WINAPI QueryInformationJobObject +(HANDLE, JOBOBJECTINFOCLASS, LPVOID, DWORD, LPDWORD); + +WINBASEAPI BOOL WINAPI CreateProcessWithLogonW +( LPCWSTR, LPCWSTR, LPCWSTR, DWORD, LPCWSTR, LPWSTR, DWORD, LPVOID, + LPCWSTR, LPSTARTUPINFOW, LPPROCESS_INFORMATION +); +#define LOGON_WITH_PROFILE 0x00000001 +#define LOGON_NETCREDENTIALS_ONLY 0x00000002 + +WINBASEAPI BOOL WINAPI CreateRestrictedToken +( HANDLE, DWORD, DWORD, PSID_AND_ATTRIBUTES, DWORD, PLUID_AND_ATTRIBUTES, + DWORD, PSID_AND_ATTRIBUTES, PHANDLE +); +#define DISABLE_MAX_PRIVILEGE 1 +#define SANDBOX_INERT 2 +#define LUA_TOKEN 4 +#define WRITE_RESTRICTED 8 + +WINBASEAPI HANDLE WINAPI CreateTimerQueue (void); +WINBASEAPI BOOL WINAPI CreateTimerQueueTimer +(PHANDLE, HANDLE, WAITORTIMERCALLBACK, PVOID, DWORD, DWORD, ULONG); + +WINBASEAPI BOOL WINAPI DeleteTimerQueue (HANDLE); +WINBASEAPI BOOL WINAPI DeleteTimerQueueEx (HANDLE, HANDLE); +WINBASEAPI BOOL WINAPI DeleteTimerQueueTimer (HANDLE, HANDLE, HANDLE); + +#define DeleteVolumeMountPoint __AW_SUFFIXED__(DeleteVolumeMountPoint) +WINBASEAPI BOOL WINAPI DeleteVolumeMountPointA (LPCSTR); +WINBASEAPI BOOL WINAPI DeleteVolumeMountPointW (LPCWSTR); + +#define DnsHostnameToComputerName __AW_SUFFIXED__(DnsHostnameToComputerName) +WINBASEAPI BOOL WINAPI DnsHostnameToComputerNameA (LPCSTR, LPSTR, LPDWORD); +WINBASEAPI BOOL WINAPI DnsHostnameToComputerNameW (LPCWSTR, LPWSTR, LPDWORD); + +#define FindFirstVolume __AW_SUFFIXED__(FindFirstVolume) +WINBASEAPI HANDLE WINAPI FindFirstVolumeA (LPCSTR, DWORD); +WINBASEAPI HANDLE WINAPI FindFirstVolumeW (LPCWSTR, DWORD); + +#define FindFirstVolumeMountPoint __AW_SUFFIXED__(FindFirstVolumeMountPoint) +WINBASEAPI HANDLE WINAPI FindFirstVolumeMountPointA (LPSTR, LPSTR, DWORD); +WINBASEAPI HANDLE WINAPI FindFirstVolumeMountPointW (LPWSTR, LPWSTR, DWORD); + +#define FindNextVolume __AW_SUFFIXED__(FindNextVolume) +WINBASEAPI BOOL WINAPI FindNextVolumeA (HANDLE, LPCSTR, DWORD); +WINBASEAPI BOOL WINAPI FindNextVolumeW (HANDLE, LPWSTR, DWORD); + +#define FindNextVolumeMountPoint __AW_SUFFIXED__(FindNextVolumeMountPoint) +WINBASEAPI BOOL WINAPI FindNextVolumeMountPointA (HANDLE, LPSTR, DWORD); +WINBASEAPI BOOL WINAPI FindNextVolumeMountPointW (HANDLE, LPWSTR, DWORD); + +WINBASEAPI BOOL WINAPI FindVolumeClose (HANDLE); +WINBASEAPI BOOL WINAPI FindVolumeMountPointClose (HANDLE); + +#define GetComputerNameEx __AW_SUFFIXED__(GetComputerNameEx) +WINBASEAPI BOOL WINAPI GetComputerNameExA +(COMPUTER_NAME_FORMAT, LPSTR, LPDWORD); +WINBASEAPI BOOL WINAPI GetComputerNameExW +(COMPUTER_NAME_FORMAT, LPWSTR, LPDWORD); + +WINBASEAPI BOOL WINAPI GetFileSizeEx (HANDLE, PLARGE_INTEGER); +WINBASEAPI BOOL WINAPI GetProcessIoCounters (HANDLE, PIO_COUNTERS); + +#define GetSystemWindowsDirectory __AW_SUFFIXED__(GetSystemWindowsDirectory) +WINBASEAPI UINT WINAPI GetSystemWindowsDirectoryA (LPSTR, UINT); +WINBASEAPI UINT WINAPI GetSystemWindowsDirectoryW (LPWSTR, UINT); +#define \ +GetVolumeNameForVolumeMountPoint __AW_SUFFIXED__(GetVolumeNameForVolumeMountPoint) +WINBASEAPI BOOL WINAPI GetVolumeNameForVolumeMountPointA (LPCSTR, LPSTR, DWORD); +WINBASEAPI BOOL WINAPI GetVolumeNameForVolumeMountPointW +(LPCWSTR, LPWSTR, DWORD); + +#define GetVolumePathName __AW_SUFFIXED__(GetVolumePathName) +WINBASEAPI BOOL WINAPI GetVolumePathNameA (LPCSTR, LPSTR, DWORD); +WINBASEAPI BOOL WINAPI GetVolumePathNameW (LPCWSTR, LPWSTR, DWORD); + +WINBASEAPI BOOL WINAPI GlobalMemoryStatusEx (LPMEMORYSTATUSEX); + +WINBASEAPI BOOL WINAPI IsTokenRestricted (HANDLE); + +#define MoveFileWithProgress __AW_SUFFIXED__(MoveFileWithProgress) +WINBASEAPI BOOL WINAPI MoveFileWithProgressA +(LPCSTR, LPCSTR, LPPROGRESS_ROUTINE, LPVOID, DWORD); +WINBASEAPI BOOL WINAPI MoveFileWithProgressW +(LPCWSTR, LPCWSTR, LPPROGRESS_ROUTINE, LPVOID, DWORD); + +WINBASEAPI BOOL WINAPI ProcessIdToSessionId (DWORD, DWORD *); + +WINBASEAPI BOOL WINAPI QueueUserWorkItem (LPTHREAD_START_ROUTINE, PVOID, ULONG); + +WINBASEAPI BOOL WINAPI RegisterWaitForSingleObject +(PHANDLE, HANDLE, WAITORTIMERCALLBACK, PVOID, ULONG, ULONG); +WINBASEAPI HANDLE WINAPI RegisterWaitForSingleObjectEx +(HANDLE, WAITORTIMERCALLBACK, PVOID, ULONG, ULONG); +WINBASEAPI ULONG WINAPI RemoveVectoredExceptionHandler (PVOID); + +#define ReplaceFile __AW_SUFFIXED__(ReplaceFile) +WINBASEAPI BOOL WINAPI ReplaceFileA +(LPCSTR, LPCSTR, LPCSTR, DWORD, LPVOID, LPVOID); +WINBASEAPI BOOL WINAPI ReplaceFileW +(LPCWSTR, LPCWSTR, LPCWSTR, DWORD, LPVOID, LPVOID); + +/* SetComputerNameEx: previously missing UNICODE vs. ANSI define */ +#define SetComputerNameEx __AW_SUFFIXED__(SetComputerNameEx) +WINBASEAPI BOOL WINAPI SetComputerNameExA (COMPUTER_NAME_FORMAT, LPCSTR); +WINBASEAPI BOOL WINAPI SetComputerNameExW (COMPUTER_NAME_FORMAT, LPCWSTR); + +#define SetVolumeMountPoint __AW_SUFFIXED__(SetVolumeMountPoint) +WINBASEAPI BOOL WINAPI SetVolumeMountPointA (LPCSTR, LPCSTR); +WINBASEAPI BOOL WINAPI SetVolumeMountPointW (LPCWSTR, LPCWSTR); + +WINBASEAPI BOOL WINAPI UnregisterWait (HANDLE); +WINBASEAPI BOOL WINAPI UnregisterWaitEx (HANDLE, HANDLE); -#if (_WIN32_WINNT >= 0x0500) WINBASEAPI BOOL WINAPI AllocateUserPhysicalPages (HANDLE, PULONG_PTR, PULONG_PTR); + WINBASEAPI BOOL WINAPI FreeUserPhysicalPages (HANDLE, PULONG_PTR, PULONG_PTR); + WINBASEAPI BOOL WINAPI MapUserPhysicalPages (PVOID, ULONG_PTR, PULONG_PTR); WINBASEAPI BOOL WINAPI MapUserPhysicalPagesScatter (PVOID *, ULONG_PTR, PULONG_PTR); -#endif + +#if _WIN32_WINNT >= _WIN32_WINNT_WINXP +/* New features, implemented for WinXP; not available in Win9x. + */ +typedef struct tagACTCTXA +{ ULONG cbSize; + DWORD dwFlags; + LPCSTR lpSource; + USHORT wProcessorArchitecture; + LANGID wLangId; + LPCSTR lpAssemblyDirectory; + LPCSTR lpResourceName; + LPCSTR lpApplicationName; + HMODULE hModule; +} ACTCTXA, *PACTCTXA; + +typedef struct tagACTCTXW +{ ULONG cbSize; + DWORD dwFlags; + LPCWSTR lpSource; + USHORT wProcessorArchitecture; + LANGID wLangId; + LPCWSTR lpAssemblyDirectory; + LPCWSTR lpResourceName; + LPCWSTR lpApplicationName; + HMODULE hModule; +} ACTCTXW, *PACTCTXW; + +typedef const ACTCTXA *PCACTCTXA; +typedef const ACTCTXW *PCACTCTXW; + +typedef __AW_ALIAS__(ACTCTX), *PACTCTX; +typedef __AW_ALIAS__(PCACTCTX); + +typedef struct tagACTCTX_SECTION_KEYED_DATA +{ ULONG cbSize; + ULONG ulDataFormatVersion; + PVOID lpData; + ULONG ulLength; + PVOID lpSectionGlobalData; + ULONG ulSectionGlobalDataLength; + PVOID lpSectionBase; + ULONG ulSectionTotalLength; + HANDLE hActCtx; + HANDLE ulAssemblyRosterIndex; +} ACTCTX_SECTION_KEYED_DATA, *PACTCTX_SECTION_KEYED_DATA; + +typedef const ACTCTX_SECTION_KEYED_DATA *PCACTCTX_SECTION_KEYED_DATA; + +typedef enum +{ LowMemoryResourceNotification, + HighMemoryResourceNotification +} MEMORY_RESOURCE_NOTIFICATION_TYPE; + +WINBASEAPI BOOL WINAPI ActivateActCtx (HANDLE, ULONG_PTR *); +WINBASEAPI void WINAPI AddRefActCtx (HANDLE); + +#define CheckNameLegalDOS8Dot3 __AW_SUFFIXED__(CheckNameLegalDOS8Dot3) +WINBASEAPI BOOL WINAPI CheckNameLegalDOS8Dot3A +(LPCSTR, LPSTR, DWORD, PBOOL, PBOOL); +WINBASEAPI BOOL WINAPI CheckNameLegalDOS8Dot3W +(LPCWSTR, LPSTR, DWORD, PBOOL, PBOOL); + +WINBASEAPI BOOL WINAPI CheckRemoteDebuggerPresent (HANDLE, PBOOL); + +#define CreateActCtx __AW_SUFFIXED__(CreateActCtx) +WINBASEAPI HANDLE WINAPI CreateActCtxA (PCACTCTXA); +WINBASEAPI HANDLE WINAPI CreateActCtxW (PCACTCTXW); + +WINBASEAPI HANDLE WINAPI CreateMemoryResourceNotification +(MEMORY_RESOURCE_NOTIFICATION_TYPE); + +WINBASEAPI BOOL WINAPI DeactivateActCtx (DWORD, ULONG_PTR); +WINBASEAPI BOOL WINAPI DebugActiveProcessStop (DWORD); +WINBASEAPI BOOL WINAPI DebugBreakProcess (HANDLE); +WINBASEAPI BOOL WINAPI DebugSetProcessKillOnExit (BOOL); + +WINBASEAPI BOOL WINAPI FindActCtxSectionGuid +(DWORD, const GUID *, ULONG, const GUID *, PACTCTX_SECTION_KEYED_DATA); + +#define FindActCtxSectionString __AW_SUFFIXED__(FindActCtxSectionString) +WINBASEAPI BOOL WINAPI FindActCtxSectionStringA +(DWORD, const GUID *, ULONG, LPCSTR, PACTCTX_SECTION_KEYED_DATA); +WINBASEAPI BOOL WINAPI FindActCtxSectionStringW +(DWORD, const GUID *, ULONG, LPCWSTR, PACTCTX_SECTION_KEYED_DATA); + +WINBASEAPI BOOL WINAPI GetCurrentActCtx (HANDLE *); + +#define GetModuleHandleEx __AW_SUFFIXED__(GetModuleHandleEx) +WINBASEAPI BOOL WINAPI GetModuleHandleExA (DWORD, LPCSTR, HMODULE *); +WINBASEAPI BOOL WINAPI GetModuleHandleExW (DWORD, LPCWSTR, HMODULE *); + +WINBASEAPI VOID WINAPI GetNativeSystemInfo (LPSYSTEM_INFO); +WINBASEAPI BOOL WINAPI GetProcessHandleCount (HANDLE, PDWORD); +WINBASEAPI DWORD WINAPI GetProcessId (HANDLE); +WINBASEAPI BOOL WINAPI GetSystemRegistryQuota (PDWORD, PDWORD); +WINBASEAPI BOOL WINAPI GetSystemTimes (LPFILETIME, LPFILETIME, LPFILETIME); + +#define GetSystemWow64Directory __AW_SUFFIXED__(GetSystemWow64Directory) +WINBASEAPI UINT WINAPI GetSystemWow64DirectoryA (LPSTR, UINT); +WINBASEAPI UINT WINAPI GetSystemWow64DirectoryW (LPWSTR, UINT); +WINBASEAPI BOOL WINAPI GetThreadIOPendingFlag (HANDLE, PBOOL); +#define \ +GetVolumePathNamesForVolumeName __AW_SUFFIXED__(GetVolumePathNamesForVolumeName) +WINBASEAPI BOOL WINAPI GetVolumePathNamesForVolumeNameA +(LPCSTR, LPSTR, DWORD, PDWORD); +WINBASEAPI BOOL WINAPI GetVolumePathNamesForVolumeNameW +(LPCWSTR, LPWSTR, DWORD, PDWORD); + +WINBASEAPI BOOL WINAPI HeapQueryInformation +(HANDLE, HEAP_INFORMATION_CLASS, PVOID, SIZE_T, PSIZE_T); +WINBASEAPI BOOL WINAPI HeapSetInformation +(HANDLE, HEAP_INFORMATION_CLASS, PVOID, SIZE_T); + +WINBASEAPI BOOL IsProcessInJob (HANDLE, HANDLE, PBOOL); +WINBASEAPI BOOL WINAPI IsWow64Process (HANDLE, PBOOL); + +WINBASEAPI BOOL WINAPI QueryActCtxW +(DWORD, HANDLE, PVOID, ULONG, PVOID, SIZE_T, SIZE_T *); +WINBASEAPI BOOL WINAPI QueryMemoryResourceNotification (HANDLE, PBOOL); + +WINBASEAPI void WINAPI ReleaseActCtx (HANDLE); +WINBASEAPI VOID WINAPI RestoreLastError (DWORD); + +#define SetFileShortName __AW_SUFFIXED__(SetFileShortName) +WINBASEAPI BOOL WINAPI SetFileShortNameA (HANDLE, LPCSTR); +WINBASEAPI BOOL WINAPI SetFileShortNameW (HANDLE, LPCWSTR); + +WINBASEAPI BOOL WINAPI SetFileValidData (HANDLE, LONGLONG); + +WINBASEAPI BOOL WINAPI TzSpecificLocalTimeToSystemTime +(LPTIME_ZONE_INFORMATION, LPSYSTEMTIME, LPSYSTEMTIME); + +WINBASEAPI BOOL WINAPI ZombifyActCtx (HANDLE); + +#if _WIN32_WINNT >= _WIN32_WINNT_WS03 +/* Further added features, which became available on the WinNT platform + * from Windows Server-2003; these were never made available in Win9x. + */ +/* GetFirmwareEnvironmentVariable: previously missing UNICODE vs. ANSI define */ +#define \ +GetFirmwareEnvironmentVariable __AW_SUFFIXED__(GetFirmwareEnvironmentVariable) +WINBASEAPI DWORD WINAPI GetFirmwareEnvironmentVariableA +(LPCSTR, LPCSTR, PVOID, DWORD); +WINBASEAPI DWORD WINAPI GetFirmwareEnvironmentVariableW +(LPCWSTR, LPCWSTR, PVOID, DWORD); + +#define GetDllDirectory __AW_SUFFIXED__(GetDllDirectory) +WINBASEAPI DWORD WINAPI GetDllDirectoryA (DWORD, LPSTR); +WINBASEAPI DWORD WINAPI GetDllDirectoryW (DWORD, LPWSTR); + +WINBASEAPI HANDLE WINAPI ReOpenFile (HANDLE, DWORD, DWORD, DWORD); + +#define SetDllDirectory __AW_SUFFIXED__(SetDllDirectory) +WINBASEAPI BOOL WINAPI SetDllDirectoryA (LPCSTR); +WINBASEAPI BOOL WINAPI SetDllDirectoryW (LPCWSTR); + +#define \ +SetFirmwareEnvironmentVariable __AW_SUFFIXED__(SetFirmwareEnvironmentVariable) +WINBASEAPI BOOL WINAPI SetFirmwareEnvironmentVariableA +(LPCSTR, LPCSTR, PVOID, DWORD); +WINBASEAPI BOOL WINAPI SetFirmwareEnvironmentVariableW +(LPCWSTR, LPCWSTR, PVOID, DWORD); + +#if _WIN32_WINNT >= _WIN32_WINNT_VISTA +/* Additional features, available only on the WinNT series platforms, from + * the release of Windows-Vista onwards. + */ +typedef struct _FILE_BASIC_INFO +/* http://msdn.microsoft.com/en-us/library/aa364217%28VS.85%29.aspx */ +{ LARGE_INTEGER CreationTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER LastWriteTime; + LARGE_INTEGER ChangeTime; + DWORD FileAttributes; +} FILE_BASIC_INFO, *PFILE_BASIC_INFO, *LPFILE_BASIC_INFO; + +typedef struct _FILE_STANDARD_INFO +/* http://msdn.microsoft.com/en-us/library/aa364401%28VS.85%29.aspx */ +{ LARGE_INTEGER AllocationSize; + LARGE_INTEGER EndOfFile; + DWORD NumberOfLinks; + BOOL DeletePending; + BOOL Directory; +} FILE_STANDARD_INFO, *PFILE_STANDARD_INFO, *LPFILE_STANDARD_INFO; + +typedef struct _FILE_NAME_INFO +/* http://msdn.microsoft.com/en-us/library/aa364388%28v=VS.85%29.aspx */ +{ DWORD FileNameLength; + WCHAR FileName[1]; +} FILE_NAME_INFO, *PFILE_NAME_INFO, *LPFILE_NAME_INFO; + +typedef struct _FILE_STREAM_INFO +/* http://msdn.microsoft.com/en-us/library/aa364406%28v=VS.85%29.aspx */ +{ DWORD NextEntryOffset; + DWORD StreamNameLength; + LARGE_INTEGER StreamSize; + LARGE_INTEGER StreamAllocationSize; + WCHAR StreamName[1]; +} FILE_STREAM_INFO, *PFILE_STREAM_INFO, *LPFILE_STREAM_INFO; + +typedef struct _FILE_COMPRESSION_INFO +/* http://msdn.microsoft.com/en-us/library/aa364220%28v=VS.85%29.aspx */ +{ LARGE_INTEGER CompressedFileSize; + WORD CompressionFormat; + UCHAR CompressionUnitShift; + UCHAR ChunkShift; + UCHAR ClusterShift; + UCHAR Reserved[3]; +} FILE_COMPRESSION_INFO, *PFILE_COMPRESSION_INFO, *LPFILE_COMPRESSION_INFO; + +typedef struct _FILE_ATTRIBUTE_TAG_INFO +/* http://msdn.microsoft.com/en-us/library/aa364216%28v=VS.85%29.aspx */ +{ DWORD FileAttributes; + DWORD ReparseTag; +} FILE_ATTRIBUTE_TAG_INFO, *PFILE_ATTRIBUTE_TAG_INFO, *LPFILE_ATTRIBUTE_TAG_INFO; + +typedef struct _FILE_ID_BOTH_DIR_INFO +/* http://msdn.microsoft.com/en-us/library/aa364226%28v=VS.85%29.aspx */ +{ DWORD NextEntryOffset; + DWORD FileIndex; + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER LastWriteTime; + LARGE_INTEGER ChangeTime; + LARGE_INTEGER EndOfFile; + LARGE_INTEGER AllocationSize; + DWORD FileAttributes; + DWORD FileNameLength; + DWORD EaSize; + CCHAR ShortNameLength; + WCHAR ShortName[12]; + LARGE_INTEGER FileId; + WCHAR FileName[1]; +} FILE_ID_BOTH_DIR_INFO, *PFILE_ID_BOTH_DIR_INFO, *LPFILE_ID_BOTH_DIR_INFO; + +typedef struct _FILE_REMOTE_PROTOCOL_INFO +/* http://msdn.microsoft.com/en-us/library/dd979524%28v=VS.85%29.aspx */ +{ USHORT StructureVersion; + USHORT StructureSize; + ULONG Protocol; + USHORT ProtocolMajorVersion; + USHORT ProtocolMinorVersion; + USHORT ProtocolRevision; + USHORT Reserved; + ULONG Flags; + struct + { ULONG Reserved[8]; + } GenericReserved; + struct + { ULONG Reserved[16]; + } ProtocolSpecificReserved; +} FILE_REMOTE_PROTOCOL_INFO, *PFILE_REMOTE_PROTOCOL_INFO, *LPFILE_REMOTE_PROTOCOL_INFO; + +typedef enum _DEP_SYSTEM_POLICY_TYPE +{ AlwaysOn, + AlwaysOff, + OptIn, + OptOut +} DEP_SYSTEM_POLICY_TYPE; + +typedef enum _FILE_INFO_BY_HANDLE_CLASS +/* http://msdn.microsoft.com/en-us/library/aa364228%28v=VS.85%29.aspx */ +{ FileBasicInfo, + FileStandardInfo, + FileNameInfo, + FileRenameInfo, + FileDispositionInfo, + FileAllocationInfo, + FileEndOfFileInfo, + FileStreamInfo, + FileCompressionInfo, + FileAttributeTagInfo, + FileIdBothDirectoryInfo, + FileIdBothDirectoryRestartInfo, + FileIoPriorityHintInfo, + FileRemoteProtocolInfo, + MaximumFileInfoByHandlesClass +} FILE_INFO_BY_HANDLE_CLASS, *PFILE_INFO_BY_HANDLE_CLASS; + +#define CreateSymbolicLink __AW_SUFFIXED__(CreateSymbolicLink) +WINBASEAPI BOOL WINAPI CreateSymbolicLinkA (LPCSTR, LPCSTR, DWORD); +WINBASEAPI BOOL WINAPI CreateSymbolicLinkW (LPCWSTR, LPCWSTR, DWORD); + +/* http://msdn.microsoft.com/en-us/library/aa364953%28VS.85%29.aspx */ +WINBASEAPI BOOL WINAPI GetFileInformationByHandleEx +(HANDLE, FILE_INFO_BY_HANDLE_CLASS, LPVOID, DWORD); + +/* http://msdn.microsoft.com/en-us/library/aa364962%28VS.85%29.aspx */ +#define GetFinalPathNameByHandle __AW_SUFFIXED__(GetFinalPathNameByHandle) +WINBASEAPI DWORD WINAPI GetFinalPathNameByHandleA (HANDLE, LPSTR, DWORD, DWORD); +WINBASEAPI DWORD WINAPI GetFinalPathNameByHandleW +(HANDLE, LPWSTR, DWORD, DWORD); + +#if _WIN32_WINNT >= _WIN32_WINNT_WIN7 +/* Additional features, available only on the WinNT series platforms, from + * the release of Windows-7 onwards. + */ +WINBASEAPI BOOL WINAPI GetProcessDEPPolicy (HANDLE, LPDWORD, PBOOL); +WINBASEAPI DEP_SYSTEM_POLICY_TYPE WINAPI GetSystemDEPPolicy (void); + +WINBASEAPI BOOL WINAPI SetProcessDEPPolicy (DWORD); + +#endif /* Win7 and later */ +#endif /* Windows Vista and later */ +#endif /* Windows Server-2003 and later */ +#endif /* WinXP and later; not Win9x */ +#endif /* Win2K and later, but not Win9x */ +#endif /* Win98, Win2K, and later */ #endif /* ! RC_INVOKED */