;- Microsoft SETUPAPI.H ; By Thunder93, Posted on 2016-03-17, Updated Last: N/A ;- Constants #DWORD = #PB_Long #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 #COPYFLG_WARN_IF_SKIP = $00000001 #COPYFLG_NOSKIP = $00000002 #COPYFLG_NOVERSIONCHECK = $00000004 #COPYFLG_FORCE_FILE_IN_USE = $00000008 #COPYFLG_NO_OVERWRITE = $00000010 #COPYFLG_NO_VERSION_DIALOG = $00000020 #COPYFLG_OVERWRITE_OLDER_ONLY = $00000040 #COPYFLG_REPLACEONLY = $00000400 #COPYFLG_NODECOMP = $00000800 #COPYFLG_REPLACE_BOOT_FILE = $00001000 #COPYFLG_NOPRUNE = $00002000 #DELFLG_IN_USE = $00000001 #DELFLG_IN_USE1 = $00010000 #DI_REMOVEDEVICE_GLOBAL = $00000001 #DI_REMOVEDEVICE_CONFIGSPECIFIC = $00000002 #DI_UNREMOVEDEVICE_CONFIGSPECIFIC = $00000002 #DI_SHOWOEM = $00000001 #DI_SHOWCOMPAT = $00000002 #DI_SHOWCLASS = $00000004 #DI_SHOWALL = $00000007 #DI_NOVCP = $00000008 #DI_DIDCOMPAT = $00000010 #DI_DIDCLASS = $00000020 #DI_AUTOASSIGNRES = $00000040 #DI_NEEDRESTART = $00000080 #DI_NEEDREBOOT = $00000100 #DI_NOBROWSE = $00000200 #DI_MULTMFGS = $00000400 #DI_DISABLED = $00000800 #DI_GENERALPAGE_ADDED = $00001000 #DI_RESOURCEPAGE_ADDED = $00002000 #DI_PROPERTIES_CHANGE = $00004000 #DI_INF_IS_SORTED = $00008000 #DI_ENUMSINGLEINF = $00010000 #DI_DONOTCALLCONFIGMG = $00020000 #DI_INSTALLDISABLED = $00040000 #DI_COMPAT_FROM_CLASS = $00080000 #DI_CLASSINSTALLPARAMS = $00100000 #DI_NODI_DEFAULTACTION = $00200000 #DI_QUIETINSTALL = $00800000 #DI_NOFILECOPY = $01000000 #DI_FORCECOPY = $02000000 #DI_DRIVERPAGE_ADDED = $04000000 #DI_USECI_SELECTSTRINGS = $08000000 #DI_OVERRIDE_INFFLAGS = $10000000 #DI_PROPS_NOCHANGEUSAGE = $20000000 #DI_NOSELECTICONS = $40000000 #DI_NOWRITE_IDS = $80000000 #DI_FLAGSEX_USEOLDINFSEARCH = $00000001 #DI_FLAGSEX_AUTOSELECTRANK0 = $00000002 #DI_FLAGSEX_CI_FAILED = $00000004 #DI_FLAGSEX_DIDINFOLIST = $00000010 #DI_FLAGSEX_DIDCOMPATINFO = $00000020 #DI_FLAGSEX_FILTERCLASSES = $00000040 #DI_FLAGSEX_SETFAILEDINSTALL = $00000080 #DI_FLAGSEX_DEVICECHANGE = $00000100 #DI_FLAGSEX_ALWAYSWRITEIDS = $00000200 #DI_FLAGSEX_PROPCHANGE_PENDING = $00000400 #DI_FLAGSEX_ALLOWEXCLUDEDDRVS = $00000800 #DI_FLAGSEX_NOUIONQUERYREMOVE = $00001000 #DI_FLAGSEX_USECLASSFORCOMPAT = $00002000 #DI_FLAGSEX_OLDINF_IN_CLASSLIST = $00004000 #DI_FLAGSEX_NO_DRVREG_MODIFY = $00008000 #DI_FLAGSEX_IN_SYSTEM_SETUP = $00010000 #DI_FLAGSEX_INET_DRIVER = $00020000 #DI_FLAGSEX_APPENDDRIVERLIST = $00040000 #DI_FLAGSEX_PREINSTALLBACKUP = $00080000 #DI_FLAGSEX_BACKUPONREPLACE = $00100000 #DI_FLAGSEX_DRIVERLIST_FROM_URL = $00200000 #DI_FLAGSEX_RESERVED1 = $00400000 #DI_FLAGSEX_EXCLUDE_OLD_INET_DRIVERS = $00800000 #DI_FLAGSEX_POWERPAGE_ADDED = $01000000 #DIBCI_NOINSTALLCLASS = $00000001 #DIBCI_NODISPLAYCLASS = $00000002 #DICD_GENERATE_ID = $00000001 #DICD_INHERIT_CLASSDRVS = $00000002 #DICS_ENABLE = 1 #DICS_FLAG_GLOBAL = 1 #DICS_DISABLE = 2 #DICS_FLAG_CONFIGSPECIFIC = 2 #DICS_PROPCHANGE = 3 #DICS_START = 4 #DICS_FLAG_CONFIGGENERAL = 4 #DICS_STOP = 5 #DIF_SELECTDEVICE = 1 #DIF_INSTALLDEVICE = 2 #DIF_ASSIGNRESOURCES = 3 #DIF_PROPERTIES = 4 #DIF_REMOVE = 5 #DIF_FIRSTTIMESETUP = 6 #DIF_FOUNDDEVICE = 7 #DIF_SELECTCLASSDRIVERS = 8 #DIF_VALIDATECLASSDRIVERS = 9 #DIF_INSTALLCLASSDRIVERS = 10 #DIF_CALCDISKSPACE = 11 #DIF_DESTROYPRIVATEDATA = 12 #DIF_VALIDATEDRIVER = 13 #DIF_MOVEDEVICE = 14 #DIF_DETECT = 15 #DIF_INSTALLWIZARD = 16 #DIF_DESTROYWIZARDDATA = 17 #DIF_PROPERTYCHANGE = 18 #DIF_ENABLECLASS = 19 #DIF_DETECTVERIFY = 20 #DIF_INSTALLDEVICEFILES = 21 #DIF_UNREMOVE = 22 #DIF_SELECTBESTCOMPATDRV = 23 #DIF_ALLOW_INSTALL = 24 #DIF_REGISTERDEVICE = 25 #DIF_NEWDEVICEWIZARD_PRESELECT = 26 #DIF_NEWDEVICEWIZARD_SELECT = 27 #DIF_NEWDEVICEWIZARD_PREANALYZE = 28 #DIF_NEWDEVICEWIZARD_POSTANALYZE = 29 #DIF_NEWDEVICEWIZARD_FINISHINSTALL = 30 #DIF_UNUSED1 = 31 #DIF_INSTALLINTERFACES = 32 #DIF_DETECTCANCEL = 33 #DIF_REGISTER_COINSTALLERS = 34 #DIF_ADDPROPERTYPAGE_ADVANCED = 35 #DIF_ADDPROPERTYPAGE_BASIC = 36 #DIF_RESERVED1 = 37 #DIF_TROUBLESHOOTER = 38 #DIF_POWERMESSAGEWAKE = 39 #DIGCF_DEFAULT = $00000001 #DIGCDP_FLAG_BASIC = $00000001 #DIGCF_PRESENT = $00000002 #DIGCDP_FLAG_ADVANCED = $00000002 #DIGCF_ALLCLASSES = $00000004 #DIGCF_PROFILE = $00000008 #DIGCF_DEVICEINTERFACE = $00000010 #DIGCF_INTERFACEDEVICE = $00000010 #DIOCR_INSTALLER = $00000001 #DIOCR_INTERFACE = $00000002 #DIODI_NO_ADD = $00000001 #DIOD_INHERIT_CLASSDRVS = $00000002 #DIOD_CANCEL_REMOVE = $00000004 #DIREG_DEV = $00000001 #DIREG_DRV = $00000002 #DIREG_BOTH = $00000004 #DIRID_ABSOLUTE = -1 #DIRID_NULL = 0 #DIRID_SRCPATH = 1 #DIRID_WINDOWS = 10 #DIRID_SYSTEM = 11 #DIRID_DRIVERS = 12 #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_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 = $8000 #DIRID_ABSOLUTE_16BIT = $ffff #DIRID_IOSUBSYS = #DIRID_DRIVERS #DIRID_DEFAULT = #DIRID_SYSTEM #DMI_MASK = $00000001 #DMI_BKCOLOR = $00000002 #DMI_USERECT = $00000004 #DNF_DUPDESC = $00000001 #DNF_OLDDRIVER = $00000002 #DNF_EXCLUDEFROMLIST = $00000004 #DNF_NODRIVER = $00000008 #DNF_LEGACYINF = $00000010 #DNF_CLASS_DRIVER = $00000020 #DNF_COMPATIBLE_DRIVER = $00000040 #DNF_INET_DRIVER = $00000080 #DNF_UNUSED1 = $00000100 #DNF_INDEXED_DRIVER = $00000200 #DNF_OLD_INET_DRIVER = $00000400 #DNF_BAD_DRIVER = $00000800 #DNF_DUPPROVIDER = $00001000 #DPROMPT_SUCCESS = 0 #DPROMPT_CANCEL = 1 #DPROMPT_SKIPFILE = 2 #DPROMPT_BUFFERTOOSMALL = 3 #DPROMPT_OUTOFMEMORY = 4 #DRIVER_HARDWAREID_RANK = $00000FFF #DYNAWIZ_FLAG_PAGESADDED = $00000001 #DYNAWIZ_FLAG_INSTALLDET_NEXT = $00000002 #DYNAWIZ_FLAG_INSTALLDET_PREV = $00000004 #DYNAWIZ_FLAG_ANALYZE_HANDLECONFLICT = $00000008 #ENABLECLASS_QUERY = 0 #ENABLECLASS_SUCCESS = 1 #ENABLECLASS_FAILURE = 2 #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|$100) #ERROR_NOT_INSTALLED = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$1000) #ERROR_SECTION_NOT_FOUND = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$101) #ERROR_LINE_NOT_FOUND = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$102) #ERROR_NO_BACKUP = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$103) #ERROR_NO_ASSOCIATED_CLASS = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$200) #ERROR_CLASS_MISMATCH = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$201) #ERROR_DUPLICATE_FOUND = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$202) #ERROR_NO_DRIVER_SELECTED = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$203) #ERROR_KEY_DOES_NOT_EXIST = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$204) #ERROR_INVALID_DEVINST_NAME = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$205) #ERROR_INVALID_CLASS = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$206) #ERROR_DEVINST_ALREADY_EXISTS = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$207) #ERROR_DEVINFO_NOT_REGISTERED = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$208) #ERROR_INVALID_REG_PROPERTY = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$209) #ERROR_NO_INF = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$20A) #ERROR_NO_SUCH_DEVINST = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$20B) #ERROR_CANT_LOAD_CLASS_ICON = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$20C) #ERROR_INVALID_CLASS_INSTALLER = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$20D) #ERROR_DI_DO_DEFAULT = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$20E) #ERROR_DI_NOFILECOPY = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$20F) #ERROR_INVALID_HWPROFILE = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$210) #ERROR_NO_DEVICE_SELECTED = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$211) #ERROR_DEVINFO_LIST_LOCKED = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$212) #ERROR_DEVINFO_DATA_LOCKED = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$213) #ERROR_DI_BAD_PATH = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$214) #ERROR_NO_CLASSINSTALL_PARAMS = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$215) #ERROR_FILEQUEUE_LOCKED = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$216) #ERROR_BAD_SERVICE_INSTALLSECT = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$217) #ERROR_NO_CLASS_DRIVER_LIST = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$218) #ERROR_NO_ASSOCIATED_SERVICE = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$219) #ERROR_NO_DEFAULT_DEVICE_INTERFACE = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$21A) #ERROR_DEVICE_INTERFACE_ACTIVE = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$21B) #ERROR_DEVICE_INTERFACE_REMOVED = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$21C) #ERROR_BAD_INTERFACE_INSTALLSECT = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$21D) #ERROR_NO_SUCH_INTERFACE_CLASS = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$21E) #ERROR_INVALID_REFERENCE_STRING = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$21F) #ERROR_INVALID_MACHINENAME = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$220) #ERROR_REMOTE_COMM_FAILURE = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$221) #ERROR_MACHINE_UNAVAILABLE = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$222) #ERROR_NO_CONFIGMGR_SERVICES = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$223) #ERROR_INVALID_PROPPAGE_PROVIDER = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$224) #ERROR_NO_SUCH_DEVICE_INTERFACE = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$225) #ERROR_DI_POSTPROCESSING_REQUIRED = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$226) #ERROR_INVALID_COINSTALLER = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$227) #ERROR_NO_COMPAT_DRIVERS = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$228) #ERROR_NO_DEVICE_ICON = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$229) #ERROR_INVALID_INF_LOGCONFIG = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$22A) #ERROR_DI_DONT_INSTALL = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$22B) #ERROR_INVALID_FILTER_DRIVER = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$22C) #ERROR_NON_WINDOWS_NT_DRIVER = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$22D) #ERROR_NON_WINDOWS_DRIVER = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$22E) #ERROR_NO_CATALOG_FOR_OEM_INF = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$22F) #ERROR_DEVINSTALL_QUEUE_NONNATIVE = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$230) #ERROR_NOT_DISABLEABLE = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$231) #ERROR_CANT_REMOVE_DEVINST = (#APPLICATION_ERROR_MASK|#ERROR_SEVERITY_ERROR|$232) #ERROR_INTERFACE_DEVICE_ACTIVE = #ERROR_DEVICE_INTERFACE_ACTIVE #ERROR_INTERFACE_DEVICE_REMOVED = #ERROR_DEVICE_INTERFACE_REMOVED #ERROR_NO_DEFAULT_INTERFACE_DEVICE = #ERROR_NO_DEFAULT_DEVICE_INTERFACE #ERROR_NO_SUCH_INTERFACE_DEVICE = #ERROR_NO_SUCH_DEVICE_INTERFACE #FILEOP_COPY = 0 #FILEOP_ABORT = 0 #FILE_COMPRESSION_NONE = 0 #FILEOP_RENAME = 1 #FILEOP_DOIT = 1 #FILE_COMPRESSION_WINLZA = 1 #FILEOP_DELETE = 2 #FILEOP_SKIP = 2 #FILE_COMPRESSION_MSZIP = 2 #FILEOP_BACKUP = 3 #FILE_COMPRESSION_NTCAB = 3 #FILEOP_NEWPATH = 4 #FILEOP_RETRY = #FILEOP_DOIT #FLG_ADDREG_TYPE_SZ = $00000000 #FLG_ADDREG_BINVALUETYPE = $00000001 #FLG_ADDREG_NOCLOBBER = $00000002 #FLG_ADDREG_DELVAL = $00000004 #FLG_ADDREG_APPEND = $00000008 #FLG_ADDREG_KEYONLY = $00000010 #FLG_ADDREG_OVERWRITEONLY = $00000020 #FLG_ADDREG_TYPE_MULTI_SZ = $00010000 #FLG_ADDREG_TYPE_EXPAND_SZ = $00020000 #FLG_ADDREG_TYPE_BINARY = ($00000000|#FLG_ADDREG_BINVALUETYPE) #FLG_ADDREG_TYPE_DWORD = ($00010000|#FLG_ADDREG_BINVALUETYPE) #FLG_ADDREG_TYPE_NONE = ($00020000|#FLG_ADDREG_BINVALUETYPE) #FLG_ADDREG_TYPE_MASK = ($FFFF0000|#FLG_ADDREG_BINVALUETYPE) #FLG_BITREG_CLEARBITS = $00000000 #FLG_BITREG_SETBITS = $00000001 #FLG_PROFITEM_CURRENTUSER = $00000001 #FLG_PROFITEM_DELETE = $00000002 #FLG_PROFITEM_GROUP = $00000004 #FLG_PROFITEM_CSIDL = $00000008 #FLG_REGSVR_DLLREGISTER = $00000001 #FLG_REGSVR_DLLINSTALL = $00000002 #MIN_IDD_DYNAWIZ_RESOURCE_ID = 10000 #MAX_IDD_DYNAWIZ_RESOURCE_ID = 11000 #IDD_DYNAWIZ_FIRSTPAGE = 10000 #IDD_DYNAWIZ_SELECT_PREVPAGE = 10001 #IDD_DYNAWIZ_SELECT_NEXTPAGE = 10002 #IDD_DYNAWIZ_ANALYZE_PREVPAGE = 10003 #IDD_DYNAWIZ_ANALYZE_NEXTPAGE = 10004 #IDD_DYNAWIZ_INSTALLDETECTED_PREVPAGE = 10006 #IDD_DYNAWIZ_INSTALLDETECTED_NEXTPAGE = 10007 #IDD_DYNAWIZ_INSTALLDETECTED_NODEVS = 10008 #IDD_DYNAWIZ_SELECTDEV_PAGE = 10009 #IDD_DYNAWIZ_ANALYZEDEV_PAGE = 10010 #IDD_DYNAWIZ_INSTALLDETECTEDDEVS_PAGE = 10011 #IDD_DYNAWIZ_SELECTCLASS_PAGE = 10012 #IDF_NOBROWSE = $00000001 #IDF_NOSKIP = $00000002 #IDF_NODETAILS = $00000004 #IDF_NOCOMPRESSED = $00000008 #IDF_CHECKFIRST = $00000100 #IDF_NOBEEP = $00000200 #IDF_NOFOREGROUND = $00000400 #IDF_WARNIFSKIP = $00000800 #IDF_OEMDISK = $80000000 #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 #INF_STYLE_NONE = $00000000 #INF_STYLE_OLDNT = $00000001 #INF_STYLE_WIN4 = $00000002 #INF_STYLE_CACHE_ENABLE = $00000010 #INF_STYLE_CACHE_DISABLE = $00000020 #INFINFO_INF_SPEC_IS_HINF = 1 #INFINFO_INF_NAME_IS_ABSOLUTE = 2 #INFINFO_DEFAULT_SEARCH = 3 #INFINFO_REVERSE_DEFAULT_SEARCH = 4 #INFINFO_INF_PATH_LIST_SEARCH = 5 #LogSevInformation = 0 #LogSevWarning = 1 #LogSevError = 2 #LogSevFatalError = 3 #LogSevMaximum = 4 #LogSeverity = #DWORD #MAX_INSTALLWIZARD_DYNAPAGES = 20 #NDW_INSTALLFLAG_DIDFACTDEFS = $00000001 #NDW_INSTALLFLAG_HARDWAREALLREADYIN = $00000002 #NDW_INSTALLFLAG_NEEDSHUTDOWN = $00000200 #NDW_INSTALLFLAG_EXPRESSINTRO = $00000400 #NDW_INSTALLFLAG_SKIPISDEVINSTALLED = $00000800 #NDW_INSTALLFLAG_NODETECTEDDEVS = $00001000 #NDW_INSTALLFLAG_INSTALLSPECIFIC = $00002000 #NDW_INSTALLFLAG_SKIPCLASSLIST = $00004000 #NDW_INSTALLFLAG_CI_PICKED_OEM = $00008000 #NDW_INSTALLFLAG_PCMCIAMODE = $00010000 #NDW_INSTALLFLAG_PCMCIADEVICE = $00020000 #NDW_INSTALLFLAG_USERCANCEL = $00040000 #NDW_INSTALLFLAG_KNOWNCLASS = $00080000 #NDW_INSTALLFLAG_NEEDRESTART = $00000080 #NDW_INSTALLFLAG_NEEDREBOOT = $00000100 #SETDIRID_NOT_FULL_PATH = $00000001 #SP_COPY_DELETESOURCE = $0000001 #SP_COPY_REPLACEONLY = $0000002 #SP_COPY_NEWER = $0000004 #SP_COPY_NEWER_OR_SAME = $0000004 #SP_COPY_NOOVERWRITE = $0000008 #SP_COPY_NODECOMP = $0000010 #SP_COPY_LANGUAGEAWARE = $0000020 #SP_COPY_SOURCE_ABSOLUTE = $0000040 #SP_COPY_SOURCEPATH_ABSOLUTE = $0000080 #SP_COPY_IN_USE_NEEDS_REBOOT = $0000100 #SP_COPY_FORCE_IN_USE = $0000200 #SP_COPY_NOSKIP = $0000400 #SP_COPY_FORCE_NOOVERWRITE = $0001000 #SP_COPY_FORCE_NEWER = $0002000 #SP_COPY_WARNIFSKIP = $0004000 #SP_COPY_NOBROWSE = $0008000 #SP_COPY_NEWER_ONLY = $0010000 #SP_COPY_SOURCE_SIS_MASTER = $0020000 #SP_COPY_OEMINF_CATALOG_ONLY = $0040000 #SP_COPY_REPLACE_BOOT_FILE = $0080000 #SP_COPY_NOPRUNE = $0100000 #SP_FLAG_CABINETCONTINUATION = $0000800 #SPCRP_SECURITY = 23 #SPCRP_SECURITY_SDS = 24 #SPCRP_DEVTYPE = 25 #SPCRP_EXCLUSIVE = 26 #SPCRP_CHARACTERISTICS = 27 #SPCRP_MAXIMUM_PROPERTY = 28 #SPDIT_NODRIVER = 0 #SPDIT_CLASSDRIVER = 1 #SPDIT_COMPATDRIVER = 2 #SPDRP_DEVICEDESC = 0 #SPDRP_HARDWAREID = 1 #SPDRP_COMPATIBLEIDS = 2 #SPDRP_UNUSED0 = 3 #SPDRP_SERVICE = 4 #SPDRP_UNUSED1 = 5 #SPDRP_UNUSED2 = 6 #SPDRP_CLASS = 7 #SPDRP_CLASSGUID = 8 #SPDRP_DRIVER = 9 #SPDRP_CONFIGFLAGS = 10 #SPDRP_MFG = 11 #SPDRP_FRIENDLYNAME = 12 #SPDRP_LOCATION_INFORMATION = 13 #SPDRP_PHYSICAL_DEVICE_OBJECT_NAME = 14 #SPDRP_CAPABILITIES = 15 #SPDRP_UI_NUMBER = 16 #SPDRP_UPPERFILTERS = 17 #SPDRP_LOWERFILTERS = 18 #SPDRP_BUSTYPEGUID = 19 #SPDRP_LEGACYBUSTYPE = 20 #SPDRP_BUSNUMBER = 21 #SPDRP_ENUMERATOR_NAME = 22 #SPDRP_SECURITY = 23 #SPDRP_SECURITY_SDS = 24 #SPDRP_DEVTYPE = 25 #SPDRP_EXCLUSIVE = 26 #SPDRP_CHARACTERISTICS = 27 #SPDRP_ADDRESS = 28 #SPDRP_UI_NUMBER_DESC_FORMAT = 30 #SPDRP_MAXIMUM_PROPERTY = 31 #SPDSL_IGNORE_DISK = 1 #SPDSL_DISALLOW_NEGATIVE_ADJUST = 2 #SPFILENOTIFY_STARTQUEUE = 1 #SPFILENOTIFY_ENDQUEUE = 2 #SPFILENOTIFY_STARTSUBQUEUE = 3 #SPFILENOTIFY_ENDSUBQUEUE = 4 #SPFILENOTIFY_STARTDELETE = 5 #SPFILENOTIFY_ENDDELETE = 6 #SPFILENOTIFY_DELETEERROR = 7 #SPFILENOTIFY_STARTRENAME = 8 #SPFILENOTIFY_ENDRENAME = 9 #SPFILENOTIFY_RENAMEERROR = 10 #SPFILENOTIFY_STARTCOPY = 11 #SPFILENOTIFY_ENDCOPY = 12 #SPFILENOTIFY_COPYERROR = 13 #SPFILENOTIFY_NEEDMEDIA = 14 #SPFILENOTIFY_QUEUESCAN = 15 #SPFILENOTIFY_CABINETINFO = 16 #SPFILENOTIFY_FILEINCABINET = 17 #SPFILENOTIFY_NEEDNEWCABINET = 18 #SPFILENOTIFY_FILEEXTRACTED = 19 #SPFILENOTIFY_FILEOPDELAYED = 20 #SPFILENOTIFY_STARTBACKUP = 21 #SPFILENOTIFY_BACKUPERROR = 22 #SPFILENOTIFY_ENDBACKUP = 23 #SPFILENOTIFY_QUEUESCAN_EX = 24 #SPFILENOTIFY_LANGMISMATCH = $00010000 #SPFILENOTIFY_TARGETEXISTS = $00020000 #SPFILENOTIFY_TARGETNEWER = $00040000 #SPFILELOG_SYSTEMLOG = $00000001 #SPFILELOG_OEMFILE = $00000001 #SPFILELOG_FORCENEW = $00000002 #SPFILELOG_QUERYONLY = $00000004 #SPFILEQ_FILE_IN_USE = $00000001 #SPFILEQ_REBOOT_RECOMMENDED = $00000002 #SPFILEQ_REBOOT_IN_PROGRESS = $00000004 #SPINT_ACTIVE = $00000001 #SPINT_DEFAULT = $00000002 #SPINT_REMOVED = $00000004 #SPID_ACTIVE = $00000001 #SPID_DEFAULT = $00000002 #SPID_REMOVED = $00000004 #SPINST_LOGCONFIG = $00000001 #SPINST_INIFILES = $00000002 #SPINST_REGISTRY = $00000004 #SPINST_INI2REG = $00000008 #SPINST_FILES = $00000010 #SPINST_BITREG = $00000020 #SPINST_REGSVR = $00000040 #SPINST_UNREGSVR = $00000080 #SPINST_PROFILEITEMS = $00000100 #SPINST_ALL = $000001ff #SPINST_SINGLESECTION = $00010000 #SPINST_LOGCONFIG_IS_FORCED = $00020000 #SPINST_LOGCONFIGS_ARE_OVERRIDES = $00040000 #SPOST_NONE = 0 #SPOST_PATH = 1 #SPOST_URL = 2 #SPOST_MAX = 3 #SPPSR_SELECT_DEVICE_RESOURCES = 1 #SPPSR_ENUM_BASIC_DEVICE_PROPERTIES = 2 #SPPSR_ENUM_ADV_DEVICE_PROPERTIES = 3 #SPQ_SCAN_FILE_PRESENCE = $00000001 #SPQ_DELAYED_COPY = $00000001 #SPQ_SCAN_FILE_VALIDITY = $00000002 #SPQ_SCAN_USE_CALLBACK = $00000004 #SPQ_SCAN_USE_CALLBACKEX = $00000008 #SPQ_SCAN_INFORM_USER = $00000010 #SPQ_SCAN_PRUNE_COPY_QUEUE = $00000020 #SPRDI_FIND_DUPS = $00000001 #SPSVCINST_TAGTOFRONT = $00000001 #SPSVCINST_ASSOCSERVICE = $00000002 #SPSVCINST_DELETEEVENTLOGENTRY = $00000004 #SPSVCINST_NOCLOBBER_DISPLAYNAME = $00000008 #SPSVCINST_NOCLOBBER_STARTTYPE = $00000010 #SPSVCINST_NOCLOBBER_ERRORCONTROL = $00000020 #SPSVCINST_NOCLOBBER_LOADORDERGROUP = $00000040 #SPSVCINST_NOCLOBBER_DEPENDENCIES = $00000080 #SPSVCINST_NOCLOBBER_DESCRIPTION = $00000100 #SPSVCINST_STOPSERVICE = $00000200 #SPWPT_SELECTDEVICE = $00000001 #SPWP_USE_DEVINFO_DATA = $00000001 #SRCINFO_PATH = 1 #SRCINFO_TAGFILE = 2 #SRCINFO_DESCRIPTION = 3 #SRCINFO_FLAGS = 4 #SRCLIST_TEMPORARY = $00000001 #SRCLIST_NOBROWSE = $00000002 #SRCLIST_SYSTEM = $00000010 #SRCLIST_USER = $00000020 #SRCLIST_SYSIFADMIN = $00000040 #SRCLIST_SUBDIRS = $00000100 #SRCLIST_APPEND = $00000200 #SRCLIST_NOSTRIPPLATFORM = $00000400 ;- Structures Structure INFCONTEXT *Inf *CurrentInf Section.l Line.l EndStructure : Global *INFCONTEXT.INFCONTEXT Structure SP_INF_INFORMATION InfStyle.l InfCount.l VersionData.c[#ANYSIZE_ARRAY] EndStructure : Global *SP_INF_INFORMATION.SP_INF_INFORMATION Structure SP_ALTPLATFORM_INFO cbSize.l Platform.l MajorVersion.l MinorVersion.l ProcessorArchitecture.w Reserved.w EndStructure : Global *SP_ALTPLATFORM_INFO.SP_ALTPLATFORM_INFO Structure SP_ORIGINAL_FILE_INFO ;{A&W} cbSize.l OriginalInfName.c[#MAX_PATH] OriginalCatalogName.c[#MAX_PATH] EndStructure : Global *SP_ORIGINAL_FILE_INFO.SP_ORIGINAL_FILE_INFO Structure FILEPATHS ;{A&W} *Target *Source Win32Error.l Flags.l EndStructure : Global *FILEPATHS.FILEPATHS Structure SOURCE_MEDIA ;{A&W} *Reserved ; *Tagfile ; *Description ; *SourcePath ; *SourceFile ; Flags.l EndStructure : Global *PSOURCE_MEDIA.SOURCE_MEDIA Structure CABINET_INFO ;{A&W} *CabinetPath *CabinetFile *DiskName SetId.w CabinetNumber.w EndStructure : Global *CABINET_INFO.CABINET_INFO Structure FILE_IN_CABINET_INFO ;{A&W} *NameInCabinet FileSize.l Win32Error.l DosDate.w DosTime.w DosAttribs.w FullTargetName.c[#MAX_PATH] EndStructure : Global *FILE_IN_CABINET_INFO.FILE_IN_CABINET_INFO Structure SP_FILE_COPY_PARAMS ;{A&W} cbSize.l *QueueHandle *SourceRootPath *SourcePath *SourceFilename *SourceDescription *SourceTagfile *TargetDirectory *TargetFilename CopyStyle.l *LayoutInf *SecurityDescriptor EndStructure : Global *SP_FILE_COPY_PARAMS.SP_FILE_COPY_PARAMS Structure SP_DEVINFO_DATA cbSize.l ClassGuid.GUID DevInst.l *Reserved EndStructure : Global *SP_DEVINFO_DATA.SP_DEVINFO_DATA ; Structure SP_DEVICE_INTERFACE_DATA ; cbSize.l ; InterfaceClassGuid.GUID ; Flags.l ; *Reserved ; EndStructure : Global.SP_DEVICE_INTERFACE_DATA *SP_DEVICE_INTERFACE_DATA, *SP_INTERFACE_DEVICE_DATA Structure SP_DEVICE_INTERFACE_DETAIL_DATA ;{A&W} cbSize.l DevicePath.c[#ANYSIZE_ARRAY] EndStructure : Global.SP_DEVICE_INTERFACE_DETAIL_DATA *SP_DEVICE_INTERFACE_DETAIL_DATA, *SP_INTERFACE_DEVICE_DETAIL_DATA Structure SP_DEVINFO_LIST_DETAIL_DATA ;{A&W} cbSize.l ClassGuid.GUID RemoteMachineHandle.i RemoteMachineName.c[#SP_MAX_MACHINENAME_LENGTH] EndStructure : Global *SP_DEVINFO_LIST_DETAIL_DATA.SP_DEVINFO_LIST_DETAIL_DATA Structure SP_DEVINSTALL_PARAMS ;{A&W} cbSize.l Flags.l FlagsEx.l hwndParent.i *InstallMsgHandler ;PSP_FILE_CALLBACK_A *InstallMsgHandlerContext *FileQueue *ClassInstallReserved Reserved.l DriverPath.c[#MAX_PATH] EndStructure : Global *SP_DEVINSTALL_PARAMS.SP_DEVINSTALL_PARAMS Structure SP_CLASSINSTALL_HEADER cbSize.l InstallFunction.l EndStructure : Global *SP_CLASSINSTALL_HEADER.SP_CLASSINSTALL_HEADER Structure SP_ENABLECLASS_PARAMS ClassInstallHeader.SP_CLASSINSTALL_HEADER ClassGuid.GUID EnableMessage.l EndStructure : Global *SP_ENABLECLASS_PARAMS.SP_ENABLECLASS_PARAMS Structure SP_MOVEDEV_PARAMS ClassInstallHeader.SP_CLASSINSTALL_HEADER SourceDeviceInfoData.SP_DEVINFO_DATA EndStructure : Global *SP_MOVEDEV_PARAMS.SP_MOVEDEV_PARAMS Structure SP_PROPCHANGE_PARAMS ClassInstallHeader.SP_CLASSINSTALL_HEADER StateChange.l Scope.l HwProfile.l EndStructure : Global *SP_PROPCHANGE_PARAMS.SP_PROPCHANGE_PARAMS Structure SP_REMOVEDEVICE_PARAMS ClassInstallHeader.SP_CLASSINSTALL_HEADER Scope.l HwProfile.l EndStructure : Global *SP_REMOVEDEVICE_PARAMS.SP_REMOVEDEVICE_PARAMS Structure SP_UNREMOVEDEVICE_PARAMS ClassInstallHeader.SP_CLASSINSTALL_HEADER Scope.l HwProfile.l EndStructure : Global *SP_UNREMOVEDEVICE_PARAMS.SP_UNREMOVEDEVICE_PARAMS Structure SP_SELECTDEVICE_PARAMS ;{A&W} ClassInstallHeader.SP_CLASSINSTALL_HEADER Title.c[#MAX_TITLE_LEN] Instructions.c[#MAX_INSTRUCTION_LEN] ListLabel.c[#MAX_LABEL_LEN] SubTitle.c[#MAX_SUBTITLE_LEN] Reserved.c[2] EndStructure : Global *SP_SELECTDEVICE_PARAMS.SP_SELECTDEVICE_PARAMS Structure SP_DETECTDEVICE_PARAMS ClassInstallHeader.SP_CLASSINSTALL_HEADER *DetectProgressNotify ;PDETECT_PROGRESS_NOTIFY *ProgressNotifyParam EndStructure : Global *SP_DETECTDEVICE_PARAMS.SP_DETECTDEVICE_PARAMS Structure SP_INSTALLWIZARD_DATA ClassInstallHeader.SP_CLASSINSTALL_HEADER Flags.l DynamicPages.i[#MAX_INSTALLWIZARD_DYNAPAGES] NumDynamicPages.l DynamicPageFlags.l PrivateFlags.l PrivateData.i hwndWizardDlg.i EndStructure : Global *SP_INSTALLWIZARD_DATA.SP_INSTALLWIZARD_DATA Structure SP_NEWDEVICEWIZARD_DATA ClassInstallHeader.SP_CLASSINSTALL_HEADER Flags.l DynamicPages.i[#MAX_INSTALLWIZARD_DYNAPAGES] NumDynamicPages.l hwndWizardDlg.i EndStructure : Global.SP_NEWDEVICEWIZARD_DATA *SP_NEWDEVICEWIZARD_DATA, *SP_ADDPROPERTYPAGE_DATA Structure SP_TROUBLESHOOTER_PARAMS ;{A&W} ClassInstallHeader.SP_CLASSINSTALL_HEADER ChmFile.c[#MAX_PATH] HtmlTroubleShooter.c[#MAX_PATH] EndStructure : Global *SP_TROUBLESHOOTER_PARAMS.SP_TROUBLESHOOTER_PARAMS Structure SP_POWERMESSAGEWAKE_PARAMS ;{A&W} ClassInstallHeader.SP_CLASSINSTALL_HEADER PowerMessageWake.c[#LINE_LEN*2] EndStructure : Global *SP_POWERMESSAGEWAKE_PARAMS.SP_POWERMESSAGEWAKE_PARAMS Structure SP_DRVINFO_DATA_V2 ;{A&W} cbSize.l DriverType.l *Reserved Description.c[#LINE_LEN] MfgName.c[#LINE_LEN] ProviderName.c[#LINE_LEN] DriverDate.FILETIME DriverVersion.LARGE_INTEGER ; DWORDLONG 64bit INTEGER EndStructure : Global *SP_DRVINFO_DATA_V2.SP_DRVINFO_DATA_V2 Structure SP_DRVINFO_DATA_V1 ;{A&W} cbSize.l DriverType.l *Reserved Description.c[#LINE_LEN] MfgName.c[#LINE_LEN] ProviderName.c[#LINE_LEN] EndStructure : Global *SP_DRVINFO_DATA_V1.SP_DRVINFO_DATA_V1 Structure SP_DRVINFO_DETAIL_DATA ;{A&W} cbSize.l InfDate.FILETIME CompatIDsOffset.l CompatIDsLength.l *Reserved SectionName.c[#LINE_LEN] InfFileName.c[#MAX_PATH] DrvDescription.c[#LINE_LEN] HardwareID.c[#ANYSIZE_ARRAY] EndStructure : Global *SP_DRVINFO_DETAIL_DATA.SP_DRVINFO_DETAIL_DATA Structure SP_DRVINSTALL_PARAMS cbSize.l Rank.l Flags.l PrivateData.i Reserved.l EndStructure : Global *SP_DRVINSTALL_PARAMS.SP_DRVINSTALL_PARAMS Structure COINSTALLER_CONTEXT_DATA PostProcessing.b InstallResult.l *PrivateData EndStructure : Global *COINSTALLER_CONTEXT_DATA.COINSTALLER_CONTEXT_DATA Structure SP_CLASSIMAGELIST_DATA cbSize.l ImageList.i *Reserved EndStructure : Global *SP_CLASSIMAGELIST_DATA.SP_CLASSIMAGELIST_DATA Structure SP_PROPSHEETPAGE_REQUEST cbSize.l PageRequested.l DeviceInfoSet.l ;HDEVINFO DeviceInfoData.SP_DEVINFO_DATA EndStructure : Global *SP_PROPSHEETPAGE_REQUEST.SP_PROPSHEETPAGE_REQUEST Structure SP_BACKUP_QUEUE_PARAMS ;{A&W} cbSize.l FullInfPath.c[#MAX_PATH] FilenameOffset.l EndStructure : Global *SP_BACKUP_QUEUE_PARAMS.SP_BACKUP_QUEUE_PARAMS ;- Prototypes Prototype.b SetupAddInstallSectionToDiskSpaceList(HDSKSPC,HINF1,HINF2,PCSTR,PVOID,UINT.l) ;{A&W} Prototype.b SetupAddSectionToDiskSpaceList(HDSKSPC,HINF1,HINF2,PCSTR,UINT1.l,PVOID,UINT2.l) ;{A&W} Prototype.b SetupAddToDiskSpaceList(HDSKSPC,PCSTR,LONGLONG.q,UINT1.l,PVOID,UINT2.l) ;{A&W} Prototype.b SetupAddToSourceList(DWORD.l,PCSTR) ;{A&W} Prototype.b SetupAdjustDiskSpaceList(HDSKSPC,LPCSTR,LONGLONG.q,PVOID,UINT.l) ;{A&W} Prototype.l SetupBackupError(HWND,PCSTR,PCSTR1,PCSTR2,UINT.l,DWORD.l) ;{A&W} Prototype.b SetupCancelTemporary(VOID) Prototype.b SetupCloseFileQueue(HSPFILEQ) Prototype SetupCloseInfFile(HINF) Prototype SetupCloseLog(VOID) Prototype.b SetupCommitFileQueue(HWND,HSPFILEQ,PSP_FILE_CALLBACK_A,PVOID) ;{A&W} Prototype.l SetupCopyError(HWND,PCSTR1,PCSTR2,PCSTR3,PCSTR4,PCSTR5,UINT.l,DWORD.l,PSTR6,DWORD1.l,PDWORD2.l) ;{A&W} Prototype.b SetupCopyOEMInf(PCSTR1,PCSTR2,DWORD1.l,DWORD2.l,PSTR3,DWORD3.l,PDWORD4.l,*PSTR) ;{A&W} Prototype.i SetupCreateDiskSpaceList(PVOID,DWORD.l,UINT.l) ;{A&W} Prototype.l SetupDecompressOrCopyFile(PCSTR1,PCSTR2,PUINT.l) ;{A&W} Prototype.l SetupDefaultQueueCallback(PVOID,UINT.l,UINT_PTR1,UINT_PTR2) ;{A&W} Prototype.l SetupDeleteError(HWND,PCSTR1,PCSTR2,UINT.l,DWORD.l) ;{A&W} Prototype.b SetupDestroyDiskSpaceList(HDSKSPC) Prototype.b SetupDiAskForOEMDisk(HDEVINFO,PSP_DEVINFO_DATA) Prototype.b SetupDiBuildClassInfoList(DWORD1.l,*LPGUID,DWORD2.l,PDWORD.l) Prototype.b SetupDiBuildClassInfoListEx(DWORD1.l,*LPGUID,DWORD2.l,PDWORD.l,PCSTR,PVOID) ;{A&W} Prototype.b SetupDiBuildDriverInfoList(HDEVINFO,PSP_DEVINFO_DATA,DWORD.l) Prototype.b SetupDiCallClassInstaller(DI_FUNCTION,HDEVINFO,PSP_DEVINFO_DATA) Prototype.b SetupDiCancelDriverInfoSearch(HDEVINFO) Prototype.b SetupDiChangeState(HDEVINFO,PSP_DEVINFO_DATA) Prototype.b SetupDiClassGuidsFromName(PCSTR,*LPGUID,DWORD.l,PDWORD.l) ;{A&W} Prototype.b SetupDiClassGuidsFromNameEx(PCSTR1,*LPGUID,DWORD.l,PDWORD.l,PCSTR2,PVOID) ;{A&W} Prototype.b SetupDiClassNameFromGuid(GUID,PSTR,DWORD.l,PDWORD.l) ;{A&W} Prototype.b SetupDiClassNameFromGuidEx(GUID,PSTR,DWORD.l,PDWORD.l,PCSTR,PVOID) ;{A&W} Prototype.b SetupDiCreateDeviceInfo(HDEVINFO,PCSTR1,GUID,PCSTR2,HWND,DWORD.l,PSP_DEVINFO_DATA) ;{A&W} Prototype.i SetupDiCreateDeviceInfoList(GUID,HWND) Prototype.i SetupDiCreateDeviceInfoListEx(GUID,HWND,PCSTR,PVOID) ;{A&W} Prototype.b SetupDiCreateDeviceInterface(HDEVINFO,PSP_DEVINFO_DATA,GUID,PCSTR,DWORD.l,PSP_DEVICE_INTERFACE_DATA) ;{A&W} Prototype.i SetupDiCreateDeviceInterfaceReg(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,DWORD.l,REGSAM,HINF,PCSTR) ;{A&W} Prototype.i SetupDiCreateDeviceInterfaceRegKey(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,DWORD.l,REGSAM,HINF,PCTSTR) Prototype.i SetupDiCreateDevReg(HDEVINFO,PSP_DEVINFO_DATA,DWORD1.l,DWORD2.l,DWORD3.l,HINF,PCSTR) ;{A&W} Prototype.b SetupDiDeleteDeviceInfo(HDEVINFO,PSP_DEVINFO_DATA) Prototype.b SetupDiDeleteDeviceInterfaceData(HDEVINFO,PSP_DEVICE_INTERFACE_DATA) Prototype.b SetupDiDeleteDeviceInterfaceReg(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,DWORD.l) Prototype.b SetupDiDeleteDevReg(HDEVINFO,PSP_DEVINFO_DATA,DWORD1.l,DWORD2.l,DWORD3.l) Prototype.b SetupDiDestroyClassImageList(PSP_CLASSIMAGELIST_DATA) Prototype.b SetupDiDestroyDeviceInfoList(HDEVINFO) Prototype.b SetupDiDestroyDriverInfoList(HDEVINFO,PSP_DEVINFO_DATA,DWORD.l) Prototype.l SetupDiDrawMiniIcon(HDC,RECT,INT,DWORD.l) Prototype.b SetupDiEnumDeviceInfo(HDEVINFO,DWORD.l,PSP_DEVINFO_DATA) Prototype.b SetupDiEnumDeviceInterfaces(HDEVINFO,PSP_DEVINFO_DATA,GUID,DWORD.l,PSP_DEVICE_INTERFACE_DATA) Prototype.b SetupDiEnumDriverInfo(HDEVINFO,PSP_DEVINFO_DATA,DWORD1.l,DWORD2.l,PSP_DRVINFO_DATA_A) ;{A&W} Prototype.b SetupDiGetActualSectionToInstall(HINF,PCSTR,PSTR,DWORD.l,PDWORD.l,*PSTR) ;{A&W} Prototype.b SetupDiGetClassBitmapIndex(GUID,PINT) Prototype.b SetupDiGetClassDescription(GUID,PSTR,DWORD.l,PDWORD.l) ;{A&W} Prototype.b SetupDiGetClassDescriptionEx(GUID,PSTR,DWORD.l,PDWORD.l,PCSTR,PVOID) ;{A&W} Prototype.b SetupDiGetClassDevPropertySheets(HDEVINFO,PSP_DEVINFO_DATA,LPPROPSHEETHEADERA,DWORD1.l,PDWORD2.l,DWORD3.l) ;{A&W} Prototype.i SetupDiGetClassDevs(GUID,PCSTR,HWND,DWORD.l) ;{A&W} Prototype.i SetupDiGetClassDevsEx(GUID,PCSTR1,HWND,DWORD.l,HDEVINFO,PCSTR2,PVOID) ;{A&W} Prototype.b SetupDiGetClassImageIndex(PSP_CLASSIMAGELIST_DATA,GUID,PINT) Prototype.b SetupDiGetClassImageList(PSP_CLASSIMAGELIST_DATA) Prototype.b SetupDiGetClassImageListEx(PSP_CLASSIMAGELIST_DATA,PCSTR,PVOID) ;{A&W} Prototype.b SetupDiGetClassInstallParams(HDEVINFO,PSP_DEVINFO_DATA,PSP_CLASSINSTALL_HEADER,DWORD.l,PDWORD.l) ;{A&W} Prototype.b SetupDiGetClassRegistryProperty(*LPGUID,DWORD1.l,PDWORD.l,PBYTE,DWORD2.l,PDWORD3.l,PCSTR,PVOID) ;{A&W} Prototype.b SetupDiGetDeviceInfoListClass(HDEVINFO,*LPGUID) Prototype.b SetupDiGetDeviceInfoListDetail(HDEVINFO,PSP_DEVINFO_LIST_DETAIL_DATA_A) ;{A&W} Prototype.b SetupDiGetDeviceInstallParams(HDEVINFO,PSP_DEVINFO_DATA,PSP_DEVINSTALL_PARAMS_A) ;{A&W} Prototype.b SetupDiGetDeviceInstanceId(HDEVINFO,PSP_DEVINFO_DATA,PSTR,DWORD.l,PDWORD.l) ;{A&W} Prototype.b SetupDiGetDeviceInterfaceAlias(HDEVINFO,PSP_DEVICE_INTERFACE_DATA1,GUID,PSP_DEVICE_INTERFACE_DATA2) Prototype.b SetupDiGetDeviceInterfaceDetail(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,PSP_DEVICE_INTERFACE_DETAIL_DATA_A,DWORD.l,PDWORD.l,PSP_DEVINFO_DATA) ;{A&W} Prototype.b SetupDiGetDeviceRegistryProperty(HDEVINFO,PSP_DEVINFO_DATA,DWORD1.l,PDWORD1.l,PBYTE,DWORD2.l,PDWORD2.l) ;{A&W} Prototype.b SetupDiGetDriverInfoDetail(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_A,PSP_DRVINFO_DETAIL_DATA_A,DWORD.l,PDWORD.l) ;{A&W} Prototype.b SetupDiGetDriverInstallParams(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_A,PSP_DRVINSTALL_PARAMS) ;{A&W} Prototype.b SetupDiGetHwProfileFriendlyName(DWORD1.l,PSTR,DWORD2.l,PDWORD.l) ;{A&W} Prototype.b SetupDiGetHwProfileFriendlyNameEx(DWORD1.l,PSTR,DWORD2.l,PDWORD3.l,PCSTR,PVOID) ;{A&W} Prototype.b SetupDiGetHwProfileList(PDWORD1.l,DWORD.l,PDWORD2.l,PDWORD3.l) Prototype.b SetupDiGetHwProfileListEx(PDWORD1.l,DWORD.l,PDWORD2.l,PDWORD3.l,PCSTR,PVOID) ;{A&W} Prototype.b SetupDiGetINFClass(PCSTR,*LPGUID,PSTR,DWORD.l,PDWORD.l) ;{A&W} Prototype.b SetupDiGetSelectedDevice(HDEVINFO,PSP_DEVINFO_DATA) Prototype.b SetupDiGetSelectedDriver(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_A) ;{A&W} Prototype.i SetupDiGetWizardage(HDEVINFO,PSP_DEVINFO_DATA,PSP_INSTALLWIZARD_DATA,DWORD1.l,DWORD2.l) Prototype.b SetupDiInstallClass(HWND,PCSTR,DWORD.l,HSPFILEQ) ;{A&W} Prototype.b SetupDiInstallClassEx(HWND,PCSTR,DWORD.l,HSPFILEQ,GUID,PVOID1,PVOID2) ;{A&W} Prototype.b SetupDiInstallDevice(HDEVINFO,PSP_DEVINFO_DATA) Prototype.b SetupDiInstallDeviceInterfaces(HDEVINFO,PSP_DEVINFO_DATA) Prototype.b SetupDiInstallDriverFiles(HDEVINFO,PSP_DEVINFO_DATA) Prototype.b SetupDiLoadClassIcon(GUID,*HICON,PINT) Prototype.b SetupDiMoveDuplicateDevice(HDEVINFO,PSP_DEVINFO_DATA) Prototype.i SetupDiOpenClassReg(GUID,REGSAM) Prototype.i SetupDiOpenClassRegEx(GUID,REGSAM,DWORD.l,PCSTR,PVOID) ;{A&W} Prototype.b SetupDiOpenDeviceInfo(HDEVINFO,PCSTR,HWND,DWORD.l,PSP_DEVINFO_DATA) ;{A&W} Prototype.b SetupDiOpenDeviceInterface(HDEVINFO,PCSTR,DWORD.l,PSP_DEVICE_INTERFACE_DATA) ;{A&W} Prototype.i SetupDiOpenDeviceInterfaceReg(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,DWORD.l,REGSAM) Prototype.i SetupDiOpenDevReg(HDEVINFO,PSP_DEVINFO_DATA,DWORD1.l,DWORD2.l,DWORD3.l,REGSAM) Prototype.b SetupDiRegisterCoDeviceInstallers(HDEVINFO,PSP_DEVINFO_DATA) Prototype.b SetupDiRegisterDeviceInfo(HDEVINFO,PSP_DEVINFO_DATA1,DWORD.l,PSP_DETSIG_CMPPROC,PVOID,PSP_DEVINFO_DATA2) Prototype.b SetupDiRemoveDevice(HDEVINFO,PSP_DEVINFO_DATA) Prototype.b SetupDiRemoveDeviceInterface(HDEVINFO,PSP_DEVICE_INTERFACE_DATA) Prototype.b SetupDiSelectBestCompatDrv(HDEVINFO,PSP_DEVINFO_DATA) Prototype.b SetupDiSelectDevice(HDEVINFO,PSP_DEVINFO_DATA) Prototype.b SetupDiSelectOEMDrv(HWND,HDEVINFO,PSP_DEVINFO_DATA) Prototype.b SetupDiSetClassInstallParams(HDEVINFO,PSP_DEVINFO_DATA,PSP_CLASSINSTALL_HEADER,DWORD.l) ;{A&W} Prototype.b SetupDiSetClassRegistryProperty(*LPGUID,DWORD1.l,CONST_BYTE.l,DWORD2.l,PCSTR,PVOID) ;{A&W} Prototype.b SetupDiSetDeviceInstallParams(HDEVINFO,PSP_DEVINFO_DATA,PSP_DEVINSTALL_PARAMS_A) ;{A&W} Prototype.b SetupDiSetDeviceRegistryProperty(HDEVINFO,PSP_DEVINFO_DATA,DWORD1.l,CONST_BYTE.l,DWORD2.l) ;{A&W} Prototype.b SetupDiSetDriverInstallParams(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_A,PSP_DRVINSTALL_PARAMS) ;{A&W} Prototype.b SetupDiSetSelectedDevice(HDEVINFO,PSP_DEVINFO_DATA) Prototype.b SetupDiSetSelectedDriver(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_A) ;{A&W} Prototype.b SetupDiUnremoveDevice(HDEVINFO,PSP_DEVINFO_DATA) Prototype.i SetupDuplicateDiskSpaceList(HDSKSPC,PVOID,DWORD.l,UINT.l) ;{A&W} Prototype.b SetupFindFirstLine(HINF,PCSTR1,PCSTR2,PINFCONTEXT) ;{A&W} Prototype.b SetupFindNextLine(PINFCONTEXT1,PINFCONTEXT2) Prototype.b SetupFindNextMatchLine(PINFCONTEXT1,PCSTR,PINFCONTEXT2) ;{A&W} Prototype.b SetupFree(*PCSTR,UINT.l) ;{A&W} Prototype.b SetupGetBackupInformation(HSPFILEQ,PSP_BACKUP_QUEUE_PARAMS_A) ;{A&W} Prototype.b SetupGetBinaryField(PINFCONTEXT,DWORD1.l,PBYTE,DWORD2.l,LPDWORD.l) Prototype.l SetupGetFieldCount(PINFCONTEXT) Prototype.l SetupGetFileCompressionInfo(PCSTR,*PSTR,PDWORD1.l,PDWORD2.l,PUINT.l) ;{A&W} Prototype.b SetupGetInfFileList(PCSTR1,DWORD1.l,PSTR2,DWORD2.l,PDWORD.l) ;{A&W} Prototype.b SetupGetInfInformation(LPCVOID,DWORD1.l,PSP_INF_INFORMATION,DWORD2.l,PDWORD3.l) ;{A&W} Prototype.b SetupGetIntField(PINFCONTEXT,DWORD.l,PINT) Prototype.b SetupGetLineByIndex(HINF,PCSTR,DWORD.l,PINFCONTEXT) ;{A&W} Prototype.l SetupGetLineCount(HINF,PCSTR) ;{A&W} Prototype.b SetupGetLineText(PINFCONTEXT,HINF,PCSTR1,PCSTR2,DWORD1.l,PDWORD2.l) ;{A&W} Prototype.b SetupGetMultiSzField(PINFCONTEXT,DWORD1.l,PSTR,DWORD2.l,LPDWORD3.l) ;{A&W} Prototype.b SetupGetSourceFileLocation(HINF,PINFCONTEXT,PCSTR,PUINT.l,PSTR,DWORD.l,PDWORD.l) ;{A&W} Prototype.b SetupGetSourceFileSize(HINF,PINFCONTEXT,PCSTR1,PCSTR2,PDWORD.l,UINT.l) ;{A&W} Prototype.b SetupGetSourceInfo(HINF,UINT1.l,UINT2.l,PSTR,DWORD.l,PDWORD.l) ;{A&W} Prototype.b SetupGetStringField(PINFCONTEXT,DWORD1.l,PSTR,DWORD2.l,PDWORD.l) ;{A&W} Prototype.b SetupGetTargetPath(HINF,PINFCONTEXT,PCSTR,PSTR,DWORD.l,PDWORD.l) ;{A&W} Prototype.i SetupInitDefaultQueueCallback(HWND) Prototype.i SetupInitDefaultQueueCallbackEx(HWND1,HWND2,UINT.l,DWORD.l,PVOID) Prototype.i SetupInitializeFileLog(PCSTR,DWORD.l) ;{A&W} Prototype.b SetupInstallFile(HINF,PINFCONTEXT,PCSTR1,PCSTR2,PCSTR3,DWORD.l,PSP_FILE_CALLBACK_A,PVOID) ;{A&W} Prototype.b SetupInstallFileEx(HINF,PINFCONTEXT,PCSTR1,PCSTR2,PCSTR3,DWORD.l,PSP_FILE_CALLBACK_A,PVOID,PBOOL) ;{A&W} Prototype.b SetupInstallFilesFromInfSection(HINF1,HINF2,HSPFILEQ,PCSTR1,PCSTR2,UINT.l) ;{A&W} Prototype.b SetupInstallFromInfSection(HWND,HINF,PCSTR1,UINT1.l,HKEY,PCSTR2,UINT2.l,PSP_FILE_CALLBACK_A,PVOID,HDEVINFO,PSP_DEVINFO_DATA) ;{A&W} Prototype.b SetupInstallServicesFromInfSection(HINF,PCSTR,DWORD.l) ;{A&W} Prototype.b SetupInstallServicesFromInfSectionEx(HINF,PCSTR,DWORD.l,HDEVINFO,PSP_DEVINFO_DATA,PVOID1,PVOID2) ;{A&W} Prototype.b SetupIterateCabinet(PCSTR,DWORD.l,PSP_FILE_CALLBACK_A,PVOID) ;{A&W} Prototype.b SetupLogError(LPCSTR,LogSeverity) ;{A&W} Prototype.b SetupLogFile(HSPFILELOG,PCSTR1,PCSTR2,PCSTR3,DWORD1.l,PCSTR4,PCSTR5,PCSTR,DWORD2.l) ;{A&W} Prototype.b SetupOpenAppendInfFile(PCSTR,HINF,PUINT.l) ;{A&W} Prototype.i SetupOpenFileQueue(VOID) Prototype.i SetupOpenInfFile(PCSTR1,PCSTR2,DWORD.l,PUINT.l) ;{A&W} Prototype.b SetupOpenLog(BOOL.b) Prototype.i SetupOpenMasterInf(VOID) Prototype.l SetupPromptForDisk(HWND,PCSTR1,PCSTR2,PCSTR3,PCSTR4,PCSTR5,DWORD1.l,PSTR6,DWORD2.l,PDWORD.l) ;{A&W} Prototype.l SetupPromptReboot(HSPFILEQ,HWND,BOOL.b) Prototype.b SetupQuery(DWORD.l,*PCSTR,PUINT.l) ;{A&W} Prototype.b SetupQueryDrivesInDiskSpaceList(HDSKSPC,PSTR,DWORD.l,PDWORD.l) ;{A&W} Prototype.b SetupQueryFileLog(HSPFILELOG,PCSTR1,PCSTR2,SetupFileLogInfo,PSTR,DWORD.l,PDWORD.l) ;{A&W} Prototype.b SetupQueryInfFileInformation(PSP_INF_INFORMATION,UINT.l,PSTR,DWORD.l,PDWORD.l) ;{A&W} Prototype.b SetupQueryInfOriginalFileInformation(PSP_INF_INFORMATION,UINT.l,PSP_ALTPLATFORM_INFO,PSP_ORIGINAL_FILE_INFO_A) ;{A&W} Prototype.b SetupQueryInfVersionInformation(PSP_INF_INFORMATION,UINT.l,PSTR1,PSTR2,DWORD.l,PDWORD.l) ;{A&W} Prototype.b SetupQuerySpaceRequiredOnDrive(HDSKSPC,PCSTR,LONGLONG.q,PVOID,UINT.l) ;{A&W} Prototype.b SetupQueueCopy(HSPFILEQ,PCSTR1,PCSTR2,PCSTR3,PCSTR4,PCSTR5,PCSTR6,PCSTR7,DWORD.l) ;{A&W} Prototype.b SetupQueueCopyIndirect(PSP_FILE_COPY_PARAMS_A) ;{A&W} Prototype.b SetupQueueCopySection(HSPFILEQ,PCSTR1,HINF1,HINF2,PCSTR2,DWORD.l) ;{A&W} Prototype.b SetupQueueDefaultCopy(HSPFILEQ,HINF,PCSTR1,PCSTR2,PCSTR,DWORD.l) ;{A&W} Prototype.b SetupQueueDelete(HSPFILEQ,PCSTR1,PCSTR2) ;{A&W} Prototype.b SetupQueueDeleteSection(HSPFILEQ,HINF1,HINF2,PCSTR) ;{A&W} Prototype.b SetupQueueRename(HSPFILEQ,PCSTR1,PCSTR2,PCSTR3,PCSTR4) ;{A&W} Prototype.b SetupQueueRenameSection(HSPFILEQ,HINF1,HINF2,PCSTR) ;{A&W} Prototype.b SetupRemoveFileLogEntry(HSPFILELOG,PCSTR1,PCSTR2) ;{A&W} Prototype.b SetupRemoveFromDiskSpaceList(HDSKSPC,PCSTR,UINT1.l,PVOID,UINT2.l) ;{A&W} Prototype.b SetupRemoveFromSourceList(DWORD.l,PCSTR) ;{A&W} Prototype.b SetupRemoveInstallSectionFromDiskSpaceList(HDSKSPC,HINF1,HINF2,PCSTR,PVOID,UINT.l) ;{A&W} Prototype.b SetupRemoveSectionFromDiskSpaceList(HDSKSPC,HINF1,HINF2,PCSTR,UINT1.l,PVOID,UINT2.l) ;{A&W} Prototype.l SetupRenameError(HWND,PCSTR1,PCSTR2,PCSTR3,UINT.l,DWORD.l) ;{A&W} Prototype.b SetupScanFileQueue(HSPFILEQ,DWORD.l,HWND,PSP_FILE_CALLBACK_A,PVOID,PDWORD.l) ;{A&W} Prototype.b SetupSetDirectoryId(HINF,DWORD.l,PCSTR) ;{A&W} Prototype.b SetupSetDirectoryIdEx(HINF,DWORD1.l,PCSTR,DWORD2.l,DWORD3.l,PVOID) ;{A&W} Prototype.b SetupSetFileQueueAlternatePlatform(HSPFILEQ,PSP_ALTPLATFORM_INFO,PCSTR) ;{A&W} Prototype.b SetupSetPlatformPathOverride(PCSTR) ;{A&W} Prototype.b SetupSetSourceList(DWORD.l,*PCSTR,UINT.l) ;{A&W} Prototype.i SetupTermDefaultQueueCallback(PVOID) Prototype.b SetupTerminateFileLog(HSPFILELOG) ;- Global Assignments Global SetupAddInstallSectionToDiskSpaceList.SetupAddInstallSectionToDiskSpaceList Global SetupAddSectionToDiskSpaceList.SetupAddSectionToDiskSpaceList Global SetupAddToDiskSpaceList.SetupAddToDiskSpaceList Global SetupAddToSourceList.SetupAddToSourceList Global SetupAdjustDiskSpaceList.SetupAdjustDiskSpaceList Global SetupBackupError.SetupBackupError Global SetupCancelTemporary.SetupCancelTemporary Global SetupCloseFileQueue.SetupCloseFileQueue Global SetupCloseInfFile.SetupCloseInfFile Global SetupCloseLog.SetupCloseLog Global SetupCommitFileQueue.SetupCommitFileQueue Global SetupCopyError.SetupCopyError Global SetupCopyOEMInf.SetupCopyOEMInf Global SetupCreateDiskSpaceList.SetupCreateDiskSpaceList Global SetupDecompressOrCopyFile.SetupDecompressOrCopyFile Global SetupDefaultQueueCallback.SetupDefaultQueueCallback Global SetupDeleteError.SetupDeleteError Global SetupDestroyDiskSpaceList.SetupDestroyDiskSpaceList Global SetupDiAskForOEMDisk.SetupDiAskForOEMDisk Global SetupDiBuildClassInfoList.SetupDiBuildClassInfoList Global SetupDiBuildClassInfoListEx.SetupDiBuildClassInfoListEx Global SetupDiBuildDriverInfoList.SetupDiBuildDriverInfoList Global SetupDiCallClassInstaller.SetupDiCallClassInstaller Global SetupDiCancelDriverInfoSearch.SetupDiCancelDriverInfoSearch Global SetupDiChangeState.SetupDiChangeState Global SetupDiClassGuidsFromName.SetupDiClassGuidsFromName Global SetupDiClassGuidsFromNameEx.SetupDiClassGuidsFromNameEx Global SetupDiClassNameFromGuid.SetupDiClassNameFromGuid Global SetupDiClassNameFromGuidEx.SetupDiClassNameFromGuidEx Global SetupDiCreateDeviceInfo.SetupDiCreateDeviceInfo Global SetupDiCreateDeviceInfoList.SetupDiCreateDeviceInfoList Global SetupDiCreateDeviceInfoListEx.SetupDiCreateDeviceInfoListEx Global SetupDiCreateDeviceInterface.SetupDiCreateDeviceInterface Global SetupDiCreateDeviceInterfaceReg.SetupDiCreateDeviceInterfaceReg Global SetupDiCreateDevReg.SetupDiCreateDevReg Global SetupDiDeleteDeviceInfo.SetupDiDeleteDeviceInfo Global SetupDiDeleteDeviceInterfaceData.SetupDiDeleteDeviceInterfaceData Global SetupDiDeleteDeviceInterfaceReg.SetupDiDeleteDeviceInterfaceReg Global SetupDiDeleteDevReg.SetupDiDeleteDevReg Global SetupDiDestroyClassImageList.SetupDiDestroyClassImageList Global SetupDiDestroyDeviceInfoList.SetupDiDestroyDeviceInfoList Global SetupDiDestroyDriverInfoList.SetupDiDestroyDriverInfoList Global SetupDiDrawMiniIcon.SetupDiDrawMiniIcon Global SetupDiEnumDeviceInfo.SetupDiEnumDeviceInfo Global SetupDiEnumDeviceInterfaces.SetupDiEnumDeviceInterfaces Global SetupDiEnumDriverInfo.SetupDiEnumDriverInfo Global SetupDiGetActualSectionToInstall.SetupDiGetActualSectionToInstall Global SetupDiGetClassBitmapIndex.SetupDiGetClassBitmapIndex Global SetupDiGetClassDescription.SetupDiGetClassDescription Global SetupDiGetClassDescriptionEx.SetupDiGetClassDescriptionEx Global SetupDiGetClassDevPropertySheets.SetupDiGetClassDevPropertySheets Global SetupDiGetClassDevs.SetupDiGetClassDevs Global SetupDiGetClassDevsEx.SetupDiGetClassDevsEx Global SetupDiGetClassImageIndex.SetupDiGetClassImageIndex Global SetupDiGetClassImageList.SetupDiGetClassImageList Global SetupDiGetClassImageListEx.SetupDiGetClassImageListEx Global SetupDiGetClassInstallParams.SetupDiGetClassInstallParams Global SetupDiGetClassRegistryProperty.SetupDiGetClassRegistryProperty Global SetupDiGetDeviceInfoListClass.SetupDiGetDeviceInfoListClass Global SetupDiGetDeviceInfoListDetail.SetupDiGetDeviceInfoListDetail Global SetupDiGetDeviceInstallParams.SetupDiGetDeviceInstallParams Global SetupDiGetDeviceInstanceId.SetupDiGetDeviceInstanceId Global SetupDiGetDeviceInterfaceAlias.SetupDiGetDeviceInterfaceAlias Global SetupDiGetDeviceInterfaceDetail.SetupDiGetDeviceInterfaceDetail Global SetupDiGetDeviceRegistryProperty.SetupDiGetDeviceRegistryProperty Global SetupDiGetDriverInfoDetail.SetupDiGetDriverInfoDetail Global SetupDiGetDriverInstallParams.SetupDiGetDriverInstallParams Global SetupDiGetHwProfileFriendlyName.SetupDiGetHwProfileFriendlyName Global SetupDiGetHwProfileFriendlyNameEx.SetupDiGetHwProfileFriendlyNameEx Global SetupDiGetHwProfileList.SetupDiGetHwProfileList Global SetupDiGetHwProfileListEx.SetupDiGetHwProfileListEx Global SetupDiGetINFClass.SetupDiGetINFClass Global SetupDiGetSelectedDevice.SetupDiGetSelectedDevice Global SetupDiGetSelectedDriver.SetupDiGetSelectedDriver Global SetupDiGetWizardage.SetupDiGetWizardage Global SetupDiInstallClass.SetupDiInstallClass Global SetupDiInstallClassEx.SetupDiInstallClassEx Global SetupDiInstallDevice.SetupDiInstallDevice Global SetupDiInstallDeviceInterfaces.SetupDiInstallDeviceInterfaces Global SetupDiInstallDriverFiles.SetupDiInstallDriverFiles Global SetupDiLoadClassIcon.SetupDiLoadClassIcon Global SetupDiMoveDuplicateDevice.SetupDiMoveDuplicateDevice Global SetupDiOpenClassReg.SetupDiOpenClassReg Global SetupDiOpenClassRegEx.SetupDiOpenClassRegEx Global SetupDiOpenDeviceInfo.SetupDiOpenDeviceInfo Global SetupDiOpenDeviceInterface.SetupDiOpenDeviceInterface Global SetupDiOpenDeviceInterfaceReg.SetupDiOpenDeviceInterfaceReg Global SetupDiOpenDevReg.SetupDiOpenDevReg Global SetupDiRegisterCoDeviceInstallers.SetupDiRegisterCoDeviceInstallers Global SetupDiRegisterDeviceInfo.SetupDiRegisterDeviceInfo Global SetupDiRemoveDevice.SetupDiRemoveDevice Global SetupDiRemoveDeviceInterface.SetupDiRemoveDeviceInterface Global SetupDiSelectBestCompatDrv.SetupDiSelectBestCompatDrv Global SetupDiSelectDevice.SetupDiSelectDevice Global SetupDiSelectOEMDrv.SetupDiSelectOEMDrv Global SetupDiSetClassInstallParams.SetupDiSetClassInstallParams Global SetupDiSetClassRegistryProperty.SetupDiSetClassRegistryProperty Global SetupDiSetDeviceInstallParams.SetupDiSetDeviceInstallParams Global SetupDiSetDeviceRegistryProperty.SetupDiSetDeviceRegistryProperty Global SetupDiSetDriverInstallParams.SetupDiSetDriverInstallParams Global SetupDiSetSelectedDevice.SetupDiSetSelectedDevice Global SetupDiSetSelectedDriver.SetupDiSetSelectedDriver Global SetupDiUnremoveDevice.SetupDiUnremoveDevice Global SetupDuplicateDiskSpaceList.SetupDuplicateDiskSpaceList Global SetupFindFirstLine.SetupFindFirstLine Global SetupFindNextLine.SetupFindNextLine Global SetupFindNextMatchLine.SetupFindNextMatchLine Global SetupFree.SetupFree Global SetupGetBackupInformation.SetupGetBackupInformation Global SetupGetBinaryField.SetupGetBinaryField Global SetupGetFieldCount.SetupGetFieldCount Global SetupGetFileCompressionInfo.SetupGetFileCompressionInfo Global SetupGetInfFileList.SetupGetInfFileList Global SetupGetInfInformation.SetupGetInfInformation Global SetupGetIntField.SetupGetIntField Global SetupGetLineByIndex.SetupGetLineByIndex Global SetupGetLineCount.SetupGetLineCount Global SetupGetLineText.SetupGetLineText Global SetupGetMultiSzField.SetupGetMultiSzField Global SetupGetSourceFileLocation.SetupGetSourceFileLocation Global SetupGetSourceFileSize.SetupGetSourceFileSize Global SetupGetSourceInfo.SetupGetSourceInfo Global SetupGetStringField.SetupGetStringField Global SetupGetTargetPath.SetupGetTargetPath Global SetupInitDefaultQueueCallback.SetupInitDefaultQueueCallback Global SetupInitDefaultQueueCallbackEx.SetupInitDefaultQueueCallbackEx Global SetupInitializeFileLog.SetupInitializeFileLog Global SetupInstallFile.SetupInstallFile Global SetupInstallFileEx.SetupInstallFileEx Global SetupInstallFilesFromInfSection.SetupInstallFilesFromInfSection Global SetupInstallFromInfSection.SetupInstallFromInfSection Global SetupInstallServicesFromInfSection.SetupInstallServicesFromInfSection Global SetupInstallServicesFromInfSectionEx.SetupInstallServicesFromInfSectionEx Global SetupIterateCabinet.SetupIterateCabinet Global SetupLogError.SetupLogError Global SetupLogFile.SetupLogFile Global SetupOpenAppendInfFile.SetupOpenAppendInfFile Global SetupOpenFileQueue.SetupOpenFileQueue Global SetupOpenInfFile.SetupOpenInfFile Global SetupOpenLog.SetupOpenLog Global SetupOpenMasterInf.SetupOpenMasterInf Global SetupPromptForDisk.SetupPromptForDisk Global SetupPromptReboot.SetupPromptReboot Global SetupQuery.SetupQuery Global SetupQueryDrivesInDiskSpaceList.SetupQueryDrivesInDiskSpaceList Global SetupQueryFileLog.SetupQueryFileLog Global SetupQueryInfFileInformation.SetupQueryInfFileInformation Global SetupQueryInfOriginalFileInformation.SetupQueryInfOriginalFileInformation Global SetupQueryInfVersionInformation.SetupQueryInfVersionInformation Global SetupQuerySpaceRequiredOnDrive.SetupQuerySpaceRequiredOnDrive Global SetupQueueCopy.SetupQueueCopy Global SetupQueueCopyIndirect.SetupQueueCopyIndirect Global SetupQueueCopySection.SetupQueueCopySection Global SetupQueueDefaultCopy.SetupQueueDefaultCopy Global SetupQueueDelete.SetupQueueDelete Global SetupQueueDeleteSection.SetupQueueDeleteSection Global SetupQueueRename.SetupQueueRename Global SetupQueueRenameSection.SetupQueueRenameSection Global SetupRemoveFileLogEntry.SetupRemoveFileLogEntry Global SetupRemoveFromDiskSpaceList.SetupRemoveFromDiskSpaceList Global SetupRemoveFromSourceList.SetupRemoveFromSourceList Global SetupRemoveInstallSectionFromDiskSpaceList.SetupRemoveInstallSectionFromDiskSpaceList Global SetupRemoveSectionFromDiskSpaceList.SetupRemoveSectionFromDiskSpaceList Global SetupRenameError.SetupRenameError Global SetupScanFileQueue.SetupScanFileQueue Global SetupSetDirectoryId.SetupSetDirectoryId Global SetupSetDirectoryIdEx.SetupSetDirectoryIdEx Global SetupSetFileQueueAlternatePlatform.SetupSetFileQueueAlternatePlatform Global SetupSetPlatformPathOverride.SetupSetPlatformPathOverride Global SetupSetSourceList.SetupSetSourceList Global SetupTermDefaultQueueCallback.SetupTermDefaultQueueCallback Global SetupTerminateFileLog.SetupTerminateFileLog ; /* For backward compatability */ Global SetupDiCreateInterfaceDevice.SetupDiCreateDeviceInterface Global SetupDiCreateInterfaceDeviceRegKey.SetupDiCreateDeviceInterfaceRegKey Global SetupDiOpenInterfaceDevice.SetupDiOpenDeviceInterface Global SetupDiGetInterfaceDeviceDetail.SetupDiGetDeviceInterfaceDetail Procedure setupapi_Init() Shared setupapi.l CompilerIf #PB_Compiler_Unicode : sExt.s = "W" : CompilerElse : sExt.s = "A" : CompilerEndIf setupapi = OpenLibrary(#PB_Any, "setupapi.dll") If setupapi SetupAddInstallSectionToDiskSpaceList = GetFunction(setupapi, "SetupAddInstallSectionToDiskSpaceList"+sExt) SetupAddSectionToDiskSpaceList = GetFunction(setupapi, "SetupAddSectionToDiskSpaceList"+sExt) SetupAddToDiskSpaceList = GetFunction(setupapi, "SetupAddToDiskSpaceList"+sExt) SetupAddToSourceList = GetFunction(setupapi, "SetupAddToSourceList"+sExt) SetupAdjustDiskSpaceList = GetFunction(setupapi, "SetupAdjustDiskSpaceList"+sExt) SetupBackupError = GetFunction(setupapi, "SetupBackupError"+sExt) SetupCancelTemporary = GetFunction(setupapi, "SetupCancelTemporary") SetupCloseFileQueue = GetFunction(setupapi, "SetupCloseFileQueue") SetupCloseInfFile = GetFunction(setupapi, "SetupCloseInfFile") SetupCloseLog = GetFunction(setupapi, "SetupCloseLog") SetupCommitFileQueue = GetFunction(setupapi, "SetupCommitFileQueue"+sExt) SetupCopyError = GetFunction(setupapi, "SetupCopyError"+sExt) SetupCopyOEMInf = GetFunction(setupapi, "SetupCopyOEMInf"+sExt) SetupCreateDiskSpaceList = GetFunction(setupapi, "SetupCreateDiskSpaceList"+sExt) SetupDecompressOrCopyFile = GetFunction(setupapi, "SetupDecompressOrCopyFile"+sExt) SetupDefaultQueueCallback = GetFunction(setupapi, "SetupDefaultQueueCallback"+sExt) SetupDeleteError = GetFunction(setupapi, "SetupDeleteError"+sExt) SetupDestroyDiskSpaceList = GetFunction(setupapi, "SetupDestroyDiskSpaceList") SetupDiAskForOEMDisk = GetFunction(setupapi, "SetupDiAskForOEMDisk") SetupDiBuildClassInfoList = GetFunction(setupapi, "SetupDiBuildClassInfoList") SetupDiBuildClassInfoListEx = GetFunction(setupapi, "SetupDiBuildClassInfoListEx"+sExt) SetupDiBuildDriverInfoList = GetFunction(setupapi, "SetupDiBuildDriverInfoList") SetupDiCallClassInstaller = GetFunction(setupapi, "SetupDiCallClassInstaller") SetupDiCancelDriverInfoSearch = GetFunction(setupapi, "SetupDiCancelDriverInfoSearch") SetupDiChangeState = GetFunction(setupapi, "SetupDiChangeState") SetupDiClassGuidsFromName = GetFunction(setupapi, "SetupDiClassGuidsFromName"+sExt) SetupDiClassGuidsFromNameEx = GetFunction(setupapi, "SetupDiClassGuidsFromNameEx"+sExt) SetupDiClassNameFromGuid = GetFunction(setupapi, "SetupDiClassNameFromGuid"+sExt) SetupDiClassNameFromGuidEx = GetFunction(setupapi, "SetupDiClassNameFromGuidEx"+sExt) SetupDiCreateDeviceInfo = GetFunction(setupapi, "SetupDiCreateDeviceInfo"+sExt) SetupDiCreateDeviceInfoList = GetFunction(setupapi, "SetupDiCreateDeviceInfoList"+sExt) SetupDiCreateDeviceInfoListEx = GetFunction(setupapi, "SetupDiCreateDeviceInfoListEx"+sExt) SetupDiCreateDeviceInterface = GetFunction(setupapi, "SetupDiCreateDeviceInterface"+sExt) SetupDiCreateDeviceInterfaceReg = GetFunction(setupapi, "SetupDiCreateDeviceInterfaceReg"+sExt) SetupDiCreateDeviceInterfaceRegKey = GetFunction(setupapi, "SetupDiCreateDeviceInterfaceRegKey"+sExt) SetupDiCreateDevReg = GetFunction(setupapi, "SetupDiCreateDevReg"+sExt) SetupDiDeleteDeviceInfo = GetFunction(setupapi, "SetupDiDeleteDeviceInfo") SetupDiDeleteDeviceInterfaceData = GetFunction(setupapi, "SetupDiDeleteDeviceInterfaceDat"+sExt) SetupDiDeleteDeviceInterfaceReg = GetFunction(setupapi, "SetupDiDeleteDeviceInterfaceReg") SetupDiDeleteDevReg = GetFunction(setupapi, "SetupDiDeleteDevReg") SetupDiDestroyClassImageList = GetFunction(setupapi, "SetupDiDestroyClassImageList") SetupDiDestroyDeviceInfoList = GetFunction(setupapi, "SetupDiDestroyDeviceInfoList") SetupDiDestroyDriverInfoList = GetFunction(setupapi, "SetupDiDestroyDriverInfoList") SetupDiDrawMiniIcon = GetFunction(setupapi, "SetupDiDrawMiniIcon") SetupDiEnumDeviceInfo = GetFunction(setupapi, "SetupDiEnumDeviceInfo") SetupDiEnumDeviceInterfaces = GetFunction(setupapi, "SetupDiEnumDeviceInterfaces") SetupDiEnumDriverInfo = GetFunction(setupapi, "SetupDiEnumDriverInfo"+sExt) SetupDiGetActualSectionToInstall = GetFunction(setupapi, "SetupDiGetActualSectionToInstall"+sExt) SetupDiGetClassBitmapIndex = GetFunction(setupapi, "SetupDiGetClassBitmapIndex") SetupDiGetClassDescription = GetFunction(setupapi, "SetupDiGetClassDescription"+sExt) SetupDiGetClassDescriptionEx = GetFunction(setupapi, "SetupDiGetClassDescriptionEx"+sExt) SetupDiGetClassDevPropertySheets = GetFunction(setupapi, "SetupDiGetClassDevPropertySheets"+sExt) SetupDiGetClassDevs = GetFunction(setupapi, "SetupDiGetClassDevs"+sExt) SetupDiGetClassDevsEx = GetFunction(setupapi, "SetupDiGetClassDevsEx"+sExt) SetupDiGetClassImageIndex = GetFunction(setupapi, "SetupDiGetClassImageIndex") SetupDiGetClassImageList = GetFunction(setupapi, "SetupDiGetClassImageList") SetupDiGetClassImageListEx = GetFunction(setupapi, "SetupDiGetClassImageListEx"+sExt) SetupDiGetClassInstallParams = GetFunction(setupapi, "SetupDiGetClassInstallParams"+sExt) SetupDiGetClassRegistryProperty = GetFunction(setupapi, "SetupDiGetClassRegistryProperty"+sExt) SetupDiGetDeviceInfoListClass = GetFunction(setupapi, "SetupDiGetDeviceInfoListClass") SetupDiGetDeviceInfoListDetail = GetFunction(setupapi, "SetupDiGetDeviceInfoListDetail"+sExt) SetupDiGetDeviceInstallParams = GetFunction(setupapi, "SetupDiGetDeviceInstallParams"+sExt) SetupDiGetDeviceInstanceId = GetFunction(setupapi, "SetupDiGetDeviceInstanceId"+sExt) SetupDiGetDeviceInterfaceAlias = GetFunction(setupapi, "SetupDiGetDeviceInterfaceAlias") SetupDiGetDeviceInterfaceDetail = GetFunction(setupapi, "SetupDiGetDeviceInterfaceDetail"+sExt) SetupDiGetDeviceRegistryProperty = GetFunction(setupapi, "SetupDiGetDeviceRegistryProperty"+sExt) SetupDiGetDriverInfoDetail = GetFunction(setupapi, "SetupDiGetDriverInfoDetail"+sExt) SetupDiGetDriverInstallParams = GetFunction(setupapi, "SetupDiGetDriverInstallParams"+sExt) SetupDiGetHwProfileFriendlyName = GetFunction(setupapi, "SetupDiGetHwProfileFriendlyName"+sExt) SetupDiGetHwProfileFriendlyNameEx = GetFunction(setupapi, "SetupDiGetHwProfileFriendlyNameEx"+sExt) SetupDiGetHwProfileList = GetFunction(setupapi, "SetupDiGetHwProfileList") SetupDiGetHwProfileListEx = GetFunction(setupapi, "SetupDiGetHwProfileListEx"+sExt) SetupDiGetINFClass = GetFunction(setupapi, "SetupDiGetINFClass"+sExt) SetupDiGetSelectedDevice = GetFunction(setupapi, "SetupDiGetSelectedDevice") SetupDiGetSelectedDriver = GetFunction(setupapi, "SetupDiGetSelectedDriver"+sExt) SetupDiGetWizardage = GetFunction(setupapi, "SetupDiGetWizardage") SetupDiInstallClass = GetFunction(setupapi, "SetupDiInstallClass"+sExt) SetupDiInstallClassEx = GetFunction(setupapi, "SetupDiInstallClassEx"+sExt) SetupDiInstallDevice = GetFunction(setupapi, "SetupDiInstallDevice") SetupDiInstallDeviceInterfaces = GetFunction(setupapi, "SetupDiInstallDeviceInterfaces") SetupDiInstallDriverFiles = GetFunction(setupapi, "SetupDiInstallDriverFiles") SetupDiLoadClassIcon = GetFunction(setupapi, "SetupDiLoadClassIcon") SetupDiMoveDuplicateDevice = GetFunction(setupapi, "SetupDiMoveDuplicateDevice") SetupDiOpenClassReg = GetFunction(setupapi, "SetupDiOpenClassReg") SetupDiOpenClassRegEx = GetFunction(setupapi, "SetupDiOpenClassRegEx"+sExt) SetupDiOpenDeviceInfo = GetFunction(setupapi, "SetupDiOpenDeviceInfo"+sExt) SetupDiOpenDeviceInterface = GetFunction(setupapi, "SetupDiOpenDeviceInterface"+sExt) SetupDiOpenDeviceInterfaceReg = GetFunction(setupapi, "SetupDiOpenDeviceInterfaceReg") SetupDiOpenDevReg = GetFunction(setupapi, "SetupDiOpenDevReg") SetupDiRegisterCoDeviceInstallers = GetFunction(setupapi, "SetupDiRegisterCoDeviceInstallers") SetupDiRegisterDeviceInfo = GetFunction(setupapi, "SetupDiRegisterDeviceInfo") SetupDiRemoveDevice = GetFunction(setupapi, "SetupDiRemoveDevice") SetupDiRemoveDeviceInterface = GetFunction(setupapi, "SetupDiRemoveDeviceInterface") SetupDiSelectBestCompatDrv = GetFunction(setupapi, "SetupDiSelectBestCompatDrv") SetupDiSelectDevice = GetFunction(setupapi, "SetupDiSelectDevice") SetupDiSelectOEMDrv = GetFunction(setupapi, "SetupDiSelectOEMDrv") SetupDiSetClassInstallParams = GetFunction(setupapi, "SetupDiSetClassInstallParams"+sExt) SetupDiSetClassRegistryProperty = GetFunction(setupapi, "SetupDiSetClassRegistryProperty"+sExt) SetupDiSetDeviceInstallParams = GetFunction(setupapi, "SetupDiSetDeviceInstallParams"+sExt) SetupDiSetDeviceRegistryProperty = GetFunction(setupapi, "SetupDiSetDeviceRegistryProperty"+sExt) SetupDiSetDriverInstallParams = GetFunction(setupapi, "SetupDiSetDriverInstallParams"+sExt) SetupDiSetSelectedDevice = GetFunction(setupapi, "SetupDiSetSelectedDevice") SetupDiSetSelectedDriver = GetFunction(setupapi, "SetupDiSetSelectedDriver"+sExt) SetupDiUnremoveDevice = GetFunction(setupapi, "SetupDiUnremoveDevice") SetupDuplicateDiskSpaceList = GetFunction(setupapi, "SetupDuplicateDiskSpaceList"+sExt) SetupFindFirstLine = GetFunction(setupapi, "SetupFindFirstLine"+sExt) SetupFindNextLine = GetFunction(setupapi, "SetupFindNextLine") SetupFindNextMatchLine = GetFunction(setupapi, "SetupFindNextMatchLine"+sExt) SetupFree = GetFunction(setupapi, "SetupFree"+sExt) SetupGetBackupInformation = GetFunction(setupapi, "SetupGetBackupInformation"+sExt) SetupGetBinaryField = GetFunction(setupapi, "SetupGetBinaryField") SetupGetFieldCount = GetFunction(setupapi, "SetupGetFieldCount") SetupGetFileCompressionInfo = GetFunction(setupapi, "SetupGetFileCompressionInfo"+sExt) SetupGetInfFileList = GetFunction(setupapi, "SetupGetInfFileList"+sExt) SetupGetInfInformation = GetFunction(setupapi, "SetupGetInfInformation"+sExt) SetupGetIntField = GetFunction(setupapi, "SetupGetIntField") SetupGetLineByIndex = GetFunction(setupapi, "SetupGetLineByIndex"+sExt) SetupGetLineCount = GetFunction(setupapi, "SetupGetLineCount"+sExt) SetupGetLineText = GetFunction(setupapi, "SetupGetLineText"+sExt) SetupGetMultiSzField = GetFunction(setupapi, "SetupGetMultiSzField"+sExt) SetupGetSourceFileLocation = GetFunction(setupapi, "SetupGetSourceFileLocation"+sExt) SetupGetSourceFileSize = GetFunction(setupapi, "SetupGetSourceFileSize"+sExt) SetupGetSourceInfo = GetFunction(setupapi, "SetupGetSourceInfo"+sExt) SetupGetStringField = GetFunction(setupapi, "SetupGetStringField"+sExt) SetupGetTargetPath = GetFunction(setupapi, "SetupGetTargetPath"+sExt) SetupInitDefaultQueueCallback = GetFunction(setupapi, "SetupInitDefaultQueueCallback") SetupInitDefaultQueueCallbackEx = GetFunction(setupapi, "SetupInitDefaultQueueCallbackEx") SetupInitializeFileLog = GetFunction(setupapi, "SetupInitializeFileLog"+sExt) SetupInstallFile = GetFunction(setupapi, "SetupInstallFile"+sExt) SetupInstallFileEx = GetFunction(setupapi, "SetupInstallFileEx"+sExt) SetupInstallFilesFromInfSection = GetFunction(setupapi, "SetupInstallFilesFromInfSection"+sExt) SetupInstallFromInfSection = GetFunction(setupapi, "SetupInstallFromInfSection"+sExt) SetupInstallServicesFromInfSection = GetFunction(setupapi, "SetupInstallServicesFromInfSection"+sExt) SetupInstallServicesFromInfSectionEx = GetFunction(setupapi, "SetupInstallServicesFromInfSectionEx"+sExt) SetupIterateCabinet = GetFunction(setupapi, "SetupIterateCabinet"+sExt) SetupLogError = GetFunction(setupapi, "SetupLogError"+sExt) SetupLogFile = GetFunction(setupapi, "SetupLogFile"+sExt) SetupOpenAppendInfFile = GetFunction(setupapi, "SetupOpenAppendInfFile"+sExt) SetupOpenFileQueue = GetFunction(setupapi, "SetupOpenFileQueue") SetupOpenInfFile = GetFunction(setupapi, "SetupOpenInfFile"+sExt) SetupOpenLog = GetFunction(setupapi, "SetupOpenLog") SetupOpenMasterInf = GetFunction(setupapi, "SetupOpenMasterInf") SetupPromptForDisk = GetFunction(setupapi, "SetupPromptForDisk"+sExt) SetupPromptReboot = GetFunction(setupapi, "SetupPromptReboot") SetupQuery = GetFunction(setupapi, "SetupQuery") SetupQueryDrivesInDiskSpaceList = GetFunction(setupapi, "SetupQueryDrivesInDiskSpaceList"+sExt) SetupQueryFileLog = GetFunction(setupapi, "SetupQueryFileLog"+sExt) SetupQueryInfFileInformation = GetFunction(setupapi, "SetupQueryInfFileInformation"+sExt) SetupQueryInfOriginalFileInformation = GetFunction(setupapi, "SetupQueryInfOriginalFileInformation"+sExt) SetupQueryInfVersionInformation = GetFunction(setupapi, "SetupQueryInfVersionInformation"+sExt) SetupQuerySpaceRequiredOnDrive = GetFunction(setupapi, "SetupQuerySpaceRequiredOnDrive"+sExt) SetupQueueCopy = GetFunction(setupapi, "SetupQueueCopy"+sExt) SetupQueueCopyIndirect = GetFunction(setupapi, "SetupQueueCopyIndirect"+sExt) SetupQueueCopySection = GetFunction(setupapi, "SetupQueueCopySection"+sExt) SetupQueueDefaultCopy = GetFunction(setupapi, "SetupQueueDefaultCopy"+sExt) SetupQueueDelete = GetFunction(setupapi, "SetupQueueDelete"+sExt) SetupQueueDeleteSection = GetFunction(setupapi, "SetupQueueDeleteSection"+sExt) SetupQueueRename = GetFunction(setupapi, "SetupQueueRename"+sExt) SetupQueueRenameSection = GetFunction(setupapi, "SetupQueueRenameSection"+sExt) SetupRemoveFileLogEntry = GetFunction(setupapi, "SetupRemoveFileLogEntry"+sExt) SetupRemoveFromDiskSpaceList = GetFunction(setupapi, "SetupRemoveFromDiskSpaceList"+sExt) SetupRemoveFromSourceList = GetFunction(setupapi, "SetupRemoveFromSourceList"+sExt) SetupRemoveInstallSectionFromDiskSpaceList = GetFunction(setupapi, "SetupRemoveInstallSectionFromDiskSpaceList"+sExt) SetupRemoveSectionFromDiskSpaceList = GetFunction(setupapi, "SetupRemoveSectionFromDiskSpaceList"+sExt) SetupRenameError = GetFunction(setupapi, "SetupRenameError"+sExt) SetupScanFileQueue = GetFunction(setupapi, "SetupScanFileQueue"+sExt) SetupSetDirectoryId = GetFunction(setupapi, "SetupSetDirectoryId"+sExt) SetupSetDirectoryIdEx = GetFunction(setupapi, "SetupSetDirectoryIdEx"+sExt) SetupSetFileQueueAlternatePlatform = GetFunction(setupapi, "SetupSetFileQueueAlternatePlatform"+sExt) SetupSetPlatformPathOverride = GetFunction(setupapi, "SetupSetPlatformPathOverride"+sExt) SetupSetSourceList = GetFunction(setupapi, "SetupSetSourceList"+sExt) SetupTermDefaultQueueCallback = GetFunction(setupapi, "SetupTermDefaultQueueCallback") SetupTerminateFileLog = GetFunction(setupapi, "SetupTerminateFileLog") ;/* For backward compatability */ SetupDiCreateInterfaceDevice = SetupDiCreateDeviceInterface SetupDiCreateInterfaceDeviceRegKey = SetupDiCreateDeviceInterfaceRegKey SetupDiOpenInterfaceDevice = SetupDiOpenDeviceInterface SetupDiGetInterfaceDeviceDetail = SetupDiGetDeviceInterfaceDetail EndIf EndProcedure Procedure setupapi_End() Shared setupapi.l CloseLibrary(setupapi) EndProcedure ; IDE Options = PureBasic 5.42 LTS (Windows - x64) ; CursorPosition = 1363 ; FirstLine = 1343 ; Folding = - ; EnableUnicode ; EnableXP ; EnablePurifier