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 11 extern "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 668 typedef PVOID HINF; 669 typedef PVOID HDSKSPC; 670 typedef PVOID HDEVINFO; 671 typedef PVOID HSPFILEQ; 672 typedef PVOID HSPFILELOG; 673 typedef UINT DI_FUNCTION; 674 675 typedef PVOID HSTRING_TABLE; 676 677 typedef enum { 678 SetupFileLogSourceFilename, 679 SetupFileLogChecksum, 680 SetupFileLogDiskTagfile, 681 SetupFileLogDiskDescription, 682 SetupFileLogOtherInfo, 683 SetupFileLogMax 684 } SetupFileLogInfo; 685 typedef struct _INFCONTEXT { 686 PVOID Inf; 687 PVOID CurrentInf; 688 UINT Section; 689 UINT Line; 690 } INFCONTEXT, *PINFCONTEXT; 691 typedef struct _SP_INF_INFORMATION { 692 DWORD InfStyle; 693 DWORD InfCount; 694 BYTE VersionData[ANYSIZE_ARRAY]; 695 } SP_INF_INFORMATION, *PSP_INF_INFORMATION; 696 typedef 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; 702 typedef 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; 708 typedef 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; 716 typedef 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 731 typedef SP_ALTPLATFORM_INFO_V1 SP_ALTPLATFORM_INFO; 732 typedef PSP_ALTPLATFORM_INFO_V1 PSP_ALTPLATFORM_INFO; 733 #else 734 typedef SP_ALTPLATFORM_INFO_V2 SP_ALTPLATFORM_INFO; 735 typedef PSP_ALTPLATFORM_INFO_V2 PSP_ALTPLATFORM_INFO; 736 #endif 737 typedef 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; 742 typedef 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; 747 typedef struct _FILEPATHS_A { 748 PCSTR Target; 749 PCSTR Source; 750 UINT Win32Error; 751 DWORD Flags; 752 } FILEPATHS_A, *PFILEPATHS_A; 753 typedef struct _FILEPATHS_W { 754 PCWSTR Target; 755 PCWSTR Source; 756 UINT Win32Error; 757 DWORD Flags; 758 } FILEPATHS_W, *PFILEPATHS_W; 759 typedef 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; 767 typedef 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; 775 typedef 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; 782 typedef 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; 789 typedef 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; 798 typedef 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; 807 typedef 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; 821 typedef 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; 835 typedef struct _SP_DEVINFO_DATA { 836 DWORD cbSize; 837 GUID ClassGuid; 838 DWORD DevInst; 839 ULONG_PTR Reserved; 840 } SP_DEVINFO_DATA, *PSP_DEVINFO_DATA; 841 typedef 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 */ 848 typedef SP_DEVICE_INTERFACE_DATA SP_INTERFACE_DEVICE_DATA, *PSP_INTERFACE_DEVICE_DATA; 849 850 typedef 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; 854 typedef 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 */ 859 typedef SP_DEVICE_INTERFACE_DETAIL_DATA_A SP_INTERFACE_DEVICE_DETAIL_DATA_A, 860 *PSP_INTERFACE_DEVICE_DETAIL_DATA_A; 861 typedef SP_DEVICE_INTERFACE_DETAIL_DATA_W SP_INTERFACE_DEVICE_DETAIL_DATA_W, 862 *PSP_INTERFACE_DEVICE_DETAIL_DATA_W; 863 864 typedef 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; 870 typedef 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 877 typedef UINT (CALLBACK* PSP_FILE_CALLBACK_A)(PVOID,UINT,UINT_PTR,UINT_PTR); 878 typedef UINT (CALLBACK* PSP_FILE_CALLBACK_W)(PVOID,UINT,UINT_PTR,UINT_PTR); 879 typedef 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; 891 typedef 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; 903 typedef struct _SP_CLASSINSTALL_HEADER { 904 DWORD cbSize; 905 DI_FUNCTION InstallFunction; 906 } SP_CLASSINSTALL_HEADER, *PSP_CLASSINSTALL_HEADER; 907 typedef struct _SP_ENABLECLASS_PARAMS { 908 SP_CLASSINSTALL_HEADER ClassInstallHeader; 909 GUID ClassGuid; 910 DWORD EnableMessage; 911 } SP_ENABLECLASS_PARAMS, *PSP_ENABLECLASS_PARAMS; 912 typedef struct _SP_MOVEDEV_PARAMS { 913 SP_CLASSINSTALL_HEADER ClassInstallHeader; 914 SP_DEVINFO_DATA SourceDeviceInfoData; 915 } SP_MOVEDEV_PARAMS, *PSP_MOVEDEV_PARAMS; 916 typedef 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; 922 typedef struct _SP_REMOVEDEVICE_PARAMS { 923 SP_CLASSINSTALL_HEADER ClassInstallHeader; 924 DWORD Scope; 925 DWORD HwProfile; 926 } SP_REMOVEDEVICE_PARAMS, *PSP_REMOVEDEVICE_PARAMS; 927 typedef struct _SP_UNREMOVEDEVICE_PARAMS { 928 SP_CLASSINSTALL_HEADER ClassInstallHeader; 929 DWORD Scope; 930 DWORD HwProfile; 931 } SP_UNREMOVEDEVICE_PARAMS, *PSP_UNREMOVEDEVICE_PARAMS; 932 typedef 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; 940 typedef 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; 947 typedef 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; 953 typedef 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 960 typedef BOOL (CALLBACK* PDETECT_PROGRESS_NOTIFY)(PVOID,DWORD); 961 typedef struct _SP_DETECTDEVICE_PARAMS { 962 SP_CLASSINSTALL_HEADER ClassInstallHeader; 963 PDETECT_PROGRESS_NOTIFY DetectProgressNotify; 964 PVOID ProgressNotifyParam; 965 } SP_DETECTDEVICE_PARAMS, *PSP_DETECTDEVICE_PARAMS; 966 typedef 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; 976 typedef 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; 983 typedef SP_NEWDEVICEWIZARD_DATA SP_ADDPROPERTYPAGE_DATA, 984 *PSP_ADDPROPERTYPAGE_DATA; 985 typedef 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; 990 typedef 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; 995 typedef 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; 999 typedef 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; 1003 typedef 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; 1013 typedef 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; 1023 typedef 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; 1031 typedef 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 1041 typedef SP_DRVINFO_DATA_V1_W SP_DRVINFO_DATA_V1, *PSP_DRVINFO_DATA_V1; 1042 typedef SP_DRVINFO_DATA_V2_W SP_DRVINFO_DATA_V2, *PSP_DRVINFO_DATA_V2; 1043 #else 1044 typedef SP_DRVINFO_DATA_V1_A SP_DRVINFO_DATA_V1, *PSP_DRVINFO_DATA_V1; 1045 typedef SP_DRVINFO_DATA_V2_A SP_DRVINFO_DATA_V2, *PSP_DRVINFO_DATA_V2; 1046 #endif 1047 1048 #if USE_SP_DRVINFO_DATA_V1 1049 typedef SP_DRVINFO_DATA_V1_A SP_DRVINFO_DATA_A, *PSP_DRVINFO_DATA_A; 1050 typedef SP_DRVINFO_DATA_V1_W SP_DRVINFO_DATA_W, *PSP_DRVINFO_DATA_W; 1051 typedef SP_DRVINFO_DATA_V1 SP_DRVINFO_DATA, *PSP_DRVINFO_DATA; 1052 #else 1053 typedef SP_DRVINFO_DATA_V2_A SP_DRVINFO_DATA_A, *PSP_DRVINFO_DATA_A; 1054 typedef SP_DRVINFO_DATA_V2_W SP_DRVINFO_DATA_W, *PSP_DRVINFO_DATA_W; 1055 typedef SP_DRVINFO_DATA_V2 SP_DRVINFO_DATA, *PSP_DRVINFO_DATA; 1056 #endif 1057 1058 typedef DWORD (CALLBACK* PSP_DETSIG_CMPPROC)(HDEVINFO,PSP_DEVINFO_DATA,PSP_DEVINFO_DATA,PVOID); 1059 1060 typedef 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; 1071 typedef 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; 1082 typedef 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 1091 typedef struct _COINSTALLER_CONTEXT_DATA { 1092 BOOL PostProcessing; 1093 DWORD InstallResult; 1094 PVOID PrivateData; 1095 } COINSTALLER_CONTEXT_DATA, *PCOINSTALLER_CONTEXT_DATA; 1096 typedef struct _SP_CLASSIMAGELIST_DATA { 1097 DWORD cbSize; 1098 HIMAGELIST ImageList; 1099 ULONG_PTR Reserved; 1100 } SP_CLASSIMAGELIST_DATA, *PSP_CLASSIMAGELIST_DATA; 1101 typedef 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; 1107 typedef 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; 1112 typedef 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 1120 typedef SP_ORIGINAL_FILE_INFO_W SP_ORIGINAL_FILE_INFO, *PSP_ORIGINAL_FILE_INFO; 1121 typedef FILEPATHS_W FILEPATHS, *PFILEPATHS; 1122 typedef SOURCE_MEDIA_W SOURCE_MEDIA, *PSOURCE_MEDIA; 1123 typedef CABINET_INFO_W CABINET_INFO, *PCABINET_INFO; 1124 typedef FILE_IN_CABINET_INFO_W FILE_IN_CABINET_INFO, *PFILE_IN_CABINET_INFO; 1125 typedef SP_FILE_COPY_PARAMS_W SP_FILE_COPY_PARAMS, PSP_FILE_COPY_PARAMS; 1126 typedef SP_DEVICE_INTERFACE_DETAIL_DATA_W SP_DEVICE_INTERFACE_DETAIL_DATA, 1127 *PSP_DEVICE_INTERFACE_DETAIL_DATA; 1128 typedef SP_INTERFACE_DEVICE_DETAIL_DATA_W SP_INTERFACE_DEVICE_DETAIL_DATA, 1129 *PSP_INTERFACE_DEVICE_DETAIL_DATA; /* deprecated */ 1130 typedef SP_DEVINFO_LIST_DETAIL_DATA_W SP_DEVINFO_LIST_DETAIL_DATA, 1131 *PSP_DEVINFO_LIST_DETAIL_DATA; 1132 typedef SP_DEVINSTALL_PARAMS_W SP_DEVINSTALL_PARAMS, *PSP_DEVINSTALL_PARAMS; 1133 typedef SP_SELECTDEVICE_PARAMS_W SP_SELECTDEVICE_PARAMS, *PSP_SELECTDEVICE_PARAMS; 1134 typedef SP_TROUBLESHOOTER_PARAMS_W SP_TROUBLESHOOTER_PARAMS, 1135 *PSP_TROUBLESHOOTER_PARAMS; 1136 typedef SP_POWERMESSAGEWAKE_PARAMS_W SP_POWERMESSAGEWAKE_PARAMS, 1137 *PSP_POWERMESSAGEWAKE_PARAMS; 1138 typedef SP_DRVINFO_DETAIL_DATA_W SP_DRVINFO_DETAIL_DATA, 1139 *PSP_DRVINFO_DETAIL_DATA; 1140 typedef SP_BACKUP_QUEUE_PARAMS_W SP_BACKUP_QUEUE_PARAMS, 1141 *PSP_BACKUP_QUEUE_PARAMS; 1142 typedef SP_REGISTER_CONTROL_STATUSW SP_REGISTER_CONTROL_STATUS, *PSP_REGISTER_CONTROL_STATUS; 1143 #else 1144 typedef SP_ORIGINAL_FILE_INFO_A SP_ORIGINAL_FILE_INFO, *PSP_ORIGINAL_FILE_INFO; 1145 typedef FILEPATHS_A FILEPATHS, *PFILEPATHS; 1146 typedef SOURCE_MEDIA_A SOURCE_MEDIA, *PSOURCE_MEDIA; 1147 typedef CABINET_INFO_A CABINET_INFO, *PCABINET_INFO; 1148 typedef FILE_IN_CABINET_INFO_A FILE_IN_CABINET_INFO, *PFILE_IN_CABINET_INFO; 1149 typedef SP_FILE_COPY_PARAMS_A SP_FILE_COPY_PARAMS, *PSP_FILE_COPY_PARAMS; 1150 typedef SP_DEVICE_INTERFACE_DETAIL_DATA_A SP_DEVICE_INTERFACE_DETAIL_DATA, 1151 *PSP_DEVICE_INTERFACE_DETAIL_DATA; 1152 typedef SP_INTERFACE_DEVICE_DETAIL_DATA_A SP_INTERFACE_DEVICE_DETAIL_DATA, 1153 *PSP_INTERFACE_DEVICE_DETAIL_DATA; /* deprecated */ 1154 typedef SP_DEVINFO_LIST_DETAIL_DATA_A SP_DEVINFO_LIST_DETAIL_DATA, 1155 *PSP_DEVINFO_LIST_DETAIL_DATA; 1156 typedef SP_DEVINSTALL_PARAMS_A SP_DEVINSTALL_PARAMS, *PSP_DEVINSTALL_PARAMS; 1157 typedef SP_SELECTDEVICE_PARAMS_A SP_SELECTDEVICE_PARAMS, 1158 *PSP_SELECTDEVICE_PARAMS; 1159 typedef SP_TROUBLESHOOTER_PARAMS_A SP_TROUBLESHOOTER_PARAMS, 1160 *PSP_TROUBLESHOOTER_PARAMS; 1161 typedef SP_POWERMESSAGEWAKE_PARAMS_A SP_POWERMESSAGEWAKE_PARAMS, 1162 *PSP_POWERMESSAGEWAKE_PARAMS; 1163 typedef SP_DRVINFO_DETAIL_DATA_A SP_DRVINFO_DETAIL_DATA, 1164 *PSP_DRVINFO_DETAIL_DATA; 1165 typedef SP_BACKUP_QUEUE_PARAMS_A SP_BACKUP_QUEUE_PARAMS, 1166 *PSP_BACKUP_QUEUE_PARAMS; 1167 typedef SP_REGISTER_CONTROL_STATUSA SP_REGISTER_CONTROL_STATUS, *PSP_REGISTER_CONTROL_STATUS; 1168 #endif /* UNICODE */ 1169 1170 1171 WINSETUPAPI LONG WINAPI AddTagToGroupOrderList(PCWSTR, DWORD, DWORD); 1172 WINSETUPAPI VOID WINAPI AssertFail(LPSTR, UINT, LPSTR); 1173 WINSETUPAPI DWORD WINAPI CaptureStringArg(PCWSTR, PWSTR*); 1174 WINSETUPAPI BOOL WINAPI DelayedMove(PCWSTR, PCWSTR); 1175 WINSETUPAPI BOOL WINAPI DoesUserHavePrivilege(PCWSTR); 1176 WINSETUPAPI BOOL WINAPI FileExists(PCWSTR, PWIN32_FIND_DATAW); 1177 WINSETUPAPI DWORD WINAPI GetSetFileTimestamp(PCWSTR, PFILETIME, PFILETIME, PFILETIME, BOOLEAN); 1178 WINSETUPAPI VOID WINAPI InstallHinfSectionA(_In_ HWND, _In_ HINSTANCE, _In_ PCSTR, _In_ INT); 1179 WINSETUPAPI VOID WINAPI InstallHinfSectionW(_In_ HWND, _In_ HINSTANCE, _In_ PCWSTR, _In_ INT); 1180 WINSETUPAPI BOOL WINAPI IsUserAdmin(VOID); 1181 WINSETUPAPI VOID WINAPI MyFree(PVOID); 1182 WINSETUPAPI PVOID WINAPI MyMalloc(DWORD); 1183 WINSETUPAPI PVOID WINAPI MyRealloc(PVOID, DWORD); 1184 WINSETUPAPI LONG WINAPI QueryRegistryValue(HKEY, PCWSTR, PBYTE*, PDWORD, PDWORD); 1185 WINSETUPAPI DWORD WINAPI RetreiveFileSecurity(PCWSTR, PSECURITY_DESCRIPTOR*); 1186 1187 WINSETUPAPI BOOL WINAPI SetupAddInstallSectionToDiskSpaceListA(_In_ HDSKSPC, _In_ HINF, _In_opt_ HINF, _In_ PCSTR, _Reserved_ PVOID, _Reserved_ UINT); 1188 WINSETUPAPI BOOL WINAPI SetupAddInstallSectionToDiskSpaceListW(_In_ HDSKSPC, _In_ HINF, _In_opt_ HINF, _In_ PCWSTR, _Reserved_ PVOID, _Reserved_ UINT); 1189 WINSETUPAPI BOOL WINAPI SetupAddSectionToDiskSpaceListA(_In_ HDSKSPC, _In_ HINF, _In_opt_ HINF, _In_ PCSTR, _In_ UINT, _Reserved_ PVOID, _Reserved_ UINT); 1190 WINSETUPAPI BOOL WINAPI SetupAddSectionToDiskSpaceListW(_In_ HDSKSPC, _In_ HINF, _In_opt_ HINF, _In_ PCWSTR, _In_ UINT, _Reserved_ PVOID, _Reserved_ UINT); 1191 WINSETUPAPI BOOL WINAPI SetupAddToDiskSpaceListA(_In_ HDSKSPC, _In_ PCSTR, _In_ LONGLONG, _In_ UINT, _Reserved_ PVOID, _Reserved_ UINT); 1192 WINSETUPAPI BOOL WINAPI SetupAddToDiskSpaceListW(_In_ HDSKSPC, _In_ PCWSTR, _In_ LONGLONG, _In_ UINT, _Reserved_ PVOID, _Reserved_ UINT); 1193 WINSETUPAPI BOOL WINAPI SetupAddToSourceListA(_In_ DWORD, _In_ PCSTR); 1194 WINSETUPAPI BOOL WINAPI SetupAddToSourceListW(_In_ DWORD, _In_ PCWSTR); 1195 WINSETUPAPI BOOL WINAPI SetupAdjustDiskSpaceListA(_In_ HDSKSPC, _In_ LPCSTR, _In_ LONGLONG, _Reserved_ PVOID, _Reserved_ UINT); 1196 WINSETUPAPI BOOL WINAPI SetupAdjustDiskSpaceListW(_In_ HDSKSPC, _In_ LPCWSTR, _In_ LONGLONG, _Reserved_ PVOID, _Reserved_ UINT); 1197 WINSETUPAPI UINT WINAPI SetupBackupErrorA(_In_ HWND, _In_opt_ PCSTR, _In_ PCSTR, _In_opt_ PCSTR, _In_ UINT, _In_ DWORD); 1198 WINSETUPAPI UINT WINAPI SetupBackupErrorW(_In_ HWND, _In_opt_ PCWSTR, _In_ PCWSTR, _In_opt_ PCWSTR, _In_ UINT, _In_ DWORD); 1199 WINSETUPAPI BOOL WINAPI SetupCancelTemporary(VOID); 1200 WINSETUPAPI BOOL WINAPI SetupCloseFileQueue(_In_ HSPFILEQ); 1201 WINSETUPAPI VOID WINAPI SetupCloseInfFile(_In_ HINF); 1202 WINSETUPAPI VOID WINAPI SetupCloseLog(VOID); 1203 WINSETUPAPI BOOL WINAPI SetupCommitFileQueueA(_In_opt_ HWND, _In_ HSPFILEQ, _In_ PSP_FILE_CALLBACK_A, _In_ PVOID); 1204 WINSETUPAPI BOOL WINAPI SetupCommitFileQueueW(_In_opt_ HWND, _In_ HSPFILEQ, _In_ PSP_FILE_CALLBACK_W, _In_ PVOID); 1205 1206 WINSETUPAPI 1207 UINT 1208 WINAPI 1209 SetupCopyErrorA( 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 1222 WINSETUPAPI 1223 UINT 1224 WINAPI 1225 SetupCopyErrorW( 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 1238 WINSETUPAPI 1239 BOOL 1240 WINAPI 1241 SetupCopyOEMInfA( 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 1251 WINSETUPAPI 1252 BOOL 1253 WINAPI 1254 SetupCopyOEMInfW( 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 1264 WINSETUPAPI HDSKSPC WINAPI SetupCreateDiskSpaceListA(_Reserved_ PVOID, _Reserved_ DWORD, _In_ UINT); 1265 WINSETUPAPI HDSKSPC WINAPI SetupCreateDiskSpaceListW(_Reserved_ PVOID, _Reserved_ DWORD, _In_ UINT); 1266 WINSETUPAPI DWORD WINAPI SetupDecompressOrCopyFileA(_In_ PCSTR, _In_ PCSTR, _In_opt_ PUINT); 1267 WINSETUPAPI DWORD WINAPI SetupDecompressOrCopyFileW(_In_ PCWSTR, _In_ PCWSTR, _In_opt_ PUINT); 1268 WINSETUPAPI UINT WINAPI SetupDefaultQueueCallbackA(_In_ PVOID, _In_ UINT, _In_ UINT_PTR, _In_ UINT_PTR); 1269 WINSETUPAPI UINT WINAPI SetupDefaultQueueCallbackW(_In_ PVOID, _In_ UINT, _In_ UINT_PTR, _In_ UINT_PTR); 1270 WINSETUPAPI UINT WINAPI SetupDeleteErrorA(_In_ HWND, _In_opt_ PCSTR, _In_ PCSTR, _In_ UINT, _In_ DWORD); 1271 WINSETUPAPI UINT WINAPI SetupDeleteErrorW(_In_ HWND, _In_opt_ PCWSTR, _In_ PCWSTR, _In_ UINT, _In_ DWORD); 1272 WINSETUPAPI BOOL WINAPI SetupDestroyDiskSpaceList(_Inout_ HDSKSPC); 1273 WINSETUPAPI BOOL WINAPI SetupDiAskForOEMDisk(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA); 1274 1275 _Success_(return != FALSE) 1276 WINSETUPAPI 1277 BOOL 1278 WINAPI 1279 SetupDiBuildClassInfoList( 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) 1286 WINSETUPAPI 1287 BOOL 1288 WINAPI 1289 SetupDiBuildClassInfoListExA( 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) 1298 WINSETUPAPI 1299 BOOL 1300 WINAPI 1301 SetupDiBuildClassInfoListExW( 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 1309 WINSETUPAPI BOOL WINAPI SetupDiBuildDriverInfoList(_In_ HDEVINFO, _Inout_opt_ PSP_DEVINFO_DATA, _In_ DWORD); 1310 WINSETUPAPI BOOL WINAPI SetupDiCallClassInstaller(_In_ DI_FUNCTION, _In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA); 1311 WINSETUPAPI BOOL WINAPI SetupDiCancelDriverInfoSearch(_In_ HDEVINFO); 1312 WINSETUPAPI BOOL WINAPI SetupDiChangeState(_In_ HDEVINFO, _Inout_ PSP_DEVINFO_DATA); 1313 1314 _Success_(return != FALSE) 1315 WINSETUPAPI 1316 BOOL 1317 WINAPI 1318 SetupDiClassGuidsFromNameA( 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) 1325 WINSETUPAPI 1326 BOOL 1327 WINAPI 1328 SetupDiClassGuidsFromNameW( 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) 1335 WINSETUPAPI 1336 BOOL 1337 WINAPI 1338 SetupDiClassGuidsFromNameExA( 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) 1347 WINSETUPAPI 1348 BOOL 1349 WINAPI 1350 SetupDiClassGuidsFromNameExW( 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 1358 WINSETUPAPI 1359 BOOL 1360 WINAPI 1361 SetupDiClassNameFromGuidA( 1362 _In_ CONST GUID *ClassGuid, 1363 _Out_writes_(ClassNameSize) PSTR ClassName, 1364 _In_ DWORD ClassNameSize, 1365 _Out_opt_ PDWORD RequiredSize); 1366 1367 WINSETUPAPI 1368 BOOL 1369 WINAPI 1370 SetupDiClassNameFromGuidW( 1371 _In_ CONST GUID *ClassGuid, 1372 _Out_writes_(ClassNameSize) PWSTR ClassName, 1373 _In_ DWORD ClassNameSize, 1374 _Out_opt_ PDWORD RequiredSize); 1375 1376 WINSETUPAPI 1377 BOOL 1378 WINAPI 1379 SetupDiClassNameFromGuidExA( 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 1387 WINSETUPAPI 1388 BOOL 1389 WINAPI 1390 SetupDiClassNameFromGuidExW( 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 1398 WINSETUPAPI BOOL WINAPI SetupDiCreateDeviceInfoA(_In_ HDEVINFO, _In_ PCSTR, _In_ CONST GUID*, _In_opt_ PCSTR, _In_opt_ HWND, _In_ DWORD, _Out_opt_ PSP_DEVINFO_DATA); 1399 WINSETUPAPI 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); 1403 WINSETUPAPI BOOL WINAPI SetupDiCreateDeviceInterfaceA(_In_ HDEVINFO, _In_ PSP_DEVINFO_DATA, _In_ CONST GUID*, _In_opt_ PCSTR, _In_ DWORD, _Out_opt_ PSP_DEVICE_INTERFACE_DATA); 1404 WINSETUPAPI 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); 1409 WINSETUPAPI BOOL WINAPI SetupDiDeleteDeviceInfo(_In_ HDEVINFO, _In_ PSP_DEVINFO_DATA); 1410 WINSETUPAPI BOOL WINAPI SetupDiDeleteDeviceInterfaceData(_In_ HDEVINFO, _In_ PSP_DEVICE_INTERFACE_DATA); 1411 WINSETUPAPI BOOL WINAPI SetupDiDeleteDeviceInterfaceRegKey(_In_ HDEVINFO, _In_ PSP_DEVICE_INTERFACE_DATA, _Reserved_ DWORD); 1412 WINSETUPAPI BOOL WINAPI SetupDiDeleteDevRegKey(_In_ HDEVINFO, _In_ PSP_DEVINFO_DATA, _In_ DWORD, _In_ DWORD, _In_ DWORD); 1413 WINSETUPAPI BOOL WINAPI SetupDiDestroyClassImageList(_In_ PSP_CLASSIMAGELIST_DATA); 1414 WINSETUPAPI BOOL WINAPI SetupDiDestroyDeviceInfoList(_In_ HDEVINFO); 1415 WINSETUPAPI BOOL WINAPI SetupDiDestroyDriverInfoList(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ DWORD); 1416 WINSETUPAPI INT WINAPI SetupDiDrawMiniIcon(_In_ HDC, _In_ RECT, _In_ INT, _In_ DWORD); 1417 WINSETUPAPI BOOL WINAPI SetupDiEnumDeviceInfo(_In_ HDEVINFO, _In_ DWORD, _Out_ PSP_DEVINFO_DATA); 1418 WINSETUPAPI BOOL WINAPI SetupDiEnumDeviceInterfaces(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ CONST GUID*, _In_ DWORD, _Out_ PSP_DEVICE_INTERFACE_DATA); 1419 WINSETUPAPI BOOL WINAPI SetupDiEnumDriverInfoA(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ DWORD, _In_ DWORD, _Out_ PSP_DRVINFO_DATA_A); 1420 WINSETUPAPI BOOL WINAPI SetupDiEnumDriverInfoW(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ DWORD, _In_ DWORD, _Out_ PSP_DRVINFO_DATA_W); 1421 1422 WINSETUPAPI 1423 BOOL 1424 WINAPI 1425 SetupDiGetActualSectionToInstallA( 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 1433 WINSETUPAPI 1434 BOOL 1435 WINAPI 1436 SetupDiGetActualSectionToInstallW( 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 1444 WINSETUPAPI 1445 BOOL 1446 WINAPI 1447 SetupDiGetActualSectionToInstallExA( 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 1457 WINSETUPAPI 1458 BOOL 1459 WINAPI 1460 SetupDiGetActualSectionToInstallExW( 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 1470 WINSETUPAPI BOOL WINAPI SetupDiGetClassBitmapIndex(_In_opt_ CONST GUID*, _Out_ PINT); 1471 1472 WINSETUPAPI 1473 BOOL 1474 WINAPI 1475 SetupDiGetClassDescriptionA( 1476 _In_ CONST GUID *ClassGuid, 1477 _Out_writes_(ClassDescriptionSize) PSTR ClassDescription, 1478 _In_ DWORD ClassDescriptionSize, 1479 _Out_opt_ PDWORD RequiredSize); 1480 1481 WINSETUPAPI 1482 BOOL 1483 WINAPI 1484 SetupDiGetClassDescriptionW( 1485 _In_ CONST GUID *ClassGuid, 1486 _Out_writes_(ClassDescriptionSize) PWSTR ClassDescription, 1487 _In_ DWORD ClassDescriptionSize, 1488 _Out_opt_ PDWORD RequiredSize); 1489 1490 WINSETUPAPI 1491 BOOL 1492 WINAPI 1493 SetupDiGetClassDescriptionExA( 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 1501 WINSETUPAPI 1502 BOOL 1503 WINAPI 1504 SetupDiGetClassDescriptionExW( 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 1512 WINSETUPAPI BOOL WINAPI SetupDiGetClassDevPropertySheetsA(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ LPPROPSHEETHEADERA, _In_ DWORD, _Out_opt_ PDWORD, _In_ DWORD); 1513 WINSETUPAPI 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); 1518 WINSETUPAPI BOOL WINAPI SetupDiGetClassImageIndex(_In_ PSP_CLASSIMAGELIST_DATA, _In_ CONST GUID*, _Out_ PINT); 1519 WINSETUPAPI BOOL WINAPI SetupDiGetClassImageList(_Out_ PSP_CLASSIMAGELIST_DATA); 1520 WINSETUPAPI BOOL WINAPI SetupDiGetClassImageListExA(_Out_ PSP_CLASSIMAGELIST_DATA, _In_opt_ PCSTR, _Reserved_ PVOID); 1521 WINSETUPAPI BOOL WINAPI SetupDiGetClassImageListExW(_Out_ PSP_CLASSIMAGELIST_DATA, _In_opt_ PCWSTR, _Reserved_ PVOID); 1522 1523 _Success_(return != FALSE) 1524 WINSETUPAPI 1525 BOOL 1526 WINAPI 1527 SetupDiGetClassInstallParamsA( 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) 1535 WINSETUPAPI 1536 BOOL 1537 WINAPI 1538 SetupDiGetClassInstallParamsW( 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) 1546 WINSETUPAPI 1547 BOOL 1548 WINAPI 1549 SetupDiGetClassRegistryPropertyA( 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) 1560 WINSETUPAPI 1561 BOOL 1562 WINAPI 1563 SetupDiGetClassRegistryPropertyW( 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 1573 WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInfoListClass(_In_ HDEVINFO, _Out_ LPGUID); 1574 WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInfoListDetailA(_In_ HDEVINFO, _Out_ PSP_DEVINFO_LIST_DETAIL_DATA_A); 1575 WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInfoListDetailW(_In_ HDEVINFO, _Out_ PSP_DEVINFO_LIST_DETAIL_DATA_W); 1576 WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInstallParamsA(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _Out_ PSP_DEVINSTALL_PARAMS_A); 1577 WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInstallParamsW(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _Out_ PSP_DEVINSTALL_PARAMS_W); 1578 1579 WINSETUPAPI 1580 BOOL 1581 WINAPI 1582 SetupDiGetDeviceInstanceIdA( 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 1589 WINSETUPAPI 1590 BOOL 1591 WINAPI 1592 SetupDiGetDeviceInstanceIdW( 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 1599 WINSETUPAPI 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_) 1603 WINSETUPAPI 1604 BOOL 1605 WINAPI 1606 SetupDiGetDeviceInterfaceDetailA( 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_) 1616 WINSETUPAPI 1617 BOOL 1618 WINAPI 1619 SetupDiGetDeviceInterfaceDetailW( 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_)) 1630 WINSETUPAPI 1631 BOOL 1632 WINAPI 1633 SetupDiGetDeviceRegistryPropertyA( 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_)) 1645 WINSETUPAPI 1646 BOOL 1647 WINAPI 1648 SetupDiGetDeviceRegistryPropertyW( 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 1657 WINSETUPAPI 1658 BOOL 1659 WINAPI 1660 SetupDiGetDriverInfoDetailA( 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 1668 WINSETUPAPI 1669 BOOL 1670 WINAPI 1671 SetupDiGetDriverInfoDetailW( 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 1679 WINSETUPAPI BOOL WINAPI SetupDiGetDriverInstallParamsA(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ PSP_DRVINFO_DATA_A, _Out_ PSP_DRVINSTALL_PARAMS); 1680 WINSETUPAPI BOOL WINAPI SetupDiGetDriverInstallParamsW(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ PSP_DRVINFO_DATA_W, _Out_ PSP_DRVINSTALL_PARAMS); 1681 1682 WINSETUPAPI 1683 BOOL 1684 WINAPI 1685 SetupDiGetHwProfileFriendlyNameA( 1686 _In_ DWORD HwProfile, 1687 _Out_writes_(FriendlyNameSize) PSTR FriendlyName, 1688 _In_ DWORD FriendlyNameSize, 1689 _Out_opt_ PDWORD RequiredSize); 1690 1691 WINSETUPAPI 1692 BOOL 1693 WINAPI 1694 SetupDiGetHwProfileFriendlyNameW( 1695 _In_ DWORD HwProfile, 1696 _Out_writes_(FriendlyNameSize) PWSTR FriendlyName, 1697 _In_ DWORD FriendlyNameSize, 1698 _Out_opt_ PDWORD RequiredSize); 1699 1700 WINSETUPAPI 1701 BOOL 1702 WINAPI 1703 SetupDiGetHwProfileFriendlyNameExA( 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 1711 WINSETUPAPI 1712 BOOL 1713 WINAPI 1714 SetupDiGetHwProfileFriendlyNameExW( 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 1722 WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileFriendlyNameW(DWORD,PWSTR,DWORD,PDWORD); 1723 1724 _Success_(return != FALSE) 1725 WINSETUPAPI 1726 BOOL 1727 WINAPI 1728 SetupDiGetHwProfileList( 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) 1735 WINSETUPAPI 1736 BOOL 1737 WINAPI 1738 SetupDiGetHwProfileListExA( 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) 1747 WINSETUPAPI 1748 BOOL 1749 WINAPI 1750 SetupDiGetHwProfileListExW( 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 1758 WINSETUPAPI 1759 BOOL 1760 WINAPI 1761 SetupDiGetINFClassA( 1762 _In_ PCSTR InfName, 1763 _Out_ LPGUID ClassGuid, 1764 _Out_writes_(ClassNameSize) PSTR ClassName, 1765 _In_ DWORD ClassNameSize, 1766 _Out_opt_ PDWORD RequiredSize); 1767 1768 WINSETUPAPI 1769 BOOL 1770 WINAPI 1771 SetupDiGetINFClassW( 1772 _In_ PCWSTR InfName, 1773 _Out_ LPGUID ClassGuid, 1774 _Out_writes_(ClassNameSize) PWSTR ClassName, 1775 _In_ DWORD ClassNameSize, 1776 _Out_opt_ PDWORD RequiredSize); 1777 1778 WINSETUPAPI BOOL WINAPI SetupDiGetSelectedDevice(_In_ HDEVINFO, _Out_ PSP_DEVINFO_DATA); 1779 WINSETUPAPI BOOL WINAPI SetupDiGetSelectedDriverA(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _Out_ PSP_DRVINFO_DATA_A); 1780 WINSETUPAPI BOOL WINAPI SetupDiGetSelectedDriverW(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _Out_ PSP_DRVINFO_DATA_W); 1781 WINSETUPAPI HPROPSHEETPAGE WINAPI SetupDiGetWizardPage(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ PSP_INSTALLWIZARD_DATA, _In_ DWORD, _In_ DWORD); 1782 WINSETUPAPI BOOL WINAPI SetupDiInstallClassA(_In_opt_ HWND, _In_ PCSTR, _In_ DWORD, _In_opt_ HSPFILEQ); 1783 WINSETUPAPI BOOL WINAPI SetupDiInstallClassW(_In_opt_ HWND, _In_ PCWSTR, _In_ DWORD, _In_opt_ HSPFILEQ); 1784 WINSETUPAPI BOOL WINAPI SetupDiInstallClassExA(_In_opt_ HWND, _In_opt_ PCSTR, _In_ DWORD, _In_opt_ HSPFILEQ, _In_opt_ CONST GUID*, _Reserved_ PVOID, _Reserved_ PVOID); 1785 WINSETUPAPI BOOL WINAPI SetupDiInstallClassExW(_In_opt_ HWND, _In_opt_ PCWSTR, _In_ DWORD, _In_opt_ HSPFILEQ, _In_opt_ CONST GUID*, _Reserved_ PVOID, _Reserved_ PVOID); 1786 WINSETUPAPI BOOL WINAPI SetupDiInstallDevice(_In_ HDEVINFO, _Inout_ PSP_DEVINFO_DATA); 1787 WINSETUPAPI BOOL WINAPI SetupDiInstallDeviceInterfaces(_In_ HDEVINFO, _In_ PSP_DEVINFO_DATA); 1788 WINSETUPAPI BOOL WINAPI SetupDiInstallDriverFiles(_In_ HDEVINFO, _In_ PSP_DEVINFO_DATA); 1789 WINSETUPAPI BOOL WINAPI SetupDiLoadClassIcon(_In_ CONST GUID*, _Out_opt_ HICON*, _Out_opt_ PINT); 1790 WINSETUPAPI 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); 1794 WINSETUPAPI BOOL WINAPI SetupDiOpenDeviceInfoA(_In_ HDEVINFO, _In_ PCSTR, _In_opt_ HWND, _In_ DWORD, _Out_opt_ PSP_DEVINFO_DATA); 1795 WINSETUPAPI BOOL WINAPI SetupDiOpenDeviceInfoW(_In_ HDEVINFO, _In_ PCWSTR, _In_opt_ HWND, _In_ DWORD, _Out_opt_ PSP_DEVINFO_DATA); 1796 WINSETUPAPI BOOL WINAPI SetupDiOpenDeviceInterfaceA(_In_ HDEVINFO, _In_ PCSTR, _In_ DWORD, _Out_opt_ PSP_DEVICE_INTERFACE_DATA); 1797 WINSETUPAPI 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); 1800 WINSETUPAPI BOOL WINAPI SetupDiRegisterCoDeviceInstallers(_In_ HDEVINFO, _In_ PSP_DEVINFO_DATA); 1801 WINSETUPAPI BOOL WINAPI SetupDiRegisterDeviceInfo(_In_ HDEVINFO, _Inout_ PSP_DEVINFO_DATA, _In_ DWORD, _In_opt_ PSP_DETSIG_CMPPROC, _In_opt_ PVOID, _Out_opt_ PSP_DEVINFO_DATA); 1802 WINSETUPAPI BOOL WINAPI SetupDiRemoveDevice(_In_ HDEVINFO, _Inout_ PSP_DEVINFO_DATA); 1803 WINSETUPAPI BOOL WINAPI SetupDiRemoveDeviceInterface(_In_ HDEVINFO, _Inout_ PSP_DEVICE_INTERFACE_DATA); 1804 WINSETUPAPI BOOL WINAPI SetupDiRestartDevices(_In_ HDEVINFO, _Inout_ PSP_DEVINFO_DATA); 1805 WINSETUPAPI BOOL WINAPI SetupDiSelectBestCompatDrv(_In_ HDEVINFO, _Inout_opt_ PSP_DEVINFO_DATA); 1806 WINSETUPAPI BOOL WINAPI SetupDiSelectDevice(_In_ HDEVINFO, _Inout_opt_ PSP_DEVINFO_DATA); 1807 WINSETUPAPI BOOL WINAPI SetupDiSelectOEMDrv(_In_opt_ HWND, _In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA); 1808 1809 WINSETUPAPI 1810 BOOL 1811 WINAPI 1812 SetupDiSetClassInstallParamsA( 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 1818 WINSETUPAPI 1819 BOOL 1820 WINAPI 1821 SetupDiSetClassInstallParamsW( 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 1827 WINSETUPAPI 1828 BOOL 1829 WINAPI 1830 SetupDiSetClassRegistryPropertyA( 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 1838 WINSETUPAPI 1839 BOOL 1840 WINAPI 1841 SetupDiSetClassRegistryPropertyW( 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 1849 WINSETUPAPI BOOL WINAPI SetupDiSetDeviceInstallParamsA(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ PSP_DEVINSTALL_PARAMS_A); 1850 WINSETUPAPI BOOL WINAPI SetupDiSetDeviceInstallParamsW(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ PSP_DEVINSTALL_PARAMS_W); 1851 1852 WINSETUPAPI 1853 BOOL 1854 WINAPI 1855 SetupDiSetDeviceRegistryPropertyA( 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 1862 WINSETUPAPI 1863 BOOL 1864 WINAPI 1865 SetupDiSetDeviceRegistryPropertyW( 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 1872 WINSETUPAPI BOOL WINAPI SetupDiSetDriverInstallParamsA(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ PSP_DRVINFO_DATA_A, _In_ PSP_DRVINSTALL_PARAMS); 1873 WINSETUPAPI BOOL WINAPI SetupDiSetDriverInstallParamsW(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ PSP_DRVINFO_DATA_W, _In_ PSP_DRVINSTALL_PARAMS); 1874 WINSETUPAPI BOOL WINAPI SetupDiSetSelectedDevice(_In_ HDEVINFO, _In_ PSP_DEVINFO_DATA); 1875 WINSETUPAPI BOOL WINAPI SetupDiSetSelectedDriverA(_In_ HDEVINFO, _Inout_opt_ PSP_DEVINFO_DATA, _Inout_opt_ PSP_DRVINFO_DATA_A); 1876 WINSETUPAPI BOOL WINAPI SetupDiSetSelectedDriverW(_In_ HDEVINFO, _Inout_opt_ PSP_DEVINFO_DATA, _Inout_opt_ PSP_DRVINFO_DATA_W); 1877 WINSETUPAPI BOOL WINAPI SetupDiUnremoveDevice(_In_ HDEVINFO, _Inout_ PSP_DEVINFO_DATA); 1878 WINSETUPAPI HDSKSPC WINAPI SetupDuplicateDiskSpaceListA(_In_ HDSKSPC, _Reserved_ PVOID, _Reserved_ DWORD, _In_ UINT); 1879 WINSETUPAPI HDSKSPC WINAPI SetupDuplicateDiskSpaceListW(_In_ HDSKSPC, _Reserved_ PVOID, _Reserved_ DWORD, _In_ UINT); 1880 WINSETUPAPI BOOL WINAPI SetupFindFirstLineA(_In_ HINF, _In_ PCSTR, _In_opt_ PCSTR, _Out_ PINFCONTEXT); 1881 WINSETUPAPI BOOL WINAPI SetupFindFirstLineW(_In_ HINF, _In_ PCWSTR, _In_opt_ PCWSTR, _Out_ PINFCONTEXT); 1882 WINSETUPAPI BOOL WINAPI SetupFindNextLine(_In_ PINFCONTEXT, _Out_ PINFCONTEXT); 1883 WINSETUPAPI BOOL WINAPI SetupFindNextMatchLineA(_In_ PINFCONTEXT, _In_opt_ PCSTR, _Out_ PINFCONTEXT); 1884 WINSETUPAPI BOOL WINAPI SetupFindNextMatchLineW(_In_ PINFCONTEXT, _In_opt_ PCWSTR, _Out_ PINFCONTEXT); 1885 WINSETUPAPI BOOL WINAPI SetupFreeA(PCSTR**,UINT); 1886 WINSETUPAPI BOOL WINAPI SetupFreeW(PCWSTR**,UINT); 1887 WINSETUPAPI BOOL WINAPI SetupGetBackupInformationA(_In_ HSPFILEQ, _Inout_ PSP_BACKUP_QUEUE_PARAMS_A); 1888 WINSETUPAPI BOOL WINAPI SetupGetBackupInformationW(_In_ HSPFILEQ, _Inout_ PSP_BACKUP_QUEUE_PARAMS_W); 1889 1890 _Success_(return != FALSE) 1891 WINSETUPAPI 1892 BOOL 1893 WINAPI 1894 SetupGetBinaryField( 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 1901 WINSETUPAPI DWORD WINAPI SetupGetFieldCount(_In_ PINFCONTEXT); 1902 WINSETUPAPI DWORD WINAPI SetupGetFileCompressionInfoA(_In_ PCSTR, _Out_ PSTR*, _Out_ PDWORD, _Out_ PDWORD, _Out_ PUINT); 1903 WINSETUPAPI DWORD WINAPI SetupGetFileCompressionInfoW(_In_ PCWSTR, _Out_ PWSTR*, _Out_ PDWORD, _Out_ PDWORD, _Out_ PUINT); 1904 1905 WINSETUPAPI 1906 BOOL 1907 WINAPI 1908 SetupGetFileCompressionInfoExA( 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 1917 WINSETUPAPI 1918 BOOL 1919 WINAPI 1920 SetupGetFileCompressionInfoExW( 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 1929 WINSETUPAPI 1930 BOOL 1931 WINAPI 1932 SetupGetInfFileListA( 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 1939 WINSETUPAPI 1940 BOOL 1941 WINAPI 1942 SetupGetInfFileListW( 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) 1950 WINSETUPAPI 1951 BOOL 1952 WINAPI 1953 SetupGetInfInformationA( 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) 1961 WINSETUPAPI 1962 BOOL 1963 WINAPI 1964 SetupGetInfInformationW( 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 1971 WINSETUPAPI BOOL WINAPI SetupGetIntField(_In_ PINFCONTEXT, _In_ DWORD, _Out_ PINT); 1972 WINSETUPAPI BOOL WINAPI SetupGetLineByIndexA(_In_ HINF, _In_ PCSTR, _In_ DWORD, _Out_ PINFCONTEXT); 1973 WINSETUPAPI BOOL WINAPI SetupGetLineByIndexW(_In_ HINF, _In_ PCWSTR, _In_ DWORD, _Out_ PINFCONTEXT); 1974 WINSETUPAPI LONG WINAPI SetupGetLineCountA(_In_ HINF, _In_ PCSTR); 1975 WINSETUPAPI LONG WINAPI SetupGetLineCountW(_In_ HINF, _In_ PCWSTR); 1976 1977 WINSETUPAPI 1978 BOOL 1979 WINAPI 1980 SetupGetLineTextA( 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 1989 WINSETUPAPI 1990 BOOL 1991 WINAPI 1992 SetupGetLineTextW( 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 2001 WINSETUPAPI 2002 BOOL 2003 WINAPI 2004 SetupGetMultiSzFieldA( 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 2011 WINSETUPAPI 2012 BOOL 2013 WINAPI 2014 SetupGetMultiSzFieldW( 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 2021 WINSETUPAPI 2022 BOOL 2023 WINAPI 2024 SetupGetSourceFileLocationA( 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 2033 WINSETUPAPI 2034 BOOL 2035 WINAPI 2036 SetupGetSourceFileLocationW( 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 2045 WINSETUPAPI BOOL WINAPI SetupGetSourceFileSizeA(_In_ HINF, _In_opt_ PINFCONTEXT, _In_opt_ PCSTR, _In_opt_ PCSTR, _Out_ PDWORD, _In_ UINT); 2046 WINSETUPAPI BOOL WINAPI SetupGetSourceFileSizeW(_In_ HINF, _In_opt_ PINFCONTEXT, _In_opt_ PCWSTR, _In_opt_ PCWSTR, _Out_ PDWORD, _In_ UINT); 2047 2048 WINSETUPAPI 2049 BOOL 2050 WINAPI 2051 SetupGetSourceInfoA( 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 2059 WINSETUPAPI 2060 BOOL 2061 WINAPI 2062 SetupGetSourceInfoW( 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 2070 WINSETUPAPI 2071 BOOL 2072 WINAPI 2073 SetupGetStringFieldA( 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 2080 WINSETUPAPI 2081 BOOL 2082 WINAPI 2083 SetupGetStringFieldW( 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 2090 WINSETUPAPI 2091 BOOL 2092 WINAPI 2093 SetupGetTargetPathA( 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 2101 WINSETUPAPI 2102 BOOL 2103 WINAPI 2104 SetupGetTargetPathW( 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 2112 WINSETUPAPI PVOID WINAPI SetupInitDefaultQueueCallback(_In_opt_ HWND); 2113 WINSETUPAPI PVOID WINAPI SetupInitDefaultQueueCallbackEx(_In_opt_ HWND, _In_opt_ HWND, _In_ UINT, _Reserved_ DWORD, _Reserved_ PVOID); 2114 WINSETUPAPI HSPFILELOG WINAPI SetupInitializeFileLogA(_In_opt_ PCSTR, _In_ DWORD); 2115 WINSETUPAPI HSPFILELOG WINAPI SetupInitializeFileLogW(_In_opt_ PCWSTR, _In_ DWORD); 2116 WINSETUPAPI 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); 2117 WINSETUPAPI 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); 2118 WINSETUPAPI 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); 2119 WINSETUPAPI 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); 2120 WINSETUPAPI BOOL WINAPI SetupInstallFilesFromInfSectionA(_In_ HINF, _In_opt_ HINF, _In_ HSPFILEQ, _In_ PCSTR, _In_opt_ PCSTR, _In_ UINT); 2121 WINSETUPAPI BOOL WINAPI SetupInstallFilesFromInfSectionW(_In_ HINF, _In_opt_ HINF, _In_ HSPFILEQ, _In_ PCWSTR, _In_opt_ PCWSTR, _In_ UINT); 2122 WINSETUPAPI 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); 2123 WINSETUPAPI 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); 2124 WINSETUPAPI BOOL WINAPI SetupInstallServicesFromInfSectionA(_In_ HINF, _In_ PCSTR, _In_ DWORD); 2125 WINSETUPAPI BOOL WINAPI SetupInstallServicesFromInfSectionW(_In_ HINF, _In_ PCWSTR, _In_ DWORD); 2126 WINSETUPAPI BOOL WINAPI SetupInstallServicesFromInfSectionExA(_In_ HINF, _In_ PCSTR, _In_ DWORD, _In_opt_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _Reserved_ PVOID, _Reserved_ PVOID); 2127 WINSETUPAPI BOOL WINAPI SetupInstallServicesFromInfSectionExW(_In_ HINF, _In_ PCWSTR, _In_ DWORD, _In_opt_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _Reserved_ PVOID, _Reserved_ PVOID); 2128 WINSETUPAPI BOOL WINAPI SetupIterateCabinetA(_In_ PCSTR, _Reserved_ DWORD, _In_ PSP_FILE_CALLBACK_A, _In_ PVOID); 2129 WINSETUPAPI BOOL WINAPI SetupIterateCabinetW(_In_ PCWSTR, _Reserved_ DWORD, _In_ PSP_FILE_CALLBACK_W, _In_ PVOID); 2130 WINSETUPAPI BOOL WINAPI SetupLogErrorA(_In_ LPCSTR, _In_ LogSeverity); 2131 WINSETUPAPI BOOL WINAPI SetupLogErrorW(_In_ LPCWSTR, _In_ LogSeverity); 2132 WINSETUPAPI 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); 2133 WINSETUPAPI 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 2135 WINSETUPAPI 2136 BOOL 2137 WINAPI 2138 SetupOpenAppendInfFileA( 2139 _In_opt_ PCSTR FileName, 2140 _In_ HINF InfHandle, 2141 _Out_opt_ PUINT ErrorLine); 2142 2143 WINSETUPAPI 2144 BOOL 2145 WINAPI 2146 SetupOpenAppendInfFileW( 2147 _In_opt_ PCWSTR FileName, 2148 _In_ HINF InfHandle, 2149 _Out_opt_ PUINT ErrorLine); 2150 2151 WINSETUPAPI HSPFILEQ WINAPI SetupOpenFileQueue(VOID); 2152 2153 WINSETUPAPI 2154 HINF 2155 WINAPI 2156 SetupOpenInfFileA( 2157 _In_ PCSTR FileName, 2158 _In_opt_ PCSTR InfClass, 2159 _In_ DWORD InfStyle, 2160 _Out_opt_ PUINT ErrorLine); 2161 2162 WINSETUPAPI 2163 HINF 2164 WINAPI 2165 SetupOpenInfFileW( 2166 _In_ PCWSTR FileName, 2167 _In_opt_ PCWSTR InfClass, 2168 _In_ DWORD InfStyle, 2169 _Out_opt_ PUINT ErrorLine); 2170 2171 WINSETUPAPI BOOL WINAPI SetupOpenLog(_In_ BOOL); 2172 WINSETUPAPI HINF WINAPI SetupOpenMasterInf(VOID); 2173 2174 WINSETUPAPI 2175 UINT 2176 WINAPI 2177 SetupPromptForDiskA( 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 2189 WINSETUPAPI 2190 UINT 2191 WINAPI 2192 SetupPromptForDiskW( 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 2204 WINSETUPAPI INT WINAPI SetupPromptReboot(_In_opt_ HSPFILEQ, _In_opt_ HWND, _In_ BOOL); 2205 WINSETUPAPI BOOL WINAPI SetupQueryA(DWORD,PCSTR**,PUINT); 2206 WINSETUPAPI BOOL WINAPI SetupQueryW(DWORD,PCWSTR**,PUINT); 2207 2208 WINSETUPAPI 2209 BOOL 2210 WINAPI 2211 SetupQueryDrivesInDiskSpaceListA( 2212 _In_ HDSKSPC DiskSpace, 2213 _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer, 2214 _In_ DWORD ReturnBufferSize, 2215 _Out_opt_ PDWORD RequiredSize); 2216 2217 WINSETUPAPI 2218 BOOL 2219 WINAPI 2220 SetupQueryDrivesInDiskSpaceListW( 2221 _In_ HDSKSPC DiskSpace, 2222 _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer, 2223 _In_ DWORD ReturnBufferSize, 2224 _Out_opt_ PDWORD RequiredSize); 2225 2226 WINSETUPAPI 2227 BOOL 2228 WINAPI 2229 SetupQueryFileLogA( 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 2238 WINSETUPAPI 2239 BOOL 2240 WINAPI 2241 SetupQueryFileLogW( 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 2250 WINSETUPAPI 2251 BOOL 2252 WINAPI 2253 SetupQueryInfFileInformationA( 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 2260 WINSETUPAPI 2261 BOOL 2262 WINAPI 2263 SetupQueryInfFileInformationW( 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 2270 WINSETUPAPI 2271 BOOL 2272 WINAPI 2273 SetupQueryInfOriginalFileInformationA( 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 2279 WINSETUPAPI 2280 BOOL 2281 WINAPI 2282 SetupQueryInfOriginalFileInformationW( 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 2288 WINSETUPAPI 2289 BOOL 2290 WINAPI 2291 SetupQueryInfVersionInformationA( 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 2299 WINSETUPAPI 2300 BOOL 2301 WINAPI 2302 SetupQueryInfVersionInformationW( 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 2310 WINSETUPAPI BOOL WINAPI SetupQuerySpaceRequiredOnDriveA(_In_ HDSKSPC, _In_ PCSTR, _Out_ LONGLONG*, _Reserved_ PVOID, _Reserved_ UINT); 2311 WINSETUPAPI BOOL WINAPI SetupQuerySpaceRequiredOnDriveW(_In_ HDSKSPC, _In_ PCWSTR, _Out_ LONGLONG*, _Reserved_ PVOID, _Reserved_ UINT); 2312 WINSETUPAPI 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); 2313 WINSETUPAPI 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); 2314 WINSETUPAPI BOOL WINAPI SetupQueueCopyIndirectA(_In_ PSP_FILE_COPY_PARAMS_A); 2315 WINSETUPAPI BOOL WINAPI SetupQueueCopyIndirectW(_In_ PSP_FILE_COPY_PARAMS_W); 2316 WINSETUPAPI BOOL WINAPI SetupQueueCopySectionA(_In_ HSPFILEQ, _In_opt_ PCSTR, _In_ HINF, _In_opt_ HINF, _In_ PCSTR, _In_ DWORD); 2317 WINSETUPAPI BOOL WINAPI SetupQueueCopySectionW(_In_ HSPFILEQ, _In_opt_ PCWSTR, _In_ HINF, _In_opt_ HINF, _In_ PCWSTR, _In_ DWORD); 2318 WINSETUPAPI BOOL WINAPI SetupQueueDefaultCopyA(_In_ HSPFILEQ, _In_ HINF, _In_opt_ PCSTR, _In_ PCSTR, _In_opt_ PCSTR, _In_ DWORD); 2319 WINSETUPAPI BOOL WINAPI SetupQueueDefaultCopyW(_In_ HSPFILEQ, _In_ HINF, _In_opt_ PCWSTR, _In_ PCWSTR, _In_opt_ PCWSTR, _In_ DWORD); 2320 WINSETUPAPI BOOL WINAPI SetupQueueDeleteA(_In_ HSPFILEQ, _In_ PCSTR, _In_opt_ PCSTR); 2321 WINSETUPAPI BOOL WINAPI SetupQueueDeleteW(_In_ HSPFILEQ, _In_ PCWSTR, _In_opt_ PCWSTR); 2322 WINSETUPAPI BOOL WINAPI SetupQueueDeleteSectionA(_In_ HSPFILEQ, _In_ HINF, _In_opt_ HINF, _In_ PCSTR); 2323 WINSETUPAPI BOOL WINAPI SetupQueueDeleteSectionW(_In_ HSPFILEQ, _In_ HINF, _In_opt_ HINF, _In_ PCWSTR); 2324 WINSETUPAPI BOOL WINAPI SetupQueueRenameA(_In_ HSPFILEQ, _In_ PCSTR, _In_opt_ PCSTR, _In_opt_ PCSTR, _In_ PCSTR); 2325 WINSETUPAPI BOOL WINAPI SetupQueueRenameW(_In_ HSPFILEQ, _In_ PCWSTR, _In_opt_ PCWSTR, _In_opt_ PCWSTR, _In_ PCWSTR); 2326 WINSETUPAPI BOOL WINAPI SetupQueueRenameSectionA(_In_ HSPFILEQ, _In_ HINF, _In_opt_ HINF, _In_ PCSTR); 2327 WINSETUPAPI BOOL WINAPI SetupQueueRenameSectionW(_In_ HSPFILEQ, _In_ HINF, _In_opt_ HINF, _In_ PCWSTR); 2328 WINSETUPAPI BOOL WINAPI SetupRemoveFileLogEntryA(_In_ HSPFILELOG, _In_opt_ PCSTR, _In_opt_ PCSTR); 2329 WINSETUPAPI BOOL WINAPI SetupRemoveFileLogEntryW(_In_ HSPFILELOG, _In_opt_ PCWSTR, _In_opt_ PCWSTR); 2330 WINSETUPAPI BOOL WINAPI SetupRemoveFromDiskSpaceListA(_In_ HDSKSPC, _In_ PCSTR, _In_ UINT, _Reserved_ PVOID, _Reserved_ UINT); 2331 WINSETUPAPI BOOL WINAPI SetupRemoveFromDiskSpaceListW(_In_ HDSKSPC, _In_ PCWSTR, _In_ UINT, _Reserved_ PVOID, _Reserved_ UINT); 2332 WINSETUPAPI BOOL WINAPI SetupRemoveFromSourceListA(_In_ DWORD, _In_ PCSTR); 2333 WINSETUPAPI BOOL WINAPI SetupRemoveFromSourceListW(_In_ DWORD, _In_ PCWSTR); 2334 WINSETUPAPI BOOL WINAPI SetupRemoveInstallSectionFromDiskSpaceListA(_In_ HDSKSPC, _In_ HINF, _In_opt_ HINF, _In_ PCSTR, _Reserved_ PVOID, _Reserved_ UINT); 2335 WINSETUPAPI BOOL WINAPI SetupRemoveInstallSectionFromDiskSpaceListW(_In_ HDSKSPC, _In_ HINF, _In_opt_ HINF, _In_ PCWSTR, _Reserved_ PVOID, _Reserved_ UINT); 2336 WINSETUPAPI BOOL WINAPI SetupRemoveSectionFromDiskSpaceListA(_In_ HDSKSPC, _In_ HINF, _In_opt_ HINF, _In_ PCSTR, _In_ UINT, _Reserved_ PVOID, _Reserved_ UINT); 2337 WINSETUPAPI BOOL WINAPI SetupRemoveSectionFromDiskSpaceListW(_In_ HDSKSPC, _In_ HINF, _In_opt_ HINF, _In_ PCWSTR, _In_ UINT, _Reserved_ PVOID, _Reserved_ UINT); 2338 WINSETUPAPI UINT WINAPI SetupRenameErrorA(_In_ HWND, _In_opt_ PCSTR, _In_ PCSTR, _In_ PCSTR, _In_ UINT, _In_ DWORD); 2339 WINSETUPAPI UINT WINAPI SetupRenameErrorW(_In_ HWND, _In_opt_ PCWSTR, _In_ PCWSTR, _In_ PCWSTR, _In_ UINT, _In_ DWORD); 2340 WINSETUPAPI BOOL WINAPI SetupScanFileQueueA(_In_ HSPFILEQ, _In_ DWORD, _In_opt_ HWND, _In_opt_ PSP_FILE_CALLBACK_A, _In_opt_ PVOID, _Out_ PDWORD); 2341 WINSETUPAPI BOOL WINAPI SetupScanFileQueueW(_In_ HSPFILEQ, _In_ DWORD, _In_opt_ HWND, _In_opt_ PSP_FILE_CALLBACK_W, _In_opt_ PVOID, _Out_ PDWORD); 2342 WINSETUPAPI BOOL WINAPI SetupSetDirectoryIdA(_In_ HINF, _In_ DWORD, _In_opt_ PCSTR); 2343 WINSETUPAPI BOOL WINAPI SetupSetDirectoryIdW(_In_ HINF, _In_ DWORD, _In_opt_ PCWSTR); 2344 WINSETUPAPI BOOL WINAPI SetupSetDirectoryIdExA(_In_ HINF, _In_ DWORD, _In_opt_ PCSTR, _In_ DWORD, _Reserved_ DWORD, _Reserved_ PVOID); 2345 WINSETUPAPI BOOL WINAPI SetupSetDirectoryIdExW(_In_ HINF, _In_ DWORD, _In_opt_ PCWSTR, _In_ DWORD, _Reserved_ DWORD, _Reserved_ PVOID); 2346 WINSETUPAPI BOOL WINAPI SetupSetFileQueueAlternatePlatformA(_In_ HSPFILEQ, _In_opt_ PSP_ALTPLATFORM_INFO, _In_opt_ PCSTR); 2347 WINSETUPAPI BOOL WINAPI SetupSetFileQueueAlternatePlatformW(_In_ HSPFILEQ, _In_opt_ PSP_ALTPLATFORM_INFO, _In_opt_ PCWSTR); 2348 WINSETUPAPI BOOL WINAPI SetupSetNonInteractiveMode(_In_ BOOL); 2349 WINSETUPAPI BOOL WINAPI SetupSetPlatformPathOverrideA(_In_opt_ PCSTR); 2350 WINSETUPAPI BOOL WINAPI SetupSetPlatformPathOverrideW(_In_opt_ PCWSTR); 2351 2352 WINSETUPAPI 2353 BOOL 2354 WINAPI 2355 SetupSetSourceListA( 2356 _In_ DWORD Flags, 2357 _In_reads_(SourceCount) PCSTR *SourceList, 2358 _In_ UINT SourceCount); 2359 2360 WINSETUPAPI 2361 BOOL 2362 WINAPI 2363 SetupSetSourceListW( 2364 _In_ DWORD Flags, 2365 _In_reads_(SourceCount) PCWSTR *SourceList, 2366 _In_ UINT SourceCount); 2367 2368 WINSETUPAPI VOID WINAPI SetupTermDefaultQueueCallback(_In_ PVOID); 2369 WINSETUPAPI BOOL WINAPI SetupTerminateFileLog(_In_ HSPFILELOG); 2370 2371 WINSETUPAPI 2372 BOOL 2373 WINAPI 2374 SetupUninstallOEMInfA( 2375 _In_ PCSTR InfFileName, 2376 _In_ DWORD Flags, 2377 _In_ PVOID Reserved); 2378 2379 WINSETUPAPI 2380 BOOL 2381 WINAPI 2382 SetupUninstallOEMInfW( 2383 _In_ PCWSTR InfFileName, 2384 _In_ DWORD Flags, 2385 _In_ PVOID Reserved); 2386 2387 WINSETUPAPI DWORD WINAPI StampFileSecurity(PCWSTR, PSECURITY_DESCRIPTOR); 2388 2389 2390 WINSETUPAPI DWORD WINAPI pSetupCaptureAndConvertAnsiArg(PCSTR, PWSTR*); 2391 WINSETUPAPI VOID WINAPI pSetupCenterWindowRelativeToParent(HWND); 2392 WINSETUPAPI BOOL WINAPI pSetupConcatenatePaths(LPWSTR, LPCWSTR, DWORD, LPDWORD); 2393 WINSETUPAPI PWSTR WINAPI pSetupDuplicateString(PCWSTR); 2394 WINSETUPAPI BOOL WINAPI pSetupEnablePrivilege(PCWSTR, BOOL); 2395 WINSETUPAPI PWSTR WINAPI pSetupGetFileTitle(PCWSTR); 2396 WINSETUPAPI BOOL WINAPI pSetupGetVersionInfoFromImage(LPWSTR, PULARGE_INTEGER, LPWORD); 2397 WINSETUPAPI DWORD WINAPI pSetupGuidFromString(PCWSTR, LPGUID); 2398 WINSETUPAPI BOOL WINAPI pSetupIsGuidNull(LPGUID); 2399 WINSETUPAPI BOOL WINAPI pSetupIsUserAdmin(VOID); 2400 WINSETUPAPI PWSTR WINAPI pSetupMultiByteToUnicode(PCSTR, UINT); 2401 WINSETUPAPI DWORD WINAPI pSetupOpenAndMapForRead(PCWSTR, PDWORD, PHANDLE, PHANDLE, PVOID*); 2402 WINSETUPAPI DWORD WINAPI pSetupStringFromGuid(LPGUID, PWSTR, DWORD); 2403 2404 2405 WINSETUPAPI DWORD WINAPI pSetupStringTableAddString(HSTRING_TABLE, LPWSTR, DWORD); 2406 WINSETUPAPI DWORD WINAPI pSetupStringTableAddStringEx(HSTRING_TABLE, LPWSTR, DWORD, LPVOID, DWORD); 2407 WINSETUPAPI VOID WINAPI pSetupStringTableDestroy(HSTRING_TABLE); 2408 WINSETUPAPI HSTRING_TABLE WINAPI pSetupStringTableDuplicate(HSTRING_TABLE); 2409 WINSETUPAPI BOOL WINAPI pSetupStringTableGetExtraData(HSTRING_TABLE, DWORD, LPVOID, DWORD); 2410 WINSETUPAPI HSTRING_TABLE WINAPI pSetupStringTableInitialize(VOID); 2411 WINSETUPAPI HSTRING_TABLE WINAPI pSetupStringTableInitializeEx(DWORD, DWORD); 2412 WINSETUPAPI DWORD WINAPI pSetupStringTableLookUpString(HSTRING_TABLE, LPWSTR, DWORD); 2413 WINSETUPAPI DWORD WINAPI pSetupStringTableLookUpStringEx(HSTRING_TABLE, LPWSTR, DWORD, LPVOID, DWORD); 2414 WINSETUPAPI BOOL WINAPI pSetupStringTableSetExtraData(HSTRING_TABLE, DWORD, LPVOID, DWORD); 2415 WINSETUPAPI LPWSTR WINAPI pSetupStringTableStringFromId(HSTRING_TABLE, DWORD); 2416 WINSETUPAPI BOOL WINAPI pSetupStringTableStringFromIdEx(HSTRING_TABLE, DWORD, LPWSTR, LPDWORD); 2417 2418 WINSETUPAPI PSTR WINAPI pSetupUnicodeToMultiByte(PCWSTR lpUnicodeStr, UINT uCodePage); 2419 WINSETUPAPI BOOL WINAPI pSetupUnmapAndCloseFile(HANDLE, HANDLE, PVOID); 2420 2421 2422 WINSETUPAPI DWORD WINAPI TakeOwnershipOfFile(PCWSTR); 2423 WINSETUPAPI 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 2694