Artifact cd6d5cae7d4d0ede3ffd2e04529025090cb4df6f
- File
src/win32/setupapi.d
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
The problem was __gshared. Replacing it with TLS fixed the issue. Remaining problem is that "hack.d"'s CloseHandle hack is not working anymore.
(user: kinaba) [annotate]
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
/***********************************************************************\ * setupapi.d * * * * Windows API header module * * * * Translated from MinGW Windows headers * * by Vladimir Vlasov * * * * Placed into public domain * \***********************************************************************/ module win32.setupapi; pragma(lib, "setupapi"); private import win32.basetyps, win32.commctrl, win32.prsht, win32.w32api, win32.winreg, win32.windef; private import win32.winbase; // for SYSTEMTIME /*static if(_WIN32_WINNT < _WIN32_WINDOWS) { const UINT _SETUPAPI_VER = _WIN32_WINNT; // SetupAPI version follows Windows NT version } else static if(_WIN32_WINDOWS) { static if(_WIN32_WINDOWS >= 0x0490) { const UINT _SETUPAPI_VER = 0x0500; // WinME uses same version of SetupAPI as Win2k } else static if(_WIN32_WINDOWS >= 0x0410) { const UINT _SETUPAPI_VER = 0x0410; // Indicates version of SetupAPI shipped with Win98 } else { const UINT _SETUPAPI_VER = 0x0400; // Earliest SetupAPI version } } else { const UINT _SETUPAPI_VER = 0x0501; } version (WindowsNTonly) { static if (_WIN32_WINNT >= 0x500) { const UINT USE_SP_DRVINFO_DATA_V1 = 0; } else { const UINT USE_SP_DRVINFO_DATA_V1 = 1; } } else { const UINT USE_SP_DRVINFO_DATA_V1 = 1; }*/ /+ const UINT _SETUPAPI_VER = 0x0400; // Earliest SetupAPI version const UINT USE_SP_DRVINFO_DATA_V1 = 1; +/ const UINT _SETUPAPI_VER = _WIN32_WINNT; const bool USE_SP_DRVINFO_DATA_V1 = _WIN32_WINNT < 0x500; enum : uint { LINE_LEN = 256, MAX_INF_STRING_LENGTH = 4096, MAX_TITLE_LEN = 60, MAX_INSTRUCTION_LEN = 256, MAX_LABEL_LEN = 30, MAX_SERVICE_NAME_LEN = 256, MAX_SUBTITLE_LEN = 256, SP_MAX_MACHINENAME_LENGTH = MAX_PATH + 3 } enum : DWORD { COPYFLG_WARN_IF_SKIP = 0x00000001, COPYFLG_NOSKIP = 0x00000002, COPYFLG_NOVERSIONCHECK = 0x00000004, COPYFLG_FORCE_FILE_IN_USE = 0x00000008, COPYFLG_NO_OVERWRITE = 0x00000010, COPYFLG_NO_VERSION_DIALOG = 0x00000020, COPYFLG_OVERWRITE_OLDER_ONLY = 0x00000040, COPYFLG_REPLACEONLY = 0x00000400, COPYFLG_NODECOMP = 0x00000800, COPYFLG_REPLACE_BOOT_FILE = 0x00001000, COPYFLG_NOPRUNE = 0x00002000 } enum : DWORD { DELFLG_IN_USE = 0x00000001, DELFLG_IN_USE1 = 0x00010000 } enum : DWORD { DI_REMOVEDEVICE_GLOBAL = 0x00000001, DI_REMOVEDEVICE_CONFIGSPECIFIC = 0x00000002, DI_UNREMOVEDEVICE_CONFIGSPECIFIC = 0x00000002, DI_SHOWOEM = 0x00000001, DI_SHOWCOMPAT = 0x00000002, DI_SHOWCLASS = 0x00000004, DI_SHOWALL = 0x00000007, DI_NOVCP = 0x00000008, DI_DIDCOMPAT = 0x00000010, DI_DIDCLASS = 0x00000020, DI_AUTOASSIGNRES = 0x00000040, DI_NEEDRESTART = 0x00000080, DI_NEEDREBOOT = 0x00000100, DI_NOBROWSE = 0x00000200, DI_MULTMFGS = 0x00000400, DI_DISABLED = 0x00000800, DI_GENERALPAGE_ADDED = 0x00001000, DI_RESOURCEPAGE_ADDED = 0x00002000, DI_PROPERTIES_CHANGE = 0x00004000, DI_INF_IS_SORTED = 0x00008000, DI_ENUMSINGLEINF = 0x00010000, DI_DONOTCALLCONFIGMG = 0x00020000, DI_INSTALLDISABLED = 0x00040000, DI_COMPAT_FROM_CLASS = 0x00080000, DI_CLASSINSTALLPARAMS = 0x00100000, DI_NODI_DEFAULTACTION = 0x00200000, DI_QUIETINSTALL = 0x00800000, DI_NOFILECOPY = 0x01000000, DI_FORCECOPY = 0x02000000, DI_DRIVERPAGE_ADDED = 0x04000000, DI_USECI_SELECTSTRINGS = 0x08000000, DI_OVERRIDE_INFFLAGS = 0x10000000, DI_PROPS_NOCHANGEUSAGE = 0x20000000, DI_NOSELECTICONS = 0x40000000, DI_NOWRITE_IDS = 0x80000000, DI_FLAGSEX_USEOLDINFSEARCH = 0x00000001, DI_FLAGSEX_AUTOSELECTRANK0 = 0x00000002, DI_FLAGSEX_CI_FAILED = 0x00000004, DI_FLAGSEX_DIDINFOLIST = 0x00000010, DI_FLAGSEX_DIDCOMPATINFO = 0x00000020, DI_FLAGSEX_FILTERCLASSES = 0x00000040, DI_FLAGSEX_SETFAILEDINSTALL = 0x00000080, DI_FLAGSEX_DEVICECHANGE = 0x00000100, DI_FLAGSEX_ALWAYSWRITEIDS = 0x00000200, DI_FLAGSEX_PROPCHANGE_PENDING = 0x00000400, DI_FLAGSEX_ALLOWEXCLUDEDDRVS = 0x00000800, DI_FLAGSEX_NOUIONQUERYREMOVE = 0x00001000, DI_FLAGSEX_USECLASSFORCOMPAT = 0x00002000, DI_FLAGSEX_OLDINF_IN_CLASSLIST = 0x00004000, DI_FLAGSEX_NO_DRVREG_MODIFY = 0x00008000, DI_FLAGSEX_IN_SYSTEM_SETUP = 0x00010000, DI_FLAGSEX_INET_DRIVER = 0x00020000, DI_FLAGSEX_APPENDDRIVERLIST = 0x00040000, DI_FLAGSEX_PREINSTALLBACKUP = 0x00080000, DI_FLAGSEX_BACKUPONREPLACE = 0x00100000, DI_FLAGSEX_DRIVERLIST_FROM_URL = 0x00200000, DI_FLAGSEX_RESERVED1 = 0x00400000, DI_FLAGSEX_EXCLUDE_OLD_INET_DRIVERS = 0x00800000, DI_FLAGSEX_POWERPAGE_ADDED = 0x01000000 } enum : DWORD { DIBCI_NOINSTALLCLASS = 0x00000001, DIBCI_NODISPLAYCLASS = 0x00000002 } enum : DWORD { DICD_GENERATE_ID = 0x00000001, DICD_INHERIT_CLASSDRVS = 0x00000002 } enum : DWORD { DICS_ENABLE = 1, DICS_DISABLE, DICS_PROPCHANGE, DICS_START, DICS_STOP // = 5 } enum : DWORD { DICS_FLAG_GLOBAL = 1, DICS_FLAG_CONFIGSPECIFIC = 2, DICS_FLAG_CONFIGGENERAL = 4 } alias UINT DI_FUNCTION; enum : DI_FUNCTION { DIF_SELECTDEVICE = 1, DIF_INSTALLDEVICE, DIF_ASSIGNRESOURCES, DIF_PROPERTIES, DIF_REMOVE, DIF_FIRSTTIMESETUP, DIF_FOUNDDEVICE, DIF_SELECTCLASSDRIVERS, DIF_VALIDATECLASSDRIVERS, DIF_INSTALLCLASSDRIVERS, DIF_CALCDISKSPACE, DIF_DESTROYPRIVATEDATA, DIF_VALIDATEDRIVER, DIF_MOVEDEVICE, DIF_DETECT, DIF_INSTALLWIZARD, DIF_DESTROYWIZARDDATA, DIF_PROPERTYCHANGE, DIF_ENABLECLASS, DIF_DETECTVERIFY, DIF_INSTALLDEVICEFILES, DIF_UNREMOVE, DIF_SELECTBESTCOMPATDRV, DIF_ALLOW_INSTALL, DIF_REGISTERDEVICE, DIF_NEWDEVICEWIZARD_PRESELECT, DIF_NEWDEVICEWIZARD_SELECT, DIF_NEWDEVICEWIZARD_PREANALYZE, DIF_NEWDEVICEWIZARD_POSTANALYZE, DIF_NEWDEVICEWIZARD_FINISHINSTALL, DIF_UNUSED1, DIF_INSTALLINTERFACES, DIF_DETECTCANCEL, DIF_REGISTER_COINSTALLERS, DIF_ADDPROPERTYPAGE_ADVANCED, DIF_ADDPROPERTYPAGE_BASIC, DIF_RESERVED1, DIF_TROUBLESHOOTER, DIF_POWERMESSAGEWAKE // = 39 } enum : DWORD { DIGCF_DEFAULT = 0x00000001, DIGCF_PRESENT = 0x00000002, DIGCF_ALLCLASSES = 0x00000004, DIGCF_PROFILE = 0x00000008, DIGCF_DEVICEINTERFACE = 0x00000010 } deprecated enum : DWORD { DIGCF_INTERFACEDEVICE = DIGCF_DEVICEINTERFACE } enum : DWORD { DIGCDP_FLAG_BASIC = 0x00000001, DIGCDP_FLAG_ADVANCED = 0x00000002 } enum : DWORD { DIOCR_INSTALLER = 0x00000001, DIOCR_INTERFACE = 0x00000002 } enum : DWORD { DIODI_NO_ADD = 0x00000001 } enum : DWORD { DIOD_INHERIT_CLASSDRVS = 0x00000002, DIOD_CANCEL_REMOVE = 0x00000004 } enum : DWORD { DIREG_DEV = 0x00000001, DIREG_DRV = 0x00000002, DIREG_BOTH = 0x00000004 } enum : int { DIRID_ABSOLUTE = -1, DIRID_NULL = 0, DIRID_SRCPATH = 1, DIRID_WINDOWS = 10, DIRID_SYSTEM = 11, DIRID_DRIVERS = 12, DIRID_IOSUBSYS = DIRID_DRIVERS, DIRID_INF = 17, DIRID_HELP = 18, DIRID_FONTS = 20, DIRID_VIEWERS = 21, DIRID_COLOR = 23, DIRID_APPS = 24, DIRID_SHARED = 25, DIRID_BOOT = 30, DIRID_SYSTEM16 = 50, DIRID_SPOOL = 51, DIRID_SPOOLDRIVERS = 52, DIRID_USERPROFILE = 53, DIRID_LOADER = 54, DIRID_PRINTPROCESSOR = 55, DIRID_DEFAULT = DIRID_SYSTEM } enum : int { DIRID_COMMON_STARTMENU = 16406, DIRID_COMMON_PROGRAMS = 16407, DIRID_COMMON_STARTUP = 16408, DIRID_COMMON_DESKTOPDIRECTORY = 16409, DIRID_COMMON_FAVORITES = 16415, DIRID_COMMON_APPDATA = 16419, DIRID_PROGRAM_FILES = 16422, DIRID_SYSTEM_X86 = 16425, DIRID_PROGRAM_FILES_X86 = 16426, DIRID_PROGRAM_FILES_COMMON = 16427, DIRID_PROGRAM_FILES_COMMONX86 = 16428, DIRID_COMMON_TEMPLATES = 16429, DIRID_COMMON_DOCUMENTS = 16430, DIRID_USER = 0x8000, DIRID_ABSOLUTE_16BIT = 0xffff } enum : DWORD { DMI_MASK = 0x00000001, DMI_BKCOLOR = 0x00000002, DMI_USERECT = 0x00000004 } enum : DWORD { DNF_DUPDESC = 0x00000001, DNF_OLDDRIVER = 0x00000002, DNF_EXCLUDEFROMLIST = 0x00000004, DNF_NODRIVER = 0x00000008, DNF_LEGACYINF = 0x00000010, DNF_CLASS_DRIVER = 0x00000020, DNF_COMPATIBLE_DRIVER = 0x00000040, DNF_INET_DRIVER = 0x00000080, DNF_UNUSED1 = 0x00000100, DNF_INDEXED_DRIVER = 0x00000200, DNF_OLD_INET_DRIVER = 0x00000400, DNF_BAD_DRIVER = 0x00000800, DNF_DUPPROVIDER = 0x00001000 } enum : UINT { DPROMPT_SUCCESS, DPROMPT_CANCEL, DPROMPT_SKIPFILE, DPROMPT_BUFFERTOOSMALL, DPROMPT_OUTOFMEMORY // = 4 } enum : DWORD { DRIVER_HARDWAREID_RANK = 0x00000FFF, DRIVER_COMPATID_RANK = 0x00003FFF, DRIVER_UNTRUSTED_RANK = 0x00008000, DRIVER_UNTRUSTED_HARDWAREID_RANK = 0x00008FFF, DRIVER_UNTRUSTED_COMPATID_RANK = 0x0000BFFF, DRIVER_W9X_SUSPECT_RANK = 0x0000C000, DRIVER_W9X_SUSPECT_HARDWAREID_RANK = 0x0000CFFF, DRIVER_W9X_SUSPECT_COMPATID_RANK = 0x0000FFFF } enum : DWORD { DYNAWIZ_FLAG_PAGESADDED = 0x00000001, DYNAWIZ_FLAG_INSTALLDET_NEXT = 0x00000002, DYNAWIZ_FLAG_INSTALLDET_PREV = 0x00000004, DYNAWIZ_FLAG_ANALYZE_HANDLECONFLICT = 0x00000008 } enum : WORD { ENABLECLASS_QUERY, ENABLECLASS_SUCCESS, ENABLECLASS_FAILURE // = 2 } enum : DWORD { ERROR_EXPECTED_SECTION_NAME = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0, ERROR_BAD_SECTION_NAME_LINE = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 1, ERROR_SECTION_NAME_TOO_LONG = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 2, ERROR_GENERAL_SYNTAX = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 3, ERROR_WRONG_INF_STYLE = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x100, ERROR_NOT_INSTALLED = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x1000, ERROR_SECTION_NOT_FOUND = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x101, ERROR_LINE_NOT_FOUND = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x102, ERROR_NO_BACKUP = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x103, ERROR_NO_ASSOCIATED_CLASS = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x200, ERROR_CLASS_MISMATCH = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x201, ERROR_DUPLICATE_FOUND = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x202, ERROR_NO_DRIVER_SELECTED = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x203, ERROR_KEY_DOES_NOT_EXIST = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x204, ERROR_INVALID_DEVINST_NAME = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x205, ERROR_INVALID_CLASS = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x206, ERROR_DEVINST_ALREADY_EXISTS = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x207, ERROR_DEVINFO_NOT_REGISTERED = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x208, ERROR_INVALID_REG_PROPERTY = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x209, ERROR_NO_INF = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x20A, ERROR_NO_SUCH_DEVINST = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x20B, ERROR_CANT_LOAD_CLASS_ICON = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x20C, ERROR_INVALID_CLASS_INSTALLER = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x20D, ERROR_DI_DO_DEFAULT = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x20E, ERROR_DI_NOFILECOPY = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x20F, ERROR_INVALID_HWPROFILE = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x210, ERROR_NO_DEVICE_SELECTED = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x211, ERROR_DEVINFO_LIST_LOCKED = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x212, ERROR_DEVINFO_DATA_LOCKED = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x213, ERROR_DI_BAD_PATH = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x214, ERROR_NO_CLASSINSTALL_PARAMS = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x215, ERROR_FILEQUEUE_LOCKED = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x216, ERROR_BAD_SERVICE_INSTALLSECT = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x217, ERROR_NO_CLASS_DRIVER_LIST = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x218, ERROR_NO_ASSOCIATED_SERVICE = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x219, ERROR_NO_DEFAULT_DEVICE_INTERFACE = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x21A, ERROR_DEVICE_INTERFACE_ACTIVE = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x21B, ERROR_DEVICE_INTERFACE_REMOVED = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x21C, ERROR_BAD_INTERFACE_INSTALLSECT = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x21D, ERROR_NO_SUCH_INTERFACE_CLASS = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x21E, ERROR_INVALID_REFERENCE_STRING = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x21F, ERROR_INVALID_MACHINENAME = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x220, ERROR_REMOTE_COMM_FAILURE = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x221, ERROR_MACHINE_UNAVAILABLE = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x222, ERROR_NO_CONFIGMGR_SERVICES = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x223, ERROR_INVALID_PROPPAGE_PROVIDER = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x224, ERROR_NO_SUCH_DEVICE_INTERFACE = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x225, ERROR_DI_POSTPROCESSING_REQUIRED = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x226, ERROR_INVALID_COINSTALLER = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x227, ERROR_NO_COMPAT_DRIVERS = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x228, ERROR_NO_DEVICE_ICON = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x229, ERROR_INVALID_INF_LOGCONFIG = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x22A, ERROR_DI_DONT_INSTALL = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x22B, ERROR_INVALID_FILTER_DRIVER = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x22C, ERROR_NON_WINDOWS_NT_DRIVER = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x22D, ERROR_NON_WINDOWS_DRIVER = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x22E, ERROR_NO_CATALOG_FOR_OEM_INF = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x22F, ERROR_DEVINSTALL_QUEUE_NONNATIVE = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x230, ERROR_NOT_DISABLEABLE = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x231, ERROR_CANT_REMOVE_DEVINST = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x232 } deprecated enum : DWORD { ERROR_NO_DEFAULT_INTERFACE_DEVICE = ERROR_NO_DEFAULT_DEVICE_INTERFACE, ERROR_INTERFACE_DEVICE_ACTIVE = ERROR_DEVICE_INTERFACE_ACTIVE, ERROR_INTERFACE_DEVICE_REMOVED = ERROR_DEVICE_INTERFACE_REMOVED, ERROR_NO_SUCH_INTERFACE_DEVICE = ERROR_NO_SUCH_DEVICE_INTERFACE, } enum : UINT { FILEOP_COPY, FILEOP_RENAME, FILEOP_DELETE, FILEOP_BACKUP, FILEOP_NEWPATH, // = 4 FILEOP_ABORT = 0, FILEOP_DOIT, FILEOP_SKIP, // = 2 FILEOP_RETRY = FILEOP_DOIT } enum : UINT { FILE_COMPRESSION_NONE, FILE_COMPRESSION_WINLZA, FILE_COMPRESSION_MSZIP, FILE_COMPRESSION_NTCAB // = 3 } enum : DWORD { FLG_ADDREG_TYPE_SZ = 0x00000000, FLG_ADDREG_BINVALUETYPE = 0x00000001, FLG_ADDREG_NOCLOBBER = 0x00000002, FLG_ADDREG_DELVAL = 0x00000004, FLG_ADDREG_APPEND = 0x00000008, FLG_ADDREG_KEYONLY = 0x00000010, FLG_ADDREG_OVERWRITEONLY = 0x00000020, FLG_ADDREG_TYPE_MULTI_SZ = 0x00010000, FLG_ADDREG_TYPE_EXPAND_SZ = 0x00020000, FLG_ADDREG_TYPE_BINARY = 0x00000000 | FLG_ADDREG_BINVALUETYPE, FLG_ADDREG_TYPE_DWORD = 0x00010000 | FLG_ADDREG_BINVALUETYPE, FLG_ADDREG_TYPE_NONE = 0x00020000 | FLG_ADDREG_BINVALUETYPE, FLG_ADDREG_TYPE_MASK = 0xFFFF0000 | FLG_ADDREG_BINVALUETYPE } static if(_SETUPAPI_VER >= 0x0501) { enum : DWORD { FLG_ADDREG_64BITKEY = 0x00001000, FLG_ADDREG_KEYONLY_COMMON = 0x00002000, FLG_ADDREG_32BITKEY = 0x00004000, FLG_ADDREG_DELREG_BIT = 0x00008000 } } enum : DWORD { FLG_DELREG_VALUE = 0x00000000 } static if(_SETUPAPI_VER >= 0x0501) { enum : DWORD { FLG_DELREG_TYPE_MASK = FLG_ADDREG_TYPE_MASK, FLG_DELREG_TYPE_SZ = FLG_ADDREG_TYPE_SZ, FLG_DELREG_TYPE_MULTI_SZ = FLG_ADDREG_TYPE_MULTI_SZ, FLG_DELREG_TYPE_EXPAND_SZ = FLG_ADDREG_TYPE_EXPAND_SZ, FLG_DELREG_TYPE_BINARY = FLG_ADDREG_TYPE_BINARY, FLG_DELREG_TYPE_DWORD = FLG_ADDREG_TYPE_DWORD, FLG_DELREG_TYPE_NONE = FLG_ADDREG_TYPE_NONE, FLG_DELREG_64BITKEY = FLG_ADDREG_64BITKEY, FLG_DELREG_KEYONLY_COMMON = FLG_ADDREG_KEYONLY_COMMON, FLG_DELREG_32BITKEY = FLG_ADDREG_32BITKEY, FLG_DELREG_OPERATION_MASK = 0x000000FE, FLG_DELREG_MULTI_SZ_DELSTRING = 0x00000002 | FLG_DELREG_TYPE_MULTI_SZ | FLG_ADDREG_DELREG_BIT } } enum : DWORD { FLG_BITREG_CLEARBITS = 0x00000000, FLG_BITREG_SETBITS = 0x00000001 } static if(_SETUPAPI_VER >= 0x0501) { enum : DWORD { FLG_BITREG_64BITKEY = 0x00001000, FLG_BITREG_32BITKEY = 0x00004000 } } enum : DWORD { FLG_PROFITEM_CURRENTUSER = 0x00000001, FLG_PROFITEM_DELETE = 0x00000002, FLG_PROFITEM_GROUP = 0x00000004, FLG_PROFITEM_CSIDL = 0x00000008 } enum : DWORD { FLG_REGSVR_DLLREGISTER = 0x00000001, FLG_REGSVR_DLLINSTALL = 0x00000002 } enum { IDD_DYNAWIZ_FIRSTPAGE = 10000, IDD_DYNAWIZ_SELECT_PREVPAGE, IDD_DYNAWIZ_SELECT_NEXTPAGE, IDD_DYNAWIZ_ANALYZE_PREVPAGE, IDD_DYNAWIZ_ANALYZE_NEXTPAGE, // = 1004 IDD_DYNAWIZ_INSTALLDETECTED_PREVPAGE = 10006, IDD_DYNAWIZ_INSTALLDETECTED_NEXTPAGE, IDD_DYNAWIZ_INSTALLDETECTED_NODEVS, IDD_DYNAWIZ_SELECTDEV_PAGE, IDD_DYNAWIZ_ANALYZEDEV_PAGE, IDD_DYNAWIZ_INSTALLDETECTEDDEVS_PAGE, IDD_DYNAWIZ_SELECTCLASS_PAGE, // = 10012 MIN_IDD_DYNAWIZ_RESOURCE_ID = 10000, MAX_IDD_DYNAWIZ_RESOURCE_ID = 11000 } enum : DWORD { IDF_NOBROWSE = 0x00000001, IDF_NOSKIP = 0x00000002, IDF_NODETAILS = 0x00000004, IDF_NOCOMPRESSED = 0x00000008, IDF_CHECKFIRST = 0x00000100, IDF_NOBEEP = 0x00000200, IDF_NOFOREGROUND = 0x00000400, IDF_WARNIFSKIP = 0x00000800 } static if(_SETUPAPI_VER >= 0x0501) { enum : DWORD { IDF_NOREMOVABLEMEDIAPROMPT = 0x00001000, IDF_USEDISKNAMEASPROMPT = 0x00002000, IDF_OEMDISK = 0x80000000 } } enum { IDI_RESOURCEFIRST = 159, IDI_RESOURCE = 159, IDI_RESOURCELAST = 161, IDI_RESOURCEOVERLAYFIRST = 161, IDI_RESOURCEOVERLAYLAST = 161, IDI_CONFLICT = 161, IDI_PROBLEM_OVL = 500, IDI_DISABLED_OVL = 501, IDI_FORCED_OVL = 502, IDI_CLASSICON_OVERLAYFIRST = 500, IDI_CLASSICON_OVERLAYLAST = 502 } enum : DWORD { INF_STYLE_NONE = 0x00000000, INF_STYLE_OLDNT = 0x00000001, INF_STYLE_WIN4 = 0x00000002, INF_STYLE_CACHE_ENABLE = 0x00000010, INF_STYLE_CACHE_DISABLE = 0x00000020 } enum : DWORD { INFINFO_INF_SPEC_IS_HINF = 1, INFINFO_INF_NAME_IS_ABSOLUTE, INFINFO_DEFAULT_SEARCH, INFINFO_REVERSE_DEFAULT_SEARCH, INFINFO_INF_PATH_LIST_SEARCH // = 5 } alias DWORD LogSeverity; enum : LogSeverity { LogSevInformation, LogSevWarning, LogSevError, LogSevFatalError, LogSevMaximum // = 4 } const MAX_INSTALLWIZARD_DYNAPAGES = 20; enum : DWORD { NDW_INSTALLFLAG_DIDFACTDEFS = 0x00000001, NDW_INSTALLFLAG_HARDWAREALLREADYIN = 0x00000002, NDW_INSTALLFLAG_NEEDSHUTDOWN = 0x00000200, NDW_INSTALLFLAG_EXPRESSINTRO = 0x00000400, NDW_INSTALLFLAG_SKIPISDEVINSTALLED = 0x00000800, NDW_INSTALLFLAG_NODETECTEDDEVS = 0x00001000, NDW_INSTALLFLAG_INSTALLSPECIFIC = 0x00002000, NDW_INSTALLFLAG_SKIPCLASSLIST = 0x00004000, NDW_INSTALLFLAG_CI_PICKED_OEM = 0x00008000, NDW_INSTALLFLAG_PCMCIAMODE = 0x00010000, NDW_INSTALLFLAG_PCMCIADEVICE = 0x00020000, NDW_INSTALLFLAG_USERCANCEL = 0x00040000, NDW_INSTALLFLAG_KNOWNCLASS = 0x00080000, NDW_INSTALLFLAG_NEEDRESTART = 0x00000080, NDW_INSTALLFLAG_NEEDREBOOT = 0x00000100 } enum : DWORD { SETDIRID_NOT_FULL_PATH = 0x00000001 } enum : DWORD { SP_COPY_DELETESOURCE = 0x0000001, SP_COPY_REPLACEONLY = 0x0000002, SP_COPY_NEWER = 0x0000004, SP_COPY_NEWER_OR_SAME = 0x0000004, SP_COPY_NOOVERWRITE = 0x0000008, SP_COPY_NODECOMP = 0x0000010, SP_COPY_LANGUAGEAWARE = 0x0000020, SP_COPY_SOURCE_ABSOLUTE = 0x0000040, SP_COPY_SOURCEPATH_ABSOLUTE = 0x0000080, SP_COPY_IN_USE_NEEDS_REBOOT = 0x0000100, SP_COPY_FORCE_IN_USE = 0x0000200, SP_COPY_NOSKIP = 0x0000400, SP_FLAG_CABINETCONTINUATION = 0x0000800, SP_COPY_FORCE_NOOVERWRITE = 0x0001000, SP_COPY_FORCE_NEWER = 0x0002000, SP_COPY_WARNIFSKIP = 0x0004000, SP_COPY_NOBROWSE = 0x0008000, SP_COPY_NEWER_ONLY = 0x0010000, SP_COPY_SOURCE_SIS_MASTER = 0x0020000, SP_COPY_OEMINF_CATALOG_ONLY = 0x0040000, SP_COPY_REPLACE_BOOT_FILE = 0x0080000, SP_COPY_NOPRUNE = 0x0100000 } static if(_SETUPAPI_VER >= 0x0501) { enum : DWORD { SP_COPY_OEM_F6_INF = 0x0200000 } } enum : DWORD { SPCRP_SECURITY = 23, SPCRP_SECURITY_SDS, SPCRP_DEVTYPE, SPCRP_EXCLUSIVE, SPCRP_CHARACTERISTICS, SPCRP_MAXIMUM_PROPERTY // = 28 } enum : DWORD { SPDIT_NODRIVER, SPDIT_CLASSDRIVER, SPDIT_COMPATDRIVER // = 2 } enum : DWORD { SPDRP_DEVICEDESC, SPDRP_HARDWAREID, SPDRP_COMPATIBLEIDS, SPDRP_UNUSED0, SPDRP_SERVICE, SPDRP_UNUSED1, SPDRP_UNUSED2, SPDRP_CLASS, SPDRP_CLASSGUID, SPDRP_DRIVER, SPDRP_CONFIGFLAGS, SPDRP_MFG, SPDRP_FRIENDLYNAME, SPDRP_LOCATION_INFORMATION, SPDRP_PHYSICAL_DEVICE_OBJECT_NAME, SPDRP_CAPABILITIES, SPDRP_UI_NUMBER, SPDRP_UPPERFILTERS, SPDRP_LOWERFILTERS, SPDRP_BUSTYPEGUID, SPDRP_LEGACYBUSTYPE, SPDRP_BUSNUMBER, SPDRP_ENUMERATOR_NAME, SPDRP_SECURITY, SPDRP_SECURITY_SDS, SPDRP_DEVTYPE, SPDRP_EXCLUSIVE, SPDRP_CHARACTERISTICS, SPDRP_ADDRESS, // = 28 SPDRP_UI_NUMBER_DESC_FORMAT = 30, SPDRP_MAXIMUM_PROPERTY = 31 } enum : UINT { SPDSL_IGNORE_DISK = 1, SPDSL_DISALLOW_NEGATIVE_ADJUST } enum : UINT { SPFILENOTIFY_STARTQUEUE = 1, SPFILENOTIFY_ENDQUEUE, SPFILENOTIFY_STARTSUBQUEUE, SPFILENOTIFY_ENDSUBQUEUE, SPFILENOTIFY_STARTDELETE, SPFILENOTIFY_ENDDELETE, SPFILENOTIFY_DELETEERROR, SPFILENOTIFY_STARTRENAME, SPFILENOTIFY_ENDRENAME, SPFILENOTIFY_RENAMEERROR, SPFILENOTIFY_STARTCOPY, SPFILENOTIFY_ENDCOPY, SPFILENOTIFY_COPYERROR, SPFILENOTIFY_NEEDMEDIA, SPFILENOTIFY_QUEUESCAN, SPFILENOTIFY_CABINETINFO, SPFILENOTIFY_FILEINCABINET, SPFILENOTIFY_NEEDNEWCABINET, SPFILENOTIFY_FILEEXTRACTED, SPFILENOTIFY_FILEOPDELAYED, SPFILENOTIFY_STARTBACKUP, SPFILENOTIFY_BACKUPERROR, SPFILENOTIFY_ENDBACKUP, SPFILENOTIFY_QUEUESCAN_EX, SPFILENOTIFY_STARTREGISTRATION, // = 25 SPFILENOTIFY_ENDREGISTRATION = 32, SPFILENOTIFY_LANGMISMATCH = 0x00010000, SPFILENOTIFY_TARGETEXISTS = 0x00020000, SPFILENOTIFY_TARGETNEWER = 0x00040000 } static if(_SETUPAPI_VER >= 0x0501) { enum : UINT { SPFILENOTIFY_QUEUESCAN_SIGNERINFO = 0x00000040 } } enum : DWORD { SPFILELOG_SYSTEMLOG = 0x00000001, SPFILELOG_OEMFILE = 0x00000001, SPFILELOG_FORCENEW = 0x00000002, SPFILELOG_QUERYONLY = 0x00000004 } enum : INT { SPFILEQ_FILE_IN_USE = 0x00000001, SPFILEQ_REBOOT_RECOMMENDED = 0x00000002, SPFILEQ_REBOOT_IN_PROGRESS = 0x00000004 } enum : DWORD { SPINT_ACTIVE = 0x00000001, SPINT_DEFAULT = 0x00000002, SPINT_REMOVED = 0x00000004 } deprecated enum : DWORD { SPID_ACTIVE = SPINT_ACTIVE, SPID_DEFAULT = SPINT_DEFAULT, SPID_REMOVED = SPINT_REMOVED } enum : UINT { SPINST_LOGCONFIG = 0x00000001, SPINST_INIFILES = 0x00000002, SPINST_REGISTRY = 0x00000004, SPINST_INI2REG = 0x00000008, SPINST_FILES = 0x00000010, SPINST_BITREG = 0x00000020, SPINST_REGSVR = 0x00000040, SPINST_UNREGSVR = 0x00000080, SPINST_PROFILEITEMS = 0x00000100, SPINST_SINGLESECTION = 0x00010000, SPINST_LOGCONFIG_IS_FORCED = 0x00020000, SPINST_LOGCONFIGS_ARE_OVERRIDES = 0x00040000 } static if(_SETUPAPI_VER >= 0x0501) { enum : UINT { SPINST_COPYINF = 0x00000200, SPINST_ALL = 0x000003ff, SPINST_REGISTERCALLBACKAWARE = 0x00080000 } } else { enum : UINT { SPINST_ALL = 0x000001ff } } enum : DWORD { SPOST_NONE, SPOST_PATH, SPOST_URL, SPOST_MAX // = 3 } enum : DWORD { SPPSR_SELECT_DEVICE_RESOURCES = 1, SPPSR_ENUM_BASIC_DEVICE_PROPERTIES, SPPSR_ENUM_ADV_DEVICE_PROPERTIES } enum : DWORD { SPQ_SCAN_FILE_PRESENCE = 0x00000001, SPQ_SCAN_FILE_VALIDITY = 0x00000002, SPQ_SCAN_USE_CALLBACK = 0x00000004, SPQ_SCAN_USE_CALLBACKEX = 0x00000008, SPQ_SCAN_INFORM_USER = 0x00000010, SPQ_SCAN_PRUNE_COPY_QUEUE = 0x00000020 } static if(_SETUPAPI_VER >= 0x0501) { enum : DWORD { SPQ_SCAN_USE_CALLBACK_SIGNERINFO = 0x00000040, SPQ_SCAN_PRUNE_DELREN = 0x00000080 } } enum : UINT_PTR { SPQ_DELAYED_COPY = 0x00000001 } enum : DWORD { SPRDI_FIND_DUPS = 0x00000001, } enum : DWORD { SPSVCINST_TAGTOFRONT = 0x00000001, SPSVCINST_ASSOCSERVICE = 0x00000002, SPSVCINST_DELETEEVENTLOGENTRY = 0x00000004, SPSVCINST_NOCLOBBER_DISPLAYNAME = 0x00000008, SPSVCINST_NOCLOBBER_STARTTYPE = 0x00000010, SPSVCINST_NOCLOBBER_ERRORCONTROL = 0x00000020, SPSVCINST_NOCLOBBER_LOADORDERGROUP = 0x00000040, SPSVCINST_NOCLOBBER_DEPENDENCIES = 0x00000080, SPSVCINST_NOCLOBBER_DESCRIPTION = 0x00000100, SPSVCINST_STOPSERVICE = 0x00000200 } static if(_SETUPAPI_VER >= 0x0501) { enum : DWORD { SPSVCINST_CLOBBER_SECURITY = 0x00000400 } } enum : DWORD { SPWPT_SELECTDEVICE = 0x00000001 } enum : DWORD { SPWP_USE_DEVINFO_DATA = 0x00000001 } enum : UINT { SRCINFO_PATH = 1, SRCINFO_TAGFILE, SRCINFO_DESCRIPTION, SRCINFO_FLAGS // = 4 } enum : DWORD { SRCLIST_TEMPORARY = 0x00000001, SRCLIST_NOBROWSE = 0x00000002, SRCLIST_SYSTEM = 0x00000010, SRCLIST_USER = 0x00000020, SRCLIST_SYSIFADMIN = 0x00000040, SRCLIST_SUBDIRS = 0x00000100, SRCLIST_APPEND = 0x00000200, SRCLIST_NOSTRIPPLATFORM = 0x00000400 } alias PVOID HINF; alias PVOID HDSKSPC; mixin DECLARE_HANDLE!("HDEVINFO"); alias PVOID HSPFILEQ; alias PVOID HSPFILELOG; enum SetupFileLogInfo { SetupFileLogSourceFilename, SetupFileLogChecksum, SetupFileLogDiskTagfile, SetupFileLogDiskDescription, SetupFileLogOtherInfo, SetupFileLogMax } align(1): struct INFCONTEXT { PVOID Inf; PVOID CurrentInf; UINT Section; UINT Line; } alias INFCONTEXT* PINFCONTEXT; struct SP_INF_INFORMATION { DWORD InfStyle; DWORD InfCount; BYTE[1] _VersionData; BYTE* VersionData() { return _VersionData.ptr; } } alias SP_INF_INFORMATION* PSP_INF_INFORMATION; struct SP_ALTPLATFORM_INFO { DWORD cbSize = SP_ALTPLATFORM_INFO.sizeof; DWORD Platform; DWORD MajorVersion; DWORD MinorVersion; WORD ProcessorArchitecture; WORD Reserved; } alias SP_ALTPLATFORM_INFO* PSP_ALTPLATFORM_INFO; struct SP_ORIGINAL_FILE_INFO_A { DWORD cbSize = SP_ORIGINAL_FILE_INFO_A.sizeof; CHAR[MAX_PATH] OriginalInfName; CHAR[MAX_PATH] OriginalCatalogName; } alias SP_ORIGINAL_FILE_INFO_A* PSP_ORIGINAL_FILE_INFO_A; struct SP_ORIGINAL_FILE_INFO_W { DWORD cbSize = SP_ORIGINAL_FILE_INFO_W.sizeof; WCHAR[MAX_PATH] OriginalInfName; WCHAR[MAX_PATH] OriginalCatalogName; } alias SP_ORIGINAL_FILE_INFO_W* PSP_ORIGINAL_FILE_INFO_W; struct FILEPATHS_A { PCSTR Target; PCSTR Source; UINT Win32Error; DWORD Flags; } alias FILEPATHS_A* PFILEPATHS_A; struct FILEPATHS_W { PCWSTR Target; PCWSTR Source; UINT Win32Error; DWORD Flags; } alias FILEPATHS_W* PFILEPATHS_W; struct SOURCE_MEDIA_A { PCSTR Reserved; PCSTR Tagfile; PCSTR Description; PCSTR SourcePath; PCSTR SourceFile; DWORD Flags; } alias SOURCE_MEDIA_A* PSOURCE_MEDIA_A; struct SOURCE_MEDIA_W { PCWSTR Reserved; PCWSTR Tagfile; PCWSTR Description; PCWSTR SourcePath; PCWSTR SourceFile; DWORD Flags; } alias SOURCE_MEDIA_W* PSOURCE_MEDIA_W; struct CABINET_INFO_A { PCSTR CabinetPath; PCSTR CabinetFile; PCSTR DiskName; USHORT SetId; USHORT CabinetNumber; } alias CABINET_INFO_A* PCABINET_INFO_A; struct CABINET_INFO_W { PCWSTR CabinetPath; PCWSTR CabinetFile; PCWSTR DiskName; USHORT SetId; USHORT CabinetNumber; } alias CABINET_INFO_W* PCABINET_INFO_W; struct FILE_IN_CABINET_INFO_A { PCSTR NameInCabinet; DWORD FileSize; DWORD Win32Error; WORD DosDate; WORD DosTime; WORD DosAttribs; CHAR[MAX_PATH] FullTargetName; } alias FILE_IN_CABINET_INFO_A* PFILE_IN_CABINET_INFO_A; struct FILE_IN_CABINET_INFO_W { PCWSTR NameInCabinet; DWORD FileSize; DWORD Win32Error; WORD DosDate; WORD DosTime; WORD DosAttribs; WCHAR[MAX_PATH] FullTargetName; } alias FILE_IN_CABINET_INFO_W* PFILE_IN_CABINET_INFO_W; struct SP_FILE_COPY_PARAMS_A { DWORD cbSize = SP_FILE_COPY_PARAMS_A.sizeof; HSPFILEQ QueueHandle; PCSTR SourceRootPath; PCSTR SourcePath; PCSTR SourceFilename; PCSTR SourceDescription; PCSTR SourceTagfile; PCSTR TargetDirectory; PCSTR TargetFilename; DWORD CopyStyle; HINF LayoutInf; PCSTR SecurityDescriptor; } alias SP_FILE_COPY_PARAMS_A* PSP_FILE_COPY_PARAMS_A; struct SP_FILE_COPY_PARAMS_W { DWORD cbSize = SP_FILE_COPY_PARAMS_W.sizeof; HSPFILEQ QueueHandle; PCWSTR SourceRootPath; PCWSTR SourcePath; PCWSTR SourceFilename; PCWSTR SourceDescription; PCWSTR SourceTagfile; PCWSTR TargetDirectory; PCWSTR TargetFilename; DWORD CopyStyle; HINF LayoutInf; PCWSTR SecurityDescriptor; } alias SP_FILE_COPY_PARAMS_W* PSP_FILE_COPY_PARAMS_W; struct SP_DEVINFO_DATA { DWORD cbSize = SP_DEVINFO_DATA.sizeof; GUID ClassGuid; DWORD DevInst; ULONG_PTR Reserved; } alias SP_DEVINFO_DATA* PSP_DEVINFO_DATA; struct SP_DEVICE_INTERFACE_DATA { DWORD cbSize = SP_DEVICE_INTERFACE_DATA.sizeof; GUID InterfaceClassGuid; DWORD Flags; ULONG_PTR Reserved; } alias SP_DEVICE_INTERFACE_DATA* PSP_DEVICE_INTERFACE_DATA; deprecated alias SP_DEVICE_INTERFACE_DATA SP_INTERFACE_DEVICE_DATA; deprecated alias SP_DEVICE_INTERFACE_DATA* PSP_INTERFACE_DEVICE_DATA; struct SP_DEVICE_INTERFACE_DETAIL_DATA_A { DWORD cbSize = SP_DEVICE_INTERFACE_DETAIL_DATA_A.sizeof; CHAR[1] _DevicePath; CHAR* DevicePath() { return _DevicePath.ptr; } } alias SP_DEVICE_INTERFACE_DETAIL_DATA_A* PSP_DEVICE_INTERFACE_DETAIL_DATA_A; struct SP_DEVICE_INTERFACE_DETAIL_DATA_W { DWORD cbSize = SP_DEVICE_INTERFACE_DETAIL_DATA_W.sizeof; WCHAR[1] _DevicePath; WCHAR* DevicePath() { return _DevicePath.ptr; } } alias SP_DEVICE_INTERFACE_DETAIL_DATA_W* PSP_DEVICE_INTERFACE_DETAIL_DATA_W; deprecated alias SP_DEVICE_INTERFACE_DETAIL_DATA_A SP_INTERFACE_DEVICE_DETAIL_DATA_A; deprecated alias SP_DEVICE_INTERFACE_DETAIL_DATA_A* PSP_INTERFACE_DEVICE_DETAIL_DATA_A; deprecated alias SP_DEVICE_INTERFACE_DETAIL_DATA_W SP_INTERFACE_DEVICE_DETAIL_DATA_W; deprecated alias SP_DEVICE_INTERFACE_DETAIL_DATA_W* PSP_INTERFACE_DEVICE_DETAIL_DATA_W; struct SP_DEVINFO_LIST_DETAIL_DATA_A { DWORD cbSize = SP_DEVINFO_LIST_DETAIL_DATA_A.sizeof; GUID ClassGuid; HANDLE RemoteMachineHandle; CHAR[SP_MAX_MACHINENAME_LENGTH] RemoteMachineName; } alias SP_DEVINFO_LIST_DETAIL_DATA_A* PSP_DEVINFO_LIST_DETAIL_DATA_A; struct SP_DEVINFO_LIST_DETAIL_DATA_W { DWORD cbSize = SP_DEVINFO_LIST_DETAIL_DATA_W.sizeof; GUID ClassGuid; HANDLE RemoteMachineHandle; WCHAR[SP_MAX_MACHINENAME_LENGTH] RemoteMachineName; } alias SP_DEVINFO_LIST_DETAIL_DATA_W* PSP_DEVINFO_LIST_DETAIL_DATA_W; extern(Windows) alias UINT function(PVOID, UINT, UINT_PTR, UINT_PTR) PSP_FILE_CALLBACK_A; extern(Windows) alias UINT function(PVOID, UINT, UINT_PTR, UINT_PTR) PSP_FILE_CALLBACK_W; struct SP_DEVINSTALL_PARAMS_A { DWORD cbSize = SP_DEVINSTALL_PARAMS_A.sizeof; DWORD Flags; DWORD FlagsEx; HWND hwndParent; PSP_FILE_CALLBACK_A InstallMsgHandler; PVOID InstallMsgHandlerContext; HSPFILEQ FileQueue; ULONG_PTR ClassInstallReserved; DWORD Reserved; CHAR[MAX_PATH] DriverPath; } alias SP_DEVINSTALL_PARAMS_A* PSP_DEVINSTALL_PARAMS_A; struct SP_DEVINSTALL_PARAMS_W { DWORD cbSize = SP_DEVINSTALL_PARAMS_W.sizeof; DWORD Flags; DWORD FlagsEx; HWND hwndParent; PSP_FILE_CALLBACK_W InstallMsgHandler; PVOID InstallMsgHandlerContext; HSPFILEQ FileQueue; ULONG_PTR ClassInstallReserved; DWORD Reserved; WCHAR[MAX_PATH] DriverPath; } alias SP_DEVINSTALL_PARAMS_W* PSP_DEVINSTALL_PARAMS_W; struct SP_CLASSINSTALL_HEADER { DWORD cbSize = SP_CLASSINSTALL_HEADER.sizeof; DI_FUNCTION InstallFunction; } alias SP_CLASSINSTALL_HEADER* PSP_CLASSINSTALL_HEADER; struct SP_ENABLECLASS_PARAMS { SP_CLASSINSTALL_HEADER ClassInstallHeader; GUID ClassGuid; DWORD EnableMessage; } alias SP_ENABLECLASS_PARAMS* PSP_ENABLECLASS_PARAMS; struct SP_MOVEDEV_PARAMS { SP_CLASSINSTALL_HEADER ClassInstallHeader; SP_DEVINFO_DATA SourceDeviceInfoData; } alias SP_MOVEDEV_PARAMS* PSP_MOVEDEV_PARAMS; struct SP_PROPCHANGE_PARAMS { SP_CLASSINSTALL_HEADER ClassInstallHeader; DWORD StateChange; DWORD Scope; DWORD HwProfile; } alias SP_PROPCHANGE_PARAMS* PSP_PROPCHANGE_PARAMS; struct SP_REMOVEDEVICE_PARAMS { SP_CLASSINSTALL_HEADER ClassInstallHeader; DWORD Scope; DWORD HwProfile; } alias SP_REMOVEDEVICE_PARAMS* PSP_REMOVEDEVICE_PARAMS; struct SP_UNREMOVEDEVICE_PARAMS { SP_CLASSINSTALL_HEADER ClassInstallHeader; DWORD Scope; DWORD HwProfile; } alias SP_UNREMOVEDEVICE_PARAMS* PSP_UNREMOVEDEVICE_PARAMS; struct SP_SELECTDEVICE_PARAMS_A { SP_CLASSINSTALL_HEADER ClassInstallHeader; CHAR[MAX_TITLE_LEN] Title; CHAR[MAX_INSTRUCTION_LEN] Instructions; CHAR[MAX_LABEL_LEN] ListLabel; CHAR[MAX_SUBTITLE_LEN] SubTitle; BYTE[2] Reserved; } alias SP_SELECTDEVICE_PARAMS_A* PSP_SELECTDEVICE_PARAMS_A; struct SP_SELECTDEVICE_PARAMS_W { SP_CLASSINSTALL_HEADER ClassInstallHeader; WCHAR[MAX_TITLE_LEN] Title; WCHAR[MAX_INSTRUCTION_LEN] Instructions; WCHAR[MAX_LABEL_LEN] ListLabel; WCHAR[MAX_SUBTITLE_LEN] SubTitle; } alias SP_SELECTDEVICE_PARAMS_W* PSP_SELECTDEVICE_PARAMS_W; extern(Windows) alias BOOL function(PVOID, DWORD) PDETECT_PROGRESS_NOTIFY; struct SP_DETECTDEVICE_PARAMS { SP_CLASSINSTALL_HEADER ClassInstallHeader; PDETECT_PROGRESS_NOTIFY DetectProgressNotify; PVOID ProgressNotifyParam; } alias SP_DETECTDEVICE_PARAMS* PSP_DETECTDEVICE_PARAMS; struct SP_INSTALLWIZARD_DATA { SP_CLASSINSTALL_HEADER ClassInstallHeader; DWORD Flags; HPROPSHEETPAGE[MAX_INSTALLWIZARD_DYNAPAGES] DynamicPages; DWORD NumDynamicPages; DWORD DynamicPageFlags; DWORD PrivateFlags; LPARAM PrivateData; HWND hwndWizardDlg; } alias SP_INSTALLWIZARD_DATA* PSP_INSTALLWIZARD_DATA; struct SP_NEWDEVICEWIZARD_DATA { SP_CLASSINSTALL_HEADER ClassInstallHeader; DWORD Flags; HPROPSHEETPAGE[MAX_INSTALLWIZARD_DYNAPAGES] DynamicPages; DWORD NumDynamicPages; HWND hwndWizardDlg; } alias SP_NEWDEVICEWIZARD_DATA* PSP_NEWDEVICEWIZARD_DATA; alias SP_NEWDEVICEWIZARD_DATA SP_ADDPROPERTYPAGE_DATA; alias SP_NEWDEVICEWIZARD_DATA* PSP_ADDPROPERTYPAGE_DATA; struct SP_TROUBLESHOOTER_PARAMS_A { SP_CLASSINSTALL_HEADER ClassInstallHeader; CHAR[MAX_PATH] ChmFile; CHAR[MAX_PATH] HtmlTroubleShooter; } alias SP_TROUBLESHOOTER_PARAMS_A* PSP_TROUBLESHOOTER_PARAMS_A; struct SP_TROUBLESHOOTER_PARAMS_W { SP_CLASSINSTALL_HEADER ClassInstallHeader; WCHAR[MAX_PATH] ChmFile; WCHAR[MAX_PATH] HtmlTroubleShooter; } alias SP_TROUBLESHOOTER_PARAMS_W* PSP_TROUBLESHOOTER_PARAMS_W; struct SP_POWERMESSAGEWAKE_PARAMS_A { SP_CLASSINSTALL_HEADER ClassInstallHeader; CHAR[LINE_LEN*2] PowerMessageWake; } alias SP_POWERMESSAGEWAKE_PARAMS_A* PSP_POWERMESSAGEWAKE_PARAMS_A; struct SP_POWERMESSAGEWAKE_PARAMS_W { SP_CLASSINSTALL_HEADER ClassInstallHeader; WCHAR[LINE_LEN*2] PowerMessageWake; } alias SP_POWERMESSAGEWAKE_PARAMS_W* PSP_POWERMESSAGEWAKE_PARAMS_W; struct SP_DRVINFO_DATA_V2_A { DWORD cbSize = SP_DRVINFO_DATA_V2_A.sizeof; DWORD DriverType; ULONG_PTR Reserved; CHAR[LINE_LEN] Description; CHAR[LINE_LEN] MfgName; CHAR[LINE_LEN] ProviderName; FILETIME DriverDate; DWORDLONG DriverVersion; } alias SP_DRVINFO_DATA_V2_A* PSP_DRVINFO_DATA_V2_A; struct SP_DRVINFO_DATA_V2_W { DWORD cbSize = SP_DRVINFO_DATA_V2_A.sizeof; DWORD DriverType; ULONG_PTR Reserved; WCHAR[LINE_LEN] Description; WCHAR[LINE_LEN] MfgName; WCHAR[LINE_LEN] ProviderName; FILETIME DriverDate; DWORDLONG DriverVersion; } alias SP_DRVINFO_DATA_V2_W* PSP_DRVINFO_DATA_V2_W; struct SP_DRVINFO_DATA_V1_A { DWORD cbSize = SP_DRVINFO_DATA_V1_A.sizeof; DWORD DriverType; ULONG_PTR Reserved; CHAR[LINE_LEN] Description; CHAR[LINE_LEN] MfgName; CHAR[LINE_LEN] ProviderName; } alias SP_DRVINFO_DATA_V1_A* PSP_DRVINFO_DATA_V1_A; struct SP_DRVINFO_DATA_V1_W { DWORD cbSize = SP_DRVINFO_DATA_V1_W.sizeof; DWORD DriverType; ULONG_PTR Reserved; WCHAR[LINE_LEN] Description; WCHAR[LINE_LEN] MfgName; WCHAR[LINE_LEN] ProviderName; } alias SP_DRVINFO_DATA_V1_W* PSP_DRVINFO_DATA_V1_W; version (Unicode) { alias SP_DRVINFO_DATA_V1_W SP_DRVINFO_DATA_V1; alias SP_DRVINFO_DATA_V2_W SP_DRVINFO_DATA_V2; } else { alias SP_DRVINFO_DATA_V1_A SP_DRVINFO_DATA_V1; alias SP_DRVINFO_DATA_V2_A SP_DRVINFO_DATA_V2; } alias SP_DRVINFO_DATA_V1* PSP_DRVINFO_DATA_V1; alias SP_DRVINFO_DATA_V2* PSP_DRVINFO_DATA_V2; static if(USE_SP_DRVINFO_DATA_V1) { alias SP_DRVINFO_DATA_V1_A SP_DRVINFO_DATA_A; alias SP_DRVINFO_DATA_V1_A* PSP_DRVINFO_DATA_A; alias SP_DRVINFO_DATA_V1_W SP_DRVINFO_DATA_W; alias SP_DRVINFO_DATA_V1_W* PSP_DRVINFO_DATA_W; alias SP_DRVINFO_DATA_V1 SP_DRVINFO_DATA; alias SP_DRVINFO_DATA_V1* PSP_DRVINFO_DATA; } else { alias SP_DRVINFO_DATA_V2_A SP_DRVINFO_DATA_A; alias SP_DRVINFO_DATA_V2_A* PSP_DRVINFO_DATA_A; alias SP_DRVINFO_DATA_V2_W SP_DRVINFO_DATA_W; alias SP_DRVINFO_DATA_V2_W* PSP_DRVINFO_DATA_W; alias SP_DRVINFO_DATA_V2 SP_DRVINFO_DATA; alias SP_DRVINFO_DATA_V2* PSP_DRVINFO_DATA; } extern(Windows) alias DWORD function(HDEVINFO, PSP_DEVINFO_DATA, PSP_DEVINFO_DATA, PVOID) PSP_DETSIG_CMPPROC; struct SP_DRVINFO_DETAIL_DATA_A { DWORD cbSize = SP_DRVINFO_DETAIL_DATA_A.sizeof; FILETIME InfDate; DWORD CompatIDsOffset; DWORD CompatIDsLength; ULONG_PTR Reserved; CHAR[LINE_LEN] SectionName; CHAR[MAX_PATH] InfFileName; CHAR[LINE_LEN] DrvDescription; CHAR[1] _HardwareID; CHAR* HardwareID() { return _HardwareID.ptr; } } alias SP_DRVINFO_DETAIL_DATA_A* PSP_DRVINFO_DETAIL_DATA_A; struct SP_DRVINFO_DETAIL_DATA_W { DWORD cbSize = SP_DRVINFO_DETAIL_DATA_W.sizeof; FILETIME InfDate; DWORD CompatIDsOffset; DWORD CompatIDsLength; ULONG_PTR Reserved; WCHAR[LINE_LEN] SectionName; WCHAR[MAX_PATH] InfFileName; WCHAR[LINE_LEN] DrvDescription; WCHAR[1] _HardwareID; WCHAR* HardwareID() { return _HardwareID.ptr; } } alias SP_DRVINFO_DETAIL_DATA_W* PSP_DRVINFO_DETAIL_DATA_W; struct SP_DRVINSTALL_PARAMS { DWORD cbSize = SP_DRVINSTALL_PARAMS.sizeof; DWORD Rank; DWORD Flags; DWORD_PTR PrivateData; DWORD Reserved; } alias SP_DRVINSTALL_PARAMS* PSP_DRVINSTALL_PARAMS; struct COINSTALLER_CONTEXT_DATA { BOOL PostProcessing; DWORD InstallResult; PVOID PrivateData; } alias COINSTALLER_CONTEXT_DATA* PCOINSTALLER_CONTEXT_DATA; struct SP_CLASSIMAGELIST_DATA { DWORD cbSize = SP_CLASSIMAGELIST_DATA.sizeof; HIMAGELIST ImageList; ULONG_PTR Reserved; } alias SP_CLASSIMAGELIST_DATA* PSP_CLASSIMAGELIST_DATA; struct SP_PROPSHEETPAGE_REQUEST { DWORD cbSize = SP_PROPSHEETPAGE_REQUEST.sizeof; DWORD PageRequested; HDEVINFO DeviceInfoSet; PSP_DEVINFO_DATA DeviceInfoData; } alias SP_PROPSHEETPAGE_REQUEST* PSP_PROPSHEETPAGE_REQUEST; struct SP_BACKUP_QUEUE_PARAMS_A { DWORD cbSize = SP_BACKUP_QUEUE_PARAMS_A.sizeof; CHAR[MAX_PATH] FullInfPath; INT FilenameOffset; } alias SP_BACKUP_QUEUE_PARAMS_A* PSP_BACKUP_QUEUE_PARAMS_A; struct SP_BACKUP_QUEUE_PARAMS_W { DWORD cbSize = SP_BACKUP_QUEUE_PARAMS_W.sizeof; WCHAR[MAX_PATH] FullInfPath; INT FilenameOffset; } alias SP_BACKUP_QUEUE_PARAMS_W* PSP_BACKUP_QUEUE_PARAMS_W; version (Unicode) { alias SP_ORIGINAL_FILE_INFO_W SP_ORIGINAL_FILE_INFO; alias SP_ORIGINAL_FILE_INFO_W* PSP_ORIGINAL_FILE_INFO; alias FILEPATHS_W FILEPATHS; alias FILEPATHS_W* PFILEPATHS; alias SOURCE_MEDIA_W SOURCE_MEDIA; alias SOURCE_MEDIA_W* PSOURCE_MEDIA; alias CABINET_INFO_W CABINET_INFO; alias CABINET_INFO_W* PCABINET_INFO; alias FILE_IN_CABINET_INFO_W FILE_IN_CABINET_INFO; alias FILE_IN_CABINET_INFO_W* PFILE_IN_CABINET_INFO; alias SP_FILE_COPY_PARAMS_W SP_FILE_COPY_PARAMS; alias SP_FILE_COPY_PARAMS_W* PSP_FILE_COPY_PARAMS; alias SP_DEVICE_INTERFACE_DETAIL_DATA_W SP_DEVICE_INTERFACE_DETAIL_DATA; alias SP_DEVICE_INTERFACE_DETAIL_DATA_W* PSP_DEVICE_INTERFACE_DETAIL_DATA; deprecated { alias SP_DEVICE_INTERFACE_DETAIL_DATA_W SP_INTERFACE_DEVICE_DETAIL_DATA; alias SP_DEVICE_INTERFACE_DETAIL_DATA_W* PSP_INTERFACE_DEVICE_DETAIL_DATA; } alias SP_DEVINFO_LIST_DETAIL_DATA_W SP_DEVINFO_LIST_DETAIL_DATA; alias SP_DEVINFO_LIST_DETAIL_DATA_W *PSP_DEVINFO_LIST_DETAIL_DATA; alias SP_DEVINSTALL_PARAMS_W SP_DEVINSTALL_PARAMS; alias SP_DEVINSTALL_PARAMS_W* PSP_DEVINSTALL_PARAMS; alias SP_SELECTDEVICE_PARAMS_W SP_SELECTDEVICE_PARAMS; alias SP_SELECTDEVICE_PARAMS_W* PSP_SELECTDEVICE_PARAMS; alias SP_TROUBLESHOOTER_PARAMS_W SP_TROUBLESHOOTER_PARAMS; alias SP_TROUBLESHOOTER_PARAMS_W* PSP_TROUBLESHOOTER_PARAMS; alias SP_POWERMESSAGEWAKE_PARAMS_W SP_POWERMESSAGEWAKE_PARAMS; alias SP_POWERMESSAGEWAKE_PARAMS_W* PSP_POWERMESSAGEWAKE_PARAMS; alias SP_DRVINFO_DETAIL_DATA_W SP_DRVINFO_DETAIL_DATA; alias SP_DRVINFO_DETAIL_DATA_W* PSP_DRVINFO_DETAIL_DATA; alias SP_BACKUP_QUEUE_PARAMS_W SP_BACKUP_QUEUE_PARAMS; alias SP_BACKUP_QUEUE_PARAMS_W* PSP_BACKUP_QUEUE_PARAMS; } else { alias SP_ORIGINAL_FILE_INFO_A SP_ORIGINAL_FILE_INFO; alias SP_ORIGINAL_FILE_INFO_A* PSP_ORIGINAL_FILE_INFO; alias FILEPATHS_A FILEPATHS; alias FILEPATHS_A* PFILEPATHS; alias SOURCE_MEDIA_A SOURCE_MEDIA; alias SOURCE_MEDIA_A* PSOURCE_MEDIA; alias CABINET_INFO_A CABINET_INFO; alias CABINET_INFO_A* PCABINET_INFO; alias FILE_IN_CABINET_INFO_A FILE_IN_CABINET_INFO; alias FILE_IN_CABINET_INFO_A* PFILE_IN_CABINET_INFO; alias SP_FILE_COPY_PARAMS_A SP_FILE_COPY_PARAMS; alias SP_FILE_COPY_PARAMS_A* PSP_FILE_COPY_PARAMS; alias SP_DEVICE_INTERFACE_DETAIL_DATA_A SP_DEVICE_INTERFACE_DETAIL_DATA; alias SP_DEVICE_INTERFACE_DETAIL_DATA_A* PSP_DEVICE_INTERFACE_DETAIL_DATA; deprecated { alias SP_DEVICE_INTERFACE_DETAIL_DATA_A SP_INTERFACE_DEVICE_DETAIL_DATA; alias SP_DEVICE_INTERFACE_DETAIL_DATA_A* PSP_INTERFACE_DEVICE_DETAIL_DATA; } alias SP_DEVINFO_LIST_DETAIL_DATA_A SP_DEVINFO_LIST_DETAIL_DATA; alias SP_DEVINFO_LIST_DETAIL_DATA_A* PSP_DEVINFO_LIST_DETAIL_DATA; alias SP_DEVINSTALL_PARAMS_A SP_DEVINSTALL_PARAMS; alias SP_DEVINSTALL_PARAMS_A* PSP_DEVINSTALL_PARAMS; alias SP_SELECTDEVICE_PARAMS_A SP_SELECTDEVICE_PARAMS; alias SP_SELECTDEVICE_PARAMS_A* PSP_SELECTDEVICE_PARAMS; alias SP_TROUBLESHOOTER_PARAMS_A SP_TROUBLESHOOTER_PARAMS; alias SP_TROUBLESHOOTER_PARAMS_A* PSP_TROUBLESHOOTER_PARAMS; alias SP_POWERMESSAGEWAKE_PARAMS_A SP_POWERMESSAGEWAKE_PARAMS; alias SP_POWERMESSAGEWAKE_PARAMS_A* PSP_POWERMESSAGEWAKE_PARAMS; alias SP_DRVINFO_DETAIL_DATA_A SP_DRVINFO_DETAIL_DATA; alias SP_DRVINFO_DETAIL_DATA_A* PSP_DRVINFO_DETAIL_DATA; alias SP_BACKUP_QUEUE_PARAMS_A SP_BACKUP_QUEUE_PARAMS; alias SP_BACKUP_QUEUE_PARAMS_A* PSP_BACKUP_QUEUE_PARAMS; } extern (Windows) { BOOL SetupAddInstallSectionToDiskSpaceListA(HDSKSPC, HINF, HINF, PCSTR, PVOID, UINT); BOOL SetupAddInstallSectionToDiskSpaceListW(HDSKSPC, HINF, HINF, PCWSTR, PVOID, UINT); BOOL SetupAddSectionToDiskSpaceListA(HDSKSPC, HINF, HINF, PCSTR, UINT, PVOID, UINT); BOOL SetupAddSectionToDiskSpaceListW(HDSKSPC, HINF, HINF, PCWSTR, UINT, PVOID, UINT); BOOL SetupAddToDiskSpaceListA(HDSKSPC, PCSTR, LONGLONG, UINT, PVOID, UINT); BOOL SetupAddToDiskSpaceListW(HDSKSPC, PCWSTR, LONGLONG, UINT, PVOID, UINT); BOOL SetupAddToSourceListA(DWORD, PCSTR); BOOL SetupAddToSourceListW(DWORD, PCWSTR); BOOL SetupQuerySourceListA(DWORD, PCSTR**List, PUINT); BOOL SetupQuerySourceListW(DWORD, PCWSTR**List, PUINT); BOOL SetupFreeSourceListA(PCSTR**List, UINT); BOOL SetupFreeSourceListW(PCWSTR**List, UINT); BOOL SetupAdjustDiskSpaceListA(HDSKSPC, LPCSTR, LONGLONG, PVOID, UINT); BOOL SetupAdjustDiskSpaceListW(HDSKSPC, LPCWSTR, LONGLONG, PVOID, UINT); UINT SetupBackupErrorA(HWND, PCSTR, PCSTR, PCSTR, UINT, DWORD); UINT SetupBackupErrorW(HWND, PCWSTR, PCWSTR, PCWSTR, UINT, DWORD); BOOL SetupCancelTemporary(); BOOL SetupCloseFileQueue(HSPFILEQ); VOID SetupCloseInfFile(HINF); VOID SetupCloseLog(); BOOL SetupCommitFileQueueA(HWND, HSPFILEQ, PSP_FILE_CALLBACK_A, PVOID); BOOL SetupCommitFileQueueW(HWND, HSPFILEQ, PSP_FILE_CALLBACK_W, PVOID); UINT SetupCopyErrorA(HWND, PCSTR, PCSTR, PCSTR, PCSTR, PCSTR, UINT, DWORD, PSTR, DWORD, PDWORD); UINT SetupCopyErrorW(HWND, PCWSTR, PCWSTR, PCWSTR, PCWSTR, PCWSTR, UINT, DWORD, PWSTR, DWORD, PDWORD); BOOL SetupCopyOEMInfA(PCSTR, PCSTR, DWORD, DWORD, PSTR, DWORD, PDWORD, PSTR*); BOOL SetupCopyOEMInfW(PCWSTR, PCWSTR, DWORD, DWORD, PWSTR, DWORD, PDWORD, PWSTR*); HDSKSPC SetupCreateDiskSpaceListA(PVOID, DWORD, UINT); HDSKSPC SetupCreateDiskSpaceListW(PVOID, DWORD, UINT); DWORD SetupDecompressOrCopyFileA(PCSTR, PCSTR, PUINT); DWORD SetupDecompressOrCopyFileW(PCWSTR, PCWSTR, PUINT); UINT SetupDefaultQueueCallbackA(PVOID, UINT, UINT_PTR, UINT_PTR); UINT SetupDefaultQueueCallbackW(PVOID, UINT, UINT_PTR, UINT_PTR); UINT SetupDeleteErrorA(HWND, PCSTR, PCSTR, UINT, DWORD); UINT SetupDeleteErrorW(HWND, PCWSTR, PCWSTR, UINT, DWORD); BOOL SetupDestroyDiskSpaceList(HDSKSPC); BOOL SetupDiAskForOEMDisk(HDEVINFO, PSP_DEVINFO_DATA); BOOL SetupDiBuildClassInfoList(DWORD, LPGUID, DWORD, PDWORD); BOOL SetupDiBuildClassInfoListExA(DWORD, LPGUID, DWORD, PDWORD, PCSTR, PVOID); BOOL SetupDiBuildClassInfoListExW(DWORD, LPGUID, DWORD, PDWORD, PCWSTR, PVOID); BOOL SetupDiBuildDriverInfoList(HDEVINFO, PSP_DEVINFO_DATA, DWORD); BOOL SetupDiCallClassInstaller(DI_FUNCTION, HDEVINFO, PSP_DEVINFO_DATA); BOOL SetupDiCancelDriverInfoSearch(HDEVINFO); BOOL SetupDiChangeState(HDEVINFO, PSP_DEVINFO_DATA); BOOL SetupDiClassGuidsFromNameA(PCSTR, LPGUID, DWORD, PDWORD); BOOL SetupDiClassGuidsFromNameW(PCWSTR, LPGUID, DWORD, PDWORD); BOOL SetupDiClassGuidsFromNameExA(PCSTR, LPGUID, DWORD, PDWORD, PCSTR, PVOID); BOOL SetupDiClassGuidsFromNameExW(PCWSTR, LPGUID, DWORD, PDWORD, PCWSTR, PVOID); BOOL SetupDiClassNameFromGuidA(const(GUID)*, PSTR, DWORD, PDWORD); BOOL SetupDiClassNameFromGuidW(const(GUID)*, PWSTR, DWORD, PDWORD); BOOL SetupDiClassNameFromGuidExA(const(GUID)*, PSTR, DWORD, PDWORD, PCSTR, PVOID); BOOL SetupDiClassNameFromGuidExW(const(GUID)*, PWSTR, DWORD, PDWORD, PCWSTR, PVOID); BOOL SetupDiCreateDeviceInfoA(HDEVINFO, PCSTR, const(GUID)*, PCSTR, HWND, DWORD, PSP_DEVINFO_DATA); BOOL SetupDiCreateDeviceInfoW(HDEVINFO, PCWSTR, const(GUID)*, PCWSTR, HWND, DWORD, PSP_DEVINFO_DATA); HDEVINFO SetupDiCreateDeviceInfoList(const(GUID)*, HWND); HDEVINFO SetupDiCreateDeviceInfoListExA(const(GUID)*, HWND, PCSTR, PVOID); HDEVINFO SetupDiCreateDeviceInfoListExW(const(GUID)*, HWND, PCWSTR, PVOID); BOOL SetupDiCreateDeviceInterfaceA(HDEVINFO, PSP_DEVINFO_DATA, const(GUID)*, PCSTR, DWORD, PSP_DEVICE_INTERFACE_DATA); BOOL SetupDiCreateDeviceInterfaceW(HDEVINFO, PSP_DEVINFO_DATA, const(GUID)*, PCWSTR, DWORD, PSP_DEVICE_INTERFACE_DATA); HKEY SetupDiCreateDeviceInterfaceRegKeyA(HDEVINFO, PSP_DEVICE_INTERFACE_DATA, DWORD, REGSAM, HINF, PCSTR); HKEY SetupDiCreateDeviceInterfaceRegKeyW(HDEVINFO, PSP_DEVICE_INTERFACE_DATA, DWORD, REGSAM, HINF, PCWSTR); HKEY SetupDiCreateDevRegKeyA(HDEVINFO, PSP_DEVINFO_DATA, DWORD, DWORD, DWORD, HINF, PCSTR); HKEY SetupDiCreateDevRegKeyW(HDEVINFO, PSP_DEVINFO_DATA, DWORD, DWORD, DWORD, HINF, PCWSTR); BOOL SetupDiDeleteDeviceInfo(HDEVINFO, PSP_DEVINFO_DATA); BOOL SetupDiDeleteDeviceInterfaceData(HDEVINFO, PSP_DEVICE_INTERFACE_DATA); BOOL SetupDiDeleteDeviceInterfaceRegKey(HDEVINFO, PSP_DEVICE_INTERFACE_DATA, DWORD); BOOL SetupDiDeleteDevRegKey(HDEVINFO, PSP_DEVINFO_DATA, DWORD, DWORD, DWORD); BOOL SetupDiDestroyClassImageList(PSP_CLASSIMAGELIST_DATA); BOOL SetupDiDestroyDeviceInfoList(HDEVINFO); BOOL SetupDiDestroyDriverInfoList(HDEVINFO, PSP_DEVINFO_DATA, DWORD); INT SetupDiDrawMiniIcon(HDC, RECT, INT, DWORD); BOOL SetupDiEnumDeviceInfo(HDEVINFO, DWORD, PSP_DEVINFO_DATA); BOOL SetupDiEnumDeviceInterfaces(HDEVINFO, PSP_DEVINFO_DATA, const(GUID)*, DWORD, PSP_DEVICE_INTERFACE_DATA); BOOL SetupDiEnumDriverInfoA(HDEVINFO, PSP_DEVINFO_DATA, DWORD, DWORD, PSP_DRVINFO_DATA_A); BOOL SetupDiEnumDriverInfoW(HDEVINFO, PSP_DEVINFO_DATA, DWORD, DWORD, PSP_DRVINFO_DATA_W); BOOL SetupDiGetActualSectionToInstallA(HINF, PCSTR, PSTR, DWORD, PDWORD, PSTR*); BOOL SetupDiGetActualSectionToInstallW(HINF, PCWSTR, PWSTR, DWORD, PDWORD, PWSTR*); BOOL SetupDiGetClassBitmapIndex(const(GUID)*, PINT); BOOL SetupDiGetClassDescriptionA(const(GUID)*, PSTR, DWORD, PDWORD); BOOL SetupDiGetClassDescriptionW(const(GUID)*, PWSTR, DWORD, PDWORD); BOOL SetupDiGetClassDescriptionExA(const(GUID)*, PSTR, DWORD, PDWORD, PCSTR, PVOID); BOOL SetupDiGetClassDescriptionExW(const(GUID)*, PWSTR, DWORD, PDWORD, PCWSTR, PVOID); BOOL SetupDiGetClassDevPropertySheetsA(HDEVINFO, PSP_DEVINFO_DATA, LPPROPSHEETHEADERA, DWORD, PDWORD, DWORD); BOOL SetupDiGetClassDevPropertySheetsW(HDEVINFO, PSP_DEVINFO_DATA, LPPROPSHEETHEADERW, DWORD, PDWORD, DWORD); HDEVINFO SetupDiGetClassDevsA(const(GUID)*, PCSTR, HWND, DWORD); HDEVINFO SetupDiGetClassDevsW(const(GUID)*, PCWSTR, HWND, DWORD); HDEVINFO SetupDiGetClassDevsExA(const(GUID)*, PCSTR, HWND, DWORD, HDEVINFO, PCSTR, PVOID); HDEVINFO SetupDiGetClassDevsExW(const(GUID)*, PCWSTR, HWND, DWORD, HDEVINFO, PCWSTR, PVOID); BOOL SetupDiGetClassImageIndex(PSP_CLASSIMAGELIST_DATA, const(GUID)*, PINT); BOOL SetupDiGetClassImageList(PSP_CLASSIMAGELIST_DATA); BOOL SetupDiGetClassImageListExA(PSP_CLASSIMAGELIST_DATA, PCSTR, PVOID); BOOL SetupDiGetClassImageListExW(PSP_CLASSIMAGELIST_DATA, PCWSTR, PVOID); BOOL SetupDiGetClassInstallParamsA(HDEVINFO, PSP_DEVINFO_DATA, PSP_CLASSINSTALL_HEADER, DWORD, PDWORD); BOOL SetupDiGetClassInstallParamsW(HDEVINFO, PSP_DEVINFO_DATA, PSP_CLASSINSTALL_HEADER, DWORD, PDWORD); BOOL SetupDiGetClassRegistryPropertyA(LPGUID, DWORD, PDWORD, PBYTE, DWORD, PDWORD, PCSTR, PVOID); BOOL SetupDiGetClassRegistryPropertyW(LPGUID, DWORD, PDWORD, PBYTE, DWORD, PDWORD, PCWSTR, PVOID); BOOL SetupDiGetDeviceInfoListClass(HDEVINFO, LPGUID); BOOL SetupDiGetDeviceInfoListDetailA(HDEVINFO, PSP_DEVINFO_LIST_DETAIL_DATA_A); BOOL SetupDiGetDeviceInfoListDetailW(HDEVINFO, PSP_DEVINFO_LIST_DETAIL_DATA_W); BOOL SetupDiGetDeviceInstallParamsA(HDEVINFO, PSP_DEVINFO_DATA, PSP_DEVINSTALL_PARAMS_A); BOOL SetupDiGetDeviceInstallParamsW(HDEVINFO, PSP_DEVINFO_DATA, PSP_DEVINSTALL_PARAMS_W); BOOL SetupDiGetDeviceInstanceIdA(HDEVINFO, PSP_DEVINFO_DATA, PSTR, DWORD, PDWORD); BOOL SetupDiGetDeviceInstanceIdW(HDEVINFO, PSP_DEVINFO_DATA, PWSTR, DWORD, PDWORD); BOOL SetupDiGetDeviceInterfaceAlias(HDEVINFO, PSP_DEVICE_INTERFACE_DATA, const(GUID)*, PSP_DEVICE_INTERFACE_DATA); BOOL SetupDiGetDeviceInterfaceDetailA(HDEVINFO, PSP_DEVICE_INTERFACE_DATA, PSP_DEVICE_INTERFACE_DETAIL_DATA_A, DWORD, PDWORD, PSP_DEVINFO_DATA); BOOL SetupDiGetDeviceInterfaceDetailW(HDEVINFO, PSP_DEVICE_INTERFACE_DATA, PSP_DEVICE_INTERFACE_DETAIL_DATA_W, DWORD, PDWORD, PSP_DEVINFO_DATA); BOOL SetupDiGetDeviceRegistryPropertyA(HDEVINFO, PSP_DEVINFO_DATA, DWORD, PDWORD, PBYTE, DWORD, PDWORD); BOOL SetupDiGetDeviceRegistryPropertyW(HDEVINFO, PSP_DEVINFO_DATA, DWORD, PDWORD, PBYTE, DWORD, PDWORD); BOOL SetupDiGetDriverInfoDetailA(HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVINFO_DATA_A, PSP_DRVINFO_DETAIL_DATA_A, DWORD, PDWORD); BOOL SetupDiGetDriverInfoDetailW(HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVINFO_DATA_W, PSP_DRVINFO_DETAIL_DATA_W, DWORD, PDWORD); BOOL SetupDiGetDriverInstallParamsA(HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVINFO_DATA_A, PSP_DRVINSTALL_PARAMS); BOOL SetupDiGetDriverInstallParamsW(HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVINFO_DATA_W, PSP_DRVINSTALL_PARAMS); BOOL SetupDiGetHwProfileFriendlyNameA(DWORD, PSTR, DWORD, PDWORD); BOOL SetupDiGetHwProfileFriendlyNameExA(DWORD, PSTR, DWORD, PDWORD, PCSTR, PVOID); BOOL SetupDiGetHwProfileFriendlyNameExW(DWORD, PWSTR, DWORD, PDWORD, PCWSTR, PVOID); BOOL SetupDiGetHwProfileFriendlyNameW(DWORD, PWSTR, DWORD, PDWORD); BOOL SetupDiGetHwProfileList(PDWORD, DWORD, PDWORD, PDWORD); BOOL SetupDiGetHwProfileListExA(PDWORD, DWORD, PDWORD, PDWORD, PCSTR, PVOID); BOOL SetupDiGetHwProfileListExW(PDWORD, DWORD, PDWORD, PDWORD, PCWSTR, PVOID); BOOL SetupDiGetINFClassA(PCSTR, LPGUID, PSTR, DWORD, PDWORD); BOOL SetupDiGetINFClassW(PCWSTR, LPGUID, PWSTR, DWORD, PDWORD); BOOL SetupDiGetSelectedDevice(HDEVINFO, PSP_DEVINFO_DATA); BOOL SetupDiGetSelectedDriverA(HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVINFO_DATA_A); BOOL SetupDiGetSelectedDriverW(HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVINFO_DATA_W); HPROPSHEETPAGE SetupDiGetWizardage(HDEVINFO, PSP_DEVINFO_DATA, PSP_INSTALLWIZARD_DATA, DWORD, DWORD); BOOL SetupDiInstallClassA(HWND, PCSTR, DWORD, HSPFILEQ); BOOL SetupDiInstallClassW(HWND, PCWSTR, DWORD, HSPFILEQ); BOOL SetupDiInstallClassExA(HWND, PCSTR, DWORD, HSPFILEQ, const(GUID)*, PVOID, PVOID); BOOL SetupDiInstallClassExW(HWND, PCWSTR, DWORD, HSPFILEQ, const(GUID)*, PVOID, PVOID); BOOL SetupDiInstallDevice(HDEVINFO, PSP_DEVINFO_DATA); BOOL SetupDiInstallDeviceInterfaces(HDEVINFO, PSP_DEVINFO_DATA); BOOL SetupDiInstallDriverFiles(HDEVINFO, PSP_DEVINFO_DATA); BOOL SetupDiLoadClassIcon(const(GUID)*, HICON*, PINT); BOOL SetupDiMoveDuplicateDevice(HDEVINFO, PSP_DEVINFO_DATA); HKEY SetupDiOpenClassRegKey(const(GUID)*, REGSAM); HKEY SetupDiOpenClassRegKeyExA(const(GUID)*, REGSAM, DWORD, PCSTR, PVOID); HKEY SetupDiOpenClassRegKeyExW(const(GUID)*, REGSAM, DWORD, PCWSTR, PVOID); BOOL SetupDiOpenDeviceInfoA(HDEVINFO, PCSTR, HWND, DWORD, PSP_DEVINFO_DATA); BOOL SetupDiOpenDeviceInfoW(HDEVINFO, PCWSTR, HWND, DWORD, PSP_DEVINFO_DATA); BOOL SetupDiOpenDeviceInterfaceA(HDEVINFO, PCSTR, DWORD, PSP_DEVICE_INTERFACE_DATA); BOOL SetupDiOpenDeviceInterfaceW(HDEVINFO, PCWSTR, DWORD, PSP_DEVICE_INTERFACE_DATA); HKEY SetupDiOpenDeviceInterfaceRegKey(HDEVINFO, PSP_DEVICE_INTERFACE_DATA, DWORD, REGSAM); HKEY SetupDiOpenDevRegKey(HDEVINFO, PSP_DEVINFO_DATA, DWORD, DWORD, DWORD, REGSAM); BOOL SetupDiRegisterCoDeviceInstallers(HDEVINFO, PSP_DEVINFO_DATA); BOOL SetupDiRegisterDeviceInfo(HDEVINFO, PSP_DEVINFO_DATA, DWORD, PSP_DETSIG_CMPPROC, PVOID, PSP_DEVINFO_DATA); BOOL SetupDiRemoveDevice(HDEVINFO, PSP_DEVINFO_DATA); BOOL SetupDiRemoveDeviceInterface(HDEVINFO, PSP_DEVICE_INTERFACE_DATA); BOOL SetupDiSelectBestCompatDrv(HDEVINFO, PSP_DEVINFO_DATA); BOOL SetupDiSelectDevice(HDEVINFO, PSP_DEVINFO_DATA); BOOL SetupDiSelectOEMDrv(HWND, HDEVINFO, PSP_DEVINFO_DATA); BOOL SetupDiSetClassInstallParamsA(HDEVINFO, PSP_DEVINFO_DATA, PSP_CLASSINSTALL_HEADER, DWORD); BOOL SetupDiSetClassInstallParamsW(HDEVINFO, PSP_DEVINFO_DATA, PSP_CLASSINSTALL_HEADER, DWORD); BOOL SetupDiSetClassRegistryPropertyA(LPGUID, DWORD, const(BYTE)*, DWORD, PCSTR, PVOID); BOOL SetupDiSetClassRegistryPropertyW(LPGUID, DWORD, const(BYTE)*, DWORD, PCWSTR, PVOID); BOOL SetupDiSetDeviceInstallParamsA(HDEVINFO, PSP_DEVINFO_DATA, PSP_DEVINSTALL_PARAMS_A); BOOL SetupDiSetDeviceInstallParamsW(HDEVINFO, PSP_DEVINFO_DATA, PSP_DEVINSTALL_PARAMS_W); BOOL SetupDiSetDeviceRegistryPropertyA(HDEVINFO, PSP_DEVINFO_DATA, DWORD, const(BYTE)*, DWORD); BOOL SetupDiSetDeviceRegistryPropertyW(HDEVINFO, PSP_DEVINFO_DATA, DWORD, const(BYTE)*, DWORD); BOOL SetupDiSetDriverInstallParamsA(HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVINFO_DATA_A, PSP_DRVINSTALL_PARAMS); BOOL SetupDiSetDriverInstallParamsW(HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVINFO_DATA_W, PSP_DRVINSTALL_PARAMS); BOOL SetupDiSetSelectedDevice(HDEVINFO, PSP_DEVINFO_DATA); BOOL SetupDiSetSelectedDriverA(HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVINFO_DATA_A); BOOL SetupDiSetSelectedDriverW(HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVINFO_DATA_W); BOOL SetupDiUnremoveDevice(HDEVINFO, PSP_DEVINFO_DATA); HDSKSPC SetupDuplicateDiskSpaceListA(HDSKSPC, PVOID, DWORD, UINT); HDSKSPC SetupDuplicateDiskSpaceListW(HDSKSPC, PVOID, DWORD, UINT); BOOL SetupFindFirstLineA(HINF, PCSTR, PCSTR, PINFCONTEXT); BOOL SetupFindFirstLineW(HINF, PCWSTR, PCWSTR, PINFCONTEXT); BOOL SetupFindNextLine(PINFCONTEXT, PINFCONTEXT); BOOL SetupFindNextMatchLineA(PINFCONTEXT, PCSTR, PINFCONTEXT); BOOL SetupFindNextMatchLineW(PINFCONTEXT, PCWSTR, PINFCONTEXT); BOOL SetupFreeA(PCSTR**, UINT); BOOL SetupFreeW(PCWSTR**, UINT); BOOL SetupGetBackupInformationA(HSPFILEQ, PSP_BACKUP_QUEUE_PARAMS_A); BOOL SetupGetBackupInformationW(HSPFILEQ, PSP_BACKUP_QUEUE_PARAMS_W); BOOL SetupGetBinaryField(PINFCONTEXT, DWORD, PBYTE, DWORD, LPDWORD); DWORD SetupGetFieldCount(PINFCONTEXT); DWORD SetupGetFileCompressionInfoA(PCSTR, PSTR*, PDWORD, PDWORD, PUINT); DWORD SetupGetFileCompressionInfoW(PCWSTR, PWSTR*, PDWORD, PDWORD, PUINT); BOOL SetupGetInfFileListA(PCSTR, DWORD, PSTR, DWORD, PDWORD); BOOL SetupGetInfFileListW(PCWSTR, DWORD, PWSTR, DWORD, PDWORD); BOOL SetupGetInfInformationA(LPCVOID, DWORD, PSP_INF_INFORMATION, DWORD, PDWORD); BOOL SetupGetInfInformationW(LPCVOID, DWORD, PSP_INF_INFORMATION, DWORD, PDWORD); BOOL SetupGetIntField(PINFCONTEXT, DWORD, PINT); BOOL SetupGetLineByIndexA(HINF, PCSTR, DWORD, PINFCONTEXT); BOOL SetupGetLineByIndexW(HINF, PCWSTR, DWORD, PINFCONTEXT); LONG SetupGetLineCountA(HINF, PCSTR); LONG SetupGetLineCountW(HINF, PCWSTR); BOOL SetupGetLineTextA(PINFCONTEXT, HINF, PCSTR, PCSTR, PSTR, DWORD, PDWORD); BOOL SetupGetLineTextW(PINFCONTEXT, HINF, PCWSTR, PCWSTR, PWSTR, DWORD, PDWORD); BOOL SetupGetMultiSzFieldA(PINFCONTEXT, DWORD, PSTR, DWORD, LPDWORD); BOOL SetupGetMultiSzFieldW(PINFCONTEXT, DWORD, PWSTR, DWORD, LPDWORD); BOOL SetupGetSourceFileLocationA(HINF, PINFCONTEXT, PCSTR, PUINT, PSTR, DWORD, PDWORD); BOOL SetupGetSourceFileLocationW(HINF, PINFCONTEXT, PCWSTR, PUINT, PWSTR, DWORD, PDWORD); BOOL SetupGetSourceFileSizeA(HINF, PINFCONTEXT, PCSTR, PCSTR, PDWORD, UINT); BOOL SetupGetSourceFileSizeW(HINF, PINFCONTEXT, PCWSTR, PCWSTR, PDWORD, UINT); BOOL SetupGetSourceInfoA(HINF, UINT, UINT, PSTR, DWORD, PDWORD); BOOL SetupGetSourceInfoW(HINF, UINT, UINT, PWSTR, DWORD, PDWORD); BOOL SetupGetStringFieldA(PINFCONTEXT, DWORD, PSTR, DWORD, PDWORD); BOOL SetupGetStringFieldW(PINFCONTEXT, DWORD, PWSTR, DWORD, PDWORD); BOOL SetupGetTargetPathA(HINF, PINFCONTEXT, PCSTR, PSTR, DWORD, PDWORD); BOOL SetupGetTargetPathW(HINF, PINFCONTEXT, PCWSTR, PWSTR, DWORD, PDWORD); PVOID SetupInitDefaultQueueCallback(HWND); PVOID SetupInitDefaultQueueCallbackEx(HWND, HWND, UINT, DWORD, PVOID); HSPFILELOG SetupInitializeFileLogA(PCSTR, DWORD); HSPFILELOG SetupInitializeFileLogW(PCWSTR, DWORD); BOOL SetupInstallFileA(HINF, PINFCONTEXT, PCSTR, PCSTR, PCSTR, DWORD, PSP_FILE_CALLBACK_A, PVOID); BOOL SetupInstallFileW(HINF, PINFCONTEXT, PCWSTR, PCWSTR, PCWSTR, DWORD, PSP_FILE_CALLBACK_W, PVOID); BOOL SetupInstallFileExA(HINF, PINFCONTEXT, PCSTR, PCSTR, PCSTR, DWORD, PSP_FILE_CALLBACK_A, PVOID, PBOOL); BOOL SetupInstallFileExW(HINF, PINFCONTEXT, PCWSTR, PCWSTR, PCWSTR, DWORD, PSP_FILE_CALLBACK_W, PVOID, PBOOL); BOOL SetupInstallFilesFromInfSectionA(HINF, HINF, HSPFILEQ, PCSTR, PCSTR, UINT); BOOL SetupInstallFilesFromInfSectionW(HINF, HINF, HSPFILEQ, PCWSTR, PCWSTR, UINT); BOOL SetupInstallFromInfSectionA(HWND, HINF, PCSTR, UINT, HKEY, PCSTR, UINT, PSP_FILE_CALLBACK_A, PVOID, HDEVINFO, PSP_DEVINFO_DATA); BOOL SetupInstallFromInfSectionW(HWND, HINF, PCWSTR, UINT, HKEY, PCWSTR, UINT, PSP_FILE_CALLBACK_W, PVOID, HDEVINFO, PSP_DEVINFO_DATA); BOOL SetupInstallServicesFromInfSectionA(HINF, PCSTR, DWORD); BOOL SetupInstallServicesFromInfSectionW(HINF, PCWSTR, DWORD); BOOL SetupInstallServicesFromInfSectionExA(HINF, PCSTR, DWORD, HDEVINFO, PSP_DEVINFO_DATA, PVOID, PVOID); BOOL SetupInstallServicesFromInfSectionExW(HINF, PCWSTR, DWORD, HDEVINFO, PSP_DEVINFO_DATA, PVOID, PVOID); BOOL SetupIterateCabinetA(PCSTR, DWORD, PSP_FILE_CALLBACK_A, PVOID); BOOL SetupIterateCabinetW(PCWSTR, DWORD, PSP_FILE_CALLBACK_W, PVOID); BOOL SetupLogErrorA(LPCSTR, LogSeverity); BOOL SetupLogErrorW(LPCWSTR, LogSeverity); BOOL SetupLogFileA(HSPFILELOG, PCSTR, PCSTR, PCSTR, DWORD, PCSTR, PCSTR, PCSTR, DWORD); BOOL SetupLogFileW(HSPFILELOG, PCWSTR, PCWSTR, PCWSTR, DWORD, PCWSTR, PCWSTR, PCWSTR, DWORD); BOOL SetupOpenAppendInfFileA(PCSTR, HINF, PUINT); BOOL SetupOpenAppendInfFileW(PCWSTR, HINF, PUINT); HSPFILEQ SetupOpenFileQueue(); HINF SetupOpenInfFileA(PCSTR, PCSTR, DWORD, PUINT); HINF SetupOpenInfFileW(PCWSTR, PCWSTR, DWORD, PUINT); BOOL SetupOpenLog(BOOL); HINF SetupOpenMasterInf(); UINT SetupPromptForDiskA(HWND, PCSTR, PCSTR, PCSTR, PCSTR, PCSTR, DWORD, PSTR, DWORD, PDWORD); UINT SetupPromptForDiskW(HWND, PCWSTR, PCWSTR, PCWSTR, PCWSTR, PCWSTR, DWORD, PWSTR, DWORD, PDWORD); INT SetupPromptReboot(HSPFILEQ, HWND, BOOL); BOOL SetupQueryA(DWORD, PCSTR**, PUINT); BOOL SetupQueryW(DWORD, PCWSTR**, PUINT); BOOL SetupQueryDrivesInDiskSpaceListA(HDSKSPC, PSTR, DWORD, PDWORD); BOOL SetupQueryDrivesInDiskSpaceListW(HDSKSPC, PWSTR, DWORD, PDWORD); BOOL SetupQueryFileLogA(HSPFILELOG, PCSTR, PCSTR, SetupFileLogInfo, PSTR, DWORD, PDWORD); BOOL SetupQueryFileLogW(HSPFILELOG, PCWSTR, PCWSTR, SetupFileLogInfo, PWSTR, DWORD, PDWORD); BOOL SetupQueryInfFileInformationA(PSP_INF_INFORMATION, UINT, PSTR, DWORD, PDWORD); BOOL SetupQueryInfFileInformationW(PSP_INF_INFORMATION, UINT, PWSTR, DWORD, PDWORD); BOOL SetupQueryInfOriginalFileInformationA(PSP_INF_INFORMATION, UINT, PSP_ALTPLATFORM_INFO, PSP_ORIGINAL_FILE_INFO_A); BOOL SetupQueryInfOriginalFileInformationW(PSP_INF_INFORMATION, UINT, PSP_ALTPLATFORM_INFO, PSP_ORIGINAL_FILE_INFO_W); BOOL SetupQueryInfVersionInformationA(PSP_INF_INFORMATION, UINT, PSTR, PSTR, DWORD, PDWORD); BOOL SetupQueryInfVersionInformationW(PSP_INF_INFORMATION, UINT, PCWSTR, PWSTR, DWORD, PDWORD); BOOL SetupQuerySpaceRequiredOnDriveA(HDSKSPC, PCSTR, LONGLONG*, PVOID, UINT); BOOL SetupQuerySpaceRequiredOnDriveW(HDSKSPC, PCWSTR, LONGLONG*, PVOID, UINT); BOOL SetupQueueCopyA(HSPFILEQ, PCSTR, PCSTR, PCSTR, PCSTR, PCSTR, PCSTR, PCSTR, DWORD); BOOL SetupQueueCopyW(HSPFILEQ, PCWSTR, PCWSTR, PCWSTR, PCWSTR, PCWSTR, PCWSTR, PCWSTR, DWORD); BOOL SetupQueueCopyIndirectA(PSP_FILE_COPY_PARAMS_A); BOOL SetupQueueCopyIndirectW(PSP_FILE_COPY_PARAMS_W); BOOL SetupQueueCopySectionA(HSPFILEQ, PCSTR, HINF, HINF, PCSTR, DWORD); BOOL SetupQueueCopySectionW(HSPFILEQ, PCWSTR, HINF, HINF, PCWSTR, DWORD); BOOL SetupQueueDefaultCopyA(HSPFILEQ, HINF, PCSTR, PCSTR, PCSTR, DWORD); BOOL SetupQueueDefaultCopyW(HSPFILEQ, HINF, PCWSTR, PCWSTR, PCWSTR, DWORD); BOOL SetupQueueDeleteA(HSPFILEQ, PCSTR, PCSTR); BOOL SetupQueueDeleteW(HSPFILEQ, PCWSTR, PCWSTR); BOOL SetupQueueDeleteSectionA(HSPFILEQ, HINF, HINF, PCSTR); BOOL SetupQueueDeleteSectionW(HSPFILEQ, HINF, HINF, PCWSTR); BOOL SetupQueueRenameA(HSPFILEQ, PCSTR, PCSTR, PCSTR, PCSTR); BOOL SetupQueueRenameW(HSPFILEQ, PCWSTR, PCWSTR, PCWSTR, PCWSTR); BOOL SetupQueueRenameSectionA(HSPFILEQ, HINF, HINF, PCSTR); BOOL SetupQueueRenameSectionW(HSPFILEQ, HINF, HINF, PCWSTR); BOOL SetupRemoveFileLogEntryA(HSPFILELOG, PCSTR, PCSTR); BOOL SetupRemoveFileLogEntryW(HSPFILELOG, PCWSTR, PCWSTR); BOOL SetupRemoveFromDiskSpaceListA(HDSKSPC, PCSTR, UINT, PVOID, UINT); BOOL SetupRemoveFromDiskSpaceListW(HDSKSPC, PCWSTR, UINT, PVOID, UINT); BOOL SetupRemoveFromSourceListA(DWORD, PCSTR); BOOL SetupRemoveFromSourceListW(DWORD, PCWSTR); BOOL SetupRemoveInstallSectionFromDiskSpaceListA(HDSKSPC, HINF, HINF, PCSTR, PVOID, UINT); BOOL SetupRemoveInstallSectionFromDiskSpaceListW(HDSKSPC, HINF, HINF, PCWSTR, PVOID, UINT); BOOL SetupRemoveSectionFromDiskSpaceListA(HDSKSPC, HINF, HINF, PCSTR, UINT, PVOID, UINT); BOOL SetupRemoveSectionFromDiskSpaceListW(HDSKSPC, HINF, HINF, PCWSTR, UINT, PVOID, UINT); UINT SetupRenameErrorA(HWND, PCSTR, PCSTR, PCSTR, UINT, DWORD); UINT SetupRenameErrorW(HWND, PCWSTR, PCWSTR, PCWSTR, UINT, DWORD); BOOL SetupScanFileQueueA(HSPFILEQ, DWORD, HWND, PSP_FILE_CALLBACK_A, PVOID, PDWORD); BOOL SetupScanFileQueueW(HSPFILEQ, DWORD, HWND, PSP_FILE_CALLBACK_W, PVOID, PDWORD); BOOL SetupSetDirectoryIdA(HINF, DWORD, PCSTR); BOOL SetupSetDirectoryIdW(HINF, DWORD, PCWSTR); BOOL SetupSetDirectoryIdExA(HINF, DWORD, PCSTR, DWORD, DWORD, PVOID); BOOL SetupSetDirectoryIdExW(HINF, DWORD, PCWSTR, DWORD, DWORD, PVOID); BOOL SetupSetFileQueueAlternatePlatformA(HSPFILEQ, PSP_ALTPLATFORM_INFO, PCSTR); BOOL SetupSetFileQueueAlternatePlatformW(HSPFILEQ, PSP_ALTPLATFORM_INFO, PCWSTR); BOOL SetupSetPlatformPathOverrideA(PCSTR); BOOL SetupSetPlatformPathOverrideW(PCWSTR); BOOL SetupSetSourceListA(DWORD, PCSTR*, UINT); BOOL SetupSetSourceListW(DWORD, PCWSTR*, UINT); VOID SetupTermDefaultQueueCallback(PVOID); BOOL SetupTerminateFileLog(HSPFILELOG); } deprecated { alias SetupDiCreateDeviceInterfaceW SetupDiCreateInterfaceDeviceW; alias SetupDiCreateDeviceInterfaceRegKeyW SetupDiCreateInterfaceDeviceRegKeyW; alias SetupDiOpenDeviceInterfaceW SetupDiOpenInterfaceDeviceW; alias SetupDiGetDeviceInterfaceDetailW SetupDiGetInterfaceDeviceDetailW; alias SetupDiCreateDeviceInterfaceA SetupDiCreateInterfaceDeviceA; alias SetupDiCreateDeviceInterfaceRegKeyA SetupDiCreateInterfaceDeviceRegKeyA; alias SetupDiOpenDeviceInterfaceA SetupDiOpenInterfaceDeviceA; alias SetupDiGetDeviceInterfaceDetailA SetupDiGetInterfaceDeviceDetailA; } version (Unicode) { alias PSP_FILE_CALLBACK_W PSP_FILE_CALLBACK; alias SetupAddInstallSectionToDiskSpaceListW SetupAddInstallSectionToDiskSpaceList; alias SetupAddSectionToDiskSpaceListW SetupAddSectionToDiskSpaceList; alias SetupAddToDiskSpaceListW SetupAddToDiskSpaceList; alias SetupAddToSourceListW SetupAddToSourceList; alias SetupAdjustDiskSpaceListW SetupAdjustDiskSpaceList; alias SetupBackupErrorW SetupBackupError; alias SetupCommitFileQueueW SetupCommitFileQueue; alias SetupCopyErrorW SetupCopyError; alias SetupCopyOEMInfW SetupCopyOEMInf; alias SetupCreateDiskSpaceListW SetupCreateDiskSpaceList; alias SetupDecompressOrCopyFileW SetupDecompressOrCopyFile; alias SetupDefaultQueueCallbackW SetupDefaultQueueCallback; alias SetupDeleteErrorW SetupDeleteError; alias SetupDiBuildClassInfoListExW SetupDiBuildClassInfoListEx; alias SetupDiClassGuidsFromNameExW SetupDiClassGuidsFromNameEx; alias SetupDiClassGuidsFromNameW SetupDiClassGuidsFromName; alias SetupDiClassNameFromGuidExW SetupDiClassNameFromGuidEx; alias SetupDiClassNameFromGuidW SetupDiClassNameFromGuid; alias SetupDiCreateDeviceInfoListExW SetupDiCreateDeviceInfoListEx; alias SetupDiCreateDeviceInfoW SetupDiCreateDeviceInfo; alias SetupDiCreateDeviceInterfaceRegKeyW SetupDiCreateDeviceInterfaceRegKey; deprecated alias SetupDiCreateDeviceInterfaceRegKeyW SetupDiCreateInterfaceDeviceRegKey; alias SetupDiCreateDeviceInterfaceW SetupDiCreateDeviceInterface; deprecated alias SetupDiCreateDeviceInterfaceW SetupDiCreateInterfaceDevice; alias SetupDiCreateDevRegKeyW SetupDiCreateDevRegKey; alias SetupDiEnumDriverInfoW SetupDiEnumDriverInfo; alias SetupDiGetActualSectionToInstallW SetupDiGetActualSectionToInstall; alias SetupDiGetClassDescriptionExW SetupDiGetClassDescriptionEx; alias SetupDiGetClassDescriptionW SetupDiGetClassDescription; alias SetupDiGetClassDevPropertySheetsW SetupDiGetClassDevPropertySheets; alias SetupDiGetClassDevsExW SetupDiGetClassDevsEx; alias SetupDiGetClassDevsW SetupDiGetClassDevs; alias SetupDiGetClassImageListExW SetupDiGetClassImageListEx; alias SetupDiGetClassInstallParamsW SetupDiGetClassInstallParams; alias SetupDiGetClassRegistryPropertyW SetupDiGetClassRegistryProperty; alias SetupDiGetDeviceInfoListDetailW SetupDiGetDeviceInfoListDetail; alias SetupDiGetDeviceInstallParamsW SetupDiGetDeviceInstallParams; alias SetupDiGetDeviceInstanceIdW SetupDiGetDeviceInstanceId; alias SetupDiGetDeviceInterfaceDetailW SetupDiGetDeviceInterfaceDetail; deprecated alias SetupDiGetDeviceInterfaceDetailW SetupDiGetInterfaceDeviceDetail; alias SetupDiGetDeviceRegistryPropertyW SetupDiGetDeviceRegistryProperty; alias SetupDiGetDriverInfoDetailW SetupDiGetDriverInfoDetail; alias SetupDiGetDriverInstallParamsW SetupDiGetDriverInstallParams; alias SetupDiGetHwProfileFriendlyNameExW SetupDiGetHwProfileFriendlyNameEx; alias SetupDiGetHwProfileFriendlyNameW SetupDiGetHwProfileFriendlyName; alias SetupDiGetHwProfileListExW SetupDiGetHwProfileListEx; alias SetupDiGetINFClassW SetupDiGetINFClass; alias SetupDiGetSelectedDriverW SetupDiGetSelectedDriver; alias SetupDiInstallClassExW SetupDiInstallClassEx; alias SetupDiInstallClassW SetupDiInstallClass; alias SetupDiOpenClassRegKeyExW SetupDiOpenClassRegKeyEx; alias SetupDiOpenDeviceInfoW SetupDiOpenDeviceInfo; alias SetupDiOpenDeviceInterfaceW SetupDiOpenDeviceInterface; deprecated alias SetupDiOpenDeviceInterfaceW SetupDiOpenInterfaceDevice; alias SetupDiSetClassInstallParamsW SetupDiSetClassInstallParams; alias SetupDiSetClassRegistryPropertyW SetupDiSetClassRegistryProperty; alias SetupDiSetDeviceInstallParamsW SetupDiSetDeviceInstallParams; alias SetupDiSetDeviceRegistryPropertyW SetupDiSetDeviceRegistryProperty; alias SetupDiSetDriverInstallParamsW SetupDiSetDriverInstallParams; alias SetupDiSetSelectedDriverW SetupDiSetSelectedDriver; alias SetupDuplicateDiskSpaceListW SetupDuplicateDiskSpaceList; alias SetupFindFirstLineW SetupFindFirstLine; alias SetupFindNextMatchLineW SetupFindNextMatchLine; alias SetupFreeSourceListW SetupFreeSourceList; alias SetupGetBackupInformationW SetupGetBackupInformation; alias SetupGetFileCompressionInfoW SetupGetFileCompressionInfo; alias SetupGetInfFileListW SetupGetInfFileList; alias SetupGetInfInformationW SetupGetInfInformation; alias SetupGetLineByIndexW SetupGetLineByIndex; alias SetupGetLineCountW SetupGetLineCount; alias SetupGetLineTextW SetupGetLineText; alias SetupGetMultiSzFieldW SetupGetMultiSzField; alias SetupGetSourceFileLocationW SetupGetSourceFileLocation; alias SetupGetSourceFileSizeW SetupGetSourceFileSize; alias SetupGetSourceInfoW SetupGetSourceInfo; alias SetupGetStringFieldW SetupGetStringField; alias SetupGetTargetPathW SetupGetTargetPath; alias SetupInitializeFileLogW SetupInitializeFileLog; alias SetupInstallFileExW SetupInstallFileEx; alias SetupInstallFilesFromInfSectionW SetupInstallFilesFromInfSection; alias SetupInstallFileW SetupInstallFile; alias SetupInstallFromInfSectionW SetupInstallFromInfSection; alias SetupInstallServicesFromInfSectionExW SetupInstallServicesFromInfSectionEx; alias SetupInstallServicesFromInfSectionW SetupInstallServicesFromInfSection; alias SetupIterateCabinetW SetupIterateCabinet; alias SetupLogErrorW SetupLogError; alias SetupLogFileW SetupLogFile; alias SetupOpenAppendInfFileW SetupOpenAppendInfFile; alias SetupOpenInfFileW SetupOpenInfFile; alias SetupPromptForDiskW SetupPromptForDisk; alias SetupQueryDrivesInDiskSpaceListW SetupQueryDrivesInDiskSpaceList; alias SetupQueryFileLogW SetupQueryFileLog; alias SetupQueryInfFileInformationW SetupQueryInfFileInformation; alias SetupQueryInfOriginalFileInformationW SetupQueryInfOriginalFileInformation; alias SetupQueryInfVersionInformationW SetupQueryInfVersionInformation; alias SetupQuerySourceListW SetupQuerySourceList; alias SetupQuerySpaceRequiredOnDriveW SetupQuerySpaceRequiredOnDrive; alias SetupQueueCopyIndirectW SetupQueueCopyIndirect; alias SetupQueueCopySectionW SetupQueueCopySection; alias SetupQueueCopyW SetupQueueCopy; alias SetupQueueDefaultCopyW SetupQueueDefaultCopy; alias SetupQueueDeleteSectionW SetupQueueDeleteSection; alias SetupQueueDeleteW SetupQueueDelete; alias SetupQueueRenameSectionW SetupQueueRenameSection; alias SetupQueueRenameW SetupQueueRename; alias SetupRemoveFileLogEntryW SetupRemoveFileLogEntry; alias SetupRemoveFromDiskSpaceListW SetupRemoveFromDiskSpaceList; alias SetupRemoveFromSourceListW SetupRemoveFromSourceList; alias SetupRemoveInstallSectionFromDiskSpaceListW SetupRemoveInstallSectionFromDiskSpaceList; alias SetupRemoveSectionFromDiskSpaceListW SetupRemoveSectionFromDiskSpaceList; alias SetupRenameErrorW SetupRenameError; alias SetupScanFileQueueW SetupScanFileQueue; alias SetupSetDirectoryIdExW SetupSetDirectoryIdEx; alias SetupSetDirectoryIdW SetupSetDirectoryId; alias SetupSetFileQueueAlternatePlatformW SetupSetFileQueueAlternatePlatform; alias SetupSetPlatformPathOverrideW SetupSetPlatformPathOverride; alias SetupSetSourceListW SetupSetSourceList; } else { alias PSP_FILE_CALLBACK_A PSP_FILE_CALLBACK; alias SetupAddInstallSectionToDiskSpaceListA SetupAddInstallSectionToDiskSpaceList; alias SetupAddSectionToDiskSpaceListA SetupAddSectionToDiskSpaceList; alias SetupAddToDiskSpaceListA SetupAddToDiskSpaceList; alias SetupAddToSourceListA SetupAddToSourceList; alias SetupAdjustDiskSpaceListA SetupAdjustDiskSpaceList; alias SetupBackupErrorA SetupBackupError; alias SetupCommitFileQueueA SetupCommitFileQueue; alias SetupCopyErrorA SetupCopyError; alias SetupCopyOEMInfA SetupCopyOEMInf; alias SetupCreateDiskSpaceListA SetupCreateDiskSpaceList; alias SetupDecompressOrCopyFileA SetupDecompressOrCopyFile; alias SetupDefaultQueueCallbackA SetupDefaultQueueCallback; alias SetupDeleteErrorA SetupDeleteError; alias SetupDiBuildClassInfoListExA SetupDiBuildClassInfoListEx; alias SetupDiClassGuidsFromNameA SetupDiClassGuidsFromName; alias SetupDiClassGuidsFromNameExA SetupDiClassGuidsFromNameEx; alias SetupDiClassNameFromGuidA SetupDiClassNameFromGuid; alias SetupDiClassNameFromGuidExA SetupDiClassNameFromGuidEx; alias SetupDiCreateDeviceInfoA SetupDiCreateDeviceInfo; alias SetupDiCreateDeviceInfoListExA SetupDiCreateDeviceInfoListEx; alias SetupDiCreateDeviceInterfaceA SetupDiCreateDeviceInterface; deprecated alias SetupDiCreateDeviceInterfaceA SetupDiCreateInterfaceDevice; alias SetupDiCreateDeviceInterfaceRegKeyA SetupDiCreateDeviceInterfaceRegKey; deprecated alias SetupDiCreateDeviceInterfaceRegKeyA SetupDiCreateInterfaceDeviceRegKey; alias SetupDiCreateDevRegKeyA SetupDiCreateDevRegKey; alias SetupDiDeleteDeviceInterfaceData SetupDiDeleteInterfaceDeviceData; alias SetupDiEnumDriverInfoA SetupDiEnumDriverInfo; alias SetupDiGetActualSectionToInstallA SetupDiGetActualSectionToInstall; alias SetupDiGetClassDescriptionA SetupDiGetClassDescription; alias SetupDiGetClassDescriptionExA SetupDiGetClassDescriptionEx; alias SetupDiGetClassDevPropertySheetsA SetupDiGetClassDevPropertySheets; alias SetupDiGetClassDevsA SetupDiGetClassDevs; alias SetupDiGetClassDevsExA SetupDiGetClassDevsEx; alias SetupDiGetClassImageListExA SetupDiGetClassImageListEx; alias SetupDiGetClassInstallParamsA SetupDiGetClassInstallParams; alias SetupDiGetClassRegistryPropertyA SetupDiGetClassRegistryProperty; alias SetupDiGetDeviceInfoListDetailA SetupDiGetDeviceInfoListDetail; alias SetupDiGetDeviceInstallParamsA SetupDiGetDeviceInstallParams; alias SetupDiGetDeviceInstanceIdA SetupDiGetDeviceInstanceId; alias SetupDiGetDeviceInterfaceDetailA SetupDiGetDeviceInterfaceDetail; deprecated alias SetupDiGetDeviceInterfaceDetailA SetupDiGetInterfaceDeviceDetail; alias SetupDiGetDeviceRegistryPropertyA SetupDiGetDeviceRegistryProperty; alias SetupDiGetDriverInfoDetailA SetupDiGetDriverInfoDetail; alias SetupDiGetDriverInstallParamsA SetupDiGetDriverInstallParams; alias SetupDiGetHwProfileFriendlyNameA SetupDiGetHwProfileFriendlyName; alias SetupDiGetHwProfileFriendlyNameExA SetupDiGetHwProfileFriendlyNameEx; alias SetupDiGetHwProfileListExA SetupDiGetHwProfileListEx; alias SetupDiGetINFClassA SetupDiGetINFClass; alias SetupDiGetSelectedDriverA SetupDiGetSelectedDriver; alias SetupDiInstallClassA SetupDiInstallClass; alias SetupDiInstallClassExA SetupDiInstallClassEx; alias SetupDiOpenClassRegKeyExA SetupDiOpenClassRegKeyEx; alias SetupDiOpenDeviceInfoA SetupDiOpenDeviceInfo; alias SetupDiOpenDeviceInterfaceA SetupDiOpenDeviceInterface; deprecated alias SetupDiOpenDeviceInterfaceA SetupDiOpenInterfaceDevice; alias SetupDiSetClassInstallParamsA SetupDiSetClassInstallParams; alias SetupDiSetClassRegistryPropertyA SetupDiSetClassRegistryProperty; alias SetupDiSetDeviceInstallParamsA SetupDiSetDeviceInstallParams; alias SetupDiSetDeviceRegistryPropertyA SetupDiSetDeviceRegistryProperty; alias SetupDiSetDriverInstallParamsA SetupDiSetDriverInstallParams; alias SetupDiSetSelectedDriverA SetupDiSetSelectedDriver; alias SetupDuplicateDiskSpaceListA SetupDuplicateDiskSpaceList; alias SetupFindFirstLineA SetupFindFirstLine; alias SetupFindNextMatchLineA SetupFindNextMatchLine; alias SetupFreeSourceListA SetupFreeSourceList; alias SetupGetBackupInformationA SetupGetBackupInformation; alias SetupGetFileCompressionInfoA SetupGetFileCompressionInfo; alias SetupGetInfFileListA SetupGetInfFileList; alias SetupGetInfInformationA SetupGetInfInformation; alias SetupGetLineByIndexA SetupGetLineByIndex; alias SetupGetLineCountA SetupGetLineCount; alias SetupGetLineTextA SetupGetLineText; alias SetupGetMultiSzFieldA SetupGetMultiSzField; alias SetupGetSourceFileLocationA SetupGetSourceFileLocation; alias SetupGetSourceFileSizeA SetupGetSourceFileSize; alias SetupGetSourceInfoA SetupGetSourceInfo; alias SetupGetStringFieldA SetupGetStringField; alias SetupGetTargetPathA SetupGetTargetPath; alias SetupInitializeFileLogA SetupInitializeFileLog; alias SetupInstallFileA SetupInstallFile; alias SetupInstallFileExA SetupInstallFileEx; alias SetupInstallFilesFromInfSectionA SetupInstallFilesFromInfSection; alias SetupInstallFromInfSectionA SetupInstallFromInfSection; alias SetupInstallServicesFromInfSectionA SetupInstallServicesFromInfSection; alias SetupInstallServicesFromInfSectionExA SetupInstallServicesFromInfSectionEx; alias SetupIterateCabinetA SetupIterateCabinet; alias SetupLogErrorA SetupLogError; alias SetupLogFileA SetupLogFile; alias SetupOpenAppendInfFileA SetupOpenAppendInfFile; alias SetupOpenInfFileA SetupOpenInfFile; alias SetupPromptForDiskA SetupPromptForDisk; alias SetupQueryDrivesInDiskSpaceListA SetupQueryDrivesInDiskSpaceList; alias SetupQueryFileLogA SetupQueryFileLog; alias SetupQueryInfFileInformationA SetupQueryInfFileInformation; alias SetupQueryInfOriginalFileInformationA SetupQueryInfOriginalFileInformation; alias SetupQueryInfVersionInformationA SetupQueryInfVersionInformation; alias SetupQuerySourceListA SetupQuerySourceList; alias SetupQuerySpaceRequiredOnDriveA SetupQuerySpaceRequiredOnDrive; alias SetupQueueCopyA SetupQueueCopy; alias SetupQueueCopyIndirectA SetupQueueCopyIndirect; alias SetupQueueCopySectionA SetupQueueCopySection; alias SetupQueueDefaultCopyA SetupQueueDefaultCopy; alias SetupQueueDeleteA SetupQueueDelete; alias SetupQueueDeleteSectionA SetupQueueDeleteSection; alias SetupQueueRenameA SetupQueueRename; alias SetupQueueRenameSectionA SetupQueueRenameSection; alias SetupRemoveFileLogEntryA SetupRemoveFileLogEntry; alias SetupRemoveFromDiskSpaceListA SetupRemoveFromDiskSpaceList; alias SetupRemoveFromSourceListA SetupRemoveFromSourceList; alias SetupRemoveInstallSectionFromDiskSpaceListA SetupRemoveInstallSectionFromDiskSpaceList; alias SetupRemoveSectionFromDiskSpaceListA SetupRemoveSectionFromDiskSpaceList; alias SetupRenameErrorA SetupRenameError; alias SetupScanFileQueueA SetupScanFileQueue; alias SetupSetDirectoryIdA SetupSetDirectoryId; alias SetupSetDirectoryIdExA SetupSetDirectoryIdEx; alias SetupSetFileQueueAlternatePlatformA SetupSetFileQueueAlternatePlatform; alias SetupSetPlatformPathOverrideA SetupSetPlatformPathOverride; alias SetupSetSourceListA SetupSetSourceList; }