1 /***********************************************************************\ 2 * setupapi.d * 3 * * 4 * Windows API header module * 5 * * 6 * Translated from MinGW Windows headers * 7 * by Vladimir Vlasov * 8 * * 9 * Placed into public domain * 10 \***********************************************************************/ 11 module win32.setupapi; 12 version(Windows): 13 pragma(lib, "setupapi"); 14 15 private import win32.basetyps, win32.commctrl, win32.prsht, win32.w32api, 16 win32.winreg, win32.windef; 17 private import win32.winbase; // for SYSTEMTIME 18 19 /*static if(_WIN32_WINNT < _WIN32_WINDOWS) { 20 const UINT _SETUPAPI_VER = _WIN32_WINNT; // SetupAPI version follows Windows NT version 21 } else static if(_WIN32_WINDOWS) { 22 static if(_WIN32_WINDOWS >= 0x0490) { 23 const UINT _SETUPAPI_VER = 0x0500; // WinME uses same version of SetupAPI as Win2k 24 } else static if(_WIN32_WINDOWS >= 0x0410) { 25 const UINT _SETUPAPI_VER = 0x0410; // Indicates version of SetupAPI shipped with Win98 26 } else { 27 const UINT _SETUPAPI_VER = 0x0400; // Earliest SetupAPI version 28 } 29 } else { 30 const UINT _SETUPAPI_VER = 0x0501; 31 } 32 33 version (WindowsNTonly) { 34 static if (_WIN32_WINNT >= 0x500) { 35 const UINT USE_SP_DRVINFO_DATA_V1 = 0; 36 } else { 37 const UINT USE_SP_DRVINFO_DATA_V1 = 1; 38 } 39 } else { 40 const UINT USE_SP_DRVINFO_DATA_V1 = 1; 41 }*/ 42 /+ 43 const UINT _SETUPAPI_VER = 0x0400; // Earliest SetupAPI version 44 const UINT USE_SP_DRVINFO_DATA_V1 = 1; 45 +/ 46 const UINT _SETUPAPI_VER = _WIN32_WINNT; 47 const bool USE_SP_DRVINFO_DATA_V1 = _WIN32_WINNT < 0x500; 48 49 enum : uint { 50 LINE_LEN = 256, 51 MAX_INF_STRING_LENGTH = 4096, 52 MAX_TITLE_LEN = 60, 53 MAX_INSTRUCTION_LEN = 256, 54 MAX_LABEL_LEN = 30, 55 MAX_SERVICE_NAME_LEN = 256, 56 MAX_SUBTITLE_LEN = 256, 57 SP_MAX_MACHINENAME_LENGTH = MAX_PATH + 3 58 } 59 60 enum : DWORD { 61 COPYFLG_WARN_IF_SKIP = 0x00000001, 62 COPYFLG_NOSKIP = 0x00000002, 63 COPYFLG_NOVERSIONCHECK = 0x00000004, 64 COPYFLG_FORCE_FILE_IN_USE = 0x00000008, 65 COPYFLG_NO_OVERWRITE = 0x00000010, 66 COPYFLG_NO_VERSION_DIALOG = 0x00000020, 67 COPYFLG_OVERWRITE_OLDER_ONLY = 0x00000040, 68 COPYFLG_REPLACEONLY = 0x00000400, 69 COPYFLG_NODECOMP = 0x00000800, 70 COPYFLG_REPLACE_BOOT_FILE = 0x00001000, 71 COPYFLG_NOPRUNE = 0x00002000 72 } 73 74 enum : DWORD { 75 DELFLG_IN_USE = 0x00000001, 76 DELFLG_IN_USE1 = 0x00010000 77 } 78 79 enum : DWORD { 80 DI_REMOVEDEVICE_GLOBAL = 0x00000001, 81 DI_REMOVEDEVICE_CONFIGSPECIFIC = 0x00000002, 82 DI_UNREMOVEDEVICE_CONFIGSPECIFIC = 0x00000002, 83 DI_SHOWOEM = 0x00000001, 84 DI_SHOWCOMPAT = 0x00000002, 85 DI_SHOWCLASS = 0x00000004, 86 DI_SHOWALL = 0x00000007, 87 DI_NOVCP = 0x00000008, 88 DI_DIDCOMPAT = 0x00000010, 89 DI_DIDCLASS = 0x00000020, 90 DI_AUTOASSIGNRES = 0x00000040, 91 DI_NEEDRESTART = 0x00000080, 92 DI_NEEDREBOOT = 0x00000100, 93 DI_NOBROWSE = 0x00000200, 94 DI_MULTMFGS = 0x00000400, 95 DI_DISABLED = 0x00000800, 96 DI_GENERALPAGE_ADDED = 0x00001000, 97 DI_RESOURCEPAGE_ADDED = 0x00002000, 98 DI_PROPERTIES_CHANGE = 0x00004000, 99 DI_INF_IS_SORTED = 0x00008000, 100 DI_ENUMSINGLEINF = 0x00010000, 101 DI_DONOTCALLCONFIGMG = 0x00020000, 102 DI_INSTALLDISABLED = 0x00040000, 103 DI_COMPAT_FROM_CLASS = 0x00080000, 104 DI_CLASSINSTALLPARAMS = 0x00100000, 105 DI_NODI_DEFAULTACTION = 0x00200000, 106 DI_QUIETINSTALL = 0x00800000, 107 DI_NOFILECOPY = 0x01000000, 108 DI_FORCECOPY = 0x02000000, 109 DI_DRIVERPAGE_ADDED = 0x04000000, 110 DI_USECI_SELECTSTRINGS = 0x08000000, 111 DI_OVERRIDE_INFFLAGS = 0x10000000, 112 DI_PROPS_NOCHANGEUSAGE = 0x20000000, 113 DI_NOSELECTICONS = 0x40000000, 114 DI_NOWRITE_IDS = 0x80000000, 115 DI_FLAGSEX_USEOLDINFSEARCH = 0x00000001, 116 DI_FLAGSEX_AUTOSELECTRANK0 = 0x00000002, 117 DI_FLAGSEX_CI_FAILED = 0x00000004, 118 DI_FLAGSEX_DIDINFOLIST = 0x00000010, 119 DI_FLAGSEX_DIDCOMPATINFO = 0x00000020, 120 DI_FLAGSEX_FILTERCLASSES = 0x00000040, 121 DI_FLAGSEX_SETFAILEDINSTALL = 0x00000080, 122 DI_FLAGSEX_DEVICECHANGE = 0x00000100, 123 DI_FLAGSEX_ALWAYSWRITEIDS = 0x00000200, 124 DI_FLAGSEX_PROPCHANGE_PENDING = 0x00000400, 125 DI_FLAGSEX_ALLOWEXCLUDEDDRVS = 0x00000800, 126 DI_FLAGSEX_NOUIONQUERYREMOVE = 0x00001000, 127 DI_FLAGSEX_USECLASSFORCOMPAT = 0x00002000, 128 DI_FLAGSEX_OLDINF_IN_CLASSLIST = 0x00004000, 129 DI_FLAGSEX_NO_DRVREG_MODIFY = 0x00008000, 130 DI_FLAGSEX_IN_SYSTEM_SETUP = 0x00010000, 131 DI_FLAGSEX_INET_DRIVER = 0x00020000, 132 DI_FLAGSEX_APPENDDRIVERLIST = 0x00040000, 133 DI_FLAGSEX_PREINSTALLBACKUP = 0x00080000, 134 DI_FLAGSEX_BACKUPONREPLACE = 0x00100000, 135 DI_FLAGSEX_DRIVERLIST_FROM_URL = 0x00200000, 136 DI_FLAGSEX_RESERVED1 = 0x00400000, 137 DI_FLAGSEX_EXCLUDE_OLD_INET_DRIVERS = 0x00800000, 138 DI_FLAGSEX_POWERPAGE_ADDED = 0x01000000 139 } 140 141 enum : DWORD { 142 DIBCI_NOINSTALLCLASS = 0x00000001, 143 DIBCI_NODISPLAYCLASS = 0x00000002 144 } 145 146 enum : DWORD { 147 DICD_GENERATE_ID = 0x00000001, 148 DICD_INHERIT_CLASSDRVS = 0x00000002 149 } 150 151 enum : DWORD { 152 DICS_ENABLE = 1, 153 DICS_DISABLE, 154 DICS_PROPCHANGE, 155 DICS_START, 156 DICS_STOP // = 5 157 } 158 159 enum : DWORD { 160 DICS_FLAG_GLOBAL = 1, 161 DICS_FLAG_CONFIGSPECIFIC = 2, 162 DICS_FLAG_CONFIGGENERAL = 4 163 } 164 165 alias UINT DI_FUNCTION; 166 167 enum : DI_FUNCTION { 168 DIF_SELECTDEVICE = 1, 169 DIF_INSTALLDEVICE, 170 DIF_ASSIGNRESOURCES, 171 DIF_PROPERTIES, 172 DIF_REMOVE, 173 DIF_FIRSTTIMESETUP, 174 DIF_FOUNDDEVICE, 175 DIF_SELECTCLASSDRIVERS, 176 DIF_VALIDATECLASSDRIVERS, 177 DIF_INSTALLCLASSDRIVERS, 178 DIF_CALCDISKSPACE, 179 DIF_DESTROYPRIVATEDATA, 180 DIF_VALIDATEDRIVER, 181 DIF_MOVEDEVICE, 182 DIF_DETECT, 183 DIF_INSTALLWIZARD, 184 DIF_DESTROYWIZARDDATA, 185 DIF_PROPERTYCHANGE, 186 DIF_ENABLECLASS, 187 DIF_DETECTVERIFY, 188 DIF_INSTALLDEVICEFILES, 189 DIF_UNREMOVE, 190 DIF_SELECTBESTCOMPATDRV, 191 DIF_ALLOW_INSTALL, 192 DIF_REGISTERDEVICE, 193 DIF_NEWDEVICEWIZARD_PRESELECT, 194 DIF_NEWDEVICEWIZARD_SELECT, 195 DIF_NEWDEVICEWIZARD_PREANALYZE, 196 DIF_NEWDEVICEWIZARD_POSTANALYZE, 197 DIF_NEWDEVICEWIZARD_FINISHINSTALL, 198 DIF_UNUSED1, 199 DIF_INSTALLINTERFACES, 200 DIF_DETECTCANCEL, 201 DIF_REGISTER_COINSTALLERS, 202 DIF_ADDPROPERTYPAGE_ADVANCED, 203 DIF_ADDPROPERTYPAGE_BASIC, 204 DIF_RESERVED1, 205 DIF_TROUBLESHOOTER, 206 DIF_POWERMESSAGEWAKE // = 39 207 } 208 209 enum : DWORD { 210 DIGCF_DEFAULT = 0x00000001, 211 DIGCF_PRESENT = 0x00000002, 212 DIGCF_ALLCLASSES = 0x00000004, 213 DIGCF_PROFILE = 0x00000008, 214 DIGCF_DEVICEINTERFACE = 0x00000010 215 } 216 217 deprecated enum : DWORD { 218 DIGCF_INTERFACEDEVICE = DIGCF_DEVICEINTERFACE 219 } 220 221 enum : DWORD { 222 DIGCDP_FLAG_BASIC = 0x00000001, 223 DIGCDP_FLAG_ADVANCED = 0x00000002 224 } 225 226 enum : DWORD { 227 DIOCR_INSTALLER = 0x00000001, 228 DIOCR_INTERFACE = 0x00000002 229 } 230 231 enum : DWORD { 232 DIODI_NO_ADD = 0x00000001 233 } 234 235 enum : DWORD { 236 DIOD_INHERIT_CLASSDRVS = 0x00000002, 237 DIOD_CANCEL_REMOVE = 0x00000004 238 } 239 240 enum : DWORD { 241 DIREG_DEV = 0x00000001, 242 DIREG_DRV = 0x00000002, 243 DIREG_BOTH = 0x00000004 244 } 245 246 enum : int { 247 DIRID_ABSOLUTE = -1, 248 DIRID_NULL = 0, 249 DIRID_SRCPATH = 1, 250 DIRID_WINDOWS = 10, 251 DIRID_SYSTEM = 11, 252 DIRID_DRIVERS = 12, 253 DIRID_IOSUBSYS = DIRID_DRIVERS, 254 DIRID_INF = 17, 255 DIRID_HELP = 18, 256 DIRID_FONTS = 20, 257 DIRID_VIEWERS = 21, 258 DIRID_COLOR = 23, 259 DIRID_APPS = 24, 260 DIRID_SHARED = 25, 261 DIRID_BOOT = 30, 262 DIRID_SYSTEM16 = 50, 263 DIRID_SPOOL = 51, 264 DIRID_SPOOLDRIVERS = 52, 265 DIRID_USERPROFILE = 53, 266 DIRID_LOADER = 54, 267 DIRID_PRINTPROCESSOR = 55, 268 DIRID_DEFAULT = DIRID_SYSTEM 269 } 270 271 enum : int { 272 DIRID_COMMON_STARTMENU = 16406, 273 DIRID_COMMON_PROGRAMS = 16407, 274 DIRID_COMMON_STARTUP = 16408, 275 DIRID_COMMON_DESKTOPDIRECTORY = 16409, 276 DIRID_COMMON_FAVORITES = 16415, 277 DIRID_COMMON_APPDATA = 16419, 278 DIRID_PROGRAM_FILES = 16422, 279 DIRID_SYSTEM_X86 = 16425, 280 DIRID_PROGRAM_FILES_X86 = 16426, 281 DIRID_PROGRAM_FILES_COMMON = 16427, 282 DIRID_PROGRAM_FILES_COMMONX86 = 16428, 283 DIRID_COMMON_TEMPLATES = 16429, 284 DIRID_COMMON_DOCUMENTS = 16430, 285 DIRID_USER = 0x8000, 286 DIRID_ABSOLUTE_16BIT = 0xffff 287 } 288 289 enum : DWORD { 290 DMI_MASK = 0x00000001, 291 DMI_BKCOLOR = 0x00000002, 292 DMI_USERECT = 0x00000004 293 } 294 295 enum : DWORD { 296 DNF_DUPDESC = 0x00000001, 297 DNF_OLDDRIVER = 0x00000002, 298 DNF_EXCLUDEFROMLIST = 0x00000004, 299 DNF_NODRIVER = 0x00000008, 300 DNF_LEGACYINF = 0x00000010, 301 DNF_CLASS_DRIVER = 0x00000020, 302 DNF_COMPATIBLE_DRIVER = 0x00000040, 303 DNF_INET_DRIVER = 0x00000080, 304 DNF_UNUSED1 = 0x00000100, 305 DNF_INDEXED_DRIVER = 0x00000200, 306 DNF_OLD_INET_DRIVER = 0x00000400, 307 DNF_BAD_DRIVER = 0x00000800, 308 DNF_DUPPROVIDER = 0x00001000 309 } 310 311 enum : UINT { 312 DPROMPT_SUCCESS, 313 DPROMPT_CANCEL, 314 DPROMPT_SKIPFILE, 315 DPROMPT_BUFFERTOOSMALL, 316 DPROMPT_OUTOFMEMORY // = 4 317 } 318 319 enum : DWORD { 320 DRIVER_HARDWAREID_RANK = 0x00000FFF, 321 DRIVER_COMPATID_RANK = 0x00003FFF, 322 DRIVER_UNTRUSTED_RANK = 0x00008000, 323 DRIVER_UNTRUSTED_HARDWAREID_RANK = 0x00008FFF, 324 DRIVER_UNTRUSTED_COMPATID_RANK = 0x0000BFFF, 325 DRIVER_W9X_SUSPECT_RANK = 0x0000C000, 326 DRIVER_W9X_SUSPECT_HARDWAREID_RANK = 0x0000CFFF, 327 DRIVER_W9X_SUSPECT_COMPATID_RANK = 0x0000FFFF 328 } 329 330 enum : DWORD { 331 DYNAWIZ_FLAG_PAGESADDED = 0x00000001, 332 DYNAWIZ_FLAG_INSTALLDET_NEXT = 0x00000002, 333 DYNAWIZ_FLAG_INSTALLDET_PREV = 0x00000004, 334 DYNAWIZ_FLAG_ANALYZE_HANDLECONFLICT = 0x00000008 335 } 336 337 enum : WORD { 338 ENABLECLASS_QUERY, 339 ENABLECLASS_SUCCESS, 340 ENABLECLASS_FAILURE // = 2 341 } 342 343 enum : DWORD { 344 ERROR_EXPECTED_SECTION_NAME = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0, 345 ERROR_BAD_SECTION_NAME_LINE = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 1, 346 ERROR_SECTION_NAME_TOO_LONG = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 2, 347 ERROR_GENERAL_SYNTAX = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 3, 348 ERROR_WRONG_INF_STYLE = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x100, 349 ERROR_NOT_INSTALLED = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x1000, 350 ERROR_SECTION_NOT_FOUND = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x101, 351 ERROR_LINE_NOT_FOUND = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x102, 352 ERROR_NO_BACKUP = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x103, 353 ERROR_NO_ASSOCIATED_CLASS = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x200, 354 ERROR_CLASS_MISMATCH = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x201, 355 ERROR_DUPLICATE_FOUND = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x202, 356 ERROR_NO_DRIVER_SELECTED = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x203, 357 ERROR_KEY_DOES_NOT_EXIST = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x204, 358 ERROR_INVALID_DEVINST_NAME = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x205, 359 ERROR_INVALID_CLASS = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x206, 360 ERROR_DEVINST_ALREADY_EXISTS = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x207, 361 ERROR_DEVINFO_NOT_REGISTERED = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x208, 362 ERROR_INVALID_REG_PROPERTY = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x209, 363 ERROR_NO_INF = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x20A, 364 ERROR_NO_SUCH_DEVINST = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x20B, 365 ERROR_CANT_LOAD_CLASS_ICON = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x20C, 366 ERROR_INVALID_CLASS_INSTALLER = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x20D, 367 ERROR_DI_DO_DEFAULT = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x20E, 368 ERROR_DI_NOFILECOPY = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x20F, 369 ERROR_INVALID_HWPROFILE = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x210, 370 ERROR_NO_DEVICE_SELECTED = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x211, 371 ERROR_DEVINFO_LIST_LOCKED = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x212, 372 ERROR_DEVINFO_DATA_LOCKED = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x213, 373 ERROR_DI_BAD_PATH = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x214, 374 ERROR_NO_CLASSINSTALL_PARAMS = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x215, 375 ERROR_FILEQUEUE_LOCKED = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x216, 376 ERROR_BAD_SERVICE_INSTALLSECT = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x217, 377 ERROR_NO_CLASS_DRIVER_LIST = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x218, 378 ERROR_NO_ASSOCIATED_SERVICE = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x219, 379 ERROR_NO_DEFAULT_DEVICE_INTERFACE = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x21A, 380 ERROR_DEVICE_INTERFACE_ACTIVE = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x21B, 381 ERROR_DEVICE_INTERFACE_REMOVED = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x21C, 382 ERROR_BAD_INTERFACE_INSTALLSECT = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x21D, 383 ERROR_NO_SUCH_INTERFACE_CLASS = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x21E, 384 ERROR_INVALID_REFERENCE_STRING = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x21F, 385 ERROR_INVALID_MACHINENAME = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x220, 386 ERROR_REMOTE_COMM_FAILURE = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x221, 387 ERROR_MACHINE_UNAVAILABLE = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x222, 388 ERROR_NO_CONFIGMGR_SERVICES = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x223, 389 ERROR_INVALID_PROPPAGE_PROVIDER = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x224, 390 ERROR_NO_SUCH_DEVICE_INTERFACE = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x225, 391 ERROR_DI_POSTPROCESSING_REQUIRED = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x226, 392 ERROR_INVALID_COINSTALLER = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x227, 393 ERROR_NO_COMPAT_DRIVERS = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x228, 394 ERROR_NO_DEVICE_ICON = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x229, 395 ERROR_INVALID_INF_LOGCONFIG = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x22A, 396 ERROR_DI_DONT_INSTALL = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x22B, 397 ERROR_INVALID_FILTER_DRIVER = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x22C, 398 ERROR_NON_WINDOWS_NT_DRIVER = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x22D, 399 ERROR_NON_WINDOWS_DRIVER = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x22E, 400 ERROR_NO_CATALOG_FOR_OEM_INF = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x22F, 401 ERROR_DEVINSTALL_QUEUE_NONNATIVE = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x230, 402 ERROR_NOT_DISABLEABLE = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x231, 403 ERROR_CANT_REMOVE_DEVINST = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x232 404 } 405 406 deprecated enum : DWORD { 407 ERROR_NO_DEFAULT_INTERFACE_DEVICE = ERROR_NO_DEFAULT_DEVICE_INTERFACE, 408 ERROR_INTERFACE_DEVICE_ACTIVE = ERROR_DEVICE_INTERFACE_ACTIVE, 409 ERROR_INTERFACE_DEVICE_REMOVED = ERROR_DEVICE_INTERFACE_REMOVED, 410 ERROR_NO_SUCH_INTERFACE_DEVICE = ERROR_NO_SUCH_DEVICE_INTERFACE, 411 } 412 413 enum : UINT { 414 FILEOP_COPY, 415 FILEOP_RENAME, 416 FILEOP_DELETE, 417 FILEOP_BACKUP, 418 FILEOP_NEWPATH, // = 4 419 FILEOP_ABORT = 0, 420 FILEOP_DOIT, 421 FILEOP_SKIP, // = 2 422 FILEOP_RETRY = FILEOP_DOIT 423 } 424 425 enum : UINT { 426 FILE_COMPRESSION_NONE, 427 FILE_COMPRESSION_WINLZA, 428 FILE_COMPRESSION_MSZIP, 429 FILE_COMPRESSION_NTCAB // = 3 430 } 431 432 enum : DWORD { 433 FLG_ADDREG_TYPE_SZ = 0x00000000, 434 FLG_ADDREG_BINVALUETYPE = 0x00000001, 435 FLG_ADDREG_NOCLOBBER = 0x00000002, 436 FLG_ADDREG_DELVAL = 0x00000004, 437 FLG_ADDREG_APPEND = 0x00000008, 438 FLG_ADDREG_KEYONLY = 0x00000010, 439 FLG_ADDREG_OVERWRITEONLY = 0x00000020, 440 FLG_ADDREG_TYPE_MULTI_SZ = 0x00010000, 441 FLG_ADDREG_TYPE_EXPAND_SZ = 0x00020000, 442 FLG_ADDREG_TYPE_BINARY = 0x00000000 | FLG_ADDREG_BINVALUETYPE, 443 FLG_ADDREG_TYPE_DWORD = 0x00010000 | FLG_ADDREG_BINVALUETYPE, 444 FLG_ADDREG_TYPE_NONE = 0x00020000 | FLG_ADDREG_BINVALUETYPE, 445 FLG_ADDREG_TYPE_MASK = 0xFFFF0000 | FLG_ADDREG_BINVALUETYPE 446 } 447 448 static if(_SETUPAPI_VER >= 0x0501) { 449 enum : DWORD { 450 FLG_ADDREG_64BITKEY = 0x00001000, 451 FLG_ADDREG_KEYONLY_COMMON = 0x00002000, 452 FLG_ADDREG_32BITKEY = 0x00004000, 453 FLG_ADDREG_DELREG_BIT = 0x00008000 454 } 455 } 456 457 enum : DWORD { 458 FLG_DELREG_VALUE = 0x00000000 459 } 460 461 static if(_SETUPAPI_VER >= 0x0501) { 462 enum : DWORD { 463 FLG_DELREG_TYPE_MASK = FLG_ADDREG_TYPE_MASK, 464 FLG_DELREG_TYPE_SZ = FLG_ADDREG_TYPE_SZ, 465 FLG_DELREG_TYPE_MULTI_SZ = FLG_ADDREG_TYPE_MULTI_SZ, 466 FLG_DELREG_TYPE_EXPAND_SZ = FLG_ADDREG_TYPE_EXPAND_SZ, 467 FLG_DELREG_TYPE_BINARY = FLG_ADDREG_TYPE_BINARY, 468 FLG_DELREG_TYPE_DWORD = FLG_ADDREG_TYPE_DWORD, 469 FLG_DELREG_TYPE_NONE = FLG_ADDREG_TYPE_NONE, 470 FLG_DELREG_64BITKEY = FLG_ADDREG_64BITKEY, 471 FLG_DELREG_KEYONLY_COMMON = FLG_ADDREG_KEYONLY_COMMON, 472 FLG_DELREG_32BITKEY = FLG_ADDREG_32BITKEY, 473 FLG_DELREG_OPERATION_MASK = 0x000000FE, 474 FLG_DELREG_MULTI_SZ_DELSTRING = 0x00000002 | FLG_DELREG_TYPE_MULTI_SZ | FLG_ADDREG_DELREG_BIT 475 } 476 } 477 478 enum : DWORD { 479 FLG_BITREG_CLEARBITS = 0x00000000, 480 FLG_BITREG_SETBITS = 0x00000001 481 } 482 483 static if(_SETUPAPI_VER >= 0x0501) { 484 enum : DWORD { 485 FLG_BITREG_64BITKEY = 0x00001000, 486 FLG_BITREG_32BITKEY = 0x00004000 487 } 488 } 489 490 enum : DWORD { 491 FLG_PROFITEM_CURRENTUSER = 0x00000001, 492 FLG_PROFITEM_DELETE = 0x00000002, 493 FLG_PROFITEM_GROUP = 0x00000004, 494 FLG_PROFITEM_CSIDL = 0x00000008 495 } 496 497 enum : DWORD { 498 FLG_REGSVR_DLLREGISTER = 0x00000001, 499 FLG_REGSVR_DLLINSTALL = 0x00000002 500 } 501 502 enum { 503 IDD_DYNAWIZ_FIRSTPAGE = 10000, 504 IDD_DYNAWIZ_SELECT_PREVPAGE, 505 IDD_DYNAWIZ_SELECT_NEXTPAGE, 506 IDD_DYNAWIZ_ANALYZE_PREVPAGE, 507 IDD_DYNAWIZ_ANALYZE_NEXTPAGE, // = 1004 508 IDD_DYNAWIZ_INSTALLDETECTED_PREVPAGE = 10006, 509 IDD_DYNAWIZ_INSTALLDETECTED_NEXTPAGE, 510 IDD_DYNAWIZ_INSTALLDETECTED_NODEVS, 511 IDD_DYNAWIZ_SELECTDEV_PAGE, 512 IDD_DYNAWIZ_ANALYZEDEV_PAGE, 513 IDD_DYNAWIZ_INSTALLDETECTEDDEVS_PAGE, 514 IDD_DYNAWIZ_SELECTCLASS_PAGE, // = 10012 515 MIN_IDD_DYNAWIZ_RESOURCE_ID = 10000, 516 MAX_IDD_DYNAWIZ_RESOURCE_ID = 11000 517 } 518 519 enum : DWORD { 520 IDF_NOBROWSE = 0x00000001, 521 IDF_NOSKIP = 0x00000002, 522 IDF_NODETAILS = 0x00000004, 523 IDF_NOCOMPRESSED = 0x00000008, 524 IDF_CHECKFIRST = 0x00000100, 525 IDF_NOBEEP = 0x00000200, 526 IDF_NOFOREGROUND = 0x00000400, 527 IDF_WARNIFSKIP = 0x00000800 528 } 529 530 static if(_SETUPAPI_VER >= 0x0501) { 531 enum : DWORD { 532 IDF_NOREMOVABLEMEDIAPROMPT = 0x00001000, 533 IDF_USEDISKNAMEASPROMPT = 0x00002000, 534 IDF_OEMDISK = 0x80000000 535 } 536 } 537 538 enum { 539 IDI_RESOURCEFIRST = 159, 540 IDI_RESOURCE = 159, 541 IDI_RESOURCELAST = 161, 542 IDI_RESOURCEOVERLAYFIRST = 161, 543 IDI_RESOURCEOVERLAYLAST = 161, 544 IDI_CONFLICT = 161, 545 IDI_PROBLEM_OVL = 500, 546 IDI_DISABLED_OVL = 501, 547 IDI_FORCED_OVL = 502, 548 IDI_CLASSICON_OVERLAYFIRST = 500, 549 IDI_CLASSICON_OVERLAYLAST = 502 550 } 551 552 enum : DWORD { 553 INF_STYLE_NONE = 0x00000000, 554 INF_STYLE_OLDNT = 0x00000001, 555 INF_STYLE_WIN4 = 0x00000002, 556 INF_STYLE_CACHE_ENABLE = 0x00000010, 557 INF_STYLE_CACHE_DISABLE = 0x00000020 558 } 559 560 enum : DWORD { 561 INFINFO_INF_SPEC_IS_HINF = 1, 562 INFINFO_INF_NAME_IS_ABSOLUTE, 563 INFINFO_DEFAULT_SEARCH, 564 INFINFO_REVERSE_DEFAULT_SEARCH, 565 INFINFO_INF_PATH_LIST_SEARCH // = 5 566 } 567 568 alias DWORD LogSeverity; 569 enum : LogSeverity { 570 LogSevInformation, 571 LogSevWarning, 572 LogSevError, 573 LogSevFatalError, 574 LogSevMaximum // = 4 575 } 576 577 const MAX_INSTALLWIZARD_DYNAPAGES = 20; 578 579 enum : DWORD { 580 NDW_INSTALLFLAG_DIDFACTDEFS = 0x00000001, 581 NDW_INSTALLFLAG_HARDWAREALLREADYIN = 0x00000002, 582 NDW_INSTALLFLAG_NEEDSHUTDOWN = 0x00000200, 583 NDW_INSTALLFLAG_EXPRESSINTRO = 0x00000400, 584 NDW_INSTALLFLAG_SKIPISDEVINSTALLED = 0x00000800, 585 NDW_INSTALLFLAG_NODETECTEDDEVS = 0x00001000, 586 NDW_INSTALLFLAG_INSTALLSPECIFIC = 0x00002000, 587 NDW_INSTALLFLAG_SKIPCLASSLIST = 0x00004000, 588 NDW_INSTALLFLAG_CI_PICKED_OEM = 0x00008000, 589 NDW_INSTALLFLAG_PCMCIAMODE = 0x00010000, 590 NDW_INSTALLFLAG_PCMCIADEVICE = 0x00020000, 591 NDW_INSTALLFLAG_USERCANCEL = 0x00040000, 592 NDW_INSTALLFLAG_KNOWNCLASS = 0x00080000, 593 NDW_INSTALLFLAG_NEEDRESTART = 0x00000080, 594 NDW_INSTALLFLAG_NEEDREBOOT = 0x00000100 595 } 596 597 enum : DWORD { 598 SETDIRID_NOT_FULL_PATH = 0x00000001 599 } 600 601 enum : DWORD { 602 SP_COPY_DELETESOURCE = 0x0000001, 603 SP_COPY_REPLACEONLY = 0x0000002, 604 SP_COPY_NEWER = 0x0000004, 605 SP_COPY_NEWER_OR_SAME = 0x0000004, 606 SP_COPY_NOOVERWRITE = 0x0000008, 607 SP_COPY_NODECOMP = 0x0000010, 608 SP_COPY_LANGUAGEAWARE = 0x0000020, 609 SP_COPY_SOURCE_ABSOLUTE = 0x0000040, 610 SP_COPY_SOURCEPATH_ABSOLUTE = 0x0000080, 611 SP_COPY_IN_USE_NEEDS_REBOOT = 0x0000100, 612 SP_COPY_FORCE_IN_USE = 0x0000200, 613 SP_COPY_NOSKIP = 0x0000400, 614 SP_FLAG_CABINETCONTINUATION = 0x0000800, 615 SP_COPY_FORCE_NOOVERWRITE = 0x0001000, 616 SP_COPY_FORCE_NEWER = 0x0002000, 617 SP_COPY_WARNIFSKIP = 0x0004000, 618 SP_COPY_NOBROWSE = 0x0008000, 619 SP_COPY_NEWER_ONLY = 0x0010000, 620 SP_COPY_SOURCE_SIS_MASTER = 0x0020000, 621 SP_COPY_OEMINF_CATALOG_ONLY = 0x0040000, 622 SP_COPY_REPLACE_BOOT_FILE = 0x0080000, 623 SP_COPY_NOPRUNE = 0x0100000 624 } 625 626 static if(_SETUPAPI_VER >= 0x0501) { 627 enum : DWORD { 628 SP_COPY_OEM_F6_INF = 0x0200000 629 } 630 } 631 632 enum : DWORD { 633 SPCRP_SECURITY = 23, 634 SPCRP_SECURITY_SDS, 635 SPCRP_DEVTYPE, 636 SPCRP_EXCLUSIVE, 637 SPCRP_CHARACTERISTICS, 638 SPCRP_MAXIMUM_PROPERTY // = 28 639 } 640 641 enum : DWORD { 642 SPDIT_NODRIVER, 643 SPDIT_CLASSDRIVER, 644 SPDIT_COMPATDRIVER // = 2 645 } 646 647 enum : DWORD { 648 SPDRP_DEVICEDESC, 649 SPDRP_HARDWAREID, 650 SPDRP_COMPATIBLEIDS, 651 SPDRP_UNUSED0, 652 SPDRP_SERVICE, 653 SPDRP_UNUSED1, 654 SPDRP_UNUSED2, 655 SPDRP_CLASS, 656 SPDRP_CLASSGUID, 657 SPDRP_DRIVER, 658 SPDRP_CONFIGFLAGS, 659 SPDRP_MFG, 660 SPDRP_FRIENDLYNAME, 661 SPDRP_LOCATION_INFORMATION, 662 SPDRP_PHYSICAL_DEVICE_OBJECT_NAME, 663 SPDRP_CAPABILITIES, 664 SPDRP_UI_NUMBER, 665 SPDRP_UPPERFILTERS, 666 SPDRP_LOWERFILTERS, 667 SPDRP_BUSTYPEGUID, 668 SPDRP_LEGACYBUSTYPE, 669 SPDRP_BUSNUMBER, 670 SPDRP_ENUMERATOR_NAME, 671 SPDRP_SECURITY, 672 SPDRP_SECURITY_SDS, 673 SPDRP_DEVTYPE, 674 SPDRP_EXCLUSIVE, 675 SPDRP_CHARACTERISTICS, 676 SPDRP_ADDRESS, // = 28 677 SPDRP_UI_NUMBER_DESC_FORMAT = 30, 678 SPDRP_MAXIMUM_PROPERTY = 31 679 } 680 681 enum : UINT { 682 SPDSL_IGNORE_DISK = 1, 683 SPDSL_DISALLOW_NEGATIVE_ADJUST 684 } 685 686 enum : UINT { 687 SPFILENOTIFY_STARTQUEUE = 1, 688 SPFILENOTIFY_ENDQUEUE, 689 SPFILENOTIFY_STARTSUBQUEUE, 690 SPFILENOTIFY_ENDSUBQUEUE, 691 SPFILENOTIFY_STARTDELETE, 692 SPFILENOTIFY_ENDDELETE, 693 SPFILENOTIFY_DELETEERROR, 694 SPFILENOTIFY_STARTRENAME, 695 SPFILENOTIFY_ENDRENAME, 696 SPFILENOTIFY_RENAMEERROR, 697 SPFILENOTIFY_STARTCOPY, 698 SPFILENOTIFY_ENDCOPY, 699 SPFILENOTIFY_COPYERROR, 700 SPFILENOTIFY_NEEDMEDIA, 701 SPFILENOTIFY_QUEUESCAN, 702 SPFILENOTIFY_CABINETINFO, 703 SPFILENOTIFY_FILEINCABINET, 704 SPFILENOTIFY_NEEDNEWCABINET, 705 SPFILENOTIFY_FILEEXTRACTED, 706 SPFILENOTIFY_FILEOPDELAYED, 707 SPFILENOTIFY_STARTBACKUP, 708 SPFILENOTIFY_BACKUPERROR, 709 SPFILENOTIFY_ENDBACKUP, 710 SPFILENOTIFY_QUEUESCAN_EX, 711 SPFILENOTIFY_STARTREGISTRATION, // = 25 712 SPFILENOTIFY_ENDREGISTRATION = 32, 713 SPFILENOTIFY_LANGMISMATCH = 0x00010000, 714 SPFILENOTIFY_TARGETEXISTS = 0x00020000, 715 SPFILENOTIFY_TARGETNEWER = 0x00040000 716 } 717 718 static if(_SETUPAPI_VER >= 0x0501) { 719 enum : UINT { 720 SPFILENOTIFY_QUEUESCAN_SIGNERINFO = 0x00000040 721 } 722 } 723 724 enum : DWORD { 725 SPFILELOG_SYSTEMLOG = 0x00000001, 726 SPFILELOG_OEMFILE = 0x00000001, 727 SPFILELOG_FORCENEW = 0x00000002, 728 SPFILELOG_QUERYONLY = 0x00000004 729 } 730 731 enum : INT { 732 SPFILEQ_FILE_IN_USE = 0x00000001, 733 SPFILEQ_REBOOT_RECOMMENDED = 0x00000002, 734 SPFILEQ_REBOOT_IN_PROGRESS = 0x00000004 735 } 736 737 enum : DWORD { 738 SPINT_ACTIVE = 0x00000001, 739 SPINT_DEFAULT = 0x00000002, 740 SPINT_REMOVED = 0x00000004 741 } 742 743 deprecated enum : DWORD { 744 SPID_ACTIVE = SPINT_ACTIVE, 745 SPID_DEFAULT = SPINT_DEFAULT, 746 SPID_REMOVED = SPINT_REMOVED 747 } 748 749 enum : UINT { 750 SPINST_LOGCONFIG = 0x00000001, 751 SPINST_INIFILES = 0x00000002, 752 SPINST_REGISTRY = 0x00000004, 753 SPINST_INI2REG = 0x00000008, 754 SPINST_FILES = 0x00000010, 755 SPINST_BITREG = 0x00000020, 756 SPINST_REGSVR = 0x00000040, 757 SPINST_UNREGSVR = 0x00000080, 758 SPINST_PROFILEITEMS = 0x00000100, 759 SPINST_SINGLESECTION = 0x00010000, 760 SPINST_LOGCONFIG_IS_FORCED = 0x00020000, 761 SPINST_LOGCONFIGS_ARE_OVERRIDES = 0x00040000 762 } 763 764 static if(_SETUPAPI_VER >= 0x0501) { 765 enum : UINT { 766 SPINST_COPYINF = 0x00000200, 767 SPINST_ALL = 0x000003ff, 768 SPINST_REGISTERCALLBACKAWARE = 0x00080000 769 } 770 } else { 771 enum : UINT { 772 SPINST_ALL = 0x000001ff 773 } 774 } 775 776 enum : DWORD { 777 SPOST_NONE, 778 SPOST_PATH, 779 SPOST_URL, 780 SPOST_MAX // = 3 781 } 782 783 enum : DWORD { 784 SPPSR_SELECT_DEVICE_RESOURCES = 1, 785 SPPSR_ENUM_BASIC_DEVICE_PROPERTIES, 786 SPPSR_ENUM_ADV_DEVICE_PROPERTIES 787 } 788 789 enum : DWORD { 790 SPQ_SCAN_FILE_PRESENCE = 0x00000001, 791 SPQ_SCAN_FILE_VALIDITY = 0x00000002, 792 SPQ_SCAN_USE_CALLBACK = 0x00000004, 793 SPQ_SCAN_USE_CALLBACKEX = 0x00000008, 794 SPQ_SCAN_INFORM_USER = 0x00000010, 795 SPQ_SCAN_PRUNE_COPY_QUEUE = 0x00000020 796 } 797 798 static if(_SETUPAPI_VER >= 0x0501) { 799 enum : DWORD { 800 SPQ_SCAN_USE_CALLBACK_SIGNERINFO = 0x00000040, 801 SPQ_SCAN_PRUNE_DELREN = 0x00000080 802 } 803 } 804 805 enum : UINT_PTR { 806 SPQ_DELAYED_COPY = 0x00000001 807 } 808 809 enum : DWORD { 810 SPRDI_FIND_DUPS = 0x00000001, 811 } 812 813 enum : DWORD { 814 SPSVCINST_TAGTOFRONT = 0x00000001, 815 SPSVCINST_ASSOCSERVICE = 0x00000002, 816 SPSVCINST_DELETEEVENTLOGENTRY = 0x00000004, 817 SPSVCINST_NOCLOBBER_DISPLAYNAME = 0x00000008, 818 SPSVCINST_NOCLOBBER_STARTTYPE = 0x00000010, 819 SPSVCINST_NOCLOBBER_ERRORCONTROL = 0x00000020, 820 SPSVCINST_NOCLOBBER_LOADORDERGROUP = 0x00000040, 821 SPSVCINST_NOCLOBBER_DEPENDENCIES = 0x00000080, 822 SPSVCINST_NOCLOBBER_DESCRIPTION = 0x00000100, 823 SPSVCINST_STOPSERVICE = 0x00000200 824 } 825 826 static if(_SETUPAPI_VER >= 0x0501) { 827 enum : DWORD { 828 SPSVCINST_CLOBBER_SECURITY = 0x00000400 829 } 830 } 831 832 enum : DWORD { 833 SPWPT_SELECTDEVICE = 0x00000001 834 } 835 836 enum : DWORD { 837 SPWP_USE_DEVINFO_DATA = 0x00000001 838 } 839 840 enum : UINT { 841 SRCINFO_PATH = 1, 842 SRCINFO_TAGFILE, 843 SRCINFO_DESCRIPTION, 844 SRCINFO_FLAGS // = 4 845 } 846 847 enum : DWORD { 848 SRCLIST_TEMPORARY = 0x00000001, 849 SRCLIST_NOBROWSE = 0x00000002, 850 SRCLIST_SYSTEM = 0x00000010, 851 SRCLIST_USER = 0x00000020, 852 SRCLIST_SYSIFADMIN = 0x00000040, 853 SRCLIST_SUBDIRS = 0x00000100, 854 SRCLIST_APPEND = 0x00000200, 855 SRCLIST_NOSTRIPPLATFORM = 0x00000400 856 } 857 858 alias PVOID HINF; 859 alias PVOID HDSKSPC; 860 mixin DECLARE_HANDLE!("HDEVINFO"); 861 alias PVOID HSPFILEQ; 862 alias PVOID HSPFILELOG; 863 864 enum SetupFileLogInfo { 865 SetupFileLogSourceFilename, 866 SetupFileLogChecksum, 867 SetupFileLogDiskTagfile, 868 SetupFileLogDiskDescription, 869 SetupFileLogOtherInfo, 870 SetupFileLogMax 871 } 872 873 align(1): 874 875 struct INFCONTEXT { 876 PVOID Inf; 877 PVOID CurrentInf; 878 UINT Section; 879 UINT Line; 880 } 881 alias INFCONTEXT* PINFCONTEXT; 882 883 struct SP_INF_INFORMATION { 884 DWORD InfStyle; 885 DWORD InfCount; 886 BYTE[1] _VersionData; 887 BYTE* VersionData() { return _VersionData.ptr; } 888 } 889 alias SP_INF_INFORMATION* PSP_INF_INFORMATION; 890 891 struct SP_ALTPLATFORM_INFO { 892 DWORD cbSize = SP_ALTPLATFORM_INFO.sizeof; 893 DWORD Platform; 894 DWORD MajorVersion; 895 DWORD MinorVersion; 896 WORD ProcessorArchitecture; 897 WORD Reserved; 898 } 899 alias SP_ALTPLATFORM_INFO* PSP_ALTPLATFORM_INFO; 900 901 struct SP_ORIGINAL_FILE_INFO_A { 902 DWORD cbSize = SP_ORIGINAL_FILE_INFO_A.sizeof; 903 CHAR[MAX_PATH] OriginalInfName; 904 CHAR[MAX_PATH] OriginalCatalogName; 905 } 906 alias SP_ORIGINAL_FILE_INFO_A* PSP_ORIGINAL_FILE_INFO_A; 907 908 struct SP_ORIGINAL_FILE_INFO_W { 909 DWORD cbSize = SP_ORIGINAL_FILE_INFO_W.sizeof; 910 WCHAR[MAX_PATH] OriginalInfName; 911 WCHAR[MAX_PATH] OriginalCatalogName; 912 } 913 alias SP_ORIGINAL_FILE_INFO_W* PSP_ORIGINAL_FILE_INFO_W; 914 915 struct FILEPATHS_A { 916 PCSTR Target; 917 PCSTR Source; 918 UINT Win32Error; 919 DWORD Flags; 920 } 921 alias FILEPATHS_A* PFILEPATHS_A; 922 923 struct FILEPATHS_W { 924 PCWSTR Target; 925 PCWSTR Source; 926 UINT Win32Error; 927 DWORD Flags; 928 } 929 alias FILEPATHS_W* PFILEPATHS_W; 930 931 struct SOURCE_MEDIA_A { 932 PCSTR Reserved; 933 PCSTR Tagfile; 934 PCSTR Description; 935 PCSTR SourcePath; 936 PCSTR SourceFile; 937 DWORD Flags; 938 } 939 alias SOURCE_MEDIA_A* PSOURCE_MEDIA_A; 940 941 struct SOURCE_MEDIA_W { 942 PCWSTR Reserved; 943 PCWSTR Tagfile; 944 PCWSTR Description; 945 PCWSTR SourcePath; 946 PCWSTR SourceFile; 947 DWORD Flags; 948 } 949 alias SOURCE_MEDIA_W* PSOURCE_MEDIA_W; 950 951 struct CABINET_INFO_A { 952 PCSTR CabinetPath; 953 PCSTR CabinetFile; 954 PCSTR DiskName; 955 USHORT SetId; 956 USHORT CabinetNumber; 957 } 958 alias CABINET_INFO_A* PCABINET_INFO_A; 959 960 struct CABINET_INFO_W { 961 PCWSTR CabinetPath; 962 PCWSTR CabinetFile; 963 PCWSTR DiskName; 964 USHORT SetId; 965 USHORT CabinetNumber; 966 } 967 alias CABINET_INFO_W* PCABINET_INFO_W; 968 969 struct FILE_IN_CABINET_INFO_A { 970 PCSTR NameInCabinet; 971 DWORD FileSize; 972 DWORD Win32Error; 973 WORD DosDate; 974 WORD DosTime; 975 WORD DosAttribs; 976 CHAR[MAX_PATH] FullTargetName; 977 } 978 alias FILE_IN_CABINET_INFO_A* PFILE_IN_CABINET_INFO_A; 979 980 struct FILE_IN_CABINET_INFO_W { 981 PCWSTR NameInCabinet; 982 DWORD FileSize; 983 DWORD Win32Error; 984 WORD DosDate; 985 WORD DosTime; 986 WORD DosAttribs; 987 WCHAR[MAX_PATH] FullTargetName; 988 } 989 alias FILE_IN_CABINET_INFO_W* PFILE_IN_CABINET_INFO_W; 990 991 struct SP_FILE_COPY_PARAMS_A { 992 DWORD cbSize = SP_FILE_COPY_PARAMS_A.sizeof; 993 HSPFILEQ QueueHandle; 994 PCSTR SourceRootPath; 995 PCSTR SourcePath; 996 PCSTR SourceFilename; 997 PCSTR SourceDescription; 998 PCSTR SourceTagfile; 999 PCSTR TargetDirectory; 1000 PCSTR TargetFilename; 1001 DWORD CopyStyle; 1002 HINF LayoutInf; 1003 PCSTR SecurityDescriptor; 1004 } 1005 alias SP_FILE_COPY_PARAMS_A* PSP_FILE_COPY_PARAMS_A; 1006 1007 struct SP_FILE_COPY_PARAMS_W { 1008 DWORD cbSize = SP_FILE_COPY_PARAMS_W.sizeof; 1009 HSPFILEQ QueueHandle; 1010 PCWSTR SourceRootPath; 1011 PCWSTR SourcePath; 1012 PCWSTR SourceFilename; 1013 PCWSTR SourceDescription; 1014 PCWSTR SourceTagfile; 1015 PCWSTR TargetDirectory; 1016 PCWSTR TargetFilename; 1017 DWORD CopyStyle; 1018 HINF LayoutInf; 1019 PCWSTR SecurityDescriptor; 1020 } 1021 alias SP_FILE_COPY_PARAMS_W* PSP_FILE_COPY_PARAMS_W; 1022 1023 struct SP_DEVINFO_DATA { 1024 DWORD cbSize = SP_DEVINFO_DATA.sizeof; 1025 GUID ClassGuid; 1026 DWORD DevInst; 1027 ULONG_PTR Reserved; 1028 } 1029 alias SP_DEVINFO_DATA* PSP_DEVINFO_DATA; 1030 1031 struct SP_DEVICE_INTERFACE_DATA { 1032 DWORD cbSize = SP_DEVICE_INTERFACE_DATA.sizeof; 1033 GUID InterfaceClassGuid; 1034 DWORD Flags; 1035 ULONG_PTR Reserved; 1036 } 1037 alias SP_DEVICE_INTERFACE_DATA* PSP_DEVICE_INTERFACE_DATA; 1038 deprecated alias SP_DEVICE_INTERFACE_DATA SP_INTERFACE_DEVICE_DATA; 1039 deprecated alias SP_DEVICE_INTERFACE_DATA* PSP_INTERFACE_DEVICE_DATA; 1040 1041 struct SP_DEVICE_INTERFACE_DETAIL_DATA_A { 1042 DWORD cbSize = SP_DEVICE_INTERFACE_DETAIL_DATA_A.sizeof; 1043 CHAR[1] _DevicePath; 1044 CHAR* DevicePath() { return _DevicePath.ptr; } 1045 } 1046 alias SP_DEVICE_INTERFACE_DETAIL_DATA_A* PSP_DEVICE_INTERFACE_DETAIL_DATA_A; 1047 1048 struct SP_DEVICE_INTERFACE_DETAIL_DATA_W { 1049 DWORD cbSize = SP_DEVICE_INTERFACE_DETAIL_DATA_W.sizeof; 1050 WCHAR[1] _DevicePath; 1051 WCHAR* DevicePath() { return _DevicePath.ptr; } 1052 } 1053 alias SP_DEVICE_INTERFACE_DETAIL_DATA_W* PSP_DEVICE_INTERFACE_DETAIL_DATA_W; 1054 1055 deprecated alias SP_DEVICE_INTERFACE_DETAIL_DATA_A SP_INTERFACE_DEVICE_DETAIL_DATA_A; 1056 deprecated alias SP_DEVICE_INTERFACE_DETAIL_DATA_A* PSP_INTERFACE_DEVICE_DETAIL_DATA_A; 1057 deprecated alias SP_DEVICE_INTERFACE_DETAIL_DATA_W SP_INTERFACE_DEVICE_DETAIL_DATA_W; 1058 deprecated alias SP_DEVICE_INTERFACE_DETAIL_DATA_W* PSP_INTERFACE_DEVICE_DETAIL_DATA_W; 1059 1060 struct SP_DEVINFO_LIST_DETAIL_DATA_A { 1061 DWORD cbSize = SP_DEVINFO_LIST_DETAIL_DATA_A.sizeof; 1062 GUID ClassGuid; 1063 HANDLE RemoteMachineHandle; 1064 CHAR[SP_MAX_MACHINENAME_LENGTH] RemoteMachineName; 1065 } 1066 alias SP_DEVINFO_LIST_DETAIL_DATA_A* PSP_DEVINFO_LIST_DETAIL_DATA_A; 1067 1068 struct SP_DEVINFO_LIST_DETAIL_DATA_W { 1069 DWORD cbSize = SP_DEVINFO_LIST_DETAIL_DATA_W.sizeof; 1070 GUID ClassGuid; 1071 HANDLE RemoteMachineHandle; 1072 WCHAR[SP_MAX_MACHINENAME_LENGTH] RemoteMachineName; 1073 } 1074 alias SP_DEVINFO_LIST_DETAIL_DATA_W* PSP_DEVINFO_LIST_DETAIL_DATA_W; 1075 1076 extern(Windows) alias UINT function(PVOID, UINT, UINT_PTR, UINT_PTR) PSP_FILE_CALLBACK_A; 1077 extern(Windows) alias UINT function(PVOID, UINT, UINT_PTR, UINT_PTR) PSP_FILE_CALLBACK_W; 1078 1079 struct SP_DEVINSTALL_PARAMS_A { 1080 DWORD cbSize = SP_DEVINSTALL_PARAMS_A.sizeof; 1081 DWORD Flags; 1082 DWORD FlagsEx; 1083 HWND hwndParent; 1084 PSP_FILE_CALLBACK_A InstallMsgHandler; 1085 PVOID InstallMsgHandlerContext; 1086 HSPFILEQ FileQueue; 1087 ULONG_PTR ClassInstallReserved; 1088 DWORD Reserved; 1089 CHAR[MAX_PATH] DriverPath; 1090 } 1091 alias SP_DEVINSTALL_PARAMS_A* PSP_DEVINSTALL_PARAMS_A; 1092 1093 struct SP_DEVINSTALL_PARAMS_W { 1094 DWORD cbSize = SP_DEVINSTALL_PARAMS_W.sizeof; 1095 DWORD Flags; 1096 DWORD FlagsEx; 1097 HWND hwndParent; 1098 PSP_FILE_CALLBACK_W InstallMsgHandler; 1099 PVOID InstallMsgHandlerContext; 1100 HSPFILEQ FileQueue; 1101 ULONG_PTR ClassInstallReserved; 1102 DWORD Reserved; 1103 WCHAR[MAX_PATH] DriverPath; 1104 } 1105 alias SP_DEVINSTALL_PARAMS_W* PSP_DEVINSTALL_PARAMS_W; 1106 1107 struct SP_CLASSINSTALL_HEADER { 1108 DWORD cbSize = SP_CLASSINSTALL_HEADER.sizeof; 1109 DI_FUNCTION InstallFunction; 1110 } 1111 alias SP_CLASSINSTALL_HEADER* PSP_CLASSINSTALL_HEADER; 1112 1113 struct SP_ENABLECLASS_PARAMS { 1114 SP_CLASSINSTALL_HEADER ClassInstallHeader; 1115 GUID ClassGuid; 1116 DWORD EnableMessage; 1117 } 1118 alias SP_ENABLECLASS_PARAMS* PSP_ENABLECLASS_PARAMS; 1119 1120 struct SP_MOVEDEV_PARAMS { 1121 SP_CLASSINSTALL_HEADER ClassInstallHeader; 1122 SP_DEVINFO_DATA SourceDeviceInfoData; 1123 } 1124 alias SP_MOVEDEV_PARAMS* PSP_MOVEDEV_PARAMS; 1125 1126 struct SP_PROPCHANGE_PARAMS { 1127 SP_CLASSINSTALL_HEADER ClassInstallHeader; 1128 DWORD StateChange; 1129 DWORD Scope; 1130 DWORD HwProfile; 1131 } 1132 alias SP_PROPCHANGE_PARAMS* PSP_PROPCHANGE_PARAMS; 1133 1134 struct SP_REMOVEDEVICE_PARAMS { 1135 SP_CLASSINSTALL_HEADER ClassInstallHeader; 1136 DWORD Scope; 1137 DWORD HwProfile; 1138 } 1139 alias SP_REMOVEDEVICE_PARAMS* PSP_REMOVEDEVICE_PARAMS; 1140 1141 struct SP_UNREMOVEDEVICE_PARAMS { 1142 SP_CLASSINSTALL_HEADER ClassInstallHeader; 1143 DWORD Scope; 1144 DWORD HwProfile; 1145 } 1146 alias SP_UNREMOVEDEVICE_PARAMS* PSP_UNREMOVEDEVICE_PARAMS; 1147 1148 struct SP_SELECTDEVICE_PARAMS_A { 1149 SP_CLASSINSTALL_HEADER ClassInstallHeader; 1150 CHAR[MAX_TITLE_LEN] Title; 1151 CHAR[MAX_INSTRUCTION_LEN] Instructions; 1152 CHAR[MAX_LABEL_LEN] ListLabel; 1153 CHAR[MAX_SUBTITLE_LEN] SubTitle; 1154 BYTE[2] Reserved; 1155 } 1156 alias SP_SELECTDEVICE_PARAMS_A* PSP_SELECTDEVICE_PARAMS_A; 1157 1158 struct SP_SELECTDEVICE_PARAMS_W { 1159 SP_CLASSINSTALL_HEADER ClassInstallHeader; 1160 WCHAR[MAX_TITLE_LEN] Title; 1161 WCHAR[MAX_INSTRUCTION_LEN] Instructions; 1162 WCHAR[MAX_LABEL_LEN] ListLabel; 1163 WCHAR[MAX_SUBTITLE_LEN] SubTitle; 1164 } 1165 alias SP_SELECTDEVICE_PARAMS_W* PSP_SELECTDEVICE_PARAMS_W; 1166 1167 extern(Windows) alias BOOL function(PVOID, DWORD) PDETECT_PROGRESS_NOTIFY; 1168 1169 struct SP_DETECTDEVICE_PARAMS { 1170 SP_CLASSINSTALL_HEADER ClassInstallHeader; 1171 PDETECT_PROGRESS_NOTIFY DetectProgressNotify; 1172 PVOID ProgressNotifyParam; 1173 } 1174 alias SP_DETECTDEVICE_PARAMS* PSP_DETECTDEVICE_PARAMS; 1175 1176 struct SP_INSTALLWIZARD_DATA { 1177 SP_CLASSINSTALL_HEADER ClassInstallHeader; 1178 DWORD Flags; 1179 HPROPSHEETPAGE[MAX_INSTALLWIZARD_DYNAPAGES] DynamicPages; 1180 DWORD NumDynamicPages; 1181 DWORD DynamicPageFlags; 1182 DWORD PrivateFlags; 1183 LPARAM PrivateData; 1184 HWND hwndWizardDlg; 1185 } 1186 alias SP_INSTALLWIZARD_DATA* PSP_INSTALLWIZARD_DATA; 1187 1188 struct SP_NEWDEVICEWIZARD_DATA { 1189 SP_CLASSINSTALL_HEADER ClassInstallHeader; 1190 DWORD Flags; 1191 HPROPSHEETPAGE[MAX_INSTALLWIZARD_DYNAPAGES] DynamicPages; 1192 DWORD NumDynamicPages; 1193 HWND hwndWizardDlg; 1194 } 1195 alias SP_NEWDEVICEWIZARD_DATA* PSP_NEWDEVICEWIZARD_DATA; 1196 alias SP_NEWDEVICEWIZARD_DATA SP_ADDPROPERTYPAGE_DATA; 1197 alias SP_NEWDEVICEWIZARD_DATA* PSP_ADDPROPERTYPAGE_DATA; 1198 1199 struct SP_TROUBLESHOOTER_PARAMS_A { 1200 SP_CLASSINSTALL_HEADER ClassInstallHeader; 1201 CHAR[MAX_PATH] ChmFile; 1202 CHAR[MAX_PATH] HtmlTroubleShooter; 1203 } 1204 alias SP_TROUBLESHOOTER_PARAMS_A* PSP_TROUBLESHOOTER_PARAMS_A; 1205 1206 struct SP_TROUBLESHOOTER_PARAMS_W { 1207 SP_CLASSINSTALL_HEADER ClassInstallHeader; 1208 WCHAR[MAX_PATH] ChmFile; 1209 WCHAR[MAX_PATH] HtmlTroubleShooter; 1210 } 1211 alias SP_TROUBLESHOOTER_PARAMS_W* PSP_TROUBLESHOOTER_PARAMS_W; 1212 1213 struct SP_POWERMESSAGEWAKE_PARAMS_A { 1214 SP_CLASSINSTALL_HEADER ClassInstallHeader; 1215 CHAR PowerMessageWake[LINE_LEN*2]; 1216 } 1217 alias SP_POWERMESSAGEWAKE_PARAMS_A* PSP_POWERMESSAGEWAKE_PARAMS_A; 1218 1219 struct SP_POWERMESSAGEWAKE_PARAMS_W { 1220 SP_CLASSINSTALL_HEADER ClassInstallHeader; 1221 WCHAR PowerMessageWake[LINE_LEN*2]; 1222 } 1223 alias SP_POWERMESSAGEWAKE_PARAMS_W* PSP_POWERMESSAGEWAKE_PARAMS_W; 1224 1225 struct SP_DRVINFO_DATA_V2_A { 1226 DWORD cbSize = SP_DRVINFO_DATA_V2_A.sizeof; 1227 DWORD DriverType; 1228 ULONG_PTR Reserved; 1229 CHAR[LINE_LEN] Description; 1230 CHAR[LINE_LEN] MfgName; 1231 CHAR[LINE_LEN] ProviderName; 1232 FILETIME DriverDate; 1233 DWORDLONG DriverVersion; 1234 } 1235 alias SP_DRVINFO_DATA_V2_A* PSP_DRVINFO_DATA_V2_A; 1236 1237 struct SP_DRVINFO_DATA_V2_W { 1238 DWORD cbSize = SP_DRVINFO_DATA_V2_A.sizeof; 1239 DWORD DriverType; 1240 ULONG_PTR Reserved; 1241 WCHAR[LINE_LEN] Description; 1242 WCHAR[LINE_LEN] MfgName; 1243 WCHAR[LINE_LEN] ProviderName; 1244 FILETIME DriverDate; 1245 DWORDLONG DriverVersion; 1246 } 1247 alias SP_DRVINFO_DATA_V2_W* PSP_DRVINFO_DATA_V2_W; 1248 1249 struct SP_DRVINFO_DATA_V1_A { 1250 DWORD cbSize = SP_DRVINFO_DATA_V1_A.sizeof; 1251 DWORD DriverType; 1252 ULONG_PTR Reserved; 1253 CHAR[LINE_LEN] Description; 1254 CHAR[LINE_LEN] MfgName; 1255 CHAR[LINE_LEN] ProviderName; 1256 } 1257 alias SP_DRVINFO_DATA_V1_A* PSP_DRVINFO_DATA_V1_A; 1258 1259 struct SP_DRVINFO_DATA_V1_W { 1260 DWORD cbSize = SP_DRVINFO_DATA_V1_W.sizeof; 1261 DWORD DriverType; 1262 ULONG_PTR Reserved; 1263 WCHAR[LINE_LEN] Description; 1264 WCHAR[LINE_LEN] MfgName; 1265 WCHAR[LINE_LEN] ProviderName; 1266 } 1267 alias SP_DRVINFO_DATA_V1_W* PSP_DRVINFO_DATA_V1_W; 1268 1269 version (Unicode) { 1270 alias SP_DRVINFO_DATA_V1_W SP_DRVINFO_DATA_V1; 1271 alias SP_DRVINFO_DATA_V2_W SP_DRVINFO_DATA_V2; 1272 } else { 1273 alias SP_DRVINFO_DATA_V1_A SP_DRVINFO_DATA_V1; 1274 alias SP_DRVINFO_DATA_V2_A SP_DRVINFO_DATA_V2; 1275 } 1276 alias SP_DRVINFO_DATA_V1* PSP_DRVINFO_DATA_V1; 1277 alias SP_DRVINFO_DATA_V2* PSP_DRVINFO_DATA_V2; 1278 1279 static if(USE_SP_DRVINFO_DATA_V1) { 1280 alias SP_DRVINFO_DATA_V1_A SP_DRVINFO_DATA_A; 1281 alias SP_DRVINFO_DATA_V1_A* PSP_DRVINFO_DATA_A; 1282 alias SP_DRVINFO_DATA_V1_W SP_DRVINFO_DATA_W; 1283 alias SP_DRVINFO_DATA_V1_W* PSP_DRVINFO_DATA_W; 1284 alias SP_DRVINFO_DATA_V1 SP_DRVINFO_DATA; 1285 alias SP_DRVINFO_DATA_V1* PSP_DRVINFO_DATA; 1286 } else { 1287 alias SP_DRVINFO_DATA_V2_A SP_DRVINFO_DATA_A; 1288 alias SP_DRVINFO_DATA_V2_A* PSP_DRVINFO_DATA_A; 1289 alias SP_DRVINFO_DATA_V2_W SP_DRVINFO_DATA_W; 1290 alias SP_DRVINFO_DATA_V2_W* PSP_DRVINFO_DATA_W; 1291 alias SP_DRVINFO_DATA_V2 SP_DRVINFO_DATA; 1292 alias SP_DRVINFO_DATA_V2* PSP_DRVINFO_DATA; 1293 } 1294 1295 extern(Windows) alias DWORD function(HDEVINFO, PSP_DEVINFO_DATA, PSP_DEVINFO_DATA, PVOID) PSP_DETSIG_CMPPROC; 1296 1297 struct SP_DRVINFO_DETAIL_DATA_A { 1298 DWORD cbSize = SP_DRVINFO_DETAIL_DATA_A.sizeof; 1299 FILETIME InfDate; 1300 DWORD CompatIDsOffset; 1301 DWORD CompatIDsLength; 1302 ULONG_PTR Reserved; 1303 CHAR[LINE_LEN] SectionName; 1304 CHAR[MAX_PATH] InfFileName; 1305 CHAR[LINE_LEN] DrvDescription; 1306 CHAR[1] _HardwareID; 1307 CHAR* HardwareID() { return _HardwareID.ptr; } 1308 } 1309 alias SP_DRVINFO_DETAIL_DATA_A* PSP_DRVINFO_DETAIL_DATA_A; 1310 1311 struct SP_DRVINFO_DETAIL_DATA_W { 1312 DWORD cbSize = SP_DRVINFO_DETAIL_DATA_W.sizeof; 1313 FILETIME InfDate; 1314 DWORD CompatIDsOffset; 1315 DWORD CompatIDsLength; 1316 ULONG_PTR Reserved; 1317 WCHAR[LINE_LEN] SectionName; 1318 WCHAR[MAX_PATH] InfFileName; 1319 WCHAR[LINE_LEN] DrvDescription; 1320 WCHAR[1] _HardwareID; 1321 WCHAR* HardwareID() { return _HardwareID.ptr; } 1322 } 1323 alias SP_DRVINFO_DETAIL_DATA_W* PSP_DRVINFO_DETAIL_DATA_W; 1324 1325 struct SP_DRVINSTALL_PARAMS { 1326 DWORD cbSize = SP_DRVINSTALL_PARAMS.sizeof; 1327 DWORD Rank; 1328 DWORD Flags; 1329 DWORD_PTR PrivateData; 1330 DWORD Reserved; 1331 } 1332 alias SP_DRVINSTALL_PARAMS* PSP_DRVINSTALL_PARAMS; 1333 1334 struct COINSTALLER_CONTEXT_DATA { 1335 BOOL PostProcessing; 1336 DWORD InstallResult; 1337 PVOID PrivateData; 1338 } 1339 alias COINSTALLER_CONTEXT_DATA* PCOINSTALLER_CONTEXT_DATA; 1340 1341 struct SP_CLASSIMAGELIST_DATA { 1342 DWORD cbSize = SP_CLASSIMAGELIST_DATA.sizeof; 1343 HIMAGELIST ImageList; 1344 ULONG_PTR Reserved; 1345 } 1346 alias SP_CLASSIMAGELIST_DATA* PSP_CLASSIMAGELIST_DATA; 1347 1348 struct SP_PROPSHEETPAGE_REQUEST { 1349 DWORD cbSize = SP_PROPSHEETPAGE_REQUEST.sizeof; 1350 DWORD PageRequested; 1351 HDEVINFO DeviceInfoSet; 1352 PSP_DEVINFO_DATA DeviceInfoData; 1353 } 1354 alias SP_PROPSHEETPAGE_REQUEST* PSP_PROPSHEETPAGE_REQUEST; 1355 1356 struct SP_BACKUP_QUEUE_PARAMS_A { 1357 DWORD cbSize = SP_BACKUP_QUEUE_PARAMS_A.sizeof; 1358 CHAR[MAX_PATH] FullInfPath; 1359 INT FilenameOffset; 1360 } 1361 alias SP_BACKUP_QUEUE_PARAMS_A* PSP_BACKUP_QUEUE_PARAMS_A; 1362 1363 struct SP_BACKUP_QUEUE_PARAMS_W { 1364 DWORD cbSize = SP_BACKUP_QUEUE_PARAMS_W.sizeof; 1365 WCHAR[MAX_PATH] FullInfPath; 1366 INT FilenameOffset; 1367 } 1368 alias SP_BACKUP_QUEUE_PARAMS_W* PSP_BACKUP_QUEUE_PARAMS_W; 1369 1370 version (Unicode) { 1371 alias SP_ORIGINAL_FILE_INFO_W SP_ORIGINAL_FILE_INFO; 1372 alias SP_ORIGINAL_FILE_INFO_W* PSP_ORIGINAL_FILE_INFO; 1373 alias FILEPATHS_W FILEPATHS; 1374 alias FILEPATHS_W* PFILEPATHS; 1375 alias SOURCE_MEDIA_W SOURCE_MEDIA; 1376 alias SOURCE_MEDIA_W* PSOURCE_MEDIA; 1377 alias CABINET_INFO_W CABINET_INFO; 1378 alias CABINET_INFO_W* PCABINET_INFO; 1379 alias FILE_IN_CABINET_INFO_W FILE_IN_CABINET_INFO; 1380 alias FILE_IN_CABINET_INFO_W* PFILE_IN_CABINET_INFO; 1381 alias SP_FILE_COPY_PARAMS_W SP_FILE_COPY_PARAMS; 1382 alias SP_FILE_COPY_PARAMS_W* PSP_FILE_COPY_PARAMS; 1383 alias SP_DEVICE_INTERFACE_DETAIL_DATA_W SP_DEVICE_INTERFACE_DETAIL_DATA; 1384 alias SP_DEVICE_INTERFACE_DETAIL_DATA_W* PSP_DEVICE_INTERFACE_DETAIL_DATA; 1385 deprecated { 1386 alias SP_DEVICE_INTERFACE_DETAIL_DATA_W SP_INTERFACE_DEVICE_DETAIL_DATA; 1387 alias SP_DEVICE_INTERFACE_DETAIL_DATA_W* PSP_INTERFACE_DEVICE_DETAIL_DATA; 1388 } 1389 alias SP_DEVINFO_LIST_DETAIL_DATA_W SP_DEVINFO_LIST_DETAIL_DATA; 1390 alias SP_DEVINFO_LIST_DETAIL_DATA_W *PSP_DEVINFO_LIST_DETAIL_DATA; 1391 alias SP_DEVINSTALL_PARAMS_W SP_DEVINSTALL_PARAMS; 1392 alias SP_DEVINSTALL_PARAMS_W* PSP_DEVINSTALL_PARAMS; 1393 alias SP_SELECTDEVICE_PARAMS_W SP_SELECTDEVICE_PARAMS; 1394 alias SP_SELECTDEVICE_PARAMS_W* PSP_SELECTDEVICE_PARAMS; 1395 alias SP_TROUBLESHOOTER_PARAMS_W SP_TROUBLESHOOTER_PARAMS; 1396 alias SP_TROUBLESHOOTER_PARAMS_W* PSP_TROUBLESHOOTER_PARAMS; 1397 alias SP_POWERMESSAGEWAKE_PARAMS_W SP_POWERMESSAGEWAKE_PARAMS; 1398 alias SP_POWERMESSAGEWAKE_PARAMS_W* PSP_POWERMESSAGEWAKE_PARAMS; 1399 alias SP_DRVINFO_DETAIL_DATA_W SP_DRVINFO_DETAIL_DATA; 1400 alias SP_DRVINFO_DETAIL_DATA_W* PSP_DRVINFO_DETAIL_DATA; 1401 alias SP_BACKUP_QUEUE_PARAMS_W SP_BACKUP_QUEUE_PARAMS; 1402 alias SP_BACKUP_QUEUE_PARAMS_W* PSP_BACKUP_QUEUE_PARAMS; 1403 } else { 1404 alias SP_ORIGINAL_FILE_INFO_A SP_ORIGINAL_FILE_INFO; 1405 alias SP_ORIGINAL_FILE_INFO_A* PSP_ORIGINAL_FILE_INFO; 1406 alias FILEPATHS_A FILEPATHS; 1407 alias FILEPATHS_A* PFILEPATHS; 1408 alias SOURCE_MEDIA_A SOURCE_MEDIA; 1409 alias SOURCE_MEDIA_A* PSOURCE_MEDIA; 1410 alias CABINET_INFO_A CABINET_INFO; 1411 alias CABINET_INFO_A* PCABINET_INFO; 1412 alias FILE_IN_CABINET_INFO_A FILE_IN_CABINET_INFO; 1413 alias FILE_IN_CABINET_INFO_A* PFILE_IN_CABINET_INFO; 1414 alias SP_FILE_COPY_PARAMS_A SP_FILE_COPY_PARAMS; 1415 alias SP_FILE_COPY_PARAMS_A* PSP_FILE_COPY_PARAMS; 1416 alias SP_DEVICE_INTERFACE_DETAIL_DATA_A SP_DEVICE_INTERFACE_DETAIL_DATA; 1417 alias SP_DEVICE_INTERFACE_DETAIL_DATA_A* PSP_DEVICE_INTERFACE_DETAIL_DATA; 1418 deprecated { 1419 alias SP_DEVICE_INTERFACE_DETAIL_DATA_A SP_INTERFACE_DEVICE_DETAIL_DATA; 1420 alias SP_DEVICE_INTERFACE_DETAIL_DATA_A* PSP_INTERFACE_DEVICE_DETAIL_DATA; 1421 } 1422 alias SP_DEVINFO_LIST_DETAIL_DATA_A SP_DEVINFO_LIST_DETAIL_DATA; 1423 alias SP_DEVINFO_LIST_DETAIL_DATA_A* PSP_DEVINFO_LIST_DETAIL_DATA; 1424 alias SP_DEVINSTALL_PARAMS_A SP_DEVINSTALL_PARAMS; 1425 alias SP_DEVINSTALL_PARAMS_A* PSP_DEVINSTALL_PARAMS; 1426 alias SP_SELECTDEVICE_PARAMS_A SP_SELECTDEVICE_PARAMS; 1427 alias SP_SELECTDEVICE_PARAMS_A* PSP_SELECTDEVICE_PARAMS; 1428 alias SP_TROUBLESHOOTER_PARAMS_A SP_TROUBLESHOOTER_PARAMS; 1429 alias SP_TROUBLESHOOTER_PARAMS_A* PSP_TROUBLESHOOTER_PARAMS; 1430 alias SP_POWERMESSAGEWAKE_PARAMS_A SP_POWERMESSAGEWAKE_PARAMS; 1431 alias SP_POWERMESSAGEWAKE_PARAMS_A* PSP_POWERMESSAGEWAKE_PARAMS; 1432 alias SP_DRVINFO_DETAIL_DATA_A SP_DRVINFO_DETAIL_DATA; 1433 alias SP_DRVINFO_DETAIL_DATA_A* PSP_DRVINFO_DETAIL_DATA; 1434 alias SP_BACKUP_QUEUE_PARAMS_A SP_BACKUP_QUEUE_PARAMS; 1435 alias SP_BACKUP_QUEUE_PARAMS_A* PSP_BACKUP_QUEUE_PARAMS; 1436 } 1437 1438 extern (Windows) { 1439 BOOL SetupAddInstallSectionToDiskSpaceListA(HDSKSPC, HINF, HINF, PCSTR, PVOID, UINT); 1440 BOOL SetupAddInstallSectionToDiskSpaceListW(HDSKSPC, HINF, HINF, PCWSTR, PVOID, UINT); 1441 BOOL SetupAddSectionToDiskSpaceListA(HDSKSPC, HINF, HINF, PCSTR, UINT, PVOID, UINT); 1442 BOOL SetupAddSectionToDiskSpaceListW(HDSKSPC, HINF, HINF, PCWSTR, UINT, PVOID, UINT); 1443 BOOL SetupAddToDiskSpaceListA(HDSKSPC, PCSTR, LONGLONG, UINT, PVOID, UINT); 1444 BOOL SetupAddToDiskSpaceListW(HDSKSPC, PCWSTR, LONGLONG, UINT, PVOID, UINT); 1445 BOOL SetupAddToSourceListA(DWORD, PCSTR); 1446 BOOL SetupAddToSourceListW(DWORD, PCWSTR); 1447 BOOL SetupQuerySourceListA(DWORD, PCSTR**List, PUINT); 1448 BOOL SetupQuerySourceListW(DWORD, PCWSTR**List, PUINT); 1449 BOOL SetupFreeSourceListA(PCSTR**List, UINT); 1450 BOOL SetupFreeSourceListW(PCWSTR**List, UINT); 1451 BOOL SetupAdjustDiskSpaceListA(HDSKSPC, LPCSTR, LONGLONG, PVOID, UINT); 1452 BOOL SetupAdjustDiskSpaceListW(HDSKSPC, LPCWSTR, LONGLONG, PVOID, UINT); 1453 UINT SetupBackupErrorA(HWND, PCSTR, PCSTR, PCSTR, UINT, DWORD); 1454 UINT SetupBackupErrorW(HWND, PCWSTR, PCWSTR, PCWSTR, UINT, DWORD); 1455 BOOL SetupCancelTemporary(); 1456 BOOL SetupCloseFileQueue(HSPFILEQ); 1457 VOID SetupCloseInfFile(HINF); 1458 VOID SetupCloseLog(); 1459 BOOL SetupCommitFileQueueA(HWND, HSPFILEQ, PSP_FILE_CALLBACK_A, PVOID); 1460 BOOL SetupCommitFileQueueW(HWND, HSPFILEQ, PSP_FILE_CALLBACK_W, PVOID); 1461 UINT SetupCopyErrorA(HWND, PCSTR, PCSTR, PCSTR, PCSTR, PCSTR, UINT, DWORD, PSTR, DWORD, PDWORD); 1462 UINT SetupCopyErrorW(HWND, PCWSTR, PCWSTR, PCWSTR, PCWSTR, PCWSTR, UINT, DWORD, PWSTR, DWORD, PDWORD); 1463 BOOL SetupCopyOEMInfA(PCSTR, PCSTR, DWORD, DWORD, PSTR, DWORD, PDWORD, PSTR*); 1464 BOOL SetupCopyOEMInfW(PCWSTR, PCWSTR, DWORD, DWORD, PWSTR, DWORD, PDWORD, PWSTR*); 1465 HDSKSPC SetupCreateDiskSpaceListA(PVOID, DWORD, UINT); 1466 HDSKSPC SetupCreateDiskSpaceListW(PVOID, DWORD, UINT); 1467 DWORD SetupDecompressOrCopyFileA(PCSTR, PCSTR, PUINT); 1468 DWORD SetupDecompressOrCopyFileW(PCWSTR, PCWSTR, PUINT); 1469 UINT SetupDefaultQueueCallbackA(PVOID, UINT, UINT_PTR, UINT_PTR); 1470 UINT SetupDefaultQueueCallbackW(PVOID, UINT, UINT_PTR, UINT_PTR); 1471 UINT SetupDeleteErrorA(HWND, PCSTR, PCSTR, UINT, DWORD); 1472 UINT SetupDeleteErrorW(HWND, PCWSTR, PCWSTR, UINT, DWORD); 1473 BOOL SetupDestroyDiskSpaceList(HDSKSPC); 1474 BOOL SetupDiAskForOEMDisk(HDEVINFO, PSP_DEVINFO_DATA); 1475 BOOL SetupDiBuildClassInfoList(DWORD, LPGUID, DWORD, PDWORD); 1476 BOOL SetupDiBuildClassInfoListExA(DWORD, LPGUID, DWORD, PDWORD, PCSTR, PVOID); 1477 BOOL SetupDiBuildClassInfoListExW(DWORD, LPGUID, DWORD, PDWORD, PCWSTR, PVOID); 1478 BOOL SetupDiBuildDriverInfoList(HDEVINFO, PSP_DEVINFO_DATA, DWORD); 1479 BOOL SetupDiCallClassInstaller(DI_FUNCTION, HDEVINFO, PSP_DEVINFO_DATA); 1480 BOOL SetupDiCancelDriverInfoSearch(HDEVINFO); 1481 BOOL SetupDiChangeState(HDEVINFO, PSP_DEVINFO_DATA); 1482 BOOL SetupDiClassGuidsFromNameA(PCSTR, LPGUID, DWORD, PDWORD); 1483 BOOL SetupDiClassGuidsFromNameW(PCWSTR, LPGUID, DWORD, PDWORD); 1484 BOOL SetupDiClassGuidsFromNameExA(PCSTR, LPGUID, DWORD, PDWORD, PCSTR, PVOID); 1485 BOOL SetupDiClassGuidsFromNameExW(PCWSTR, LPGUID, DWORD, PDWORD, PCWSTR, PVOID); 1486 BOOL SetupDiClassNameFromGuidA(const(GUID)*, PSTR, DWORD, PDWORD); 1487 BOOL SetupDiClassNameFromGuidW(const(GUID)*, PWSTR, DWORD, PDWORD); 1488 BOOL SetupDiClassNameFromGuidExA(const(GUID)*, PSTR, DWORD, PDWORD, PCSTR, PVOID); 1489 BOOL SetupDiClassNameFromGuidExW(const(GUID)*, PWSTR, DWORD, PDWORD, PCWSTR, PVOID); 1490 BOOL SetupDiCreateDeviceInfoA(HDEVINFO, PCSTR, const(GUID)*, PCSTR, HWND, DWORD, PSP_DEVINFO_DATA); 1491 BOOL SetupDiCreateDeviceInfoW(HDEVINFO, PCWSTR, const(GUID)*, PCWSTR, HWND, DWORD, PSP_DEVINFO_DATA); 1492 HDEVINFO SetupDiCreateDeviceInfoList(const(GUID)*, HWND); 1493 HDEVINFO SetupDiCreateDeviceInfoListExA(const(GUID)*, HWND, PCSTR, PVOID); 1494 HDEVINFO SetupDiCreateDeviceInfoListExW(const(GUID)*, HWND, PCWSTR, PVOID); 1495 BOOL SetupDiCreateDeviceInterfaceA(HDEVINFO, PSP_DEVINFO_DATA, const(GUID)*, PCSTR, DWORD, PSP_DEVICE_INTERFACE_DATA); 1496 BOOL SetupDiCreateDeviceInterfaceW(HDEVINFO, PSP_DEVINFO_DATA, const(GUID)*, PCWSTR, DWORD, PSP_DEVICE_INTERFACE_DATA); 1497 HKEY SetupDiCreateDeviceInterfaceRegKeyA(HDEVINFO, PSP_DEVICE_INTERFACE_DATA, DWORD, REGSAM, HINF, PCSTR); 1498 HKEY SetupDiCreateDeviceInterfaceRegKeyW(HDEVINFO, PSP_DEVICE_INTERFACE_DATA, DWORD, REGSAM, HINF, PCWSTR); 1499 HKEY SetupDiCreateDevRegKeyA(HDEVINFO, PSP_DEVINFO_DATA, DWORD, DWORD, DWORD, HINF, PCSTR); 1500 HKEY SetupDiCreateDevRegKeyW(HDEVINFO, PSP_DEVINFO_DATA, DWORD, DWORD, DWORD, HINF, PCWSTR); 1501 BOOL SetupDiDeleteDeviceInfo(HDEVINFO, PSP_DEVINFO_DATA); 1502 BOOL SetupDiDeleteDeviceInterfaceData(HDEVINFO, PSP_DEVICE_INTERFACE_DATA); 1503 BOOL SetupDiDeleteDeviceInterfaceRegKey(HDEVINFO, PSP_DEVICE_INTERFACE_DATA, DWORD); 1504 BOOL SetupDiDeleteDevRegKey(HDEVINFO, PSP_DEVINFO_DATA, DWORD, DWORD, DWORD); 1505 BOOL SetupDiDestroyClassImageList(PSP_CLASSIMAGELIST_DATA); 1506 BOOL SetupDiDestroyDeviceInfoList(HDEVINFO); 1507 BOOL SetupDiDestroyDriverInfoList(HDEVINFO, PSP_DEVINFO_DATA, DWORD); 1508 INT SetupDiDrawMiniIcon(HDC, RECT, INT, DWORD); 1509 BOOL SetupDiEnumDeviceInfo(HDEVINFO, DWORD, PSP_DEVINFO_DATA); 1510 BOOL SetupDiEnumDeviceInterfaces(HDEVINFO, PSP_DEVINFO_DATA, const(GUID)*, DWORD, PSP_DEVICE_INTERFACE_DATA); 1511 BOOL SetupDiEnumDriverInfoA(HDEVINFO, PSP_DEVINFO_DATA, DWORD, DWORD, PSP_DRVINFO_DATA_A); 1512 BOOL SetupDiEnumDriverInfoW(HDEVINFO, PSP_DEVINFO_DATA, DWORD, DWORD, PSP_DRVINFO_DATA_W); 1513 BOOL SetupDiGetActualSectionToInstallA(HINF, PCSTR, PSTR, DWORD, PDWORD, PSTR*); 1514 BOOL SetupDiGetActualSectionToInstallW(HINF, PCWSTR, PWSTR, DWORD, PDWORD, PWSTR*); 1515 BOOL SetupDiGetClassBitmapIndex(const(GUID)*, PINT); 1516 BOOL SetupDiGetClassDescriptionA(const(GUID)*, PSTR, DWORD, PDWORD); 1517 BOOL SetupDiGetClassDescriptionW(const(GUID)*, PWSTR, DWORD, PDWORD); 1518 BOOL SetupDiGetClassDescriptionExA(const(GUID)*, PSTR, DWORD, PDWORD, PCSTR, PVOID); 1519 BOOL SetupDiGetClassDescriptionExW(const(GUID)*, PWSTR, DWORD, PDWORD, PCWSTR, PVOID); 1520 BOOL SetupDiGetClassDevPropertySheetsA(HDEVINFO, PSP_DEVINFO_DATA, LPPROPSHEETHEADERA, DWORD, PDWORD, DWORD); 1521 BOOL SetupDiGetClassDevPropertySheetsW(HDEVINFO, PSP_DEVINFO_DATA, LPPROPSHEETHEADERW, DWORD, PDWORD, DWORD); 1522 HDEVINFO SetupDiGetClassDevsA(const(GUID)*, PCSTR, HWND, DWORD); 1523 HDEVINFO SetupDiGetClassDevsW(const(GUID)*, PCWSTR, HWND, DWORD); 1524 HDEVINFO SetupDiGetClassDevsExA(const(GUID)*, PCSTR, HWND, DWORD, HDEVINFO, PCSTR, PVOID); 1525 HDEVINFO SetupDiGetClassDevsExW(const(GUID)*, PCWSTR, HWND, DWORD, HDEVINFO, PCWSTR, PVOID); 1526 BOOL SetupDiGetClassImageIndex(PSP_CLASSIMAGELIST_DATA, const(GUID)*, PINT); 1527 BOOL SetupDiGetClassImageList(PSP_CLASSIMAGELIST_DATA); 1528 BOOL SetupDiGetClassImageListExA(PSP_CLASSIMAGELIST_DATA, PCSTR, PVOID); 1529 BOOL SetupDiGetClassImageListExW(PSP_CLASSIMAGELIST_DATA, PCWSTR, PVOID); 1530 BOOL SetupDiGetClassInstallParamsA(HDEVINFO, PSP_DEVINFO_DATA, PSP_CLASSINSTALL_HEADER, DWORD, PDWORD); 1531 BOOL SetupDiGetClassInstallParamsW(HDEVINFO, PSP_DEVINFO_DATA, PSP_CLASSINSTALL_HEADER, DWORD, PDWORD); 1532 BOOL SetupDiGetClassRegistryPropertyA(LPGUID, DWORD, PDWORD, PBYTE, DWORD, PDWORD, PCSTR, PVOID); 1533 BOOL SetupDiGetClassRegistryPropertyW(LPGUID, DWORD, PDWORD, PBYTE, DWORD, PDWORD, PCWSTR, PVOID); 1534 BOOL SetupDiGetDeviceInfoListClass(HDEVINFO, LPGUID); 1535 BOOL SetupDiGetDeviceInfoListDetailA(HDEVINFO, PSP_DEVINFO_LIST_DETAIL_DATA_A); 1536 BOOL SetupDiGetDeviceInfoListDetailW(HDEVINFO, PSP_DEVINFO_LIST_DETAIL_DATA_W); 1537 BOOL SetupDiGetDeviceInstallParamsA(HDEVINFO, PSP_DEVINFO_DATA, PSP_DEVINSTALL_PARAMS_A); 1538 BOOL SetupDiGetDeviceInstallParamsW(HDEVINFO, PSP_DEVINFO_DATA, PSP_DEVINSTALL_PARAMS_W); 1539 BOOL SetupDiGetDeviceInstanceIdA(HDEVINFO, PSP_DEVINFO_DATA, PSTR, DWORD, PDWORD); 1540 BOOL SetupDiGetDeviceInstanceIdW(HDEVINFO, PSP_DEVINFO_DATA, PWSTR, DWORD, PDWORD); 1541 BOOL SetupDiGetDeviceInterfaceAlias(HDEVINFO, PSP_DEVICE_INTERFACE_DATA, const(GUID)*, PSP_DEVICE_INTERFACE_DATA); 1542 BOOL SetupDiGetDeviceInterfaceDetailA(HDEVINFO, PSP_DEVICE_INTERFACE_DATA, PSP_DEVICE_INTERFACE_DETAIL_DATA_A, DWORD, PDWORD, PSP_DEVINFO_DATA); 1543 BOOL SetupDiGetDeviceInterfaceDetailW(HDEVINFO, PSP_DEVICE_INTERFACE_DATA, PSP_DEVICE_INTERFACE_DETAIL_DATA_W, DWORD, PDWORD, PSP_DEVINFO_DATA); 1544 BOOL SetupDiGetDeviceRegistryPropertyA(HDEVINFO, PSP_DEVINFO_DATA, DWORD, PDWORD, PBYTE, DWORD, PDWORD); 1545 BOOL SetupDiGetDeviceRegistryPropertyW(HDEVINFO, PSP_DEVINFO_DATA, DWORD, PDWORD, PBYTE, DWORD, PDWORD); 1546 BOOL SetupDiGetDriverInfoDetailA(HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVINFO_DATA_A, PSP_DRVINFO_DETAIL_DATA_A, DWORD, PDWORD); 1547 BOOL SetupDiGetDriverInfoDetailW(HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVINFO_DATA_W, PSP_DRVINFO_DETAIL_DATA_W, DWORD, PDWORD); 1548 BOOL SetupDiGetDriverInstallParamsA(HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVINFO_DATA_A, PSP_DRVINSTALL_PARAMS); 1549 BOOL SetupDiGetDriverInstallParamsW(HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVINFO_DATA_W, PSP_DRVINSTALL_PARAMS); 1550 BOOL SetupDiGetHwProfileFriendlyNameA(DWORD, PSTR, DWORD, PDWORD); 1551 BOOL SetupDiGetHwProfileFriendlyNameExA(DWORD, PSTR, DWORD, PDWORD, PCSTR, PVOID); 1552 BOOL SetupDiGetHwProfileFriendlyNameExW(DWORD, PWSTR, DWORD, PDWORD, PCWSTR, PVOID); 1553 BOOL SetupDiGetHwProfileFriendlyNameW(DWORD, PWSTR, DWORD, PDWORD); 1554 BOOL SetupDiGetHwProfileList(PDWORD, DWORD, PDWORD, PDWORD); 1555 BOOL SetupDiGetHwProfileListExA(PDWORD, DWORD, PDWORD, PDWORD, PCSTR, PVOID); 1556 BOOL SetupDiGetHwProfileListExW(PDWORD, DWORD, PDWORD, PDWORD, PCWSTR, PVOID); 1557 BOOL SetupDiGetINFClassA(PCSTR, LPGUID, PSTR, DWORD, PDWORD); 1558 BOOL SetupDiGetINFClassW(PCWSTR, LPGUID, PWSTR, DWORD, PDWORD); 1559 BOOL SetupDiGetSelectedDevice(HDEVINFO, PSP_DEVINFO_DATA); 1560 BOOL SetupDiGetSelectedDriverA(HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVINFO_DATA_A); 1561 BOOL SetupDiGetSelectedDriverW(HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVINFO_DATA_W); 1562 HPROPSHEETPAGE SetupDiGetWizardage(HDEVINFO, PSP_DEVINFO_DATA, PSP_INSTALLWIZARD_DATA, DWORD, DWORD); 1563 BOOL SetupDiInstallClassA(HWND, PCSTR, DWORD, HSPFILEQ); 1564 BOOL SetupDiInstallClassW(HWND, PCWSTR, DWORD, HSPFILEQ); 1565 BOOL SetupDiInstallClassExA(HWND, PCSTR, DWORD, HSPFILEQ, const(GUID)*, PVOID, PVOID); 1566 BOOL SetupDiInstallClassExW(HWND, PCWSTR, DWORD, HSPFILEQ, const(GUID)*, PVOID, PVOID); 1567 BOOL SetupDiInstallDevice(HDEVINFO, PSP_DEVINFO_DATA); 1568 BOOL SetupDiInstallDeviceInterfaces(HDEVINFO, PSP_DEVINFO_DATA); 1569 BOOL SetupDiInstallDriverFiles(HDEVINFO, PSP_DEVINFO_DATA); 1570 BOOL SetupDiLoadClassIcon(const(GUID)*, HICON*, PINT); 1571 BOOL SetupDiMoveDuplicateDevice(HDEVINFO, PSP_DEVINFO_DATA); 1572 HKEY SetupDiOpenClassRegKey(const(GUID)*, REGSAM); 1573 HKEY SetupDiOpenClassRegKeyExA(const(GUID)*, REGSAM, DWORD, PCSTR, PVOID); 1574 HKEY SetupDiOpenClassRegKeyExW(const(GUID)*, REGSAM, DWORD, PCWSTR, PVOID); 1575 BOOL SetupDiOpenDeviceInfoA(HDEVINFO, PCSTR, HWND, DWORD, PSP_DEVINFO_DATA); 1576 BOOL SetupDiOpenDeviceInfoW(HDEVINFO, PCWSTR, HWND, DWORD, PSP_DEVINFO_DATA); 1577 BOOL SetupDiOpenDeviceInterfaceA(HDEVINFO, PCSTR, DWORD, PSP_DEVICE_INTERFACE_DATA); 1578 BOOL SetupDiOpenDeviceInterfaceW(HDEVINFO, PCWSTR, DWORD, PSP_DEVICE_INTERFACE_DATA); 1579 HKEY SetupDiOpenDeviceInterfaceRegKey(HDEVINFO, PSP_DEVICE_INTERFACE_DATA, DWORD, REGSAM); 1580 HKEY SetupDiOpenDevRegKey(HDEVINFO, PSP_DEVINFO_DATA, DWORD, DWORD, DWORD, REGSAM); 1581 BOOL SetupDiRegisterCoDeviceInstallers(HDEVINFO, PSP_DEVINFO_DATA); 1582 BOOL SetupDiRegisterDeviceInfo(HDEVINFO, PSP_DEVINFO_DATA, DWORD, PSP_DETSIG_CMPPROC, PVOID, PSP_DEVINFO_DATA); 1583 BOOL SetupDiRemoveDevice(HDEVINFO, PSP_DEVINFO_DATA); 1584 BOOL SetupDiRemoveDeviceInterface(HDEVINFO, PSP_DEVICE_INTERFACE_DATA); 1585 BOOL SetupDiSelectBestCompatDrv(HDEVINFO, PSP_DEVINFO_DATA); 1586 BOOL SetupDiSelectDevice(HDEVINFO, PSP_DEVINFO_DATA); 1587 BOOL SetupDiSelectOEMDrv(HWND, HDEVINFO, PSP_DEVINFO_DATA); 1588 BOOL SetupDiSetClassInstallParamsA(HDEVINFO, PSP_DEVINFO_DATA, PSP_CLASSINSTALL_HEADER, DWORD); 1589 BOOL SetupDiSetClassInstallParamsW(HDEVINFO, PSP_DEVINFO_DATA, PSP_CLASSINSTALL_HEADER, DWORD); 1590 BOOL SetupDiSetClassRegistryPropertyA(LPGUID, DWORD, const(BYTE)*, DWORD, PCSTR, PVOID); 1591 BOOL SetupDiSetClassRegistryPropertyW(LPGUID, DWORD, const(BYTE)*, DWORD, PCWSTR, PVOID); 1592 BOOL SetupDiSetDeviceInstallParamsA(HDEVINFO, PSP_DEVINFO_DATA, PSP_DEVINSTALL_PARAMS_A); 1593 BOOL SetupDiSetDeviceInstallParamsW(HDEVINFO, PSP_DEVINFO_DATA, PSP_DEVINSTALL_PARAMS_W); 1594 BOOL SetupDiSetDeviceRegistryPropertyA(HDEVINFO, PSP_DEVINFO_DATA, DWORD, const(BYTE)*, DWORD); 1595 BOOL SetupDiSetDeviceRegistryPropertyW(HDEVINFO, PSP_DEVINFO_DATA, DWORD, const(BYTE)*, DWORD); 1596 BOOL SetupDiSetDriverInstallParamsA(HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVINFO_DATA_A, PSP_DRVINSTALL_PARAMS); 1597 BOOL SetupDiSetDriverInstallParamsW(HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVINFO_DATA_W, PSP_DRVINSTALL_PARAMS); 1598 BOOL SetupDiSetSelectedDevice(HDEVINFO, PSP_DEVINFO_DATA); 1599 BOOL SetupDiSetSelectedDriverA(HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVINFO_DATA_A); 1600 BOOL SetupDiSetSelectedDriverW(HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVINFO_DATA_W); 1601 BOOL SetupDiUnremoveDevice(HDEVINFO, PSP_DEVINFO_DATA); 1602 HDSKSPC SetupDuplicateDiskSpaceListA(HDSKSPC, PVOID, DWORD, UINT); 1603 HDSKSPC SetupDuplicateDiskSpaceListW(HDSKSPC, PVOID, DWORD, UINT); 1604 BOOL SetupFindFirstLineA(HINF, PCSTR, PCSTR, PINFCONTEXT); 1605 BOOL SetupFindFirstLineW(HINF, PCWSTR, PCWSTR, PINFCONTEXT); 1606 BOOL SetupFindNextLine(PINFCONTEXT, PINFCONTEXT); 1607 BOOL SetupFindNextMatchLineA(PINFCONTEXT, PCSTR, PINFCONTEXT); 1608 BOOL SetupFindNextMatchLineW(PINFCONTEXT, PCWSTR, PINFCONTEXT); 1609 BOOL SetupFreeA(PCSTR**, UINT); 1610 BOOL SetupFreeW(PCWSTR**, UINT); 1611 BOOL SetupGetBackupInformationA(HSPFILEQ, PSP_BACKUP_QUEUE_PARAMS_A); 1612 BOOL SetupGetBackupInformationW(HSPFILEQ, PSP_BACKUP_QUEUE_PARAMS_W); 1613 BOOL SetupGetBinaryField(PINFCONTEXT, DWORD, PBYTE, DWORD, LPDWORD); 1614 DWORD SetupGetFieldCount(PINFCONTEXT); 1615 DWORD SetupGetFileCompressionInfoA(PCSTR, PSTR*, PDWORD, PDWORD, PUINT); 1616 DWORD SetupGetFileCompressionInfoW(PCWSTR, PWSTR*, PDWORD, PDWORD, PUINT); 1617 BOOL SetupGetInfFileListA(PCSTR, DWORD, PSTR, DWORD, PDWORD); 1618 BOOL SetupGetInfFileListW(PCWSTR, DWORD, PWSTR, DWORD, PDWORD); 1619 BOOL SetupGetInfInformationA(LPCVOID, DWORD, PSP_INF_INFORMATION, DWORD, PDWORD); 1620 BOOL SetupGetInfInformationW(LPCVOID, DWORD, PSP_INF_INFORMATION, DWORD, PDWORD); 1621 BOOL SetupGetIntField(PINFCONTEXT, DWORD, PINT); 1622 BOOL SetupGetLineByIndexA(HINF, PCSTR, DWORD, PINFCONTEXT); 1623 BOOL SetupGetLineByIndexW(HINF, PCWSTR, DWORD, PINFCONTEXT); 1624 LONG SetupGetLineCountA(HINF, PCSTR); 1625 LONG SetupGetLineCountW(HINF, PCWSTR); 1626 BOOL SetupGetLineTextA(PINFCONTEXT, HINF, PCSTR, PCSTR, PSTR, DWORD, PDWORD); 1627 BOOL SetupGetLineTextW(PINFCONTEXT, HINF, PCWSTR, PCWSTR, PWSTR, DWORD, PDWORD); 1628 BOOL SetupGetMultiSzFieldA(PINFCONTEXT, DWORD, PSTR, DWORD, LPDWORD); 1629 BOOL SetupGetMultiSzFieldW(PINFCONTEXT, DWORD, PWSTR, DWORD, LPDWORD); 1630 BOOL SetupGetSourceFileLocationA(HINF, PINFCONTEXT, PCSTR, PUINT, PSTR, DWORD, PDWORD); 1631 BOOL SetupGetSourceFileLocationW(HINF, PINFCONTEXT, PCWSTR, PUINT, PWSTR, DWORD, PDWORD); 1632 BOOL SetupGetSourceFileSizeA(HINF, PINFCONTEXT, PCSTR, PCSTR, PDWORD, UINT); 1633 BOOL SetupGetSourceFileSizeW(HINF, PINFCONTEXT, PCWSTR, PCWSTR, PDWORD, UINT); 1634 BOOL SetupGetSourceInfoA(HINF, UINT, UINT, PSTR, DWORD, PDWORD); 1635 BOOL SetupGetSourceInfoW(HINF, UINT, UINT, PWSTR, DWORD, PDWORD); 1636 BOOL SetupGetStringFieldA(PINFCONTEXT, DWORD, PSTR, DWORD, PDWORD); 1637 BOOL SetupGetStringFieldW(PINFCONTEXT, DWORD, PWSTR, DWORD, PDWORD); 1638 BOOL SetupGetTargetPathA(HINF, PINFCONTEXT, PCSTR, PSTR, DWORD, PDWORD); 1639 BOOL SetupGetTargetPathW(HINF, PINFCONTEXT, PCWSTR, PWSTR, DWORD, PDWORD); 1640 PVOID SetupInitDefaultQueueCallback(HWND); 1641 PVOID SetupInitDefaultQueueCallbackEx(HWND, HWND, UINT, DWORD, PVOID); 1642 HSPFILELOG SetupInitializeFileLogA(PCSTR, DWORD); 1643 HSPFILELOG SetupInitializeFileLogW(PCWSTR, DWORD); 1644 BOOL SetupInstallFileA(HINF, PINFCONTEXT, PCSTR, PCSTR, PCSTR, DWORD, PSP_FILE_CALLBACK_A, PVOID); 1645 BOOL SetupInstallFileW(HINF, PINFCONTEXT, PCWSTR, PCWSTR, PCWSTR, DWORD, PSP_FILE_CALLBACK_W, PVOID); 1646 BOOL SetupInstallFileExA(HINF, PINFCONTEXT, PCSTR, PCSTR, PCSTR, DWORD, PSP_FILE_CALLBACK_A, PVOID, PBOOL); 1647 BOOL SetupInstallFileExW(HINF, PINFCONTEXT, PCWSTR, PCWSTR, PCWSTR, DWORD, PSP_FILE_CALLBACK_W, PVOID, PBOOL); 1648 BOOL SetupInstallFilesFromInfSectionA(HINF, HINF, HSPFILEQ, PCSTR, PCSTR, UINT); 1649 BOOL SetupInstallFilesFromInfSectionW(HINF, HINF, HSPFILEQ, PCWSTR, PCWSTR, UINT); 1650 BOOL SetupInstallFromInfSectionA(HWND, HINF, PCSTR, UINT, HKEY, PCSTR, UINT, PSP_FILE_CALLBACK_A, PVOID, HDEVINFO, PSP_DEVINFO_DATA); 1651 BOOL SetupInstallFromInfSectionW(HWND, HINF, PCWSTR, UINT, HKEY, PCWSTR, UINT, PSP_FILE_CALLBACK_W, PVOID, HDEVINFO, PSP_DEVINFO_DATA); 1652 BOOL SetupInstallServicesFromInfSectionA(HINF, PCSTR, DWORD); 1653 BOOL SetupInstallServicesFromInfSectionW(HINF, PCWSTR, DWORD); 1654 BOOL SetupInstallServicesFromInfSectionExA(HINF, PCSTR, DWORD, HDEVINFO, PSP_DEVINFO_DATA, PVOID, PVOID); 1655 BOOL SetupInstallServicesFromInfSectionExW(HINF, PCWSTR, DWORD, HDEVINFO, PSP_DEVINFO_DATA, PVOID, PVOID); 1656 BOOL SetupIterateCabinetA(PCSTR, DWORD, PSP_FILE_CALLBACK_A, PVOID); 1657 BOOL SetupIterateCabinetW(PCWSTR, DWORD, PSP_FILE_CALLBACK_W, PVOID); 1658 BOOL SetupLogErrorA(LPCSTR, LogSeverity); 1659 BOOL SetupLogErrorW(LPCWSTR, LogSeverity); 1660 BOOL SetupLogFileA(HSPFILELOG, PCSTR, PCSTR, PCSTR, DWORD, PCSTR, PCSTR, PCSTR, DWORD); 1661 BOOL SetupLogFileW(HSPFILELOG, PCWSTR, PCWSTR, PCWSTR, DWORD, PCWSTR, PCWSTR, PCWSTR, DWORD); 1662 BOOL SetupOpenAppendInfFileA(PCSTR, HINF, PUINT); 1663 BOOL SetupOpenAppendInfFileW(PCWSTR, HINF, PUINT); 1664 HSPFILEQ SetupOpenFileQueue(); 1665 HINF SetupOpenInfFileA(PCSTR, PCSTR, DWORD, PUINT); 1666 HINF SetupOpenInfFileW(PCWSTR, PCWSTR, DWORD, PUINT); 1667 BOOL SetupOpenLog(BOOL); 1668 HINF SetupOpenMasterInf(); 1669 UINT SetupPromptForDiskA(HWND, PCSTR, PCSTR, PCSTR, PCSTR, PCSTR, DWORD, PSTR, DWORD, PDWORD); 1670 UINT SetupPromptForDiskW(HWND, PCWSTR, PCWSTR, PCWSTR, PCWSTR, PCWSTR, DWORD, PWSTR, DWORD, PDWORD); 1671 INT SetupPromptReboot(HSPFILEQ, HWND, BOOL); 1672 BOOL SetupQueryA(DWORD, PCSTR**, PUINT); 1673 BOOL SetupQueryW(DWORD, PCWSTR**, PUINT); 1674 BOOL SetupQueryDrivesInDiskSpaceListA(HDSKSPC, PSTR, DWORD, PDWORD); 1675 BOOL SetupQueryDrivesInDiskSpaceListW(HDSKSPC, PWSTR, DWORD, PDWORD); 1676 BOOL SetupQueryFileLogA(HSPFILELOG, PCSTR, PCSTR, SetupFileLogInfo, PSTR, DWORD, PDWORD); 1677 BOOL SetupQueryFileLogW(HSPFILELOG, PCWSTR, PCWSTR, SetupFileLogInfo, PWSTR, DWORD, PDWORD); 1678 BOOL SetupQueryInfFileInformationA(PSP_INF_INFORMATION, UINT, PSTR, DWORD, PDWORD); 1679 BOOL SetupQueryInfFileInformationW(PSP_INF_INFORMATION, UINT, PWSTR, DWORD, PDWORD); 1680 BOOL SetupQueryInfOriginalFileInformationA(PSP_INF_INFORMATION, UINT, PSP_ALTPLATFORM_INFO, PSP_ORIGINAL_FILE_INFO_A); 1681 BOOL SetupQueryInfOriginalFileInformationW(PSP_INF_INFORMATION, UINT, PSP_ALTPLATFORM_INFO, PSP_ORIGINAL_FILE_INFO_W); 1682 BOOL SetupQueryInfVersionInformationA(PSP_INF_INFORMATION, UINT, PSTR, PSTR, DWORD, PDWORD); 1683 BOOL SetupQueryInfVersionInformationW(PSP_INF_INFORMATION, UINT, PCWSTR, PWSTR, DWORD, PDWORD); 1684 BOOL SetupQuerySpaceRequiredOnDriveA(HDSKSPC, PCSTR, LONGLONG*, PVOID, UINT); 1685 BOOL SetupQuerySpaceRequiredOnDriveW(HDSKSPC, PCWSTR, LONGLONG*, PVOID, UINT); 1686 BOOL SetupQueueCopyA(HSPFILEQ, PCSTR, PCSTR, PCSTR, PCSTR, PCSTR, PCSTR, PCSTR, DWORD); 1687 BOOL SetupQueueCopyW(HSPFILEQ, PCWSTR, PCWSTR, PCWSTR, PCWSTR, PCWSTR, PCWSTR, PCWSTR, DWORD); 1688 BOOL SetupQueueCopyIndirectA(PSP_FILE_COPY_PARAMS_A); 1689 BOOL SetupQueueCopyIndirectW(PSP_FILE_COPY_PARAMS_W); 1690 BOOL SetupQueueCopySectionA(HSPFILEQ, PCSTR, HINF, HINF, PCSTR, DWORD); 1691 BOOL SetupQueueCopySectionW(HSPFILEQ, PCWSTR, HINF, HINF, PCWSTR, DWORD); 1692 BOOL SetupQueueDefaultCopyA(HSPFILEQ, HINF, PCSTR, PCSTR, PCSTR, DWORD); 1693 BOOL SetupQueueDefaultCopyW(HSPFILEQ, HINF, PCWSTR, PCWSTR, PCWSTR, DWORD); 1694 BOOL SetupQueueDeleteA(HSPFILEQ, PCSTR, PCSTR); 1695 BOOL SetupQueueDeleteW(HSPFILEQ, PCWSTR, PCWSTR); 1696 BOOL SetupQueueDeleteSectionA(HSPFILEQ, HINF, HINF, PCSTR); 1697 BOOL SetupQueueDeleteSectionW(HSPFILEQ, HINF, HINF, PCWSTR); 1698 BOOL SetupQueueRenameA(HSPFILEQ, PCSTR, PCSTR, PCSTR, PCSTR); 1699 BOOL SetupQueueRenameW(HSPFILEQ, PCWSTR, PCWSTR, PCWSTR, PCWSTR); 1700 BOOL SetupQueueRenameSectionA(HSPFILEQ, HINF, HINF, PCSTR); 1701 BOOL SetupQueueRenameSectionW(HSPFILEQ, HINF, HINF, PCWSTR); 1702 BOOL SetupRemoveFileLogEntryA(HSPFILELOG, PCSTR, PCSTR); 1703 BOOL SetupRemoveFileLogEntryW(HSPFILELOG, PCWSTR, PCWSTR); 1704 BOOL SetupRemoveFromDiskSpaceListA(HDSKSPC, PCSTR, UINT, PVOID, UINT); 1705 BOOL SetupRemoveFromDiskSpaceListW(HDSKSPC, PCWSTR, UINT, PVOID, UINT); 1706 BOOL SetupRemoveFromSourceListA(DWORD, PCSTR); 1707 BOOL SetupRemoveFromSourceListW(DWORD, PCWSTR); 1708 BOOL SetupRemoveInstallSectionFromDiskSpaceListA(HDSKSPC, HINF, HINF, PCSTR, PVOID, UINT); 1709 BOOL SetupRemoveInstallSectionFromDiskSpaceListW(HDSKSPC, HINF, HINF, PCWSTR, PVOID, UINT); 1710 BOOL SetupRemoveSectionFromDiskSpaceListA(HDSKSPC, HINF, HINF, PCSTR, UINT, PVOID, UINT); 1711 BOOL SetupRemoveSectionFromDiskSpaceListW(HDSKSPC, HINF, HINF, PCWSTR, UINT, PVOID, UINT); 1712 UINT SetupRenameErrorA(HWND, PCSTR, PCSTR, PCSTR, UINT, DWORD); 1713 UINT SetupRenameErrorW(HWND, PCWSTR, PCWSTR, PCWSTR, UINT, DWORD); 1714 BOOL SetupScanFileQueueA(HSPFILEQ, DWORD, HWND, PSP_FILE_CALLBACK_A, PVOID, PDWORD); 1715 BOOL SetupScanFileQueueW(HSPFILEQ, DWORD, HWND, PSP_FILE_CALLBACK_W, PVOID, PDWORD); 1716 BOOL SetupSetDirectoryIdA(HINF, DWORD, PCSTR); 1717 BOOL SetupSetDirectoryIdW(HINF, DWORD, PCWSTR); 1718 BOOL SetupSetDirectoryIdExA(HINF, DWORD, PCSTR, DWORD, DWORD, PVOID); 1719 BOOL SetupSetDirectoryIdExW(HINF, DWORD, PCWSTR, DWORD, DWORD, PVOID); 1720 BOOL SetupSetFileQueueAlternatePlatformA(HSPFILEQ, PSP_ALTPLATFORM_INFO, PCSTR); 1721 BOOL SetupSetFileQueueAlternatePlatformW(HSPFILEQ, PSP_ALTPLATFORM_INFO, PCWSTR); 1722 BOOL SetupSetPlatformPathOverrideA(PCSTR); 1723 BOOL SetupSetPlatformPathOverrideW(PCWSTR); 1724 BOOL SetupSetSourceListA(DWORD, PCSTR*, UINT); 1725 BOOL SetupSetSourceListW(DWORD, PCWSTR*, UINT); 1726 VOID SetupTermDefaultQueueCallback(PVOID); 1727 BOOL SetupTerminateFileLog(HSPFILELOG); 1728 } 1729 1730 deprecated { 1731 alias SetupDiCreateDeviceInterfaceW SetupDiCreateInterfaceDeviceW; 1732 alias SetupDiCreateDeviceInterfaceRegKeyW SetupDiCreateInterfaceDeviceRegKeyW; 1733 alias SetupDiOpenDeviceInterfaceW SetupDiOpenInterfaceDeviceW; 1734 alias SetupDiGetDeviceInterfaceDetailW SetupDiGetInterfaceDeviceDetailW; 1735 alias SetupDiCreateDeviceInterfaceA SetupDiCreateInterfaceDeviceA; 1736 alias SetupDiCreateDeviceInterfaceRegKeyA SetupDiCreateInterfaceDeviceRegKeyA; 1737 alias SetupDiOpenDeviceInterfaceA SetupDiOpenInterfaceDeviceA; 1738 alias SetupDiGetDeviceInterfaceDetailA SetupDiGetInterfaceDeviceDetailA; 1739 } 1740 1741 version (Unicode) { 1742 alias PSP_FILE_CALLBACK_W PSP_FILE_CALLBACK; 1743 alias SetupAddInstallSectionToDiskSpaceListW SetupAddInstallSectionToDiskSpaceList; 1744 alias SetupAddSectionToDiskSpaceListW SetupAddSectionToDiskSpaceList; 1745 alias SetupAddToDiskSpaceListW SetupAddToDiskSpaceList; 1746 alias SetupAddToSourceListW SetupAddToSourceList; 1747 alias SetupAdjustDiskSpaceListW SetupAdjustDiskSpaceList; 1748 alias SetupBackupErrorW SetupBackupError; 1749 alias SetupCommitFileQueueW SetupCommitFileQueue; 1750 alias SetupCopyErrorW SetupCopyError; 1751 alias SetupCopyOEMInfW SetupCopyOEMInf; 1752 alias SetupCreateDiskSpaceListW SetupCreateDiskSpaceList; 1753 alias SetupDecompressOrCopyFileW SetupDecompressOrCopyFile; 1754 alias SetupDefaultQueueCallbackW SetupDefaultQueueCallback; 1755 alias SetupDeleteErrorW SetupDeleteError; 1756 alias SetupDiBuildClassInfoListExW SetupDiBuildClassInfoListEx; 1757 alias SetupDiClassGuidsFromNameExW SetupDiClassGuidsFromNameEx; 1758 alias SetupDiClassGuidsFromNameW SetupDiClassGuidsFromName; 1759 alias SetupDiClassNameFromGuidExW SetupDiClassNameFromGuidEx; 1760 alias SetupDiClassNameFromGuidW SetupDiClassNameFromGuid; 1761 alias SetupDiCreateDeviceInfoListExW SetupDiCreateDeviceInfoListEx; 1762 alias SetupDiCreateDeviceInfoW SetupDiCreateDeviceInfo; 1763 alias SetupDiCreateDeviceInterfaceRegKeyW SetupDiCreateDeviceInterfaceRegKey; 1764 deprecated alias SetupDiCreateDeviceInterfaceRegKeyW SetupDiCreateInterfaceDeviceRegKey; 1765 alias SetupDiCreateDeviceInterfaceW SetupDiCreateDeviceInterface; 1766 deprecated alias SetupDiCreateDeviceInterfaceW SetupDiCreateInterfaceDevice; 1767 alias SetupDiCreateDevRegKeyW SetupDiCreateDevRegKey; 1768 alias SetupDiEnumDriverInfoW SetupDiEnumDriverInfo; 1769 alias SetupDiGetActualSectionToInstallW SetupDiGetActualSectionToInstall; 1770 alias SetupDiGetClassDescriptionExW SetupDiGetClassDescriptionEx; 1771 alias SetupDiGetClassDescriptionW SetupDiGetClassDescription; 1772 alias SetupDiGetClassDevPropertySheetsW SetupDiGetClassDevPropertySheets; 1773 alias SetupDiGetClassDevsExW SetupDiGetClassDevsEx; 1774 alias SetupDiGetClassDevsW SetupDiGetClassDevs; 1775 alias SetupDiGetClassImageListExW SetupDiGetClassImageListEx; 1776 alias SetupDiGetClassInstallParamsW SetupDiGetClassInstallParams; 1777 alias SetupDiGetClassRegistryPropertyW SetupDiGetClassRegistryProperty; 1778 alias SetupDiGetDeviceInfoListDetailW SetupDiGetDeviceInfoListDetail; 1779 alias SetupDiGetDeviceInstallParamsW SetupDiGetDeviceInstallParams; 1780 alias SetupDiGetDeviceInstanceIdW SetupDiGetDeviceInstanceId; 1781 alias SetupDiGetDeviceInterfaceDetailW SetupDiGetDeviceInterfaceDetail; 1782 deprecated alias SetupDiGetDeviceInterfaceDetailW SetupDiGetInterfaceDeviceDetail; 1783 alias SetupDiGetDeviceRegistryPropertyW SetupDiGetDeviceRegistryProperty; 1784 alias SetupDiGetDriverInfoDetailW SetupDiGetDriverInfoDetail; 1785 alias SetupDiGetDriverInstallParamsW SetupDiGetDriverInstallParams; 1786 alias SetupDiGetHwProfileFriendlyNameExW SetupDiGetHwProfileFriendlyNameEx; 1787 alias SetupDiGetHwProfileFriendlyNameW SetupDiGetHwProfileFriendlyName; 1788 alias SetupDiGetHwProfileListExW SetupDiGetHwProfileListEx; 1789 alias SetupDiGetINFClassW SetupDiGetINFClass; 1790 alias SetupDiGetSelectedDriverW SetupDiGetSelectedDriver; 1791 alias SetupDiInstallClassExW SetupDiInstallClassEx; 1792 alias SetupDiInstallClassW SetupDiInstallClass; 1793 alias SetupDiOpenClassRegKeyExW SetupDiOpenClassRegKeyEx; 1794 alias SetupDiOpenDeviceInfoW SetupDiOpenDeviceInfo; 1795 alias SetupDiOpenDeviceInterfaceW SetupDiOpenDeviceInterface; 1796 deprecated alias SetupDiOpenDeviceInterfaceW SetupDiOpenInterfaceDevice; 1797 alias SetupDiSetClassInstallParamsW SetupDiSetClassInstallParams; 1798 alias SetupDiSetClassRegistryPropertyW SetupDiSetClassRegistryProperty; 1799 alias SetupDiSetDeviceInstallParamsW SetupDiSetDeviceInstallParams; 1800 alias SetupDiSetDeviceRegistryPropertyW SetupDiSetDeviceRegistryProperty; 1801 alias SetupDiSetDriverInstallParamsW SetupDiSetDriverInstallParams; 1802 alias SetupDiSetSelectedDriverW SetupDiSetSelectedDriver; 1803 alias SetupDuplicateDiskSpaceListW SetupDuplicateDiskSpaceList; 1804 alias SetupFindFirstLineW SetupFindFirstLine; 1805 alias SetupFindNextMatchLineW SetupFindNextMatchLine; 1806 alias SetupFreeSourceListW SetupFreeSourceList; 1807 alias SetupGetBackupInformationW SetupGetBackupInformation; 1808 alias SetupGetFileCompressionInfoW SetupGetFileCompressionInfo; 1809 alias SetupGetInfFileListW SetupGetInfFileList; 1810 alias SetupGetInfInformationW SetupGetInfInformation; 1811 alias SetupGetLineByIndexW SetupGetLineByIndex; 1812 alias SetupGetLineCountW SetupGetLineCount; 1813 alias SetupGetLineTextW SetupGetLineText; 1814 alias SetupGetMultiSzFieldW SetupGetMultiSzField; 1815 alias SetupGetSourceFileLocationW SetupGetSourceFileLocation; 1816 alias SetupGetSourceFileSizeW SetupGetSourceFileSize; 1817 alias SetupGetSourceInfoW SetupGetSourceInfo; 1818 alias SetupGetStringFieldW SetupGetStringField; 1819 alias SetupGetTargetPathW SetupGetTargetPath; 1820 alias SetupInitializeFileLogW SetupInitializeFileLog; 1821 alias SetupInstallFileExW SetupInstallFileEx; 1822 alias SetupInstallFilesFromInfSectionW SetupInstallFilesFromInfSection; 1823 alias SetupInstallFileW SetupInstallFile; 1824 alias SetupInstallFromInfSectionW SetupInstallFromInfSection; 1825 alias SetupInstallServicesFromInfSectionExW SetupInstallServicesFromInfSectionEx; 1826 alias SetupInstallServicesFromInfSectionW SetupInstallServicesFromInfSection; 1827 alias SetupIterateCabinetW SetupIterateCabinet; 1828 alias SetupLogErrorW SetupLogError; 1829 alias SetupLogFileW SetupLogFile; 1830 alias SetupOpenAppendInfFileW SetupOpenAppendInfFile; 1831 alias SetupOpenInfFileW SetupOpenInfFile; 1832 alias SetupPromptForDiskW SetupPromptForDisk; 1833 alias SetupQueryDrivesInDiskSpaceListW SetupQueryDrivesInDiskSpaceList; 1834 alias SetupQueryFileLogW SetupQueryFileLog; 1835 alias SetupQueryInfFileInformationW SetupQueryInfFileInformation; 1836 alias SetupQueryInfOriginalFileInformationW SetupQueryInfOriginalFileInformation; 1837 alias SetupQueryInfVersionInformationW SetupQueryInfVersionInformation; 1838 alias SetupQuerySourceListW SetupQuerySourceList; 1839 alias SetupQuerySpaceRequiredOnDriveW SetupQuerySpaceRequiredOnDrive; 1840 alias SetupQueueCopyIndirectW SetupQueueCopyIndirect; 1841 alias SetupQueueCopySectionW SetupQueueCopySection; 1842 alias SetupQueueCopyW SetupQueueCopy; 1843 alias SetupQueueDefaultCopyW SetupQueueDefaultCopy; 1844 alias SetupQueueDeleteSectionW SetupQueueDeleteSection; 1845 alias SetupQueueDeleteW SetupQueueDelete; 1846 alias SetupQueueRenameSectionW SetupQueueRenameSection; 1847 alias SetupQueueRenameW SetupQueueRename; 1848 alias SetupRemoveFileLogEntryW SetupRemoveFileLogEntry; 1849 alias SetupRemoveFromDiskSpaceListW SetupRemoveFromDiskSpaceList; 1850 alias SetupRemoveFromSourceListW SetupRemoveFromSourceList; 1851 alias SetupRemoveInstallSectionFromDiskSpaceListW SetupRemoveInstallSectionFromDiskSpaceList; 1852 alias SetupRemoveSectionFromDiskSpaceListW SetupRemoveSectionFromDiskSpaceList; 1853 alias SetupRenameErrorW SetupRenameError; 1854 alias SetupScanFileQueueW SetupScanFileQueue; 1855 alias SetupSetDirectoryIdExW SetupSetDirectoryIdEx; 1856 alias SetupSetDirectoryIdW SetupSetDirectoryId; 1857 alias SetupSetFileQueueAlternatePlatformW SetupSetFileQueueAlternatePlatform; 1858 alias SetupSetPlatformPathOverrideW SetupSetPlatformPathOverride; 1859 alias SetupSetSourceListW SetupSetSourceList; 1860 } else { 1861 alias PSP_FILE_CALLBACK_A PSP_FILE_CALLBACK; 1862 alias SetupAddInstallSectionToDiskSpaceListA SetupAddInstallSectionToDiskSpaceList; 1863 alias SetupAddSectionToDiskSpaceListA SetupAddSectionToDiskSpaceList; 1864 alias SetupAddToDiskSpaceListA SetupAddToDiskSpaceList; 1865 alias SetupAddToSourceListA SetupAddToSourceList; 1866 alias SetupAdjustDiskSpaceListA SetupAdjustDiskSpaceList; 1867 alias SetupBackupErrorA SetupBackupError; 1868 alias SetupCommitFileQueueA SetupCommitFileQueue; 1869 alias SetupCopyErrorA SetupCopyError; 1870 alias SetupCopyOEMInfA SetupCopyOEMInf; 1871 alias SetupCreateDiskSpaceListA SetupCreateDiskSpaceList; 1872 alias SetupDecompressOrCopyFileA SetupDecompressOrCopyFile; 1873 alias SetupDefaultQueueCallbackA SetupDefaultQueueCallback; 1874 alias SetupDeleteErrorA SetupDeleteError; 1875 alias SetupDiBuildClassInfoListExA SetupDiBuildClassInfoListEx; 1876 alias SetupDiClassGuidsFromNameA SetupDiClassGuidsFromName; 1877 alias SetupDiClassGuidsFromNameExA SetupDiClassGuidsFromNameEx; 1878 alias SetupDiClassNameFromGuidA SetupDiClassNameFromGuid; 1879 alias SetupDiClassNameFromGuidExA SetupDiClassNameFromGuidEx; 1880 alias SetupDiCreateDeviceInfoA SetupDiCreateDeviceInfo; 1881 alias SetupDiCreateDeviceInfoListExA SetupDiCreateDeviceInfoListEx; 1882 alias SetupDiCreateDeviceInterfaceA SetupDiCreateDeviceInterface; 1883 deprecated alias SetupDiCreateDeviceInterfaceA SetupDiCreateInterfaceDevice; 1884 alias SetupDiCreateDeviceInterfaceRegKeyA SetupDiCreateDeviceInterfaceRegKey; 1885 deprecated alias SetupDiCreateDeviceInterfaceRegKeyA SetupDiCreateInterfaceDeviceRegKey; 1886 alias SetupDiCreateDevRegKeyA SetupDiCreateDevRegKey; 1887 alias SetupDiDeleteDeviceInterfaceData SetupDiDeleteInterfaceDeviceData; 1888 alias SetupDiEnumDriverInfoA SetupDiEnumDriverInfo; 1889 alias SetupDiGetActualSectionToInstallA SetupDiGetActualSectionToInstall; 1890 alias SetupDiGetClassDescriptionA SetupDiGetClassDescription; 1891 alias SetupDiGetClassDescriptionExA SetupDiGetClassDescriptionEx; 1892 alias SetupDiGetClassDevPropertySheetsA SetupDiGetClassDevPropertySheets; 1893 alias SetupDiGetClassDevsA SetupDiGetClassDevs; 1894 alias SetupDiGetClassDevsExA SetupDiGetClassDevsEx; 1895 alias SetupDiGetClassImageListExA SetupDiGetClassImageListEx; 1896 alias SetupDiGetClassInstallParamsA SetupDiGetClassInstallParams; 1897 alias SetupDiGetClassRegistryPropertyA SetupDiGetClassRegistryProperty; 1898 alias SetupDiGetDeviceInfoListDetailA SetupDiGetDeviceInfoListDetail; 1899 alias SetupDiGetDeviceInstallParamsA SetupDiGetDeviceInstallParams; 1900 alias SetupDiGetDeviceInstanceIdA SetupDiGetDeviceInstanceId; 1901 alias SetupDiGetDeviceInterfaceDetailA SetupDiGetDeviceInterfaceDetail; 1902 deprecated alias SetupDiGetDeviceInterfaceDetailA SetupDiGetInterfaceDeviceDetail; 1903 alias SetupDiGetDeviceRegistryPropertyA SetupDiGetDeviceRegistryProperty; 1904 alias SetupDiGetDriverInfoDetailA SetupDiGetDriverInfoDetail; 1905 alias SetupDiGetDriverInstallParamsA SetupDiGetDriverInstallParams; 1906 alias SetupDiGetHwProfileFriendlyNameA SetupDiGetHwProfileFriendlyName; 1907 alias SetupDiGetHwProfileFriendlyNameExA SetupDiGetHwProfileFriendlyNameEx; 1908 alias SetupDiGetHwProfileListExA SetupDiGetHwProfileListEx; 1909 alias SetupDiGetINFClassA SetupDiGetINFClass; 1910 alias SetupDiGetSelectedDriverA SetupDiGetSelectedDriver; 1911 alias SetupDiInstallClassA SetupDiInstallClass; 1912 alias SetupDiInstallClassExA SetupDiInstallClassEx; 1913 alias SetupDiOpenClassRegKeyExA SetupDiOpenClassRegKeyEx; 1914 alias SetupDiOpenDeviceInfoA SetupDiOpenDeviceInfo; 1915 alias SetupDiOpenDeviceInterfaceA SetupDiOpenDeviceInterface; 1916 deprecated alias SetupDiOpenDeviceInterfaceA SetupDiOpenInterfaceDevice; 1917 alias SetupDiSetClassInstallParamsA SetupDiSetClassInstallParams; 1918 alias SetupDiSetClassRegistryPropertyA SetupDiSetClassRegistryProperty; 1919 alias SetupDiSetDeviceInstallParamsA SetupDiSetDeviceInstallParams; 1920 alias SetupDiSetDeviceRegistryPropertyA SetupDiSetDeviceRegistryProperty; 1921 alias SetupDiSetDriverInstallParamsA SetupDiSetDriverInstallParams; 1922 alias SetupDiSetSelectedDriverA SetupDiSetSelectedDriver; 1923 alias SetupDuplicateDiskSpaceListA SetupDuplicateDiskSpaceList; 1924 alias SetupFindFirstLineA SetupFindFirstLine; 1925 alias SetupFindNextMatchLineA SetupFindNextMatchLine; 1926 alias SetupFreeSourceListA SetupFreeSourceList; 1927 alias SetupGetBackupInformationA SetupGetBackupInformation; 1928 alias SetupGetFileCompressionInfoA SetupGetFileCompressionInfo; 1929 alias SetupGetInfFileListA SetupGetInfFileList; 1930 alias SetupGetInfInformationA SetupGetInfInformation; 1931 alias SetupGetLineByIndexA SetupGetLineByIndex; 1932 alias SetupGetLineCountA SetupGetLineCount; 1933 alias SetupGetLineTextA SetupGetLineText; 1934 alias SetupGetMultiSzFieldA SetupGetMultiSzField; 1935 alias SetupGetSourceFileLocationA SetupGetSourceFileLocation; 1936 alias SetupGetSourceFileSizeA SetupGetSourceFileSize; 1937 alias SetupGetSourceInfoA SetupGetSourceInfo; 1938 alias SetupGetStringFieldA SetupGetStringField; 1939 alias SetupGetTargetPathA SetupGetTargetPath; 1940 alias SetupInitializeFileLogA SetupInitializeFileLog; 1941 alias SetupInstallFileA SetupInstallFile; 1942 alias SetupInstallFileExA SetupInstallFileEx; 1943 alias SetupInstallFilesFromInfSectionA SetupInstallFilesFromInfSection; 1944 alias SetupInstallFromInfSectionA SetupInstallFromInfSection; 1945 alias SetupInstallServicesFromInfSectionA SetupInstallServicesFromInfSection; 1946 alias SetupInstallServicesFromInfSectionExA SetupInstallServicesFromInfSectionEx; 1947 alias SetupIterateCabinetA SetupIterateCabinet; 1948 alias SetupLogErrorA SetupLogError; 1949 alias SetupLogFileA SetupLogFile; 1950 alias SetupOpenAppendInfFileA SetupOpenAppendInfFile; 1951 alias SetupOpenInfFileA SetupOpenInfFile; 1952 alias SetupPromptForDiskA SetupPromptForDisk; 1953 alias SetupQueryDrivesInDiskSpaceListA SetupQueryDrivesInDiskSpaceList; 1954 alias SetupQueryFileLogA SetupQueryFileLog; 1955 alias SetupQueryInfFileInformationA SetupQueryInfFileInformation; 1956 alias SetupQueryInfOriginalFileInformationA SetupQueryInfOriginalFileInformation; 1957 alias SetupQueryInfVersionInformationA SetupQueryInfVersionInformation; 1958 alias SetupQuerySourceListA SetupQuerySourceList; 1959 alias SetupQuerySpaceRequiredOnDriveA SetupQuerySpaceRequiredOnDrive; 1960 alias SetupQueueCopyA SetupQueueCopy; 1961 alias SetupQueueCopyIndirectA SetupQueueCopyIndirect; 1962 alias SetupQueueCopySectionA SetupQueueCopySection; 1963 alias SetupQueueDefaultCopyA SetupQueueDefaultCopy; 1964 alias SetupQueueDeleteA SetupQueueDelete; 1965 alias SetupQueueDeleteSectionA SetupQueueDeleteSection; 1966 alias SetupQueueRenameA SetupQueueRename; 1967 alias SetupQueueRenameSectionA SetupQueueRenameSection; 1968 alias SetupRemoveFileLogEntryA SetupRemoveFileLogEntry; 1969 alias SetupRemoveFromDiskSpaceListA SetupRemoveFromDiskSpaceList; 1970 alias SetupRemoveFromSourceListA SetupRemoveFromSourceList; 1971 alias SetupRemoveInstallSectionFromDiskSpaceListA SetupRemoveInstallSectionFromDiskSpaceList; 1972 alias SetupRemoveSectionFromDiskSpaceListA SetupRemoveSectionFromDiskSpaceList; 1973 alias SetupRenameErrorA SetupRenameError; 1974 alias SetupScanFileQueueA SetupScanFileQueue; 1975 alias SetupSetDirectoryIdA SetupSetDirectoryId; 1976 alias SetupSetDirectoryIdExA SetupSetDirectoryIdEx; 1977 alias SetupSetFileQueueAlternatePlatformA SetupSetFileQueueAlternatePlatform; 1978 alias SetupSetPlatformPathOverrideA SetupSetPlatformPathOverride; 1979 alias SetupSetSourceListA SetupSetSourceList; 1980 }