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