Reactos
at master 2693 lines 113 kB view raw
1#ifndef _SETUPAPI_H_ 2#define _SETUPAPI_H_ 3 4#include <commctrl.h> 5#if defined(_WIN64) 6#include <pshpack8.h> 7#else 8#include <pshpack1.h> 9#endif 10#ifdef __cplusplus 11extern "C" { 12#endif 13 14#ifndef _SETUPAPI_ 15#define WINSETUPAPI DECLSPEC_IMPORT 16#else 17#define WINSETUPAPI 18#endif 19 20#define LINE_LEN 256 21#define MAX_INF_STRING_LENGTH 4096 22#define MAX_TITLE_LEN 60 23#define MAX_INSTRUCTION_LEN 256 24#define MAX_LABEL_LEN 30 25#define MAX_SERVICE_NAME_LEN 256 26#define MAX_SUBTITLE_LEN 256 27#define SP_MAX_MACHINENAME_LENGTH (MAX_PATH + 3) 28 29#define COPYFLG_WARN_IF_SKIP 0x00000001 30#define COPYFLG_NOSKIP 0x00000002 31#define COPYFLG_NOVERSIONCHECK 0x00000004 32#define COPYFLG_FORCE_FILE_IN_USE 0x00000008 33#define COPYFLG_NO_OVERWRITE 0x00000010 34#define COPYFLG_NO_VERSION_DIALOG 0x00000020 35#define COPYFLG_OVERWRITE_OLDER_ONLY 0x00000040 36#define COPYFLG_REPLACEONLY 0x00000400 37#define COPYFLG_NODECOMP 0x00000800 38#define COPYFLG_REPLACE_BOOT_FILE 0x00001000 39#define COPYFLG_NOPRUNE 0x00002000 40#define DELFLG_IN_USE 0x00000001 41#define DELFLG_IN_USE1 0x00010000 42#define DI_REMOVEDEVICE_GLOBAL 0x00000001 43#define DI_REMOVEDEVICE_CONFIGSPECIFIC 0x00000002 44#define DI_UNREMOVEDEVICE_CONFIGSPECIFIC 0x00000002 45#define DI_SHOWOEM 0x00000001 46#define DI_SHOWCOMPAT 0x00000002 47#define DI_SHOWCLASS 0x00000004 48#define DI_SHOWALL 0x00000007 49#define DI_NOVCP 0x00000008 50#define DI_DIDCOMPAT 0x00000010 51#define DI_DIDCLASS 0x00000020 52#define DI_AUTOASSIGNRES 0x00000040 53#define DI_NEEDRESTART 0x00000080 54#define DI_NEEDREBOOT 0x00000100 55#define DI_NOBROWSE 0x00000200 56#define DI_MULTMFGS 0x00000400 57#define DI_DISABLED 0x00000800 58#define DI_GENERALPAGE_ADDED 0x00001000 59#define DI_RESOURCEPAGE_ADDED 0x00002000 60#define DI_PROPERTIES_CHANGE 0x00004000 61#define DI_INF_IS_SORTED 0x00008000 62#define DI_ENUMSINGLEINF 0x00010000 63#define DI_DONOTCALLCONFIGMG 0x00020000 64#define DI_INSTALLDISABLED 0x00040000 65#define DI_COMPAT_FROM_CLASS 0x00080000 66#define DI_CLASSINSTALLPARAMS 0x00100000 67#define DI_NODI_DEFAULTACTION 0x00200000 68#define DI_QUIETINSTALL 0x00800000 69#define DI_NOFILECOPY 0x01000000 70#define DI_FORCECOPY 0x02000000 71#define DI_DRIVERPAGE_ADDED 0x04000000 72#define DI_USECI_SELECTSTRINGS 0x08000000 73#define DI_OVERRIDE_INFFLAGS 0x10000000 74#define DI_PROPS_NOCHANGEUSAGE 0x20000000 75#define DI_NOSELECTICONS 0x40000000 76#define DI_NOWRITE_IDS 0x80000000 77#define DI_FLAGSEX_USEOLDINFSEARCH 0x00000001 78#define DI_FLAGSEX_AUTOSELECTRANK0 0x00000002 79#define DI_FLAGSEX_CI_FAILED 0x00000004 80#define DI_FLAGSEX_DIDINFOLIST 0x00000010 81#define DI_FLAGSEX_DIDCOMPATINFO 0x00000020 82#define DI_FLAGSEX_FILTERCLASSES 0x00000040 83#define DI_FLAGSEX_SETFAILEDINSTALL 0x00000080 84#define DI_FLAGSEX_DEVICECHANGE 0x00000100 85#define DI_FLAGSEX_ALWAYSWRITEIDS 0x00000200 86#define DI_FLAGSEX_PROPCHANGE_PENDING 0x00000400 87#define DI_FLAGSEX_ALLOWEXCLUDEDDRVS 0x00000800 88#define DI_FLAGSEX_NOUIONQUERYREMOVE 0x00001000 89#define DI_FLAGSEX_USECLASSFORCOMPAT 0x00002000 90#define DI_FLAGSEX_OLDINF_IN_CLASSLIST 0x00004000 91#define DI_FLAGSEX_NO_DRVREG_MODIFY 0x00008000 92#define DI_FLAGSEX_IN_SYSTEM_SETUP 0x00010000 93#define DI_FLAGSEX_INET_DRIVER 0x00020000 94#define DI_FLAGSEX_APPENDDRIVERLIST 0x00040000 95#define DI_FLAGSEX_PREINSTALLBACKUP 0x00080000 96#define DI_FLAGSEX_BACKUPONREPLACE 0x00100000 97#define DI_FLAGSEX_DRIVERLIST_FROM_URL 0x00200000 98#define DI_FLAGSEX_RESERVED1 0x00400000 99#define DI_FLAGSEX_EXCLUDE_OLD_INET_DRIVERS 0x00800000 100#define DI_FLAGSEX_POWERPAGE_ADDED 0x01000000 101#if (_SETUPAPI_VER >= 0x0501) 102#define DI_FLAGSEX_FILTERSIMILARDRIVERS 0x02000000 103#define DI_FLAGSEX_INSTALLEDDRIVER 0x04000000 104#define DI_FLAGSEX_NO_CLASSLIST_NODE_MERGE 0x08000000 105#define DI_FLAGSEX_ALTPLATFORM_DRVSEARCH 0x10000000 106#define DI_FLAGSEX_RESTART_DEVICE_ONLY 0x20000000 107#endif 108#define DIBCI_NOINSTALLCLASS 0x00000001 109#define DIBCI_NODISPLAYCLASS 0x00000002 110#define DICD_GENERATE_ID 0x00000001 111#define DICD_INHERIT_CLASSDRVS 0x00000002 112#define DICS_ENABLE 1 113#define DICS_FLAG_GLOBAL 1 114#define DICS_DISABLE 2 115#define DICS_FLAG_CONFIGSPECIFIC 2 116#define DICS_PROPCHANGE 3 117#define DICS_START 4 118#define DICS_FLAG_CONFIGGENERAL 4 119#define DICS_STOP 5 120#define DICUSTOMDEVPROP_MERGE_MULTISZ 0x00000001 121#define DIF_SELECTDEVICE 1 122#define DIF_INSTALLDEVICE 2 123#define DIF_ASSIGNRESOURCES 3 124#define DIF_PROPERTIES 4 125#define DIF_REMOVE 5 126#define DIF_FIRSTTIMESETUP 6 127#define DIF_FOUNDDEVICE 7 128#define DIF_SELECTCLASSDRIVERS 8 129#define DIF_VALIDATECLASSDRIVERS 9 130#define DIF_INSTALLCLASSDRIVERS 10 131#define DIF_CALCDISKSPACE 11 132#define DIF_DESTROYPRIVATEDATA 12 133#define DIF_VALIDATEDRIVER 13 134#define DIF_MOVEDEVICE 14 135#define DIF_DETECT 15 136#define DIF_INSTALLWIZARD 16 137#define DIF_DESTROYWIZARDDATA 17 138#define DIF_PROPERTYCHANGE 18 139#define DIF_ENABLECLASS 19 140#define DIF_DETECTVERIFY 20 141#define DIF_INSTALLDEVICEFILES 21 142#define DIF_UNREMOVE 22 143#define DIF_SELECTBESTCOMPATDRV 23 144#define DIF_ALLOW_INSTALL 24 145#define DIF_REGISTERDEVICE 25 146#define DIF_NEWDEVICEWIZARD_PRESELECT 26 147#define DIF_NEWDEVICEWIZARD_SELECT 27 148#define DIF_NEWDEVICEWIZARD_PREANALYZE 28 149#define DIF_NEWDEVICEWIZARD_POSTANALYZE 29 150#define DIF_NEWDEVICEWIZARD_FINISHINSTALL 30 151#define DIF_UNUSED1 31 152#define DIF_INSTALLINTERFACES 32 153#define DIF_DETECTCANCEL 33 154#define DIF_REGISTER_COINSTALLERS 34 155#define DIF_ADDPROPERTYPAGE_ADVANCED 35 156#define DIF_ADDPROPERTYPAGE_BASIC 36 157#define DIF_RESERVED1 37 158#define DIF_TROUBLESHOOTER 38 159#define DIF_POWERMESSAGEWAKE 39 160#define DIF_ADDREMOTEPROPERTYPAGE_ADVANCED 40 161#define DIF_UPDATEDRIVER_UI 41 162#define DIF_FINISHINSTALL_ACTION 42 163#define DIF_RESERVED2 48 164 165#define DIGCDP_FLAG_BASIC 0x00000001 166#define DIGCDP_FLAG_ADVANCED 0x00000002 167#if (_SETUPAPI_VER >= 0x0501) 168#define DIGCDP_FLAG_REMOTE_BASIC 0x00000003 169#define DIGCDP_FLAG_REMOTE_ADVANCED 0x00000004 170#endif 171#define DIGCF_DEFAULT 0x00000001 172#define DIGCF_PRESENT 0x00000002 173#define DIGCF_ALLCLASSES 0x00000004 174#define DIGCF_PROFILE 0x00000008 175#define DIGCF_DEVICEINTERFACE 0x00000010 176#define DIGCF_INTERFACEDEVICE 0x00000010 177#define DIOCR_INSTALLER 0x00000001 178#define DIOCR_INTERFACE 0x00000002 179#define DIODI_NO_ADD 0x00000001 180#define DIOD_INHERIT_CLASSDRVS 0x00000002 181#define DIOD_CANCEL_REMOVE 0x00000004 182#define DIREG_DEV 0x00000001 183#define DIREG_DRV 0x00000002 184#define DIREG_BOTH 0x00000004 185#define DIRID_ABSOLUTE -1 186#define DIRID_NULL 0 187#define DIRID_SRCPATH 1 188#define DIRID_WINDOWS 10 189#define DIRID_SYSTEM 11 190#define DIRID_DRIVERS 12 191#define DIRID_INF 17 192#define DIRID_HELP 18 193#define DIRID_FONTS 20 194#define DIRID_VIEWERS 21 195#define DIRID_COLOR 23 196#define DIRID_APPS 24 197#define DIRID_SHARED 25 198#define DIRID_BOOT 30 199#define DIRID_SYSTEM16 50 200#define DIRID_SPOOL 51 201#define DIRID_SPOOLDRIVERS 52 202#define DIRID_USERPROFILE 53 203#define DIRID_LOADER 54 204#define DIRID_PRINTPROCESSOR 55 205#define DIRID_COMMON_STARTMENU 16406 206#define DIRID_COMMON_PROGRAMS 16407 207#define DIRID_COMMON_STARTUP 16408 208#define DIRID_COMMON_DESKTOPDIRECTORY 16409 209#define DIRID_COMMON_FAVORITES 16415 210#define DIRID_COMMON_APPDATA 16419 211#define DIRID_PROGRAM_FILES 16422 212#define DIRID_SYSTEM_X86 16425 213#define DIRID_PROGRAM_FILES_X86 16426 214#define DIRID_PROGRAM_FILES_COMMON 16427 215#define DIRID_PROGRAM_FILES_COMMONX86 16428 216#define DIRID_COMMON_TEMPLATES 16429 217#define DIRID_COMMON_DOCUMENTS 16430 218#define DIRID_USER 0x8000 219#define DIRID_ABSOLUTE_16BIT 0xffff 220#define DIRID_IOSUBSYS DIRID_DRIVERS 221#define DIRID_DEFAULT DIRID_SYSTEM 222#define DMI_MASK 0x00000001 223#define DMI_BKCOLOR 0x00000002 224#define DMI_USERECT 0x00000004 225#define DN_ROOT_ENUMERATED 0x00000001 226#define DN_DRIVER_LOADED 0x00000002 227#define DN_ENUM_LOADED 0x00000004 228#define DN_STARTED 0x00000008 229#define DN_MANUAL 0x00000010 230#define DN_NEED_TO_ENUM 0x00000020 231#define DN_NOT_FIRST_TIME 0x00000040 232#define DN_HARDWARE_ENUM 0x00000080 233#define DN_LIAR 0x00000100 234#define DN_HAS_MARK 0x00000200 235#define DN_HAS_PROBLEM 0x00000400 236#define DN_FILTERED 0x00000800 237#define DN_MOVED 0x00001000 238#define DN_DISABLEABLE 0x00002000 239#define DN_REMOVABLE 0x00004000 240#define DN_PRIVATE_PROBLEM 0x00008000 241#define DN_MF_PARENT 0x00010000 242#define DN_MF_CHILD 0x00020000 243#define DN_WILL_BE_REMOVED 0x00040000 244#define DN_NOT_FIRST_TIMEE 0x00080000 245#define DN_STOP_FREE_RES 0x00100000 246#define DN_REBAL_CANDIDATE 0x00200000 247#define DN_BAD_PARTIAL 0x00400000 248#define DN_NT_ENUMERATOR 0x00800000 249#define DN_NT_DRIVER 0x01000000 250#define DN_NEEDS_LOCKING 0x02000000 251#define DN_ARM_WAKEUP 0x04000000 252#define DN_APM_ENUMERATOR 0x08000000 253#define DN_APM_DRIVER 0x10000000 254#define DN_SILENT_INSTALL 0x20000000 255#define DN_NO_SHOW_IN_DM 0x40000000 256#define DN_BOOT_LOG_PROB 0x80000000 257#define DNF_DUPDESC 0x00000001 258#define DNF_OLDDRIVER 0x00000002 259#define DNF_EXCLUDEFROMLIST 0x00000004 260#define DNF_NODRIVER 0x00000008 261#define DNF_LEGACYINF 0x00000010 262#define DNF_CLASS_DRIVER 0x00000020 263#define DNF_COMPATIBLE_DRIVER 0x00000040 264#define DNF_INET_DRIVER 0x00000080 265#define DNF_UNUSED1 0x00000100 266#define DNF_INDEXED_DRIVER 0x00000200 267#define DNF_OLD_INET_DRIVER 0x00000400 268#define DNF_BAD_DRIVER 0x00000800 269#define DNF_DUPPROVIDER 0x00001000 270#define DPROMPT_SUCCESS 0 271#define DPROMPT_CANCEL 1 272#define DPROMPT_SKIPFILE 2 273#define DPROMPT_BUFFERTOOSMALL 3 274#define DPROMPT_OUTOFMEMORY 4 275#define DRIVER_HARDWAREID_RANK 0x00000FFF 276#if (_SETUPAPI_VER >= 0x0600) 277#define DRIVER_UNTRUSTED_RANK 0x80000000 278#else 279#define DRIVER_UNTRUSTED_RANK 0x00008000 280#endif 281#define DYNAWIZ_FLAG_PAGESADDED 0x00000001 282#define DYNAWIZ_FLAG_INSTALLDET_NEXT 0x00000002 283#define DYNAWIZ_FLAG_INSTALLDET_PREV 0x00000004 284#define DYNAWIZ_FLAG_ANALYZE_HANDLECONFLICT 0x00000008 285#define ENABLECLASS_QUERY 0 286#define ENABLECLASS_SUCCESS 1 287#define ENABLECLASS_FAILURE 2 288#define ERROR_EXPECTED_SECTION_NAME (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0) 289#define ERROR_BAD_SECTION_NAME_LINE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|1) 290#define ERROR_SECTION_NAME_TOO_LONG (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|2) 291#define ERROR_GENERAL_SYNTAX (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|3) 292#define ERROR_WRONG_INF_STYLE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x100) 293#define ERROR_NOT_INSTALLED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x1000) 294#define ERROR_SECTION_NOT_FOUND (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x101) 295#define ERROR_LINE_NOT_FOUND (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x102) 296#define ERROR_NO_BACKUP (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x103) 297#define ERROR_NO_ASSOCIATED_CLASS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x200) 298#define ERROR_CLASS_MISMATCH (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x201) 299#define ERROR_DUPLICATE_FOUND (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x202) 300#define ERROR_NO_DRIVER_SELECTED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x203) 301#define ERROR_KEY_DOES_NOT_EXIST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x204) 302#define ERROR_INVALID_DEVINST_NAME (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x205) 303#define ERROR_INVALID_CLASS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x206) 304#define ERROR_DEVINST_ALREADY_EXISTS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x207) 305#define ERROR_DEVINFO_NOT_REGISTERED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x208) 306#define ERROR_INVALID_REG_PROPERTY (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x209) 307#define ERROR_NO_INF (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20A) 308#define ERROR_NO_SUCH_DEVINST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20B) 309#define ERROR_CANT_LOAD_CLASS_ICON (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20C) 310#define ERROR_INVALID_CLASS_INSTALLER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20D) 311#define ERROR_DI_DO_DEFAULT (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20E) 312#define ERROR_DI_NOFILECOPY (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20F) 313#define ERROR_INVALID_HWPROFILE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x210) 314#define ERROR_NO_DEVICE_SELECTED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x211) 315#define ERROR_DEVINFO_LIST_LOCKED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x212) 316#define ERROR_DEVINFO_DATA_LOCKED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x213) 317#define ERROR_DI_BAD_PATH (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x214) 318#define ERROR_NO_CLASSINSTALL_PARAMS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x215) 319#define ERROR_FILEQUEUE_LOCKED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x216) 320#define ERROR_BAD_SERVICE_INSTALLSECT (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x217) 321#define ERROR_NO_CLASS_DRIVER_LIST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x218) 322#define ERROR_NO_ASSOCIATED_SERVICE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x219) 323#define ERROR_NO_DEFAULT_DEVICE_INTERFACE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21A) 324#define ERROR_DEVICE_INTERFACE_ACTIVE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21B) 325#define ERROR_DEVICE_INTERFACE_REMOVED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21C) 326#define ERROR_BAD_INTERFACE_INSTALLSECT (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21D) 327#define ERROR_NO_SUCH_INTERFACE_CLASS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21E) 328#define ERROR_INVALID_REFERENCE_STRING (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21F) 329#define ERROR_INVALID_MACHINENAME (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x220) 330#define ERROR_REMOTE_COMM_FAILURE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x221) 331#define ERROR_MACHINE_UNAVAILABLE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x222) 332#define ERROR_NO_CONFIGMGR_SERVICES (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x223) 333#define ERROR_INVALID_PROPPAGE_PROVIDER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x224) 334#define ERROR_NO_SUCH_DEVICE_INTERFACE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x225) 335#define ERROR_DI_POSTPROCESSING_REQUIRED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x226) 336#define ERROR_INVALID_COINSTALLER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x227) 337#define ERROR_NO_COMPAT_DRIVERS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x228) 338#define ERROR_NO_DEVICE_ICON (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x229) 339#define ERROR_INVALID_INF_LOGCONFIG (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22A) 340#define ERROR_DI_DONT_INSTALL (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22B) 341#define ERROR_INVALID_FILTER_DRIVER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22C) 342#define ERROR_NON_WINDOWS_NT_DRIVER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22D) 343#define ERROR_NON_WINDOWS_DRIVER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22E) 344#define ERROR_NO_CATALOG_FOR_OEM_INF (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22F) 345#define ERROR_DEVINSTALL_QUEUE_NONNATIVE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x230) 346#define ERROR_NOT_DISABLEABLE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x231) 347#define ERROR_CANT_REMOVE_DEVINST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x232) 348#define ERROR_IN_WOW64 (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x235) 349#define ERROR_INTERFACE_DEVICE_ACTIVE ERROR_DEVICE_INTERFACE_ACTIVE 350#define ERROR_INTERFACE_DEVICE_REMOVED ERROR_DEVICE_INTERFACE_REMOVED 351#define ERROR_NO_DEFAULT_INTERFACE_DEVICE ERROR_NO_DEFAULT_DEVICE_INTERFACE 352#define ERROR_NO_SUCH_INTERFACE_DEVICE ERROR_NO_SUCH_DEVICE_INTERFACE 353#define ERROR_WRONG_INF_TYPE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x24A) 354 355#define FILEOP_COPY 0 356#define FILEOP_ABORT 0 357#define FILE_COMPRESSION_NONE 0 358#define FILEOP_RENAME 1 359#define FILEOP_DOIT 1 360#define FILE_COMPRESSION_WINLZA 1 361#define FILEOP_DELETE 2 362#define FILEOP_SKIP 2 363#define FILE_COMPRESSION_MSZIP 2 364#define FILEOP_BACKUP 3 365#define FILE_COMPRESSION_NTCAB 3 366#define FILEOP_NEWPATH 4 367#define FILEOP_RETRY FILEOP_DOIT 368#define FLG_ADDREG_TYPE_SZ 0x00000000 369#define FLG_ADDREG_BINVALUETYPE 0x00000001 370#define FLG_ADDREG_NOCLOBBER 0x00000002 371#define FLG_ADDREG_DELVAL 0x00000004 372#define FLG_ADDREG_APPEND 0x00000008 373#define FLG_ADDREG_KEYONLY 0x00000010 374#define FLG_ADDREG_OVERWRITEONLY 0x00000020 375#if (_SETUPAPI_VER >= 0x0501) 376#define FLG_ADDREG_64BITKEY 0x00001000 377#define FLG_ADDREG_KEYONLY_COMMON 0x00002000 378#define FLG_ADDREG_32BITKEY 0x00004000 379#define FLG_ADDREG_DELREG_BIT 0x00008000 380#endif 381#define FLG_ADDREG_TYPE_MULTI_SZ 0x00010000 382#define FLG_ADDREG_TYPE_EXPAND_SZ 0x00020000 383#define FLG_ADDREG_TYPE_BINARY (0x00000000|FLG_ADDREG_BINVALUETYPE) 384#define FLG_ADDREG_TYPE_DWORD (0x00010000|FLG_ADDREG_BINVALUETYPE) 385#define FLG_ADDREG_TYPE_NONE (0x00020000|FLG_ADDREG_BINVALUETYPE) 386#define FLG_ADDREG_TYPE_MASK (0xFFFF0000|FLG_ADDREG_BINVALUETYPE) 387#define FLG_DELREG_VALUE 0x00000000 388#if (_SETUPAPI_VER >= 0x0501) 389#define FLG_DELREG_TYPE_MASK FLG_ADDREG_TYPE_MASK 390#define FLG_DELREG_TYPE_SZ FLG_ADDREG_TYPE_SZ 391#define FLG_DELREG_TYPE_MULTI_SZ FLG_ADDREG_TYPE_MULTI_SZ 392#define FLG_DELREG_TYPE_EXPAND_SZ FLG_ADDREG_TYPE_EXPAND_SZ 393#define FLG_DELREG_TYPE_BINARY FLG_ADDREG_TYPE_BINARY 394#define FLG_DELREG_TYPE_DWORD FLG_ADDREG_TYPE_DWORD 395#define FLG_DELREG_TYPE_NONE FLG_ADDREG_TYPE_NONE 396#define FLG_DELREG_64BITKEY FLG_ADDREG_64BITKEY 397#define FLG_DELREG_KEYONLY_COMMON FLG_ADDREG_KEYONLY_COMMON 398#define FLG_DELREG_32BITKEY FLG_ADDREG_32BITKEY 399#define FLG_DELREG_OPERATION_MASK 0x000000FE 400#define FLG_DELREG_MULTI_SZ_DELSTRING (0x00000002|FLG_DELREG_TYPE_MULTI_SZ|FLG_ADDREG_DELREG_BIT) 401#endif 402#define FLG_BITREG_CLEARBITS 0x00000000 403#define FLG_BITREG_SETBITS 0x00000001 404#define FLG_PROFITEM_CURRENTUSER 0x00000001 405#define FLG_PROFITEM_DELETE 0x00000002 406#define FLG_PROFITEM_GROUP 0x00000004 407#define FLG_PROFITEM_CSIDL 0x00000008 408#define FLG_REGSVR_DLLREGISTER 0x00000001 409#define FLG_REGSVR_DLLINSTALL 0x00000002 410#define MIN_IDD_DYNAWIZ_RESOURCE_ID 10000 411#define MAX_IDD_DYNAWIZ_RESOURCE_ID 11000 412#define IDD_DYNAWIZ_FIRSTPAGE 10000 413#define IDD_DYNAWIZ_SELECT_PREVPAGE 10001 414#define IDD_DYNAWIZ_SELECT_NEXTPAGE 10002 415#define IDD_DYNAWIZ_ANALYZE_PREVPAGE 10003 416#define IDD_DYNAWIZ_ANALYZE_NEXTPAGE 10004 417#define IDD_DYNAWIZ_INSTALLDETECTED_PREVPAGE 10006 418#define IDD_DYNAWIZ_INSTALLDETECTED_NEXTPAGE 10007 419#define IDD_DYNAWIZ_INSTALLDETECTED_NODEVS 10008 420#define IDD_DYNAWIZ_SELECTDEV_PAGE 10009 421#define IDD_DYNAWIZ_ANALYZEDEV_PAGE 10010 422#define IDD_DYNAWIZ_INSTALLDETECTEDDEVS_PAGE 10011 423#define IDD_DYNAWIZ_SELECTCLASS_PAGE 10012 424#define IDF_NOBROWSE 0x00000001 425#define IDF_NOSKIP 0x00000002 426#define IDF_NODETAILS 0x00000004 427#define IDF_NOCOMPRESSED 0x00000008 428#define IDF_CHECKFIRST 0x00000100 429#define IDF_NOBEEP 0x00000200 430#define IDF_NOFOREGROUND 0x00000400 431#define IDF_WARNIFSKIP 0x00000800 432#define IDF_OEMDISK 0x80000000 433#define IDI_RESOURCEFIRST 159 434#define IDI_RESOURCE 159 435#define IDI_RESOURCELAST 161 436#define IDI_RESOURCEOVERLAYFIRST 161 437#define IDI_RESOURCEOVERLAYLAST 161 438#define IDI_CONFLICT 161 439#define IDI_PROBLEM_OVL 500 440#define IDI_DISABLED_OVL 501 441#define IDI_FORCED_OVL 502 442#define IDI_CLASSICON_OVERLAYFIRST 500 443#define IDI_CLASSICON_OVERLAYLAST 502 444#define INF_STYLE_NONE 0x00000000 445#define INF_STYLE_OLDNT 0x00000001 446#define INF_STYLE_WIN4 0x00000002 447#define INF_STYLE_CACHE_ENABLE 0x00000010 448#define INF_STYLE_CACHE_DISABLE 0x00000020 449#define INFINFO_INF_SPEC_IS_HINF 1 450#define INFINFO_INF_NAME_IS_ABSOLUTE 2 451#define INFINFO_DEFAULT_SEARCH 3 452#define INFINFO_REVERSE_DEFAULT_SEARCH 4 453#define INFINFO_INF_PATH_LIST_SEARCH 5 454#define LogSevInformation 0 455#define LogSevWarning 1 456#define LogSevError 2 457#define LogSevFatalError 3 458#define LogSevMaximum 4 459#define LogSeverity DWORD 460#define MAX_INSTALLWIZARD_DYNAPAGES 20 461#define NDW_INSTALLFLAG_DIDFACTDEFS 0x00000001 462#define NDW_INSTALLFLAG_HARDWAREALLREADYIN 0x00000002 463#define NDW_INSTALLFLAG_NEEDSHUTDOWN 0x00000200 464#define NDW_INSTALLFLAG_EXPRESSINTRO 0x00000400 465#define NDW_INSTALLFLAG_SKIPISDEVINSTALLED 0x00000800 466#define NDW_INSTALLFLAG_NODETECTEDDEVS 0x00001000 467#define NDW_INSTALLFLAG_INSTALLSPECIFIC 0x00002000 468#define NDW_INSTALLFLAG_SKIPCLASSLIST 0x00004000 469#define NDW_INSTALLFLAG_CI_PICKED_OEM 0x00008000 470#define NDW_INSTALLFLAG_PCMCIAMODE 0x00010000 471#define NDW_INSTALLFLAG_PCMCIADEVICE 0x00020000 472#define NDW_INSTALLFLAG_USERCANCEL 0x00040000 473#define NDW_INSTALLFLAG_KNOWNCLASS 0x00080000 474#define NDW_INSTALLFLAG_NEEDRESTART 0x00000080 475#define NDW_INSTALLFLAG_NEEDREBOOT 0x00000100 476#define SETDIRID_NOT_FULL_PATH 0x00000001 477#define SP_COPY_DELETESOURCE 0x0000001 478#define SP_COPY_REPLACEONLY 0x0000002 479#define SP_COPY_NEWER 0x0000004 480#define SP_COPY_NEWER_OR_SAME 0x0000004 481#define SP_COPY_NOOVERWRITE 0x0000008 482#define SP_COPY_NODECOMP 0x0000010 483#define SP_COPY_LANGUAGEAWARE 0x0000020 484#define SP_COPY_SOURCE_ABSOLUTE 0x0000040 485#define SP_COPY_SOURCEPATH_ABSOLUTE 0x0000080 486#define SP_COPY_IN_USE_NEEDS_REBOOT 0x0000100 487#define SP_COPY_FORCE_IN_USE 0x0000200 488#define SP_COPY_NOSKIP 0x0000400 489#define SP_COPY_FORCE_NOOVERWRITE 0x0001000 490#define SP_COPY_FORCE_NEWER 0x0002000 491#define SP_COPY_WARNIFSKIP 0x0004000 492#define SP_COPY_NOBROWSE 0x0008000 493#define SP_COPY_NEWER_ONLY 0x0010000 494#define SP_COPY_SOURCE_SIS_MASTER 0x0020000 495#define SP_COPY_OEMINF_CATALOG_ONLY 0x0040000 496#define SP_COPY_REPLACE_BOOT_FILE 0x0080000 497#define SP_COPY_NOPRUNE 0x0100000 498#define SP_FLAG_CABINETCONTINUATION 0x0000800 499#define SPCRP_SECURITY 23 500#define SPCRP_SECURITY_SDS 24 501#define SPCRP_DEVTYPE 25 502#define SPCRP_EXCLUSIVE 26 503#define SPCRP_CHARACTERISTICS 27 504#define SPCRP_MAXIMUM_PROPERTY 28 505#define SPDIT_NODRIVER 0 506#define SPDIT_CLASSDRIVER 1 507#define SPDIT_COMPATDRIVER 2 508#define SPDRP_DEVICEDESC 0 509#define SPDRP_HARDWAREID 1 510#define SPDRP_COMPATIBLEIDS 2 511#define SPDRP_UNUSED0 3 512#define SPDRP_SERVICE 4 513#define SPDRP_UNUSED1 5 514#define SPDRP_UNUSED2 6 515#define SPDRP_CLASS 7 516#define SPDRP_CLASSGUID 8 517#define SPDRP_DRIVER 9 518#define SPDRP_CONFIGFLAGS 10 519#define SPDRP_MFG 11 520#define SPDRP_FRIENDLYNAME 12 521#define SPDRP_LOCATION_INFORMATION 13 522#define SPDRP_PHYSICAL_DEVICE_OBJECT_NAME 14 523#define SPDRP_CAPABILITIES 15 524#define SPDRP_UI_NUMBER 16 525#define SPDRP_UPPERFILTERS 17 526#define SPDRP_LOWERFILTERS 18 527#define SPDRP_BUSTYPEGUID 19 528#define SPDRP_LEGACYBUSTYPE 20 529#define SPDRP_BUSNUMBER 21 530#define SPDRP_ENUMERATOR_NAME 22 531#define SPDRP_SECURITY 23 532#define SPDRP_SECURITY_SDS 24 533#define SPDRP_DEVTYPE 25 534#define SPDRP_EXCLUSIVE 26 535#define SPDRP_CHARACTERISTICS 27 536#define SPDRP_ADDRESS 28 537#define SPDRP_UI_NUMBER_DESC_FORMAT 29 538#define SPDRP_DEVICE_POWER_DATA 30 539#define SPDRP_REMOVAL_POLICY 31 540#define SPDRP_REMOVAL_POLICY_HW_DEFAULT 32 541#define SPDRP_REMOVAL_POLICY_OVERRIDE 33 542#define SPDRP_INSTALL_STATE 34 543#define SPDRP_MAXIMUM_PROPERTY 35 544#define SPDSL_IGNORE_DISK 1 545#define SPDSL_DISALLOW_NEGATIVE_ADJUST 2 546 547#define SPFILENOTIFY_STARTQUEUE 1 548#define SPFILENOTIFY_ENDQUEUE 2 549#define SPFILENOTIFY_STARTSUBQUEUE 3 550#define SPFILENOTIFY_ENDSUBQUEUE 4 551#define SPFILENOTIFY_STARTDELETE 5 552#define SPFILENOTIFY_ENDDELETE 6 553#define SPFILENOTIFY_DELETEERROR 7 554#define SPFILENOTIFY_STARTRENAME 8 555#define SPFILENOTIFY_ENDRENAME 9 556#define SPFILENOTIFY_RENAMEERROR 10 557#define SPFILENOTIFY_STARTCOPY 11 558#define SPFILENOTIFY_ENDCOPY 12 559#define SPFILENOTIFY_COPYERROR 13 560#define SPFILENOTIFY_NEEDMEDIA 14 561#define SPFILENOTIFY_QUEUESCAN 15 562#define SPFILENOTIFY_CABINETINFO 16 563#define SPFILENOTIFY_FILEINCABINET 17 564#define SPFILENOTIFY_NEEDNEWCABINET 18 565#define SPFILENOTIFY_FILEEXTRACTED 19 566#define SPFILENOTIFY_FILEOPDELAYED 20 567#define SPFILENOTIFY_STARTBACKUP 21 568#define SPFILENOTIFY_BACKUPERROR 22 569#define SPFILENOTIFY_ENDBACKUP 23 570#define SPFILENOTIFY_QUEUESCAN_EX 24 571#define SPFILENOTIFY_STARTREGISTRATION 25 572#define SPFILENOTIFY_ENDREGISTRATION 26 573#define SPFILENOTIFY_LANGMISMATCH 0x00010000 574#define SPFILENOTIFY_TARGETEXISTS 0x00020000 575#define SPFILENOTIFY_TARGETNEWER 0x00040000 576#define SPFILELOG_SYSTEMLOG 0x00000001 577#define SPFILELOG_OEMFILE 0x00000001 578#define SPFILELOG_FORCENEW 0x00000002 579#define SPFILELOG_QUERYONLY 0x00000004 580#define SPFILEQ_FILE_IN_USE 0x00000001 581#define SPFILEQ_REBOOT_RECOMMENDED 0x00000002 582#define SPFILEQ_REBOOT_IN_PROGRESS 0x00000004 583#define SPINT_ACTIVE 0x00000001 584#define SPINT_DEFAULT 0x00000002 585#define SPINT_REMOVED 0x00000004 586#define SPID_ACTIVE 0x00000001 587#define SPID_DEFAULT 0x00000002 588#define SPID_REMOVED 0x00000004 589#define SPINST_LOGCONFIG 0x00000001 590#define SPINST_INIFILES 0x00000002 591#define SPINST_REGISTRY 0x00000004 592#define SPINST_INI2REG 0x00000008 593#define SPINST_FILES 0x00000010 594#define SPINST_BITREG 0x00000020 595#define SPINST_REGSVR 0x00000040 596#define SPINST_UNREGSVR 0x00000080 597#define SPINST_PROFILEITEMS 0x00000100 598#if (_SETUPAPI_VER >= 0x0501) 599#define SPINST_COPYINF 0x00000200 600#define SPINST_ALL 0x000003ff 601#else 602#define SPINST_ALL 0x000001ff 603#endif 604#define SPINST_SINGLESECTION 0x00010000 605#define SPINST_LOGCONFIG_IS_FORCED 0x00020000 606#define SPINST_LOGCONFIGS_ARE_OVERRIDES 0x00040000 607#if (_SETUPAPI_VER >= 0x0501) 608#define SPINST_REGISTERCALLBACKAWARE 0x00080000 609#endif 610#define SPOST_NONE 0 611#define SPOST_PATH 1 612#define SPOST_URL 2 613#define SPOST_MAX 3 614#define SPPSR_SELECT_DEVICE_RESOURCES 1 615#define SPPSR_ENUM_BASIC_DEVICE_PROPERTIES 2 616#define SPPSR_ENUM_ADV_DEVICE_PROPERTIES 3 617#define SPQ_SCAN_FILE_PRESENCE 0x00000001 618#define SPQ_DELAYED_COPY 0x00000001 619#define SPQ_SCAN_FILE_VALIDITY 0x00000002 620#define SPQ_SCAN_USE_CALLBACK 0x00000004 621#define SPQ_SCAN_USE_CALLBACKEX 0x00000008 622#define SPQ_SCAN_INFORM_USER 0x00000010 623#define SPQ_SCAN_PRUNE_COPY_QUEUE 0x00000020 624#define SPRDI_FIND_DUPS 0x00000001 625 626#define SPSVCINST_TAGTOFRONT 0x00000001 627#define SPSVCINST_ASSOCSERVICE 0x00000002 628#define SPSVCINST_DELETEEVENTLOGENTRY 0x00000004 629#define SPSVCINST_NOCLOBBER_DISPLAYNAME 0x00000008 630#define SPSVCINST_NOCLOBBER_STARTTYPE 0x00000010 631#define SPSVCINST_NOCLOBBER_ERRORCONTROL 0x00000020 632#define SPSVCINST_NOCLOBBER_LOADORDERGROUP 0x00000040 633#define SPSVCINST_NOCLOBBER_DEPENDENCIES 0x00000080 634#define SPSVCINST_NOCLOBBER_DESCRIPTION 0x00000100 635#define SPSVCINST_STOPSERVICE 0x00000200 636#define SPSVCINST_CLOBBER_SECURITY 0x00000400 637#define SPSVCINST_STARTSERVICE 0x00000800 638 639#define SPWPT_SELECTDEVICE 0x00000001 640#define SPWP_USE_DEVINFO_DATA 0x00000001 641#define SRCINFO_PATH 1 642#define SRCINFO_TAGFILE 2 643#define SRCINFO_DESCRIPTION 3 644#define SRCINFO_FLAGS 4 645#define SRCLIST_TEMPORARY 0x00000001 646#define SRCLIST_NOBROWSE 0x00000002 647#define SRCLIST_SYSTEM 0x00000010 648#define SRCLIST_USER 0x00000020 649#define SRCLIST_SYSIFADMIN 0x00000040 650#define SRCLIST_SUBDIRS 0x00000100 651#define SRCLIST_APPEND 0x00000200 652#define SRCLIST_NOSTRIPPLATFORM 0x00000400 653#define SPREG_SUCCESS 0x00000000 654#define SPREG_LOADLIBRARY 0x00000001 655#define SPREG_GETPROCADDR 0x00000002 656#define SPREG_REGSVR 0x00000003 657#define SPREG_DLLINSTALL 0x00000004 658#define SPREG_TIMEOUT 0x00000005 659#define SPREG_UNKNOWN 0xFFFFFFFF 660 661/* Flags for StringTableAddString and StringTableLookUpString */ 662#define ST_CASE_SENSITIVE_COMPARE 0x00000001 663 664/* SetupUninstallOEMInf Flags values */ 665#define SUOI_FORCEDELETE 0x00000001 666 667#ifndef RC_INVOKED 668typedef PVOID HINF; 669typedef PVOID HDSKSPC; 670typedef PVOID HDEVINFO; 671typedef PVOID HSPFILEQ; 672typedef PVOID HSPFILELOG; 673typedef UINT DI_FUNCTION; 674 675typedef PVOID HSTRING_TABLE; 676 677typedef enum { 678 SetupFileLogSourceFilename, 679 SetupFileLogChecksum, 680 SetupFileLogDiskTagfile, 681 SetupFileLogDiskDescription, 682 SetupFileLogOtherInfo, 683 SetupFileLogMax 684} SetupFileLogInfo; 685typedef struct _INFCONTEXT { 686 PVOID Inf; 687 PVOID CurrentInf; 688 UINT Section; 689 UINT Line; 690} INFCONTEXT, *PINFCONTEXT; 691typedef struct _SP_INF_INFORMATION { 692 DWORD InfStyle; 693 DWORD InfCount; 694 BYTE VersionData[ANYSIZE_ARRAY]; 695} SP_INF_INFORMATION, *PSP_INF_INFORMATION; 696typedef struct _SP_INF_SIGNER_INFO_A { 697 DWORD cbSize; 698 CHAR CatalogFile; 699 CHAR DigitalSigner; 700 CHAR DigitalSignerVersion; 701} SP_INF_SIGNER_INFO_A, *PSP_INF_SIGNER_INFO_A; 702typedef struct _SP_INF_SIGNER_INFO_W { 703 DWORD cbSize; 704 WCHAR CatalogFile; 705 WCHAR DigitalSigner; 706 WCHAR DigitalSignerVersion; 707} SP_INF_SIGNER_INFO_W, *PSP_INF_SIGNER_INFO_W; 708typedef struct _SP_ALTPLATFORM_INFO_V1 { 709 DWORD cbSize; 710 DWORD Platform; 711 DWORD MajorVersion; 712 DWORD MinorVersion; 713 WORD ProcessorArchitecture; 714 WORD Reserved; 715} SP_ALTPLATFORM_INFO_V1, *PSP_ALTPLATFORM_INFO_V1; 716typedef struct _SP_ALTPLATFORM_INFO_V2 { 717 DWORD cbSize; 718 DWORD Platform; 719 DWORD MajorVersion; 720 DWORD MinorVersion; 721 WORD ProcessorArchitecture; 722 union 723 { 724 WORD Reserved; 725 WORD Flags; 726 } DUMMYUNIONNAME; 727 DWORD FirstValidatedMajorVersion; 728 DWORD FirstValidatedMinorVersion; 729} SP_ALTPLATFORM_INFO_V2, *PSP_ALTPLATFORM_INFO_V2; 730#if _WIN32_WINNT <= 0x0500 731typedef SP_ALTPLATFORM_INFO_V1 SP_ALTPLATFORM_INFO; 732typedef PSP_ALTPLATFORM_INFO_V1 PSP_ALTPLATFORM_INFO; 733#else 734typedef SP_ALTPLATFORM_INFO_V2 SP_ALTPLATFORM_INFO; 735typedef PSP_ALTPLATFORM_INFO_V2 PSP_ALTPLATFORM_INFO; 736#endif 737typedef struct _SP_ORIGINAL_FILE_INFO_A { 738 DWORD cbSize; 739 CHAR OriginalInfName[MAX_PATH]; 740 CHAR OriginalCatalogName[MAX_PATH]; 741} SP_ORIGINAL_FILE_INFO_A, *PSP_ORIGINAL_FILE_INFO_A; 742typedef struct _SP_ORIGINAL_FILE_INFO_W { 743 DWORD cbSize; 744 WCHAR OriginalInfName[MAX_PATH]; 745 WCHAR OriginalCatalogName[MAX_PATH]; 746} SP_ORIGINAL_FILE_INFO_W, *PSP_ORIGINAL_FILE_INFO_W; 747typedef struct _FILEPATHS_A { 748 PCSTR Target; 749 PCSTR Source; 750 UINT Win32Error; 751 DWORD Flags; 752} FILEPATHS_A, *PFILEPATHS_A; 753typedef struct _FILEPATHS_W { 754 PCWSTR Target; 755 PCWSTR Source; 756 UINT Win32Error; 757 DWORD Flags; 758} FILEPATHS_W, *PFILEPATHS_W; 759typedef struct _SOURCE_MEDIA_A { 760 PCSTR Reserved; 761 PCSTR Tagfile; 762 PCSTR Description; 763 PCSTR SourcePath; 764 PCSTR SourceFile; 765 DWORD Flags; 766} SOURCE_MEDIA_A, *PSOURCE_MEDIA_A; 767typedef struct _SOURCE_MEDIA_W { 768 PCWSTR Reserved; 769 PCWSTR Tagfile; 770 PCWSTR Description; 771 PCWSTR SourcePath; 772 PCWSTR SourceFile; 773 DWORD Flags; 774} SOURCE_MEDIA_W, *PSOURCE_MEDIA_W; 775typedef struct _CABINET_INFO_A { 776 PCSTR CabinetPath; 777 PCSTR CabinetFile; 778 PCSTR DiskName; 779 USHORT SetId; 780 USHORT CabinetNumber; 781} CABINET_INFO_A, *PCABINET_INFO_A; 782typedef struct _CABINET_INFO_W { 783 PCWSTR CabinetPath; 784 PCWSTR CabinetFile; 785 PCWSTR DiskName; 786 USHORT SetId; 787 USHORT CabinetNumber; 788} CABINET_INFO_W, *PCABINET_INFO_W; 789typedef struct _FILE_IN_CABINET_INFO_A { 790 PCSTR NameInCabinet; 791 DWORD FileSize; 792 DWORD Win32Error; 793 WORD DosDate; 794 WORD DosTime; 795 WORD DosAttribs; 796 CHAR FullTargetName[MAX_PATH]; 797} FILE_IN_CABINET_INFO_A, *PFILE_IN_CABINET_INFO_A; 798typedef struct _FILE_IN_CABINET_INFO_W { 799 PCWSTR NameInCabinet; 800 DWORD FileSize; 801 DWORD Win32Error; 802 WORD DosDate; 803 WORD DosTime; 804 WORD DosAttribs; 805 WCHAR FullTargetName[MAX_PATH]; 806} FILE_IN_CABINET_INFO_W, *PFILE_IN_CABINET_INFO_W; 807typedef struct _SP_FILE_COPY_PARAMS_A { 808 DWORD cbSize; 809 HSPFILEQ QueueHandle; 810 PCSTR SourceRootPath; 811 PCSTR SourcePath; 812 PCSTR SourceFilename; 813 PCSTR SourceDescription; 814 PCSTR SourceTagfile; 815 PCSTR TargetDirectory; 816 PCSTR TargetFilename; 817 DWORD CopyStyle; 818 HINF LayoutInf; 819 PCSTR SecurityDescriptor; 820} SP_FILE_COPY_PARAMS_A, *PSP_FILE_COPY_PARAMS_A; 821typedef struct _SP_FILE_COPY_PARAMS_W { 822 DWORD cbSize; 823 HSPFILEQ QueueHandle; 824 PCWSTR SourceRootPath; 825 PCWSTR SourcePath; 826 PCWSTR SourceFilename; 827 PCWSTR SourceDescription; 828 PCWSTR SourceTagfile; 829 PCWSTR TargetDirectory; 830 PCWSTR TargetFilename; 831 DWORD CopyStyle; 832 HINF LayoutInf; 833 PCWSTR SecurityDescriptor; 834} SP_FILE_COPY_PARAMS_W, *PSP_FILE_COPY_PARAMS_W; 835typedef struct _SP_DEVINFO_DATA { 836 DWORD cbSize; 837 GUID ClassGuid; 838 DWORD DevInst; 839 ULONG_PTR Reserved; 840} SP_DEVINFO_DATA, *PSP_DEVINFO_DATA; 841typedef struct _SP_DEVICE_INTERFACE_DATA { 842 DWORD cbSize; 843 GUID InterfaceClassGuid; 844 DWORD Flags; 845 ULONG_PTR Reserved; 846} SP_DEVICE_INTERFACE_DATA, *PSP_DEVICE_INTERFACE_DATA; 847/* For backward compatability */ 848typedef SP_DEVICE_INTERFACE_DATA SP_INTERFACE_DEVICE_DATA, *PSP_INTERFACE_DEVICE_DATA; 849 850typedef struct _SP_DEVICE_INTERFACE_DETAIL_DATA_A { 851 DWORD cbSize; 852 CHAR DevicePath[ANYSIZE_ARRAY]; 853} SP_DEVICE_INTERFACE_DETAIL_DATA_A, *PSP_DEVICE_INTERFACE_DETAIL_DATA_A; 854typedef struct _SP_DEVICE_INTERFACE_DETAIL_DATA_W { 855 DWORD cbSize; 856 WCHAR DevicePath[ANYSIZE_ARRAY]; 857} SP_DEVICE_INTERFACE_DETAIL_DATA_W, *PSP_DEVICE_INTERFACE_DETAIL_DATA_W; 858/* For backward compatability */ 859typedef SP_DEVICE_INTERFACE_DETAIL_DATA_A SP_INTERFACE_DEVICE_DETAIL_DATA_A, 860 *PSP_INTERFACE_DEVICE_DETAIL_DATA_A; 861typedef SP_DEVICE_INTERFACE_DETAIL_DATA_W SP_INTERFACE_DEVICE_DETAIL_DATA_W, 862 *PSP_INTERFACE_DEVICE_DETAIL_DATA_W; 863 864typedef struct _SP_DEVINFO_LIST_DETAIL_DATA_A { 865 DWORD cbSize; 866 GUID ClassGuid; 867 HANDLE RemoteMachineHandle; 868 CHAR RemoteMachineName[SP_MAX_MACHINENAME_LENGTH]; 869} SP_DEVINFO_LIST_DETAIL_DATA_A, *PSP_DEVINFO_LIST_DETAIL_DATA_A; 870typedef struct _SP_DEVINFO_LIST_DETAIL_DATA_W { 871 DWORD cbSize; 872 GUID ClassGuid; 873 HANDLE RemoteMachineHandle; 874 WCHAR RemoteMachineName[SP_MAX_MACHINENAME_LENGTH]; 875} SP_DEVINFO_LIST_DETAIL_DATA_W, *PSP_DEVINFO_LIST_DETAIL_DATA_W; 876 877typedef UINT (CALLBACK* PSP_FILE_CALLBACK_A)(PVOID,UINT,UINT_PTR,UINT_PTR); 878typedef UINT (CALLBACK* PSP_FILE_CALLBACK_W)(PVOID,UINT,UINT_PTR,UINT_PTR); 879typedef struct _SP_DEVINSTALL_PARAMS_A { 880 DWORD cbSize; 881 DWORD Flags; 882 DWORD FlagsEx; 883 HWND hwndParent; 884 PSP_FILE_CALLBACK_A InstallMsgHandler; 885 PVOID InstallMsgHandlerContext; 886 HSPFILEQ FileQueue; 887 ULONG_PTR ClassInstallReserved; 888 DWORD Reserved; 889 CHAR DriverPath[MAX_PATH]; 890} SP_DEVINSTALL_PARAMS_A, *PSP_DEVINSTALL_PARAMS_A; 891typedef struct _SP_DEVINSTALL_PARAMS_W { 892 DWORD cbSize; 893 DWORD Flags; 894 DWORD FlagsEx; 895 HWND hwndParent; 896 PSP_FILE_CALLBACK_W InstallMsgHandler; 897 PVOID InstallMsgHandlerContext; 898 HSPFILEQ FileQueue; 899 ULONG_PTR ClassInstallReserved; 900 DWORD Reserved; 901 WCHAR DriverPath[MAX_PATH]; 902} SP_DEVINSTALL_PARAMS_W, *PSP_DEVINSTALL_PARAMS_W; 903typedef struct _SP_CLASSINSTALL_HEADER { 904 DWORD cbSize; 905 DI_FUNCTION InstallFunction; 906} SP_CLASSINSTALL_HEADER, *PSP_CLASSINSTALL_HEADER; 907typedef struct _SP_ENABLECLASS_PARAMS { 908 SP_CLASSINSTALL_HEADER ClassInstallHeader; 909 GUID ClassGuid; 910 DWORD EnableMessage; 911} SP_ENABLECLASS_PARAMS, *PSP_ENABLECLASS_PARAMS; 912typedef struct _SP_MOVEDEV_PARAMS { 913 SP_CLASSINSTALL_HEADER ClassInstallHeader; 914 SP_DEVINFO_DATA SourceDeviceInfoData; 915} SP_MOVEDEV_PARAMS, *PSP_MOVEDEV_PARAMS; 916typedef struct _SP_PROPCHANGE_PARAMS { 917 SP_CLASSINSTALL_HEADER ClassInstallHeader; 918 DWORD StateChange; 919 DWORD Scope; 920 DWORD HwProfile; 921} SP_PROPCHANGE_PARAMS, *PSP_PROPCHANGE_PARAMS; 922typedef struct _SP_REMOVEDEVICE_PARAMS { 923 SP_CLASSINSTALL_HEADER ClassInstallHeader; 924 DWORD Scope; 925 DWORD HwProfile; 926} SP_REMOVEDEVICE_PARAMS, *PSP_REMOVEDEVICE_PARAMS; 927typedef struct _SP_UNREMOVEDEVICE_PARAMS { 928 SP_CLASSINSTALL_HEADER ClassInstallHeader; 929 DWORD Scope; 930 DWORD HwProfile; 931} SP_UNREMOVEDEVICE_PARAMS, *PSP_UNREMOVEDEVICE_PARAMS; 932typedef struct _SP_SELECTDEVICE_PARAMS_A { 933 SP_CLASSINSTALL_HEADER ClassInstallHeader; 934 CHAR Title[MAX_TITLE_LEN]; 935 CHAR Instructions[MAX_INSTRUCTION_LEN]; 936 CHAR ListLabel[MAX_LABEL_LEN]; 937 CHAR SubTitle[MAX_SUBTITLE_LEN]; 938 BYTE Reserved[2]; 939} SP_SELECTDEVICE_PARAMS_A, *PSP_SELECTDEVICE_PARAMS_A; 940typedef struct _SP_SELECTDEVICE_PARAMS_W { 941 SP_CLASSINSTALL_HEADER ClassInstallHeader; 942 WCHAR Title[MAX_TITLE_LEN]; 943 WCHAR Instructions[MAX_INSTRUCTION_LEN]; 944 WCHAR ListLabel[MAX_LABEL_LEN]; 945 WCHAR SubTitle[MAX_SUBTITLE_LEN]; 946} SP_SELECTDEVICE_PARAMS_W, *PSP_SELECTDEVICE_PARAMS_W; 947typedef struct _SP_REGISTER_CONTROL_STATUSA { 948 DWORD cbSize; 949 PCSTR FileName; 950 DWORD Win32Error; 951 DWORD FailureCode; 952} SP_REGISTER_CONTROL_STATUSA, *PSP_REGISTER_CONTROL_STATUSA; 953typedef struct _SP_REGISTER_CONTROL_STATUSW { 954 DWORD cbSize; 955 PCWSTR FileName; 956 DWORD Win32Error; 957 DWORD FailureCode; 958} SP_REGISTER_CONTROL_STATUSW, *PSP_REGISTER_CONTROL_STATUSW; 959 960typedef BOOL (CALLBACK* PDETECT_PROGRESS_NOTIFY)(PVOID,DWORD); 961typedef struct _SP_DETECTDEVICE_PARAMS { 962 SP_CLASSINSTALL_HEADER ClassInstallHeader; 963 PDETECT_PROGRESS_NOTIFY DetectProgressNotify; 964 PVOID ProgressNotifyParam; 965} SP_DETECTDEVICE_PARAMS, *PSP_DETECTDEVICE_PARAMS; 966typedef struct _SP_INSTALLWIZARD_DATA { 967 SP_CLASSINSTALL_HEADER ClassInstallHeader; 968 DWORD Flags; 969 HPROPSHEETPAGE DynamicPages[MAX_INSTALLWIZARD_DYNAPAGES]; 970 DWORD NumDynamicPages; 971 DWORD DynamicPageFlags; 972 DWORD PrivateFlags; 973 LPARAM PrivateData; 974 HWND hwndWizardDlg; 975} SP_INSTALLWIZARD_DATA, *PSP_INSTALLWIZARD_DATA; 976typedef struct _SP_NEWDEVICEWIZARD_DATA { 977 SP_CLASSINSTALL_HEADER ClassInstallHeader; 978 DWORD Flags; 979 HPROPSHEETPAGE DynamicPages[MAX_INSTALLWIZARD_DYNAPAGES]; 980 DWORD NumDynamicPages; 981 HWND hwndWizardDlg; 982} SP_NEWDEVICEWIZARD_DATA, *PSP_NEWDEVICEWIZARD_DATA; 983typedef SP_NEWDEVICEWIZARD_DATA SP_ADDPROPERTYPAGE_DATA, 984 *PSP_ADDPROPERTYPAGE_DATA; 985typedef struct _SP_TROUBLESHOOTER_PARAMS_A { 986 SP_CLASSINSTALL_HEADER ClassInstallHeader; 987 CHAR ChmFile[MAX_PATH]; 988 CHAR HtmlTroubleShooter[MAX_PATH]; 989} SP_TROUBLESHOOTER_PARAMS_A, *PSP_TROUBLESHOOTER_PARAMS_A; 990typedef struct _SP_TROUBLESHOOTER_PARAMS_W { 991 SP_CLASSINSTALL_HEADER ClassInstallHeader; 992 WCHAR ChmFile[MAX_PATH]; 993 WCHAR HtmlTroubleShooter[MAX_PATH]; 994} SP_TROUBLESHOOTER_PARAMS_W, *PSP_TROUBLESHOOTER_PARAMS_W; 995typedef struct _SP_POWERMESSAGEWAKE_PARAMS_A { 996 SP_CLASSINSTALL_HEADER ClassInstallHeader; 997 CHAR PowerMessageWake[LINE_LEN*2]; 998} SP_POWERMESSAGEWAKE_PARAMS_A, *PSP_POWERMESSAGEWAKE_PARAMS_A; 999typedef struct _SP_POWERMESSAGEWAKE_PARAMS_W { 1000 SP_CLASSINSTALL_HEADER ClassInstallHeader; 1001 WCHAR PowerMessageWake[LINE_LEN*2]; 1002} SP_POWERMESSAGEWAKE_PARAMS_W, *PSP_POWERMESSAGEWAKE_PARAMS_W; 1003typedef struct _SP_DRVINFO_DATA_V2_A { 1004 DWORD cbSize; 1005 DWORD DriverType; 1006 ULONG_PTR Reserved; 1007 CHAR Description[LINE_LEN]; 1008 CHAR MfgName[LINE_LEN]; 1009 CHAR ProviderName[LINE_LEN]; 1010 FILETIME DriverDate; 1011 DWORDLONG DriverVersion; 1012} SP_DRVINFO_DATA_V2_A, *PSP_DRVINFO_DATA_V2_A; 1013typedef struct _SP_DRVINFO_DATA_V2_W { 1014 DWORD cbSize; 1015 DWORD DriverType; 1016 ULONG_PTR Reserved; 1017 WCHAR Description[LINE_LEN]; 1018 WCHAR MfgName[LINE_LEN]; 1019 WCHAR ProviderName[LINE_LEN]; 1020 FILETIME DriverDate; 1021 DWORDLONG DriverVersion; 1022} SP_DRVINFO_DATA_V2_W, *PSP_DRVINFO_DATA_V2_W; 1023typedef struct _SP_DRVINFO_DATA_V1_A { 1024 DWORD cbSize; 1025 DWORD DriverType; 1026 ULONG_PTR Reserved; 1027 CHAR Description[LINE_LEN]; 1028 CHAR MfgName[LINE_LEN]; 1029 CHAR ProviderName[LINE_LEN]; 1030} SP_DRVINFO_DATA_V1_A, *PSP_DRVINFO_DATA_V1_A; 1031typedef struct _SP_DRVINFO_DATA_V1_W { 1032 DWORD cbSize; 1033 DWORD DriverType; 1034 ULONG_PTR Reserved; 1035 WCHAR Description[LINE_LEN]; 1036 WCHAR MfgName[LINE_LEN]; 1037 WCHAR ProviderName[LINE_LEN]; 1038} SP_DRVINFO_DATA_V1_W, *PSP_DRVINFO_DATA_V1_W; 1039 1040#ifdef UNICODE 1041typedef SP_DRVINFO_DATA_V1_W SP_DRVINFO_DATA_V1, *PSP_DRVINFO_DATA_V1; 1042typedef SP_DRVINFO_DATA_V2_W SP_DRVINFO_DATA_V2, *PSP_DRVINFO_DATA_V2; 1043#else 1044typedef SP_DRVINFO_DATA_V1_A SP_DRVINFO_DATA_V1, *PSP_DRVINFO_DATA_V1; 1045typedef SP_DRVINFO_DATA_V2_A SP_DRVINFO_DATA_V2, *PSP_DRVINFO_DATA_V2; 1046#endif 1047 1048#if USE_SP_DRVINFO_DATA_V1 1049typedef SP_DRVINFO_DATA_V1_A SP_DRVINFO_DATA_A, *PSP_DRVINFO_DATA_A; 1050typedef SP_DRVINFO_DATA_V1_W SP_DRVINFO_DATA_W, *PSP_DRVINFO_DATA_W; 1051typedef SP_DRVINFO_DATA_V1 SP_DRVINFO_DATA, *PSP_DRVINFO_DATA; 1052#else 1053typedef SP_DRVINFO_DATA_V2_A SP_DRVINFO_DATA_A, *PSP_DRVINFO_DATA_A; 1054typedef SP_DRVINFO_DATA_V2_W SP_DRVINFO_DATA_W, *PSP_DRVINFO_DATA_W; 1055typedef SP_DRVINFO_DATA_V2 SP_DRVINFO_DATA, *PSP_DRVINFO_DATA; 1056#endif 1057 1058typedef DWORD (CALLBACK* PSP_DETSIG_CMPPROC)(HDEVINFO,PSP_DEVINFO_DATA,PSP_DEVINFO_DATA,PVOID); 1059 1060typedef struct _SP_DRVINFO_DETAIL_DATA_A { 1061 DWORD cbSize; 1062 FILETIME InfDate; 1063 DWORD CompatIDsOffset; 1064 DWORD CompatIDsLength; 1065 ULONG_PTR Reserved; 1066 CHAR SectionName[LINE_LEN]; 1067 CHAR InfFileName[MAX_PATH]; 1068 CHAR DrvDescription[LINE_LEN]; 1069 CHAR HardwareID[ANYSIZE_ARRAY]; 1070} SP_DRVINFO_DETAIL_DATA_A, *PSP_DRVINFO_DETAIL_DATA_A; 1071typedef struct _SP_DRVINFO_DETAIL_DATA_W { 1072 DWORD cbSize; 1073 FILETIME InfDate; 1074 DWORD CompatIDsOffset; 1075 DWORD CompatIDsLength; 1076 ULONG_PTR Reserved; 1077 WCHAR SectionName[LINE_LEN]; 1078 WCHAR InfFileName[MAX_PATH]; 1079 WCHAR DrvDescription[LINE_LEN]; 1080 WCHAR HardwareID[ANYSIZE_ARRAY]; 1081} SP_DRVINFO_DETAIL_DATA_W, *PSP_DRVINFO_DETAIL_DATA_W; 1082typedef struct _SP_DRVINSTALL_PARAMS { 1083 DWORD cbSize; 1084 DWORD Rank; 1085 DWORD Flags; 1086 DWORD_PTR PrivateData; 1087 DWORD Reserved; 1088} SP_DRVINSTALL_PARAMS, *PSP_DRVINSTALL_PARAMS; 1089 1090 1091typedef struct _COINSTALLER_CONTEXT_DATA { 1092 BOOL PostProcessing; 1093 DWORD InstallResult; 1094 PVOID PrivateData; 1095} COINSTALLER_CONTEXT_DATA, *PCOINSTALLER_CONTEXT_DATA; 1096typedef struct _SP_CLASSIMAGELIST_DATA { 1097 DWORD cbSize; 1098 HIMAGELIST ImageList; 1099 ULONG_PTR Reserved; 1100} SP_CLASSIMAGELIST_DATA, *PSP_CLASSIMAGELIST_DATA; 1101typedef struct _SP_PROPSHEETPAGE_REQUEST { 1102 DWORD cbSize; 1103 DWORD PageRequested; 1104 HDEVINFO DeviceInfoSet; 1105 PSP_DEVINFO_DATA DeviceInfoData; 1106} SP_PROPSHEETPAGE_REQUEST, *PSP_PROPSHEETPAGE_REQUEST; 1107typedef struct _SP_BACKUP_QUEUE_PARAMS_A { 1108 DWORD cbSize; 1109 CHAR FullInfPath[MAX_PATH]; 1110 INT FilenameOffset; 1111} SP_BACKUP_QUEUE_PARAMS_A, *PSP_BACKUP_QUEUE_PARAMS_A; 1112typedef struct _SP_BACKUP_QUEUE_PARAMS_W { 1113 DWORD cbSize; 1114 WCHAR FullInfPath[MAX_PATH]; 1115 INT FilenameOffset; 1116} SP_BACKUP_QUEUE_PARAMS_W, *PSP_BACKUP_QUEUE_PARAMS_W; 1117 1118 1119#ifdef UNICODE 1120typedef SP_ORIGINAL_FILE_INFO_W SP_ORIGINAL_FILE_INFO, *PSP_ORIGINAL_FILE_INFO; 1121typedef FILEPATHS_W FILEPATHS, *PFILEPATHS; 1122typedef SOURCE_MEDIA_W SOURCE_MEDIA, *PSOURCE_MEDIA; 1123typedef CABINET_INFO_W CABINET_INFO, *PCABINET_INFO; 1124typedef FILE_IN_CABINET_INFO_W FILE_IN_CABINET_INFO, *PFILE_IN_CABINET_INFO; 1125typedef SP_FILE_COPY_PARAMS_W SP_FILE_COPY_PARAMS, PSP_FILE_COPY_PARAMS; 1126typedef SP_DEVICE_INTERFACE_DETAIL_DATA_W SP_DEVICE_INTERFACE_DETAIL_DATA, 1127 *PSP_DEVICE_INTERFACE_DETAIL_DATA; 1128typedef SP_INTERFACE_DEVICE_DETAIL_DATA_W SP_INTERFACE_DEVICE_DETAIL_DATA, 1129 *PSP_INTERFACE_DEVICE_DETAIL_DATA; /* deprecated */ 1130typedef SP_DEVINFO_LIST_DETAIL_DATA_W SP_DEVINFO_LIST_DETAIL_DATA, 1131 *PSP_DEVINFO_LIST_DETAIL_DATA; 1132typedef SP_DEVINSTALL_PARAMS_W SP_DEVINSTALL_PARAMS, *PSP_DEVINSTALL_PARAMS; 1133typedef SP_SELECTDEVICE_PARAMS_W SP_SELECTDEVICE_PARAMS, *PSP_SELECTDEVICE_PARAMS; 1134typedef SP_TROUBLESHOOTER_PARAMS_W SP_TROUBLESHOOTER_PARAMS, 1135 *PSP_TROUBLESHOOTER_PARAMS; 1136typedef SP_POWERMESSAGEWAKE_PARAMS_W SP_POWERMESSAGEWAKE_PARAMS, 1137 *PSP_POWERMESSAGEWAKE_PARAMS; 1138typedef SP_DRVINFO_DETAIL_DATA_W SP_DRVINFO_DETAIL_DATA, 1139 *PSP_DRVINFO_DETAIL_DATA; 1140typedef SP_BACKUP_QUEUE_PARAMS_W SP_BACKUP_QUEUE_PARAMS, 1141 *PSP_BACKUP_QUEUE_PARAMS; 1142typedef SP_REGISTER_CONTROL_STATUSW SP_REGISTER_CONTROL_STATUS, *PSP_REGISTER_CONTROL_STATUS; 1143#else 1144typedef SP_ORIGINAL_FILE_INFO_A SP_ORIGINAL_FILE_INFO, *PSP_ORIGINAL_FILE_INFO; 1145typedef FILEPATHS_A FILEPATHS, *PFILEPATHS; 1146typedef SOURCE_MEDIA_A SOURCE_MEDIA, *PSOURCE_MEDIA; 1147typedef CABINET_INFO_A CABINET_INFO, *PCABINET_INFO; 1148typedef FILE_IN_CABINET_INFO_A FILE_IN_CABINET_INFO, *PFILE_IN_CABINET_INFO; 1149typedef SP_FILE_COPY_PARAMS_A SP_FILE_COPY_PARAMS, *PSP_FILE_COPY_PARAMS; 1150typedef SP_DEVICE_INTERFACE_DETAIL_DATA_A SP_DEVICE_INTERFACE_DETAIL_DATA, 1151 *PSP_DEVICE_INTERFACE_DETAIL_DATA; 1152typedef SP_INTERFACE_DEVICE_DETAIL_DATA_A SP_INTERFACE_DEVICE_DETAIL_DATA, 1153 *PSP_INTERFACE_DEVICE_DETAIL_DATA; /* deprecated */ 1154typedef SP_DEVINFO_LIST_DETAIL_DATA_A SP_DEVINFO_LIST_DETAIL_DATA, 1155 *PSP_DEVINFO_LIST_DETAIL_DATA; 1156typedef SP_DEVINSTALL_PARAMS_A SP_DEVINSTALL_PARAMS, *PSP_DEVINSTALL_PARAMS; 1157typedef SP_SELECTDEVICE_PARAMS_A SP_SELECTDEVICE_PARAMS, 1158 *PSP_SELECTDEVICE_PARAMS; 1159typedef SP_TROUBLESHOOTER_PARAMS_A SP_TROUBLESHOOTER_PARAMS, 1160 *PSP_TROUBLESHOOTER_PARAMS; 1161typedef SP_POWERMESSAGEWAKE_PARAMS_A SP_POWERMESSAGEWAKE_PARAMS, 1162 *PSP_POWERMESSAGEWAKE_PARAMS; 1163typedef SP_DRVINFO_DETAIL_DATA_A SP_DRVINFO_DETAIL_DATA, 1164 *PSP_DRVINFO_DETAIL_DATA; 1165typedef SP_BACKUP_QUEUE_PARAMS_A SP_BACKUP_QUEUE_PARAMS, 1166 *PSP_BACKUP_QUEUE_PARAMS; 1167typedef SP_REGISTER_CONTROL_STATUSA SP_REGISTER_CONTROL_STATUS, *PSP_REGISTER_CONTROL_STATUS; 1168#endif /* UNICODE */ 1169 1170 1171WINSETUPAPI LONG WINAPI AddTagToGroupOrderList(PCWSTR, DWORD, DWORD); 1172WINSETUPAPI VOID WINAPI AssertFail(LPSTR, UINT, LPSTR); 1173WINSETUPAPI DWORD WINAPI CaptureStringArg(PCWSTR, PWSTR*); 1174WINSETUPAPI BOOL WINAPI DelayedMove(PCWSTR, PCWSTR); 1175WINSETUPAPI BOOL WINAPI DoesUserHavePrivilege(PCWSTR); 1176WINSETUPAPI BOOL WINAPI FileExists(PCWSTR, PWIN32_FIND_DATAW); 1177WINSETUPAPI DWORD WINAPI GetSetFileTimestamp(PCWSTR, PFILETIME, PFILETIME, PFILETIME, BOOLEAN); 1178WINSETUPAPI VOID WINAPI InstallHinfSectionA(_In_ HWND, _In_ HINSTANCE, _In_ PCSTR, _In_ INT); 1179WINSETUPAPI VOID WINAPI InstallHinfSectionW(_In_ HWND, _In_ HINSTANCE, _In_ PCWSTR, _In_ INT); 1180WINSETUPAPI BOOL WINAPI IsUserAdmin(VOID); 1181WINSETUPAPI VOID WINAPI MyFree(PVOID); 1182WINSETUPAPI PVOID WINAPI MyMalloc(DWORD); 1183WINSETUPAPI PVOID WINAPI MyRealloc(PVOID, DWORD); 1184WINSETUPAPI LONG WINAPI QueryRegistryValue(HKEY, PCWSTR, PBYTE*, PDWORD, PDWORD); 1185WINSETUPAPI DWORD WINAPI RetreiveFileSecurity(PCWSTR, PSECURITY_DESCRIPTOR*); 1186 1187WINSETUPAPI BOOL WINAPI SetupAddInstallSectionToDiskSpaceListA(_In_ HDSKSPC, _In_ HINF, _In_opt_ HINF, _In_ PCSTR, _Reserved_ PVOID, _Reserved_ UINT); 1188WINSETUPAPI BOOL WINAPI SetupAddInstallSectionToDiskSpaceListW(_In_ HDSKSPC, _In_ HINF, _In_opt_ HINF, _In_ PCWSTR, _Reserved_ PVOID, _Reserved_ UINT); 1189WINSETUPAPI BOOL WINAPI SetupAddSectionToDiskSpaceListA(_In_ HDSKSPC, _In_ HINF, _In_opt_ HINF, _In_ PCSTR, _In_ UINT, _Reserved_ PVOID, _Reserved_ UINT); 1190WINSETUPAPI BOOL WINAPI SetupAddSectionToDiskSpaceListW(_In_ HDSKSPC, _In_ HINF, _In_opt_ HINF, _In_ PCWSTR, _In_ UINT, _Reserved_ PVOID, _Reserved_ UINT); 1191WINSETUPAPI BOOL WINAPI SetupAddToDiskSpaceListA(_In_ HDSKSPC, _In_ PCSTR, _In_ LONGLONG, _In_ UINT, _Reserved_ PVOID, _Reserved_ UINT); 1192WINSETUPAPI BOOL WINAPI SetupAddToDiskSpaceListW(_In_ HDSKSPC, _In_ PCWSTR, _In_ LONGLONG, _In_ UINT, _Reserved_ PVOID, _Reserved_ UINT); 1193WINSETUPAPI BOOL WINAPI SetupAddToSourceListA(_In_ DWORD, _In_ PCSTR); 1194WINSETUPAPI BOOL WINAPI SetupAddToSourceListW(_In_ DWORD, _In_ PCWSTR); 1195WINSETUPAPI BOOL WINAPI SetupAdjustDiskSpaceListA(_In_ HDSKSPC, _In_ LPCSTR, _In_ LONGLONG, _Reserved_ PVOID, _Reserved_ UINT); 1196WINSETUPAPI BOOL WINAPI SetupAdjustDiskSpaceListW(_In_ HDSKSPC, _In_ LPCWSTR, _In_ LONGLONG, _Reserved_ PVOID, _Reserved_ UINT); 1197WINSETUPAPI UINT WINAPI SetupBackupErrorA(_In_ HWND, _In_opt_ PCSTR, _In_ PCSTR, _In_opt_ PCSTR, _In_ UINT, _In_ DWORD); 1198WINSETUPAPI UINT WINAPI SetupBackupErrorW(_In_ HWND, _In_opt_ PCWSTR, _In_ PCWSTR, _In_opt_ PCWSTR, _In_ UINT, _In_ DWORD); 1199WINSETUPAPI BOOL WINAPI SetupCancelTemporary(VOID); 1200WINSETUPAPI BOOL WINAPI SetupCloseFileQueue(_In_ HSPFILEQ); 1201WINSETUPAPI VOID WINAPI SetupCloseInfFile(_In_ HINF); 1202WINSETUPAPI VOID WINAPI SetupCloseLog(VOID); 1203WINSETUPAPI BOOL WINAPI SetupCommitFileQueueA(_In_opt_ HWND, _In_ HSPFILEQ, _In_ PSP_FILE_CALLBACK_A, _In_ PVOID); 1204WINSETUPAPI BOOL WINAPI SetupCommitFileQueueW(_In_opt_ HWND, _In_ HSPFILEQ, _In_ PSP_FILE_CALLBACK_W, _In_ PVOID); 1205 1206WINSETUPAPI 1207UINT 1208WINAPI 1209SetupCopyErrorA( 1210 _In_ HWND hwndParent, 1211 _In_opt_ PCSTR DialogTitle, 1212 _In_opt_ PCSTR DiskName, 1213 _In_ PCSTR PathToSource, 1214 _In_ PCSTR SourceFile, 1215 _In_opt_ PCSTR TargetPathFile, 1216 _In_ UINT Win32ErrorCode, 1217 _In_ DWORD Style, 1218 _Out_writes_opt_(PathBufferSize) PSTR PathBuffer, 1219 _In_ DWORD PathBufferSize, 1220 _Out_opt_ PDWORD PathRequiredSize); 1221 1222WINSETUPAPI 1223UINT 1224WINAPI 1225SetupCopyErrorW( 1226 _In_ HWND hwndParent, 1227 _In_opt_ PCWSTR DialogTitle, 1228 _In_opt_ PCWSTR DiskName, 1229 _In_ PCWSTR PathToSource, 1230 _In_ PCWSTR SourceFile, 1231 _In_opt_ PCWSTR TargetPathFile, 1232 _In_ UINT Win32ErrorCode, 1233 _In_ DWORD Style, 1234 _Out_writes_opt_(PathBufferSize) PWSTR PathBuffer, 1235 _In_ DWORD PathBufferSize, 1236 _Out_opt_ PDWORD PathRequiredSize); 1237 1238WINSETUPAPI 1239BOOL 1240WINAPI 1241SetupCopyOEMInfA( 1242 _In_ PCSTR SourceInfFileName, 1243 _In_opt_ PCSTR OEMSourceMediaLocation, 1244 _In_ DWORD OEMSourceMediaType, 1245 _In_ DWORD CopyStyle, 1246 _Out_writes_opt_(DestinationInfFileNameSize) PSTR DestinationInfFileName, 1247 _In_ DWORD DestinationInfFileNameSize, 1248 _Out_opt_ PDWORD RequiredSize, 1249 _Out_opt_ PSTR *DestinationInfFileNameComponent); 1250 1251WINSETUPAPI 1252BOOL 1253WINAPI 1254SetupCopyOEMInfW( 1255 _In_ PCWSTR SourceInfFileName, 1256 _In_opt_ PCWSTR OEMSourceMediaLocation, 1257 _In_ DWORD OEMSourceMediaType, 1258 _In_ DWORD CopyStyle, 1259 _Out_writes_opt_(DestinationInfFileNameSize) PWSTR DestinationInfFileName, 1260 _In_ DWORD DestinationInfFileNameSize, 1261 _Out_opt_ PDWORD RequiredSize, 1262 _Out_opt_ PWSTR *DestinationInfFileNameComponent); 1263 1264WINSETUPAPI HDSKSPC WINAPI SetupCreateDiskSpaceListA(_Reserved_ PVOID, _Reserved_ DWORD, _In_ UINT); 1265WINSETUPAPI HDSKSPC WINAPI SetupCreateDiskSpaceListW(_Reserved_ PVOID, _Reserved_ DWORD, _In_ UINT); 1266WINSETUPAPI DWORD WINAPI SetupDecompressOrCopyFileA(_In_ PCSTR, _In_ PCSTR, _In_opt_ PUINT); 1267WINSETUPAPI DWORD WINAPI SetupDecompressOrCopyFileW(_In_ PCWSTR, _In_ PCWSTR, _In_opt_ PUINT); 1268WINSETUPAPI UINT WINAPI SetupDefaultQueueCallbackA(_In_ PVOID, _In_ UINT, _In_ UINT_PTR, _In_ UINT_PTR); 1269WINSETUPAPI UINT WINAPI SetupDefaultQueueCallbackW(_In_ PVOID, _In_ UINT, _In_ UINT_PTR, _In_ UINT_PTR); 1270WINSETUPAPI UINT WINAPI SetupDeleteErrorA(_In_ HWND, _In_opt_ PCSTR, _In_ PCSTR, _In_ UINT, _In_ DWORD); 1271WINSETUPAPI UINT WINAPI SetupDeleteErrorW(_In_ HWND, _In_opt_ PCWSTR, _In_ PCWSTR, _In_ UINT, _In_ DWORD); 1272WINSETUPAPI BOOL WINAPI SetupDestroyDiskSpaceList(_Inout_ HDSKSPC); 1273WINSETUPAPI BOOL WINAPI SetupDiAskForOEMDisk(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA); 1274 1275_Success_(return != FALSE) 1276WINSETUPAPI 1277BOOL 1278WINAPI 1279SetupDiBuildClassInfoList( 1280 _In_ DWORD Flags, 1281 _Out_writes_to_opt_(ClassGuidListSize, *RequiredSize) LPGUID ClassGuidList, 1282 _In_ DWORD ClassGuidListSize, 1283 _Out_ PDWORD RequiredSize); 1284 1285_Success_(return != FALSE) 1286WINSETUPAPI 1287BOOL 1288WINAPI 1289SetupDiBuildClassInfoListExA( 1290 _In_ DWORD Flags, 1291 _Out_writes_to_opt_(ClassGuidListSize, *RequiredSize) LPGUID ClassGuidList, 1292 _In_ DWORD ClassGuidListSize, 1293 _Out_ PDWORD RequiredSize, 1294 _In_opt_ PCSTR MachineName, 1295 _Reserved_ PVOID Reserved); 1296 1297_Success_(return != FALSE) 1298WINSETUPAPI 1299BOOL 1300WINAPI 1301SetupDiBuildClassInfoListExW( 1302 _In_ DWORD Flags, 1303 _Out_writes_to_opt_(ClassGuidListSize, *RequiredSize) LPGUID ClassGuidList, 1304 _In_ DWORD ClassGuidListSize, 1305 _Out_ PDWORD RequiredSize, 1306 _In_opt_ PCWSTR MachineName, 1307 _Reserved_ PVOID Reserved); 1308 1309WINSETUPAPI BOOL WINAPI SetupDiBuildDriverInfoList(_In_ HDEVINFO, _Inout_opt_ PSP_DEVINFO_DATA, _In_ DWORD); 1310WINSETUPAPI BOOL WINAPI SetupDiCallClassInstaller(_In_ DI_FUNCTION, _In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA); 1311WINSETUPAPI BOOL WINAPI SetupDiCancelDriverInfoSearch(_In_ HDEVINFO); 1312WINSETUPAPI BOOL WINAPI SetupDiChangeState(_In_ HDEVINFO, _Inout_ PSP_DEVINFO_DATA); 1313 1314_Success_(return != FALSE) 1315WINSETUPAPI 1316BOOL 1317WINAPI 1318SetupDiClassGuidsFromNameA( 1319 _In_ PCSTR ClassName, 1320 _Out_writes_to_(ClassGuidListSize, *RequiredSize) LPGUID ClassGuidList, 1321 _In_ DWORD ClassGuidListSize, 1322 _Out_ PDWORD RequiredSize); 1323 1324_Success_(return != FALSE) 1325WINSETUPAPI 1326BOOL 1327WINAPI 1328SetupDiClassGuidsFromNameW( 1329 _In_ PCWSTR ClassName, 1330 _Out_writes_to_(ClassGuidListSize, *RequiredSize) LPGUID ClassGuidList, 1331 _In_ DWORD ClassGuidListSize, 1332 _Out_ PDWORD RequiredSize); 1333 1334_Success_(return != FALSE) 1335WINSETUPAPI 1336BOOL 1337WINAPI 1338SetupDiClassGuidsFromNameExA( 1339 _In_ PCSTR ClassName, 1340 _Out_writes_to_(ClassGuidListSize, *RequiredSize) LPGUID ClassGuidList, 1341 _In_ DWORD ClassGuidListSize, 1342 _Out_ PDWORD RequiredSize, 1343 _In_opt_ PCSTR MachineName, 1344 _Reserved_ PVOID Reserved); 1345 1346_Success_(return != FALSE) 1347WINSETUPAPI 1348BOOL 1349WINAPI 1350SetupDiClassGuidsFromNameExW( 1351 _In_ PCWSTR ClassName, 1352 _Out_writes_to_(ClassGuidListSize, *RequiredSize) LPGUID ClassGuidList, 1353 _In_ DWORD ClassGuidListSize, 1354 _Out_ PDWORD RequiredSize, 1355 _In_opt_ PCWSTR MachineName, 1356 _Reserved_ PVOID Reserved); 1357 1358WINSETUPAPI 1359BOOL 1360WINAPI 1361SetupDiClassNameFromGuidA( 1362 _In_ CONST GUID *ClassGuid, 1363 _Out_writes_(ClassNameSize) PSTR ClassName, 1364 _In_ DWORD ClassNameSize, 1365 _Out_opt_ PDWORD RequiredSize); 1366 1367WINSETUPAPI 1368BOOL 1369WINAPI 1370SetupDiClassNameFromGuidW( 1371 _In_ CONST GUID *ClassGuid, 1372 _Out_writes_(ClassNameSize) PWSTR ClassName, 1373 _In_ DWORD ClassNameSize, 1374 _Out_opt_ PDWORD RequiredSize); 1375 1376WINSETUPAPI 1377BOOL 1378WINAPI 1379SetupDiClassNameFromGuidExA( 1380 _In_ CONST GUID *ClassGuid, 1381 _Out_writes_(ClassNameSize) PSTR ClassName, 1382 _In_ DWORD ClassNameSize, 1383 _Out_opt_ PDWORD RequiredSize, 1384 _In_opt_ PCSTR MachineName, 1385 _Reserved_ PVOID Reserved); 1386 1387WINSETUPAPI 1388BOOL 1389WINAPI 1390SetupDiClassNameFromGuidExW( 1391 _In_ CONST GUID *ClassGuid, 1392 _Out_writes_(ClassNameSize) PWSTR ClassName, 1393 _In_ DWORD ClassNameSize, 1394 _Out_opt_ PDWORD RequiredSize, 1395 _In_opt_ PCWSTR MachineName, 1396 _Reserved_ PVOID Reserved); 1397 1398WINSETUPAPI BOOL WINAPI SetupDiCreateDeviceInfoA(_In_ HDEVINFO, _In_ PCSTR, _In_ CONST GUID*, _In_opt_ PCSTR, _In_opt_ HWND, _In_ DWORD, _Out_opt_ PSP_DEVINFO_DATA); 1399WINSETUPAPI BOOL WINAPI SetupDiCreateDeviceInfoW(_In_ HDEVINFO, _In_ PCWSTR, _In_ CONST GUID*, _In_opt_ PCWSTR, _In_opt_ HWND, _In_ DWORD, _Out_opt_ PSP_DEVINFO_DATA); 1400_Check_return_ WINSETUPAPI HDEVINFO WINAPI SetupDiCreateDeviceInfoList(_In_opt_ CONST GUID*, _In_opt_ HWND); 1401_Check_return_ WINSETUPAPI HDEVINFO WINAPI SetupDiCreateDeviceInfoListExA(_In_opt_ CONST GUID*, _In_opt_ HWND, _In_opt_ PCSTR, _Reserved_ PVOID); 1402_Check_return_ WINSETUPAPI HDEVINFO WINAPI SetupDiCreateDeviceInfoListExW(_In_opt_ CONST GUID*, _In_opt_ HWND, _In_opt_ PCWSTR, _Reserved_ PVOID); 1403WINSETUPAPI BOOL WINAPI SetupDiCreateDeviceInterfaceA(_In_ HDEVINFO, _In_ PSP_DEVINFO_DATA, _In_ CONST GUID*, _In_opt_ PCSTR, _In_ DWORD, _Out_opt_ PSP_DEVICE_INTERFACE_DATA); 1404WINSETUPAPI BOOL WINAPI SetupDiCreateDeviceInterfaceW(_In_ HDEVINFO, _In_ PSP_DEVINFO_DATA, _In_ CONST GUID*, _In_opt_ PCWSTR, _In_ DWORD, _Out_opt_ PSP_DEVICE_INTERFACE_DATA); 1405_Check_return_ WINSETUPAPI HKEY WINAPI SetupDiCreateDeviceInterfaceRegKeyA(_In_ HDEVINFO, _In_ PSP_DEVICE_INTERFACE_DATA, _Reserved_ DWORD, _In_ REGSAM, _In_opt_ HINF, _In_opt_ PCSTR); 1406_Check_return_ WINSETUPAPI HKEY WINAPI SetupDiCreateDeviceInterfaceRegKeyW(_In_ HDEVINFO, _In_ PSP_DEVICE_INTERFACE_DATA, _Reserved_ DWORD, _In_ REGSAM, _In_opt_ HINF, _In_opt_ PCWSTR); 1407_Check_return_ WINSETUPAPI HKEY WINAPI SetupDiCreateDevRegKeyA(_In_ HDEVINFO, _In_ PSP_DEVINFO_DATA, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_opt_ HINF, _In_opt_ PCSTR); 1408_Check_return_ WINSETUPAPI HKEY WINAPI SetupDiCreateDevRegKeyW(_In_ HDEVINFO, _In_ PSP_DEVINFO_DATA, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_opt_ HINF, _In_opt_ PCWSTR); 1409WINSETUPAPI BOOL WINAPI SetupDiDeleteDeviceInfo(_In_ HDEVINFO, _In_ PSP_DEVINFO_DATA); 1410WINSETUPAPI BOOL WINAPI SetupDiDeleteDeviceInterfaceData(_In_ HDEVINFO, _In_ PSP_DEVICE_INTERFACE_DATA); 1411WINSETUPAPI BOOL WINAPI SetupDiDeleteDeviceInterfaceRegKey(_In_ HDEVINFO, _In_ PSP_DEVICE_INTERFACE_DATA, _Reserved_ DWORD); 1412WINSETUPAPI BOOL WINAPI SetupDiDeleteDevRegKey(_In_ HDEVINFO, _In_ PSP_DEVINFO_DATA, _In_ DWORD, _In_ DWORD, _In_ DWORD); 1413WINSETUPAPI BOOL WINAPI SetupDiDestroyClassImageList(_In_ PSP_CLASSIMAGELIST_DATA); 1414WINSETUPAPI BOOL WINAPI SetupDiDestroyDeviceInfoList(_In_ HDEVINFO); 1415WINSETUPAPI BOOL WINAPI SetupDiDestroyDriverInfoList(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ DWORD); 1416WINSETUPAPI INT WINAPI SetupDiDrawMiniIcon(_In_ HDC, _In_ RECT, _In_ INT, _In_ DWORD); 1417WINSETUPAPI BOOL WINAPI SetupDiEnumDeviceInfo(_In_ HDEVINFO, _In_ DWORD, _Out_ PSP_DEVINFO_DATA); 1418WINSETUPAPI BOOL WINAPI SetupDiEnumDeviceInterfaces(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ CONST GUID*, _In_ DWORD, _Out_ PSP_DEVICE_INTERFACE_DATA); 1419WINSETUPAPI BOOL WINAPI SetupDiEnumDriverInfoA(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ DWORD, _In_ DWORD, _Out_ PSP_DRVINFO_DATA_A); 1420WINSETUPAPI BOOL WINAPI SetupDiEnumDriverInfoW(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ DWORD, _In_ DWORD, _Out_ PSP_DRVINFO_DATA_W); 1421 1422WINSETUPAPI 1423BOOL 1424WINAPI 1425SetupDiGetActualSectionToInstallA( 1426 _In_ HINF InfHandle, 1427 _In_ PCSTR InfSectionName, 1428 _Out_writes_opt_(InfSectionWithExtSize) PSTR InfSectionWithExt, 1429 _In_ DWORD InfSectionWithExtSize, 1430 _Out_opt_ PDWORD RequiredSize, 1431 _Out_opt_ PSTR *Extension); 1432 1433WINSETUPAPI 1434BOOL 1435WINAPI 1436SetupDiGetActualSectionToInstallW( 1437 _In_ HINF InfHandle, 1438 _In_ PCWSTR InfSectionName, 1439 _Out_writes_opt_(InfSectionWithExtSize) PWSTR InfSectionWithExt, 1440 _In_ DWORD InfSectionWithExtSize, 1441 _Out_opt_ PDWORD RequiredSize, 1442 _Out_opt_ PWSTR *Extension); 1443 1444WINSETUPAPI 1445BOOL 1446WINAPI 1447SetupDiGetActualSectionToInstallExA( 1448 _In_ HINF InfHandle, 1449 _In_ PCSTR InfSectionName, 1450 _In_opt_ PSP_ALTPLATFORM_INFO AlternatePlatformInfo, 1451 _Out_writes_opt_(InfSectionWithExtSize) PSTR InfSectionWithExt, 1452 _In_ DWORD InfSectionWithExtSize, 1453 _Out_opt_ PDWORD RequiredSize, 1454 _Out_opt_ PSTR *Extension, 1455 _Reserved_ PVOID Reserved); 1456 1457WINSETUPAPI 1458BOOL 1459WINAPI 1460SetupDiGetActualSectionToInstallExW( 1461 _In_ HINF InfHandle, 1462 _In_ PCWSTR InfSectionName, 1463 _In_opt_ PSP_ALTPLATFORM_INFO AlternatePlatformInfo, 1464 _Out_writes_opt_(InfSectionWithExtSize) PWSTR InfSectionWithExt, 1465 _In_ DWORD InfSectionWithExtSize, 1466 _Out_opt_ PDWORD RequiredSize, 1467 _Out_opt_ PWSTR *Extension, 1468 _Reserved_ PVOID Reserved); 1469 1470WINSETUPAPI BOOL WINAPI SetupDiGetClassBitmapIndex(_In_opt_ CONST GUID*, _Out_ PINT); 1471 1472WINSETUPAPI 1473BOOL 1474WINAPI 1475SetupDiGetClassDescriptionA( 1476 _In_ CONST GUID *ClassGuid, 1477 _Out_writes_(ClassDescriptionSize) PSTR ClassDescription, 1478 _In_ DWORD ClassDescriptionSize, 1479 _Out_opt_ PDWORD RequiredSize); 1480 1481WINSETUPAPI 1482BOOL 1483WINAPI 1484SetupDiGetClassDescriptionW( 1485 _In_ CONST GUID *ClassGuid, 1486 _Out_writes_(ClassDescriptionSize) PWSTR ClassDescription, 1487 _In_ DWORD ClassDescriptionSize, 1488 _Out_opt_ PDWORD RequiredSize); 1489 1490WINSETUPAPI 1491BOOL 1492WINAPI 1493SetupDiGetClassDescriptionExA( 1494 _In_ CONST GUID *ClassGuid, 1495 _Out_writes_(ClassDescriptionSize) PSTR ClassDescription, 1496 _In_ DWORD ClassDescriptionSize, 1497 _Out_opt_ PDWORD RequiredSize, 1498 _In_opt_ PCSTR MachineName, 1499 _Reserved_ PVOID Reserved); 1500 1501WINSETUPAPI 1502BOOL 1503WINAPI 1504SetupDiGetClassDescriptionExW( 1505 _In_ CONST GUID *ClassGuid, 1506 _Out_writes_(ClassDescriptionSize) PWSTR ClassDescription, 1507 _In_ DWORD ClassDescriptionSize, 1508 _Out_opt_ PDWORD RequiredSize, 1509 _In_opt_ PCWSTR MachineName, 1510 _Reserved_ PVOID Reserved); 1511 1512WINSETUPAPI BOOL WINAPI SetupDiGetClassDevPropertySheetsA(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ LPPROPSHEETHEADERA, _In_ DWORD, _Out_opt_ PDWORD, _In_ DWORD); 1513WINSETUPAPI BOOL WINAPI SetupDiGetClassDevPropertySheetsW(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ LPPROPSHEETHEADERW, _In_ DWORD, _Out_opt_ PDWORD, _In_ DWORD); 1514_Check_return_ WINSETUPAPI HDEVINFO WINAPI SetupDiGetClassDevsA(_In_opt_ CONST GUID*, _In_opt_ PCSTR, _In_opt_ HWND, _In_ DWORD); 1515_Check_return_ WINSETUPAPI HDEVINFO WINAPI SetupDiGetClassDevsW(_In_opt_ CONST GUID*, _In_opt_ PCWSTR, _In_opt_ HWND, _In_ DWORD); 1516_Check_return_ WINSETUPAPI HDEVINFO WINAPI SetupDiGetClassDevsExA(_In_opt_ CONST GUID*, _In_opt_ PCSTR, _In_opt_ HWND, _In_ DWORD, _In_opt_ HDEVINFO, _In_opt_ PCSTR, _Reserved_ PVOID); 1517_Check_return_ WINSETUPAPI HDEVINFO WINAPI SetupDiGetClassDevsExW(_In_opt_ CONST GUID*, _In_opt_ PCWSTR, _In_opt_ HWND, _In_ DWORD, _In_opt_ HDEVINFO, _In_opt_ PCWSTR, _Reserved_ PVOID); 1518WINSETUPAPI BOOL WINAPI SetupDiGetClassImageIndex(_In_ PSP_CLASSIMAGELIST_DATA, _In_ CONST GUID*, _Out_ PINT); 1519WINSETUPAPI BOOL WINAPI SetupDiGetClassImageList(_Out_ PSP_CLASSIMAGELIST_DATA); 1520WINSETUPAPI BOOL WINAPI SetupDiGetClassImageListExA(_Out_ PSP_CLASSIMAGELIST_DATA, _In_opt_ PCSTR, _Reserved_ PVOID); 1521WINSETUPAPI BOOL WINAPI SetupDiGetClassImageListExW(_Out_ PSP_CLASSIMAGELIST_DATA, _In_opt_ PCWSTR, _Reserved_ PVOID); 1522 1523_Success_(return != FALSE) 1524WINSETUPAPI 1525BOOL 1526WINAPI 1527SetupDiGetClassInstallParamsA( 1528 _In_ HDEVINFO DeviceInfoSet, 1529 _In_opt_ PSP_DEVINFO_DATA DeviceInfoData, 1530 _Out_writes_bytes_to_opt_(ClassInstallParamsSize, *RequiredSize) PSP_CLASSINSTALL_HEADER ClassInstallParams, 1531 _In_ DWORD ClassInstallParamsSize, 1532 _Out_opt_ PDWORD RequiredSize); 1533 1534_Success_(return != FALSE) 1535WINSETUPAPI 1536BOOL 1537WINAPI 1538SetupDiGetClassInstallParamsW( 1539 _In_ HDEVINFO DeviceInfoSet, 1540 _In_opt_ PSP_DEVINFO_DATA DeviceInfoData, 1541 _Out_writes_bytes_to_opt_(ClassInstallParamsSize, *RequiredSize) PSP_CLASSINSTALL_HEADER ClassInstallParams, 1542 _In_ DWORD ClassInstallParamsSize, 1543 _Out_opt_ PDWORD RequiredSize); 1544 1545_Success_(return != FALSE) 1546WINSETUPAPI 1547BOOL 1548WINAPI 1549SetupDiGetClassRegistryPropertyA( 1550 _In_ CONST GUID *ClassGuid, 1551 _In_ DWORD Property, 1552 _Out_opt_ PDWORD PropertyRegDataType, 1553 _Out_writes_bytes_to_(PropertyBufferSize, *RequiredSize) PBYTE PropertyBuffer, 1554 _In_ DWORD PropertyBufferSize, 1555 _Out_opt_ PDWORD RequiredSize, 1556 _In_opt_ PCSTR MachineName, 1557 _Reserved_ PVOID Reserved); 1558 1559_Success_(return != FALSE) 1560WINSETUPAPI 1561BOOL 1562WINAPI 1563SetupDiGetClassRegistryPropertyW( 1564 _In_ CONST GUID *ClassGuid, 1565 _In_ DWORD Property, 1566 _Out_opt_ PDWORD PropertyRegDataType, 1567 _Out_writes_bytes_to_(PropertyBufferSize, *RequiredSize) PBYTE PropertyBuffer, 1568 _In_ DWORD PropertyBufferSize, 1569 _Out_opt_ PDWORD RequiredSize, 1570 _In_opt_ PCWSTR MachineName, 1571 _Reserved_ PVOID Reserved); 1572 1573WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInfoListClass(_In_ HDEVINFO, _Out_ LPGUID); 1574WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInfoListDetailA(_In_ HDEVINFO, _Out_ PSP_DEVINFO_LIST_DETAIL_DATA_A); 1575WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInfoListDetailW(_In_ HDEVINFO, _Out_ PSP_DEVINFO_LIST_DETAIL_DATA_W); 1576WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInstallParamsA(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _Out_ PSP_DEVINSTALL_PARAMS_A); 1577WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInstallParamsW(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _Out_ PSP_DEVINSTALL_PARAMS_W); 1578 1579WINSETUPAPI 1580BOOL 1581WINAPI 1582SetupDiGetDeviceInstanceIdA( 1583 _In_ HDEVINFO DeviceInfoSet, 1584 _In_ PSP_DEVINFO_DATA DeviceInfoData, 1585 _Out_writes_opt_(DeviceInstanceIdSize) PSTR DeviceInstanceId, 1586 _In_ DWORD DeviceInstanceIdSize, 1587 _Out_opt_ PDWORD RequiredSize); 1588 1589WINSETUPAPI 1590BOOL 1591WINAPI 1592SetupDiGetDeviceInstanceIdW( 1593 _In_ HDEVINFO DeviceInfoSet, 1594 _In_ PSP_DEVINFO_DATA DeviceInfoData, 1595 _Out_writes_opt_(DeviceInstanceIdSize) PWSTR DeviceInstanceId, 1596 _In_ DWORD DeviceInstanceIdSize, 1597 _Out_opt_ PDWORD RequiredSize); 1598 1599WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInterfaceAlias(_In_ HDEVINFO, _In_ PSP_DEVICE_INTERFACE_DATA, _In_ CONST GUID*, _Out_ PSP_DEVICE_INTERFACE_DATA); 1600 1601_Success_(return != FALSE) 1602_At_((LPSTR)DeviceInterfaceDetailData->DevicePath, _Post_z_) 1603WINSETUPAPI 1604BOOL 1605WINAPI 1606SetupDiGetDeviceInterfaceDetailA( 1607 _In_ HDEVINFO DeviceInfoSet, 1608 _In_ PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData, 1609 _Inout_updates_bytes_to_opt_(DeviceInterfaceDetailDataSize, *RequiredSize) PSP_DEVICE_INTERFACE_DETAIL_DATA_A DeviceInterfaceDetailData, 1610 _In_ DWORD DeviceInterfaceDetailDataSize, 1611 _Out_opt_ _Out_range_(>=, sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA_A)) PDWORD RequiredSize, 1612 _Out_opt_ PSP_DEVINFO_DATA DeviceInfoData); 1613 1614_Success_(return != FALSE) 1615_At_((LPWSTR)DeviceInterfaceDetailData->DevicePath, _Post_z_) 1616WINSETUPAPI 1617BOOL 1618WINAPI 1619SetupDiGetDeviceInterfaceDetailW( 1620 _In_ HDEVINFO DeviceInfoSet, 1621 _In_ PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData, 1622 _Out_writes_bytes_to_opt_(DeviceInterfaceDetailDataSize, *RequiredSize) PSP_DEVICE_INTERFACE_DETAIL_DATA_W DeviceInterfaceDetailData, 1623 _In_ DWORD DeviceInterfaceDetailDataSize, 1624 _Out_opt_ _Out_range_(>=, sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA_W)) PDWORD RequiredSize, 1625 _Out_opt_ PSP_DEVINFO_DATA DeviceInfoData); 1626 1627_Success_(return != FALSE) 1628_When_((*PropertyRegDataType == REG_SZ), _At_((PSTR) PropertyBuffer, _Post_valid_)) 1629_When_((*PropertyRegDataType == REG_MULTI_SZ), _At_((PZZSTR) PropertyBuffer, _Post_valid_)) 1630WINSETUPAPI 1631BOOL 1632WINAPI 1633SetupDiGetDeviceRegistryPropertyA( 1634 _In_ HDEVINFO DeviceInfoSet, 1635 _In_ PSP_DEVINFO_DATA DeviceInfoData, 1636 _In_ DWORD Property, 1637 _Out_opt_ PDWORD PropertyRegDataType, 1638 _Out_writes_bytes_to_opt_(PropertyBufferSize, *RequiredSize) PBYTE PropertyBuffer, 1639 _In_ DWORD PropertyBufferSize, 1640 _Out_opt_ PDWORD RequiredSize); 1641 1642_Success_(return != FALSE) 1643_When_((*PropertyRegDataType == REG_SZ), _At_((PWSTR) PropertyBuffer, _Post_valid_)) 1644_When_((*PropertyRegDataType == REG_MULTI_SZ), _At_((PZZWSTR) PropertyBuffer, _Post_valid_)) 1645WINSETUPAPI 1646BOOL 1647WINAPI 1648SetupDiGetDeviceRegistryPropertyW( 1649 _In_ HDEVINFO DeviceInfoSet, 1650 _In_ PSP_DEVINFO_DATA DeviceInfoData, 1651 _In_ DWORD Property, 1652 _Out_opt_ PDWORD PropertyRegDataType, 1653 _Out_writes_bytes_to_opt_(PropertyBufferSize, *RequiredSize) PBYTE PropertyBuffer, 1654 _In_ DWORD PropertyBufferSize, 1655 _Out_opt_ PDWORD RequiredSize); 1656 1657WINSETUPAPI 1658BOOL 1659WINAPI 1660SetupDiGetDriverInfoDetailA( 1661 _In_ HDEVINFO DeviceInfoSet, 1662 _In_opt_ PSP_DEVINFO_DATA DeviceInfoData, 1663 _In_ PSP_DRVINFO_DATA_A DriverInfoData, 1664 _Inout_updates_bytes_opt_(DriverInfoDetailDataSize) PSP_DRVINFO_DETAIL_DATA_A DriverInfoDetailData, 1665 _In_ DWORD DriverInfoDetailDataSize, 1666 _Out_opt_ PDWORD RequiredSize); 1667 1668WINSETUPAPI 1669BOOL 1670WINAPI 1671SetupDiGetDriverInfoDetailW( 1672 _In_ HDEVINFO DeviceInfoSet, 1673 _In_opt_ PSP_DEVINFO_DATA DeviceInfoData, 1674 _In_ PSP_DRVINFO_DATA_W DriverInfoData, 1675 _Inout_updates_bytes_opt_(DriverInfoDetailDataSize) PSP_DRVINFO_DETAIL_DATA_W DriverInfoDetailData, 1676 _In_ DWORD DriverInfoDetailDataSize, 1677 _Out_opt_ PDWORD RequiredSize); 1678 1679WINSETUPAPI BOOL WINAPI SetupDiGetDriverInstallParamsA(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ PSP_DRVINFO_DATA_A, _Out_ PSP_DRVINSTALL_PARAMS); 1680WINSETUPAPI BOOL WINAPI SetupDiGetDriverInstallParamsW(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ PSP_DRVINFO_DATA_W, _Out_ PSP_DRVINSTALL_PARAMS); 1681 1682WINSETUPAPI 1683BOOL 1684WINAPI 1685SetupDiGetHwProfileFriendlyNameA( 1686 _In_ DWORD HwProfile, 1687 _Out_writes_(FriendlyNameSize) PSTR FriendlyName, 1688 _In_ DWORD FriendlyNameSize, 1689 _Out_opt_ PDWORD RequiredSize); 1690 1691WINSETUPAPI 1692BOOL 1693WINAPI 1694SetupDiGetHwProfileFriendlyNameW( 1695 _In_ DWORD HwProfile, 1696 _Out_writes_(FriendlyNameSize) PWSTR FriendlyName, 1697 _In_ DWORD FriendlyNameSize, 1698 _Out_opt_ PDWORD RequiredSize); 1699 1700WINSETUPAPI 1701BOOL 1702WINAPI 1703SetupDiGetHwProfileFriendlyNameExA( 1704 _In_ DWORD HwProfile, 1705 _Out_writes_(FriendlyNameSize) PSTR FriendlyName, 1706 _In_ DWORD FriendlyNameSize, 1707 _Out_opt_ PDWORD RequiredSize, 1708 _In_opt_ PCSTR MachineName, 1709 _Reserved_ PVOID Reserved); 1710 1711WINSETUPAPI 1712BOOL 1713WINAPI 1714SetupDiGetHwProfileFriendlyNameExW( 1715 _In_ DWORD HwProfile, 1716 _Out_writes_(FriendlyNameSize) PWSTR FriendlyName, 1717 _In_ DWORD FriendlyNameSize, 1718 _Out_opt_ PDWORD RequiredSize, 1719 _In_opt_ PCWSTR MachineName, 1720 _Reserved_ PVOID Reserved); 1721 1722WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileFriendlyNameW(DWORD,PWSTR,DWORD,PDWORD); 1723 1724_Success_(return != FALSE) 1725WINSETUPAPI 1726BOOL 1727WINAPI 1728SetupDiGetHwProfileList( 1729 _Out_writes_to_(HwProfileListSize, *RequiredSize) PDWORD HwProfileList, 1730 _In_ DWORD HwProfileListSize, 1731 _Out_ PDWORD RequiredSize, 1732 _Out_opt_ PDWORD CurrentlyActiveIndex); 1733 1734_Success_(return != FALSE) 1735WINSETUPAPI 1736BOOL 1737WINAPI 1738SetupDiGetHwProfileListExA( 1739 _Out_writes_to_(HwProfileListSize, *RequiredSize) PDWORD HwProfileList, 1740 _In_ DWORD HwProfileListSize, 1741 _Out_ PDWORD RequiredSize, 1742 _Out_opt_ PDWORD CurrentlyActiveIndex, 1743 _In_opt_ PCSTR MachineName, 1744 _Reserved_ PVOID Reserved); 1745 1746_Success_(return != FALSE) 1747WINSETUPAPI 1748BOOL 1749WINAPI 1750SetupDiGetHwProfileListExW( 1751 _Out_writes_to_(HwProfileListSize, *RequiredSize) PDWORD HwProfileList, 1752 _In_ DWORD HwProfileListSize, 1753 _Out_ PDWORD RequiredSize, 1754 _Out_opt_ PDWORD CurrentlyActiveIndex, 1755 _In_opt_ PCWSTR MachineName, 1756 _Reserved_ PVOID Reserved); 1757 1758WINSETUPAPI 1759BOOL 1760WINAPI 1761SetupDiGetINFClassA( 1762 _In_ PCSTR InfName, 1763 _Out_ LPGUID ClassGuid, 1764 _Out_writes_(ClassNameSize) PSTR ClassName, 1765 _In_ DWORD ClassNameSize, 1766 _Out_opt_ PDWORD RequiredSize); 1767 1768WINSETUPAPI 1769BOOL 1770WINAPI 1771SetupDiGetINFClassW( 1772 _In_ PCWSTR InfName, 1773 _Out_ LPGUID ClassGuid, 1774 _Out_writes_(ClassNameSize) PWSTR ClassName, 1775 _In_ DWORD ClassNameSize, 1776 _Out_opt_ PDWORD RequiredSize); 1777 1778WINSETUPAPI BOOL WINAPI SetupDiGetSelectedDevice(_In_ HDEVINFO, _Out_ PSP_DEVINFO_DATA); 1779WINSETUPAPI BOOL WINAPI SetupDiGetSelectedDriverA(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _Out_ PSP_DRVINFO_DATA_A); 1780WINSETUPAPI BOOL WINAPI SetupDiGetSelectedDriverW(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _Out_ PSP_DRVINFO_DATA_W); 1781WINSETUPAPI HPROPSHEETPAGE WINAPI SetupDiGetWizardPage(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ PSP_INSTALLWIZARD_DATA, _In_ DWORD, _In_ DWORD); 1782WINSETUPAPI BOOL WINAPI SetupDiInstallClassA(_In_opt_ HWND, _In_ PCSTR, _In_ DWORD, _In_opt_ HSPFILEQ); 1783WINSETUPAPI BOOL WINAPI SetupDiInstallClassW(_In_opt_ HWND, _In_ PCWSTR, _In_ DWORD, _In_opt_ HSPFILEQ); 1784WINSETUPAPI BOOL WINAPI SetupDiInstallClassExA(_In_opt_ HWND, _In_opt_ PCSTR, _In_ DWORD, _In_opt_ HSPFILEQ, _In_opt_ CONST GUID*, _Reserved_ PVOID, _Reserved_ PVOID); 1785WINSETUPAPI BOOL WINAPI SetupDiInstallClassExW(_In_opt_ HWND, _In_opt_ PCWSTR, _In_ DWORD, _In_opt_ HSPFILEQ, _In_opt_ CONST GUID*, _Reserved_ PVOID, _Reserved_ PVOID); 1786WINSETUPAPI BOOL WINAPI SetupDiInstallDevice(_In_ HDEVINFO, _Inout_ PSP_DEVINFO_DATA); 1787WINSETUPAPI BOOL WINAPI SetupDiInstallDeviceInterfaces(_In_ HDEVINFO, _In_ PSP_DEVINFO_DATA); 1788WINSETUPAPI BOOL WINAPI SetupDiInstallDriverFiles(_In_ HDEVINFO, _In_ PSP_DEVINFO_DATA); 1789WINSETUPAPI BOOL WINAPI SetupDiLoadClassIcon(_In_ CONST GUID*, _Out_opt_ HICON*, _Out_opt_ PINT); 1790WINSETUPAPI BOOL WINAPI SetupDiMoveDuplicateDevice(HDEVINFO,PSP_DEVINFO_DATA); 1791_Check_return_ WINSETUPAPI HKEY WINAPI SetupDiOpenClassRegKey(_In_opt_ CONST GUID*, _In_ REGSAM); 1792_Check_return_ WINSETUPAPI HKEY WINAPI SetupDiOpenClassRegKeyExA(_In_opt_ CONST GUID*, _In_ REGSAM, _In_ DWORD, _In_opt_ PCSTR, _Reserved_ PVOID); 1793_Check_return_ WINSETUPAPI HKEY WINAPI SetupDiOpenClassRegKeyExW(_In_opt_ CONST GUID*, _In_ REGSAM, _In_ DWORD, _In_opt_ PCWSTR, _Reserved_ PVOID); 1794WINSETUPAPI BOOL WINAPI SetupDiOpenDeviceInfoA(_In_ HDEVINFO, _In_ PCSTR, _In_opt_ HWND, _In_ DWORD, _Out_opt_ PSP_DEVINFO_DATA); 1795WINSETUPAPI BOOL WINAPI SetupDiOpenDeviceInfoW(_In_ HDEVINFO, _In_ PCWSTR, _In_opt_ HWND, _In_ DWORD, _Out_opt_ PSP_DEVINFO_DATA); 1796WINSETUPAPI BOOL WINAPI SetupDiOpenDeviceInterfaceA(_In_ HDEVINFO, _In_ PCSTR, _In_ DWORD, _Out_opt_ PSP_DEVICE_INTERFACE_DATA); 1797WINSETUPAPI BOOL WINAPI SetupDiOpenDeviceInterfaceW(_In_ HDEVINFO, _In_ PCWSTR, _In_ DWORD, _Out_opt_ PSP_DEVICE_INTERFACE_DATA); 1798_Check_return_ WINSETUPAPI HKEY WINAPI SetupDiOpenDeviceInterfaceRegKey(_In_ HDEVINFO, _In_ PSP_DEVICE_INTERFACE_DATA, _Reserved_ DWORD, _In_ REGSAM); 1799_Check_return_ WINSETUPAPI HKEY WINAPI SetupDiOpenDevRegKey(_In_ HDEVINFO, _In_ PSP_DEVINFO_DATA, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ REGSAM); 1800WINSETUPAPI BOOL WINAPI SetupDiRegisterCoDeviceInstallers(_In_ HDEVINFO, _In_ PSP_DEVINFO_DATA); 1801WINSETUPAPI BOOL WINAPI SetupDiRegisterDeviceInfo(_In_ HDEVINFO, _Inout_ PSP_DEVINFO_DATA, _In_ DWORD, _In_opt_ PSP_DETSIG_CMPPROC, _In_opt_ PVOID, _Out_opt_ PSP_DEVINFO_DATA); 1802WINSETUPAPI BOOL WINAPI SetupDiRemoveDevice(_In_ HDEVINFO, _Inout_ PSP_DEVINFO_DATA); 1803WINSETUPAPI BOOL WINAPI SetupDiRemoveDeviceInterface(_In_ HDEVINFO, _Inout_ PSP_DEVICE_INTERFACE_DATA); 1804WINSETUPAPI BOOL WINAPI SetupDiRestartDevices(_In_ HDEVINFO, _Inout_ PSP_DEVINFO_DATA); 1805WINSETUPAPI BOOL WINAPI SetupDiSelectBestCompatDrv(_In_ HDEVINFO, _Inout_opt_ PSP_DEVINFO_DATA); 1806WINSETUPAPI BOOL WINAPI SetupDiSelectDevice(_In_ HDEVINFO, _Inout_opt_ PSP_DEVINFO_DATA); 1807WINSETUPAPI BOOL WINAPI SetupDiSelectOEMDrv(_In_opt_ HWND, _In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA); 1808 1809WINSETUPAPI 1810BOOL 1811WINAPI 1812SetupDiSetClassInstallParamsA( 1813 _In_ HDEVINFO DeviceInfoSet, 1814 _In_opt_ PSP_DEVINFO_DATA DeviceInfoData, 1815 _In_reads_bytes_opt_(ClassInstallParamsSize) PSP_CLASSINSTALL_HEADER ClassInstallParams, 1816 _In_ DWORD ClassInstallParamsSize); 1817 1818WINSETUPAPI 1819BOOL 1820WINAPI 1821SetupDiSetClassInstallParamsW( 1822 _In_ HDEVINFO DeviceInfoSet, 1823 _In_opt_ PSP_DEVINFO_DATA DeviceInfoData, 1824 _In_reads_bytes_opt_(ClassInstallParamsSize) PSP_CLASSINSTALL_HEADER ClassInstallParams, 1825 _In_ DWORD ClassInstallParamsSize); 1826 1827WINSETUPAPI 1828BOOL 1829WINAPI 1830SetupDiSetClassRegistryPropertyA( 1831 _In_ CONST GUID *ClassGuid, 1832 _In_ DWORD Property, 1833 _In_reads_bytes_opt_(PropertyBufferSize) CONST BYTE *PropertyBuffer, 1834 _In_ DWORD PropertyBufferSize, 1835 _In_opt_ PCSTR MachineName, 1836 _Reserved_ PVOID Reserved); 1837 1838WINSETUPAPI 1839BOOL 1840WINAPI 1841SetupDiSetClassRegistryPropertyW( 1842 _In_ CONST GUID *ClassGuid, 1843 _In_ DWORD Property, 1844 _In_reads_bytes_opt_(PropertyBufferSize) CONST BYTE *PropertyBuffer, 1845 _In_ DWORD PropertyBufferSize, 1846 _In_opt_ PCWSTR MachineName, 1847 _Reserved_ PVOID Reserved); 1848 1849WINSETUPAPI BOOL WINAPI SetupDiSetDeviceInstallParamsA(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ PSP_DEVINSTALL_PARAMS_A); 1850WINSETUPAPI BOOL WINAPI SetupDiSetDeviceInstallParamsW(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ PSP_DEVINSTALL_PARAMS_W); 1851 1852WINSETUPAPI 1853BOOL 1854WINAPI 1855SetupDiSetDeviceRegistryPropertyA( 1856 _In_ HDEVINFO DeviceInfoSet, 1857 _Inout_ PSP_DEVINFO_DATA DeviceInfoData, 1858 _In_ DWORD Property, 1859 _In_reads_bytes_opt_(PropertyBufferSize) CONST BYTE *PropertyBuffer, 1860 _In_ DWORD PropertyBufferSize); 1861 1862WINSETUPAPI 1863BOOL 1864WINAPI 1865SetupDiSetDeviceRegistryPropertyW( 1866 _In_ HDEVINFO DeviceInfoSet, 1867 _Inout_ PSP_DEVINFO_DATA DeviceInfoData, 1868 _In_ DWORD Property, 1869 _In_reads_bytes_opt_(PropertyBufferSize) CONST BYTE *PropertyBuffer, 1870 _In_ DWORD PropertyBufferSize); 1871 1872WINSETUPAPI BOOL WINAPI SetupDiSetDriverInstallParamsA(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ PSP_DRVINFO_DATA_A, _In_ PSP_DRVINSTALL_PARAMS); 1873WINSETUPAPI BOOL WINAPI SetupDiSetDriverInstallParamsW(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ PSP_DRVINFO_DATA_W, _In_ PSP_DRVINSTALL_PARAMS); 1874WINSETUPAPI BOOL WINAPI SetupDiSetSelectedDevice(_In_ HDEVINFO, _In_ PSP_DEVINFO_DATA); 1875WINSETUPAPI BOOL WINAPI SetupDiSetSelectedDriverA(_In_ HDEVINFO, _Inout_opt_ PSP_DEVINFO_DATA, _Inout_opt_ PSP_DRVINFO_DATA_A); 1876WINSETUPAPI BOOL WINAPI SetupDiSetSelectedDriverW(_In_ HDEVINFO, _Inout_opt_ PSP_DEVINFO_DATA, _Inout_opt_ PSP_DRVINFO_DATA_W); 1877WINSETUPAPI BOOL WINAPI SetupDiUnremoveDevice(_In_ HDEVINFO, _Inout_ PSP_DEVINFO_DATA); 1878WINSETUPAPI HDSKSPC WINAPI SetupDuplicateDiskSpaceListA(_In_ HDSKSPC, _Reserved_ PVOID, _Reserved_ DWORD, _In_ UINT); 1879WINSETUPAPI HDSKSPC WINAPI SetupDuplicateDiskSpaceListW(_In_ HDSKSPC, _Reserved_ PVOID, _Reserved_ DWORD, _In_ UINT); 1880WINSETUPAPI BOOL WINAPI SetupFindFirstLineA(_In_ HINF, _In_ PCSTR, _In_opt_ PCSTR, _Out_ PINFCONTEXT); 1881WINSETUPAPI BOOL WINAPI SetupFindFirstLineW(_In_ HINF, _In_ PCWSTR, _In_opt_ PCWSTR, _Out_ PINFCONTEXT); 1882WINSETUPAPI BOOL WINAPI SetupFindNextLine(_In_ PINFCONTEXT, _Out_ PINFCONTEXT); 1883WINSETUPAPI BOOL WINAPI SetupFindNextMatchLineA(_In_ PINFCONTEXT, _In_opt_ PCSTR, _Out_ PINFCONTEXT); 1884WINSETUPAPI BOOL WINAPI SetupFindNextMatchLineW(_In_ PINFCONTEXT, _In_opt_ PCWSTR, _Out_ PINFCONTEXT); 1885WINSETUPAPI BOOL WINAPI SetupFreeA(PCSTR**,UINT); 1886WINSETUPAPI BOOL WINAPI SetupFreeW(PCWSTR**,UINT); 1887WINSETUPAPI BOOL WINAPI SetupGetBackupInformationA(_In_ HSPFILEQ, _Inout_ PSP_BACKUP_QUEUE_PARAMS_A); 1888WINSETUPAPI BOOL WINAPI SetupGetBackupInformationW(_In_ HSPFILEQ, _Inout_ PSP_BACKUP_QUEUE_PARAMS_W); 1889 1890_Success_(return != FALSE) 1891WINSETUPAPI 1892BOOL 1893WINAPI 1894SetupGetBinaryField( 1895 _In_ PINFCONTEXT Context, 1896 _In_ DWORD FieldIndex, 1897 _Out_writes_bytes_to_opt_(ReturnBufferSize, *RequiredSize) PBYTE ReturnBuffer, 1898 _In_ DWORD ReturnBufferSize, 1899 _Out_opt_ LPDWORD RequiredSize); 1900 1901WINSETUPAPI DWORD WINAPI SetupGetFieldCount(_In_ PINFCONTEXT); 1902WINSETUPAPI DWORD WINAPI SetupGetFileCompressionInfoA(_In_ PCSTR, _Out_ PSTR*, _Out_ PDWORD, _Out_ PDWORD, _Out_ PUINT); 1903WINSETUPAPI DWORD WINAPI SetupGetFileCompressionInfoW(_In_ PCWSTR, _Out_ PWSTR*, _Out_ PDWORD, _Out_ PDWORD, _Out_ PUINT); 1904 1905WINSETUPAPI 1906BOOL 1907WINAPI 1908SetupGetFileCompressionInfoExA( 1909 _In_ PCSTR SourceFileName, 1910 _In_reads_opt_(ActualSourceFileNameBufferLen) PSTR ActualSourceFileNameBuffer, 1911 _In_ DWORD ActualSourceFileNameBufferLen, 1912 _Out_opt_ PDWORD RequiredBufferLen, 1913 _Out_ PDWORD SourceFileSize, 1914 _Out_ PDWORD TargetFileSize, 1915 _Out_ PUINT CompressionType); 1916 1917WINSETUPAPI 1918BOOL 1919WINAPI 1920SetupGetFileCompressionInfoExW( 1921 _In_ PCWSTR SourceFileName, 1922 _In_reads_opt_(ActualSourceFileNameBufferLen) PWSTR ActualSourceFileNameBuffer, 1923 _In_ DWORD ActualSourceFileNameBufferLen, 1924 _Out_opt_ PDWORD RequiredBufferLen, 1925 _Out_ PDWORD SourceFileSize, 1926 _Out_ PDWORD TargetFileSize, 1927 _Out_ PUINT CompressionType); 1928 1929WINSETUPAPI 1930BOOL 1931WINAPI 1932SetupGetInfFileListA( 1933 _In_opt_ PCSTR DirectoryPath, 1934 _In_ DWORD InfStyle, 1935 _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer, 1936 _In_ DWORD ReturnBufferSize, 1937 _Out_opt_ PDWORD RequiredSize); 1938 1939WINSETUPAPI 1940BOOL 1941WINAPI 1942SetupGetInfFileListW( 1943 _In_opt_ PCWSTR DirectoryPath, 1944 _In_ DWORD InfStyle, 1945 _Out_writes_(ReturnBufferSize) PWSTR ReturnBuffer, 1946 _In_ DWORD ReturnBufferSize, 1947 _Out_opt_ PDWORD RequiredSize); 1948 1949_Success_(return != FALSE) 1950WINSETUPAPI 1951BOOL 1952WINAPI 1953SetupGetInfInformationA( 1954 _In_ LPCVOID InfSpec, 1955 _In_ DWORD SearchControl, 1956 _Out_writes_bytes_to_opt_(ReturnBufferSize, *RequiredSize) PSP_INF_INFORMATION ReturnBuffer, 1957 _In_ DWORD ReturnBufferSize, 1958 _Out_opt_ PDWORD RequiredSize); 1959 1960_Success_(return != FALSE) 1961WINSETUPAPI 1962BOOL 1963WINAPI 1964SetupGetInfInformationW( 1965 _In_ LPCVOID InfSpec, 1966 _In_ DWORD SearchControl, 1967 _Out_writes_bytes_to_opt_(ReturnBufferSize, *RequiredSize) PSP_INF_INFORMATION ReturnBuffer, 1968 _In_ DWORD ReturnBufferSize, 1969 _Out_opt_ PDWORD RequiredSize); 1970 1971WINSETUPAPI BOOL WINAPI SetupGetIntField(_In_ PINFCONTEXT, _In_ DWORD, _Out_ PINT); 1972WINSETUPAPI BOOL WINAPI SetupGetLineByIndexA(_In_ HINF, _In_ PCSTR, _In_ DWORD, _Out_ PINFCONTEXT); 1973WINSETUPAPI BOOL WINAPI SetupGetLineByIndexW(_In_ HINF, _In_ PCWSTR, _In_ DWORD, _Out_ PINFCONTEXT); 1974WINSETUPAPI LONG WINAPI SetupGetLineCountA(_In_ HINF, _In_ PCSTR); 1975WINSETUPAPI LONG WINAPI SetupGetLineCountW(_In_ HINF, _In_ PCWSTR); 1976 1977WINSETUPAPI 1978BOOL 1979WINAPI 1980SetupGetLineTextA( 1981 _In_opt_ PINFCONTEXT Context, 1982 _In_opt_ HINF InfHandle, 1983 _In_opt_ PCSTR Section, 1984 _In_opt_ PCSTR Key, 1985 _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer, 1986 _In_ DWORD ReturnBufferSize, 1987 _Out_opt_ PDWORD RequiredSize); 1988 1989WINSETUPAPI 1990BOOL 1991WINAPI 1992SetupGetLineTextW( 1993 _In_opt_ PINFCONTEXT Context, 1994 _In_opt_ HINF InfHandle, 1995 _In_opt_ PCWSTR Section, 1996 _In_opt_ PCWSTR Key, 1997 _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer, 1998 _In_ DWORD ReturnBufferSize, 1999 _Out_opt_ PDWORD RequiredSize); 2000 2001WINSETUPAPI 2002BOOL 2003WINAPI 2004SetupGetMultiSzFieldA( 2005 _In_ PINFCONTEXT Context, 2006 _In_ DWORD FieldIndex, 2007 _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer, 2008 _In_ DWORD ReturnBufferSize, 2009 _Out_opt_ LPDWORD RequiredSize); 2010 2011WINSETUPAPI 2012BOOL 2013WINAPI 2014SetupGetMultiSzFieldW( 2015 _In_ PINFCONTEXT Context, 2016 _In_ DWORD FieldIndex, 2017 _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer, 2018 _In_ DWORD ReturnBufferSize, 2019 _Out_opt_ LPDWORD RequiredSize); 2020 2021WINSETUPAPI 2022BOOL 2023WINAPI 2024SetupGetSourceFileLocationA( 2025 _In_ HINF InfHandle, 2026 _In_opt_ PINFCONTEXT InfContext, 2027 _In_opt_ PCSTR FileName, 2028 _Out_ PUINT SourceId, 2029 _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer, 2030 _In_ DWORD ReturnBufferSize, 2031 _Out_opt_ PDWORD RequiredSize); 2032 2033WINSETUPAPI 2034BOOL 2035WINAPI 2036SetupGetSourceFileLocationW( 2037 _In_ HINF InfHandle, 2038 _In_opt_ PINFCONTEXT InfContext, 2039 _In_opt_ PCWSTR FileName, 2040 _Out_ PUINT SourceId, 2041 _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer, 2042 _In_ DWORD ReturnBufferSize, 2043 _Out_opt_ PDWORD RequiredSize); 2044 2045WINSETUPAPI BOOL WINAPI SetupGetSourceFileSizeA(_In_ HINF, _In_opt_ PINFCONTEXT, _In_opt_ PCSTR, _In_opt_ PCSTR, _Out_ PDWORD, _In_ UINT); 2046WINSETUPAPI BOOL WINAPI SetupGetSourceFileSizeW(_In_ HINF, _In_opt_ PINFCONTEXT, _In_opt_ PCWSTR, _In_opt_ PCWSTR, _Out_ PDWORD, _In_ UINT); 2047 2048WINSETUPAPI 2049BOOL 2050WINAPI 2051SetupGetSourceInfoA( 2052 _In_ HINF InfHandle, 2053 _In_ UINT SourceId, 2054 _In_ UINT InfoDesired, 2055 _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer, 2056 _In_ DWORD ReturnBufferSize, 2057 _Out_opt_ PDWORD RequiredSize); 2058 2059WINSETUPAPI 2060BOOL 2061WINAPI 2062SetupGetSourceInfoW( 2063 _In_ HINF InfHandle, 2064 _In_ UINT SourceId, 2065 _In_ UINT InfoDesired, 2066 _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer, 2067 _In_ DWORD ReturnBufferSize, 2068 _Out_opt_ PDWORD RequiredSize); 2069 2070WINSETUPAPI 2071BOOL 2072WINAPI 2073SetupGetStringFieldA( 2074 _In_ PINFCONTEXT Context, 2075 _In_ DWORD FieldIndex, 2076 _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer, 2077 _In_ DWORD ReturnBufferSize, 2078 _Out_opt_ PDWORD RequiredSize); 2079 2080WINSETUPAPI 2081BOOL 2082WINAPI 2083SetupGetStringFieldW( 2084 _In_ PINFCONTEXT Context, 2085 _In_ DWORD FieldIndex, 2086 _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer, 2087 _In_ DWORD ReturnBufferSize, 2088 _Out_opt_ PDWORD RequiredSize); 2089 2090WINSETUPAPI 2091BOOL 2092WINAPI 2093SetupGetTargetPathA( 2094 _In_ HINF InfHandle, 2095 _In_opt_ PINFCONTEXT InfContext, 2096 _In_opt_ PCSTR Section, 2097 _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer, 2098 _In_ DWORD ReturnBufferSize, 2099 _Out_opt_ PDWORD RequiredSize); 2100 2101WINSETUPAPI 2102BOOL 2103WINAPI 2104SetupGetTargetPathW( 2105 _In_ HINF InfHandle, 2106 _In_opt_ PINFCONTEXT InfContext, 2107 _In_opt_ PCWSTR Section, 2108 _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer, 2109 _In_ DWORD ReturnBufferSize, 2110 _Out_opt_ PDWORD RequiredSize); 2111 2112WINSETUPAPI PVOID WINAPI SetupInitDefaultQueueCallback(_In_opt_ HWND); 2113WINSETUPAPI PVOID WINAPI SetupInitDefaultQueueCallbackEx(_In_opt_ HWND, _In_opt_ HWND, _In_ UINT, _Reserved_ DWORD, _Reserved_ PVOID); 2114WINSETUPAPI HSPFILELOG WINAPI SetupInitializeFileLogA(_In_opt_ PCSTR, _In_ DWORD); 2115WINSETUPAPI HSPFILELOG WINAPI SetupInitializeFileLogW(_In_opt_ PCWSTR, _In_ DWORD); 2116WINSETUPAPI BOOL WINAPI SetupInstallFileA(_In_opt_ HINF, _In_opt_ PINFCONTEXT, _In_opt_ PCSTR, _In_opt_ PCSTR, _In_opt_ PCSTR, _In_ DWORD, _In_opt_ PSP_FILE_CALLBACK_A, _In_opt_ PVOID); 2117WINSETUPAPI BOOL WINAPI SetupInstallFileW(_In_opt_ HINF, _In_opt_ PINFCONTEXT, _In_opt_ PCWSTR, _In_opt_ PCWSTR, _In_opt_ PCWSTR, _In_ DWORD, _In_opt_ PSP_FILE_CALLBACK_W, _In_opt_ PVOID); 2118WINSETUPAPI BOOL WINAPI SetupInstallFileExA(_In_opt_ HINF, _In_opt_ PINFCONTEXT, _In_opt_ PCSTR, _In_opt_ PCSTR, _In_opt_ PCSTR, _In_ DWORD, _In_opt_ PSP_FILE_CALLBACK_A, _In_opt_ PVOID, _Out_ PBOOL); 2119WINSETUPAPI BOOL WINAPI SetupInstallFileExW(_In_opt_ HINF, _In_opt_ PINFCONTEXT, _In_opt_ PCWSTR, _In_opt_ PCWSTR, _In_opt_ PCWSTR, _In_ DWORD, _In_opt_ PSP_FILE_CALLBACK_W, _In_opt_ PVOID, _Out_ PBOOL); 2120WINSETUPAPI BOOL WINAPI SetupInstallFilesFromInfSectionA(_In_ HINF, _In_opt_ HINF, _In_ HSPFILEQ, _In_ PCSTR, _In_opt_ PCSTR, _In_ UINT); 2121WINSETUPAPI BOOL WINAPI SetupInstallFilesFromInfSectionW(_In_ HINF, _In_opt_ HINF, _In_ HSPFILEQ, _In_ PCWSTR, _In_opt_ PCWSTR, _In_ UINT); 2122WINSETUPAPI BOOL WINAPI SetupInstallFromInfSectionA(_In_opt_ HWND, _In_ HINF, _In_ PCSTR, _In_ UINT, _In_opt_ HKEY, _In_opt_ PCSTR, _In_ UINT, _In_opt_ PSP_FILE_CALLBACK_A, _In_opt_ PVOID, _In_opt_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA); 2123WINSETUPAPI BOOL WINAPI SetupInstallFromInfSectionW(_In_opt_ HWND, _In_ HINF, _In_ PCWSTR, _In_ UINT, _In_opt_ HKEY, _In_opt_ PCWSTR, _In_ UINT, _In_opt_ PSP_FILE_CALLBACK_W, _In_opt_ PVOID, _In_opt_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA); 2124WINSETUPAPI BOOL WINAPI SetupInstallServicesFromInfSectionA(_In_ HINF, _In_ PCSTR, _In_ DWORD); 2125WINSETUPAPI BOOL WINAPI SetupInstallServicesFromInfSectionW(_In_ HINF, _In_ PCWSTR, _In_ DWORD); 2126WINSETUPAPI BOOL WINAPI SetupInstallServicesFromInfSectionExA(_In_ HINF, _In_ PCSTR, _In_ DWORD, _In_opt_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _Reserved_ PVOID, _Reserved_ PVOID); 2127WINSETUPAPI BOOL WINAPI SetupInstallServicesFromInfSectionExW(_In_ HINF, _In_ PCWSTR, _In_ DWORD, _In_opt_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _Reserved_ PVOID, _Reserved_ PVOID); 2128WINSETUPAPI BOOL WINAPI SetupIterateCabinetA(_In_ PCSTR, _Reserved_ DWORD, _In_ PSP_FILE_CALLBACK_A, _In_ PVOID); 2129WINSETUPAPI BOOL WINAPI SetupIterateCabinetW(_In_ PCWSTR, _Reserved_ DWORD, _In_ PSP_FILE_CALLBACK_W, _In_ PVOID); 2130WINSETUPAPI BOOL WINAPI SetupLogErrorA(_In_ LPCSTR, _In_ LogSeverity); 2131WINSETUPAPI BOOL WINAPI SetupLogErrorW(_In_ LPCWSTR, _In_ LogSeverity); 2132WINSETUPAPI BOOL WINAPI SetupLogFileA(_In_ HSPFILELOG, _In_opt_ PCSTR, _In_ PCSTR, _In_ PCSTR, _In_ DWORD, _In_opt_ PCSTR, _In_opt_ PCSTR, _In_opt_ PCSTR, _In_ DWORD); 2133WINSETUPAPI BOOL WINAPI SetupLogFileW(_In_ HSPFILELOG, _In_opt_ PCWSTR, _In_ PCWSTR, _In_ PCWSTR, _In_ DWORD, _In_opt_ PCWSTR, _In_opt_ PCWSTR, _In_opt_ PCWSTR, _In_ DWORD); 2134 2135WINSETUPAPI 2136BOOL 2137WINAPI 2138SetupOpenAppendInfFileA( 2139 _In_opt_ PCSTR FileName, 2140 _In_ HINF InfHandle, 2141 _Out_opt_ PUINT ErrorLine); 2142 2143WINSETUPAPI 2144BOOL 2145WINAPI 2146SetupOpenAppendInfFileW( 2147 _In_opt_ PCWSTR FileName, 2148 _In_ HINF InfHandle, 2149 _Out_opt_ PUINT ErrorLine); 2150 2151WINSETUPAPI HSPFILEQ WINAPI SetupOpenFileQueue(VOID); 2152 2153WINSETUPAPI 2154HINF 2155WINAPI 2156SetupOpenInfFileA( 2157 _In_ PCSTR FileName, 2158 _In_opt_ PCSTR InfClass, 2159 _In_ DWORD InfStyle, 2160 _Out_opt_ PUINT ErrorLine); 2161 2162WINSETUPAPI 2163HINF 2164WINAPI 2165SetupOpenInfFileW( 2166 _In_ PCWSTR FileName, 2167 _In_opt_ PCWSTR InfClass, 2168 _In_ DWORD InfStyle, 2169 _Out_opt_ PUINT ErrorLine); 2170 2171WINSETUPAPI BOOL WINAPI SetupOpenLog(_In_ BOOL); 2172WINSETUPAPI HINF WINAPI SetupOpenMasterInf(VOID); 2173 2174WINSETUPAPI 2175UINT 2176WINAPI 2177SetupPromptForDiskA( 2178 _In_ HWND hwndParent, 2179 _In_opt_ PCSTR DialogTitle, 2180 _In_opt_ PCSTR DiskName, 2181 _In_opt_ PCSTR PathToSource, 2182 _In_ PCSTR FileSought, 2183 _In_opt_ PCSTR TagFile, 2184 _In_ DWORD DiskPromptStyle, 2185 _Out_writes_opt_(PathBufferSize) PSTR PathBuffer, 2186 _In_ DWORD PathBufferSize, 2187 _Out_opt_ PDWORD PathRequiredSize); 2188 2189WINSETUPAPI 2190UINT 2191WINAPI 2192SetupPromptForDiskW( 2193 _In_ HWND hwndParent, 2194 _In_opt_ PCWSTR DialogTitle, 2195 _In_opt_ PCWSTR DiskName, 2196 _In_opt_ PCWSTR PathToSource, 2197 _In_ PCWSTR FileSought, 2198 _In_opt_ PCWSTR TagFile, 2199 _In_ DWORD DiskPromptStyle, 2200 _Out_writes_opt_(PathBufferSize) PWSTR PathBuffer, 2201 _In_ DWORD PathBufferSize, 2202 _Out_opt_ PDWORD PathRequiredSize); 2203 2204WINSETUPAPI INT WINAPI SetupPromptReboot(_In_opt_ HSPFILEQ, _In_opt_ HWND, _In_ BOOL); 2205WINSETUPAPI BOOL WINAPI SetupQueryA(DWORD,PCSTR**,PUINT); 2206WINSETUPAPI BOOL WINAPI SetupQueryW(DWORD,PCWSTR**,PUINT); 2207 2208WINSETUPAPI 2209BOOL 2210WINAPI 2211SetupQueryDrivesInDiskSpaceListA( 2212 _In_ HDSKSPC DiskSpace, 2213 _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer, 2214 _In_ DWORD ReturnBufferSize, 2215 _Out_opt_ PDWORD RequiredSize); 2216 2217WINSETUPAPI 2218BOOL 2219WINAPI 2220SetupQueryDrivesInDiskSpaceListW( 2221 _In_ HDSKSPC DiskSpace, 2222 _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer, 2223 _In_ DWORD ReturnBufferSize, 2224 _Out_opt_ PDWORD RequiredSize); 2225 2226WINSETUPAPI 2227BOOL 2228WINAPI 2229SetupQueryFileLogA( 2230 _In_ HSPFILELOG FileLogHandle, 2231 _In_opt_ PCSTR LogSectionName, 2232 _In_ PCSTR TargetFilename, 2233 _In_ SetupFileLogInfo DesiredInfo, 2234 _Out_writes_opt_(ReturnBufferSize) PSTR DataOut, 2235 _In_ DWORD ReturnBufferSize, 2236 _Out_opt_ PDWORD RequiredSize); 2237 2238WINSETUPAPI 2239BOOL 2240WINAPI 2241SetupQueryFileLogW( 2242 _In_ HSPFILELOG FileLogHandle, 2243 _In_opt_ PCWSTR LogSectionName, 2244 _In_ PCWSTR TargetFilename, 2245 _In_ SetupFileLogInfo DesiredInfo, 2246 _Out_writes_opt_(ReturnBufferSize) PWSTR DataOut, 2247 _In_ DWORD ReturnBufferSize, 2248 _Out_opt_ PDWORD RequiredSize); 2249 2250WINSETUPAPI 2251BOOL 2252WINAPI 2253SetupQueryInfFileInformationA( 2254 _In_ PSP_INF_INFORMATION InfInformation, 2255 _In_ UINT InfIndex, 2256 _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer, 2257 _In_ DWORD ReturnBufferSize, 2258 _Out_opt_ PDWORD RequiredSize); 2259 2260WINSETUPAPI 2261BOOL 2262WINAPI 2263SetupQueryInfFileInformationW( 2264 _In_ PSP_INF_INFORMATION InfInformation, 2265 _In_ UINT InfIndex, 2266 _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer, 2267 _In_ DWORD ReturnBufferSize, 2268 _Out_opt_ PDWORD RequiredSize); 2269 2270WINSETUPAPI 2271BOOL 2272WINAPI 2273SetupQueryInfOriginalFileInformationA( 2274 _In_ PSP_INF_INFORMATION InfInformation, 2275 _In_ UINT InfIndex, 2276 _In_opt_ PSP_ALTPLATFORM_INFO AlternatePlatformInfo, 2277 _Out_ PSP_ORIGINAL_FILE_INFO_A OriginalFileInfo); 2278 2279WINSETUPAPI 2280BOOL 2281WINAPI 2282SetupQueryInfOriginalFileInformationW( 2283 _In_ PSP_INF_INFORMATION InfInformation, 2284 _In_ UINT InfIndex, 2285 _In_opt_ PSP_ALTPLATFORM_INFO AlternatePlatformInfo, 2286 _Out_ PSP_ORIGINAL_FILE_INFO_W OriginalFileInfo); 2287 2288WINSETUPAPI 2289BOOL 2290WINAPI 2291SetupQueryInfVersionInformationA( 2292 _In_ PSP_INF_INFORMATION InfInformation, 2293 _In_ UINT InfIndex, 2294 _In_opt_ PCSTR Key, 2295 _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer, 2296 _In_ DWORD ReturnBufferSize, 2297 _Out_opt_ PDWORD RequiredSize); 2298 2299WINSETUPAPI 2300BOOL 2301WINAPI 2302SetupQueryInfVersionInformationW( 2303 _In_ PSP_INF_INFORMATION InfInformation, 2304 _In_ UINT InfIndex, 2305 _In_opt_ PCWSTR Key, 2306 _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer, 2307 _In_ DWORD ReturnBufferSize, 2308 _Out_opt_ PDWORD RequiredSize); 2309 2310WINSETUPAPI BOOL WINAPI SetupQuerySpaceRequiredOnDriveA(_In_ HDSKSPC, _In_ PCSTR, _Out_ LONGLONG*, _Reserved_ PVOID, _Reserved_ UINT); 2311WINSETUPAPI BOOL WINAPI SetupQuerySpaceRequiredOnDriveW(_In_ HDSKSPC, _In_ PCWSTR, _Out_ LONGLONG*, _Reserved_ PVOID, _Reserved_ UINT); 2312WINSETUPAPI BOOL WINAPI SetupQueueCopyA(_In_ HSPFILEQ, _In_opt_ PCSTR, _In_opt_ PCSTR, _In_ PCSTR, _In_opt_ PCSTR, _In_opt_ PCSTR, _In_ PCSTR, _In_opt_ PCSTR, _In_ DWORD); 2313WINSETUPAPI BOOL WINAPI SetupQueueCopyW(_In_ HSPFILEQ, _In_opt_ PCWSTR, _In_opt_ PCWSTR, _In_ PCWSTR, _In_opt_ PCWSTR, _In_opt_ PCWSTR, _In_ PCWSTR, _In_opt_ PCWSTR, _In_ DWORD); 2314WINSETUPAPI BOOL WINAPI SetupQueueCopyIndirectA(_In_ PSP_FILE_COPY_PARAMS_A); 2315WINSETUPAPI BOOL WINAPI SetupQueueCopyIndirectW(_In_ PSP_FILE_COPY_PARAMS_W); 2316WINSETUPAPI BOOL WINAPI SetupQueueCopySectionA(_In_ HSPFILEQ, _In_opt_ PCSTR, _In_ HINF, _In_opt_ HINF, _In_ PCSTR, _In_ DWORD); 2317WINSETUPAPI BOOL WINAPI SetupQueueCopySectionW(_In_ HSPFILEQ, _In_opt_ PCWSTR, _In_ HINF, _In_opt_ HINF, _In_ PCWSTR, _In_ DWORD); 2318WINSETUPAPI BOOL WINAPI SetupQueueDefaultCopyA(_In_ HSPFILEQ, _In_ HINF, _In_opt_ PCSTR, _In_ PCSTR, _In_opt_ PCSTR, _In_ DWORD); 2319WINSETUPAPI BOOL WINAPI SetupQueueDefaultCopyW(_In_ HSPFILEQ, _In_ HINF, _In_opt_ PCWSTR, _In_ PCWSTR, _In_opt_ PCWSTR, _In_ DWORD); 2320WINSETUPAPI BOOL WINAPI SetupQueueDeleteA(_In_ HSPFILEQ, _In_ PCSTR, _In_opt_ PCSTR); 2321WINSETUPAPI BOOL WINAPI SetupQueueDeleteW(_In_ HSPFILEQ, _In_ PCWSTR, _In_opt_ PCWSTR); 2322WINSETUPAPI BOOL WINAPI SetupQueueDeleteSectionA(_In_ HSPFILEQ, _In_ HINF, _In_opt_ HINF, _In_ PCSTR); 2323WINSETUPAPI BOOL WINAPI SetupQueueDeleteSectionW(_In_ HSPFILEQ, _In_ HINF, _In_opt_ HINF, _In_ PCWSTR); 2324WINSETUPAPI BOOL WINAPI SetupQueueRenameA(_In_ HSPFILEQ, _In_ PCSTR, _In_opt_ PCSTR, _In_opt_ PCSTR, _In_ PCSTR); 2325WINSETUPAPI BOOL WINAPI SetupQueueRenameW(_In_ HSPFILEQ, _In_ PCWSTR, _In_opt_ PCWSTR, _In_opt_ PCWSTR, _In_ PCWSTR); 2326WINSETUPAPI BOOL WINAPI SetupQueueRenameSectionA(_In_ HSPFILEQ, _In_ HINF, _In_opt_ HINF, _In_ PCSTR); 2327WINSETUPAPI BOOL WINAPI SetupQueueRenameSectionW(_In_ HSPFILEQ, _In_ HINF, _In_opt_ HINF, _In_ PCWSTR); 2328WINSETUPAPI BOOL WINAPI SetupRemoveFileLogEntryA(_In_ HSPFILELOG, _In_opt_ PCSTR, _In_opt_ PCSTR); 2329WINSETUPAPI BOOL WINAPI SetupRemoveFileLogEntryW(_In_ HSPFILELOG, _In_opt_ PCWSTR, _In_opt_ PCWSTR); 2330WINSETUPAPI BOOL WINAPI SetupRemoveFromDiskSpaceListA(_In_ HDSKSPC, _In_ PCSTR, _In_ UINT, _Reserved_ PVOID, _Reserved_ UINT); 2331WINSETUPAPI BOOL WINAPI SetupRemoveFromDiskSpaceListW(_In_ HDSKSPC, _In_ PCWSTR, _In_ UINT, _Reserved_ PVOID, _Reserved_ UINT); 2332WINSETUPAPI BOOL WINAPI SetupRemoveFromSourceListA(_In_ DWORD, _In_ PCSTR); 2333WINSETUPAPI BOOL WINAPI SetupRemoveFromSourceListW(_In_ DWORD, _In_ PCWSTR); 2334WINSETUPAPI BOOL WINAPI SetupRemoveInstallSectionFromDiskSpaceListA(_In_ HDSKSPC, _In_ HINF, _In_opt_ HINF, _In_ PCSTR, _Reserved_ PVOID, _Reserved_ UINT); 2335WINSETUPAPI BOOL WINAPI SetupRemoveInstallSectionFromDiskSpaceListW(_In_ HDSKSPC, _In_ HINF, _In_opt_ HINF, _In_ PCWSTR, _Reserved_ PVOID, _Reserved_ UINT); 2336WINSETUPAPI BOOL WINAPI SetupRemoveSectionFromDiskSpaceListA(_In_ HDSKSPC, _In_ HINF, _In_opt_ HINF, _In_ PCSTR, _In_ UINT, _Reserved_ PVOID, _Reserved_ UINT); 2337WINSETUPAPI BOOL WINAPI SetupRemoveSectionFromDiskSpaceListW(_In_ HDSKSPC, _In_ HINF, _In_opt_ HINF, _In_ PCWSTR, _In_ UINT, _Reserved_ PVOID, _Reserved_ UINT); 2338WINSETUPAPI UINT WINAPI SetupRenameErrorA(_In_ HWND, _In_opt_ PCSTR, _In_ PCSTR, _In_ PCSTR, _In_ UINT, _In_ DWORD); 2339WINSETUPAPI UINT WINAPI SetupRenameErrorW(_In_ HWND, _In_opt_ PCWSTR, _In_ PCWSTR, _In_ PCWSTR, _In_ UINT, _In_ DWORD); 2340WINSETUPAPI BOOL WINAPI SetupScanFileQueueA(_In_ HSPFILEQ, _In_ DWORD, _In_opt_ HWND, _In_opt_ PSP_FILE_CALLBACK_A, _In_opt_ PVOID, _Out_ PDWORD); 2341WINSETUPAPI BOOL WINAPI SetupScanFileQueueW(_In_ HSPFILEQ, _In_ DWORD, _In_opt_ HWND, _In_opt_ PSP_FILE_CALLBACK_W, _In_opt_ PVOID, _Out_ PDWORD); 2342WINSETUPAPI BOOL WINAPI SetupSetDirectoryIdA(_In_ HINF, _In_ DWORD, _In_opt_ PCSTR); 2343WINSETUPAPI BOOL WINAPI SetupSetDirectoryIdW(_In_ HINF, _In_ DWORD, _In_opt_ PCWSTR); 2344WINSETUPAPI BOOL WINAPI SetupSetDirectoryIdExA(_In_ HINF, _In_ DWORD, _In_opt_ PCSTR, _In_ DWORD, _Reserved_ DWORD, _Reserved_ PVOID); 2345WINSETUPAPI BOOL WINAPI SetupSetDirectoryIdExW(_In_ HINF, _In_ DWORD, _In_opt_ PCWSTR, _In_ DWORD, _Reserved_ DWORD, _Reserved_ PVOID); 2346WINSETUPAPI BOOL WINAPI SetupSetFileQueueAlternatePlatformA(_In_ HSPFILEQ, _In_opt_ PSP_ALTPLATFORM_INFO, _In_opt_ PCSTR); 2347WINSETUPAPI BOOL WINAPI SetupSetFileQueueAlternatePlatformW(_In_ HSPFILEQ, _In_opt_ PSP_ALTPLATFORM_INFO, _In_opt_ PCWSTR); 2348WINSETUPAPI BOOL WINAPI SetupSetNonInteractiveMode(_In_ BOOL); 2349WINSETUPAPI BOOL WINAPI SetupSetPlatformPathOverrideA(_In_opt_ PCSTR); 2350WINSETUPAPI BOOL WINAPI SetupSetPlatformPathOverrideW(_In_opt_ PCWSTR); 2351 2352WINSETUPAPI 2353BOOL 2354WINAPI 2355SetupSetSourceListA( 2356 _In_ DWORD Flags, 2357 _In_reads_(SourceCount) PCSTR *SourceList, 2358 _In_ UINT SourceCount); 2359 2360WINSETUPAPI 2361BOOL 2362WINAPI 2363SetupSetSourceListW( 2364 _In_ DWORD Flags, 2365 _In_reads_(SourceCount) PCWSTR *SourceList, 2366 _In_ UINT SourceCount); 2367 2368WINSETUPAPI VOID WINAPI SetupTermDefaultQueueCallback(_In_ PVOID); 2369WINSETUPAPI BOOL WINAPI SetupTerminateFileLog(_In_ HSPFILELOG); 2370 2371WINSETUPAPI 2372BOOL 2373WINAPI 2374SetupUninstallOEMInfA( 2375 _In_ PCSTR InfFileName, 2376 _In_ DWORD Flags, 2377 _In_ PVOID Reserved); 2378 2379WINSETUPAPI 2380BOOL 2381WINAPI 2382SetupUninstallOEMInfW( 2383 _In_ PCWSTR InfFileName, 2384 _In_ DWORD Flags, 2385 _In_ PVOID Reserved); 2386 2387WINSETUPAPI DWORD WINAPI StampFileSecurity(PCWSTR, PSECURITY_DESCRIPTOR); 2388 2389 2390WINSETUPAPI DWORD WINAPI pSetupCaptureAndConvertAnsiArg(PCSTR, PWSTR*); 2391WINSETUPAPI VOID WINAPI pSetupCenterWindowRelativeToParent(HWND); 2392WINSETUPAPI BOOL WINAPI pSetupConcatenatePaths(LPWSTR, LPCWSTR, DWORD, LPDWORD); 2393WINSETUPAPI PWSTR WINAPI pSetupDuplicateString(PCWSTR); 2394WINSETUPAPI BOOL WINAPI pSetupEnablePrivilege(PCWSTR, BOOL); 2395WINSETUPAPI PWSTR WINAPI pSetupGetFileTitle(PCWSTR); 2396WINSETUPAPI BOOL WINAPI pSetupGetVersionInfoFromImage(LPWSTR, PULARGE_INTEGER, LPWORD); 2397WINSETUPAPI DWORD WINAPI pSetupGuidFromString(PCWSTR, LPGUID); 2398WINSETUPAPI BOOL WINAPI pSetupIsGuidNull(LPGUID); 2399WINSETUPAPI BOOL WINAPI pSetupIsUserAdmin(VOID); 2400WINSETUPAPI PWSTR WINAPI pSetupMultiByteToUnicode(PCSTR, UINT); 2401WINSETUPAPI DWORD WINAPI pSetupOpenAndMapForRead(PCWSTR, PDWORD, PHANDLE, PHANDLE, PVOID*); 2402WINSETUPAPI DWORD WINAPI pSetupStringFromGuid(LPGUID, PWSTR, DWORD); 2403 2404 2405WINSETUPAPI DWORD WINAPI pSetupStringTableAddString(HSTRING_TABLE, LPWSTR, DWORD); 2406WINSETUPAPI DWORD WINAPI pSetupStringTableAddStringEx(HSTRING_TABLE, LPWSTR, DWORD, LPVOID, DWORD); 2407WINSETUPAPI VOID WINAPI pSetupStringTableDestroy(HSTRING_TABLE); 2408WINSETUPAPI HSTRING_TABLE WINAPI pSetupStringTableDuplicate(HSTRING_TABLE); 2409WINSETUPAPI BOOL WINAPI pSetupStringTableGetExtraData(HSTRING_TABLE, DWORD, LPVOID, DWORD); 2410WINSETUPAPI HSTRING_TABLE WINAPI pSetupStringTableInitialize(VOID); 2411WINSETUPAPI HSTRING_TABLE WINAPI pSetupStringTableInitializeEx(DWORD, DWORD); 2412WINSETUPAPI DWORD WINAPI pSetupStringTableLookUpString(HSTRING_TABLE, LPWSTR, DWORD); 2413WINSETUPAPI DWORD WINAPI pSetupStringTableLookUpStringEx(HSTRING_TABLE, LPWSTR, DWORD, LPVOID, DWORD); 2414WINSETUPAPI BOOL WINAPI pSetupStringTableSetExtraData(HSTRING_TABLE, DWORD, LPVOID, DWORD); 2415WINSETUPAPI LPWSTR WINAPI pSetupStringTableStringFromId(HSTRING_TABLE, DWORD); 2416WINSETUPAPI BOOL WINAPI pSetupStringTableStringFromIdEx(HSTRING_TABLE, DWORD, LPWSTR, LPDWORD); 2417 2418WINSETUPAPI PSTR WINAPI pSetupUnicodeToMultiByte(PCWSTR lpUnicodeStr, UINT uCodePage); 2419WINSETUPAPI BOOL WINAPI pSetupUnmapAndCloseFile(HANDLE, HANDLE, PVOID); 2420 2421 2422WINSETUPAPI DWORD WINAPI TakeOwnershipOfFile(PCWSTR); 2423WINSETUPAPI PSTR WINAPI UnicodeToMultiByte(PCWSTR lpUnicodeStr, UINT uCodePage); 2424 2425 2426/* for backward compatability */ 2427#define SetupDiCreateInterfaceDeviceW SetupDiCreateDeviceInterfaceW 2428#define SetupDiCreateInterfaceDeviceRegKeyW SetupDiCreateDeviceInterfaceRegKeyW 2429#define SetupDiOpenInterfaceDeviceW SetupDiOpenDeviceInterfaceW 2430#define SetupDiGetInterfaceDeviceDetailW SetupDiGetDeviceInterfaceDetailW 2431#define SetupDiCreateInterfaceDeviceA SetupDiCreateDeviceInterfaceA 2432#define SetupDiCreateInterfaceDeviceRegKeyA SetupDiCreateDeviceInterfaceRegKeyA 2433#define SetupDiOpenInterfaceDeviceA SetupDiOpenDeviceInterfaceA 2434#define SetupDiGetInterfaceDeviceDetailA SetupDiGetDeviceInterfaceDetailA 2435 2436#ifdef UNICODE 2437#define PSP_FILE_CALLBACK PSP_FILE_CALLBACK_W 2438#define InstallHinfSection InstallHinfSectionW 2439#define SetupAddInstallSectionToDiskSpaceList SetupAddInstallSectionToDiskSpaceListW 2440#define SetupAddSectionToDiskSpaceList SetupAddSectionToDiskSpaceListW 2441#define SetupAddToDiskSpaceList SetupAddToDiskSpaceListW 2442#define SetupAddToSourceList SetupAddToSourceListW 2443#define SetupAdjustDiskSpaceList SetupAdjustDiskSpaceListW 2444#define SetupBackupError SetupBackupErrorW 2445#define SetupCommitFileQueue SetupCommitFileQueueW 2446#define SetupCopyError SetupCopyErrorW 2447#define SetupCopyOEMInf SetupCopyOEMInfW 2448#define SetupCreateDiskSpaceList SetupCreateDiskSpaceListW 2449#define SetupDecompressOrCopyFile SetupDecompressOrCopyFileW 2450#define SetupDefaultQueueCallback SetupDefaultQueueCallbackW 2451#define SetupDeleteError SetupDeleteErrorW 2452#define SetupDiBuildClassInfoListEx SetupDiBuildClassInfoListExW 2453#define SetupDiClassGuidsFromNameEx SetupDiClassGuidsFromNameExW 2454#define SetupDiClassGuidsFromName SetupDiClassGuidsFromNameW 2455#define SetupDiClassNameFromGuidEx SetupDiClassNameFromGuidExW 2456#define SetupDiClassNameFromGuid SetupDiClassNameFromGuidW 2457#define SetupDiCreateDeviceInfoListEx SetupDiCreateDeviceInfoListExW 2458#define SetupDiCreateDeviceInfo SetupDiCreateDeviceInfoW 2459#define SetupDiCreateDeviceInterfaceRegKey SetupDiCreateDeviceInterfaceRegKeyW 2460#define SetupDiCreateInterfaceDeviceRegKey SetupDiCreateDeviceInterfaceRegKeyW 2461#define SetupDiCreateDeviceInterface SetupDiCreateDeviceInterfaceW 2462#define SetupDiCreateInterfaceDevice SetupDiCreateDeviceInterfaceW 2463#define SetupDiCreateDevRegKey SetupDiCreateDevRegKeyW 2464#define SetupDiEnumDriverInfo SetupDiEnumDriverInfoW 2465#define SetupDiGetActualSectionToInstall SetupDiGetActualSectionToInstallW 2466#define SetupDiGetActualSectionToInstallEx SetupDiGetActualSectionToInstallExW 2467#define SetupDiGetClassDescriptionEx SetupDiGetClassDescriptionExW 2468#define SetupDiGetClassDescription SetupDiGetClassDescriptionW 2469#define SetupDiGetClassDevPropertySheets SetupDiGetClassDevPropertySheetsW 2470#define SetupDiGetClassDevsEx SetupDiGetClassDevsExW 2471#define SetupDiGetClassDevs SetupDiGetClassDevsW 2472#define SetupDiGetClassImageListEx SetupDiGetClassImageListExW 2473#define SetupDiGetClassInstallParams SetupDiGetClassInstallParamsW 2474#define SetupDiGetClassRegistryProperty SetupDiGetClassRegistryPropertyW 2475#define SetupDiGetDeviceInfoListDetail SetupDiGetDeviceInfoListDetailW 2476#define SetupDiGetDeviceInstallParams SetupDiGetDeviceInstallParamsW 2477#define SetupDiGetDeviceInstanceId SetupDiGetDeviceInstanceIdW 2478#define SetupDiGetDeviceInterfaceDetail SetupDiGetDeviceInterfaceDetailW 2479#define SetupDiGetInterfaceDeviceDetail SetupDiGetDeviceInterfaceDetailW 2480#define SetupDiGetDeviceRegistryProperty SetupDiGetDeviceRegistryPropertyW 2481#define SetupDiGetDriverInfoDetail SetupDiGetDriverInfoDetailW 2482#define SetupDiGetDriverInstallParams SetupDiGetDriverInstallParamsW 2483#define SetupDiGetHwProfileFriendlyNameEx SetupDiGetHwProfileFriendlyNameExW 2484#define SetupDiGetHwProfileFriendlyName SetupDiGetHwProfileFriendlyNameW 2485#define SetupDiGetHwProfileListEx SetupDiGetHwProfileListExW 2486#define SetupDiGetINFClass SetupDiGetINFClassW 2487#define SetupDiGetSelectedDriver SetupDiGetSelectedDriverW 2488#define SetupDiInstallClassEx SetupDiInstallClassExW 2489#define SetupDiInstallClass SetupDiInstallClassW 2490#define SetupDiOpenClassRegKeyEx SetupDiOpenClassRegKeyExW 2491#define SetupDiOpenDeviceInfo SetupDiOpenDeviceInfoW 2492#define SetupDiOpenDeviceInterface SetupDiOpenDeviceInterfaceW 2493#define SetupDiOpenInterfaceDevice SetupDiOpenDeviceInterfaceW 2494#define SetupDiSetClassInstallParams SetupDiSetClassInstallParamsW 2495#define SetupDiSetClassRegistryProperty SetupDiSetClassRegistryPropertyW 2496#define SetupDiSetDeviceInstallParams SetupDiSetDeviceInstallParamsW 2497#define SetupDiSetDeviceRegistryProperty SetupDiSetDeviceRegistryPropertyW 2498#define SetupDiSetDriverInstallParams SetupDiSetDriverInstallParamsW 2499#define SetupDiSetSelectedDriver SetupDiSetSelectedDriverW 2500#define SetupDuplicateDiskSpaceList SetupDuplicateDiskSpaceListW 2501#define SetupFindFirstLine SetupFindFirstLineW 2502#define SetupFindNextMatchLine SetupFindNextMatchLineW 2503#define SetupFreeSourceList SetupFreeSourceListW 2504#define SetupGetBackupInformation SetupGetBackupInformationW 2505#define SetupGetFileCompressionInfo SetupGetFileCompressionInfoW 2506#define SetupGetFileCompressionInfoEx SetupGetFileCompressionInfoExW 2507#define SetupGetInfFileList SetupGetInfFileListW 2508#define SetupGetInfInformation SetupGetInfInformationW 2509#define SetupGetLineByIndex SetupGetLineByIndexW 2510#define SetupGetLineCount SetupGetLineCountW 2511#define SetupGetLineText SetupGetLineTextW 2512#define SetupGetMultiSzField SetupGetMultiSzFieldW 2513#define SetupGetSourceFileLocation SetupGetSourceFileLocationW 2514#define SetupGetSourceFileSize SetupGetSourceFileSizeW 2515#define SetupGetSourceInfo SetupGetSourceInfoW 2516#define SetupGetStringField SetupGetStringFieldW 2517#define SetupGetTargetPath SetupGetTargetPathW 2518#define SetupInitializeFileLog SetupInitializeFileLogW 2519#define SetupInstallFileEx SetupInstallFileExW 2520#define SetupInstallFilesFromInfSection SetupInstallFilesFromInfSectionW 2521#define SetupInstallFile SetupInstallFileW 2522#define SetupInstallFromInfSection SetupInstallFromInfSectionW 2523#define SetupInstallServicesFromInfSectionEx SetupInstallServicesFromInfSectionExW 2524#define SetupInstallServicesFromInfSection SetupInstallServicesFromInfSectionW 2525#define SetupIterateCabinet SetupIterateCabinetW 2526#define SetupLogError SetupLogErrorW 2527#define SetupLogFile SetupLogFileW 2528#define SetupOpenAppendInfFile SetupOpenAppendInfFileW 2529#define SetupOpenInfFile SetupOpenInfFileW 2530#define SetupPromptForDisk SetupPromptForDiskW 2531#define SetupQueryDrivesInDiskSpaceList SetupQueryDrivesInDiskSpaceListW 2532#define SetupQueryFileLog SetupQueryFileLogW 2533#define SetupQueryInfFileInformation SetupQueryInfFileInformationW 2534#define SetupQueryInfOriginalFileInformation SetupQueryInfOriginalFileInformationW 2535#define SetupQueryInfVersionInformation SetupQueryInfVersionInformationW 2536#define SetupQuerySourceList SetupQuerySourceListW 2537#define SetupQuerySpaceRequiredOnDrive SetupQuerySpaceRequiredOnDriveW 2538#define SetupQueueCopyIndirect SetupQueueCopyIndirectW 2539#define SetupQueueCopySection SetupQueueCopySectionW 2540#define SetupQueueCopy SetupQueueCopyW 2541#define SetupQueueDefaultCopy SetupQueueDefaultCopyW 2542#define SetupQueueDeleteSection SetupQueueDeleteSectionW 2543#define SetupQueueDelete SetupQueueDeleteW 2544#define SetupQueueRenameSection SetupQueueRenameSectionW 2545#define SetupQueueRename SetupQueueRenameW 2546#define SetupRemoveFileLogEntry SetupRemoveFileLogEntryW 2547#define SetupRemoveFromDiskSpaceList SetupRemoveFromDiskSpaceListW 2548#define SetupRemoveFromSourceList SetupRemoveFromSourceListW 2549#define SetupRemoveInstallSectionFromDiskSpaceList SetupRemoveInstallSectionFromDiskSpaceListW 2550#define SetupRemoveSectionFromDiskSpaceList SetupRemoveSectionFromDiskSpaceListW 2551#define SetupRenameError SetupRenameErrorW 2552#define SetupScanFileQueue SetupScanFileQueueW 2553#define SetupSetDirectoryIdEx SetupSetDirectoryIdExW 2554#define SetupSetDirectoryId SetupSetDirectoryIdW 2555#define SetupSetFileQueueAlternatePlatform SetupSetFileQueueAlternatePlatformW 2556#define SetupSetPlatformPathOverride SetupSetPlatformPathOverrideW 2557#define SetupSetSourceList SetupSetSourceListW 2558#define SetupUninstallOEMInf SetupUninstallOEMInfW 2559#else 2560#define PSP_FILE_CALLBACK PSP_FILE_CALLBACK_A 2561#define InstallHinfSection InstallHinfSectionA 2562#define SetupAddInstallSectionToDiskSpaceList SetupAddInstallSectionToDiskSpaceListA 2563#define SetupAddSectionToDiskSpaceList SetupAddSectionToDiskSpaceListA 2564#define SetupAddToDiskSpaceList SetupAddToDiskSpaceListA 2565#define SetupAddToSourceList SetupAddToSourceListA 2566#define SetupAdjustDiskSpaceList SetupAdjustDiskSpaceListA 2567#define SetupBackupError SetupBackupErrorA 2568#define SetupCommitFileQueue SetupCommitFileQueueA 2569#define SetupCopyError SetupCopyErrorA 2570#define SetupCopyOEMInf SetupCopyOEMInfA 2571#define SetupCreateDiskSpaceList SetupCreateDiskSpaceListA 2572#define SetupDecompressOrCopyFile SetupDecompressOrCopyFileA 2573#define SetupDefaultQueueCallback SetupDefaultQueueCallbackA 2574#define SetupDeleteError SetupDeleteErrorA 2575#define SetupDiBuildClassInfoListEx SetupDiBuildClassInfoListExA 2576#define SetupDiClassGuidsFromName SetupDiClassGuidsFromNameA 2577#define SetupDiClassGuidsFromNameEx SetupDiClassGuidsFromNameExA 2578#define SetupDiClassNameFromGuid SetupDiClassNameFromGuidA 2579#define SetupDiClassNameFromGuidEx SetupDiClassNameFromGuidExA 2580#define SetupDiCreateDeviceInfo SetupDiCreateDeviceInfoA 2581#define SetupDiCreateDeviceInfoListEx SetupDiCreateDeviceInfoListExA 2582#define SetupDiCreateDeviceInterface SetupDiCreateDeviceInterfaceA 2583#define SetupDiCreateInterfaceDevice SetupDiCreateDeviceInterfaceA 2584#define SetupDiCreateDeviceInterfaceRegKey SetupDiCreateDeviceInterfaceRegKeyA 2585#define SetupDiCreateInterfaceDeviceRegKey SetupDiCreateDeviceInterfaceRegKeyA 2586#define SetupDiCreateDevRegKey SetupDiCreateDevRegKeyA 2587#define SetupDiDeleteInterfaceDeviceData SetupDiDeleteDeviceInterfaceData 2588#define SetupDiEnumDriverInfo SetupDiEnumDriverInfoA 2589#define SetupDiGetActualSectionToInstall SetupDiGetActualSectionToInstallA 2590#define SetupDiGetActualSectionToInstallEx SetupDiGetActualSectionToInstallExA 2591#define SetupDiGetClassDescription SetupDiGetClassDescriptionA 2592#define SetupDiGetClassDescriptionEx SetupDiGetClassDescriptionExA 2593#define SetupDiGetClassDevPropertySheets SetupDiGetClassDevPropertySheetsA 2594#define SetupDiGetClassDevs SetupDiGetClassDevsA 2595#define SetupDiGetClassDevsEx SetupDiGetClassDevsExA 2596#define SetupDiGetClassImageListEx SetupDiGetClassImageListExA 2597#define SetupDiGetClassInstallParams SetupDiGetClassInstallParamsA 2598#define SetupDiGetClassRegistryProperty SetupDiGetClassRegistryPropertyA 2599#define SetupDiGetDeviceInfoListDetail SetupDiGetDeviceInfoListDetailA 2600#define SetupDiGetDeviceInstallParams SetupDiGetDeviceInstallParamsA 2601#define SetupDiGetDeviceInstanceId SetupDiGetDeviceInstanceIdA 2602#define SetupDiGetDeviceInterfaceDetail SetupDiGetDeviceInterfaceDetailA 2603#define SetupDiGetInterfaceDeviceDetail SetupDiGetDeviceInterfaceDetailA 2604#define SetupDiGetDeviceRegistryProperty SetupDiGetDeviceRegistryPropertyA 2605#define SetupDiGetDriverInfoDetail SetupDiGetDriverInfoDetailA 2606#define SetupDiGetDriverInstallParams SetupDiGetDriverInstallParamsA 2607#define SetupDiGetHwProfileFriendlyName SetupDiGetHwProfileFriendlyNameA 2608#define SetupDiGetHwProfileFriendlyNameEx SetupDiGetHwProfileFriendlyNameExA 2609#define SetupDiGetHwProfileListEx SetupDiGetHwProfileListExA 2610#define SetupDiGetINFClass SetupDiGetINFClassA 2611#define SetupDiGetSelectedDriver SetupDiGetSelectedDriverA 2612#define SetupDiInstallClass SetupDiInstallClassA 2613#define SetupDiInstallClassEx SetupDiInstallClassExA 2614#define SetupDiOpenClassRegKeyEx SetupDiOpenClassRegKeyExA 2615#define SetupDiOpenDeviceInfo SetupDiOpenDeviceInfoA 2616#define SetupDiOpenDeviceInterface SetupDiOpenDeviceInterfaceA 2617#define SetupDiOpenInterfaceDevice SetupDiOpenDeviceInterfaceA 2618#define SetupDiSetClassInstallParams SetupDiSetClassInstallParamsA 2619#define SetupDiSetClassRegistryProperty SetupDiSetClassRegistryPropertyA 2620#define SetupDiSetDeviceInstallParams SetupDiSetDeviceInstallParamsA 2621#define SetupDiSetDeviceRegistryProperty SetupDiSetDeviceRegistryPropertyA 2622#define SetupDiSetDriverInstallParams SetupDiSetDriverInstallParamsA 2623#define SetupDiSetSelectedDriver SetupDiSetSelectedDriverA 2624#define SetupDuplicateDiskSpaceList SetupDuplicateDiskSpaceListA 2625#define SetupFindFirstLine SetupFindFirstLineA 2626#define SetupFindNextMatchLine SetupFindNextMatchLineA 2627#define SetupFreeSourceList SetupFreeSourceListA 2628#define SetupGetBackupInformation SetupGetBackupInformationA 2629#define SetupGetFileCompressionInfo SetupGetFileCompressionInfoA 2630#define SetupGetFileCompressionInfoEx SetupGetFileCompressionInfoExA 2631#define SetupGetInfFileList SetupGetInfFileListA 2632#define SetupGetInfInformation SetupGetInfInformationA 2633#define SetupGetLineByIndex SetupGetLineByIndexA 2634#define SetupGetLineCount SetupGetLineCountA 2635#define SetupGetLineText SetupGetLineTextA 2636#define SetupGetMultiSzField SetupGetMultiSzFieldA 2637#define SetupGetSourceFileLocation SetupGetSourceFileLocationA 2638#define SetupGetSourceFileSize SetupGetSourceFileSizeA 2639#define SetupGetSourceInfo SetupGetSourceInfoA 2640#define SetupGetStringField SetupGetStringFieldA 2641#define SetupGetTargetPath SetupGetTargetPathA 2642#define SetupInitializeFileLog SetupInitializeFileLogA 2643#define SetupInstallFile SetupInstallFileA 2644#define SetupInstallFileEx SetupInstallFileExA 2645#define SetupInstallFilesFromInfSection SetupInstallFilesFromInfSectionA 2646#define SetupInstallFromInfSection SetupInstallFromInfSectionA 2647#define SetupInstallServicesFromInfSection SetupInstallServicesFromInfSectionA 2648#define SetupInstallServicesFromInfSectionEx SetupInstallServicesFromInfSectionExA 2649#define SetupIterateCabinet SetupIterateCabinetA 2650#define SetupLogError SetupLogErrorA 2651#define SetupLogFile SetupLogFileA 2652#define SetupOpenAppendInfFile SetupOpenAppendInfFileA 2653#define SetupOpenInfFile SetupOpenInfFileA 2654#define SetupPromptForDisk SetupPromptForDiskA 2655#define SetupQueryDrivesInDiskSpaceList SetupQueryDrivesInDiskSpaceListA 2656#define SetupQueryFileLog SetupQueryFileLogA 2657#define SetupQueryInfFileInformation SetupQueryInfFileInformationA 2658#define SetupQueryInfOriginalFileInformation SetupQueryInfOriginalFileInformationA 2659#define SetupQueryInfVersionInformation SetupQueryInfVersionInformationA 2660#define SetupQuerySourceList SetupQuerySourceListA 2661#define SetupQuerySpaceRequiredOnDrive SetupQuerySpaceRequiredOnDriveA 2662#define SetupQueueCopy SetupQueueCopyA 2663#define SetupQueueCopyIndirect SetupQueueCopyIndirectA 2664#define SetupQueueCopySection SetupQueueCopySectionA 2665#define SetupQueueDefaultCopy SetupQueueDefaultCopyA 2666#define SetupQueueDelete SetupQueueDeleteA 2667#define SetupQueueDeleteSection SetupQueueDeleteSectionA 2668#define SetupQueueRename SetupQueueRenameA 2669#define SetupQueueRenameSection SetupQueueRenameSectionA 2670#define SetupRemoveFileLogEntry SetupRemoveFileLogEntryA 2671#define SetupRemoveFromDiskSpaceList SetupRemoveFromDiskSpaceListA 2672#define SetupRemoveFromSourceList SetupRemoveFromSourceListA 2673#define SetupRemoveInstallSectionFromDiskSpaceList SetupRemoveInstallSectionFromDiskSpaceListA 2674#define SetupRemoveSectionFromDiskSpaceList SetupRemoveSectionFromDiskSpaceListA 2675#define SetupRenameError SetupRenameErrorA 2676#define SetupScanFileQueue SetupScanFileQueueA 2677#define SetupSetDirectoryId SetupSetDirectoryIdA 2678#define SetupSetDirectoryIdEx SetupSetDirectoryIdExA 2679#define SetupSetFileQueueAlternatePlatform SetupSetFileQueueAlternatePlatformA 2680#define SetupSetPlatformPathOverride SetupSetPlatformPathOverrideA 2681#define SetupSetSourceList SetupSetSourceListA 2682#define SetupUninstallOEMInf SetupUninstallOEMInfA 2683#endif /* UNICODE */ 2684 2685#endif /* RC_INVOKED */ 2686 2687#ifdef __cplusplus 2688} 2689#endif 2690 2691#include <poppack.h> 2692#endif /* _SETUPAPI_H_ */ 2693