Reactos
at master 3903 lines 133 kB view raw
1#ifndef _WINBASE_ 2#define _WINBASE_ 3 4#ifdef __cplusplus 5extern "C" { 6#endif 7 8#if !defined(_ADVAPI32_) 9#define WINADVAPI DECLSPEC_IMPORT 10#else 11#define WINADVAPI 12#endif 13 14#if !defined(_KERNEL32_) 15#define WINBASEAPI DECLSPEC_IMPORT 16#else 17#define WINBASEAPI 18#endif 19 20#include <minwinbase.h> 21#include <ioapiset.h> 22#include <processthreadsapi.h> 23#include <sysinfoapi.h> 24#include <threadpoolapiset.h> 25#include <libloaderapi.h> 26 27#ifdef _MSC_VER 28#pragma warning(push) 29#pragma warning(disable:4201) 30#pragma warning(disable:4214) 31#pragma warning(disable:4820) 32#endif 33 34#define PROCESS_NAME_NATIVE 1 35 36#define FILE_ENCRYPTABLE 0 37#define FILE_IS_ENCRYPTED 1 38#define FILE_SYSTEM_ATTR 2 39#define FILE_ROOT_DIR 3 40#define FILE_SYSTEM_DIR 4 41#define FILE_UNKNOWN 5 42#define FILE_SYSTEM_NOT_SUPPORT 6 43#define FILE_USER_DISALLOWED 7 44#define FILE_READ_ONLY 8 45#define FILE_DIR_DISALLOWED 9 46 47#define COMMPROP_INITIALIZED 0xE73CF52E 48#define SP_SERIALCOMM 1 49#define PST_UNSPECIFIED 0 50#define PST_RS232 1 51#define PST_PARALLELPORT 2 52#define PST_RS422 3 53#define PST_RS423 4 54#define PST_RS449 5 55#define PST_MODEM 6 56#define PST_FAX 0x21 57#define PST_SCANNER 0x22 58#define PST_NETWORK_BRIDGE 0x100 59#define PST_LAT 0x101 60#define PST_TCPIP_TELNET 0x102 61#define PST_X25 0x103 62#define BAUD_075 1 63#define BAUD_110 2 64#define BAUD_134_5 4 65#define BAUD_150 8 66#define BAUD_300 16 67#define BAUD_600 32 68#define BAUD_1200 64 69#define BAUD_1800 128 70#define BAUD_2400 256 71#define BAUD_4800 512 72#define BAUD_7200 1024 73#define BAUD_9600 2048 74#define BAUD_14400 4096 75#define BAUD_19200 8192 76#define BAUD_38400 16384 77#define BAUD_56K 32768 78#define BAUD_128K 65536 79#define BAUD_115200 131072 80#define BAUD_57600 262144 81#define BAUD_USER 0x10000000 82#define PCF_DTRDSR 1 83#define PCF_RTSCTS 2 84#define PCF_RLSD 4 85#define PCF_PARITY_CHECK 8 86#define PCF_XONXOFF 16 87#define PCF_SETXCHAR 32 88#define PCF_TOTALTIMEOUTS 64 89#define PCF_INTTIMEOUTS 128 90#define PCF_SPECIALCHARS 256 91#define PCF_16BITMODE 512 92#define SP_PARITY 1 93#define SP_BAUD 2 94#define SP_DATABITS 4 95#define SP_STOPBITS 8 96#define SP_HANDSHAKING 16 97#define SP_PARITY_CHECK 32 98#define SP_RLSD 64 99#define DATABITS_5 1 100#define DATABITS_6 2 101#define DATABITS_7 4 102#define DATABITS_8 8 103#define DATABITS_16 16 104#define DATABITS_16X 32 105#define STOPBITS_10 1 106#define STOPBITS_15 2 107#define STOPBITS_20 4 108#define PARITY_NONE 256 109#define PARITY_ODD 512 110#define PARITY_EVEN 1024 111#define PARITY_MARK 2048 112#define PARITY_SPACE 4096 113#define HFILE_ERROR ((HFILE)-1) 114#define FILE_BEGIN 0 115#define FILE_CURRENT 1 116#define FILE_END 2 117#define INVALID_SET_FILE_POINTER ((DWORD)-1) 118#define OF_READ 0 119#define OF_READWRITE 2 120#define OF_WRITE 1 121#define OF_SHARE_COMPAT 0 122#define OF_SHARE_DENY_NONE 64 123#define OF_SHARE_DENY_READ 48 124#define OF_SHARE_DENY_WRITE 32 125#define OF_SHARE_EXCLUSIVE 16 126#define OF_CANCEL 2048 127#define OF_CREATE 4096 128#define OF_DELETE 512 129#define OF_EXIST 16384 130#define OF_PARSE 256 131#define OF_PROMPT 8192 132#define OF_REOPEN 32768 133#define OF_VERIFY 1024 134#define NMPWAIT_NOWAIT 1 135#define NMPWAIT_WAIT_FOREVER ((DWORD)-1) 136#define NMPWAIT_USE_DEFAULT_WAIT 0 137#define CE_BREAK 16 138#define CE_DNS 2048 139#define CE_FRAME 8 140#define CE_IOE 1024 141#define CE_MODE 32768 142#define CE_OOP 4096 143#define CE_OVERRUN 2 144#define CE_PTO 512 145#define CE_RXOVER 1 146#define CE_RXPARITY 4 147#define CE_TXFULL 256 148#define PROGRESS_CONTINUE 0 149#define PROGRESS_CANCEL 1 150#define PROGRESS_STOP 2 151#define PROGRESS_QUIET 3 152#define CALLBACK_CHUNK_FINISHED 0 153#define CALLBACK_STREAM_SWITCH 1 154#define OFS_MAXPATHNAME 128 155#define FILE_MAP_COPY SECTION_QUERY 156#define FILE_MAP_WRITE SECTION_MAP_WRITE 157#define FILE_MAP_READ SECTION_MAP_READ 158#define FILE_MAP_ALL_ACCESS SECTION_ALL_ACCESS 159#define FILE_MAP_EXECUTE SECTION_MAP_EXECUTE_EXPLICIT 160#define MUTEX_ALL_ACCESS 0x1f0001 161#define MUTEX_MODIFY_STATE 1 162#define SEMAPHORE_ALL_ACCESS 0x1f0003 163#define SEMAPHORE_MODIFY_STATE 2 164#define EVENT_ALL_ACCESS 0x1f0003 165#define EVENT_MODIFY_STATE 2 166#define PIPE_ACCESS_DUPLEX 3 167#define PIPE_ACCESS_INBOUND 1 168#define PIPE_ACCESS_OUTBOUND 2 169#define PIPE_TYPE_BYTE 0 170#define PIPE_TYPE_MESSAGE 4 171#define PIPE_READMODE_BYTE 0 172#define PIPE_READMODE_MESSAGE 2 173#define PIPE_WAIT 0 174#define PIPE_NOWAIT 1 175#define PIPE_CLIENT_END 0 176#define PIPE_SERVER_END 1 177#define PIPE_UNLIMITED_INSTANCES 255 178 179/* CreateProcess() dwCreationFlags values */ 180#define DEBUG_PROCESS 0x00000001 181#define DEBUG_ONLY_THIS_PROCESS 0x00000002 182#define CREATE_SUSPENDED 0x00000004 183#define DETACHED_PROCESS 0x00000008 184#define CREATE_NEW_CONSOLE 0x00000010 185#define NORMAL_PRIORITY_CLASS 0x00000020 186#define IDLE_PRIORITY_CLASS 0x00000040 187#define HIGH_PRIORITY_CLASS 0x00000080 188#define REALTIME_PRIORITY_CLASS 0x00000100 189#define CREATE_NEW_PROCESS_GROUP 0x00000200 190#define CREATE_UNICODE_ENVIRONMENT 0x00000400 191#define CREATE_SEPARATE_WOW_VDM 0x00000800 192#define CREATE_SHARED_WOW_VDM 0x00001000 193#define CREATE_FORCEDOS 0x00002000 194#define BELOW_NORMAL_PRIORITY_CLASS 0x00004000 195#define ABOVE_NORMAL_PRIORITY_CLASS 0x00008000 196 197#if (_WIN32_WINNT >= _WIN32_WINNT_WIN7) 198#define INHERIT_PARENT_AFFINITY 0x00010000 199#endif // _WIN32_WINNT_WIN7 200 201#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA) 202#define INHERIT_CALLER_PRIORITY 0x00020000 // Deprecated 203#define CREATE_PROTECTED_PROCESS 0x00040000 204#define EXTENDED_STARTUPINFO_PRESENT 0x00080000 205#define PROCESS_MODE_BACKGROUND_BEGIN 0x00100000 206#define PROCESS_MODE_BACKGROUND_END 0x00200000 207#endif // _WIN32_WINNT_VISTA 208 209#if (NTDDI_VERSION >= NTDDI_WIN10_RS4) 210#define CREATE_SECURE_PROCESS 0x00400000 211#endif // NTDDI_WIN10_RS4 212 213#define CREATE_BREAKAWAY_FROM_JOB 0x01000000 214#define CREATE_PRESERVE_CODE_AUTHZ_LEVEL 0x02000000 215#define CREATE_DEFAULT_ERROR_MODE 0x04000000 216#define CREATE_NO_WINDOW 0x08000000 217#define PROFILE_USER 0x10000000 218#define PROFILE_KERNEL 0x20000000 219#define PROFILE_SERVER 0x40000000 220#define CREATE_IGNORE_SYSTEM_DEFAULT 0x80000000 221 222/* CreateThread()/CreateRemoteThread() dwCreationFlags values */ 223// #define CREATE_SUSPENDED 0x00000004 // See above 224#define STACK_SIZE_PARAM_IS_A_RESERVATION 0x00010000 225 226#define CREATE_NEW 1 227#define CREATE_ALWAYS 2 228#define OPEN_EXISTING 3 229#define OPEN_ALWAYS 4 230#define TRUNCATE_EXISTING 5 231 232#define COPY_FILE_FAIL_IF_EXISTS 0x00000001 233#define COPY_FILE_RESTARTABLE 0x00000002 234#define COPY_FILE_OPEN_SOURCE_FOR_WRITE 0x00000004 235#define COPY_FILE_ALLOW_DECRYPTED_DESTINATION 0x00000008 236 237#define FILE_FLAG_WRITE_THROUGH 0x80000000 238#define FILE_FLAG_OVERLAPPED 0x40000000 239#define FILE_FLAG_NO_BUFFERING 0x20000000 240#define FILE_FLAG_RANDOM_ACCESS 0x10000000 241#define FILE_FLAG_SEQUENTIAL_SCAN 0x08000000 242#define FILE_FLAG_DELETE_ON_CLOSE 0x04000000 243#define FILE_FLAG_BACKUP_SEMANTICS 0x02000000 244#define FILE_FLAG_POSIX_SEMANTICS 0x01000000 245#define FILE_FLAG_OPEN_REPARSE_POINT 0x00200000 246#define FILE_FLAG_OPEN_NO_RECALL 0x00100000 247#if (_WIN32_WINNT >= 0x0500) 248#define FILE_FLAG_FIRST_PIPE_INSTANCE 0x00080000 249#endif 250 251#define CLRDTR 6 252#define CLRRTS 4 253#define SETDTR 5 254#define SETRTS 3 255#define SETXOFF 1 256#define SETXON 2 257#define RESETDEV 7 258#define SETBREAK 8 259#define CLRBREAK 9 260#define SCS_32BIT_BINARY 0 261#define SCS_64BIT_BINARY 6 262#define SCS_DOS_BINARY 1 263#define SCS_OS216_BINARY 5 264#define SCS_PIF_BINARY 3 265#define SCS_POSIX_BINARY 4 266#define SCS_WOW_BINARY 2 267#define MAX_COMPUTERNAME_LENGTH 15 268#define HW_PROFILE_GUIDLEN 39 269#define MAX_PROFILE_LEN 80 270#define DOCKINFO_UNDOCKED 1 271#define DOCKINFO_DOCKED 2 272#define DOCKINFO_USER_SUPPLIED 4 273#define DOCKINFO_USER_UNDOCKED (DOCKINFO_USER_SUPPLIED|DOCKINFO_UNDOCKED) 274#define DOCKINFO_USER_DOCKED (DOCKINFO_USER_SUPPLIED|DOCKINFO_DOCKED) 275#define DRIVE_REMOVABLE 2 276#define DRIVE_FIXED 3 277#define DRIVE_REMOTE 4 278#define DRIVE_CDROM 5 279#define DRIVE_RAMDISK 6 280#define DRIVE_UNKNOWN 0 281#define DRIVE_NO_ROOT_DIR 1 282#define FILE_TYPE_UNKNOWN 0 283#define FILE_TYPE_DISK 1 284#define FILE_TYPE_CHAR 2 285#define FILE_TYPE_PIPE 3 286#define FILE_TYPE_REMOTE 0x8000 287/* also in ddk/ntapi.h */ 288#define HANDLE_FLAG_INHERIT 0x01 289#define HANDLE_FLAG_PROTECT_FROM_CLOSE 0x02 290/* end ntapi.h */ 291#define STD_INPUT_HANDLE (DWORD)(0xfffffff6) 292#define STD_OUTPUT_HANDLE (DWORD)(0xfffffff5) 293#define STD_ERROR_HANDLE (DWORD)(0xfffffff4) 294#define INVALID_HANDLE_VALUE (HANDLE)(-1) 295#define GET_TAPE_MEDIA_INFORMATION 0 296#define GET_TAPE_DRIVE_INFORMATION 1 297#define SET_TAPE_MEDIA_INFORMATION 0 298#define SET_TAPE_DRIVE_INFORMATION 1 299#define THREAD_PRIORITY_ABOVE_NORMAL 1 300#define THREAD_PRIORITY_BELOW_NORMAL (-1) 301#define THREAD_PRIORITY_HIGHEST 2 302#define THREAD_PRIORITY_IDLE (-15) 303#define THREAD_PRIORITY_LOWEST (-2) 304#define THREAD_PRIORITY_NORMAL 0 305#define THREAD_PRIORITY_TIME_CRITICAL 15 306#define THREAD_PRIORITY_ERROR_RETURN 2147483647 307#define TIME_ZONE_ID_UNKNOWN 0 308#define TIME_ZONE_ID_STANDARD 1 309#define TIME_ZONE_ID_DAYLIGHT 2 310#define TIME_ZONE_ID_INVALID 0xFFFFFFFF 311#define FS_CASE_IS_PRESERVED 2 312#define FS_CASE_SENSITIVE 1 313#define FS_UNICODE_STORED_ON_DISK 4 314#define FS_PERSISTENT_ACLS 8 315#define FS_FILE_COMPRESSION 16 316#define FS_VOL_IS_COMPRESSED 32768 317#define GMEM_FIXED 0 318#define GMEM_MOVEABLE 2 319#define GMEM_MODIFY 128 320#define GPTR 64 321#define GHND 66 322#define GMEM_DDESHARE 8192 323#define GMEM_DISCARDABLE 256 324#define GMEM_LOWER 4096 325#define GMEM_NOCOMPACT 16 326#define GMEM_NODISCARD 32 327#define GMEM_NOT_BANKED 4096 328#define GMEM_NOTIFY 16384 329#define GMEM_SHARE 8192 330#define GMEM_ZEROINIT 64 331#define GMEM_DISCARDED 16384 332#define GMEM_INVALID_HANDLE 32768 333#define GMEM_LOCKCOUNT 255 334#define GMEM_VALID_FLAGS 32626 335 336// LoadLibraryEx() dwFlags. 337#define DONT_RESOLVE_DLL_REFERENCES 0x00000001 338#define LOAD_LIBRARY_AS_DATAFILE 0x00000002 339// #define LOAD_PACKAGED_LIBRARY 0x00000004 // Internal use only. 340#define LOAD_WITH_ALTERED_SEARCH_PATH 0x00000008 341#define LOAD_IGNORE_CODE_AUTHZ_LEVEL 0x00000010 342#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA) 343#define LOAD_LIBRARY_AS_IMAGE_RESOURCE 0x00000020 344#define LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE 0x00000040 345#define LOAD_LIBRARY_REQUIRE_SIGNED_TARGET 0x00000080 346#define LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR 0x00000100 347#define LOAD_LIBRARY_SEARCH_APPLICATION_DIR 0x00000200 348#define LOAD_LIBRARY_SEARCH_USER_DIRS 0x00000400 349#define LOAD_LIBRARY_SEARCH_SYSTEM32 0x00000800 350#define LOAD_LIBRARY_SEARCH_DEFAULT_DIRS 0x00001000 351#endif // _WIN32_WINNT_VISTA 352#if (NTDDI_VERSION >= NTDDI_WIN10_RS1) 353#define LOAD_LIBRARY_SAFE_CURRENT_DIRS 0x00002000 354#define LOAD_LIBRARY_SEARCH_SYSTEM32_NO_FORWARDER 0x00004000 355#else // NTDDI_WIN10_RS1 356#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA) 357#define LOAD_LIBRARY_SEARCH_SYSTEM32_NO_FORWARDER LOAD_LIBRARY_SEARCH_SYSTEM32 358#endif // _WIN32_WINNT_VISTA 359#endif // NTDDI_WIN10_RS1 360#if (NTDDI_VERSION >= NTDDI_WIN10_RS2) 361#define LOAD_LIBRARY_OS_INTEGRITY_CONTINUITY 0x00008000 362#endif // NTDDI_WIN10_RS2 363 364#define LOGON32_PROVIDER_DEFAULT 0 365#define LOGON32_PROVIDER_WINNT35 1 366#define LOGON32_PROVIDER_WINNT40 2 367#define LOGON32_PROVIDER_WINNT50 3 368#define LOGON32_LOGON_INTERACTIVE 2 369#define LOGON32_LOGON_NETWORK 3 370#define LOGON32_LOGON_BATCH 4 371#define LOGON32_LOGON_SERVICE 5 372#define LOGON32_LOGON_UNLOCK 7 373#define LOGON32_LOGON_NETWORK_CLEARTEXT 8 374#define LOGON32_LOGON_NEW_CREDENTIALS 9 375#define MOVEFILE_REPLACE_EXISTING 1 376#define MOVEFILE_COPY_ALLOWED 2 377#define MOVEFILE_DELAY_UNTIL_REBOOT 4 378#define MOVEFILE_WRITE_THROUGH 8 379#define MOVEFILE_CREATE_HARDLINK 16 380#define MOVEFILE_FAIL_IF_NOT_TRACKABLE 32 381#define MAXIMUM_WAIT_OBJECTS 64 382#define MAXIMUM_SUSPEND_COUNT 0x7F 383#define WAIT_OBJECT_0 0 384#define WAIT_ABANDONED_0 128 385#ifndef WAIT_TIMEOUT /* also in winerror.h */ 386#define WAIT_TIMEOUT 258 387#endif 388#define WAIT_IO_COMPLETION 0xC0 389#define WAIT_ABANDONED 128 390#define WAIT_FAILED ((DWORD)0xFFFFFFFF) 391#define PURGE_TXABORT 1 392#define PURGE_RXABORT 2 393#define PURGE_TXCLEAR 4 394#define PURGE_RXCLEAR 8 395 396#define FORMAT_MESSAGE_ALLOCATE_BUFFER 256 397#define FORMAT_MESSAGE_IGNORE_INSERTS 512 398#define FORMAT_MESSAGE_FROM_STRING 1024 399#define FORMAT_MESSAGE_FROM_HMODULE 2048 400#define FORMAT_MESSAGE_FROM_SYSTEM 4096 401#define FORMAT_MESSAGE_ARGUMENT_ARRAY 8192 402#define FORMAT_MESSAGE_MAX_WIDTH_MASK 255 403#define EV_BREAK 64 404#define EV_CTS 8 405#define EV_DSR 16 406#define EV_ERR 128 407#define EV_EVENT1 2048 408#define EV_EVENT2 4096 409#define EV_PERR 512 410#define EV_RING 256 411#define EV_RLSD 32 412#define EV_RX80FULL 1024 413#define EV_RXCHAR 1 414#define EV_RXFLAG 2 415#define EV_TXEMPTY 4 416/* also in ddk/ntapi.h */ 417#define SEM_FAILCRITICALERRORS 0x0001 418#define SEM_NOGPFAULTERRORBOX 0x0002 419#define SEM_NOALIGNMENTFAULTEXCEPT 0x0004 420#define SEM_NOOPENFILEERRORBOX 0x8000 421/* end ntapi.h */ 422#define SLE_ERROR 1 423#define SLE_MINORERROR 2 424#define SLE_WARNING 3 425#define SHUTDOWN_NORETRY 1 426#define MAXINTATOM 0xC000 427#define INVALID_ATOM ((ATOM)0) 428#define IGNORE 0 429#define INFINITE 0xFFFFFFFF 430#define NOPARITY 0 431#define ODDPARITY 1 432#define EVENPARITY 2 433#define MARKPARITY 3 434#define SPACEPARITY 4 435#define ONESTOPBIT 0 436#define ONE5STOPBITS 1 437#define TWOSTOPBITS 2 438#define CBR_110 110 439#define CBR_300 300 440#define CBR_600 600 441#define CBR_1200 1200 442#define CBR_2400 2400 443#define CBR_4800 4800 444#define CBR_9600 9600 445#define CBR_14400 14400 446#define CBR_19200 19200 447#define CBR_38400 38400 448#define CBR_56000 56000 449#define CBR_57600 57600 450#define CBR_115200 115200 451#define CBR_128000 128000 452#define CBR_256000 256000 453#define BACKUP_INVALID 0 454#define BACKUP_DATA 1 455#define BACKUP_EA_DATA 2 456#define BACKUP_SECURITY_DATA 3 457#define BACKUP_ALTERNATE_DATA 4 458#define BACKUP_LINK 5 459#define BACKUP_PROPERTY_DATA 6 460#define BACKUP_OBJECT_ID 7 461#define BACKUP_REPARSE_DATA 8 462#define BACKUP_SPARSE_BLOCK 9 463#define STREAM_NORMAL_ATTRIBUTE 0 464#define STREAM_MODIFIED_WHEN_READ 1 465#define STREAM_CONTAINS_SECURITY 2 466#define STREAM_CONTAINS_PROPERTIES 4 467 468#define STARTF_USESHOWWINDOW 0x00000001 469#define STARTF_USESIZE 0x00000002 470#define STARTF_USEPOSITION 0x00000004 471#define STARTF_USECOUNTCHARS 0x00000008 472#define STARTF_USEFILLATTRIBUTE 0x00000010 473#define STARTF_RUNFULLSCREEN 0x00000020 474#define STARTF_FORCEONFEEDBACK 0x00000040 475#define STARTF_FORCEOFFFEEDBACK 0x00000080 476#define STARTF_USESTDHANDLES 0x00000100 477#if (WINVER >= 0x400) 478#define STARTF_USEHOTKEY 0x00000200 479#define STARTF_TITLEISLINKNAME 0x00000800 480#define STARTF_TITLEISAPPID 0x00001000 481#define STARTF_PREVENTPINNING 0x00002000 482#endif /* (WINVER >= 0x400) */ 483#if (WINVER >= 0x0600) 484#define STARTF_UNTRUSTEDSOURCE 0x00008000 485#endif /* (WINVER >= 0x0600) */ 486 487#define TC_NORMAL 0 488#define TC_HARDERR 1 489#define TC_GP_TRAP 2 490#define TC_SIGNAL 3 491#define AC_LINE_OFFLINE 0 492#define AC_LINE_ONLINE 1 493#define AC_LINE_BACKUP_POWER 2 494#define AC_LINE_UNKNOWN 255 495#define BATTERY_FLAG_HIGH 1 496#define BATTERY_FLAG_LOW 2 497#define BATTERY_FLAG_CRITICAL 4 498#define BATTERY_FLAG_CHARGING 8 499#define BATTERY_FLAG_NO_BATTERY 128 500#define BATTERY_FLAG_UNKNOWN 255 501#define BATTERY_PERCENTAGE_UNKNOWN 255 502#define BATTERY_LIFE_UNKNOWN 0xFFFFFFFF 503#define DDD_RAW_TARGET_PATH 1 504#define DDD_REMOVE_DEFINITION 2 505#define DDD_EXACT_MATCH_ON_REMOVE 4 506#define DDD_NO_BROADCAST_SYSTEM 8 507#define DDD_LUID_BROADCAST_DRIVE 16 508#define HINSTANCE_ERROR 32 509#define MS_CTS_ON 16 510#define MS_DSR_ON 32 511#define MS_RING_ON 64 512#define MS_RLSD_ON 128 513#define DTR_CONTROL_DISABLE 0 514#define DTR_CONTROL_ENABLE 1 515#define DTR_CONTROL_HANDSHAKE 2 516#define RTS_CONTROL_DISABLE 0 517#define RTS_CONTROL_ENABLE 1 518#define RTS_CONTROL_HANDSHAKE 2 519#define RTS_CONTROL_TOGGLE 3 520#define SECURITY_ANONYMOUS (SecurityAnonymous<<16) 521#define SECURITY_IDENTIFICATION (SecurityIdentification<<16) 522#define SECURITY_IMPERSONATION (SecurityImpersonation<<16) 523#define SECURITY_DELEGATION (SecurityDelegation<<16) 524#define SECURITY_CONTEXT_TRACKING 0x40000 525#define SECURITY_EFFECTIVE_ONLY 0x80000 526#define SECURITY_SQOS_PRESENT 0x100000 527#define SECURITY_VALID_SQOS_FLAGS 0x1F0000 528#define INVALID_FILE_SIZE 0xFFFFFFFF 529#define TLS_OUT_OF_INDEXES (DWORD)0xFFFFFFFF 530#if (_WIN32_WINNT >= 0x0501) 531#define ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID 0x00000001 532#define ACTCTX_FLAG_LANGID_VALID 0x00000002 533#define ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID 0x00000004 534#define ACTCTX_FLAG_RESOURCE_NAME_VALID 0x00000008 535#define ACTCTX_FLAG_SET_PROCESS_DEFAULT 0x00000010 536#define ACTCTX_FLAG_APPLICATION_NAME_VALID 0x00000020 537#define ACTCTX_FLAG_SOURCE_IS_ASSEMBLYREF 0x00000040 538#define ACTCTX_FLAG_HMODULE_VALID 0x00000080 539#define DEACTIVATE_ACTCTX_FLAG_FORCE_EARLY_DEACTIVATION 0x00000001 540#define FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX 0x00000001 541#define QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX 0x00000004 542#define QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE 0x00000008 543#define QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS 0x00000010 544#define QUERY_ACTCTX_FLAG_NO_ADDREF 0x80000000 545#if (_WIN32_WINNT >= 0x0600) 546#define SYMBOLIC_LINK_FLAG_DIRECTORY 0x1 547#endif 548#endif /* (_WIN32_WINNT >= 0x0501) */ 549#if (_WIN32_WINNT >= 0x0500) 550#define REPLACEFILE_WRITE_THROUGH 0x00000001 551#define REPLACEFILE_IGNORE_MERGE_ERRORS 0x00000002 552#endif /* (_WIN32_WINNT >= 0x0500) */ 553#if (_WIN32_WINNT >= 0x0400) 554#define FIBER_FLAG_FLOAT_SWITCH 0x1 555#endif 556#define FLS_OUT_OF_INDEXES 0xFFFFFFFF 557#if (_WIN32_WINNT >= 0x0600) 558#define MAX_RESTART_CMD_LINE 0x800 559#define RESTART_CYCLICAL 0x1 560#define RESTART_NOTIFY_SOLUTION 0x2 561#define RESTART_NOTIFY_FAULT 0x4 562#define VOLUME_NAME_DOS 0x0 563#define VOLUME_NAME_GUID 0x1 564#define VOLUME_NAME_NT 0x2 565#define VOLUME_NAME_NONE 0x4 566#define FILE_NAME_NORMALIZED 0x0 567#define FILE_NAME_OPENED 0x8 568#define FILE_SKIP_COMPLETION_PORT_ON_SUCCESS 0x1 569#define FILE_SKIP_SET_EVENT_ON_HANDLE 0x2 570#endif 571#if (_WIN32_WINNT >= 0x0500) 572#define GET_MODULE_HANDLE_EX_FLAG_PIN 0x1 573#define GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT 0x2 574#define GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS 0x4 575#endif 576#if (_WIN32_WINNT >= 0x0600) 577#define CREATE_EVENT_MANUAL_RESET 0x1 578#define CREATE_EVENT_INITIAL_SET 0x2 579#define CREATE_MUTEX_INITIAL_OWNER 0x1 580#define CREATE_WAITABLE_TIMER_MANUAL_RESET 0x1 581#define SRWLOCK_INIT RTL_SRWLOCK_INIT 582#define CONDITION_VARIABLE_INIT RTL_CONDITION_VARIABLE_INIT 583#define CONDITION_VARIABLE_LOCKMODE_SHARED RTL_CONDITION_VARIABLE_LOCKMODE_SHARED 584#endif 585 586#define BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE 0x00001 587#define BASE_SEARCH_PATH_DISABLE_SAFE_SEARCHMODE 0x10000 588#define BASE_SEARCH_PATH_PERMANENT 0x08000 589#define BASE_SEARCH_PATH_INVALID_FLAGS (~0x18001) 590 591#define INIT_ONCE_STATIC_INIT RTL_RUN_ONCE_INIT 592 593#if (_WIN32_WINNT >= 0x0600) 594#define PROCESS_DEP_ENABLE 0x00000001 595#define PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION 0x00000002 596#endif 597 598#define LOGON_WITH_PROFILE 0x00000001 599#define LOGON_NETCREDENTIALS_ONLY 0x00000002 600 601#ifndef RC_INVOKED 602 603typedef struct _BY_HANDLE_FILE_INFORMATION { 604 DWORD dwFileAttributes; 605 FILETIME ftCreationTime; 606 FILETIME ftLastAccessTime; 607 FILETIME ftLastWriteTime; 608 DWORD dwVolumeSerialNumber; 609 DWORD nFileSizeHigh; 610 DWORD nFileSizeLow; 611 DWORD nNumberOfLinks; 612 DWORD nFileIndexHigh; 613 DWORD nFileIndexLow; 614} BY_HANDLE_FILE_INFORMATION,*PBY_HANDLE_FILE_INFORMATION,*LPBY_HANDLE_FILE_INFORMATION; 615 616typedef struct _DCB { 617 DWORD DCBlength; 618 DWORD BaudRate; 619 DWORD fBinary:1; 620 DWORD fParity:1; 621 DWORD fOutxCtsFlow:1; 622 DWORD fOutxDsrFlow:1; 623 DWORD fDtrControl:2; 624 DWORD fDsrSensitivity:1; 625 DWORD fTXContinueOnXoff:1; 626 DWORD fOutX:1; 627 DWORD fInX:1; 628 DWORD fErrorChar:1; 629 DWORD fNull:1; 630 DWORD fRtsControl:2; 631 DWORD fAbortOnError:1; 632 DWORD fDummy2:17; 633 WORD wReserved; 634 WORD XonLim; 635 WORD XoffLim; 636 BYTE ByteSize; 637 BYTE Parity; 638 BYTE StopBits; 639 char XonChar; 640 char XoffChar; 641 char ErrorChar; 642 char EofChar; 643 char EvtChar; 644 WORD wReserved1; 645} DCB,*LPDCB; 646 647typedef struct _COMM_CONFIG { 648 DWORD dwSize; 649 WORD wVersion; 650 WORD wReserved; 651 DCB dcb; 652 DWORD dwProviderSubType; 653 DWORD dwProviderOffset; 654 DWORD dwProviderSize; 655 WCHAR wcProviderData[1]; 656} COMMCONFIG,*LPCOMMCONFIG; 657 658typedef struct _COMMPROP { 659 WORD wPacketLength; 660 WORD wPacketVersion; 661 DWORD dwServiceMask; 662 DWORD dwReserved1; 663 DWORD dwMaxTxQueue; 664 DWORD dwMaxRxQueue; 665 DWORD dwMaxBaud; 666 DWORD dwProvSubType; 667 DWORD dwProvCapabilities; 668 DWORD dwSettableParams; 669 DWORD dwSettableBaud; 670 WORD wSettableData; 671 WORD wSettableStopParity; 672 DWORD dwCurrentTxQueue; 673 DWORD dwCurrentRxQueue; 674 DWORD dwProvSpec1; 675 DWORD dwProvSpec2; 676 WCHAR wcProvChar[1]; 677} COMMPROP,*LPCOMMPROP; 678 679typedef struct _COMMTIMEOUTS { 680 DWORD ReadIntervalTimeout; 681 DWORD ReadTotalTimeoutMultiplier; 682 DWORD ReadTotalTimeoutConstant; 683 DWORD WriteTotalTimeoutMultiplier; 684 DWORD WriteTotalTimeoutConstant; 685} COMMTIMEOUTS,*LPCOMMTIMEOUTS; 686 687typedef struct _COMSTAT { 688 DWORD fCtsHold:1; 689 DWORD fDsrHold:1; 690 DWORD fRlsdHold:1; 691 DWORD fXoffHold:1; 692 DWORD fXoffSent:1; 693 DWORD fEof:1; 694 DWORD fTxim:1; 695 DWORD fReserved:25; 696 DWORD cbInQue; 697 DWORD cbOutQue; 698} COMSTAT,*LPCOMSTAT; 699 700#ifndef MIDL_PASS 701typedef PEXCEPTION_RECORD LPEXCEPTION_RECORD; 702typedef PEXCEPTION_POINTERS LPEXCEPTION_POINTERS; 703#endif 704 705typedef struct _STARTUPINFOEXA 706{ 707 STARTUPINFOA StartupInfo; 708 LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList; 709} STARTUPINFOEXA, *LPSTARTUPINFOEXA; 710 711typedef struct _STARTUPINFOEXW 712{ 713 STARTUPINFOW StartupInfo; 714 LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList; 715} STARTUPINFOEXW, *LPSTARTUPINFOEXW; 716 717#if (_WIN32_WINNT >= 0x0500) 718typedef WAITORTIMERCALLBACKFUNC WAITORTIMERCALLBACK ; 719#endif 720typedef struct _WIN32_FILE_ATTRIBUTE_DATA { 721 DWORD dwFileAttributes; 722 FILETIME ftCreationTime; 723 FILETIME ftLastAccessTime; 724 FILETIME ftLastWriteTime; 725 DWORD nFileSizeHigh; 726 DWORD nFileSizeLow; 727} WIN32_FILE_ATTRIBUTE_DATA,*LPWIN32_FILE_ATTRIBUTE_DATA; 728 729#if (_WIN32_WINNT >= 0x0501) 730typedef enum _STREAM_INFO_LEVELS { 731 FindStreamInfoStandard 732} STREAM_INFO_LEVELS; 733 734typedef struct _WIN32_FIND_STREAM_DATA { 735 LARGE_INTEGER StreamSize; 736 WCHAR cStreamName[MAX_PATH + 36]; 737} WIN32_FIND_STREAM_DATA, *PWIN32_FIND_STREAM_DATA; 738#endif 739 740typedef struct _WIN32_STREAM_ID { 741 DWORD dwStreamId; 742 DWORD dwStreamAttributes; 743 LARGE_INTEGER Size; 744 DWORD dwStreamNameSize; 745 WCHAR cStreamName[ANYSIZE_ARRAY]; 746} WIN32_STREAM_ID, *LPWIN32_STREAM_ID; 747 748#if (_WIN32_WINNT >= 0x0600) 749 750typedef enum _FILE_ID_TYPE { 751 FileIdType, 752 ObjectIdType, 753 ExtendedFileIdType, 754 MaximumFileIdType 755} FILE_ID_TYPE, *PFILE_ID_TYPE; 756 757typedef struct _FILE_ID_DESCRIPTOR { 758 DWORD dwSize; 759 FILE_ID_TYPE Type; 760 union { 761 LARGE_INTEGER FileId; 762 GUID ObjectId; 763 } DUMMYUNIONNAME; 764} FILE_ID_DESCRIPTOR, *LPFILE_ID_DESCRIPTOR; 765 766typedef struct _FILE_ID_BOTH_DIR_INFO { 767 DWORD NextEntryOffset; 768 DWORD FileIndex; 769 LARGE_INTEGER CreationTime; 770 LARGE_INTEGER LastAccessTime; 771 LARGE_INTEGER LastWriteTime; 772 LARGE_INTEGER ChangeTime; 773 LARGE_INTEGER EndOfFile; 774 LARGE_INTEGER AllocationSize; 775 DWORD FileAttributes; 776 DWORD FileNameLength; 777 DWORD EaSize; 778 CCHAR ShortNameLength; 779 WCHAR ShortName[12]; 780 LARGE_INTEGER FileId; 781 WCHAR FileName[1]; 782} FILE_ID_BOTH_DIR_INFO, *PFILE_ID_BOTH_DIR_INFO; 783 784typedef struct _FILE_BASIC_INFO { 785 LARGE_INTEGER CreationTime; 786 LARGE_INTEGER LastAccessTime; 787 LARGE_INTEGER LastWriteTime; 788 LARGE_INTEGER ChangeTime; 789 DWORD FileAttributes; 790} FILE_BASIC_INFO, *PFILE_BASIC_INFO; 791 792typedef struct _FILE_STANDARD_INFO { 793 LARGE_INTEGER AllocationSize; 794 LARGE_INTEGER EndOfFile; 795 DWORD NumberOfLinks; 796 BOOLEAN DeletePending; 797 BOOLEAN Directory; 798} FILE_STANDARD_INFO, *PFILE_STANDARD_INFO; 799 800typedef struct _FILE_NAME_INFO { 801 DWORD FileNameLength; 802 WCHAR FileName[1]; 803} FILE_NAME_INFO, *PFILE_NAME_INFO; 804 805typedef enum _PRIORITY_HINT { 806 IoPriorityHintVeryLow, 807 IoPriorityHintLow, 808 IoPriorityHintNormal, 809 MaximumIoPriorityHintType 810} PRIORITY_HINT; 811 812typedef struct _FILE_IO_PRIORITY_HINT_INFO { 813 PRIORITY_HINT PriorityHint; 814} FILE_IO_PRIORITY_HINT_INFO; 815 816typedef struct _FILE_ALLOCATION_INFO { 817 LARGE_INTEGER AllocationSize; 818} FILE_ALLOCATION_INFO, *PFILE_ALLOCATION_INFO; 819 820typedef struct _FILE_DISPOSITION_INFO { 821 BOOLEAN DeleteFile; 822} FILE_DISPOSITION_INFO, *PFILE_DISPOSITION_INFO; 823 824typedef struct _FILE_END_OF_FILE_INFO { 825 LARGE_INTEGER EndOfFile; 826} FILE_END_OF_FILE_INFO, *PFILE_END_OF_FILE_INFO; 827 828typedef struct _FILE_RENAME_INFO { 829 BOOLEAN ReplaceIfExists; 830 HANDLE RootDirectory; 831 DWORD FileNameLength; 832 WCHAR FileName[1]; 833} FILE_RENAME_INFO, *PFILE_RENAME_INFO; 834 835typedef struct _FILE_ATTRIBUTE_TAG_INFO { 836 DWORD FileAttributes; 837 DWORD ReparseTag; 838} FILE_ATTRIBUTE_TAG_INFO, *PFILE_ATTRIBUTE_TAG_INFO; 839 840typedef struct _FILE_COMPRESSION_INFO { 841 LARGE_INTEGER CompressedFileSize; 842 WORD CompressionFormat; 843 UCHAR CompressionUnitShift; 844 UCHAR ChunkShift; 845 UCHAR ClusterShift; 846 UCHAR Reserved[3]; 847} FILE_COMPRESSION_INFO, *PFILE_COMPRESSION_INFO; 848 849typedef struct _FILE_REMOTE_PROTOCOL_INFO { 850 USHORT StructureVersion; 851 USHORT StructureSize; 852 ULONG Protocol; 853 USHORT ProtocolMajorVersion; 854 USHORT ProtocolMinorVersion; 855 USHORT ProtocolRevision; 856 USHORT Reserved; 857 ULONG Flags; 858 struct { 859 ULONG Reserved[8]; 860 } GenericReserved; 861 struct { 862 ULONG Reserved[16]; 863 } ProtocolSpecificReserved; 864} FILE_REMOTE_PROTOCOL_INFO, *PFILE_REMOTE_PROTOCOL_INFO; 865 866#endif 867 868 869 870typedef struct tagHW_PROFILE_INFOA { 871 DWORD dwDockInfo; 872 CHAR szHwProfileGuid[HW_PROFILE_GUIDLEN]; 873 CHAR szHwProfileName[MAX_PROFILE_LEN]; 874} HW_PROFILE_INFOA,*LPHW_PROFILE_INFOA; 875 876typedef struct tagHW_PROFILE_INFOW { 877 DWORD dwDockInfo; 878 WCHAR szHwProfileGuid[HW_PROFILE_GUIDLEN]; 879 WCHAR szHwProfileName[MAX_PROFILE_LEN]; 880} HW_PROFILE_INFOW,*LPHW_PROFILE_INFOW; 881 882/* Event Logging */ 883 884#define EVENTLOG_FULL_INFO 0 885 886typedef struct _EVENTLOG_FULL_INFORMATION { 887 DWORD dwFull; 888} EVENTLOG_FULL_INFORMATION, *LPEVENTLOG_FULL_INFORMATION; 889 890typedef struct _SYSTEM_INFO { 891 _ANONYMOUS_UNION union { 892 DWORD dwOemId; 893 _ANONYMOUS_STRUCT struct { 894 WORD wProcessorArchitecture; 895 WORD wReserved; 896 } DUMMYSTRUCTNAME; 897 } DUMMYUNIONNAME; 898 DWORD dwPageSize; 899 PVOID lpMinimumApplicationAddress; 900 PVOID lpMaximumApplicationAddress; 901 DWORD_PTR dwActiveProcessorMask; 902 DWORD dwNumberOfProcessors; 903 DWORD dwProcessorType; 904 DWORD dwAllocationGranularity; 905 WORD wProcessorLevel; 906 WORD wProcessorRevision; 907} SYSTEM_INFO,*LPSYSTEM_INFO; 908 909typedef struct _SYSTEM_POWER_STATUS { 910 BYTE ACLineStatus; 911 BYTE BatteryFlag; 912 BYTE BatteryLifePercent; 913 BYTE SystemStatusFlag; 914 DWORD BatteryLifeTime; 915 DWORD BatteryFullLifeTime; 916} SYSTEM_POWER_STATUS,*LPSYSTEM_POWER_STATUS; 917 918typedef struct _TIME_DYNAMIC_ZONE_INFORMATION { 919 LONG Bias; 920 WCHAR StandardName[32]; 921 SYSTEMTIME StandardDate; 922 LONG StandardBias; 923 WCHAR DaylightName[32]; 924 SYSTEMTIME DaylightDate; 925 LONG DaylightBias; 926 WCHAR TimeZoneKeyName[128]; 927 BOOLEAN DynamicDaylightTimeDisabled; 928} DYNAMIC_TIME_ZONE_INFORMATION, *PDYNAMIC_TIME_ZONE_INFORMATION; 929 930typedef struct _TIME_ZONE_INFORMATION { 931 LONG Bias; 932 WCHAR StandardName[32]; 933 SYSTEMTIME StandardDate; 934 LONG StandardBias; 935 WCHAR DaylightName[32]; 936 SYSTEMTIME DaylightDate; 937 LONG DaylightBias; 938} TIME_ZONE_INFORMATION,*PTIME_ZONE_INFORMATION,*LPTIME_ZONE_INFORMATION; 939 940typedef struct _MEMORYSTATUS { 941 DWORD dwLength; 942 DWORD dwMemoryLoad; 943 SIZE_T dwTotalPhys; 944 SIZE_T dwAvailPhys; 945 SIZE_T dwTotalPageFile; 946 SIZE_T dwAvailPageFile; 947 SIZE_T dwTotalVirtual; 948 SIZE_T dwAvailVirtual; 949} MEMORYSTATUS,*LPMEMORYSTATUS; 950 951#if (_WIN32_WINNT >= 0x0500) 952typedef struct _MEMORYSTATUSEX { 953 DWORD dwLength; 954 DWORD dwMemoryLoad; 955 DWORDLONG ullTotalPhys; 956 DWORDLONG ullAvailPhys; 957 DWORDLONG ullTotalPageFile; 958 DWORDLONG ullAvailPageFile; 959 DWORDLONG ullTotalVirtual; 960 DWORDLONG ullAvailVirtual; 961 DWORDLONG ullAvailExtendedVirtual; 962} MEMORYSTATUSEX, *LPMEMORYSTATUSEX; 963#endif 964 965#ifndef _LDT_ENTRY_DEFINED 966#define _LDT_ENTRY_DEFINED 967typedef struct _LDT_ENTRY { 968 WORD LimitLow; 969 WORD BaseLow; 970 union { 971 struct { 972 BYTE BaseMid; 973 BYTE Flags1; 974 BYTE Flags2; 975 BYTE BaseHi; 976 } Bytes; 977 struct { 978 DWORD BaseMid:8; 979 DWORD Type:5; 980 DWORD Dpl:2; 981 DWORD Pres:1; 982 DWORD LimitHi:4; 983 DWORD Sys:1; 984 DWORD Reserved_0:1; 985 DWORD Default_Big:1; 986 DWORD Granularity:1; 987 DWORD BaseHi:8; 988 } Bits; 989 } HighWord; 990} LDT_ENTRY,*PLDT_ENTRY,*LPLDT_ENTRY; 991#endif 992 993typedef struct _OFSTRUCT { 994 BYTE cBytes; 995 BYTE fFixedDisk; 996 WORD nErrCode; 997 WORD Reserved1; 998 WORD Reserved2; 999 CHAR szPathName[OFS_MAXPATHNAME]; 1000} OFSTRUCT,*LPOFSTRUCT,*POFSTRUCT; 1001 1002#if (_WIN32_WINNT >= 0x0501) 1003typedef struct tagACTCTXA { 1004 ULONG cbSize; 1005 DWORD dwFlags; 1006 LPCSTR lpSource; 1007 USHORT wProcessorArchitecture; 1008 LANGID wLangId; 1009 LPCSTR lpAssemblyDirectory; 1010 LPCSTR lpResourceName; 1011 LPCSTR lpApplicationName; 1012 HMODULE hModule; 1013} ACTCTXA,*PACTCTXA; 1014typedef const ACTCTXA *PCACTCTXA; 1015 1016typedef struct tagACTCTXW { 1017 ULONG cbSize; 1018 DWORD dwFlags; 1019 LPCWSTR lpSource; 1020 USHORT wProcessorArchitecture; 1021 LANGID wLangId; 1022 LPCWSTR lpAssemblyDirectory; 1023 LPCWSTR lpResourceName; 1024 LPCWSTR lpApplicationName; 1025 HMODULE hModule; 1026} ACTCTXW,*PACTCTXW; 1027typedef const ACTCTXW *PCACTCTXW; 1028 1029typedef struct tagACTCTX_SECTION_KEYED_DATA_2600 { 1030 ULONG cbSize; 1031 ULONG ulDataFormatVersion; 1032 PVOID lpData; 1033 ULONG ulLength; 1034 PVOID lpSectionGlobalData; 1035 ULONG ulSectionGlobalDataLength; 1036 PVOID lpSectionBase; 1037 ULONG ulSectionTotalLength; 1038 HANDLE hActCtx; 1039 ULONG ulAssemblyRosterIndex; 1040} ACTCTX_SECTION_KEYED_DATA_2600, *PACTCTX_SECTION_KEYED_DATA_2600; 1041typedef const ACTCTX_SECTION_KEYED_DATA_2600 *PCACTCTX_SECTION_KEYED_DATA_2600; 1042 1043typedef struct tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA { 1044 PVOID lpInformation; 1045 PVOID lpSectionBase; 1046 ULONG ulSectionLength; 1047 PVOID lpSectionGlobalDataBase; 1048 ULONG ulSectionGlobalDataLength; 1049} ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, *PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA; 1050typedef const ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA *PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA; 1051 1052typedef struct tagACTCTX_SECTION_KEYED_DATA { 1053 ULONG cbSize; 1054 ULONG ulDataFormatVersion; 1055 PVOID lpData; 1056 ULONG ulLength; 1057 PVOID lpSectionGlobalData; 1058 ULONG ulSectionGlobalDataLength; 1059 PVOID lpSectionBase; 1060 ULONG ulSectionTotalLength; 1061 HANDLE hActCtx; 1062 ULONG ulAssemblyRosterIndex; 1063 /* Non 2600 extra fields */ 1064 ULONG ulFlags; 1065 ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA AssemblyMetadata; 1066} ACTCTX_SECTION_KEYED_DATA,*PACTCTX_SECTION_KEYED_DATA; 1067 1068typedef const ACTCTX_SECTION_KEYED_DATA *PCACTCTX_SECTION_KEYED_DATA; 1069 1070typedef struct _ACTIVATION_CONTEXT_BASIC_INFORMATION { 1071 HANDLE hActCtx; 1072 DWORD dwFlags; 1073} ACTIVATION_CONTEXT_BASIC_INFORMATION, *PACTIVATION_CONTEXT_BASIC_INFORMATION; 1074typedef const struct _ACTIVATION_CONTEXT_BASIC_INFORMATION *PCACTIVATION_CONTEXT_BASIC_INFORMATION; 1075 1076typedef BOOL 1077(WINAPI *PQUERYACTCTXW_FUNC)( 1078 _In_ DWORD dwFlags, 1079 _In_ HANDLE hActCtx, 1080 _In_opt_ PVOID pvSubInstance, 1081 _In_ ULONG ulInfoClass, 1082 _Out_writes_bytes_to_opt_(cbBuffer, *pcbWrittenOrRequired) PVOID pvBuffer, 1083 _In_ SIZE_T cbBuffer, 1084 _Out_opt_ SIZE_T *pcbWrittenOrRequired); 1085 1086typedef enum { 1087 LowMemoryResourceNotification , 1088 HighMemoryResourceNotification 1089} MEMORY_RESOURCE_NOTIFICATION_TYPE; 1090#endif /* (_WIN32_WINNT >= 0x0501) */ 1091 1092#if (_WIN32_WINNT >= 0x0500) 1093typedef enum _COMPUTER_NAME_FORMAT { 1094 ComputerNameNetBIOS, 1095 ComputerNameDnsHostname, 1096 ComputerNameDnsDomain, 1097 ComputerNameDnsFullyQualified, 1098 ComputerNamePhysicalNetBIOS, 1099 ComputerNamePhysicalDnsHostname, 1100 ComputerNamePhysicalDnsDomain, 1101 ComputerNamePhysicalDnsFullyQualified, 1102 ComputerNameMax 1103} COMPUTER_NAME_FORMAT; 1104#endif /* (_WIN32_WINNT >= 0x0500) */ 1105 1106typedef enum _DEP_SYSTEM_POLICY_TYPE 1107{ 1108 DEPPolicyAlwaysOff = 0, 1109 DEPPolicyAlwaysOn, 1110 DEPPolicyOptIn, 1111 DEPPolicyOptOut, 1112 DEPTotalPolicyCount 1113} DEP_SYSTEM_POLICY_TYPE; 1114 1115#if (_WIN32_WINNT >= 0x0600) 1116typedef RTL_SRWLOCK SRWLOCK, *PSRWLOCK; 1117typedef RTL_CONDITION_VARIABLE CONDITION_VARIABLE, *PCONDITION_VARIABLE; 1118#endif 1119 1120typedef struct _PROC_THREAD_ATTRIBUTE_LIST *PPROC_THREAD_ATTRIBUTE_LIST, *LPPROC_THREAD_ATTRIBUTE_LIST; 1121 1122#define PROC_THREAD_ATTRIBUTE_NUMBER 0x0000ffff 1123#define PROC_THREAD_ATTRIBUTE_THREAD 0x00010000 1124#define PROC_THREAD_ATTRIBUTE_INPUT 0x00020000 1125#define PROC_THREAD_ATTRIBUTE_ADDITIVE 0x00040000 1126 1127#ifndef _USE_FULL_PROC_THREAD_ATTRIBUTE 1128typedef enum _PROC_THREAD_ATTRIBUTE_NUM { 1129 ProcThreadAttributeParentProcess = 0, 1130 ProcThreadAttributeHandleList = 2, 1131 ProcThreadAttributeGroupAffinity = 3, 1132 ProcThreadAttributePreferredNode = 4, 1133 ProcThreadAttributeIdealProcessor = 5, 1134 ProcThreadAttributeUmsThread = 6, 1135 ProcThreadAttributeMitigationPolicy = 7, 1136 ProcThreadAttributeSecurityCapabilities = 9, 1137 ProcThreadAttributeProtectionLevel = 11, 1138 ProcThreadAttributeJobList = 13, 1139 ProcThreadAttributeChildProcessPolicy = 14, 1140 ProcThreadAttributeAllApplicationPackagesPolicy = 15, 1141 ProcThreadAttributeWin32kFilter = 16, 1142 ProcThreadAttributeSafeOpenPromptOriginClaim = 17, 1143 ProcThreadAttributeDesktopAppPolicy = 18, 1144 ProcThreadAttributePseudoConsole = 22, 1145 ProcThreadAttributeMitigationAuditPolicy = 24, 1146 ProcThreadAttributeMachineType = 25, 1147 ProcThreadAttributeComponentFilter = 26, 1148 ProcThreadAttributeEnableOptionalXStateFeatures = 27, 1149 ProcThreadAttributeTrustedApp = 29, 1150 ProcThreadAttributeSveVectorLength = 30, 1151} PROC_THREAD_ATTRIBUTE_NUM; 1152#endif // _USE_FULL_PROC_THREAD_ATTRIBUTE 1153 1154#define PROC_THREAD_ATTRIBUTE_IDEAL_PROCESSOR (ProcThreadAttributeIdealProcessor | PROC_THREAD_ATTRIBUTE_THREAD | PROC_THREAD_ATTRIBUTE_INPUT) 1155#define PROC_THREAD_ATTRIBUTE_HANDLE_LIST (ProcThreadAttributeHandleList | PROC_THREAD_ATTRIBUTE_INPUT) 1156#define PROC_THREAD_ATTRIBUTE_PARENT_PROCESS (ProcThreadAttributeParentProcess | PROC_THREAD_ATTRIBUTE_INPUT) 1157#define PROC_THREAD_ATTRIBUTE_MACHINE_TYPE (ProcThreadAttributeMachineType | PROC_THREAD_ATTRIBUTE_INPUT) 1158 1159#if (_WIN32_WINNT >= 0x0600) 1160#define ProcThreadAttributeValue(Number, Thread, Input, Additive) \ 1161 (((Number) & PROC_THREAD_ATTRIBUTE_NUMBER) | \ 1162 ((Thread != FALSE) ? PROC_THREAD_ATTRIBUTE_THREAD : 0) | \ 1163 ((Input != FALSE) ? PROC_THREAD_ATTRIBUTE_INPUT : 0) | \ 1164 ((Additive != FALSE) ? PROC_THREAD_ATTRIBUTE_ADDITIVE : 0)) 1165#endif // (_WIN32_WINNT >= 0x0600) 1166 1167#if (_WIN32_WINNT >= _WIN32_WINNT_WINTHRESHOLD) 1168#define PROCESS_CREATION_CHILD_PROCESS_RESTRICTED 0x01 1169#define PROCESS_CREATION_CHILD_PROCESS_OVERRIDE 0x02 1170#define PROCESS_CREATION_CHILD_PROCESS_RESTRICTED_UNLESS_SECURE 0x04 1171#define PROCESS_CREATION_ALL_APPLICATION_PACKAGES_OPT_OUT 0x01 1172 1173#define PROC_THREAD_ATTRIBUTE_JOB_LIST \ 1174 ProcThreadAttributeValue(ProcThreadAttributeJobList, FALSE, TRUE, FALSE) 1175 1176#define PROC_THREAD_ATTRIBUTE_CHILD_PROCESS_POLICY \ 1177 ProcThreadAttributeValue(ProcThreadAttributeChildProcessPolicy, FALSE, TRUE, FALSE) 1178 1179#define PROC_THREAD_ATTRIBUTE_ALL_APPLICATION_PACKAGES_POLICY \ 1180 ProcThreadAttributeValue(ProcThreadAttributeAllApplicationPackagesPolicy, FALSE, TRUE, FALSE) 1181 1182#define PROC_THREAD_ATTRIBUTE_WIN32K_FILTER \ 1183 ProcThreadAttributeValue(ProcThreadAttributeWin32kFilter, FALSE, TRUE, FALSE) 1184#endif //(_WIN32_WINNT >= _WIN32_WINNT_WINTHRESHOLD) 1185 1186#if (NTDDI_VERSION >= NTDDI_WIN10_RS5) 1187#define PROC_THREAD_ATTRIBUTE_PSEUDOCONSOLE \ 1188 ProcThreadAttributeValue(ProcThreadAttributePseudoConsole, FALSE, TRUE, FALSE) 1189#endif //(NTDDI_VERSION >= NTDDI_WIN10_RS5) 1190 1191typedef DWORD 1192(WINAPI *PFE_EXPORT_FUNC)( 1193 _In_reads_bytes_(ulLength) PBYTE pbData, 1194 _In_opt_ PVOID pvCallbackContext, 1195 _In_ ULONG ulLength); 1196 1197typedef DWORD(WINAPI *LPPROGRESS_ROUTINE)(_In_ LARGE_INTEGER, _In_ LARGE_INTEGER, _In_ LARGE_INTEGER, _In_ LARGE_INTEGER, _In_ DWORD, _In_ DWORD, _In_ HANDLE, _In_ HANDLE, _In_opt_ LPVOID); 1198 1199typedef VOID (WINAPI *PFIBER_START_ROUTINE)( LPVOID lpFiberParameter ); 1200typedef PFIBER_START_ROUTINE LPFIBER_START_ROUTINE; 1201 1202typedef VOID (WINAPI *PFLS_CALLBACK_FUNCTION)(PVOID); 1203typedef BOOL(CALLBACK *ENUMRESLANGPROCA)(HMODULE,LPCSTR,LPCSTR,WORD,LONG_PTR); 1204typedef BOOL(CALLBACK *ENUMRESLANGPROCW)(HMODULE,LPCWSTR,LPCWSTR,WORD,LONG_PTR); 1205typedef BOOL(CALLBACK *ENUMRESNAMEPROCA)(HMODULE,LPCSTR,LPSTR,LONG_PTR); 1206typedef BOOL(CALLBACK *ENUMRESNAMEPROCW)(HMODULE,LPCWSTR,LPWSTR,LONG_PTR); 1207typedef BOOL(CALLBACK *ENUMRESTYPEPROCA)(HMODULE,LPSTR,LONG_PTR); 1208typedef BOOL(CALLBACK *ENUMRESTYPEPROCW)(HMODULE,LPWSTR,LONG_PTR); 1209typedef LONG(CALLBACK *PTOP_LEVEL_EXCEPTION_FILTER)(LPEXCEPTION_POINTERS); 1210typedef PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER; 1211typedef void(APIENTRY *PAPCFUNC)(ULONG_PTR); 1212typedef void(CALLBACK *PTIMERAPCROUTINE)(PVOID,DWORD,DWORD); 1213#if (_WIN32_WINNT >= 0x0600) 1214typedef DWORD (WINAPI *APPLICATION_RECOVERY_CALLBACK)(PVOID); 1215#endif 1216 1217#ifdef WINE_NO_UNICODE_MACROS /* force using a cast */ 1218#define MAKEINTATOM(atom) ((ULONG_PTR)((WORD)(atom))) 1219#else 1220#define MAKEINTATOM(i) (LPTSTR)((ULONG_PTR)((WORD)(i))) 1221#endif 1222 1223typedef DWORD 1224(WINAPI *PFE_IMPORT_FUNC)( 1225 _Out_writes_bytes_to_(*ulLength, *ulLength) PBYTE pbData, 1226 _In_opt_ PVOID pvCallbackContext, 1227 _Inout_ PULONG ulLength); 1228 1229/* Functions */ 1230#ifndef UNDER_CE 1231int APIENTRY WinMain(_In_ HINSTANCE, _In_opt_ HINSTANCE, _In_ LPSTR, _In_ int); 1232#else 1233int APIENTRY WinMain(_In_ HINSTANCE, _In_opt_ HINSTANCE, _In_ LPWSTR, _In_ int); 1234#endif 1235int APIENTRY wWinMain(_In_ HINSTANCE, _In_opt_ HINSTANCE, _In_ LPWSTR, _In_ int); 1236 1237long 1238WINAPI 1239_hread( 1240 _In_ HFILE hFile, 1241 _Out_writes_bytes_to_(lBytes, return) LPVOID lpBuffer, 1242 _In_ long lBytes); 1243 1244long 1245WINAPI 1246_hwrite( 1247 _In_ HFILE hFile, 1248 _In_reads_bytes_(lBytes) LPCCH lpBuffer, 1249 _In_ long lBytes); 1250 1251HFILE WINAPI _lclose(_In_ HFILE); 1252HFILE WINAPI _lcreat(_In_ LPCSTR, _In_ int); 1253LONG WINAPI _llseek(_In_ HFILE, _In_ LONG, _In_ int); 1254HFILE WINAPI _lopen(_In_ LPCSTR, _In_ int); 1255 1256UINT 1257WINAPI 1258_lread( 1259 _In_ HFILE hFile, 1260 _Out_writes_bytes_to_(uBytes, return) LPVOID lpBuffer, 1261 _In_ UINT uBytes); 1262 1263UINT 1264WINAPI 1265_lwrite( 1266 _In_ HFILE hFile, 1267 _In_reads_bytes_(uBytes) LPCCH lpBuffer, 1268 _In_ UINT uBytes); 1269 1270BOOL WINAPI AccessCheck(PSECURITY_DESCRIPTOR,HANDLE,DWORD,PGENERIC_MAPPING,PPRIVILEGE_SET,PDWORD,PDWORD,PBOOL); 1271 1272BOOL 1273WINAPI 1274AccessCheckAndAuditAlarmA( 1275 _In_ LPCSTR SubsystemName, 1276 _In_opt_ LPVOID HandleId, 1277 _In_ LPSTR ObjectTypeName, 1278 _In_opt_ LPSTR ObjectName, 1279 _In_ PSECURITY_DESCRIPTOR SecurityDescriptor, 1280 _In_ DWORD DesiredAccess, 1281 _In_ PGENERIC_MAPPING GenericMapping, 1282 _In_ BOOL ObjectCreation, 1283 _Out_ LPDWORD GrantedAccess, 1284 _Out_ LPBOOL AccessStatus, 1285 _Out_ LPBOOL pfGenerateOnClose); 1286 1287BOOL WINAPI AccessCheckAndAuditAlarmW(LPCWSTR,LPVOID,LPWSTR,LPWSTR,PSECURITY_DESCRIPTOR,DWORD,PGENERIC_MAPPING,BOOL,PDWORD,PBOOL,PBOOL); 1288#if (_WIN32_WINNT >= 0x0600) 1289VOID WINAPI AcquireSRWLockExclusive(PSRWLOCK); 1290VOID WINAPI AcquireSRWLockShared(PSRWLOCK); 1291#endif 1292#if (_WIN32_WINNT >= 0x0601) 1293BOOLEAN WINAPI TryAcquireSRWLockExclusive(PSRWLOCK); 1294BOOLEAN WINAPI TryAcquireSRWLockShared(PSRWLOCK); 1295#endif 1296#if (_WIN32_WINNT >= 0x0501) 1297BOOL WINAPI ActivateActCtx(_Inout_opt_ HANDLE, _Out_ ULONG_PTR*); 1298#endif 1299BOOL WINAPI AddAccessAllowedAce(PACL,DWORD,DWORD,PSID); 1300BOOL WINAPI AddAccessDeniedAce(PACL,DWORD,DWORD,PSID); 1301#if (_WIN32_WINNT >= 0x0500) 1302BOOL WINAPI AddAccessAllowedAceEx(PACL,DWORD,DWORD,DWORD,PSID); 1303BOOL WINAPI AddAccessDeniedAceEx(PACL,DWORD,DWORD,DWORD,PSID); 1304BOOL WINAPI AddAccessAllowedObjectAce(PACL,DWORD,DWORD,DWORD,GUID*,GUID*,PSID); 1305BOOL WINAPI AddAccessDeniedObjectAce(PACL,DWORD,DWORD,DWORD,GUID*,GUID*,PSID); 1306#endif 1307BOOL WINAPI AddAce(PACL,DWORD,DWORD,PVOID,DWORD); 1308ATOM WINAPI AddAtomA(_In_opt_ LPCSTR); 1309ATOM WINAPI AddAtomW(_In_opt_ LPCWSTR); 1310BOOL WINAPI AddAuditAccessAce(PACL,DWORD,DWORD,PSID,BOOL,BOOL); 1311#if (_WIN32_WINNT >= 0x0500) 1312BOOL WINAPI AddAuditAccessObjectAce(PACL,DWORD,DWORD,DWORD,GUID*,GUID*,PSID,BOOL,BOOL); 1313#endif 1314#if (_WIN32_WINNT >= 0x0501) 1315void WINAPI AddRefActCtx(_Inout_ HANDLE); 1316#endif 1317#if (_WIN32_WINNT >= 0x0500) 1318_Ret_maybenull_ PVOID WINAPI AddVectoredExceptionHandler(_In_ ULONG, _In_ PVECTORED_EXCEPTION_HANDLER); 1319_Ret_maybenull_ PVOID WINAPI AddVectoredContinueHandler(_In_ ULONG, _In_ PVECTORED_EXCEPTION_HANDLER); 1320#endif 1321 1322BOOL 1323WINAPI 1324AccessCheckByType( 1325 _In_ PSECURITY_DESCRIPTOR pSecurityDescriptor, 1326 _In_opt_ PSID PrincipalSelfSid, 1327 _In_ HANDLE ClientToken, 1328 _In_ DWORD DesiredAccess, 1329 _In_reads_opt_(ObjectTypeListLength) POBJECT_TYPE_LIST ObjectTypeList, 1330 _In_ DWORD ObjectTypeListLength, 1331 _In_ PGENERIC_MAPPING GenericMapping, 1332 _Out_writes_bytes_(*PrivilegeSetLength)PPRIVILEGE_SET PrivilegeSet, 1333 _Inout_ LPDWORD PrivilegeSetLength, 1334 _Out_ LPDWORD GrantedAccess, 1335 _Out_ LPBOOL AccessStatus); 1336 1337BOOL 1338WINAPI 1339AccessCheckByTypeResultList( 1340 _In_ PSECURITY_DESCRIPTOR pSecurityDescriptor, 1341 _In_opt_ PSID PrincipalSelfSid, 1342 _In_ HANDLE ClientToken, 1343 _In_ DWORD DesiredAccess, 1344 _In_reads_(ObjectTypeListLength) POBJECT_TYPE_LIST ObjectTypeList, 1345 _In_ DWORD ObjectTypeListLength, 1346 _In_ PGENERIC_MAPPING GenericMapping, 1347 _Out_writes_bytes_(*PrivilegeSetLength) PPRIVILEGE_SET PrivilegeSet, 1348 _Inout_ LPDWORD PrivilegeSetLength, 1349 _Out_writes_(ObjectTypeListLength) LPDWORD GrantedAccess, 1350 _Out_writes_(ObjectTypeListLength) LPBOOL AccessStatus); 1351 1352BOOL WINAPI AdjustTokenGroups(HANDLE,BOOL,PTOKEN_GROUPS,DWORD,PTOKEN_GROUPS,PDWORD); 1353BOOL WINAPI AdjustTokenPrivileges(HANDLE,BOOL,PTOKEN_PRIVILEGES,DWORD,PTOKEN_PRIVILEGES,PDWORD); 1354BOOL WINAPI AllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY,BYTE,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,PSID*); 1355BOOL WINAPI CheckTokenMembership(HANDLE,PSID,PBOOL); 1356BOOL WINAPI AllocateLocallyUniqueId(PLUID); 1357BOOL WINAPI AreAllAccessesGranted(DWORD,DWORD); 1358BOOL WINAPI AreAnyAccessesGranted(DWORD,DWORD); 1359BOOL WINAPI AreFileApisANSI(void); 1360BOOL WINAPI BackupEventLogA(_In_ HANDLE, _In_ LPCSTR); 1361BOOL WINAPI BackupEventLogW(_In_ HANDLE, _In_ LPCWSTR); 1362 1363BOOL 1364WINAPI 1365BackupRead( 1366 _In_ HANDLE hFile, 1367 _Out_writes_bytes_to_(nNumberOfBytesToRead, *lpNumberOfBytesRead) LPBYTE lpBuffer, 1368 _In_ DWORD nNumberOfBytesToRead, 1369 _Out_ LPDWORD lpNumberOfBytesRead, 1370 _In_ BOOL bAbort, 1371 _In_ BOOL bProcessSecurity, 1372 _Inout_ LPVOID *lpContext); 1373 1374BOOL WINAPI BackupSeek(_In_ HANDLE, _In_ DWORD, _In_ DWORD, _Out_ LPDWORD, _Out_ LPDWORD, _Inout_ LPVOID*); 1375 1376BOOL 1377WINAPI 1378BackupWrite( 1379 _In_ HANDLE hFile, 1380 _In_reads_bytes_(nNumberOfBytesToWrite) LPBYTE lpBuffer, 1381 _In_ DWORD nNumberOfBytesToWrite, 1382 _Out_ LPDWORD lpNumberOfBytesWritten, 1383 _In_ BOOL bAbort, 1384 _In_ BOOL bProcessSecurity, 1385 _Inout_ LPVOID *lpContext); 1386 1387BOOL WINAPI Beep(DWORD,DWORD); 1388HANDLE WINAPI BeginUpdateResourceA(_In_ LPCSTR, _In_ BOOL); 1389HANDLE WINAPI BeginUpdateResourceW(_In_ LPCWSTR, _In_ BOOL); 1390#if (_WIN32_WINNT >= 0x0500) 1391BOOL WINAPI BindIoCompletionCallback(_In_ HANDLE, _In_ LPOVERLAPPED_COMPLETION_ROUTINE, _In_ ULONG); 1392#endif 1393BOOL WINAPI BuildCommDCBA(_In_ LPCSTR, _Out_ LPDCB); 1394BOOL WINAPI BuildCommDCBW(_In_ LPCWSTR, _Out_ LPDCB); 1395BOOL WINAPI BuildCommDCBAndTimeoutsA(_In_ LPCSTR, _Out_ LPDCB, _Out_ LPCOMMTIMEOUTS); 1396BOOL WINAPI BuildCommDCBAndTimeoutsW(_In_ LPCWSTR, _Out_ LPDCB, _Out_ LPCOMMTIMEOUTS); 1397 1398BOOL 1399WINAPI 1400CallNamedPipeA( 1401 _In_ LPCSTR lpNamedPipeName, 1402 _In_reads_bytes_opt_(nInBufferSize) LPVOID lpInBuffer, 1403 _In_ DWORD nInBufferSize, 1404 _Out_writes_bytes_to_opt_(nOutBufferSize, *lpBytesRead) LPVOID lpOutBuffer, 1405 _In_ DWORD nOutBufferSize, 1406 _Out_ LPDWORD lpBytesRead, 1407 _In_ DWORD nTimeOut); 1408 1409BOOL 1410WINAPI 1411CallNamedPipeW( 1412 _In_ LPCWSTR lpNamedPipeName, 1413 _In_reads_bytes_opt_(nInBufferSize) LPVOID lpInBuffer, 1414 _In_ DWORD nInBufferSize, 1415 _Out_writes_bytes_to_opt_(nOutBufferSize, *lpBytesRead) LPVOID lpOutBuffer, 1416 _In_ DWORD nOutBufferSize, 1417 _Out_ LPDWORD lpBytesRead, 1418 _In_ DWORD nTimeOut); 1419 1420BOOL WINAPI CancelDeviceWakeupRequest(_In_ HANDLE); 1421BOOL WINAPI CancelWaitableTimer(HANDLE); 1422 1423#if (_WIN32_WINNT >= 0x0501) 1424 1425BOOL 1426WINAPI 1427CheckNameLegalDOS8Dot3A( 1428 _In_ LPCSTR lpName, 1429 _Out_writes_opt_(OemNameSize) LPSTR lpOemName, 1430 _In_ DWORD OemNameSize, 1431 _Out_opt_ PBOOL pbNameContainsSpaces, 1432 _Out_ PBOOL pbNameLegal); 1433 1434BOOL 1435WINAPI 1436CheckNameLegalDOS8Dot3W( 1437 _In_ LPCWSTR lpName, 1438 _Out_writes_opt_(OemNameSize) LPSTR lpOemName, 1439 _In_ DWORD OemNameSize, 1440 _Out_opt_ PBOOL pbNameContainsSpaces, 1441 _Out_ PBOOL pbNameLegal); 1442 1443BOOL WINAPI CheckRemoteDebuggerPresent(_In_ HANDLE, _Out_ PBOOL); 1444#endif 1445 1446BOOL WINAPI ClearCommBreak(_In_ HANDLE); 1447BOOL WINAPI ClearCommError(_In_ HANDLE, _Out_opt_ PDWORD, _Out_opt_ LPCOMSTAT); 1448BOOL WINAPI ClearEventLogA(_In_ HANDLE, _In_opt_ LPCSTR); 1449BOOL WINAPI ClearEventLogW(_In_ HANDLE, _In_opt_ LPCWSTR); 1450BOOL WINAPI CloseEventLog(_In_ HANDLE); 1451BOOL WINAPI CloseHandle(HANDLE); 1452BOOL WINAPI CommConfigDialogA(_In_ LPCSTR, _In_opt_ HWND, _Inout_ LPCOMMCONFIG); 1453BOOL WINAPI CommConfigDialogW(_In_ LPCWSTR, _In_opt_ HWND, _Inout_ LPCOMMCONFIG); 1454LONG WINAPI CompareFileTime(CONST FILETIME*,CONST FILETIME*); 1455BOOL WINAPI ConnectNamedPipe(HANDLE,LPOVERLAPPED); 1456BOOL WINAPI ContinueDebugEvent(DWORD,DWORD,DWORD); 1457#if (_WIN32_WINNT >= 0x0400) 1458BOOL WINAPI ConvertFiberToThread(void); 1459#endif 1460_Ret_maybenull_ PVOID WINAPI ConvertThreadToFiber(_In_opt_ PVOID); 1461BOOL WINAPI CopyFileA(_In_ LPCSTR, _In_ LPCSTR, _In_ BOOL); 1462BOOL WINAPI CopyFileW(_In_ LPCWSTR lpExistingFileName, _In_ LPCWSTR lpNewFileName, _In_ BOOL bFailIfExists); 1463BOOL WINAPI CopyFileExA(_In_ LPCSTR, _In_ LPCSTR, _In_opt_ LPPROGRESS_ROUTINE, _In_opt_ LPVOID, _In_opt_ LPBOOL, _In_ DWORD); 1464BOOL WINAPI CopyFileExW(_In_ LPCWSTR, _In_ LPCWSTR, _In_opt_ LPPROGRESS_ROUTINE, _In_opt_ LPVOID, _In_opt_ LPBOOL, _In_ DWORD); 1465#define SecureZeroMemory RtlSecureZeroMemory 1466BOOL WINAPI CopySid(DWORD,PSID,PSID); 1467#if (_WIN32_WINNT >= 0x0501) 1468HANDLE WINAPI CreateActCtxA(_In_ PCACTCTXA); 1469HANDLE WINAPI CreateActCtxW(_In_ PCACTCTXW); 1470#endif 1471BOOL WINAPI CreateDirectoryA(LPCSTR lpPathName,LPSECURITY_ATTRIBUTES lpSecurityAttributes); 1472BOOL WINAPI CreateDirectoryW(LPCWSTR lpPathName,LPSECURITY_ATTRIBUTES lpSecurityAttributes); 1473BOOL WINAPI CreateDirectoryExA(_In_ LPCSTR, _In_ LPCSTR, _In_opt_ LPSECURITY_ATTRIBUTES); 1474BOOL WINAPI CreateDirectoryExW(_In_ LPCWSTR, _In_ LPCWSTR, _In_opt_ LPSECURITY_ATTRIBUTES); 1475HANDLE WINAPI CreateEventA(_In_opt_ LPSECURITY_ATTRIBUTES lpEventAttributes, _In_ BOOL bManualReset, _In_ BOOL bInitialState, _In_opt_ LPCSTR lpName); 1476HANDLE WINAPI CreateEventW(_In_opt_ LPSECURITY_ATTRIBUTES,_In_ BOOL bManualReset, _In_ BOOL bInitialState,_In_opt_ LPCWSTR lpName); 1477#if (_WIN32_WINNT >= 0x0600) 1478HANDLE WINAPI CreateEventExA(LPSECURITY_ATTRIBUTES,LPCSTR,DWORD,DWORD); 1479HANDLE WINAPI CreateEventExW(LPSECURITY_ATTRIBUTES,LPCWSTR,DWORD,DWORD); 1480#endif 1481_Ret_maybenull_ LPVOID WINAPI CreateFiber(_In_ SIZE_T, _In_ LPFIBER_START_ROUTINE, _In_opt_ LPVOID); 1482#if (_WIN32_WINNT >= 0x0400) 1483_Ret_maybenull_ LPVOID WINAPI CreateFiberEx(_In_ SIZE_T, _In_ SIZE_T, _In_ DWORD, _In_ LPFIBER_START_ROUTINE, _In_opt_ LPVOID); 1484#endif 1485HANDLE WINAPI CreateFileA(LPCSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,DWORD,HANDLE); 1486HANDLE WINAPI CreateFileW(LPCWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,DWORD,HANDLE); 1487_Ret_maybenull_ HANDLE WINAPI CreateFileMappingA(_In_ HANDLE, _In_opt_ LPSECURITY_ATTRIBUTES, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_opt_ LPCSTR); 1488HANDLE WINAPI CreateFileMappingW(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,DWORD,DWORD,LPCWSTR); 1489#if (_WIN32_WINNT >= 0x0500) 1490BOOL WINAPI CreateHardLinkA(_In_ LPCSTR, _In_ LPCSTR, _Reserved_ LPSECURITY_ATTRIBUTES); 1491BOOL WINAPI CreateHardLinkW(_In_ LPCWSTR, _In_ LPCWSTR, _Reserved_ LPSECURITY_ATTRIBUTES); 1492#endif 1493#if (_WIN32_WINNT >= 0x0500) 1494_Ret_maybenull_ HANDLE WINAPI CreateJobObjectA(_In_opt_ LPSECURITY_ATTRIBUTES, _In_opt_ LPCSTR); 1495_Ret_maybenull_ HANDLE WINAPI CreateJobObjectW(_In_opt_ LPSECURITY_ATTRIBUTES, _In_opt_ LPCWSTR); 1496BOOL WINAPI TerminateJobObject(_In_ HANDLE, _In_ UINT); 1497BOOL WINAPI AssignProcessToJobObject(_In_ HANDLE, _In_ HANDLE); 1498#endif 1499HANDLE WINAPI CreateMailslotA(_In_ LPCSTR, _In_ DWORD, _In_ DWORD, _In_opt_ LPSECURITY_ATTRIBUTES); 1500HANDLE WINAPI CreateMailslotW(_In_ LPCWSTR, _In_ DWORD, _In_ DWORD, _In_opt_ LPSECURITY_ATTRIBUTES); 1501#if (_WIN32_WINNT >= 0x0501) 1502HANDLE WINAPI CreateMemoryResourceNotification(MEMORY_RESOURCE_NOTIFICATION_TYPE); 1503#endif 1504HANDLE WINAPI CreateMutexA(LPSECURITY_ATTRIBUTES,BOOL,LPCSTR); 1505HANDLE WINAPI CreateMutexW(LPSECURITY_ATTRIBUTES,BOOL,LPCWSTR); 1506#if (_WIN32_WINNT >= 0x0600) 1507HANDLE WINAPI CreateMutexExA(LPSECURITY_ATTRIBUTES,LPCSTR,DWORD,DWORD); 1508HANDLE WINAPI CreateMutexExW(LPSECURITY_ATTRIBUTES,LPCWSTR,DWORD,DWORD); 1509#endif 1510HANDLE WINAPI CreateNamedPipeA(_In_ LPCSTR, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_opt_ LPSECURITY_ATTRIBUTES); 1511HANDLE WINAPI CreateNamedPipeW(_In_ LPCWSTR, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_opt_ LPSECURITY_ATTRIBUTES); 1512BOOL WINAPI CreatePipe(PHANDLE,PHANDLE,LPSECURITY_ATTRIBUTES,DWORD); 1513BOOL WINAPI CreatePrivateObjectSecurity(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR*,BOOL,HANDLE,PGENERIC_MAPPING); 1514BOOL WINAPI CreateProcessA(LPCSTR,LPSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,PVOID,LPCSTR,LPSTARTUPINFOA,LPPROCESS_INFORMATION); 1515BOOL WINAPI CreateProcessW(LPCWSTR,LPWSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,PVOID,LPCWSTR,LPSTARTUPINFOW,LPPROCESS_INFORMATION); 1516 1517BOOL 1518WINAPI 1519CreateProcessAsUserA( 1520 _In_opt_ HANDLE, 1521 _In_opt_ LPCSTR, 1522 _Inout_opt_ LPSTR, 1523 _In_opt_ LPSECURITY_ATTRIBUTES, 1524 _In_opt_ LPSECURITY_ATTRIBUTES, 1525 _In_ BOOL, 1526 _In_ DWORD, 1527 _In_opt_ PVOID, 1528 _In_opt_ LPCSTR, 1529 _In_ LPSTARTUPINFOA, 1530 _Out_ LPPROCESS_INFORMATION); 1531 1532BOOL WINAPI CreateProcessAsUserW(HANDLE,LPCWSTR,LPWSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,PVOID,LPCWSTR,LPSTARTUPINFOW,LPPROCESS_INFORMATION); 1533BOOL WINAPI CreateProcessWithLogonW(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,LPCWSTR,LPWSTR,DWORD,LPVOID,LPCWSTR,LPSTARTUPINFOW,LPPROCESS_INFORMATION); 1534BOOL WINAPI CreateProcessWithTokenW(HANDLE,DWORD,LPCWSTR,LPWSTR,DWORD,LPVOID,LPCWSTR,LPSTARTUPINFOW,LPPROCESS_INFORMATION); 1535HANDLE WINAPI CreateRemoteThread(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,LPTHREAD_START_ROUTINE,LPVOID,DWORD,LPDWORD); 1536 1537BOOL 1538WINAPI 1539CreateRestrictedToken( 1540 _In_ HANDLE ExistingTokenHandle, 1541 _In_ DWORD Flags, 1542 _In_ DWORD DisableSidCount, 1543 _In_reads_opt_(DisableSidCount) PSID_AND_ATTRIBUTES SidsToDisable, 1544 _In_ DWORD DeletePrivilegeCount, 1545 _In_reads_opt_(DeletePrivilegeCount) PLUID_AND_ATTRIBUTES PrivilegesToDelete, 1546 _In_ DWORD RestrictedSidCount, 1547 _In_reads_opt_(RestrictedSidCount) PSID_AND_ATTRIBUTES SidsToRestrict, 1548 _Outptr_ PHANDLE NewTokenHandle); 1549 1550_Ret_maybenull_ HANDLE WINAPI CreateSemaphoreA(_In_opt_ LPSECURITY_ATTRIBUTES, _In_ LONG, _In_ LONG, _In_opt_ LPCSTR); 1551_Ret_maybenull_ HANDLE WINAPI CreateSemaphoreW(_In_opt_ LPSECURITY_ATTRIBUTES, _In_ LONG, _In_ LONG, _In_opt_ LPCWSTR); 1552#if (_WIN32_WINNT >= 0x0600) 1553_Ret_maybenull_ HANDLE WINAPI CreateSemaphoreExA(_In_opt_ LPSECURITY_ATTRIBUTES, _In_ LONG, _In_ LONG, _In_opt_ LPCSTR, _Reserved_ DWORD, _In_ DWORD); 1554HANDLE WINAPI CreateSemaphoreExW(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCWSTR,DWORD,DWORD); 1555#endif 1556DWORD WINAPI CreateTapePartition(_In_ HANDLE, _In_ DWORD, _In_ DWORD, _In_ DWORD); 1557 1558#if (_WIN32_WINNT >= 0x0500) 1559 1560HANDLE WINAPI CreateTimerQueue(void); 1561 1562BOOL 1563WINAPI 1564CreateTimerQueueTimer( 1565 _Outptr_ PHANDLE, 1566 _In_opt_ HANDLE, 1567 _In_ WAITORTIMERCALLBACK, 1568 _In_opt_ PVOID, 1569 _In_ DWORD, 1570 _In_ DWORD, 1571 _In_ ULONG); 1572 1573_Must_inspect_result_ 1574BOOL 1575WINAPI 1576ChangeTimerQueueTimer( 1577 _In_opt_ HANDLE TimerQueue, 1578 _Inout_ HANDLE Timer, 1579 _In_ ULONG DueTime, 1580 _In_ ULONG Period); 1581 1582#endif /* (_WIN32_WINNT >= 0x0500) */ 1583 1584HANDLE WINAPI CreateThread(LPSECURITY_ATTRIBUTES,DWORD,LPTHREAD_START_ROUTINE,PVOID,DWORD,PDWORD); 1585_Ret_maybenull_ HANDLE WINAPI CreateWaitableTimerA(_In_opt_ LPSECURITY_ATTRIBUTES, _In_ BOOL, _In_opt_ LPCSTR); 1586_Ret_maybenull_ HANDLE WINAPI CreateWaitableTimerW(_In_opt_ LPSECURITY_ATTRIBUTES, _In_ BOOL, _In_opt_ LPCWSTR); 1587#if (_WIN32_WINNT >= 0x0600) 1588_Ret_maybenull_ HANDLE WINAPI CreateWaitableTimerExA(_In_opt_ LPSECURITY_ATTRIBUTES, _In_opt_ LPCSTR, _In_ DWORD, _In_ DWORD); 1589HANDLE WINAPI CreateWaitableTimerExW(LPSECURITY_ATTRIBUTES,LPCWSTR,DWORD,DWORD); 1590#endif 1591#if (_WIN32_WINNT >= 0x0501) 1592BOOL WINAPI CreateWellKnownSid(WELL_KNOWN_SID_TYPE,PSID,PSID,DWORD*); 1593BOOL WINAPI DeactivateActCtx(_In_ DWORD, _In_ ULONG_PTR); 1594#endif 1595BOOL WINAPI DebugActiveProcess(DWORD); 1596#if (_WIN32_WINNT >= 0x0501) 1597BOOL WINAPI DebugActiveProcessStop(DWORD); 1598#endif 1599void WINAPI DebugBreak(void); 1600#if (_WIN32_WINNT >= 0x0501) 1601BOOL WINAPI DebugBreakProcess(_In_ HANDLE); 1602BOOL WINAPI DebugSetProcessKillOnExit(_In_ BOOL); 1603#endif 1604PVOID WINAPI DecodePointer(PVOID); 1605PVOID WINAPI DecodeSystemPointer(PVOID); 1606BOOL WINAPI DecryptFileA(_In_ LPCSTR, _Reserved_ DWORD); 1607BOOL WINAPI DecryptFileW(_In_ LPCWSTR, _Reserved_ DWORD); 1608BOOL WINAPI DefineDosDeviceA(_In_ DWORD, _In_ LPCSTR, _In_opt_ LPCSTR); 1609BOOL WINAPI DefineDosDeviceW(DWORD,LPCWSTR,LPCWSTR); 1610#define DefineHandleTable(w) ((w),TRUE) 1611BOOL WINAPI DeleteAce(PACL,DWORD); 1612ATOM WINAPI DeleteAtom(_In_ ATOM); 1613void WINAPI DeleteCriticalSection(PCRITICAL_SECTION); 1614void WINAPI DeleteFiber(_In_ PVOID); 1615BOOL WINAPI DeleteFileA(LPCSTR); 1616BOOL WINAPI DeleteFileW(LPCWSTR); 1617#if (_WIN32_WINNT >= 0x0500) 1618_Must_inspect_result_ BOOL WINAPI DeleteTimerQueue(_In_ HANDLE); 1619BOOL WINAPI DeleteTimerQueueEx(HANDLE,HANDLE); 1620BOOL WINAPI DeleteTimerQueueTimer(HANDLE,HANDLE,HANDLE); 1621BOOL WINAPI DeleteVolumeMountPointA(_In_ LPCSTR); 1622BOOL WINAPI DeleteVolumeMountPointW(LPCWSTR); 1623#endif 1624BOOL WINAPI DeregisterEventSource(_In_ HANDLE); 1625BOOL WINAPI DestroyPrivateObjectSecurity(PSECURITY_DESCRIPTOR*); 1626BOOL WINAPI DisableThreadLibraryCalls(HMODULE); 1627 1628#if (_WIN32_WINNT >= 0x0500) 1629 1630_Success_(return != FALSE) 1631BOOL 1632WINAPI 1633DnsHostnameToComputerNameA( 1634 _In_ LPCSTR Hostname, 1635 _Out_writes_to_opt_(*nSize, *nSize + 1) LPSTR ComputerName, 1636 _Inout_ LPDWORD nSize); 1637 1638_Success_(return != FALSE) 1639BOOL 1640WINAPI 1641DnsHostnameToComputerNameW( 1642 _In_ LPCWSTR Hostname, 1643 _Out_writes_to_opt_(*nSize, *nSize + 1) LPWSTR ComputerName, 1644 _Inout_ LPDWORD nSize); 1645 1646#endif 1647 1648BOOL WINAPI DisconnectNamedPipe(HANDLE); 1649BOOL WINAPI DosDateTimeToFileTime(_In_ WORD, _In_ WORD, _Out_ LPFILETIME); 1650BOOL WINAPI DuplicateHandle(HANDLE,HANDLE,HANDLE,PHANDLE,DWORD,BOOL,DWORD); 1651BOOL WINAPI DuplicateToken(HANDLE,SECURITY_IMPERSONATION_LEVEL,PHANDLE); 1652BOOL WINAPI DuplicateTokenEx(HANDLE,DWORD,LPSECURITY_ATTRIBUTES,SECURITY_IMPERSONATION_LEVEL,TOKEN_TYPE,PHANDLE); 1653PVOID WINAPI EncodePointer(PVOID); 1654PVOID WINAPI EncodeSystemPointer(PVOID); 1655BOOL WINAPI EncryptFileA(_In_ LPCSTR); 1656BOOL WINAPI EncryptFileW(_In_ LPCWSTR); 1657BOOL WINAPI EndUpdateResourceA(_In_ HANDLE, _In_ BOOL); 1658BOOL WINAPI EndUpdateResourceW(_In_ HANDLE, _In_ BOOL); 1659void WINAPI EnterCriticalSection(LPCRITICAL_SECTION); 1660BOOL WINAPI EnumResourceLanguagesA(_In_opt_ HMODULE, _In_ LPCSTR, _In_ LPCSTR, _In_ ENUMRESLANGPROCA, _In_ LONG_PTR); 1661BOOL WINAPI EnumResourceLanguagesW(_In_opt_ HMODULE, _In_ LPCWSTR, _In_ LPCWSTR, _In_ ENUMRESLANGPROCW, _In_ LONG_PTR); 1662BOOL WINAPI EnumResourceNamesA(_In_opt_ HMODULE, _In_ LPCSTR, _In_ ENUMRESNAMEPROCA, _In_ LONG_PTR); 1663BOOL WINAPI EnumResourceNamesW(_In_opt_ HMODULE, _In_ LPCWSTR, _In_ ENUMRESNAMEPROCW, _In_ LONG_PTR); 1664BOOL WINAPI EnumResourceTypesA(_In_opt_ HMODULE, _In_ ENUMRESTYPEPROCA, _In_ LONG_PTR); 1665BOOL WINAPI EnumResourceTypesW(_In_opt_ HMODULE, _In_ ENUMRESTYPEPROCW, _In_ LONG_PTR); 1666BOOL WINAPI EqualPrefixSid(PSID,PSID); 1667BOOL WINAPI EqualSid(PSID,PSID); 1668DWORD WINAPI EraseTape(_In_ HANDLE, _In_ DWORD, _In_ BOOL); 1669BOOL WINAPI EscapeCommFunction(_In_ HANDLE, _In_ DWORD); 1670DECLSPEC_NORETURN void WINAPI ExitProcess(UINT); 1671DECLSPEC_NORETURN void WINAPI ExitThread(_In_ DWORD dwExitCode); 1672DWORD WINAPI ExpandEnvironmentStringsA(LPCSTR,LPSTR,DWORD); 1673DWORD WINAPI ExpandEnvironmentStringsW(LPCWSTR,LPWSTR,DWORD); 1674void WINAPI FatalAppExitA(UINT,LPCSTR); 1675void WINAPI FatalAppExitW(UINT,LPCWSTR); 1676__analysis_noreturn void WINAPI FatalExit(_In_ int); 1677BOOL WINAPI FileEncryptionStatusA(_In_ LPCSTR, _Out_ LPDWORD); 1678BOOL WINAPI FileEncryptionStatusW(_In_ LPCWSTR, _Out_ LPDWORD); 1679BOOL WINAPI FileTimeToDosDateTime(_In_ CONST FILETIME *, _Out_ LPWORD, _Out_ LPWORD); 1680BOOL WINAPI FileTimeToLocalFileTime(CONST FILETIME *,LPFILETIME); 1681BOOL WINAPI FileTimeToSystemTime(CONST FILETIME *,LPSYSTEMTIME); 1682#if (_WIN32_WINNT >= 0x0501) 1683BOOL WINAPI FindActCtxSectionGuid(_In_ DWORD, _Reserved_ const GUID*, _In_ ULONG, _In_opt_ const GUID*, _Out_ PACTCTX_SECTION_KEYED_DATA); 1684BOOL WINAPI FindActCtxSectionStringA(_In_ DWORD, _Reserved_ const GUID*, _In_ ULONG, _In_ LPCSTR, _Out_ PACTCTX_SECTION_KEYED_DATA); 1685BOOL WINAPI FindActCtxSectionStringW(_In_ DWORD, _Reserved_ const GUID*, _In_ ULONG, _In_ LPCWSTR, _Out_ PACTCTX_SECTION_KEYED_DATA); 1686#endif 1687ATOM WINAPI FindAtomA(_In_opt_ LPCSTR); 1688ATOM WINAPI FindAtomW(_In_opt_ LPCWSTR); 1689BOOL WINAPI FindClose(HANDLE); 1690BOOL WINAPI FindCloseChangeNotification(HANDLE); 1691HANDLE WINAPI FindFirstChangeNotificationA(LPCSTR,BOOL,DWORD); 1692HANDLE WINAPI FindFirstChangeNotificationW(LPCWSTR,BOOL,DWORD); 1693HANDLE WINAPI FindFirstFileA(LPCSTR,LPWIN32_FIND_DATAA); 1694HANDLE WINAPI FindFirstFileW(LPCWSTR,LPWIN32_FIND_DATAW); 1695HANDLE WINAPI FindFirstFileExA(LPCSTR,FINDEX_INFO_LEVELS,PVOID,FINDEX_SEARCH_OPS,PVOID,DWORD); 1696HANDLE WINAPI FindFirstFileExW(LPCWSTR,FINDEX_INFO_LEVELS,PVOID,FINDEX_SEARCH_OPS,PVOID,DWORD); 1697#if (_WIN32_WINNT >= 0x0501) 1698HANDLE WINAPI FindFirstStreamW(_In_ LPCWSTR, _In_ STREAM_INFO_LEVELS, _Out_ LPVOID, _Reserved_ DWORD); 1699#endif 1700BOOL WINAPI FindFirstFreeAce(PACL,PVOID*); 1701 1702#if (_WIN32_WINNT >= 0x0500) 1703 1704HANDLE 1705WINAPI 1706FindFirstVolumeA( 1707 _Out_writes_(cchBufferLength) LPSTR lpszVolumeName, 1708 _In_ DWORD cchBufferLength); 1709 1710HANDLE WINAPI FindFirstVolumeW(LPWSTR,DWORD); 1711 1712HANDLE 1713WINAPI 1714FindFirstVolumeMountPointA( 1715 _In_ LPCSTR lpszRootPathName, 1716 _Out_writes_(cchBufferLength) LPSTR lpszVolumeMountPoint, 1717 _In_ DWORD cchBufferLength); 1718 1719HANDLE 1720WINAPI 1721FindFirstVolumeMountPointW( 1722 _In_ LPCWSTR lpszRootPathName, 1723 _Out_writes_(cchBufferLength) LPWSTR lpszVolumeMountPoint, 1724 _In_ DWORD cchBufferLength); 1725 1726#endif 1727 1728BOOL WINAPI FindNextChangeNotification(HANDLE); 1729BOOL WINAPI FindNextFileA(HANDLE,LPWIN32_FIND_DATAA); 1730BOOL WINAPI FindNextFileW(HANDLE,LPWIN32_FIND_DATAW); 1731#if (_WIN32_WINNT >= 0x0501) 1732BOOL WINAPI FindNextStreamW(_In_ HANDLE, _Out_ LPVOID); 1733#endif 1734 1735#if (_WIN32_WINNT >= 0x0500) 1736 1737BOOL 1738WINAPI 1739FindNextVolumeA( 1740 _Inout_ HANDLE hFindVolume, 1741 _Out_writes_(cchBufferLength) LPSTR lpszVolumeName, 1742 _In_ DWORD cchBufferLength); 1743 1744BOOL WINAPI FindNextVolumeW(HANDLE,LPWSTR,DWORD); 1745 1746BOOL 1747WINAPI 1748FindNextVolumeMountPointA( 1749 _In_ HANDLE hFindVolumeMountPoint, 1750 _Out_writes_(cchBufferLength) LPSTR lpszVolumeMountPoint, 1751 _In_ DWORD cchBufferLength); 1752 1753BOOL 1754WINAPI 1755FindNextVolumeMountPointW( 1756 _In_ HANDLE hFindVolumeMountPoint, 1757 _Out_writes_(cchBufferLength) LPWSTR lpszVolumeMountPoint, 1758 _In_ DWORD cchBufferLength); 1759 1760BOOL WINAPI FindVolumeClose(HANDLE); 1761BOOL WINAPI FindVolumeMountPointClose(_In_ HANDLE); 1762 1763#endif 1764 1765_Ret_maybenull_ HRSRC WINAPI FindResourceA(_In_opt_ HMODULE,_In_ LPCSTR, _In_ LPCSTR); 1766_Ret_maybenull_ HRSRC WINAPI FindResourceW(_In_opt_ HMODULE,_In_ LPCWSTR, _In_ LPCWSTR); 1767_Ret_maybenull_ HRSRC WINAPI FindResourceExA(_In_opt_ HMODULE, _In_ LPCSTR, _In_ LPCSTR, _In_ WORD); 1768HRSRC WINAPI FindResourceExW(HINSTANCE,LPCWSTR,LPCWSTR,WORD); 1769 1770BOOL WINAPI FlushFileBuffers(HANDLE); 1771BOOL WINAPI FlushInstructionCache(HANDLE,LPCVOID,SIZE_T); 1772BOOL WINAPI FlushViewOfFile(LPCVOID,SIZE_T); 1773DWORD WINAPI FlsAlloc(PFLS_CALLBACK_FUNCTION); 1774PVOID WINAPI FlsGetValue(DWORD); 1775BOOL WINAPI FlsSetValue(DWORD,PVOID); 1776BOOL WINAPI FlsFree(DWORD); 1777DWORD WINAPI FormatMessageA(DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, LPSTR lpBuffer, DWORD nSize, va_list* Arguments); 1778DWORD WINAPI FormatMessageW(DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, LPWSTR lpBuffer, DWORD nSize, va_list* Arguments); 1779BOOL WINAPI FreeEnvironmentStringsA(LPSTR); 1780BOOL WINAPI FreeEnvironmentStringsW(LPWSTR); 1781BOOL WINAPI FreeLibrary(HMODULE); 1782DECLSPEC_NORETURN void WINAPI FreeLibraryAndExitThread(HMODULE,DWORD); 1783#define FreeModule(m) FreeLibrary(m) 1784#define FreeProcInstance(p) (void)(p) 1785BOOL WINAPI FreeResource(HGLOBAL); 1786PVOID WINAPI FreeSid(PSID); 1787BOOL WINAPI GetAce(PACL,DWORD,LPVOID*); 1788BOOL WINAPI GetAclInformation(PACL,PVOID,DWORD,ACL_INFORMATION_CLASS); 1789#if (_WIN32_WINNT >= 0x0600) 1790HRESULT WINAPI GetApplicationRecoveryCallback(_In_ HANDLE, _Out_ APPLICATION_RECOVERY_CALLBACK*, _Outptr_opt_result_maybenull_ PVOID*, _Out_opt_ DWORD*, _Out_opt_ DWORD*); 1791HRESULT WINAPI GetApplicationRestart(HANDLE,PWSTR,PDWORD,PDWORD); 1792#endif 1793 1794UINT 1795WINAPI 1796GetAtomNameA( 1797 _In_ ATOM nAtom, 1798 _Out_writes_to_(nSize, return + 1) LPSTR lpBuffer, 1799 _In_ int nSize); 1800 1801UINT 1802WINAPI 1803GetAtomNameW( 1804 _In_ ATOM nAtom, 1805 _Out_writes_to_(nSize, return + 1) LPWSTR lpBuffer, 1806 _In_ int nSize); 1807 1808BOOL WINAPI GetBinaryTypeA(_In_ LPCSTR, _Out_ PDWORD); 1809BOOL WINAPI GetBinaryTypeW(_In_ LPCWSTR, _Out_ PDWORD); 1810LPSTR WINAPI GetCommandLineA(VOID); 1811LPWSTR WINAPI GetCommandLineW(VOID); 1812 1813_Success_(return != FALSE) 1814BOOL 1815WINAPI 1816GetCommConfig( 1817 _In_ HANDLE hCommDev, 1818 _Out_writes_bytes_opt_(*lpdwSize) LPCOMMCONFIG lpCC, 1819 _Inout_ LPDWORD lpdwSize); 1820 1821BOOL WINAPI GetCommMask(_In_ HANDLE, _Out_ PDWORD); 1822BOOL WINAPI GetCommModemStatus(_In_ HANDLE, _Out_ PDWORD); 1823BOOL WINAPI GetCommProperties(_In_ HANDLE, _Inout_ LPCOMMPROP); 1824BOOL WINAPI GetCommState(_In_ HANDLE, _Out_ LPDCB); 1825BOOL WINAPI GetCommTimeouts(_In_ HANDLE, _Out_ LPCOMMTIMEOUTS); 1826DWORD WINAPI GetCompressedFileSizeA(_In_ LPCSTR, _Out_opt_ PDWORD); 1827DWORD WINAPI GetCompressedFileSizeW(_In_ LPCWSTR, _Out_opt_ PDWORD); 1828 1829_Success_(return != 0) 1830BOOL 1831WINAPI 1832GetComputerNameA( 1833 _Out_writes_to_opt_(*nSize, *nSize + 1) LPSTR lpBuffer, 1834 _Inout_ LPDWORD nSize); 1835 1836_Success_(return != 0) 1837BOOL 1838WINAPI 1839GetComputerNameW( 1840 _Out_writes_to_opt_(*nSize, *nSize + 1) LPWSTR lpBuffer, 1841 _Inout_ LPDWORD nSize); 1842 1843#if (_WIN32_WINNT >= 0x0500) 1844BOOL WINAPI GetComputerNameExA(COMPUTER_NAME_FORMAT,LPSTR,LPDWORD); 1845BOOL WINAPI GetComputerNameExW(COMPUTER_NAME_FORMAT,LPWSTR,LPDWORD); 1846#endif 1847#if (_WIN32_WINNT >= 0x0501) 1848BOOL WINAPI GetCurrentActCtx( _Outptr_ HANDLE*); 1849#endif 1850DWORD WINAPI GetCurrentDirectoryA(DWORD,LPSTR); 1851DWORD WINAPI GetCurrentDirectoryW(DWORD,LPWSTR); 1852BOOL WINAPI GetCurrentHwProfileA(_Out_ LPHW_PROFILE_INFOA); 1853BOOL WINAPI GetCurrentHwProfileW(_Out_ LPHW_PROFILE_INFOW); 1854HANDLE WINAPI GetCurrentProcess(void); 1855DWORD WINAPI GetCurrentProcessId(void); 1856HANDLE WINAPI GetCurrentThread(void); 1857DWORD WINAPI GetCurrentThreadId(void); 1858#define GetCurrentTime GetTickCount 1859 1860BOOL 1861WINAPI 1862GetDefaultCommConfigA( 1863 _In_ LPCSTR lpszName, 1864 _Out_writes_bytes_to_(*lpdwSize, *lpdwSize) LPCOMMCONFIG lpCC, 1865 _Inout_ LPDWORD lpdwSize); 1866 1867BOOL 1868WINAPI 1869GetDefaultCommConfigW( 1870 _In_ LPCWSTR lpszName, 1871 _Out_writes_bytes_to_(*lpdwSize, *lpdwSize) LPCOMMCONFIG lpCC, 1872 _Inout_ LPDWORD lpdwSize); 1873 1874BOOL WINAPI GetDiskFreeSpaceA(LPCSTR,PDWORD,PDWORD,PDWORD,PDWORD); 1875BOOL WINAPI GetDiskFreeSpaceW(LPCWSTR,PDWORD,PDWORD,PDWORD,PDWORD); 1876BOOL WINAPI GetDiskFreeSpaceExA(LPCSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER); 1877BOOL WINAPI GetDiskFreeSpaceExW(LPCWSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER); 1878 1879#if (_WIN32_WINNT >= 0x0502) 1880 1881_Success_(return != 0 && return < nBufferLength) 1882DWORD 1883WINAPI 1884GetDllDirectoryA( 1885 _In_ DWORD nBufferLength, 1886 _Out_writes_to_opt_(nBufferLength, return + 1) LPSTR lpBuffer); 1887 1888_Success_(return != 0 && return < nBufferLength) 1889DWORD 1890WINAPI 1891GetDllDirectoryW( 1892 _In_ DWORD nBufferLength, 1893 _Out_writes_to_opt_(nBufferLength, return + 1) LPWSTR lpBuffer); 1894 1895#endif 1896 1897UINT WINAPI GetDriveTypeA(LPCSTR); 1898UINT WINAPI GetDriveTypeW(LPCWSTR); 1899LPSTR WINAPI GetEnvironmentStrings(void); 1900LPWSTR WINAPI GetEnvironmentStringsW(void); 1901DWORD WINAPI GetEnvironmentVariableA(LPCSTR,LPSTR,DWORD); 1902DWORD WINAPI GetEnvironmentVariableW(LPCWSTR,LPWSTR,DWORD); 1903BOOL WINAPI GetExitCodeProcess(HANDLE,PDWORD); 1904BOOL WINAPI GetExitCodeThread(HANDLE,PDWORD); 1905DWORD WINAPI GetFileAttributesA(LPCSTR lpFileName); 1906#if (_WIN32_WINNT >= 0x0600) 1907BOOL WINAPI GetFileAttributesByHandle(HANDLE,LPDWORD,DWORD); 1908DWORD WINAPI GetFinalPathNameByHandleA(HANDLE,LPSTR,DWORD,DWORD); 1909DWORD WINAPI GetFinalPathNameByHandleW(HANDLE,LPWSTR,DWORD,DWORD); 1910#endif 1911DWORD WINAPI GetFileAttributesW(LPCWSTR lpFileName); 1912BOOL WINAPI GetFileAttributesExA(LPCSTR lpFileName, GET_FILEEX_INFO_LEVELS fInfoLevelId, PVOID lpFileInformation); 1913BOOL WINAPI GetFileAttributesExW(LPCWSTR lpFileName, GET_FILEEX_INFO_LEVELS fInfoLevelId, PVOID lpFileInformation); 1914#if (_WIN32_WINNT >= 0x0600) 1915BOOL WINAPI GetFileBandwidthReservation(_In_ HANDLE, _Out_ LPDWORD, _Out_ LPDWORD, _Out_ LPBOOL, _Out_ LPDWORD, _Out_ LPDWORD); 1916#endif 1917BOOL WINAPI GetFileInformationByHandle(HANDLE,LPBY_HANDLE_FILE_INFORMATION); 1918 1919#if (_WIN32_WINNT >= 0x0600) 1920BOOL 1921WINAPI 1922GetFileInformationByHandleEx( 1923 _In_ HANDLE hFile, 1924 _In_ FILE_INFO_BY_HANDLE_CLASS FileInformationClass, 1925 _Out_writes_bytes_(dwBufferSize) LPVOID lpFileInformation, 1926 _In_ DWORD dwBufferSize); 1927#endif 1928 1929BOOL 1930WINAPI 1931GetFileSecurityA( 1932 _In_ LPCSTR lpFileName, 1933 _In_ SECURITY_INFORMATION RequestedInformation, 1934 _Out_writes_bytes_to_opt_(nLength, *lpnLengthNeeded) PSECURITY_DESCRIPTOR pSecurityDescriptor, 1935 _In_ DWORD nLength, 1936 _Out_ LPDWORD lpnLengthNeeded); 1937 1938BOOL WINAPI GetFileSecurityW(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD); 1939DWORD WINAPI GetFileSize(HANDLE,PDWORD); 1940BOOL WINAPI GetFileSizeEx(HANDLE,PLARGE_INTEGER); 1941BOOL WINAPI GetFileTime(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME); 1942DWORD WINAPI GetFileType(HANDLE); 1943#define GetFreeSpace(w) (0x100000L) 1944DWORD WINAPI GetFullPathNameA(LPCSTR,DWORD,LPSTR,LPSTR*); 1945DWORD WINAPI GetFullPathNameW(LPCWSTR,DWORD,LPWSTR,LPWSTR*); 1946BOOL WINAPI GetHandleInformation(HANDLE,PDWORD); 1947BOOL WINAPI GetKernelObjectSecurity(HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD); 1948DWORD WINAPI GetLastError(void); 1949DWORD WINAPI GetLengthSid(PSID); 1950void WINAPI GetLocalTime(LPSYSTEMTIME); 1951DWORD WINAPI GetLogicalDrives(void); 1952 1953_Success_(return != 0 && return <= nBufferLength) 1954DWORD 1955WINAPI 1956GetLogicalDriveStringsA( 1957 _In_ DWORD nBufferLength, 1958 _Out_writes_to_opt_(nBufferLength, return + 1) LPSTR lpBuffer); 1959 1960DWORD WINAPI GetLogicalDriveStringsW(DWORD,LPWSTR); 1961#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410) 1962DWORD WINAPI GetLongPathNameA(LPCSTR,LPSTR,DWORD); 1963DWORD WINAPI GetLongPathNameW(LPCWSTR,LPWSTR,DWORD); 1964#endif 1965BOOL WINAPI GetMailslotInfo(_In_ HANDLE, _Out_opt_ PDWORD, _Out_opt_ PDWORD, _Out_opt_ PDWORD, _Out_opt_ PDWORD); 1966DWORD WINAPI GetModuleFileNameA(HINSTANCE hModule,LPSTR lpFilename,DWORD nSize); 1967DWORD WINAPI GetModuleFileNameW(HINSTANCE hModule,LPWSTR lpFilename,DWORD nSize); 1968HMODULE WINAPI GetModuleHandleA(LPCSTR); 1969HMODULE WINAPI GetModuleHandleW(LPCWSTR); 1970#if (_WIN32_WINNT >= 0x0500) 1971BOOL WINAPI GetModuleHandleExA(DWORD,LPCSTR,HMODULE*); 1972BOOL WINAPI GetModuleHandleExW(DWORD,LPCWSTR,HMODULE*); 1973#endif 1974 1975#if _WIN32_WINNT >= 0x0502 1976WINBASEAPI BOOL WINAPI NeedCurrentDirectoryForExePathA(LPCSTR ExeName); 1977WINBASEAPI BOOL WINAPI NeedCurrentDirectoryForExePathW(LPCWSTR ExeName); 1978#endif 1979 1980WINBASEAPI 1981BOOL 1982WINAPI 1983GetNamedPipeClientProcessId( 1984 _In_ HANDLE Pipe, 1985 _Out_ PULONG ClientProcessId); 1986 1987BOOL 1988WINAPI 1989GetNamedPipeHandleStateA( 1990 _In_ HANDLE hNamedPipe, 1991 _Out_opt_ LPDWORD lpState, 1992 _Out_opt_ LPDWORD lpCurInstances, 1993 _Out_opt_ LPDWORD lpMaxCollectionCount, 1994 _Out_opt_ LPDWORD lpCollectDataTimeout, 1995 _Out_writes_opt_(nMaxUserNameSize) LPSTR lpUserName, 1996 _In_ DWORD nMaxUserNameSize); 1997 1998BOOL 1999WINAPI 2000GetNamedPipeHandleStateW( 2001 _In_ HANDLE hNamedPipe, 2002 _Out_opt_ LPDWORD lpState, 2003 _Out_opt_ LPDWORD lpCurInstances, 2004 _Out_opt_ LPDWORD lpMaxCollectionCount, 2005 _Out_opt_ LPDWORD lpCollectDataTimeout, 2006 _Out_writes_opt_(nMaxUserNameSize) LPWSTR lpUserName, 2007 _In_ DWORD nMaxUserNameSize); 2008 2009BOOL WINAPI GetNamedPipeInfo(_In_ HANDLE, _Out_opt_ PDWORD, _Out_opt_ PDWORD, _Out_opt_ PDWORD, _Out_opt_ PDWORD); 2010#if (_WIN32_WINNT >= 0x0501) 2011VOID WINAPI GetNativeSystemInfo(LPSYSTEM_INFO); 2012#endif 2013 2014BOOL 2015WINAPI 2016GetEventLogInformation( 2017 _In_ HANDLE hEventLog, 2018 _In_ DWORD dwInfoLevel, 2019 _Out_writes_bytes_to_(cbBufSize, *pcbBytesNeeded) LPVOID lpBuffer, 2020 _In_ DWORD cbBufSize, 2021 _Out_ LPDWORD pcbBytesNeeded); 2022 2023BOOL WINAPI GetNumberOfEventLogRecords(_In_ HANDLE, _Out_ PDWORD); 2024BOOL WINAPI GetOldestEventLogRecord(_In_ HANDLE, _Out_ PDWORD); 2025DWORD WINAPI GetPriorityClass(HANDLE); 2026BOOL WINAPI GetPrivateObjectSecurity(PSECURITY_DESCRIPTOR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD); 2027UINT WINAPI GetPrivateProfileIntA(_In_ LPCSTR, _In_ LPCSTR, _In_ INT, _In_opt_ LPCSTR); 2028UINT WINAPI GetPrivateProfileIntW(_In_ LPCWSTR, _In_ LPCWSTR, _In_ INT, _In_opt_ LPCWSTR); 2029 2030DWORD 2031WINAPI 2032GetPrivateProfileSectionA( 2033 _In_ LPCSTR lpAppName, 2034 _Out_writes_to_opt_(nSize, return + 1) LPSTR lpReturnedString, 2035 _In_ DWORD nSize, 2036 _In_opt_ LPCSTR lpFileName); 2037 2038DWORD 2039WINAPI 2040GetPrivateProfileSectionW( 2041 _In_ LPCWSTR lpAppName, 2042 _Out_writes_to_opt_(nSize, return + 1) LPWSTR lpReturnedString, 2043 _In_ DWORD nSize, 2044 _In_opt_ LPCWSTR lpFileName); 2045 2046DWORD 2047WINAPI 2048GetPrivateProfileSectionNamesA( 2049 _Out_writes_to_opt_(nSize, return + 1) LPSTR lpszReturnBuffer, 2050 _In_ DWORD nSize, 2051 _In_opt_ LPCSTR lpFileName); 2052 2053DWORD 2054WINAPI 2055GetPrivateProfileSectionNamesW( 2056 _Out_writes_to_opt_(nSize, return + 1) LPWSTR lpszReturnBuffer, 2057 _In_ DWORD nSize, 2058 _In_opt_ LPCWSTR lpFileName); 2059 2060DWORD 2061WINAPI 2062GetPrivateProfileStringA( 2063 _In_opt_ LPCSTR lpAppName, 2064 _In_opt_ LPCSTR lpKeyName, 2065 _In_opt_ LPCSTR lpDefault, 2066 _Out_writes_to_opt_(nSize, return + 1) LPSTR lpReturnedString, 2067 _In_ DWORD nSize, 2068 _In_opt_ LPCSTR lpFileName); 2069 2070DWORD 2071WINAPI 2072GetPrivateProfileStringW( 2073 _In_opt_ LPCWSTR lpAppName, 2074 _In_opt_ LPCWSTR lpKeyName, 2075 _In_opt_ LPCWSTR lpDefault, 2076 _Out_writes_to_opt_(nSize, return + 1) LPWSTR lpReturnedString, 2077 _In_ DWORD nSize, 2078 _In_opt_ LPCWSTR lpFileName); 2079 2080BOOL 2081WINAPI 2082GetPrivateProfileStructA( 2083 _In_ LPCSTR lpszSection, 2084 _In_ LPCSTR lpszKey, 2085 _Out_writes_bytes_opt_(uSizeStruct) LPVOID lpStruct, 2086 _In_ UINT uSizeStruct, 2087 _In_opt_ LPCSTR szFile); 2088 2089BOOL 2090WINAPI 2091GetPrivateProfileStructW( 2092 _In_ LPCWSTR lpszSection, 2093 _In_ LPCWSTR lpszKey, 2094 _Out_writes_bytes_opt_(uSizeStruct) LPVOID lpStruct, 2095 _In_ UINT uSizeStruct, 2096 _In_opt_ LPCWSTR szFile); 2097 2098FARPROC WINAPI GetProcAddress(HINSTANCE,LPCSTR); 2099BOOL WINAPI GetProcessAffinityMask(_In_ HANDLE, _Out_ PDWORD_PTR, _Out_ PDWORD_PTR); 2100#if (_WIN32_WINNT >= 0x0502) 2101BOOL WINAPI GetProcessHandleCount(_In_ HANDLE, _Out_ PDWORD); 2102#endif 2103HANDLE WINAPI GetProcessHeap(VOID); 2104DWORD WINAPI GetProcessHeaps(DWORD,PHANDLE); 2105#if (_WIN32_WINNT >= 0x0502) 2106DWORD WINAPI GetProcessId(HANDLE); 2107DWORD WINAPI GetProcessIdOfThread(HANDLE); 2108#endif 2109#if (_WIN32_WINNT >= 0x0500) 2110BOOL WINAPI GetProcessIoCounters(_In_ HANDLE, _Out_ PIO_COUNTERS); 2111#endif 2112BOOL WINAPI GetProcessPriorityBoost(_In_ HANDLE, _Out_ PBOOL); 2113BOOL WINAPI GetProcessShutdownParameters(_Out_ PDWORD, _Out_ PDWORD); 2114BOOL WINAPI GetProcessTimes(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME,LPFILETIME); 2115DWORD WINAPI GetProcessVersion(DWORD); 2116HWINSTA WINAPI GetProcessWindowStation(void); 2117BOOL WINAPI GetProcessWorkingSetSize(_In_ HANDLE, _Out_ PSIZE_T, _Out_ PSIZE_T); 2118UINT WINAPI GetProfileIntA(_In_ LPCSTR, _In_ LPCSTR, _In_ INT); 2119UINT WINAPI GetProfileIntW(_In_ LPCWSTR, _In_ LPCWSTR, _In_ INT); 2120 2121DWORD 2122WINAPI 2123GetProfileSectionA( 2124 _In_ LPCSTR lpAppName, 2125 _Out_writes_to_opt_(nSize, return + 1) LPSTR lpReturnedString, 2126 _In_ DWORD nSize); 2127 2128DWORD 2129WINAPI 2130GetProfileSectionW( 2131 _In_ LPCWSTR lpAppName, 2132 _Out_writes_to_opt_(nSize, return + 1) LPWSTR lpReturnedString, 2133 _In_ DWORD nSize); 2134 2135DWORD 2136WINAPI 2137GetProfileStringA( 2138 _In_opt_ LPCSTR lpAppName, 2139 _In_opt_ LPCSTR lpKeyName, 2140 _In_opt_ LPCSTR lpDefault, 2141 _Out_writes_to_opt_(nSize, return + 1) LPSTR lpReturnedString, 2142 _In_ DWORD nSize); 2143 2144DWORD 2145WINAPI 2146GetProfileStringW( 2147 _In_opt_ LPCWSTR lpAppName, 2148 _In_opt_ LPCWSTR lpKeyName, 2149 _In_opt_ LPCWSTR lpDefault, 2150 _Out_writes_to_opt_(nSize, return + 1) LPWSTR lpReturnedString, 2151 _In_ DWORD nSize); 2152 2153BOOL WINAPI GetSecurityDescriptorControl(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR_CONTROL,PDWORD); 2154BOOL WINAPI GetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR,LPBOOL,PACL*,LPBOOL); 2155BOOL WINAPI GetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR,PSID*,LPBOOL); 2156DWORD WINAPI GetSecurityDescriptorLength(PSECURITY_DESCRIPTOR); 2157BOOL WINAPI GetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR,PSID*,LPBOOL); 2158DWORD WINAPI GetSecurityDescriptorRMControl(PSECURITY_DESCRIPTOR,PUCHAR); 2159BOOL WINAPI GetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR,LPBOOL,PACL*,LPBOOL); 2160 2161_Success_(return != 0 && return < cchBuffer) 2162DWORD 2163WINAPI 2164GetShortPathNameA( 2165 _In_ LPCSTR lpszLongPath, 2166 _Out_writes_to_opt_(cchBuffer, return + 1) LPSTR lpszShortPath, 2167 _In_ DWORD cchBuffer); 2168 2169DWORD WINAPI GetShortPathNameW(LPCWSTR,LPWSTR,DWORD); 2170PSID_IDENTIFIER_AUTHORITY WINAPI GetSidIdentifierAuthority(PSID); 2171DWORD WINAPI GetSidLengthRequired(UCHAR); 2172PDWORD WINAPI GetSidSubAuthority(PSID,DWORD); 2173PUCHAR WINAPI GetSidSubAuthorityCount(PSID); 2174VOID WINAPI GetStartupInfoA(_Out_ LPSTARTUPINFOA); 2175VOID WINAPI GetStartupInfoW(LPSTARTUPINFOW); 2176HANDLE WINAPI GetStdHandle(_In_ DWORD); 2177UINT WINAPI GetSystemDirectoryA(LPSTR,UINT); 2178UINT WINAPI GetSystemDirectoryW(LPWSTR,UINT); 2179 2180VOID WINAPI GetSystemInfo(LPSYSTEM_INFO); 2181BOOL WINAPI GetSystemPowerStatus(_Out_ LPSYSTEM_POWER_STATUS); 2182#if (_WIN32_WINNT >= 0x0502) 2183BOOL WINAPI GetSystemRegistryQuota(_Out_opt_ PDWORD, _Out_opt_ PDWORD); 2184#endif 2185VOID WINAPI GetSystemTime(LPSYSTEMTIME lpSystemTime); 2186#if (_WIN32_WINNT >= 0x0501) 2187BOOL WINAPI GetSystemTimes(_Out_opt_ LPFILETIME, _Out_opt_ LPFILETIME, _Out_opt_ LPFILETIME); 2188#endif 2189BOOL WINAPI GetSystemTimeAdjustment(PDWORD,PDWORD,PBOOL); 2190void WINAPI GetSystemTimeAsFileTime(LPFILETIME); 2191#if (_WIN32_WINNT >= 0x0500) 2192UINT WINAPI GetSystemWindowsDirectoryA(LPSTR,UINT); 2193UINT WINAPI GetSystemWindowsDirectoryW(LPWSTR,UINT); 2194#endif 2195 2196#if (_WIN32_WINNT >= 0x0501) 2197 2198_Success_(return != 0 && return < uSize) 2199UINT 2200WINAPI 2201GetSystemWow64DirectoryA( 2202 _Out_writes_to_opt_(uSize, return + 1) LPSTR lpBuffer, 2203 _In_ UINT uSize); 2204 2205_Success_(return != 0 && return < uSize) 2206UINT 2207WINAPI 2208GetSystemWow64DirectoryW( 2209 _Out_writes_to_opt_(uSize, return + 1) LPWSTR lpBuffer, 2210 _In_ UINT uSize); 2211 2212#endif 2213 2214DWORD 2215WINAPI 2216GetTapeParameters( 2217 _In_ HANDLE hDevice, 2218 _In_ DWORD dwOperation, 2219 _Inout_ LPDWORD lpdwSize, 2220 _Out_writes_bytes_(*lpdwSize) LPVOID lpTapeInformation); 2221 2222DWORD WINAPI GetTapePosition(_In_ HANDLE, _In_ DWORD, _Out_ PDWORD, _Out_ PDWORD, _Out_ PDWORD); 2223DWORD WINAPI GetTapeStatus(_In_ HANDLE); 2224 2225UINT 2226WINAPI 2227GetTempFileNameA( 2228 _In_ LPCSTR lpPathName, 2229 _In_ LPCSTR lpPrefixString, 2230 _In_ UINT uUnique, 2231 _Out_writes_(MAX_PATH) LPSTR lpTempFileName); 2232 2233UINT WINAPI GetTempFileNameW(LPCWSTR,LPCWSTR,UINT,LPWSTR); 2234 2235DWORD 2236WINAPI 2237GetTempPathA( 2238 _In_ DWORD nBufferLength, 2239 _Out_writes_to_opt_(nBufferLength, return + 1) LPSTR lpBuffer); 2240 2241DWORD WINAPI GetTempPathW(DWORD,LPWSTR); 2242BOOL WINAPI GetThreadContext(HANDLE,LPCONTEXT); 2243#if (_WIN32_WINNT >= 0x0502) 2244BOOL WINAPI GetThreadIOPendingFlag(_In_ HANDLE, _Out_ PBOOL); 2245#endif 2246int WINAPI GetThreadPriority(HANDLE); 2247BOOL WINAPI GetThreadPriorityBoost(HANDLE,PBOOL); 2248BOOL WINAPI GetThreadSelectorEntry(_In_ HANDLE, _In_ DWORD, _Out_ LPLDT_ENTRY); 2249BOOL WINAPI GetThreadTimes(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME,LPFILETIME); 2250DWORD WINAPI GetTickCount(VOID); 2251#if (_WIN32_WINNT >= 0x0600) 2252ULONGLONG WINAPI GetTickCount64(VOID); 2253#endif 2254DWORD WINAPI GetThreadId(HANDLE); 2255DWORD WINAPI GetTimeZoneInformation(LPTIME_ZONE_INFORMATION); 2256BOOL WINAPI GetTokenInformation(HANDLE,TOKEN_INFORMATION_CLASS,PVOID,DWORD,PDWORD); 2257 2258BOOL 2259WINAPI 2260GetUserNameA( 2261 _Out_writes_to_opt_(*pcbBuffer, *pcbBuffer) LPSTR lpBuffer, 2262 _Inout_ LPDWORD pcbBuffer); 2263 2264BOOL 2265WINAPI 2266GetUserNameW( 2267 _Out_writes_to_opt_(*pcbBuffer, *pcbBuffer) LPWSTR lpBuffer, 2268 _Inout_ LPDWORD pcbBuffer); 2269 2270DWORD WINAPI GetVersion(void); 2271BOOL WINAPI GetVersionExA(LPOSVERSIONINFOA); 2272BOOL WINAPI GetVersionExW(LPOSVERSIONINFOW); 2273 2274BOOL 2275WINAPI 2276GetVolumeInformationA( 2277 _In_opt_ LPCSTR lpRootPathName, 2278 _Out_writes_opt_(nVolumeNameSize) LPSTR lpVolumeNameBuffer, 2279 _In_ DWORD nVolumeNameSize, 2280 _Out_opt_ LPDWORD lpVolumeSerialNumber, 2281 _Out_opt_ LPDWORD lpMaximumComponentLength, 2282 _Out_opt_ LPDWORD lpFileSystemFlags, 2283 _Out_writes_opt_(nFileSystemNameSize) LPSTR lpFileSystemNameBuffer, 2284 _In_ DWORD nFileSystemNameSize); 2285 2286BOOL WINAPI GetVolumeInformationW(LPCWSTR,LPWSTR,DWORD,PDWORD,PDWORD,PDWORD,LPWSTR,DWORD); 2287 2288#if (_WIN32_WINNT >= 0x0500) 2289 2290BOOL 2291WINAPI 2292GetVolumeNameForVolumeMountPointA( 2293 _In_ LPCSTR lpszVolumeMountPoint, 2294 _Out_writes_(cchBufferLength) LPSTR lpszVolumeName, 2295 _In_ DWORD cchBufferLength); 2296 2297BOOL WINAPI GetVolumeNameForVolumeMountPointW(LPCWSTR,LPWSTR,DWORD); 2298 2299BOOL 2300WINAPI 2301GetVolumePathNameA( 2302 _In_ LPCSTR lpszFileName, 2303 _Out_writes_(cchBufferLength) LPSTR lpszVolumePathName, 2304 _In_ DWORD cchBufferLength); 2305 2306BOOL WINAPI GetVolumePathNameW(LPCWSTR,LPWSTR,DWORD); 2307 2308#endif 2309 2310#if (_WIN32_WINNT >= 0x0501) 2311 2312BOOL 2313WINAPI 2314GetVolumePathNamesForVolumeNameA( 2315 _In_ LPCSTR lpszVolumeName, 2316 _Out_writes_to_opt_(cchBufferLength, *lpcchReturnLength) _Post_ _NullNull_terminated_ LPCH lpszVolumePathNames, 2317 _In_ DWORD cchBufferLength, 2318 _Out_ PDWORD lpcchReturnLength); 2319 2320BOOL WINAPI GetVolumePathNamesForVolumeNameW(LPCWSTR,LPWSTR,DWORD,PDWORD); 2321 2322#endif 2323 2324UINT WINAPI GetWindowsDirectoryA(LPSTR,UINT); 2325UINT WINAPI GetWindowsDirectoryW(LPWSTR,UINT); 2326DWORD WINAPI GetWindowThreadProcessId(HWND hWnd,PDWORD lpdwProcessId); 2327UINT WINAPI GetWriteWatch(DWORD,PVOID,SIZE_T,PVOID*,PULONG_PTR,PULONG); 2328ATOM WINAPI GlobalAddAtomA(_In_opt_ LPCSTR); 2329ATOM WINAPI GlobalAddAtomW(_In_opt_ LPCWSTR); 2330HGLOBAL WINAPI GlobalAlloc(UINT,SIZE_T); 2331SIZE_T WINAPI GlobalCompact(_In_ DWORD); /* Obsolete: Has no effect. */ 2332ATOM WINAPI GlobalDeleteAtom(_In_ ATOM); 2333#define GlobalDiscard(m) GlobalReAlloc((m),0,GMEM_MOVEABLE) 2334ATOM WINAPI GlobalFindAtomA(_In_opt_ LPCSTR); 2335ATOM WINAPI GlobalFindAtomW(_In_opt_ LPCWSTR); 2336VOID WINAPI GlobalFix(_In_ HGLOBAL); /* Obsolete: Has no effect. */ 2337UINT WINAPI GlobalFlags(_In_ HGLOBAL); /* Obsolete: Has no effect. */ 2338HGLOBAL WINAPI GlobalFree(HGLOBAL); 2339 2340UINT 2341WINAPI 2342GlobalGetAtomNameA( 2343 _In_ ATOM nAtom, 2344 _Out_writes_to_(nSize, return + 1) LPSTR lpBuffer, 2345 _In_ int nSize); 2346 2347UINT 2348WINAPI 2349GlobalGetAtomNameW( 2350 _In_ ATOM nAtom, 2351 _Out_writes_to_(nSize, return + 1) LPWSTR lpBuffer, 2352 _In_ int nSize); 2353 2354_Ret_maybenull_ HGLOBAL WINAPI GlobalHandle(_In_ LPCVOID); 2355_Ret_maybenull_ LPVOID WINAPI GlobalLock(_In_ HGLOBAL); 2356VOID WINAPI GlobalMemoryStatus(_Out_ LPMEMORYSTATUS); 2357#if (_WIN32_WINNT >= 0x0500) 2358BOOL WINAPI GlobalMemoryStatusEx(LPMEMORYSTATUSEX); 2359#endif 2360HGLOBAL WINAPI GlobalReAlloc(HGLOBAL,SIZE_T,UINT); 2361SIZE_T WINAPI GlobalSize(_In_ HGLOBAL); 2362VOID WINAPI GlobalUnfix(_In_ HGLOBAL); /* Obsolete: Has no effect. */ 2363BOOL WINAPI GlobalUnlock(_In_ HGLOBAL); 2364BOOL WINAPI GlobalUnWire(_In_ HGLOBAL); /* Obsolete: Has no effect. */ 2365PVOID WINAPI GlobalWire(_In_ HGLOBAL); /* Obsolete: Has no effect. */ 2366#define HasOverlappedIoCompleted(lpOverlapped) ((lpOverlapped)->Internal != STATUS_PENDING) 2367PVOID WINAPI HeapAlloc(HANDLE,DWORD,SIZE_T); 2368SIZE_T WINAPI HeapCompact(HANDLE,DWORD); 2369HANDLE WINAPI HeapCreate(DWORD,SIZE_T,SIZE_T); 2370BOOL WINAPI HeapDestroy(HANDLE); 2371BOOL WINAPI HeapFree(HANDLE,DWORD,PVOID); 2372BOOL WINAPI HeapLock(HANDLE); 2373#if (_WIN32_WINNT >= 0x0501) 2374BOOL WINAPI HeapQueryInformation(HANDLE,HEAP_INFORMATION_CLASS,PVOID,SIZE_T,PSIZE_T); 2375#endif 2376PVOID WINAPI HeapReAlloc(HANDLE,DWORD,PVOID,SIZE_T); 2377#if (_WIN32_WINNT >= 0x0501) 2378BOOL WINAPI HeapSetInformation(HANDLE,HEAP_INFORMATION_CLASS,PVOID,SIZE_T); 2379#endif 2380SIZE_T WINAPI HeapSize(HANDLE,DWORD,LPCVOID); 2381BOOL WINAPI HeapUnlock(HANDLE); 2382BOOL WINAPI HeapValidate(HANDLE,DWORD,LPCVOID); 2383BOOL WINAPI HeapWalk(HANDLE,LPPROCESS_HEAP_ENTRY); 2384BOOL WINAPI ImpersonateAnonymousToken(HANDLE); 2385BOOL WINAPI ImpersonateLoggedOnUser(HANDLE); 2386BOOL WINAPI ImpersonateNamedPipeClient(HANDLE); 2387BOOL WINAPI ImpersonateSelf(SECURITY_IMPERSONATION_LEVEL); 2388BOOL WINAPI InitAtomTable(_In_ DWORD); 2389BOOL WINAPI InitializeAcl(PACL,DWORD,DWORD); 2390#if (_WIN32_WINNT >= 0x0600) 2391VOID WINAPI InitializeConditionVariable(PCONDITION_VARIABLE); 2392#endif 2393VOID WINAPI InitializeCriticalSection(LPCRITICAL_SECTION); 2394BOOL WINAPI InitializeCriticalSectionAndSpinCount(LPCRITICAL_SECTION,DWORD); 2395DWORD WINAPI SetCriticalSectionSpinCount(LPCRITICAL_SECTION,DWORD); 2396BOOL WINAPI InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR,DWORD); 2397BOOL WINAPI InitializeSid (PSID,PSID_IDENTIFIER_AUTHORITY,BYTE); 2398 2399#if (_WIN32_WINNT >= 0x0600) 2400VOID WINAPI InitializeSRWLock(PSRWLOCK); 2401#endif 2402 2403BOOL WINAPI IsBadCodePtr(_In_opt_ FARPROC); 2404BOOL WINAPI IsBadHugeReadPtr(_In_opt_ CONST VOID*, _In_ UINT_PTR); 2405BOOL WINAPI IsBadHugeWritePtr(_In_opt_ PVOID, _In_ UINT_PTR); 2406BOOL WINAPI IsBadReadPtr(_In_opt_ CONST VOID*, _In_ UINT_PTR); 2407BOOL WINAPI IsBadStringPtrA(_In_opt_ LPCSTR, _In_ UINT_PTR); 2408BOOL WINAPI IsBadStringPtrW(_In_opt_ LPCWSTR, _In_ UINT_PTR); 2409BOOL WINAPI IsBadWritePtr(_In_opt_ PVOID, _In_ UINT_PTR); 2410BOOL WINAPI IsDebuggerPresent(void); 2411#if (_WIN32_WINNT >= 0x0501) 2412BOOL WINAPI IsProcessInJob(HANDLE,HANDLE,PBOOL); 2413#endif 2414BOOL WINAPI IsProcessorFeaturePresent(DWORD); 2415BOOL WINAPI IsSystemResumeAutomatic(void); 2416 2417BOOL 2418WINAPI 2419IsTextUnicode( 2420 _In_reads_bytes_(iSize) CONST VOID *lpv, 2421 _In_ int iSize, 2422 _Inout_opt_ LPINT lpiResult); 2423 2424#if (_WIN32_WINNT >= 0x0600) 2425BOOL WINAPI IsThreadAFiber(VOID); 2426#endif 2427BOOL WINAPI IsValidAcl(PACL); 2428BOOL WINAPI IsValidSecurityDescriptor(PSECURITY_DESCRIPTOR); 2429BOOL WINAPI IsValidSid(PSID); 2430#if (_WIN32_WINNT >= 0x0501) 2431BOOL WINAPI IsWellKnownSid(PSID,WELL_KNOWN_SID_TYPE); 2432BOOL WINAPI IsWow64Process(HANDLE,PBOOL); 2433#endif 2434void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION); 2435#define LimitEmsPages(n) 2436_Ret_maybenull_ HINSTANCE WINAPI LoadLibraryA(_In_ LPCSTR); 2437_Ret_maybenull_ HINSTANCE WINAPI LoadLibraryW(_In_ LPCWSTR); 2438HINSTANCE WINAPI LoadLibraryExA(LPCSTR,HANDLE,DWORD); 2439HINSTANCE WINAPI LoadLibraryExW(LPCWSTR,HANDLE,DWORD); 2440DWORD WINAPI LoadModule(_In_ LPCSTR, _In_ PVOID); 2441HGLOBAL WINAPI LoadResource(HINSTANCE,HRSRC); 2442HLOCAL WINAPI LocalAlloc(UINT,SIZE_T); 2443SIZE_T WINAPI LocalCompact(_In_ UINT); /* Obsolete: Has no effect. */ 2444BOOL WINAPI LocalFileTimeToFileTime(CONST FILETIME *,LPFILETIME); 2445UINT WINAPI LocalFlags(_In_ HLOCAL); /* Obsolete: Has no effect. */ 2446HLOCAL WINAPI LocalFree(HLOCAL); 2447_Ret_maybenull_ HLOCAL WINAPI LocalHandle(_In_ LPCVOID); 2448PVOID WINAPI LocalLock(HLOCAL); 2449HLOCAL WINAPI LocalReAlloc(HLOCAL,SIZE_T,UINT); 2450SIZE_T WINAPI LocalShrink(_In_ HLOCAL, _In_ UINT); /* Obsolete: Has no effect. */ 2451SIZE_T WINAPI LocalSize(_In_ HLOCAL); 2452BOOL WINAPI LocalUnlock(HLOCAL); 2453BOOL WINAPI LockFile(HANDLE,DWORD,DWORD,DWORD,DWORD); 2454BOOL WINAPI LockFileEx(HANDLE,DWORD,DWORD,DWORD,DWORD,LPOVERLAPPED); 2455PVOID WINAPI LockResource(HGLOBAL); 2456#define LockSegment(w) GlobalFix((HANDLE)(w)) /* Obsolete: Has no effect. */ 2457BOOL WINAPI LogonUserA(_In_ LPSTR, _In_opt_ LPSTR, _In_opt_ LPSTR, _In_ DWORD, _In_ DWORD, _Outptr_ PHANDLE); 2458BOOL WINAPI LogonUserW(_In_ LPWSTR, _In_opt_ LPWSTR, _In_opt_ LPWSTR, _In_ DWORD, _In_ DWORD, _Outptr_ PHANDLE); 2459 2460_Success_(return != FALSE) 2461BOOL 2462WINAPI 2463LogonUserExA( 2464 _In_ LPSTR lpszUsername, 2465 _In_opt_ LPSTR lpszDomain, 2466 _In_opt_ LPSTR lpszPassword, 2467 _In_ DWORD dwLogonType, 2468 _In_ DWORD dwLogonProvider, 2469 _Out_opt_ PHANDLE phToken, 2470 _Out_opt_ PSID *ppLogonSid, 2471 _Out_opt_ PVOID *ppProfileBuffer, 2472 _Out_opt_ LPDWORD pdwProfileLength, 2473 _Out_opt_ PQUOTA_LIMITS pQuotaLimits); 2474 2475_Success_(return != FALSE) 2476BOOL 2477WINAPI 2478LogonUserExW( 2479 _In_ LPWSTR lpszUsername, 2480 _In_opt_ LPWSTR lpszDomain, 2481 _In_opt_ LPWSTR lpszPassword, 2482 _In_ DWORD dwLogonType, 2483 _In_ DWORD dwLogonProvider, 2484 _Out_opt_ PHANDLE phToken, 2485 _Out_opt_ PSID *ppLogonSid, 2486 _Out_opt_ PVOID *ppProfileBuffer, 2487 _Out_opt_ LPDWORD pdwProfileLength, 2488 _Out_opt_ PQUOTA_LIMITS pQuotaLimits); 2489 2490_Success_(return != FALSE) 2491BOOL 2492WINAPI 2493LookupAccountNameA( 2494 _In_opt_ LPCSTR lpSystemName, 2495 _In_ LPCSTR lpAccountName, 2496 _Out_writes_bytes_to_opt_(*cbSid, *cbSid) PSID Sid, 2497 _Inout_ LPDWORD cbSid, 2498 _Out_writes_to_opt_(*cchReferencedDomainName, *cchReferencedDomainName + 1) LPSTR ReferencedDomainName, 2499 _Inout_ LPDWORD cchReferencedDomainName, 2500 _Out_ PSID_NAME_USE peUse); 2501 2502_Success_(return != FALSE) 2503BOOL 2504WINAPI 2505LookupAccountNameW( 2506 _In_opt_ LPCWSTR lpSystemName, 2507 _In_ LPCWSTR lpAccountName, 2508 _Out_writes_bytes_to_opt_(*cbSid, *cbSid) PSID Sid, 2509 _Inout_ LPDWORD cbSid, 2510 _Out_writes_to_opt_(*cchReferencedDomainName, *cchReferencedDomainName + 1) LPWSTR ReferencedDomainName, 2511 _Inout_ LPDWORD cchReferencedDomainName, 2512 _Out_ PSID_NAME_USE peUse); 2513 2514_Success_(return != FALSE) 2515BOOL 2516WINAPI 2517LookupAccountSidA( 2518 _In_opt_ LPCSTR lpSystemName, 2519 _In_ PSID Sid, 2520 _Out_writes_to_opt_(*cchName, *cchName + 1) LPSTR Name, 2521 _Inout_ LPDWORD cchName, 2522 _Out_writes_to_opt_(*cchReferencedDomainName, *cchReferencedDomainName + 1) LPSTR ReferencedDomainName, 2523 _Inout_ LPDWORD cchReferencedDomainName, 2524 _Out_ PSID_NAME_USE peUse); 2525 2526_Success_(return != FALSE) 2527BOOL 2528WINAPI 2529LookupAccountSidW( 2530 _In_opt_ LPCWSTR lpSystemName, 2531 _In_ PSID Sid, 2532 _Out_writes_to_opt_(*cchName, *cchName + 1) LPWSTR Name, 2533 _Inout_ LPDWORD cchName, 2534 _Out_writes_to_opt_(*cchReferencedDomainName, *cchReferencedDomainName + 1) LPWSTR ReferencedDomainName, 2535 _Inout_ LPDWORD cchReferencedDomainName, 2536 _Out_ PSID_NAME_USE peUse); 2537 2538_Success_(return != FALSE) 2539BOOL 2540WINAPI 2541LookupPrivilegeDisplayNameA( 2542 _In_opt_ LPCSTR lpSystemName, 2543 _In_ LPCSTR lpName, 2544 _Out_writes_to_opt_(*cchDisplayName, *cchDisplayName + 1) LPSTR lpDisplayName, 2545 _Inout_ LPDWORD cchDisplayName, 2546 _Out_ LPDWORD lpLanguageId); 2547 2548_Success_(return != FALSE) 2549BOOL 2550WINAPI 2551LookupPrivilegeDisplayNameW( 2552 _In_opt_ LPCWSTR lpSystemName, 2553 _In_ LPCWSTR lpName, 2554 _Out_writes_to_opt_(*cchDisplayName, *cchDisplayName + 1) LPWSTR lpDisplayName, 2555 _Inout_ LPDWORD cchDisplayName, 2556 _Out_ LPDWORD lpLanguageId); 2557 2558_Success_(return != FALSE) 2559BOOL 2560WINAPI 2561LookupPrivilegeNameA( 2562 _In_opt_ LPCSTR lpSystemName, 2563 _In_ PLUID lpLuid, 2564 _Out_writes_to_opt_(*cchName, *cchName + 1) LPSTR lpName, 2565 _Inout_ LPDWORD cchName); 2566 2567_Success_(return != FALSE) 2568BOOL 2569WINAPI 2570LookupPrivilegeNameW( 2571 _In_opt_ LPCWSTR lpSystemName, 2572 _In_ PLUID lpLuid, 2573 _Out_writes_to_opt_(*cchName, *cchName + 1) LPWSTR lpName, 2574 _Inout_ LPDWORD cchName); 2575 2576BOOL WINAPI LookupPrivilegeValueA(_In_opt_ LPCSTR, _In_ LPCSTR, _Out_ PLUID); 2577BOOL WINAPI LookupPrivilegeValueW(_In_opt_ LPCWSTR, _In_ LPCWSTR, _Out_ PLUID); 2578 2579LPSTR 2580WINAPI 2581lstrcatA( 2582 _Inout_updates_z_(_String_length_(lpString1) + _String_length_(lpString2) + 1) LPSTR lpString1, 2583 _In_ LPCSTR lpString2); 2584 2585LPWSTR 2586WINAPI 2587lstrcatW( 2588 _Inout_updates_z_(_String_length_(lpString1) + _String_length_(lpString2) + 1) LPWSTR lpString1, 2589 _In_ LPCWSTR lpString2); 2590 2591int WINAPI lstrcmpA(LPCSTR,LPCSTR); 2592int WINAPI lstrcmpiA(LPCSTR,LPCSTR); 2593int WINAPI lstrcmpiW( LPCWSTR,LPCWSTR); 2594int WINAPI lstrcmpW(LPCWSTR,LPCWSTR); 2595 2596LPSTR 2597WINAPI 2598lstrcpyA( 2599 _Out_writes_(_String_length_(lpString2) + 1) LPSTR lpString1, 2600 _In_ LPCSTR lpString2); 2601 2602LPWSTR 2603WINAPI 2604lstrcpyW( 2605 _Out_writes_(_String_length_(lpString2) + 1) LPWSTR lpString1, 2606 _In_ LPCWSTR lpString2); 2607 2608LPSTR WINAPI lstrcpynA(LPSTR,LPCSTR,int); 2609LPWSTR WINAPI lstrcpynW(LPWSTR,LPCWSTR,int); 2610int WINAPI lstrlenA(LPCSTR); 2611int WINAPI lstrlenW(LPCWSTR); 2612BOOL WINAPI MakeAbsoluteSD(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,PDWORD,PACL,PDWORD,PACL,PDWORD,PSID,PDWORD,PSID,PDWORD); 2613#define MakeProcInstance(p,i) (p) 2614BOOL WINAPI MakeSelfRelativeSD(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,PDWORD); 2615VOID WINAPI MapGenericMask(PDWORD,PGENERIC_MAPPING); 2616PVOID WINAPI MapViewOfFile(HANDLE,DWORD,DWORD,DWORD,SIZE_T); 2617PVOID WINAPI MapViewOfFileEx(HANDLE,DWORD,DWORD,DWORD,SIZE_T,PVOID); 2618BOOL WINAPI MoveFileA(_In_ LPCSTR, _In_ LPCSTR); 2619BOOL WINAPI MoveFileW(_In_ LPCWSTR, _In_ LPCWSTR); 2620BOOL WINAPI MoveFileExA(_In_ LPCSTR, _In_opt_ LPCSTR, _In_ DWORD); 2621BOOL WINAPI MoveFileExW(_In_ LPCWSTR, _In_opt_ LPCWSTR, _In_ DWORD); 2622BOOL WINAPI MoveFileWithProgressA(_In_ LPCSTR, _In_opt_ LPCSTR, _In_opt_ LPPROGRESS_ROUTINE, _In_opt_ LPVOID, _In_ DWORD); 2623BOOL WINAPI MoveFileWithProgressW(_In_ LPCWSTR, _In_opt_ LPCWSTR, _In_opt_ LPPROGRESS_ROUTINE, _In_opt_ LPVOID, _In_ DWORD); 2624int WINAPI MulDiv(_In_ int, _In_ int, _In_ int); 2625BOOL WINAPI NotifyChangeEventLog(_In_ HANDLE, _In_ HANDLE); 2626BOOL WINAPI ObjectCloseAuditAlarmA(_In_ LPCSTR, _In_ PVOID, _In_ BOOL); 2627BOOL WINAPI ObjectCloseAuditAlarmW(LPCWSTR,PVOID,BOOL); 2628BOOL WINAPI ObjectDeleteAuditAlarmA(_In_ LPCSTR, _In_ PVOID, _In_ BOOL); 2629BOOL WINAPI ObjectDeleteAuditAlarmW(LPCWSTR,PVOID,BOOL); 2630BOOL WINAPI ObjectOpenAuditAlarmA(_In_ LPCSTR, _In_ PVOID, _In_ LPSTR, _In_opt_ LPSTR, _In_ PSECURITY_DESCRIPTOR, _In_ HANDLE, _In_ DWORD, _In_ DWORD, _In_opt_ PPRIVILEGE_SET, _In_ BOOL, _In_ BOOL, _Out_ PBOOL); 2631BOOL WINAPI ObjectOpenAuditAlarmW(LPCWSTR,PVOID,LPWSTR,LPWSTR,PSECURITY_DESCRIPTOR,HANDLE,DWORD,DWORD,PPRIVILEGE_SET,BOOL,BOOL,PBOOL); 2632BOOL WINAPI ObjectPrivilegeAuditAlarmA(_In_ LPCSTR, _In_ PVOID, _In_ HANDLE, _In_ DWORD, _In_ PPRIVILEGE_SET, _In_ BOOL); 2633BOOL WINAPI ObjectPrivilegeAuditAlarmW(LPCWSTR,PVOID,HANDLE,DWORD,PPRIVILEGE_SET,BOOL); 2634HANDLE WINAPI OpenBackupEventLogA(_In_opt_ LPCSTR, _In_ LPCSTR); 2635HANDLE WINAPI OpenBackupEventLogW(_In_opt_ LPCWSTR, _In_ LPCWSTR); 2636HANDLE WINAPI OpenEventA(DWORD,BOOL,LPCSTR); 2637HANDLE WINAPI OpenEventLogA(_In_opt_ LPCSTR, _In_ LPCSTR); 2638HANDLE WINAPI OpenEventLogW(_In_opt_ LPCWSTR, _In_ LPCWSTR); 2639HANDLE WINAPI OpenEventW(DWORD,BOOL,LPCWSTR); 2640HFILE WINAPI OpenFile(_In_ LPCSTR, _Inout_ LPOFSTRUCT, _In_ UINT); 2641#if (_WIN32_WINNT >= 0x0600) 2642HANDLE WINAPI OpenFileById(_In_ HANDLE, _In_ LPFILE_ID_DESCRIPTOR, _In_ DWORD, _In_ DWORD, _In_opt_ LPSECURITY_ATTRIBUTES, _In_ DWORD); 2643#endif 2644HANDLE WINAPI OpenFileMappingA(_In_ DWORD, _In_ BOOL, _In_ LPCSTR); 2645HANDLE WINAPI OpenFileMappingW(DWORD,BOOL,LPCWSTR); 2646_Ret_maybenull_ HANDLE WINAPI OpenMutexA(_In_ DWORD, _In_ BOOL, _In_ LPCSTR); 2647HANDLE WINAPI OpenMutexW(DWORD,BOOL,LPCWSTR); 2648HANDLE WINAPI OpenProcess(DWORD,BOOL,DWORD); 2649BOOL WINAPI OpenProcessToken(HANDLE,DWORD,PHANDLE); 2650_Ret_maybenull_ HANDLE WINAPI OpenSemaphoreA(_In_ DWORD, _In_ BOOL, _In_ LPCSTR); 2651HANDLE WINAPI OpenSemaphoreW(DWORD,BOOL,LPCWSTR); 2652#if (_WIN32_WINNT >= 0x0500) || (_WIN32_WINDOWS >= 0x0490) 2653HANDLE WINAPI OpenThread(DWORD,BOOL,DWORD); 2654#endif 2655BOOL WINAPI OpenThreadToken(HANDLE,DWORD,BOOL,PHANDLE); 2656_Ret_maybenull_ HANDLE WINAPI OpenWaitableTimerA(_In_ DWORD, _In_ BOOL, _In_ LPCSTR); 2657HANDLE WINAPI OpenWaitableTimerW(DWORD,BOOL,LPCWSTR); 2658WINBASEAPI void WINAPI OutputDebugStringA(LPCSTR); 2659WINBASEAPI void WINAPI OutputDebugStringW(LPCWSTR); 2660BOOL WINAPI PeekNamedPipe(HANDLE,PVOID,DWORD,PDWORD,PDWORD,PDWORD); 2661DWORD WINAPI PrepareTape(_In_ HANDLE, _In_ DWORD, _In_ BOOL); 2662BOOL WINAPI PrivilegeCheck (HANDLE,PPRIVILEGE_SET,PBOOL); 2663BOOL WINAPI PrivilegedServiceAuditAlarmA(_In_ LPCSTR, _In_ LPCSTR, _In_ HANDLE, _In_ PPRIVILEGE_SET, _In_ BOOL); 2664BOOL WINAPI PrivilegedServiceAuditAlarmW(LPCWSTR,LPCWSTR,HANDLE,PPRIVILEGE_SET,BOOL); 2665#if (_WIN32_WINNT >= 0x0500) 2666BOOL WINAPI ProcessIdToSessionId(DWORD,DWORD*); 2667#endif 2668BOOL WINAPI PulseEvent(HANDLE); 2669BOOL WINAPI PurgeComm(_In_ HANDLE, _In_ DWORD); 2670 2671#if (_WIN32_WINNT >= 0x0501) 2672BOOL 2673WINAPI 2674QueryActCtxW( 2675 _In_ DWORD dwFlags, 2676 _In_ HANDLE hActCtx, 2677 _In_opt_ PVOID pvSubInstance, 2678 _In_ ULONG ulInfoClass, 2679 _Out_writes_bytes_to_opt_(cbBuffer, *pcbWrittenOrRequired) PVOID pvBuffer, 2680 _In_ SIZE_T cbBuffer, 2681 _Out_opt_ SIZE_T *pcbWrittenOrRequired); 2682#endif 2683 2684DWORD 2685WINAPI 2686QueryDosDeviceA( 2687 _In_opt_ LPCSTR lpDeviceName, 2688 _Out_writes_to_opt_(ucchMax, return) LPSTR lpTargetPath, 2689 _In_ DWORD ucchMax); 2690 2691DWORD WINAPI QueryDosDeviceW(LPCWSTR,LPWSTR,DWORD); 2692#if (_WIN32_WINNT >= 0x0501) 2693BOOL WINAPI QueryMemoryResourceNotification(HANDLE,PBOOL); 2694#endif 2695BOOL WINAPI QueryPerformanceCounter(PLARGE_INTEGER); 2696BOOL WINAPI QueryPerformanceFrequency(PLARGE_INTEGER); 2697#if (_WIN32_WINNT >= 0x0600) 2698VOID WINAPI QuerySecurityAccessMask(SECURITY_INFORMATION,LPDWORD); 2699#endif 2700DWORD WINAPI QueueUserAPC(PAPCFUNC,HANDLE,ULONG_PTR); 2701#if (_WIN32_WINNT >= 0x0500) 2702BOOL WINAPI QueueUserWorkItem(LPTHREAD_START_ROUTINE,PVOID,ULONG); 2703#endif 2704void WINAPI RaiseException(DWORD,DWORD,DWORD,const ULONG_PTR*); 2705 2706BOOL 2707WINAPI 2708QueryInformationJobObject( 2709 _In_opt_ HANDLE hJob, 2710 _In_ JOBOBJECTINFOCLASS JobObjectInformationClass, 2711 _Out_writes_bytes_to_(cbJobObjectInformationLength, *lpReturnLength) LPVOID lpJobObjectInformation, 2712 _In_ DWORD cbJobObjectInformationLength, 2713 _Out_opt_ LPDWORD lpReturnLength); 2714 2715BOOL 2716WINAPI 2717ReadDirectoryChangesW( 2718 _In_ HANDLE hDirectory, 2719 _Out_writes_bytes_to_(nBufferLength, *lpBytesReturned) LPVOID lpBuffer, 2720 _In_ DWORD nBufferLength, 2721 _In_ BOOL bWatchSubtree, 2722 _In_ DWORD dwNotifyFilter, 2723 _Out_opt_ LPDWORD lpBytesReturned, 2724 _Inout_opt_ LPOVERLAPPED lpOverlapped, 2725 _In_opt_ LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine); 2726 2727BOOL 2728WINAPI 2729ReadEventLogA( 2730 _In_ HANDLE hEventLog, 2731 _In_ DWORD dwReadFlags, 2732 _In_ DWORD dwRecordOffset, 2733 _Out_writes_bytes_to_(nNumberOfBytesToRead, *pnBytesRead) LPVOID lpBuffer, 2734 _In_ DWORD nNumberOfBytesToRead, 2735 _Out_ DWORD *pnBytesRead, 2736 _Out_ DWORD *pnMinNumberOfBytesNeeded); 2737 2738BOOL 2739WINAPI 2740ReadEventLogW( 2741 _In_ HANDLE hEventLog, 2742 _In_ DWORD dwReadFlags, 2743 _In_ DWORD dwRecordOffset, 2744 _Out_writes_bytes_to_(nNumberOfBytesToRead, *pnBytesRead) LPVOID lpBuffer, 2745 _In_ DWORD nNumberOfBytesToRead, 2746 _Out_ DWORD *pnBytesRead, 2747 _Out_ DWORD *pnMinNumberOfBytesNeeded); 2748 2749BOOL WINAPI ReadFile(HANDLE,PVOID,DWORD,PDWORD,LPOVERLAPPED); 2750BOOL WINAPI ReadFileEx(HANDLE,PVOID,DWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE); 2751BOOL WINAPI ReadFileScatter(HANDLE,FILE_SEGMENT_ELEMENT*,DWORD,LPDWORD,LPOVERLAPPED); 2752BOOL WINAPI ReadProcessMemory(HANDLE,LPCVOID,LPVOID,SIZE_T,PSIZE_T); 2753#if (_WIN32_WINNT >= 0x0600) 2754VOID WINAPI RecoveryFinished(BOOL); 2755HRESULT WINAPI RecoveryInProgress(OUT PBOOL); 2756HRESULT WINAPI RegisterApplicationRecoveryCallback(_In_ APPLICATION_RECOVERY_CALLBACK, _In_opt_ PVOID, _In_ DWORD, _In_ DWORD); 2757HRESULT WINAPI RegisterApplicationRestart(_In_opt_ PCWSTR, _In_ DWORD); 2758#endif 2759HANDLE WINAPI RegisterEventSourceA(_In_opt_ LPCSTR, _In_ LPCSTR); 2760HANDLE WINAPI RegisterEventSourceW(_In_opt_ LPCWSTR, _In_ LPCWSTR); 2761#if (_WIN32_WINNT >= 0x0500) 2762BOOL WINAPI RegisterWaitForSingleObject(_Outptr_ PHANDLE, _In_ HANDLE, _In_ WAITORTIMERCALLBACK, _In_opt_ PVOID, _In_ ULONG, _In_ ULONG); 2763HANDLE WINAPI RegisterWaitForSingleObjectEx(HANDLE,WAITORTIMERCALLBACK,PVOID,ULONG,ULONG); 2764#endif 2765#if (_WIN32_WINNT >= 0x0501) 2766void WINAPI ReleaseActCtx(_Inout_ HANDLE); 2767#endif 2768BOOL WINAPI ReleaseMutex(HANDLE); 2769BOOL WINAPI ReleaseSemaphore(HANDLE,LONG,LPLONG); 2770#if (_WIN32_WINNT >= 0x0600) 2771VOID WINAPI ReleaseSRWLockExclusive(PSRWLOCK); 2772VOID WINAPI ReleaseSRWLockShared(PSRWLOCK); 2773#endif 2774BOOL WINAPI RemoveDirectoryA(LPCSTR); 2775BOOL WINAPI RemoveDirectoryW(LPCWSTR); 2776#if (_WIN32_WINNT >= 0x0500) 2777ULONG WINAPI RemoveVectoredExceptionHandler(_In_ PVOID); 2778ULONG WINAPI RemoveVectoredContinueHandler(_In_ PVOID); 2779#endif 2780#if (_WIN32_WINNT >= 0x0500) 2781BOOL WINAPI ReplaceFileA(_In_ LPCSTR, _In_ LPCSTR, _In_opt_ LPCSTR, _In_ DWORD, _Reserved_ LPVOID, _Reserved_ LPVOID); 2782BOOL WINAPI ReplaceFileW(_In_ LPCWSTR, _In_ LPCWSTR, _In_opt_ LPCWSTR, _In_ DWORD, _Reserved_ LPVOID, _Reserved_ LPVOID); 2783#endif 2784 2785BOOL 2786WINAPI 2787ReportEventA( 2788 _In_ HANDLE hEventLog, 2789 _In_ WORD wType, 2790 _In_ WORD wCategory, 2791 _In_ DWORD dwEventID, 2792 _In_opt_ PSID lpUserSid, 2793 _In_ WORD wNumStrings, 2794 _In_ DWORD dwDataSize, 2795 _In_reads_opt_(wNumStrings) LPCSTR *lpStrings, 2796 _In_reads_bytes_opt_(dwDataSize) LPVOID lpRawData); 2797 2798BOOL 2799WINAPI 2800ReportEventW( 2801 _In_ HANDLE hEventLog, 2802 _In_ WORD wType, 2803 _In_ WORD wCategory, 2804 _In_ DWORD dwEventID, 2805 _In_opt_ PSID lpUserSid, 2806 _In_ WORD wNumStrings, 2807 _In_ DWORD dwDataSize, 2808 _In_reads_opt_(wNumStrings) LPCWSTR *lpStrings, 2809 _In_reads_bytes_opt_(dwDataSize) LPVOID lpRawData); 2810 2811BOOL WINAPI ResetEvent(HANDLE); 2812UINT WINAPI ResetWriteWatch(LPVOID,SIZE_T); 2813#if (_WIN32_WINNT >= 0x0510) 2814VOID WINAPI RestoreLastError(_In_ DWORD); 2815#endif 2816DWORD WINAPI ResumeThread(HANDLE); 2817BOOL WINAPI RevertToSelf(void); 2818 2819_Success_(return != 0 && return < nBufferLength) 2820DWORD 2821WINAPI 2822SearchPathA( 2823 _In_opt_ LPCSTR lpPath, 2824 _In_ LPCSTR lpFileName, 2825 _In_opt_ LPCSTR lpExtension, 2826 _In_ DWORD nBufferLength, 2827 _Out_writes_to_opt_(nBufferLength, return + 1) LPSTR lpBuffer, 2828 _Out_opt_ LPSTR *lpFilePart); 2829 2830DWORD WINAPI 2831SearchPathW( 2832 _In_opt_ LPCWSTR lpPath, 2833 _In_ LPCWSTR lpFileName, 2834 _In_opt_ LPCWSTR lpExtension, 2835 _In_ DWORD nBufferLength, 2836 _Out_writes_to_opt_(nBufferLength, return +1) LPWSTR lpBuffer, 2837 _Out_opt_ LPWSTR *lpFilePart); 2838BOOL WINAPI SetAclInformation(PACL,PVOID,DWORD,ACL_INFORMATION_CLASS); 2839BOOL WINAPI SetCommBreak(_In_ HANDLE); 2840 2841BOOL 2842WINAPI 2843SetCommConfig( 2844 _In_ HANDLE hCommDev, 2845 _In_reads_bytes_(dwSize) LPCOMMCONFIG lpCC, 2846 _In_ DWORD dwSize); 2847 2848BOOL WINAPI SetCommMask(_In_ HANDLE, _In_ DWORD); 2849BOOL WINAPI SetCommState(_In_ HANDLE, _In_ LPDCB); 2850BOOL WINAPI SetCommTimeouts(_In_ HANDLE, _In_ LPCOMMTIMEOUTS); 2851BOOL WINAPI SetComputerNameA(_In_ LPCSTR); 2852BOOL WINAPI SetComputerNameW(_In_ LPCWSTR); 2853#if (_WIN32_WINNT >= 0x0500) 2854BOOL WINAPI SetComputerNameExA(_In_ COMPUTER_NAME_FORMAT, _In_ LPCSTR); 2855BOOL WINAPI SetComputerNameExW(COMPUTER_NAME_FORMAT,LPCWSTR); 2856#endif 2857BOOL WINAPI SetCurrentDirectoryA(LPCSTR); 2858BOOL WINAPI SetCurrentDirectoryW(LPCWSTR); 2859 2860BOOL 2861WINAPI 2862SetDefaultCommConfigA( 2863 _In_ LPCSTR lpszName, 2864 _In_reads_bytes_(dwSize) LPCOMMCONFIG lpCC, 2865 _In_ DWORD dwSize); 2866 2867BOOL 2868WINAPI 2869SetDefaultCommConfigW( 2870 _In_ LPCWSTR lpszName, 2871 _In_reads_bytes_(dwSize) LPCOMMCONFIG lpCC, 2872 _In_ DWORD dwSize); 2873 2874#if (_WIN32_WINNT >= 0x0502) 2875BOOL WINAPI SetDllDirectoryA(_In_opt_ LPCSTR); 2876BOOL WINAPI SetDllDirectoryW(_In_opt_ LPCWSTR); 2877#endif 2878BOOL WINAPI SetEndOfFile(HANDLE); 2879BOOL WINAPI SetEnvironmentVariableA(LPCSTR,LPCSTR); 2880BOOL WINAPI SetEnvironmentVariableW(LPCWSTR,LPCWSTR); 2881UINT WINAPI SetErrorMode(UINT); 2882BOOL WINAPI SetEvent(HANDLE); 2883VOID WINAPI SetFileApisToANSI(void); 2884VOID WINAPI SetFileApisToOEM(void); 2885BOOL WINAPI SetFileAttributesA(LPCSTR lpFileName, DWORD dwFileAttributes); 2886#if (_WIN32_WINNT >= 0x0600) 2887BOOL WINAPI SetFileAttributesByHandle(HANDLE,DWORD,DWORD); 2888#endif 2889BOOL WINAPI SetFileAttributesW(LPCWSTR lpFileName, DWORD dwFileAttributes); 2890#if (_WIN32_WINNT >= 0x0600) 2891BOOL WINAPI SetFileBandwidthReservation(_In_ HANDLE, _In_ DWORD, _In_ DWORD, _In_ BOOL, _Out_ LPDWORD, _Out_ LPDWORD); 2892BOOL WINAPI SetFileCompletionNotificationModes(_In_ HANDLE, _In_ UCHAR); 2893#endif 2894DWORD WINAPI SetFilePointer(HANDLE,LONG,PLONG,DWORD); 2895BOOL WINAPI SetFilePointerEx(HANDLE,LARGE_INTEGER,PLARGE_INTEGER,DWORD); 2896BOOL WINAPI SetFileSecurityA(_In_ LPCSTR, _In_ SECURITY_INFORMATION, _In_ PSECURITY_DESCRIPTOR); 2897BOOL WINAPI SetFileSecurityW(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR); 2898#if (_WIN32_WINNT >= 0x0501) 2899BOOL WINAPI SetFileShortNameA(_In_ HANDLE, _In_ LPCSTR); 2900BOOL WINAPI SetFileShortNameW(_In_ HANDLE, _In_ LPCWSTR); 2901#endif 2902BOOL WINAPI SetFileTime(HANDLE,const FILETIME*,const FILETIME*,const FILETIME*); 2903#if (_WIN32_WINNT >= 0x0501) 2904BOOL WINAPI SetFileValidData(HANDLE,LONGLONG); 2905#endif 2906 2907#if (_WIN32_WINNT >= 0x0502) 2908 2909WINBASEAPI 2910UINT 2911WINAPI 2912EnumSystemFirmwareTables( 2913 _In_ DWORD FirmwareTableProviderSignature, 2914 _Out_writes_bytes_to_opt_(BufferSize, return) PVOID pFirmwareTableEnumBuffer, 2915 _In_ DWORD BufferSize); 2916 2917WINBASEAPI 2918UINT 2919WINAPI 2920GetSystemFirmwareTable( 2921 _In_ DWORD FirmwareTableProviderSignature, 2922 _In_ DWORD FirmwareTableID, 2923 _Out_writes_bytes_to_opt_(BufferSize, return) PVOID pFirmwareTableBuffer, 2924 _In_ DWORD BufferSize); 2925 2926_Success_(return > 0) 2927WINBASEAPI 2928DWORD 2929WINAPI 2930GetFirmwareEnvironmentVariableA( 2931 _In_ LPCSTR lpName, 2932 _In_ LPCSTR lpGuid, 2933 _Out_writes_bytes_to_opt_(nSize, return) PVOID pBuffer, 2934 _In_ DWORD nSize); 2935 2936_Success_(return > 0) 2937WINBASEAPI 2938DWORD 2939WINAPI 2940GetFirmwareEnvironmentVariableW( 2941 _In_ LPCWSTR lpName, 2942 _In_ LPCWSTR lpGuid, 2943 _Out_writes_bytes_to_opt_(nSize, return) PVOID pBuffer, 2944 _In_ DWORD nSize); 2945 2946#ifdef UNICODE 2947#define GetFirmwareEnvironmentVariable GetFirmwareEnvironmentVariableW 2948#else 2949#define GetFirmwareEnvironmentVariable GetFirmwareEnvironmentVariableA 2950#endif 2951 2952WINBASEAPI 2953BOOL 2954WINAPI 2955SetFirmwareEnvironmentVariableA( 2956 _In_ LPCSTR lpName, 2957 _In_ LPCSTR lpGuid, 2958 _In_reads_bytes_opt_(nSize) PVOID pValue, 2959 _In_ DWORD nSize); 2960 2961WINBASEAPI 2962BOOL 2963WINAPI 2964SetFirmwareEnvironmentVariableW( 2965 _In_ LPCWSTR lpName, 2966 _In_ LPCWSTR lpGuid, 2967 _In_reads_bytes_opt_(nSize) PVOID pValue, 2968 _In_ DWORD nSize); 2969 2970#ifdef UNICODE 2971#define SetFirmwareEnvironmentVariable SetFirmwareEnvironmentVariableW 2972#else 2973#define SetFirmwareEnvironmentVariable SetFirmwareEnvironmentVariableA 2974#endif 2975 2976#endif /* _WIN32_WINNT >= 0x0502 */ 2977 2978#if (_WIN32_WINNT >= 0x0602) 2979 2980_Success_(return > 0) 2981WINBASEAPI 2982DWORD 2983WINAPI 2984GetFirmwareEnvironmentVariableExW( 2985 _In_ LPCWSTR lpName, 2986 _In_ LPCWSTR lpGuid, 2987 _Out_writes_bytes_to_opt_(nSize, return) PVOID pBuffer, 2988 _In_ DWORD nSize, 2989 _Out_opt_ PDWORD pdwAttribubutes); 2990 2991_Success_(return > 0) 2992WINBASEAPI 2993DWORD 2994WINAPI 2995GetFirmwareEnvironmentVariableExA( 2996 _In_ LPCSTR lpName, 2997 _In_ LPCSTR lpGuid, 2998 _Out_writes_bytes_to_opt_(nSize, return) PVOID pBuffer, 2999 _In_ DWORD nSize, 3000 _Out_opt_ PDWORD pdwAttribubutes); 3001 3002#ifdef UNICODE 3003#define GetFirmwareEnvironmentVariableEx GetFirmwareEnvironmentVariableExW 3004#else 3005#define GetFirmwareEnvironmentVariableEx GetFirmwareEnvironmentVariableExA 3006#endif 3007 3008WINBASEAPI 3009BOOL 3010WINAPI 3011SetFirmwareEnvironmentVariableExW( 3012 _In_ LPCWSTR lpName, 3013 _In_ LPCWSTR lpGuid, 3014 _In_reads_bytes_opt_(nSize) PVOID pValue, 3015 _In_ DWORD nSize, 3016 _In_ DWORD dwAttributes); 3017 3018WINBASEAPI 3019BOOL 3020WINAPI 3021SetFirmwareEnvironmentVariableExA( 3022 _In_ LPCSTR lpName, 3023 _In_ LPCSTR lpGuid, 3024 _In_reads_bytes_opt_(nSize) PVOID pValue, 3025 _In_ DWORD nSize, 3026 _In_ DWORD dwAttributes); 3027 3028#ifdef UNICODE 3029#define SetFirmwareEnvironmentVariableEx SetFirmwareEnvironmentVariableExW 3030#else 3031#define SetFirmwareEnvironmentVariableEx SetFirmwareEnvironmentVariableExA 3032#endif 3033 3034_Success_(return) 3035WINBASEAPI 3036BOOL 3037WINAPI 3038GetFirmwareType( 3039 _Out_ PFIRMWARE_TYPE FirmwareType); 3040 3041#endif /* _WIN32_WINNT >= 0x0602 */ 3042 3043UINT WINAPI SetHandleCount(UINT); 3044BOOL WINAPI SetHandleInformation(HANDLE,DWORD,DWORD); 3045 3046BOOL 3047WINAPI 3048SetInformationJobObject( 3049 _In_ HANDLE hJob, 3050 _In_ JOBOBJECTINFOCLASS JobObjectInformationClass, 3051 _In_reads_bytes_(cbJobObjectInformationLength) LPVOID lpJobObjectInformation, 3052 _In_ DWORD cbJobObjectInformationLength); 3053 3054BOOL WINAPI SetKernelObjectSecurity(HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR); 3055void WINAPI SetLastError(DWORD); 3056void WINAPI SetLastErrorEx(DWORD,DWORD); 3057BOOL WINAPI SetLocalTime(const SYSTEMTIME*); 3058BOOL WINAPI SetMailslotInfo(_In_ HANDLE, _In_ DWORD); 3059BOOL WINAPI SetNamedPipeHandleState(HANDLE,PDWORD,PDWORD,PDWORD); 3060BOOL WINAPI SetPriorityClass(HANDLE,DWORD); 3061BOOL WINAPI SetPrivateObjectSecurity(SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR *,PGENERIC_MAPPING,HANDLE); 3062BOOL WINAPI SetProcessAffinityMask(_In_ HANDLE, _In_ DWORD_PTR); 3063BOOL WINAPI SetProcessPriorityBoost(_In_ HANDLE, _In_ BOOL); 3064BOOL WINAPI SetProcessShutdownParameters(DWORD,DWORD); 3065BOOL WINAPI SetProcessWorkingSetSize(_In_ HANDLE, _In_ SIZE_T, _In_ SIZE_T); 3066#if (_WIN32_WINNT >= 0x0600) 3067VOID WINAPI SetSecurityAccessMask(SECURITY_INFORMATION,LPDWORD); 3068#endif 3069BOOL WINAPI SetSecurityDescriptorControl(PSECURITY_DESCRIPTOR,SECURITY_DESCRIPTOR_CONTROL,SECURITY_DESCRIPTOR_CONTROL); 3070BOOL WINAPI SetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR,BOOL,PACL,BOOL); 3071BOOL WINAPI SetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR,PSID,BOOL); 3072BOOL WINAPI SetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR,PSID,BOOL); 3073DWORD WINAPI SetSecurityDescriptorRMControl(PSECURITY_DESCRIPTOR,PUCHAR); 3074BOOL WINAPI SetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR,BOOL,PACL,BOOL); 3075BOOL WINAPI SetStdHandle(_In_ DWORD, _In_ HANDLE); 3076#define SetSwapAreaSize(w) (w) 3077BOOL WINAPI SetSystemPowerState(_In_ BOOL, _In_ BOOL); 3078BOOL WINAPI SetSystemTime(const SYSTEMTIME*); 3079BOOL WINAPI SetSystemTimeAdjustment(_In_ DWORD, _In_ BOOL); 3080DWORD WINAPI SetTapeParameters(_In_ HANDLE, _In_ DWORD, _In_ PVOID); 3081DWORD WINAPI SetTapePosition(_In_ HANDLE, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ BOOL); 3082DWORD_PTR WINAPI SetThreadAffinityMask(_In_ HANDLE, _In_ DWORD_PTR); 3083BOOL WINAPI SetThreadContext(HANDLE,const CONTEXT*); 3084DWORD WINAPI SetThreadIdealProcessor(_In_ HANDLE, _In_ DWORD); 3085BOOL WINAPI SetThreadPriority(HANDLE,int); 3086BOOL WINAPI SetThreadPriorityBoost(HANDLE,BOOL); 3087BOOL WINAPI SetThreadToken (PHANDLE,HANDLE); 3088BOOL WINAPI SetTimeZoneInformation(const TIME_ZONE_INFORMATION *); 3089BOOL WINAPI SetTokenInformation(HANDLE,TOKEN_INFORMATION_CLASS,PVOID,DWORD); 3090LPTOP_LEVEL_EXCEPTION_FILTER WINAPI SetUnhandledExceptionFilter(LPTOP_LEVEL_EXCEPTION_FILTER); 3091BOOL WINAPI SetupComm(_In_ HANDLE, _In_ DWORD, _In_ DWORD); 3092BOOL WINAPI SetVolumeLabelA(_In_opt_ LPCSTR, _In_opt_ LPCSTR); 3093BOOL WINAPI SetVolumeLabelW(_In_opt_ LPCWSTR, _In_opt_ LPCWSTR); 3094#if (_WIN32_WINNT >= 0x0500) 3095BOOL WINAPI SetVolumeMountPointA(_In_ LPCSTR, _In_ LPCSTR); 3096BOOL WINAPI SetVolumeMountPointW(_In_ LPCWSTR, _In_ LPCWSTR); 3097#endif 3098BOOL WINAPI SetWaitableTimer(HANDLE,const LARGE_INTEGER*,LONG,PTIMERAPCROUTINE,PVOID,BOOL); 3099DWORD WINAPI SignalObjectAndWait(_In_ HANDLE, _In_ HANDLE, _In_ DWORD, _In_ BOOL); 3100DWORD WINAPI SizeofResource(HINSTANCE,HRSRC); 3101WINBASEAPI void WINAPI Sleep(DWORD); 3102#if (_WIN32_WINNT >= 0x0600) 3103BOOL WINAPI SleepConditionVariableCS(PCONDITION_VARIABLE,PCRITICAL_SECTION,DWORD); 3104BOOL WINAPI SleepConditionVariableSRW(PCONDITION_VARIABLE,PSRWLOCK,DWORD,ULONG); 3105#endif 3106DWORD WINAPI SleepEx(DWORD,BOOL); 3107DWORD WINAPI SuspendThread(HANDLE); 3108void WINAPI SwitchToFiber(_In_ PVOID); 3109BOOL WINAPI SwitchToThread(void); 3110BOOL WINAPI SystemTimeToFileTime(const SYSTEMTIME*,LPFILETIME); 3111BOOL WINAPI SystemTimeToTzSpecificLocalTime(CONST TIME_ZONE_INFORMATION*,CONST SYSTEMTIME*,LPSYSTEMTIME); 3112BOOL WINAPI TerminateProcess(HANDLE hProcess, UINT uExitCode); 3113BOOL WINAPI TerminateThread(HANDLE hThread,DWORD dwExitCode); 3114DWORD WINAPI TlsAlloc(VOID); 3115BOOL WINAPI TlsFree(DWORD); 3116PVOID WINAPI TlsGetValue(DWORD); 3117BOOL WINAPI TlsSetValue(DWORD,PVOID); 3118BOOL WINAPI TransactNamedPipe(HANDLE,PVOID,DWORD,PVOID,DWORD,PDWORD,LPOVERLAPPED); 3119BOOL WINAPI TransmitCommChar(_In_ HANDLE, _In_ char); 3120BOOL WINAPI TryEnterCriticalSection(LPCRITICAL_SECTION); 3121BOOL WINAPI TzSpecificLocalTimeToSystemTime(LPTIME_ZONE_INFORMATION,LPSYSTEMTIME,LPSYSTEMTIME); 3122LONG WINAPI UnhandledExceptionFilter(LPEXCEPTION_POINTERS); 3123BOOL WINAPI UnlockFile(HANDLE,DWORD,DWORD,DWORD,DWORD); 3124BOOL WINAPI UnlockFileEx(HANDLE,DWORD,DWORD,DWORD,LPOVERLAPPED); 3125#define UnlockResource(handle) ((handle), 0) 3126#define UnlockSegment(w) GlobalUnfix((HANDLE)(w)) /* Obsolete: Has no effect. */ 3127BOOL WINAPI UnmapViewOfFile(LPCVOID); 3128#if (_WIN32_WINNT >= 0x0500) 3129_Must_inspect_result_ BOOL WINAPI UnregisterWait(_In_ HANDLE); 3130BOOL WINAPI UnregisterWaitEx(HANDLE,HANDLE); 3131#endif 3132 3133BOOL 3134WINAPI 3135UpdateResourceA( 3136 _In_ HANDLE hUpdate, 3137 _In_ LPCSTR lpType, 3138 _In_ LPCSTR lpName, 3139 _In_ WORD wLanguage, 3140 _In_reads_bytes_opt_(cb) LPVOID lpData, 3141 _In_ DWORD cb); 3142 3143BOOL 3144WINAPI 3145UpdateResourceW( 3146 _In_ HANDLE hUpdate, 3147 _In_ LPCWSTR lpType, 3148 _In_ LPCWSTR lpName, 3149 _In_ WORD wLanguage, 3150 _In_reads_bytes_opt_(cb) LPVOID lpData, 3151 _In_ DWORD cb); 3152 3153BOOL WINAPI VerifyVersionInfoA(_Inout_ LPOSVERSIONINFOEXA, _In_ DWORD, _In_ DWORDLONG); 3154BOOL WINAPI VerifyVersionInfoW(_Inout_ LPOSVERSIONINFOEXW, _In_ DWORD, _In_ DWORDLONG); 3155PVOID WINAPI VirtualAlloc(PVOID,SIZE_T,DWORD,DWORD); 3156PVOID WINAPI VirtualAllocEx(HANDLE,PVOID,SIZE_T,DWORD,DWORD); 3157BOOL WINAPI VirtualFree(PVOID,SIZE_T,DWORD); 3158BOOL WINAPI VirtualFreeEx(HANDLE,PVOID,SIZE_T,DWORD); 3159BOOL WINAPI VirtualLock(PVOID,SIZE_T); 3160BOOL WINAPI VirtualProtect(PVOID,SIZE_T,DWORD,PDWORD); 3161BOOL WINAPI VirtualProtectEx(HANDLE,PVOID,SIZE_T,DWORD,PDWORD); 3162SIZE_T WINAPI VirtualQuery(LPCVOID,PMEMORY_BASIC_INFORMATION,SIZE_T); 3163SIZE_T WINAPI VirtualQueryEx(HANDLE,LPCVOID,PMEMORY_BASIC_INFORMATION,SIZE_T); 3164BOOL WINAPI VirtualUnlock(PVOID,SIZE_T); 3165BOOL WINAPI WaitCommEvent(_In_ HANDLE, _Inout_ PDWORD, _Inout_opt_ LPOVERLAPPED); 3166BOOL WINAPI WaitForDebugEvent(LPDEBUG_EVENT,DWORD); 3167 3168DWORD 3169WINAPI 3170WaitForMultipleObjects( 3171 _In_ DWORD nCount, 3172 _In_reads_(nCount) CONST HANDLE *lpHandles, 3173 _In_ BOOL bWaitAll, 3174 _In_ DWORD dwMilliseconds); 3175 3176DWORD WINAPI WaitForMultipleObjectsEx(DWORD,const HANDLE*,BOOL,DWORD,BOOL); 3177DWORD WINAPI WaitForSingleObject(_In_ HANDLE hHandle, _In_ DWORD dwMilliseconds); 3178DWORD WINAPI WaitForSingleObjectEx(HANDLE,DWORD,BOOL); 3179BOOL WINAPI WaitNamedPipeA(_In_ LPCSTR, _In_ DWORD); 3180BOOL WINAPI WaitNamedPipeW(_In_ LPCWSTR, _In_ DWORD); 3181#if (_WIN32_WINNT >= 0x0600) 3182VOID WINAPI WakeConditionVariable(PCONDITION_VARIABLE); 3183VOID WINAPI WakeAllConditionVariable(PCONDITION_VARIABLE); 3184#endif 3185BOOL WINAPI WinLoadTrustProvider(GUID*); 3186BOOL WINAPI Wow64DisableWow64FsRedirection(PVOID*); 3187BOOLEAN WINAPI Wow64EnableWow64FsRedirection(_In_ BOOLEAN); 3188BOOL WINAPI Wow64RevertWow64FsRedirection(PVOID); 3189DWORD WINAPI WriteEncryptedFileRaw(_In_ PFE_IMPORT_FUNC, _In_opt_ PVOID, _In_ PVOID); 3190BOOL WINAPI WriteFile(HANDLE,LPCVOID,DWORD,LPDWORD,LPOVERLAPPED); 3191BOOL WINAPI WriteFileEx(HANDLE,LPCVOID,DWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE); 3192BOOL WINAPI WriteFileGather(HANDLE,FILE_SEGMENT_ELEMENT*,DWORD,LPDWORD,LPOVERLAPPED); 3193BOOL WINAPI WritePrivateProfileSectionA(_In_opt_ LPCSTR, _In_opt_ LPCSTR, _In_opt_ LPCSTR); 3194BOOL WINAPI WritePrivateProfileSectionW(_In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR); 3195BOOL WINAPI WritePrivateProfileStringA(_In_opt_ LPCSTR, _In_opt_ LPCSTR, _In_opt_ LPCSTR, _In_opt_ LPCSTR); 3196BOOL WINAPI WritePrivateProfileStringW(_In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR); 3197 3198BOOL 3199WINAPI 3200WritePrivateProfileStructA( 3201 _In_ LPCSTR lpszSection, 3202 _In_ LPCSTR lpszKey, 3203 _In_reads_bytes_opt_(uSizeStruct) LPVOID lpStruct, 3204 _In_ UINT uSizeStruct, 3205 _In_opt_ LPCSTR szFile); 3206 3207BOOL 3208WINAPI 3209WritePrivateProfileStructW( 3210 _In_ LPCWSTR lpszSection, 3211 _In_ LPCWSTR lpszKey, 3212 _In_reads_bytes_opt_(uSizeStruct) LPVOID lpStruct, 3213 _In_ UINT uSizeStruct, 3214 _In_opt_ LPCWSTR szFile); 3215 3216BOOL WINAPI WriteProcessMemory(HANDLE,LPVOID,LPCVOID,SIZE_T,SIZE_T*); 3217BOOL WINAPI WriteProfileSectionA(_In_ LPCSTR, _In_ LPCSTR); 3218BOOL WINAPI WriteProfileSectionW(_In_ LPCWSTR, _In_ LPCWSTR); 3219BOOL WINAPI WriteProfileStringA(_In_opt_ LPCSTR, _In_opt_ LPCSTR, _In_opt_ LPCSTR); 3220BOOL WINAPI WriteProfileStringW(_In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR); 3221DWORD WINAPI WriteTapemark(_In_ HANDLE, _In_ DWORD, _In_ DWORD, _In_ BOOL); 3222 3223#define Yield() 3224 3225#if (_WIN32_WINNT >= 0x0501) 3226DWORD WINAPI WTSGetActiveConsoleSessionId(VOID); 3227BOOL WINAPI ZombifyActCtx(_Inout_ HANDLE); 3228#endif 3229 3230#if (_WIN32_WINNT >= 0x0500) 3231 3232BOOL 3233WINAPI 3234AllocateUserPhysicalPages( 3235 _In_ HANDLE hProcess, 3236 _Inout_ PULONG_PTR NumberOfPages, 3237 _Out_writes_to_(*NumberOfPages, *NumberOfPages) PULONG_PTR PageArray); 3238 3239BOOL 3240WINAPI 3241FreeUserPhysicalPages( 3242 _In_ HANDLE hProcess, 3243 _Inout_ PULONG_PTR NumberOfPages, 3244 _In_reads_(*NumberOfPages) PULONG_PTR PageArray); 3245 3246BOOL 3247WINAPI 3248MapUserPhysicalPages( 3249 _In_ PVOID VirtualAddress, 3250 _In_ ULONG_PTR NumberOfPages, 3251 _In_reads_opt_(NumberOfPages) PULONG_PTR PageArray); 3252 3253BOOL 3254WINAPI 3255MapUserPhysicalPagesScatter( 3256 _In_reads_(NumberOfPages) PVOID *VirtualAddresses, 3257 _In_ ULONG_PTR NumberOfPages, 3258 _In_reads_opt_(NumberOfPages) PULONG_PTR PageArray); 3259 3260#endif 3261 3262#ifdef UNICODE 3263typedef HW_PROFILE_INFOW HW_PROFILE_INFO,*LPHW_PROFILE_INFO; 3264typedef ENUMRESLANGPROCW ENUMRESLANGPROC; 3265typedef ENUMRESNAMEPROCW ENUMRESNAMEPROC; 3266typedef ENUMRESTYPEPROCW ENUMRESTYPEPROC; 3267#if (_WIN32_WINNT >= 0x0501) 3268typedef ACTCTXW ACTCTX,*PACTCTX; 3269typedef PCACTCTXW PCACTCTX; 3270#endif 3271#define AccessCheckAndAuditAlarm AccessCheckAndAuditAlarmW 3272#define AddAtom AddAtomW 3273#define BackupEventLog BackupEventLogW 3274#define BeginUpdateResource BeginUpdateResourceW 3275#define BuildCommDCB BuildCommDCBW 3276#define BuildCommDCBAndTimeouts BuildCommDCBAndTimeoutsW 3277#define CallNamedPipe CallNamedPipeW 3278#if (_WIN32_WINNT >= 0x0501) 3279#define CheckNameLegalDOS8Dot3 CheckNameLegalDOS8Dot3W 3280#endif 3281#define ClearEventLog ClearEventLogW 3282#define CommConfigDialog CommConfigDialogW 3283#define CopyFile CopyFileW 3284#define CopyFileEx CopyFileExW 3285#if (_WIN32_WINNT >= 0x0501) 3286#define CreateActCtx CreateActCtxW 3287#endif 3288#define CreateDirectory CreateDirectoryW 3289#define CreateDirectoryEx CreateDirectoryExW 3290#define CreateEvent CreateEventW 3291#define CreateFile CreateFileW 3292#define CreateFileMapping CreateFileMappingW 3293#if (_WIN32_WINNT >= 0x0500) 3294#define CreateHardLink CreateHardLinkW 3295#define CreateJobObject CreateJobObjectW 3296#endif 3297#define CreateMailslot CreateMailslotW 3298#define CreateMutex CreateMutexW 3299#define CreateNamedPipe CreateNamedPipeW 3300#define CreateProcess CreateProcessW 3301#define CreateProcessAsUser CreateProcessAsUserW 3302#define CreateSemaphore CreateSemaphoreW 3303#define CreateWaitableTimer CreateWaitableTimerW 3304#define DecryptFile DecryptFileW 3305#define DefineDosDevice DefineDosDeviceW 3306#define DeleteFile DeleteFileW 3307#if (_WIN32_WINNT >= 0x0500) 3308#define DeleteVolumeMountPoint DeleteVolumeMountPointW 3309#define DnsHostnameToComputerName DnsHostnameToComputerNameW 3310#endif 3311#define EncryptFile EncryptFileW 3312#define EndUpdateResource EndUpdateResourceW 3313#define EnumResourceLanguages EnumResourceLanguagesW 3314#define EnumResourceNames EnumResourceNamesW 3315#define EnumResourceTypes EnumResourceTypesW 3316#define ExpandEnvironmentStrings ExpandEnvironmentStringsW 3317#define FatalAppExit FatalAppExitW 3318#define FileEncryptionStatus FileEncryptionStatusW 3319#if (_WIN32_WINNT >= 0x0501) 3320#define FindActCtxSectionString FindActCtxSectionStringW 3321#endif 3322#define FindAtom FindAtomW 3323#define FindFirstChangeNotification FindFirstChangeNotificationW 3324#define FindFirstFile FindFirstFileW 3325#define FindFirstFileEx FindFirstFileExW 3326#if (_WIN32_WINNT >= 0x0500) 3327#define FindFirstVolume FindFirstVolumeW 3328#define FindFirstVolumeMountPoint FindFirstVolumeMountPointW 3329#endif 3330#define FindNextFile FindNextFileW 3331#if (_WIN32_WINNT >= 0x0500) 3332#define FindNextVolume FindNextVolumeW 3333#define FindNextVolumeMountPoint FindNextVolumeMountPointW 3334#endif 3335#define FindResource FindResourceW 3336#define FindResourceEx FindResourceExW 3337#define FormatMessage FormatMessageW 3338#define FreeEnvironmentStrings FreeEnvironmentStringsW 3339#define GetAtomName GetAtomNameW 3340#define GetBinaryType GetBinaryTypeW 3341#define GetCommandLine GetCommandLineW 3342#define GetCompressedFileSize GetCompressedFileSizeW 3343#define GetComputerName GetComputerNameW 3344#if (_WIN32_WINNT >= 0x0500) 3345#define GetComputerNameEx GetComputerNameExW 3346#endif 3347#define GetCurrentDirectory GetCurrentDirectoryW 3348#define GetDefaultCommConfig GetDefaultCommConfigW 3349#define GetDiskFreeSpace GetDiskFreeSpaceW 3350#define GetDiskFreeSpaceEx GetDiskFreeSpaceExW 3351#if (_WIN32_WINNT >= 0x0502) 3352#define GetDllDirectory GetDllDirectoryW 3353#endif 3354#define GetDriveType GetDriveTypeW 3355#define GetEnvironmentStrings GetEnvironmentStringsW 3356#define GetEnvironmentVariable GetEnvironmentVariableW 3357#define GetFileAttributes GetFileAttributesW 3358#define GetFileAttributesEx GetFileAttributesExW 3359#define GetFileSecurity GetFileSecurityW 3360#if (_WIN32_WINNT >= 0x0600) 3361#define GetFinalPathNameByHandle GetFinalPathNameByHandleW 3362#endif 3363#define GetFullPathName GetFullPathNameW 3364#define GetLogicalDriveStrings GetLogicalDriveStringsW 3365#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410) 3366#define GetLongPathName GetLongPathNameW 3367#endif 3368#define GetModuleFileName GetModuleFileNameW 3369#define GetModuleHandle GetModuleHandleW 3370#if (_WIN32_WINNT >= 0x0500) 3371#define GetModuleHandleEx GetModuleHandleExW 3372#endif 3373#define GetNamedPipeHandleState GetNamedPipeHandleStateW 3374#define GetPrivateProfileInt GetPrivateProfileIntW 3375#define GetPrivateProfileSection GetPrivateProfileSectionW 3376#define GetPrivateProfileSectionNames GetPrivateProfileSectionNamesW 3377#define GetPrivateProfileString GetPrivateProfileStringW 3378#define GetPrivateProfileStruct GetPrivateProfileStructW 3379#define GetProfileInt GetProfileIntW 3380#define GetProfileSection GetProfileSectionW 3381#define GetProfileString GetProfileStringW 3382#define GetShortPathName GetShortPathNameW 3383#define GetStartupInfo GetStartupInfoW 3384#define GetSystemDirectory GetSystemDirectoryW 3385#if (_WIN32_WINNT >= 0x0500) 3386#define GetSystemWindowsDirectory GetSystemWindowsDirectoryW 3387#endif 3388#if (_WIN32_WINNT >= 0x0501) 3389#define GetSystemWow64Directory GetSystemWow64DirectoryW 3390#endif 3391#define GetTempFileName GetTempFileNameW 3392#define GetTempPath GetTempPathW 3393#define GetUserName GetUserNameW 3394#define GetVersionEx GetVersionExW 3395#define GetVolumeInformation GetVolumeInformationW 3396#define GetVolumeNameForVolumeMountPoint GetVolumeNameForVolumeMountPointW 3397#define GetVolumePathName GetVolumePathNameW 3398#define GetVolumePathNamesForVolumeName GetVolumePathNamesForVolumeNameW 3399#define GetWindowsDirectory GetWindowsDirectoryW 3400#define GlobalAddAtom GlobalAddAtomW 3401#define GlobalFindAtom GlobalFindAtomW 3402#define GlobalGetAtomName GlobalGetAtomNameW 3403#define IsBadStringPtr IsBadStringPtrW 3404#define LoadLibrary LoadLibraryW 3405#define LoadLibraryEx LoadLibraryExW 3406#define LogonUser LogonUserW 3407#define LogonUserEx LogonUserExW 3408#define LookupAccountName LookupAccountNameW 3409#define LookupAccountSid LookupAccountSidW 3410#define LookupPrivilegeDisplayName LookupPrivilegeDisplayNameW 3411#define LookupPrivilegeName LookupPrivilegeNameW 3412#define LookupPrivilegeValue LookupPrivilegeValueW 3413#define lstrcat lstrcatW 3414#define lstrcmp lstrcmpW 3415#define lstrcmpi lstrcmpiW 3416#define lstrcpy lstrcpyW 3417#define lstrcpyn lstrcpynW 3418#define lstrlen lstrlenW 3419#define MoveFile MoveFileW 3420#define MoveFileEx MoveFileExW 3421#define MoveFileWithProgress MoveFileWithProgressW 3422#define ObjectCloseAuditAlarm ObjectCloseAuditAlarmW 3423#define ObjectDeleteAuditAlarm ObjectDeleteAuditAlarmW 3424#define ObjectOpenAuditAlarm ObjectOpenAuditAlarmW 3425#define ObjectPrivilegeAuditAlarm ObjectPrivilegeAuditAlarmW 3426#define OpenBackupEventLog OpenBackupEventLogW 3427#define OpenEvent OpenEventW 3428#define OpenEventLog OpenEventLogW 3429#define OpenFileMapping OpenFileMappingW 3430#define OpenMutex OpenMutexW 3431#define OpenSemaphore OpenSemaphoreW 3432#define OutputDebugString OutputDebugStringW 3433#define PrivilegedServiceAuditAlarm PrivilegedServiceAuditAlarmW 3434#define QueryDosDevice QueryDosDeviceW 3435#define ReadEventLog ReadEventLogW 3436#define RegisterEventSource RegisterEventSourceW 3437#define RemoveDirectory RemoveDirectoryW 3438#if (_WIN32_WINNT >= 0x0500) 3439#define ReplaceFile ReplaceFileW 3440#endif 3441#define ReportEvent ReportEventW 3442#define SearchPath SearchPathW 3443#define SetComputerName SetComputerNameW 3444#define SetComputerNameEx SetComputerNameExW 3445#define SetCurrentDirectory SetCurrentDirectoryW 3446#define SetDefaultCommConfig SetDefaultCommConfigW 3447#if (_WIN32_WINNT >= 0x0502) 3448#define SetDllDirectory SetDllDirectoryW 3449#endif 3450#define SetEnvironmentVariable SetEnvironmentVariableW 3451#define SetFileAttributes SetFileAttributesW 3452#define SetFileSecurity SetFileSecurityW 3453#if (_WIN32_WINNT >= 0x0501) 3454#define SetFileShortName SetFileShortNameW 3455#endif 3456#if (_WIN32_WINNT >= 0x0502) 3457#define SetFirmwareEnvironmentVariable SetFirmwareEnvironmentVariableW 3458#endif 3459#define SetVolumeLabel SetVolumeLabelW 3460#define SetVolumeMountPoint SetVolumeMountPointW 3461#define UpdateResource UpdateResourceW 3462#define VerifyVersionInfo VerifyVersionInfoW 3463#define WaitNamedPipe WaitNamedPipeW 3464#define WritePrivateProfileSection WritePrivateProfileSectionW 3465#define WritePrivateProfileString WritePrivateProfileStringW 3466#define WritePrivateProfileStruct WritePrivateProfileStructW 3467#define WriteProfileSection WriteProfileSectionW 3468#define WriteProfileString WriteProfileStringW 3469#else 3470typedef HW_PROFILE_INFOA HW_PROFILE_INFO,*LPHW_PROFILE_INFO; 3471#if (_WIN32_WINNT >= 0x0501) 3472typedef ACTCTXA ACTCTX,*PACTCTX; 3473typedef PCACTCTXA PCACTCTX; 3474#endif 3475typedef ENUMRESLANGPROCA ENUMRESLANGPROC; 3476typedef ENUMRESNAMEPROCA ENUMRESNAMEPROC; 3477typedef ENUMRESTYPEPROCA ENUMRESTYPEPROC; 3478#define AccessCheckAndAuditAlarm AccessCheckAndAuditAlarmA 3479#define AddAtom AddAtomA 3480#define BackupEventLog BackupEventLogA 3481#define BeginUpdateResource BeginUpdateResourceA 3482#define BuildCommDCB BuildCommDCBA 3483#define BuildCommDCBAndTimeouts BuildCommDCBAndTimeoutsA 3484#define CallNamedPipe CallNamedPipeA 3485#if (_WIN32_WINNT >= 0x0501) 3486#define CheckNameLegalDOS8Dot3 CheckNameLegalDOS8Dot3A 3487#endif 3488#define ClearEventLog ClearEventLogA 3489#define CommConfigDialog CommConfigDialogA 3490#define CopyFile CopyFileA 3491#define CopyFileEx CopyFileExA 3492#if (_WIN32_WINNT >= 0x0501) 3493#define CreateActCtx CreateActCtxA 3494#endif 3495#define CreateDirectory CreateDirectoryA 3496#define CreateDirectoryEx CreateDirectoryExA 3497#define CreateEvent CreateEventA 3498#define CreateFile CreateFileA 3499#define CreateFileMapping CreateFileMappingA 3500#if (_WIN32_WINNT >= 0x0500) 3501#define CreateHardLink CreateHardLinkA 3502#define CreateJobObject CreateJobObjectA 3503#endif 3504#define CreateMailslot CreateMailslotA 3505#define CreateMutex CreateMutexA 3506#define CreateNamedPipe CreateNamedPipeA 3507#define CreateProcess CreateProcessA 3508#define CreateProcessAsUser CreateProcessAsUserA 3509#define CreateSemaphore CreateSemaphoreA 3510#define CreateWaitableTimer CreateWaitableTimerA 3511#define DecryptFile DecryptFileA 3512#define DefineDosDevice DefineDosDeviceA 3513#define DeleteFile DeleteFileA 3514#if (_WIN32_WINNT >= 0x0500) 3515#define DeleteVolumeMountPoint DeleteVolumeMountPointA 3516#define DnsHostnameToComputerName DnsHostnameToComputerNameA 3517#endif 3518#define EncryptFile EncryptFileA 3519#define EndUpdateResource EndUpdateResourceA 3520#define EnumResourceLanguages EnumResourceLanguagesA 3521#define EnumResourceNames EnumResourceNamesA 3522#define EnumResourceTypes EnumResourceTypesA 3523#define ExpandEnvironmentStrings ExpandEnvironmentStringsA 3524#define FatalAppExit FatalAppExitA 3525#define FileEncryptionStatus FileEncryptionStatusA 3526#if (_WIN32_WINNT >= 0x0501) 3527#define FindActCtxSectionString FindActCtxSectionStringA 3528#endif 3529#define FindAtom FindAtomA 3530#define FindFirstChangeNotification FindFirstChangeNotificationA 3531#define FindFirstFile FindFirstFileA 3532#define FindFirstFileEx FindFirstFileExA 3533#if (_WIN32_WINNT >= 0x0500) 3534#define FindFirstVolume FindFirstVolumeA 3535#define FindFirstVolumeMountPoint FindFirstVolumeMountPointA 3536#endif 3537#define FindNextFile FindNextFileA 3538#if (_WIN32_WINNT >= 0x0500) 3539#define FindNextVolume FindNextVolumeA 3540#define FindNextVolumeMountPoint FindNextVolumeMountPointA 3541#endif 3542#define FindResource FindResourceA 3543#define FindResourceEx FindResourceExA 3544#define FormatMessage FormatMessageA 3545#define FreeEnvironmentStrings FreeEnvironmentStringsA 3546#define GetAtomName GetAtomNameA 3547#define GetBinaryType GetBinaryTypeA 3548#define GetCommandLine GetCommandLineA 3549#define GetComputerName GetComputerNameA 3550#if (_WIN32_WINNT >= 0x0500) 3551#define GetComputerNameEx GetComputerNameExA 3552#endif 3553#define GetCompressedFileSize GetCompressedFileSizeA 3554#define GetCurrentDirectory GetCurrentDirectoryA 3555#define GetDefaultCommConfig GetDefaultCommConfigA 3556#define GetDiskFreeSpace GetDiskFreeSpaceA 3557#define GetDiskFreeSpaceEx GetDiskFreeSpaceExA 3558#if (_WIN32_WINNT >= 0x0502) 3559#define GetDllDirectory GetDllDirectoryA 3560#endif 3561#define GetDriveType GetDriveTypeA 3562#define GetEnvironmentStringsA GetEnvironmentStrings 3563#define GetEnvironmentVariable GetEnvironmentVariableA 3564#define GetFileAttributes GetFileAttributesA 3565#define GetFileAttributesEx GetFileAttributesExA 3566#define GetFileSecurity GetFileSecurityA 3567#if (_WIN32_WINNT >= 0x0600) 3568#define GetFinalPathNameByHandle GetFinalPathNameByHandleA 3569#endif 3570#define GetFullPathName GetFullPathNameA 3571#define GetLogicalDriveStrings GetLogicalDriveStringsA 3572#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410) 3573#define GetLongPathName GetLongPathNameA 3574#endif 3575#define GetNamedPipeHandleState GetNamedPipeHandleStateA 3576#define GetModuleHandle GetModuleHandleA 3577#if (_WIN32_WINNT >= 0x0500) 3578#define GetModuleHandleEx GetModuleHandleExA 3579#endif 3580#define GetModuleFileName GetModuleFileNameA 3581#define GetPrivateProfileInt GetPrivateProfileIntA 3582#define GetPrivateProfileSection GetPrivateProfileSectionA 3583#define GetPrivateProfileSectionNames GetPrivateProfileSectionNamesA 3584#define GetPrivateProfileString GetPrivateProfileStringA 3585#define GetPrivateProfileStruct GetPrivateProfileStructA 3586#define GetProfileInt GetProfileIntA 3587#define GetProfileSection GetProfileSectionA 3588#define GetProfileString GetProfileStringA 3589#define GetShortPathName GetShortPathNameA 3590#define GetStartupInfo GetStartupInfoA 3591#define GetSystemDirectory GetSystemDirectoryA 3592#if (_WIN32_WINNT >= 0x0500) 3593#define GetSystemWindowsDirectory GetSystemWindowsDirectoryA 3594#endif 3595#if (_WIN32_WINNT >= 0x0501) 3596#define GetSystemWow64Directory GetSystemWow64DirectoryA 3597#endif 3598#define GetTempFileName GetTempFileNameA 3599#define GetTempPath GetTempPathA 3600#define GetUserName GetUserNameA 3601#define GetVersionEx GetVersionExA 3602#define GetVolumeInformation GetVolumeInformationA 3603#define GetVolumeNameForVolumeMountPoint GetVolumeNameForVolumeMountPointA 3604#define GetVolumePathName GetVolumePathNameA 3605#define GetVolumePathNamesForVolumeName GetVolumePathNamesForVolumeNameA 3606#define GetWindowsDirectory GetWindowsDirectoryA 3607#define GlobalAddAtom GlobalAddAtomA 3608#define GlobalFindAtom GlobalFindAtomA 3609#define GlobalGetAtomName GlobalGetAtomNameA 3610#define IsBadStringPtr IsBadStringPtrA 3611#define LoadLibrary LoadLibraryA 3612#define LoadLibraryEx LoadLibraryExA 3613#define LogonUser LogonUserA 3614#define LogonUserEx LogonUserExA 3615#define LookupAccountName LookupAccountNameA 3616#define LookupAccountSid LookupAccountSidA 3617#define LookupPrivilegeDisplayName LookupPrivilegeDisplayNameA 3618#define LookupPrivilegeName LookupPrivilegeNameA 3619#define LookupPrivilegeValue LookupPrivilegeValueA 3620#define lstrcat lstrcatA 3621#define lstrcmp lstrcmpA 3622#define lstrcmpi lstrcmpiA 3623#define lstrcpy lstrcpyA 3624#define lstrcpyn lstrcpynA 3625#define lstrlen lstrlenA 3626#define MoveFile MoveFileA 3627#define MoveFileEx MoveFileExA 3628#define MoveFileWithProgress MoveFileWithProgressA 3629#define ObjectCloseAuditAlarm ObjectCloseAuditAlarmA 3630#define ObjectDeleteAuditAlarm ObjectDeleteAuditAlarmA 3631#define ObjectOpenAuditAlarm ObjectOpenAuditAlarmA 3632#define ObjectPrivilegeAuditAlarm ObjectPrivilegeAuditAlarmA 3633#define OpenBackupEventLog OpenBackupEventLogA 3634#define OpenEvent OpenEventA 3635#define OpenEventLog OpenEventLogA 3636#define OpenFileMapping OpenFileMappingA 3637#define OpenMutex OpenMutexA 3638#define OpenSemaphore OpenSemaphoreA 3639#define OutputDebugString OutputDebugStringA 3640#define PrivilegedServiceAuditAlarm PrivilegedServiceAuditAlarmA 3641#define QueryDosDevice QueryDosDeviceA 3642#define ReadEventLog ReadEventLogA 3643#define RegisterEventSource RegisterEventSourceA 3644#define RemoveDirectory RemoveDirectoryA 3645#if (_WIN32_WINNT >= 0x0500) 3646#define ReplaceFile ReplaceFileA 3647#endif 3648#define ReportEvent ReportEventA 3649#define SearchPath SearchPathA 3650#define SetComputerName SetComputerNameA 3651#define SetComputerNameEx SetComputerNameExA 3652#define SetCurrentDirectory SetCurrentDirectoryA 3653#define SetDefaultCommConfig SetDefaultCommConfigA 3654#if (_WIN32_WINNT >= 0x0502) 3655#define SetDllDirectory SetDllDirectoryA 3656#endif 3657#define SetEnvironmentVariable SetEnvironmentVariableA 3658#define SetFileAttributes SetFileAttributesA 3659#define SetFileSecurity SetFileSecurityA 3660#if (_WIN32_WINNT >= 0x0501) 3661#define SetFileShortName SetFileShortNameA 3662#endif 3663#if (_WIN32_WINNT >= 0x0502) 3664#define SetFirmwareEnvironmentVariable SetFirmwareEnvironmentVariableA 3665#endif 3666#define SetVolumeLabel SetVolumeLabelA 3667#define SetVolumeMountPoint SetVolumeMountPointA 3668#define UpdateResource UpdateResourceA 3669#define VerifyVersionInfo VerifyVersionInfoA 3670#define WaitNamedPipe WaitNamedPipeA 3671#define WritePrivateProfileSection WritePrivateProfileSectionA 3672#define WritePrivateProfileString WritePrivateProfileStringA 3673#define WritePrivateProfileStruct WritePrivateProfileStructA 3674#define WriteProfileSection WriteProfileSectionA 3675#define WriteProfileString WriteProfileStringA 3676#endif 3677#endif 3678 3679/* one-time initialisation API */ 3680typedef RTL_RUN_ONCE INIT_ONCE; 3681typedef PRTL_RUN_ONCE PINIT_ONCE; 3682typedef PRTL_RUN_ONCE LPINIT_ONCE; 3683 3684#define INIT_ONCE_CHECK_ONLY RTL_RUN_ONCE_CHECK_ONLY 3685#define INIT_ONCE_ASYNC RTL_RUN_ONCE_ASYNC 3686#define INIT_ONCE_INIT_FAILED RTL_RUN_ONCE_INIT_FAILED 3687 3688#define INIT_ONCE_CTX_RESERVED_BITS RTL_RUN_ONCE_CTX_RESERVED_BITS 3689 3690typedef BOOL 3691(WINAPI *PINIT_ONCE_FN)( 3692 _Inout_ PINIT_ONCE InitOnce, 3693 _Inout_opt_ PVOID Parameter, 3694 _Outptr_opt_result_maybenull_ PVOID *Context); 3695 3696#if _WIN32_WINNT >= 0x0601 3697 3698#define COPYFILE2_MESSAGE_COPY_OFFLOAD 0x00000001L 3699 3700typedef enum _COPYFILE2_MESSAGE_TYPE { 3701 COPYFILE2_CALLBACK_NONE = 0, 3702 COPYFILE2_CALLBACK_CHUNK_STARTED, 3703 COPYFILE2_CALLBACK_CHUNK_FINISHED, 3704 COPYFILE2_CALLBACK_STREAM_STARTED, 3705 COPYFILE2_CALLBACK_STREAM_FINISHED, 3706 COPYFILE2_CALLBACK_POLL_CONTINUE, 3707 COPYFILE2_CALLBACK_ERROR, 3708 COPYFILE2_CALLBACK_MAX, 3709} COPYFILE2_MESSAGE_TYPE; 3710 3711typedef enum _COPYFILE2_MESSAGE_ACTION { 3712 COPYFILE2_PROGRESS_CONTINUE = 0, 3713 COPYFILE2_PROGRESS_CANCEL, 3714 COPYFILE2_PROGRESS_STOP, 3715 COPYFILE2_PROGRESS_QUIET, 3716 COPYFILE2_PROGRESS_PAUSE, 3717} COPYFILE2_MESSAGE_ACTION; 3718 3719typedef enum _COPYFILE2_COPY_PHASE { 3720 COPYFILE2_PHASE_NONE = 0, 3721 COPYFILE2_PHASE_PREPARE_SOURCE, 3722 COPYFILE2_PHASE_PREPARE_DEST, 3723 COPYFILE2_PHASE_READ_SOURCE, 3724 COPYFILE2_PHASE_WRITE_DESTINATION, 3725 COPYFILE2_PHASE_SERVER_COPY, 3726 COPYFILE2_PHASE_NAMEGRAFT_COPY, 3727 COPYFILE2_PHASE_MAX, 3728} COPYFILE2_COPY_PHASE; 3729 3730typedef struct COPYFILE2_MESSAGE { 3731 COPYFILE2_MESSAGE_TYPE Type; 3732 DWORD dwPadding; 3733 union { 3734 struct { 3735 DWORD dwStreamNumber; 3736 DWORD dwReserved; 3737 HANDLE hSourceFile; 3738 HANDLE hDestinationFile; 3739 ULARGE_INTEGER uliChunkNumber; 3740 ULARGE_INTEGER uliChunkSize; 3741 ULARGE_INTEGER uliStreamSize; 3742 ULARGE_INTEGER uliTotalFileSize; 3743 } ChunkStarted; 3744 struct { 3745 DWORD dwStreamNumber; 3746 DWORD dwFlags; 3747 HANDLE hSourceFile; 3748 HANDLE hDestinationFile; 3749 ULARGE_INTEGER uliChunkNumber; 3750 ULARGE_INTEGER uliChunkSize; 3751 ULARGE_INTEGER uliStreamSize; 3752 ULARGE_INTEGER uliStreamBytesTransferred; 3753 ULARGE_INTEGER uliTotalFileSize; 3754 ULARGE_INTEGER uliTotalBytesTransferred; 3755 } ChunkFinished; 3756 struct { 3757 DWORD dwStreamNumber; 3758 DWORD dwReserved; 3759 HANDLE hSourceFile; 3760 HANDLE hDestinationFile; 3761 ULARGE_INTEGER uliStreamSize; 3762 ULARGE_INTEGER uliTotalFileSize; 3763 } StreamStarted; 3764 struct { 3765 DWORD dwStreamNumber; 3766 DWORD dwReserved; 3767 HANDLE hSourceFile; 3768 HANDLE hDestinationFile; 3769 ULARGE_INTEGER uliStreamSize; 3770 ULARGE_INTEGER uliStreamBytesTransferred; 3771 ULARGE_INTEGER uliTotalFileSize; 3772 ULARGE_INTEGER uliTotalBytesTransferred; 3773 } StreamFinished; 3774 struct { 3775 DWORD dwReserved; 3776 } PollContinue; 3777 struct { 3778 COPYFILE2_COPY_PHASE CopyPhase; 3779 DWORD dwStreamNumber; 3780 HRESULT hrFailure; 3781 DWORD dwReserved; 3782 ULARGE_INTEGER uliChunkNumber; 3783 ULARGE_INTEGER uliStreamSize; 3784 ULARGE_INTEGER uliStreamBytesTransferred; 3785 ULARGE_INTEGER uliTotalFileSize; 3786 ULARGE_INTEGER uliTotalBytesTransferred; 3787 } Error; 3788 } Info; 3789} COPYFILE2_MESSAGE; 3790 3791typedef COPYFILE2_MESSAGE_ACTION 3792(CALLBACK *PCOPYFILE2_PROGRESS_ROUTINE)( 3793 _In_ const COPYFILE2_MESSAGE *pMessage, 3794 _In_opt_ PVOID pvCallbackContext); 3795 3796typedef struct COPYFILE2_EXTENDED_PARAMETERS { 3797 DWORD dwSize; 3798 DWORD dwCopyFlags; 3799 BOOL *pfCancel; 3800 PCOPYFILE2_PROGRESS_ROUTINE pProgressRoutine; 3801 PVOID pvCallbackContext; 3802} COPYFILE2_EXTENDED_PARAMETERS; 3803 3804WINBASEAPI 3805HRESULT 3806WINAPI 3807CopyFile2( 3808 _In_ PCWSTR pwszExistingFileName, 3809 _In_ PCWSTR pwszNewFileName, 3810 _In_opt_ COPYFILE2_EXTENDED_PARAMETERS *pExtendedParameters); 3811 3812#endif /* _WIN32_WINNT >= 0x0601 */ 3813 3814#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA) || (DLL_EXPORT_VERSION >= _WIN32_WINNT_VISTA) 3815 3816WINBASEAPI 3817VOID 3818WINAPI 3819InitOnceInitialize( 3820 _Out_ PINIT_ONCE InitOnce); 3821 3822WINBASEAPI 3823BOOL 3824WINAPI 3825InitOnceBeginInitialize( 3826 _Inout_ LPINIT_ONCE lpInitOnce, 3827 _In_ DWORD dwFlags, 3828 _Out_ PBOOL fPending, 3829 _Outptr_opt_result_maybenull_ LPVOID *lpContext); 3830 3831WINBASEAPI 3832BOOL 3833WINAPI 3834InitOnceComplete( 3835 _Inout_ LPINIT_ONCE lpInitOnce, 3836 _In_ DWORD dwFlags, 3837 _In_opt_ LPVOID lpContext); 3838 3839#endif /* (_WIN32_WINNT >= _WIN32_WINNT_VISTA) || (DLL_EXPORT_VERSION >= _WIN32_WINNT_VISTA) */ 3840 3841WINBASEAPI 3842BOOL 3843WINAPI 3844InitOnceExecuteOnce( 3845 _Inout_ PINIT_ONCE InitOnce, 3846 _In_ __callback PINIT_ONCE_FN InitFn, 3847 _Inout_opt_ PVOID Parameter, 3848 _Outptr_opt_result_maybenull_ LPVOID *Context); 3849 3850typedef VOID (NTAPI *PTP_WIN32_IO_CALLBACK)(PTP_CALLBACK_INSTANCE,PVOID,PVOID,ULONG,ULONG_PTR,PTP_IO); 3851 3852#if defined(_SLIST_HEADER_) && !defined(_NTOS_) && !defined(_NTOSP_) 3853 3854WINBASEAPI 3855VOID 3856WINAPI 3857InitializeSListHead( 3858 _Out_ PSLIST_HEADER ListHead); 3859 3860WINBASEAPI 3861PSLIST_ENTRY 3862WINAPI 3863InterlockedPopEntrySList( 3864 _Inout_ PSLIST_HEADER ListHead); 3865 3866WINBASEAPI 3867PSLIST_ENTRY 3868WINAPI 3869InterlockedPushEntrySList( 3870 _Inout_ PSLIST_HEADER ListHead, 3871 _Inout_ PSLIST_ENTRY ListEntry); 3872 3873WINBASEAPI 3874PSLIST_ENTRY 3875WINAPI 3876InterlockedFlushSList( 3877 _Inout_ PSLIST_HEADER ListHead); 3878 3879WINBASEAPI 3880USHORT 3881WINAPI 3882QueryDepthSList( 3883 _In_ PSLIST_HEADER ListHead); 3884 3885#endif /* _SLIST_HEADER_ */ 3886 3887#ifdef __WINESRC__ 3888/* Wine specific. Basically MultiByteToWideChar for us. */ 3889WCHAR * CDECL wine_get_dos_file_name(LPCSTR str); 3890#endif 3891 3892#ifdef _MSC_VER 3893#pragma warning(pop) 3894#endif 3895 3896#ifdef __cplusplus 3897} 3898#endif 3899 3900#include <synchapi.h> 3901#include <processthreadsapi.h> 3902 3903#endif /* _WINBASE_ */