/* * setupapi.h Setup functions * * ========================================================================= * * Open Watcom Project * * Copyright (c) 2004-2010 The Open Watcom Contributors. All Rights Reserved. * * This file is automatically generated. Do not edit directly. * * ========================================================================= */ #ifndef _INC_SETUPAPI #define _INC_SETUPAPI #ifndef _ENABLE_AUTODEPEND #pragma read_only_file; #endif #include #include #include #ifdef __cplusplus extern "C" { #endif /* Setup API version number */ #ifndef _SETUPAPI_VER #define _SETUPAPI_VER 0x0501 #ifdef _WIN32_WINNT #undef _SETUPAPI_VER #define _SETUPAPI_VER _WIN32_WINNT #endif #if !defined( _WIN32_WINNT ) || (_WIN32_WINNT >= _WIN32_WINDOWS) #undef _SETUPAPI_VER #if (_WIN32_WINDOWS >= 0x0490) #define _SETUPAPI_VER 0x0500 #elif (_WIN32_WINDOWS >= 0x0410) #define _SETUPAPI_VER 0x0410 #else #define _SETUPAPI_VER 0x0400 #endif #endif #endif /* Macro to specify setup functions */ #define WINSETUPAPI DECLSPEC_IMPORT /* Handle data types */ typedef PVOID HINF; typedef PVOID HSPFILEQ; typedef PVOID HDSKSPC; typedef PVOID HDEVINFO; typedef PVOID HSPFILELOG; /* Device installer function data type */ typedef UINT DI_FUNCTION; /* Log severity data type */ #define LogSeverity DWORD /* Maximum string lengths */ #define LINE_LEN 256 #define MAX_INF_STRING_LENGTH 4096 #define MAX_INF_SECTION_NAME_LENGTH 255 #define MAX_TITLE_LEN 60 #define MAX_INSTRUCTION_LEN 256 #define MAX_LABEL_LEN 30 #define MAX_SERVICE_NAME_LEN 256 #define MAX_SUBTITLE_LEN 256 #define SP_MAX_MACHINENAME_LENGTH (MAX_PATH + 3) /* Setup alternate platform flags */ #if (_SETUPAPI_VER >= 0x0501) #define SP_ALTPLATFORM_FLAGS_VERSION_RANGE 0x0001 #endif /* Information styles */ #define INF_STYLE_NONE 0x00000000L #define INF_STYLE_OLDNT 0x00000001L #define INF_STYLE_WIN4 0x00000002L #define INF_STYLE_CACHE_ENABLE 0x00000010L #define INF_STYLE_CACHE_DISABLE 0x00000020L #if (_SETUPAPI_VER >= 0x0502) #define INF_STYLE_CACHE_IGNORE 0x00000040L #endif /* Directory identifiers */ #define DIRID_ABSOLUTE (-1) #define DIRID_ABSOLUTE_16BIT 0xFFFF #define DIRID_NULL 0 #define DIRID_SRCPATH 1 #define DIRID_WINDOWS 10 #define DIRID_SYSTEM 11 #define DIRID_DRIVERS 12 #define DIRID_IOSUBSYS DIRID_DRIVERS #define DIRID_INF 17 #define DIRID_HELP 18 #define DIRID_FONTS 20 #define DIRID_VIEWERS 21 #define DIRID_COLOR 23 #define DIRID_APPS 24 #define DIRID_SHARED 25 #define DIRID_BOOT 30 #define DIRID_SYSTEM16 50 #define DIRID_SPOOL 51 #define DIRID_SPOOLDRIVERS 52 #define DIRID_USERPROFILE 53 #define DIRID_LOADER 54 #define DIRID_PRINTPROCESSOR 55 #define DIRID_DEFAULT DIRID_SYSTEM #define DIRID_COMMON_STARTMENU 16406 #define DIRID_COMMON_PROGRAMS 16407 #define DIRID_COMMON_STARTUP 16408 #define DIRID_COMMON_DESKTOPDIRECTORY 16409 #define DIRID_COMMON_FAVORITES 16415 #define DIRID_COMMON_APPDATA 16419 #define DIRID_PROGRAM_FILES 16422 #define DIRID_SYSTEM_X86 16425 #define DIRID_PROGRAM_FILES_X86 16426 #define DIRID_PROGRAM_FILES_COMMON 16427 #define DIRID_PROGRAM_FILES_COMMONX86 16428 #define DIRID_COMMON_TEMPLATES 16429 #define DIRID_COMMON_DOCUMENTS 16430 #define DIRID_USER 0x8000 /* Setup file notification ordinals */ #define SPFILENOTIFY_STARTQUEUE 0x00000001L #define SPFILENOTIFY_ENDQUEUE 0x00000002L #define SPFILENOTIFY_STARTSUBQUEUE 0x00000003L #define SPFILENOTIFY_ENDSUBQUEUE 0x00000004L #define SPFILENOTIFY_STARTDELETE 0x00000005L #define SPFILENOTIFY_ENDDELETE 0x00000006L #define SPFILENOTIFY_DELETEERROR 0x00000007L #define SPFILENOTIFY_STARTRENAME 0x00000008L #define SPFILENOTIFY_ENDRENAME 0x00000009L #define SPFILENOTIFY_RENAMEERROR 0x0000000AL #define SPFILENOTIFY_STARTCOPY 0x0000000BL #define SPFILENOTIFY_ENDCOPY 0x0000000CL #define SPFILENOTIFY_COPYERROR 0x0000000DL #define SPFILENOTIFY_NEEDMEDIA 0x0000000EL #define SPFILENOTIFY_QUEUESCAN 0x0000000FL #define SPFILENOTIFY_CABINETINFO 0x00000010L #define SPFILENOTIFY_FILEINCABINET 0x00000011L #define SPFILENOTIFY_NEEDNEWCABINET 0x00000012L #define SPFILENOTIFY_FILEEXTRACTED 0x00000013L #define SPFILENOTIFY_FILEOPDELAYED 0x00000014L #define SPFILENOTIFY_STARTBACKUP 0x00000015L #define SPFILENOTIFY_BACKUPERROR 0x00000016L #define SPFILENOTIFY_ENDBACKUP 0x00000017L #define SPFILENOTIFY_QUEUESCAN_EX 0x00000018L #define SPFILENOTIFY_STARTREGISTRATION 0x00000019L #define SPFILENOTIFY_ENDREGISTRATION 0x00000020L #if (_SETUPAPI_VER >= 0x0501) #define SPFILENOTIFY_QUEUESCAN_SIGNERINFO 0x00000040L #endif #define SPFILENOTIFY_LANGMISMATCH 0x00010000L #define SPFILENOTIFY_TARGETEXISTS 0x00020000L #define SPFILENOTIFY_TARGETNEWER 0x00040000L /* File operation codes */ #define FILEOP_COPY 0 #define FILEOP_RENAME 1 #define FILEOP_DELETE 2 #define FILEOP_BACKUP 3 /* File operation callback return values */ #define FILEOP_ABORT 0 #define FILEOP_DOIT 1 #define FILEOP_SKIP 2 #define FILEOP_RETRY FILEOP_DOIT #define FILEOP_NEWPATH 4 /* Copy flags */ #define COPYFLG_WARN_IF_SKIP 0x00000001L #define COPYFLG_NOSKIP 0x00000002L #define COPYFLG_NOVERSIONCHECK 0x00000004L #define COPYFLG_FORCE_FILE_IN_USE 0x00000008L #define COPYFLG_NO_OVERWRITE 0x00000010L #define COPYFLG_NO_VERSION_DIALOG 0x00000020L #define COPYFLG_OVERWRITE_OLDER_ONLY 0x00000040L #define COPYFLG_PROTECTED_WINDOWS_DRIVER_FILE 0x00000100L #define COPYFLG_REPLACEONLY 0x00000400L #define COPYFLG_NODECOMP 0x00000800L #define COPYFLG_REPLACE_BOOT_FILE 0x00001000L #define COPYFLG_NOPRUNE 0x00002000L #define COPYFLG_IN_USE_TRY_RENAME 0x00004000L /* Delete flags */ #define DELFLG_IN_USE 0x00000001L #define DELFLG_IN_USE1 0x00010000L /* Setup register control status failure codes */ #define SPREG_SUCCESS 0x00000000L #define SPREG_LOADLIBRARY 0x00000001L #define SPREG_GETPROCADDR 0x00000002L #define SPREG_REGSVR 0x00000003L #define SPREG_DLLINSTALL 0x00000004L #define SPREG_TIMEOUT 0x00000005L #define SPREG_UNKNOWN 0xFFFFFFFFL /* Setup device interface data flags */ #define SPINT_ACTIVE 0x00000001L #define SPINT_DEFAULT 0x00000002L #define SPINT_REMOVED 0x00000004L #define SPID_ACTIVE SPINT_ACTIVE #define SPID_DEFAULT SPINT_DEFAULT #define SPID_REMOVED SPINT_REMOVED /* Device installation functions */ #define DIF_SELECTDEVICE 0x00000001L #define DIF_INSTALLDEVICE 0x00000002L #define DIF_ASSIGNRESOURCES 0x00000003L #define DIF_PROPERTIES 0x00000004L #define DIF_REMOVE 0x00000005L #define DIF_FIRSTTIMESETUP 0x00000006L #define DIF_FOUNDDEVICE 0x00000007L #define DIF_SELECTCLASSDRIVERS 0x00000008L #define DIF_VALIDATECLASSDRIVERS 0x00000009L #define DIF_INSTALLCLASSDRIVERS 0x0000000AL #define DIF_CALCDISKSPACE 0x0000000BL #define DIF_DESTROYPRIVATEDATA 0x0000000CL #define DIF_VALIDATEDRIVER 0x0000000DL #define DIF_MOVEDEVICE 0x0000000EL #define DIF_DETECT 0x0000000FL #define DIF_INSTALLWIZARD 0x00000010L #define DIF_DESTROYWIZARDDATA 0x00000011L #define DIF_PROPERTYCHANGE 0x00000012L #define DIF_ENABLECLASS 0x00000013L #define DIF_DETECTVERIFY 0x00000014L #define DIF_INSTALLDEVICEFILES 0x00000015L #define DIF_UNREMOVE 0x00000016L #define DIF_SELECTBESTCOMPATDRV 0x00000017L #define DIF_ALLOW_INSTALL 0x00000018L #define DIF_REGISTERDEVICE 0x00000019L #define DIF_NEWDEVICEWIZARD_PRESELECT 0x0000001AL #define DIF_NEWDEVICEWIZARD_SELECT 0x0000001BL #define DIF_NEWDEVICEWIZARD_PREANALYZE 0x0000001CL #define DIF_NEWDEVICEWIZARD_POSTANALYZE 0x0000001DL #define DIF_NEWDEVICEWIZARD_FINISHINSTALL 0x0000001EL #define DIF_INSTALLINTERFACES 0x00000020L #define DIF_DETECTCANCEL 0x00000021L #define DIF_REGISTER_COINSTALLERS 0x00000022L #define DIF_ADDPROPERTYPAGE_ADVANCED 0x00000023L #define DIF_ADDPROPERTYPAGE_BASIC 0x00000024L #define DIF_TROUBLESHOOTER 0x00000026L #define DIF_POWERMESSAGEWAKE 0x00000027L #define DIF_ADDREMOTEPROPERTYPAGE_ADVANCED 0x00000028L #define DIF_UPDATEDRIVER_UI 0x00000029L #define DIF_FINISHINSTALL_ACTION 0x0000002AL /* Device installation flags */ #define DI_SHOWOEM 0x00000001L #define DI_SHOWCOMPAT 0x00000002L #define DI_SHOWCLASS 0x00000004L #define DI_SHOWALL 0x00000007L #define DI_NOVCP 0x00000008L #define DI_DIDCOMPAT 0x00000010L #define DI_DIDCLASS 0x00000020L #define DI_AUTOASSIGNRES 0x00000040L #define DI_NEEDRESTART 0x00000080L #define DI_NEEDREBOOT 0x00000100L #define DI_NOBROWSE 0x00000200L #define DI_MULTMFGS 0x00000400L #define DI_DISABLED 0x00000800L #define DI_GENERALPAGE_ADDED 0x00001000L #define DI_RESOURCEPAGE_ADDED 0x00002000L #define DI_PROPERTIES_CHANGE 0x00004000L #define DI_INF_IS_SORTED 0x00008000L #define DI_ENUMSINGLEINF 0x00010000L #define DI_DONOTCALLCONFIGMG 0x00020000L #define DI_INSTALLDISABLED 0x00040000L #define DI_COMPAT_FROM_CLASS 0x00080000L #define DI_CLASSINSTALLPARAMS 0x00100000L #define DI_NODI_DEFAULTACTION 0x00200000L #define DI_QUIETINSTALL 0x00800000L #define DI_NOFILECOPY 0x01000000L #define DI_FORCECOPY 0x02000000L #define DI_DRIVERPAGE_ADDED 0x04000000L #define DI_USECI_SELECTSTRINGS 0x08000000L #define DI_OVERRIDE_INFFLAGS 0x10000000L #define DI_PROPS_NOCHANGEUSAGE 0x20000000L #define DI_NOSELECTICONS 0x40000000L #define DI_NOWRITE_IDS 0x80000000L /* Device installation extended flags */ #define DI_FLAGSEX_CI_FAILED 0x00000004L #if (_SETUPAPI_VER >= 0x0600) #define DI_FLAGSEX_FINISHINSTALL_ACTION 0x00000008L #endif #define DI_FLAGSEX_DIDINFOLIST 0x00000010L #define DI_FLAGSEX_DIDCOMPATINFO 0x00000020L #define DI_FLAGSEX_FILTERCLASSES 0x00000040L #define DI_FLAGSEX_SETFAILEDINSTALL 0x00000080L #define DI_FLAGSEX_DEVICECHANGE 0x00000100L #define DI_FLAGSEX_ALWAYSWRITEIDS 0x00000200L #define DI_FLAGSEX_PROPCHANGE_PENDING 0x00000400L #define DI_FLAGSEX_ALLOWEXCLUDEDDRVS 0x00000800L #define DI_FLAGSEX_NOUIONQUERYREMOVE 0x00001000L #define DI_FLAGSEX_USECLASSFORCOMPAT 0x00002000L #define DI_FLAGSEX_NO_DRVREG_MODIFY 0x00008000L #define DI_FLAGSEX_IN_SYSTEM_SETUP 0x00010000L #define DI_FLAGSEX_INET_DRIVER 0x00020000L #define DI_FLAGSEX_APPENDDRIVERLIST 0x00040000L #define DI_FLAGSEX_PREINSTALLBACKUP 0x00080000L #define DI_FLAGSEX_BACKUPONREPLACE 0x00100000L #define DI_FLAGSEX_DRIVERLIST_FROM_URL 0x00200000L #define DI_FLAGSEX_EXCLUDE_OLD_INET_DRIVERS 0x00800000L #define DI_FLAGSEX_POWERPAGE_ADDED 0x01000000L #if (_SETUPAPI_VER >= 0x0501) #define DI_FLAGSEX_FILTERSIMILARDRIVERS 0x02000000L #define DI_FLAGSEX_INSTALLEDDRIVER 0x04000000L #define DI_FLAGSEX_NO_CLASSLIST_NODE_MERGE 0x08000000L #define DI_FLAGSEX_ALTPLATFORM_DRVSEARCH 0x10000000L #define DI_FLAGSEX_RESTART_DEVICE_ONLY 0x20000000L #endif #if (_SETUPAPI_VER >= 0x0600) #define DI_FLAGSEX_RECURSIVESEARCH 0x40000000L #define DI_FLAGSEX_SEARCH_PUBLISHED_INFS 0x80000000L #endif /* Enable class messages */ #define ENABLECLASS_QUERY 0L #define ENABLECLASS_SUCCESS 1L #define ENABLECLASS_FAILURE 2L /* Device installation state changes */ #define DICS_ENABLE 0x00000001L #define DICS_DISABLE 0x00000002L #define DICS_PROPCHANGE 0x00000003L #define DICS_START 0x00000004L #define DICS_STOP 0x00000005L /* Device installation state change flags */ #define DICS_FLAG_GLOBAL 0x00000001L #define DICS_FLAG_CONFIGSPECIFIC 0x00000002L #define DICS_FLAG_CONFIGGENERAL 0x00000004L /* Device installation remove device flags */ #define DI_REMOVEDEVICE_GLOBAL 0x00000001L #define DI_REMOVEDEVICE_CONFIGSPECIFIC 0x00000002L /* Device installation unremove device flags */ #define DI_UNREMOVEDEVICE_CONFIGSPECIFIC 0x00000002L /* Maximum number of dynamic pages */ #define MAX_INSTALLWIZARD_DYNAPAGES 20 /* New Device Wizard install flags */ #define NDW_INSTALLFLAG_DIDFACTDEFS 0x00000001L #define NDW_INSTALLFLAG_HARDWAREALLREADYIN 0x00000002L #define NDW_INSTALLFLAG_NEEDRESTART DI_NEEDRESTART #define NDW_INSTALLFLAG_NEEDREBOOT DI_NEEDREBOOT #define NDW_INSTALLFLAG_NEEDSHUTDOWN 0x00000200L #define NDW_INSTALLFLAG_EXPRESSINTRO 0x00000400L #define NDW_INSTALLFLAG_SKIPISDEVINSTALLED 0x00000800L #define NDW_INSTALLFLAG_NODETECTEDDEVS 0x00001000L #define NDW_INSTALLFLAG_INSTALLSPECIFIC 0x00002000L #define NDW_INSTALLFLAG_SKIPCLASSLIST 0x00004000L #define NDW_INSTALLFLAG_CI_PICKED_OEM 0x00008000L #define NDW_INSTALLFLAG_PCMCIAMODE 0x00010000L #define NDW_INSTALLFLAG_PCMCIADEVICE 0x00020000L #define NDW_INSTALLFLAG_USERCANCEL 0x00040000L #define NDW_INSTALLFLAG_KNOWNCLASS 0x00080000L /* Dynamic wizard flags */ #define DYNAWIZ_FLAG_PAGESADDED 0x00000001L #define DYNAWIZ_FLAG_INSTALLDET_NEXT 0x00000002L #define DYNAWIZ_FLAG_INSTALLDET_PREV 0x00000004L #define DYNAWIZ_FLAG_ANALYZE_HANDLECONFLICT 0x00000008L /* Dynamic wizard dialog identifiers */ #define MIN_IDD_DYNAWIZ_RESOURCE_ID 10000 #define MAX_IDD_DYNAWIZ_RESOURCE_ID 11000 #define IDD_DYNAWIZ_FIRSTPAGE 10000 #define IDD_DYNAWIZ_SELECT_PREVPAGE 10001 #define IDD_DYNAWIZ_SELECT_NEXTPAGE 10002 #define IDD_DYNAWIZ_ANALYZE_PREVPAGE 10003 #define IDD_DYNAWIZ_ANALYZE_NEXTPAGE 10004 #define IDD_DYNAWIZ_INSTALLDETECTED_PREVPAGE 10006 #define IDD_DYNAWIZ_INSTALLDETECTED_NEXTPAGE 10007 #define IDD_DYNAWIZ_INSTALLDETECTED_NODEVS 10008 #define IDD_DYNAWIZ_SELECTDEV_PAGE 10009 #define IDD_DYNAWIZ_ANALYZEDEV_PAGE 10010 #define IDD_DYNAWIZ_INSTALLDETECTEDDEVS_PAGE 10011 #define IDD_DYNAWIZ_SELECTCLASS_PAGE 10012 /* Driver installation flags */ #define DNF_DUPDESC 0x00000001L #define DNF_OLDDRIVER 0x00000002L #define DNF_EXCLUDEFROMLIST 0x00000004L #define DNF_NODRIVER 0x00000008L #define DNF_LEGACYINF 0x00000010L #define DNF_CLASS_DRIVER 0x00000020L #define DNF_COMPATIBLE_DRIVER 0x00000040L #define DNF_INET_DRIVER 0x00000080L #define DNF_OLD_INET_DRIVER 0x00000400L #define DNF_BAD_DRIVER 0x00000800L #define DNF_DUPPROVIDER 0x00001000L #if (_SETUPAPI_VER >= 0x0501) #define DNF_INF_IS_SIGNED 0x00002000L #define DNF_OEM_F6_INF 0x00004000L #define DNF_DUPDRIVERVER 0x00008000L #define DNF_BASIC_DRIVER 0x00010000L #endif #if (_SETUPAPI_VER >= 0x0502) #define DNF_AUTHENTICODE_SIGNED 0x00020000L #endif #if (_SETUPAPI_VER >= 0x0600) #define DNF_INSTALLEDDRIVER 0x00040000L #define DNF_ALWAYSEXCLUDEFROMLIST 0x00080000L #define DNF_INBOX_DRIVER 0x00100000L #endif #if (_SETUPAPI_VER >= 0x0601) #define DNF_REQUESTADDITIONALSOFTWARE 0x00200000L #endif /* Driver rank values */ #define DRIVER_HARDWAREID_RANK 0x00000FFFL #if (_SETUPAPI_VER >= 0x0600) #define DRIVER_HARDWAREID_MASK 0x80000FFFL #define DRIVER_UNTRUSTED_RANK 0x80000000L #define DRIVER_W9X_SUSPECT_RANK 0xC0000000L #else #define DRIVER_HARDWAREID_MASK 0x00003FFFL #define DRIVER_UNTRUSTED_RANK 0x00008000L #define DRIVER_UNTRUSTED_HARDWAREID_RANK 0x00008FFFL #define DRIVER_UNTRUSTED_COMPATID_RANK 0x0000BFFFL #define DRIVER_W9X_SUSPECT_RANK 0x0000C000L #define DRIVER_W9X_SUSPECT_HARDWAREID_RANK 0x0000CFFFL #define DRIVER_W9X_SUSPECT_COMPATID_RANK 0x0000FFFFL #endif /* Setup property sheet page request pages */ #define SPPSR_SELECT_DEVICE_RESOURCES 1L #define SPPSR_ENUM_BASIC_DEVICE_PROPERTIES 2L #define SPPSR_ENUM_ADV_DEVICE_PROPERTIES 3L /* Setup error codes */ #define ERROR_EXPECTED_SECTION_NAME \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0000L) #define ERROR_BAD_SECTION_NAME_LINE \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0001L) #define ERROR_SECTION_NAME_TOO_LONG \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0002L) #define ERROR_GENERAL_SYNTAX \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0003L) #define ERROR_WRONG_INF_STYLE \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0100L) #define ERROR_SECTION_NOT_FOUND \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0101L) #define ERROR_LINE_NOT_FOUND \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0102L) #define ERROR_NO_BACKUP \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0103L) #define ERROR_NO_ASSOCIATED_CLASS \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0200L) #define ERROR_CLASS_MISMATCH \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0201L) #define ERROR_DUPLICATE_FOUND \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0202L) #define ERROR_NO_DRIVER_SELECTED \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0203L) #define ERROR_KEY_DOES_NOT_EXIST \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0204L) #define ERROR_INVALID_DEVINST_NAME \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0205L) #define ERROR_INVALID_CLASS \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0206L) #define ERROR_DEVINST_ALREADY_EXISTS \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0207L) #define ERROR_DEVINFO_NOT_REGISTERED \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0208L) #define ERROR_INVALID_REG_PROPERTY \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0209L) #define ERROR_NO_INF \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x020AL) #define ERROR_NO_SUCH_DEVINST \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x020BL) #define ERROR_CANT_LOAD_CLASS_ICON \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x020CL) #define ERROR_INVALID_CLASS_INSTALLER \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x020DL) #define ERROR_DI_DO_DEFAULT \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x020EL) #define ERROR_DI_NOFILECOPY \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x020FL) #define ERROR_INVALID_HWPROFILE \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0210L) #define ERROR_NO_DEVICE_SELECTED \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0211L) #define ERROR_DEVINFO_LIST_LOCKED \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0212L) #define ERROR_DEVINFO_DATA_LOCKED \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0213L) #define ERROR_DI_BAD_PATH \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0214L) #define ERROR_NO_CLASSINSTALL_PARAMS \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0215L) #define ERROR_FILEQUEUE_LOCKED \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0216L) #define ERROR_BAD_SERVICE_INSTALLSECT \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0217L) #define ERROR_NO_CLASS_DRIVER_LIST \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0218L) #define ERROR_NO_ASSOCIATED_SERVICE \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0219L) #define ERROR_NO_DEFAULT_DEVICE_INTERFACE \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x021AL) #define ERROR_DEVICE_INTERFACE_ACTIVE \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x021BL) #define ERROR_DEVICE_INTERFACE_REMOVED \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x021CL) #define ERROR_BAD_INTERFACE_INSTALLSECT \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x021DL) #define ERROR_NO_SUCH_INTERFACE_CLASS \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x021EL) #define ERROR_INVALID_REFERENCE_STRING \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x021FL) #define ERROR_INVALID_MACHINENAME \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0220L) #define ERROR_REMOTE_COMM_FAILURE \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0221L) #define ERROR_MACHINE_UNAVAILABLE \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0222L) #define ERROR_NO_CONFIGMGR_SERVICES \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0223L) #define ERROR_INVALID_PROPPAGE_PROVIDER \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0224L) #define ERROR_NO_SUCH_DEVICE_INTERFACE \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0225L) #define ERROR_DI_POSTPROCESSING_REQUIRED \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0226L) #define ERROR_INVALID_COINSTALLER \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0227L) #define ERROR_NO_COMPAT_DRIVERS \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0228L) #define ERROR_NO_DEVICE_ICON \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0229L) #define ERROR_INVALID_INF_LOGCONFIG \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x022AL) #define ERROR_DI_DONT_INSTALL \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x022BL) #define ERROR_INVALID_FILTER_DRIVER \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x022CL) #define ERROR_NON_WINDOWS_NT_DRIVER \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x022DL) #define ERROR_NON_WINDOWS_DRIVER \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x022EL) #define ERROR_NO_CATALOG_FOR_OEM_INF \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x022FL) #define ERROR_DEVINSTALL_QUEUE_NONNATIVE \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0230L) #define ERROR_NOT_DISABLEABLE \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0231L) #define ERROR_CANT_REMOVE_DEVINST \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0232L) #define ERROR_INVALID_TARGET \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0233L) #define ERROR_DRIVER_NONNATIVE \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0234L) #define ERROR_IN_WOW64 \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0235L) #define ERROR_SET_SYSTEM_RESTORE_POINT \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0236L) #define ERROR_SCE_DISABLED \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0238L) #define ERROR_UNKNOWN_EXCEPTION \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0239L) #define ERROR_PNP_REGISTRY_ERROR \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x023AL) #define ERROR_REMOTE_REQUEST_UNSUPPORTED \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x023BL) #define ERROR_NOT_AN_INSTALLED_OEM_INF \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x023CL) #define ERROR_INF_IN_USE_BY_DEVICES \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x023DL) #define ERROR_DI_FUNCTION_OBSOLETE \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x023EL) #define ERROR_NO_AUTHENTICODE_CATALOG \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x023FL) #define ERROR_AUTHENTICODE_DISALLOWED \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0240L) #define ERROR_AUTHENTICODE_TRUSTED_PUBLISHER \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0241L) #define ERROR_AUTHENTICODE_TRUST_NOT_ESTABLISHED \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0242L) #define ERROR_AUTHENTICODE_PUBLISHER_NOT_TRUSTED \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0243L) #define ERROR_SIGNATURE_OSATTRIBUTE_MISMATCH \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0244L) #define ERROR_ONLY_VALIDATE_VIA_AUTHENTICODE \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0245L) #define ERROR_DEVICE_INSTALLER_NOT_READY \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0246L) #define ERROR_DRIVER_STORE_ADD_FAILED \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0247L) #define ERROR_DEVICE_INSTALL_BLOCKED \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0248L) #define ERROR_DRIVER_INSTALL_BLOCKED \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0249L) #define ERROR_WRONG_INF_TYPE \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x024AL) #define ERROR_FILE_HASH_NOT_IN_CATALOG \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x024BL) #define ERROR_DRIVER_STORE_DELETE_FAILED \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x024CL) #define ERROR_UNRECOVERABLE_STACK_OVERFLOW \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x0300L) #define EXCEPTION_SPAPI_UNRECOVERABLE_STACK_OVERFLOW \ ERROR_UNRECOVERABLE_STACK_OVERFLOW #define ERROR_NO_DEFAULT_INTERFACE_DEVICE ERROR_NO_DEFAULT_DEVICE_INTERFACE #define ERROR_INTERFACE_DEVICE_ACTIVE ERROR_DEVICE_INTERFACE_ACTIVE #define ERROR_INTERFACE_DEVICE_REMOVED ERROR_DEVICE_INTERFACE_REMOVED #define ERROR_NO_SUCH_INTERFACE_DEVICE ERROR_NO_SUCH_DEVICE_INTERFACE #define ERROR_NOT_INSTALLED \ (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x1000L) /* SetupGetInfInformation() search control values */ #define INFINFO_INF_SPEC_IS_HINF 1L #define INFINFO_INF_NAME_IS_ABSOLUTE 2L #define INFINFO_DEFAULT_SEARCH 3L #define INFINFO_REVERSE_DEFAULT_SEARCH 4L #define INFINFO_INF_PATH_LIST_SEARCH 5L /* File compression types */ #define FILE_COMPRESSION_NONE 0 #define FILE_COMPRESSION_WINLZA 1 #define FILE_COMPRESSION_MSZIP 2 #define FILE_COMPRESSION_NTCAB 3 /* Source list flags */ #define SRCLIST_TEMPORARY 0x00000001L #define SRCLIST_NOBROWSE 0x00000002L #define SRCLIST_SYSTEM 0x00000010L #define SRCLIST_USER 0x00000020L #define SRCLIST_SYSIFADMIN 0x00000040L #define SRCLIST_SUBDIRS 0x00000100L #define SRCLIST_APPEND 0x00000200L #define SRCLIST_NOSTRIPPLATFORM 0x00000400L /* Installation dialog flags */ #define IDF_NOBROWSE 0x00000001L #define IDF_NOSKIP 0x00000002L #define IDF_NODETAILS 0x00000004L #define IDF_NOCOMPRESSED 0x00000008L #define IDF_CHECKFIRST 0x00000100L #define IDF_NOBEEP 0x00000200L #define IDF_NOFOREGROUND 0x00000400L #define IDF_WARNIFSKIP 0x00000800L #if (_SETUPAPI_VER >= 0x0501) #define IDF_NOREMOVABLEMEDIAPROMPT 0x00001000L #define IDF_USEDISKNAMEASPROMPT 0x00002000L #define IDF_OEMDISK 0x80000000L #endif /* Disk prompt return values */ #define DPROMPT_SUCCESS 0 #define DPROMPT_CANCEL 1 #define DPROMPT_SKIPFILE 2 #define DPROMPT_BUFFERTOOSMALL 3 #define DPROMPT_OUTOFMEMORY 4 /* SetupSetDirectoryIdEx() flags */ #define SETDIRID_NOT_FULL_PATH 0x00000001L /* Source information types */ #define SRCINFO_PATH 1 #define SRCINFO_TAGFILE 2 #define SRCINFO_DESCRIPTION 3 #define SRCINFO_FLAGS 4 #if (_SETUPAPI_VER >= 0x0501) #define SRCINFO_TAGFILE2 5 #endif /* Source flags */ #if (_SETUPAPI_VER >= 0x0501) #define SRC_FLAGS_CABFILE 0x0010 #endif /* Setup copy styles */ #define SP_COPY_DELETESOURCE 0x00000001L #define SP_COPY_REPLACEONLY 0x00000002L #define SP_COPY_NEWER 0x00000004L #define SP_COPY_NEWER_OR_SAME SP_COPY_NEWER #define SP_COPY_NOOVERWRITE 0x00000008L #define SP_COPY_NODECOMP 0x00000010L #define SP_COPY_LANGUAGEAWARE 0x00000020L #define SP_COPY_SOURCE_ABSOLUTE 0x00000040L #define SP_COPY_SOURCEPATH_ABSOLUTE 0x00000080L #define SP_COPY_IN_USE_NEEDS_REBOOT 0x00000100L #define SP_COPY_FORCE_IN_USE 0x00000200L #define SP_COPY_NOSKIP 0x00000400L #define SP_COPY_CABINETCONTINUATION 0x00000800L #define SP_COPY_FORCE_NOOVERWRITE 0x00001000L #define SP_COPY_FORCE_NEWER 0x00002000L #define SP_COPY_WARNIFSKIP 0x00004000L #define SP_COPY_NOBROWSE 0x00008000L #define SP_COPY_NEWER_ONLY 0x00010000L #define SP_COPY_OEMINF_CATALOG_ONLY 0x00040000L #define SP_COPY_REPLACE_BOOT_FILE 0x00080000L #define SP_COPY_NOPRUNE 0x00100000L #if (_SETUPAPI_VER >= 0x0501) #define SP_COPY_OEM_F6_INF 0x00200000L #define SP_COPY_ALREADYDECOMP 0x00400000L #endif #if (_SETUPAPI_VER >= 0x0600) #define SP_COPY_WINDOWS_SIGNED 0x01000000L #define SP_COPY_PNPLOCKED 0x02000000L #define SP_COPY_IN_USE_TRY_RENAME 0x04000000L #define SP_COPY_INBOX_INF 0x08000000L #endif #if (_SETUPAPI_VER >= 0x0601) #define SP_COPY_HARDLINK 0x10000000L #endif /* Setup backup notification flags */ #if (_SETUPAPI_VER >= 0x0501) #define SP_BACKUP_BACKUPPASS 0x00000001L #define SP_BACKUP_DEMANDPASS 0x00000002L #define SP_BACKUP_SPECIAL 0x00000004L #define SP_BACKUP_BOOTFILE 0x00000008L #endif /* SetupScanFileQueue() flags */ #define SPQ_SCAN_FILE_PRESENCE 0x00000001L #define SPQ_SCAN_FILE_VALIDITY 0x00000002L #define SPQ_SCAN_USE_CALLBACK 0x00000004L #define SPQ_SCAN_USE_CALLBACKEX 0x00000008L #define SPQ_SCAN_INFORM_USER 0x00000010L #define SPQ_SCAN_PRUNE_COPY_QUEUE 0x00000020L #if (_SETUPAPI_VER >= 0x0501) #define SPQ_SCAN_USE_CALLBACK_SIGNERINFO 0x00000040L #define SPQ_SCAN_PRUNE_DELREN 0x00000080L #endif #if (_SETUPAPI_VER >= 0x0600) #define SPQ_SCAN_FILE_PRESENCE_WITHOUT_SOURCE 0x00000100L #define SPQ_SCAN_FILE_COMPARISON 0x00000200L #define SPQ_SCAN_FILE_ACTIVATE_DRP 0x00000400L #endif /* Queue scan notification flags */ #define SPQ_DELAYED_COPY 0x00000001L /* Setup file queue flags */ #if (_SETUPAPI_VER >= 0x0501) #define SPQ_FLAG_BACKUP_AWARE 0x00000001L #define SPQ_FLAG_ABORT_IF_UNSIGNED 0x00000002L #define SPQ_FLAG_FILES_MODIFIED 0x00000004L #define SPQ_FLAG_DO_SHUFFLEMOVE 0x00000008L #define SPQ_FLAG_VALID 0x0000000FL #endif /* Setup OEM source types */ #define SPOST_NONE 0L #define SPOST_PATH 1L #define SPOST_URL 2L #define SPOST_MAX 3L /* SetupUninstallOEMInf() flags */ #if (_SETUPAPI_VER >= 0x0501) #define SUOI_FORCEDELETE 0x00000001L #endif /* SetupCreateDiskSpaceList() flags */ #define SPDSL_IGNORE_DISK 0x00000001L #define SPDSL_DISALLOW_NEGATIVE_ADJUST 0x00000002L /* SetupPromptReboot() return flags */ #define SPFILEQ_FILE_IN_USE 0x00000001 #define SPFILEQ_REBOOT_RECOMMENDED 0x00000002 #define SPFILEQ_REBOOT_IN_PROGRESS 0x00000004 /* AddReg flags */ #define FLG_ADDREG_BINVALUETYPE 0x00000001 #define FLG_ADDREG_NOCLOBBER 0x00000002 #define FLG_ADDREG_DELVAL 0x00000004 #define FLG_ADDREG_APPEND 0x00000008 #define FLG_ADDREG_KEYONLY 0x00000010 #define FLG_ADDREG_OVERWRITEONLY 0x00000020 #if (_SETUPAPI_VER >= 0x0501) #define FLG_ADDREG_64BITKEY 0x00001000 #define FLG_ADDREG_KEYONLY_COMMON 0x00002000 #define FLG_ADDREG_32BITKEY 0x00004000 #define FLG_ADDREG_DELREG_BIT 0x00008000 #endif #define FLG_ADDREG_TYPE_SZ 0x00000000 #define FLG_ADDREG_TYPE_MULTI_SZ 0x00010000 #define FLG_ADDREG_TYPE_EXPAND_SZ 0x00020000 #define FLG_ADDREG_TYPE_BINARY (0x00000000 | FLG_ADDREG_BINVALUETYPE) #define FLG_ADDREG_TYPE_DWORD (0x00010000 | FLG_ADDREG_BINVALUETYPE) #define FLG_ADDREG_TYPE_NONE (0x00020000 | FLG_ADDREG_BINVALUETYPE) #define FLG_ADDREG_TYPE_MASK (0xFFFF0000 | FLG_ADDREG_BINVALUETYPE) /* DelReg flags */ #define FLG_DELREG_VALUE 0x00000000 #if (_SETUPAPI_VER >= 0x0501) #define FLG_DELREG_TYPE_MASK FLG_ADDREG_TYPE_MASK #define FLG_DELREG_TYPE_SZ FLG_ADDREG_TYPE_SZ #define FLG_DELREG_TYPE_MULTI_SZ FLG_ADDREG_TYPE_MULTI_SZ #define FLG_DELREG_TYPE_EXPAND_SZ FLG_ADDREG_TYPE_EXPAND_SZ #define FLG_DELREG_TYPE_BINARY FLG_ADDREG_TYPE_BINARY #define FLG_DELREG_TYPE_DWORD FLG_ADDREG_TYPE_DWORD #define FLG_DELREG_TYPE_NONE FLG_ADDREG_TYPE_NONE #define FLG_DELREG_64BITKEY FLG_ADDREG_64BITKEY #define FLG_DELREG_KEYONLY_COMMON FLG_ADDREG_KEYONLY_COMMON #define FLG_DELREG_32BITKEY FLG_ADDREG_32BITKEY #define FLG_DELREG_OPERATION_MASK 0x000000FE #define FLG_DELREG_MULTI_SZ_DELSTRING \ (FLG_DELREG_TYPE_MULTI_SZ | FLG_ADDREG_DELREG_BIT | 0x00000002) #endif /* BitReg flags */ #define FLG_BITREG_CLEARBITS 0x00000000 #define FLG_BITREG_SETBITS 0x00000001 #if (_SETUPAPI_VER >= 0x0501) #define FLG_BITREG_64BITKEY 0x00001000 #define FLG_BITREG_32BITKEY 0x00004000 #endif /* Ini2Reg flags */ #if (_SETUPAPI_VER >= 0x0501) #define FLG_INI2REG_64BITKEY 0x00001000 #define FLG_INI2REG_32BITKEY 0x00004000 #endif /* RegSvr flags */ #define FLG_REGSVR_DLLREGISTER 0x00000001 #define FLG_REGSVR_DLLINSTALL 0x00000002 /* ProfItem flags */ #define FLG_PROFITEM_CURRENTUSER 0x00000001 #define FLG_PROFITEM_DELETE 0x00000002 #define FLG_PROFITEM_GROUP 0x00000004 #define FLG_PROFITEM_CSIDL 0x00000008 /* AddProperty flags */ #define FLG_ADDPROPERTY_NOCLOBBER 0x00000001 #define FLG_ADDPROPERTY_OVERWRITEONLY 0x00000002 #define FLG_ADDPROPERTY_APPEND 0x00000004 #define FLG_ADDPROPERTY_OR 0x00000008 #define FLG_ADDPROPERTY_AND 0x00000010 /* DelProperty flags */ #define FLG_DELPROPERTY_MULTI_SZ_DELSTRING 0x00000001 /* SetupInstallFromInfSection() flags */ #define SPINST_LOGCONFIG 0x00000001 #define SPINST_INIFILES 0x00000002 #define SPINST_REGISTRY 0x00000004 #define SPINST_INI2REG 0x00000008 #define SPINST_FILES 0x00000010 #define SPINST_BITREG 0x00000020 #define SPINST_REGSVR 0x00000040 #define SPINST_UNREGSVR 0x00000080 #define SPINST_PROFILEITEMS 0x00000100 #if (_SETUPAPI_VER >= 0x0501) #define SPINST_COPYINF 0x00000200 #endif #if (_SETUPAPI_VER >= 0x0600) #define SPINST_PROPERTIES 0x00000400 #define SPINST_ALL 0x000007FF #elif (_SETUPAPI_VER >= 0x0501) #define SPINST_ALL 0x000003FF #else #define SPINST_ALL 0x000001FF #endif #define SPINST_SINGLESECTION 0x00010000 #define SPINST_LOGCONFIG_IS_FORCED 0x00020000 #define SPINST_LOGCONFIGS_ARE_OVERRIDES 0x00040000 #if (_SETUPAPI_VER >= 0x0501) #define SPINST_REGISTERCALLBACKAWARE 0x00080000 #endif #if (_SETUPAPI_VER >= 0x0600) #define SPINST_DEVICEINSTALL 0x00100000 #endif /* SetupInstallServicesFromInfSection() flags */ #define SPSVCINST_TAGTOFRONT 0x00000001L #define SPSVCINST_ASSOCSERVICE 0x00000002L #define SPSVCINST_DELETEEVENTLOGENTRY 0x00000004L #define SPSVCINST_NOCLOBBER_DISPLAYNAME 0x00000008L #define SPSVCINST_NOCLOBBER_STARTTYPE 0x00000010L #define SPSVCINST_NOCLOBBER_ERRORCONTROL 0x00000020L #define SPSVCINST_NOCLOBBER_LOADORDERGROUP 0x00000040L #define SPSVCINST_NOCLOBBER_DEPENDENCIES 0x00000080L #define SPSVCINST_NOCLOBBER_DESCRIPTION 0x00000100L #define SPSVCINST_STOPSERVICE 0x00000200L #if (_SETUPAPI_VER >= 0x0501) #define SPSVCINST_CLOBBER_SECURITY 0x00000400L #endif #if (_SETUPAPI_VER >= 0x0600) #define SPSVCINST_STARTSERVICE 0x00000800L #endif #if (_SETUPAPI_VER >= 0x0601) #define SPSVCINST_NOCLOBBER_REQUIREDPRIVILEGES 0x00001000L #endif /* SetupInitializeFileLog() flags */ #define SPFILELOG_SYSTEMLOG 0x00000001L #define SPFILELOG_FORCENEW 0x00000002L #define SPFILELOG_QUERYONLY 0x00000004L /* SetupLogFile() flags */ #define SPFILELOG_OEMFILE 0x00000001L /* Log severities */ #define LogSevInformation 0x00000000L #define LogSevWarning 0x00000001L #define LogSevError 0x00000002L #define LogSevFatalError 0x00000003L #define LogSevMaximum 0x00000004L /* SetupDiCreateDeviceInfo() flags */ #define DICD_GENERATE_ID 0x00000001L #define DICD_INHERIT_CLASSDRVS 0x00000002L /* SetupDiOpenDeviceInfo() flags */ #define DIOD_INHERIT_CLASSDRVS 0x00000002L #define DIOD_CANCEL_REMOVE 0x00000004L /* SetupDiOpenDeviceInterface() flags */ #define DIODI_NO_ADD 0x00000001L /* SetupDiRegisterDeviceInfo() flags */ #define SPRDI_FIND_DUPS 0x00000001L /* Driver types */ #define SPDIT_NODRIVER 0x00000000L #define SPDIT_CLASSDRIVER 0x00000001L #define SPDIT_COMPATDRIVER 0x00000002L /* SetupDiGetClassDevs() flags */ #define DIGCF_DEFAULT 0x00000001L #define DIGCF_PRESENT 0x00000002L #define DIGCF_ALLCLASSES 0x00000004L #define DIGCF_PROFILE 0x00000008L #define DIGCF_DEVICEINTERFACE 0x00000010L #define DIGCF_INTERFACEDEVICE DIGCF_DEVICEINTERFACE /* SetupDiBuildClassInfoList() flags */ #define DIBCI_NOINSTALLCLASS 0x00000001L #define DIBCI_NODISPLAYCLASS 0x00000002L /* SetupDiOpenClassRegKeyEx() flags */ #define DIOCR_INSTALLER 0x00000001L #define DIOCR_INTERFACE 0x00000002L /* Device installer registry key types */ #define DIREG_DEV 0x00000001L #define DIREG_DRV 0x00000002L #define DIREG_BOTH 0x00000004L /* Device installer class property flags */ #if (_SETUPAPI_VER >= 0x0600) #define DICLASSPROP_INSTALLER 0x00000001L #define DICLASSPROP_INTERFACE 0x00000002L #endif /* Setup device registry property codes */ #define SPDRP_DEVICEDESC 0x00000000L #define SPDRP_HARDWAREID 0x00000001L #define SPDRP_COMPATIBLEIDS 0x00000002L #define SPDRP_SERVICE 0x00000004L #define SPDRP_CLASS 0x00000007L #define SPDRP_CLASSGUID 0x00000008L #define SPDRP_DRIVER 0x00000009L #define SPDRP_CONFIGFLAGS 0x0000000AL #define SPDRP_MFG 0x0000000BL #define SPDRP_FRIENDLYNAME 0x0000000CL #define SPDRP_LOCATION_INFORMATION 0x0000000DL #define SPDRP_PHYSICAL_DEVICE_OBJECT_NAME 0x0000000EL #define SPDRP_CAPABILITIES 0x0000000FL #define SPDRP_UI_NUMBER 0x00000010L #define SPDRP_UPPERFILTERS 0x00000011L #define SPDRP_LOWERFILTERS 0x00000012L #define SPDRP_BUSTYPEGUID 0x00000013L #define SPDRP_LEGACYBUSTYPE 0x00000014L #define SPDRP_BUSNUMBER 0x00000015L #define SPDRP_ENUMERATOR_NAME 0x00000016L #define SPDRP_SECURITY 0x00000017L #define SPDRP_SECURITY_SDS 0x00000018L #define SPDRP_DEVTYPE 0x00000019L #define SPDRP_EXCLUSIVE 0x0000001AL #define SPDRP_CHARACTERISTICS 0x0000001BL #define SPDRP_ADDRESS 0x0000001CL #define SPDRP_UI_NUMBER_DESC_FORMAT 0x0000001DL #define SPDRP_DEVICE_POWER_DATA 0x0000001EL #define SPDRP_REMOVAL_POLICY 0x0000001FL #define SPDRP_REMOVAL_POLICY_HW_DEFAULT 0x00000020L #define SPDRP_REMOVAL_POLICY_OVERRIDE 0x00000021L #define SPDRP_INSTALL_STATE 0x00000022L #define SPDRP_LOCATION_PATHS 0x00000023L #define SPDRP_BASE_CONTAINERID 0x00000024L #define SPDRP_MAXIMUM_PROPERTY 0x00000025L /* Setup class registry property codes */ #define SPCRP_UPPERFILTERS 0x00000011L #define SPCRP_LOWERFILTERS 0x00000012L #define SPCRP_SECURITY 0x00000017L #define SPCRP_SECURITY_SDS 0x00000018L #define SPCRP_DEVTYPE 0x00000019L #define SPCRP_EXCLUSIVE 0x0000001AL #define SPCRP_CHARACTERISTICS 0x0000001BL #define SPCRP_MAXIMUM_PROPERTY 0x0000001CL /* SetupDiDrawMiniIcon() flags */ #define DMI_MASK 0x00000001L #define DMI_BKCOLOR 0x00000002L #define DMI_USERECT 0x00000004L /* SetupDiGetClassDevPropertySheets() flags */ #define DIGCDP_FLAG_BASIC 0x00000001L #define DIGCDP_FLAG_ADVANCED 0x00000002L #if (_SETUPAPI_VER >= 0x0501) #define DIGCDP_FLAG_REMOTE_BASIC 0x00000003L #define DIGCDP_FLAG_REMOTE_ADVANCED 0x00000004L #endif /* Setup icon identifiers */ #define IDI_RESOURCEFIRST 159 #define IDI_RESOURCE 159 #define IDI_RESOURCELAST 161 #define IDI_RESOURCEOVERLAYFIRST 161 #define IDI_RESOURCEOVERLAYLAST 161 #define IDI_CONFLICT 161 #define IDI_CLASSICON_OVERLAYFIRST 500 #define IDI_CLASSICON_OVERLAYLAST 502 #define IDI_PROBLEM_OVL 500 #define IDI_DISABLED_OVL 501 #define IDI_FORCED_OVL 502 /* SetupDiGetWizardPage() page types */ #define SPWPT_SELECTDEVICE 0x00000001L /* SetupDiGetWizardPage() flags */ #define SPWP_USE_DEVINFO_DATA 0x00000001L /* Signer scores */ #if (_SETUPAPI_VER >= 0x0600) #define SIGNERSCORE_UNKNOWN 0xFF000000L #define SIGNERSCORE_W9X_SUSPECT 0xC0000000L #define SIGNERSCORE_UNSIGNED 0x80000000L #define SIGNERSCORE_AUTHENTICODE 0x0F000000L #define SIGNERSCORE_WHQL 0x0D000005L #define SIGNERSCORE_UNCLASSIFIED 0x0D000004L #define SIGNERSCORE_INBOX 0x0D000003L #define SIGNERSCORE_LOGO_STANDARD 0x0D000002L #define SIGNERSCORE_LOGO_PREMIUM 0x0D000001L #define SIGNERSCORE_MASK 0xFF000000L #define SIGNERSCORE_SIGNED_MASK 0xF0000000L #endif /* SetupDiGetCustomDeviceProperty() flags */ #if (_SETUPAPI_VER >= 0x0501) #define DICUSTOMDEVPROP_MERGE_MULTISZ 0x00000001L #endif /* SetupConfigureWmiFromInfSection() flags */ #if (_SETUPAPI_VER >= 0x0502) #define SCWMI_CLOBBER_SECURITY 0x00000001L #endif /* Information file context */ typedef struct _INFCONTEXT { PVOID Inf; PVOID CurrentInf; UINT Section; UINT Line; } INFCONTEXT; typedef INFCONTEXT *PINFCONTEXT; /* Setup information file information */ typedef struct _SP_INF_INFORMATION { DWORD InfStyle; DWORD InfCount; BYTE VersionData[ANYSIZE_ARRAY]; } SP_INF_INFORMATION; typedef SP_INF_INFORMATION *PSP_INF_INFORMATION; /* Setup alternate platform information (version 2) */ typedef struct _SP_ALTPLATFORM_INFO_V2 { DWORD cbSize; DWORD Platform; DWORD MajorVersion; DWORD MinorVersion; WORD ProcessorArchitecture; union { WORD Reserved; WORD Flags; }; DWORD FirstValidatedMajorVersion; DWORD FirstValidatedMinorVersion; } SP_ALTPLATFORM_INFO_V2; typedef SP_ALTPLATFORM_INFO_V2 *PSP_ALTPLATFORM_INFO_V2; /* Setup alternate platform information (version 1) */ typedef struct _SP_ALTPLATFORM_INFO_V1 { DWORD cbSize; DWORD Platform; DWORD MajorVersion; DWORD MinorVersion; WORD ProcessorArchitecture; WORD Reserved; } SP_ALTPLATFORM_INFO_V1; typedef SP_ALTPLATFORM_INFO_V1 *PSP_ALTPLATFORM_INFO_V1; /* Setup alternate platform information */ #if (_SETUPAPI_VER >= 0x0501) typedef SP_ALTPLATFORM_INFO_V2 SP_ALTPLATFORM_INFO; typedef PSP_ALTPLATFORM_INFO_V2 PSP_ALTPLATFORM_INFO; #else typedef SP_ALTPLATFORM_INFO_V1 SP_ALTPLATFORM_INFO; typedef PSP_ALTPLATFORM_INFO_V1 PSP_ALTPLATFORM_INFO; #endif /* Setup original file information */ typedef struct _SP_ORIGINAL_FILE_INFO_A { DWORD cbSize; CHAR OriginalInfName[MAX_PATH]; CHAR OriginalCatalogName[MAX_PATH]; } SP_ORIGINAL_FILE_INFO_A; typedef SP_ORIGINAL_FILE_INFO_A *PSP_ORIGINAL_FILE_INFO_A; typedef struct _SP_ORIGINAL_FILE_INFO_W { DWORD cbSize; WCHAR OriginalInfName[MAX_PATH]; WCHAR OriginalCatalogName[MAX_PATH]; } SP_ORIGINAL_FILE_INFO_W; typedef SP_ORIGINAL_FILE_INFO_W *PSP_ORIGINAL_FILE_INFO_W; #ifdef UNICODE typedef SP_ORIGINAL_FILE_INFO_W SP_ORIGINAL_FILE_INFO; typedef PSP_ORIGINAL_FILE_INFO_W PSP_ORIGINAL_FILE_INFO; #else typedef SP_ORIGINAL_FILE_INFO_A SP_ORIGINAL_FILE_INFO; typedef PSP_ORIGINAL_FILE_INFO_A PSP_ORIGINAL_FILE_INFO; #endif /* Setup file callback */ typedef UINT (CALLBACK *PSP_FILE_CALLBACK_A)( PVOID, UINT, UINT_PTR, UINT_PTR ); typedef UINT (CALLBACK *PSP_FILE_CALLBACK_W)( PVOID, UINT, UINT_PTR, UINT_PTR ); #ifdef UNICODE #define PSP_FILE_CALLBACK PSP_FILE_CALLBACK_W #else #define PSP_FILE_CALLBACK PSP_FILE_CALLBACK_A #endif /* File paths */ typedef struct _FILEPATHS_A { PCSTR Target; PCSTR Source; UINT Win32Error; DWORD Flags; } FILEPATHS_A; typedef FILEPATHS_A *PFILEPATHS_A; typedef struct _FILEPATHS_W { PCWSTR Target; PCWSTR Source; UINT Win32Error; DWORD Flags; } FILEPATHS_W; typedef FILEPATHS_W *PFILEPATHS_W; #ifdef UNICODE typedef FILEPATHS_W FILEPATHS; typedef PFILEPATHS_W PFILEPATHS; #else typedef FILEPATHS_A FILEPATHS; typedef PFILEPATHS_A PFILEPATHS; #endif /* File paths signer information */ #if (_SETUPAPI_VER > 0x0501) typedef struct _FILEPATHS_SIGNERINFO_A { PCSTR Target; PCSTR Source; UINT Win32Error; DWORD Flags; PCSTR DigitalSigner; PCSTR Version; PCSTR CatalogFile; } FILEPATHS_SIGNERINFO_A; typedef FILEPATHS_SIGNERINFO_A *PFILEPATHS_SIGNERINFO_A; typedef struct _FILEPATHS_SIGNERINFO_W { PCWSTR Target; PCWSTR Source; UINT Win32Error; DWORD Flags; PCWSTR DigitalSigner; PCWSTR Version; PCWSTR CatalogFile; } FILEPATHS_SIGNERINFO_W; typedef FILEPATHS_SIGNERINFO_W *PFILEPATHS_SIGNERINFO_W; #ifdef UNICODE typedef FILEPATHS_SIGNERINFO_W FILEPATHS_SIGNERINFO; typedef PFILEPATHS_SIGNERINFO_W PFILEPATHS_SIGNERINFO; #else typedef FILEPATHS_SIGNERINFO_A FILEPATHS_SIGNERINFO; typedef PFILEPATHS_SIGNERINFO_A PFILEPATHS_SIGNERINFO; #endif #endif /* Source media information */ typedef struct _SOURCE_MEDIA_A { PCSTR Reserved; PCSTR Tagfile; PCSTR Description; PCSTR SourcePath; PCSTR SourceFile; DWORD Flags; } SOURCE_MEDIA_A; typedef SOURCE_MEDIA_A *PSOURCE_MEDIA_A; typedef struct _SOURCE_MEDIA_W { PCWSTR Reserved; PCWSTR Tagfile; PCWSTR Description; PCWSTR SourcePath; PCWSTR SourceFile; DWORD Flags; } SOURCE_MEDIA_W; typedef SOURCE_MEDIA_W *PSOURCE_MEDIA_W; #ifdef UNICODE typedef SOURCE_MEDIA_W SOURCE_MEDIA; typedef PSOURCE_MEDIA_W PSOURCE_MEDIA; #else typedef SOURCE_MEDIA_A SOURCE_MEDIA; typedef PSOURCE_MEDIA_A PSOURCE_MEDIA; #endif /* Cabinet information */ typedef struct _CABINET_INFOA { PCSTR CabinetPath; PCSTR CabinetFile; PCSTR DiskName; USHORT SetId; USHORT CabinetNumber; } CABINET_INFOA; typedef CABINET_INFOA *PCABINET_INFOA; typedef struct _CABINET_INFOW { PCWSTR CabinetPath; PCWSTR CbainetFile; PCWSTR DiskName; USHORT SetId; USHORT CabinetNumber; } CABINET_INFOW; typedef CABINET_INFOW *PCABINET_INFOW; #ifdef UNICODE typedef CABINET_INFOW CABINET_INFO; typedef PCABINET_INFOW PCABINET_INFO; #else typedef CABINET_INFOA CABINET_INFO; typedef PCABINET_INFOA PCABINET_INFO; #endif /* File in cabinet information */ typedef struct _FILE_IN_CABINET_INFO_A { PCSTR NameInCabinet; DWORD FileSize; DWORD Win32Error; WORD DosDate; WORD DosTime; WORD DosAttribs; CHAR FullTargetName[MAX_PATH]; } FILE_IN_CABINET_INFO_A; typedef FILE_IN_CABINET_INFO_A *PFILE_IN_CABINET_INFO_A; typedef struct _FILE_IN_CABINET_INFO_W { PCWSTR NameInCabinet; DWORD FileSize; DWORD Win32Error; WORD DosDate; WORD DosTime; WORD DosAttribs; WCHAR FullTargetName[MAX_PATH]; } FILE_IN_CABINET_INFO_W; typedef FILE_IN_CABINET_INFO_W *PFILE_IN_CABINET_INFOW; #ifdef UNICODE typedef FILE_IN_CABINET_INFO_W FILE_IN_CABINET_INFO; typedef PFILE_IN_CABINET_INFO_W PFILE_IN_CABINET_INFO; #else typedef FILE_IN_CABINET_INFO_A FILE_IN_CABINET_INFO; typedef PFILE_IN_CABINET_INFO_A PFILE_IN_CABINET_INFO; #endif /* Setup register control status */ typedef struct _SP_REGISTER_CONTROL_STATUSA { DWORD cbSize; PCSTR FileName; DWORD Win32Error; DWORD FailureCode; } SP_REGISTER_CONTROL_STATUSA; typedef SP_REGISTER_CONTROL_STATUSA *PSP_REGISTER_CONTROL_STATUSA; typedef struct _SP_REGISTER_CONTROL_STATUSW { DWORD cbSize; PCWSTR FileName; DWORD Win32Error; DWORD FailureCode; } SP_REGISTER_CONTROL_STATUSW; typedef SP_REGISTER_CONTROL_STATUSW *PSP_REGISTER_CONTROL_STATUSW; #ifdef UNICODE typedef SP_REGISTER_CONTROL_STATUSW SP_REGISTER_CONTROL_STATUS; typedef PSP_REGISTER_CONTROL_STATUSW PSP_REGISTER_CONTROL_STATUS; #else typedef SP_REGISTER_CONTROL_STATUSA SP_REGISTER_CONTROL_STATUS; typedef PSP_REGISTER_CONTROL_STATUSA PSP_REGISTER_CONTROL_STATUS; #endif /* Setup file copy parameters */ typedef struct _SP_FILE_COPY_PARAMS_A { DWORD cbSize; HSPFILEQ QueueHandle; PCSTR SourceRootPath; PCSTR SourcePath; PCSTR SourceFilename; PCSTR SourceDescription; PCSTR SourceTagfile; PCSTR TargetDirectory; PCSTR TargetFilename; DWORD CopyStyle; HINF LayoutInf; PCSTR SecurityDescriptor; } SP_FILE_COPY_PARAMS_A; typedef SP_FILE_COPY_PARAMS_A *PSP_FILE_COPY_PARAMS_A; typedef struct _SP_FILE_COPY_PARAMS_W { DWORD cbSize; HSPFILEQ QueueHandle; PCWSTR SourceRootPath; PCWSTR SourcePath; PCWSTR SourceFilename; PCWSTR SourceDescription; PCWSTR SourceTagfile; PCWSTR TargetDirectory; PCWSTR TargetFilename; DWORD CopyStyle; HINF LayoutInf; PCWSTR SecurityDescriptor; } SP_FILE_COPY_PARAMS_W; typedef SP_FILE_COPY_PARAMS_W *PSP_FILE_COPY_PARAMS_W; #ifdef UNICODE typedef SP_FILE_COPY_PARAMS_W SP_FILE_COPY_PARAMS; typedef PSP_FILE_COPY_PARAMS_W PSP_FILE_COPY_PARAMS; #else typedef SP_FILE_COPY_PARAMS_A SP_FILE_COPY_PARAMS; typedef PSP_FILE_COPY_PARAMS_A PSP_FILE_COPY_PARAMS; #endif /* Setup device information data */ typedef struct _SP_DEVINFO_DATA { DWORD cbSize; GUID ClassGuid; DWORD DevInst; ULONG_PTR Reserved; } SP_DEVINFO_DATA; typedef SP_DEVINFO_DATA *PSP_DEVINFO_DATA; /* Setup device interface data */ typedef struct _SP_DEVICE_INTERFACE_DATA { DWORD cbSize; GUID InterfaceClassGuid; DWORD Flags; ULONG_PTR Reserved; } SP_DEVICE_INTERFACE_DATA; typedef SP_DEVICE_INTERFACE_DATA *PSP_DEVICE_INTERFACE_DATA; typedef SP_DEVICE_INTERFACE_DATA SP_INTERFACE_DEVICE_DATA; typedef SP_DEVICE_INTERFACE_DATA *PSP_INTERFACE_DEVICE_DATA; /* Setup device interface detail data */ typedef struct _SP_DEVICE_INTERFACE_DETAIL_DATA_A { DWORD cbSize; CHAR DevicePath[ANYSIZE_ARRAY]; } SP_DEVICE_INTERFACE_DETAIL_DATA_A; typedef SP_DEVICE_INTERFACE_DETAIL_DATA_A *PSP_DEVICE_INTERFACE_DETAIL_DATA_A; typedef SP_DEVICE_INTERFACE_DETAIL_DATA_A SP_INTERFACE_DEVICE_DETAIL_DATA_A; typedef SP_DEVICE_INTERFACE_DETAIL_DATA_A *PSP_INTERFACE_DEVICE_DETAIL_DATA_A; typedef struct _SP_DEVICE_INTERFACE_DETAIL_DATA_W { DWORD cbSize; WCHAR DevicePath[ANYSIZE_ARRAY]; } SP_DEVICE_INTERFACE_DETAIL_DATA_W; typedef SP_DEVICE_INTERFACE_DETAIL_DATA_W *PSP_DEVICE_INTERFACE_DETAIL_DATA_W; typedef SP_DEVICE_INTERFACE_DETAIL_DATA_W SP_INTERFACE_DEVICE_DETAIL_DATA_W; typedef SP_DEVICE_INTERFACE_DETAIL_DATA_W *PSP_INTERFACE_DEVICE_DETAIL_DATA_W; #ifdef UNICODE typedef SP_DEVICE_INTERFACE_DETAIL_DATA_W SP_DEVICE_INTERFACE_DETAIL_DATA; typedef PSP_DEVICE_INTERFACE_DETAIL_DATA_W PSP_DEVICE_INTERFACE_DETAIL_DATA; typedef SP_INTERFACE_DEVICE_DETAIL_DATA_W SP_INTERFACE_DEVICE_DETAIL_DATA; typedef PSP_INTERFACE_DEVICE_DETAIL_DATA_W PSP_INTERFACE_DEVICE_DETAIL_DATA; #else typedef SP_DEVICE_INTERFACE_DETAIL_DATA_A SP_DEVICE_INTERFACE_DETAIL_DATA; typedef PSP_DEVICE_INTERFACE_DETAIL_DATA_A PSP_DEVICE_INTERFACE_DETAIL_DATA; typedef SP_INTERFACE_DEVICE_DETAIL_DATA_A SP_INTERFACE_DEVICE_DETAIL_DATA; typedef PSP_INTERFACE_DEVICE_DETAIL_DATA_A PSP_INTERFACE_DEVICE_DETAIL_DATA; #endif /* Setup device information list detail data */ typedef struct _SP_DEVINFO_LIST_DETAIL_DATA_A { DWORD dwSize; GUID ClassGuid; HANDLE RemoteMachineHandle; CHAR RemoteMachineName[SP_MAX_MACHINENAME_LENGTH]; } SP_DEVINFO_LIST_DETAIL_DATA_A; typedef SP_DEVINFO_LIST_DETAIL_DATA_A *PSP_DEVINFO_LIST_DETAIL_DATA_A; typedef struct _SP_DEVINFO_LIST_DETAIL_DATA_W { DWORD dwSize; GUID ClassGuid; HANDLE RemoteMachineHandle; WCHAR RemoteMachineName[SP_MAX_MACHINENAME_LENGTH]; } SP_DEVINFO_LIST_DETAIL_DATA_W; typedef SP_DEVINFO_LIST_DETAIL_DATA_W *PSP_DEVINFO_LIST_DETAIL_DATA_W; #ifdef UNICODE typedef SP_DEVINFO_LIST_DETAIL_DATA_W SP_DEVINFO_LIST_DETAIL_DATA_W; typedef PSP_DEVINFO_LIST_DETAIL_DATA_W PSP_DEVINFO_LIST_DETAIL_DATA_W; #else typedef SP_DEVINFO_LIST_DETAIL_DATA_A SP_DEVINFO_LIST_DETAIL_DATA_A; typedef PSP_DEVINFO_LIST_DETAIL_DATA_A PSP_DEVINFO_LIST_DETAIL_DATA_A; #endif /* Setup device install parameters */ typedef struct _SP_DEVINSTALL_PARAMS_A { DWORD cbSize; DWORD Flags; DWORD FlagsEx; HWND hwndParent; PSP_FILE_CALLBACK InstallMsgHandler; PVOID InstallMsgHandlerContext; HSPFILEQ FileQueue; ULONG_PTR ClassInstallReserved; DWORD Reserved; CHAR DriverPath[MAX_PATH]; } SP_DEVINSTALL_PARAMS_A; typedef SP_DEVINSTALL_PARAMS_A *PSP_DEVINSTALL_PARAMS_A; typedef struct _SP_DEVINSTALL_PARAMS_W { DWORD cbSize; DWORD Flags; DWORD FlagsEx; HWND hwndParent; PSP_FILE_CALLBACK InstallMsgHandler; PVOID InstallMsgHandlerContext; HSPFILEQ FileQueue; ULONG_PTR ClassInstallReserved; DWORD Reserved; WCHAR DriverPath[MAX_PATH]; } SP_DEVINSTALL_PARAMS_W; typedef SP_DEVINSTALL_PARAMS_W *PSP_DEVINSTALL_PARAMS_W; #ifdef UNICODE typedef SP_DEVINSTALL_PARAMS_W SP_DEVINSTALL_PARAMS; typedef PSP_DEVINSTALL_PARAMS_W PSP_DEVINSTALL_PARAMS; #else typedef SP_DEVINSTALL_PARAMS_A SP_DEVINSTALL_PARAMS; typedef PSP_DEVINSTALL_PARAMS_A PSP_DEVINSTALL_PARAMS; #endif /* Setup class install header */ typedef struct _SP_CLASSINSTALL_HEADER { DWORD cbSize; DI_FUNCTION InstallFunction; } SP_CLASSINSTALL_HEADER; typedef SP_CLASSINSTALL_HEADER *PSP_CLASSINSTALL_HEADER; /* Setup enable class parameters */ typedef struct _SP_ENABLECLASS_PARAMS { SP_CLASSINSTALL_HEADER ClassInstallHeader; GUID ClassGuid; DWORD EnableMessage; } SP_ENABLECLASS_PARAMS; typedef SP_ENABLECLASS_PARAMS *PSP_ENABLECLASS_PARAMS; /* Setup property change parameters */ typedef struct _SP_PROPCHANGE_PARAMS { SP_CLASSINSTALL_HEADER ClassInstallHeader; DWORD StateChange; DWORD Scope; DWORD HwProfile; } SP_PROPCHANGE_PARAMS; typedef SP_PROPCHANGE_PARAMS *PSP_PROPCHANGE_PARAMS; /* Setup remove device parameters */ typedef struct _SP_REMOVEDEVICE_PARAMS { SP_CLASSINSTALL_HEADER ClassInstallHeader; DWORD Scope; DWORD HwProfile; } SP_REMOVEDEVICE_PARAMS; typedef SP_REMOVEDEVICE_PARAMS *PSP_REMOVEDEVICE_PARAMS; /* Setup unremove device prameters */ typedef struct _SP_UNREMOVEDEVICE_PARAMS { SP_CLASSINSTALL_HEADER ClassInstallHeader; DWORD Scope; DWORD HwProfile; } SP_UNREMOVEDEVICE_PARAMS; typedef SP_UNREMOVEDEVICE_PARAMS *PSP_UNREMOVEDEVICE_PARAMS; /* Setup select device parameters */ typedef struct _SP_SELECTDEVICE_PARAMS_A { SP_CLASSINSTALL_HEADER ClassInstallHeader; CHAR Title[MAX_TITLE_LEN]; CHAR Instructions[MAX_INSTRUCTION_LEN]; CHAR ListLabel[MAX_LABEL_LEN]; CHAR SubTitle[MAX_SUBTITLE_LEN]; BYTE Reserved[2]; } SP_SELECTDEVICE_PARAMS_A; typedef SP_SELECTDEVICE_PARAMS_A *PSP_SELECTDEVICE_PARAMS_A; typedef struct _SP_SELECTDEVICE_PARAMS_W { SP_CLASSINSTALL_HEADER ClassInstallHeader; WCHAR Title[MAX_TITLE_LEN]; WCHAR Instructions[MAX_INSTRUCTION_LEN]; WCHAR ListLabel[MAX_LABEL_LEN]; WCHAR SubTitle[MAX_SUBTITLE_LEN]; BYTE Reserved[2]; } SP_SELECTDEVICE_PARAMS_W; typedef SP_SELECTDEVICE_PARAMS_W *PSP_SELECTDEVICE_PARAMS_W; #ifdef UNICODE typedef SP_SELECTDEVICE_PARAMS_W SP_SELECTDEVICE_PARAMS; typedef PSP_SELECTDEVICE_PARAMS_W PSP_SELECTDEVICE_PARAMS; #else typedef SP_SELECTDEVICE_PARAMS_A SP_SELECTDEVICE_PARAMS; typedef PSP_SELECTDEVICE_PARAMS_A PSP_SELECTDEVICE_PARAMS; #endif /* Detect progress notify callback */ typedef BOOL (CALLBACK *PDETECT_PROGRESS_NOTIFY)( PVOID, DWORD ); /* Setup detect device parameters */ typedef struct _SP_DETECTDEVICE_PARAMS { SP_CLASSINSTALL_HEADER ClassInstallHeader; PDETECT_PROGRESS_NOTIFY DetectProgressNotify; PVOID ProgressNotifyParam; } SP_DETECTDEVICE_PARAMS; typedef SP_DETECTDEVICE_PARAMS *PSP_DETECTDEVICE_PARAMS; /* Setup install wizard data */ typedef struct _SP_INSTALLWIZARD_DATA { SP_CLASSINSTALL_HEADER ClassInstallHeader; DWORD Flags; HPROPSHEETPAGE DynamicPages[MAX_INSTALLWIZARD_DYNAPAGES]; DWORD NumDynamicPages; DWORD DynamicPageFlags; DWORD PrivateFlags; LPARAM PrivateData; HWND hwndWizardDlg; } SP_INSTALLWIZARD_DATA; typedef SP_INSTALLWIZARD_DATA *PSP_INSTALLWIZARD_DATA; /* Setup New Device Wizard data */ typedef struct _SP_NEWDEVICEWIZARD_DATA { SP_CLASSINSTALL_HEADER ClassInstallHeader; DWORD Flags; HPROPSHEETPAGE DynamicPages[MAX_INSTALLWIZARD_DYNAPAGES]; DWORD NumDynamicPages; HWND hwndWizardDlg; } SP_NEWDEVICEWIZARD_DATA; typedef SP_NEWDEVICEWIZARD_DATA *PSP_NEWDEVICEWIZARD_DATA; typedef SP_NEWDEVICEWIZARD_DATA SP_ADDPROPERTYPAGE_DATA; typedef SP_NEWDEVICEWIZARD_DATA *PSP_ADDPROPERTYPAGE_DATA; /* Setup troubleshooter parameters */ typedef struct _SP_TROUBLESHOOTER_PARAMS_A { SP_CLASSINSTALL_HEADER ClassInstallHeader; CHAR ChmFile[MAX_PATH]; CHAR HtmlTroubleShooter[MAX_PATH]; } SP_TROUBLESHOOTER_PARAMS_A; typedef SP_TROUBLESHOOTER_PARAMS_A *PSP_TROUBLESHOOTER_PARAMS_A; typedef struct _SP_TROUBLESHOOTER_PARAMS_W { SP_CLASSINSTALL_HEADER ClassInstallHeader; WCHAR ChmFile[MAX_PATH]; WCHAR HtmlTroubleShooter[MAX_PATH]; } SP_TROUBLESHOOTER_PARAMS_W; typedef SP_TROUBLESHOOTER_PARAMS_W *PSP_TROUBLESHOOTER_PARAMS_W; #ifdef UNICODE typedef SP_TROUBLESHOOTER_PARAMS_W SP_TROUBLESHOOTER_PARAMS; typedef PSP_TROUBLESHOOTER_PARAMS_W PSP_TROUBLESHOOTER_PARAMS; #else typedef SP_TROUBLESHOOTER_PARAMS_A SP_TROUBLESHOOTER_PARAMS; typedef PSP_TROUBLESHOOTER_PARAMS_A PSP_TROUBLESHOOTER_PARAMS; #endif /* Setup power message wake parameters */ typedef struct _SP_POWERMESSAGEWAKE_PARAMS_A { SP_CLASSINSTALL_HEADER ClassInstallHeader; CHAR PowerMessageWake[LINE_LEN * 2]; } SP_POWERMESSAGEWAKE_PARAMS_A; typedef SP_POWERMESSAGEWAKE_PARAMS_A *PSP_POWERMESSAGEWAKE_PARAMS_A; typedef struct _SP_POWERMESSAGEWAKE_PARAMS_W { SP_CLASSINSTALL_HEADER ClassInstallHeader; WCHAR PowerMessageWake[LINE_LEN * 2]; } SP_POWERMESSAGEWAKE_PARAMS_W; typedef SP_POWERMESSAGEWAKE_PARAMS_W *PSP_POWERMESSAGEWAKE_PARAMS_W; #ifdef UNICODE typedef SP_POWERMESSAGEWAKE_PARAMS_W SP_POWERMESSAGEWAKE_PARAMS; typedef PSP_POWERMESSAGEWAKE_PARAMS_W PSP_POWERMESSAGEWAKE_PARAMS; #else typedef SP_POWERMESSAGEWAKE_PARAMS_A SP_POWERMESSAGEWAKE_PARAMS; typedef PSP_POWERMESSAGEWAKE_PARAMS_A PSP_POWERMESSAGEWAKE_PARAMS; #endif /* Setup driver information data (version 2) */ typedef struct _SP_DRVINFO_DATA_V2_A { DWORD cbSize; DWORD DriverType; ULONG_PTR Reserved; CHAR Description[LINE_LEN]; CHAR MfgName[LINE_LEN]; CHAR ProviderName[LINE_LEN]; FILETIME DriverDate; DWORDLONG DriverVersion; } SP_DRVINFO_DATA_V2_A; typedef SP_DRVINFO_DATA_V2_A *PSP_DRVINFO_DATA_V2_A; typedef struct _SP_DRVINFO_DATA_V2_W { DWORD cbSize; DWORD DriverType; ULONG_PTR Reserved; WCHAR Description[LINE_LEN]; WCHAR MfgName[LINE_LEN]; WCHAR ProviderName[LINE_LEN]; FILETIME DriverDate; DWORDLONG DriverVersion; } SP_DRVINFO_DATA_V2_W; typedef SP_DRVINFO_DATA_V2_W *PSP_DRVINFO_DATA_V2_W; #ifdef UNICODE typedef SP_DRVINFO_DATA_V2_W SP_DRVINFO_DATA_V2; typedef PSP_DRVINFO_DATA_V2_W PSP_DRVINFO_DATA_V2; #else typedef SP_DRVINFO_DATA_V2_A SP_DRVINFO_DATA_V2; typedef PSP_DRVINFO_DATA_V2_A PSP_DRVINFO_DATA_V2; #endif /* Setup driver information data (version 1) */ typedef struct _SP_DRVINFO_DATA_V1_A { DWORD cbSize; DWORD DriverType; ULONG_PTR Reserved; CHAR Description[LINE_LEN]; CHAR MfgName[LINE_LEN]; CHAR ProviderName[LINE_LEN]; } SP_DRVINFO_DATA_V1_A; typedef SP_DRVINFO_DATA_V1_A *PSP_DRVINFO_DATA_V1_A; typedef struct _SP_DRVINFO_DATA_V1_W { DWORD cbSize; DWORD DriverType; ULONG_PTR Reserved; WCHAR Description[LINE_LEN]; WCHAR MfgName[LINE_LEN]; WCHAR ProviderName[LINE_LEN]; } SP_DRVINFO_DATA_V1_W; typedef SP_DRVINFO_DATA_V1_W *PSP_DRVINFO_DATA_V1_W; #ifdef UNICODE typedef SP_DRVINFO_DATA_V1_W SP_DRVINFO_DATA_V1; typedef PSP_DRVINFO_DATA_V1_W PSP_DRVINFO_DATA_V1; #else typedef SP_DRVINFO_DATA_V1_A SP_DRVINFO_DATA_V1; typedef PSP_DRVINFO_DATA_V1_A PSP_DRVINFO_DATA_V1; #endif /* Setup driver information data */ #if (_SETUPAPI_VER >= 0x0500) typedef SP_DRVINFO_DATA_V2_A SP_DRVINFO_DATA_A; typedef PSP_DRVINFO_DATA_V2_A PSP_DRVINFO_DATA_A; typedef SP_DRVINFO_DATA_V2_W SP_DRVINFO_DATA_W; typedef PSP_DRVINFO_DATA_V2_W PSP_DRVINFO_DATA_W; typedef SP_DRVINFO_DATA_V2 SP_DRVINFO_DATA; typedef PSP_DRVINFO_DATA_V2 PSP_DRVINFO_DATA; #else typedef SP_DRVINFO_DATA_V1_A SP_DRVINFO_DATA_A; typedef PSP_DRVINFO_DATA_V1_A PSP_DRVINFO_DATA_A; typedef SP_DRVINFO_DATA_V2_W SP_DRVINFO_DATA_W; typedef PSP_DRVINFO_DATA_V2_W PSP_DRVINFO_DATA_W; typedef SP_DRVINFO_DATA_V2 SP_DRVINFO_DATA; typedef PSP_DRVINFO_DATA_V2 PSP_DRVINFO_DATA; #endif /* Setup driver information detail data */ typedef struct _SP_DRVINFO_DETAIL_DATA_A { DWORD cbSize; FILETIME InfDate; DWORD CompatIDsOffset; DWORD CompatIDsLength; ULONG_PTR Reserved; CHAR SectionName[LINE_LEN]; CHAR InfFileName[MAX_PATH]; CHAR DrvDescription[LINE_LEN]; CHAR HardwareID[ANYSIZE_ARRAY]; } SP_DRVINFO_DETAIL_DATA_A; typedef SP_DRVINFO_DETAIL_DATA_A *PSP_DRVINFO_DETAIL_DATA_A; typedef struct _SP_DRVINFO_DETAIL_DATA_W { DWORD cbSize; FILETIME InfDate; DWORD CompatIDsOffset; DWORD CompatIDsLength; ULONG_PTR Reserved; WCHAR SectionName[LINE_LEN]; WCHAR InfFileName[MAX_PATH]; WCHAR DrvDescription[LINE_LEN]; WCHAR HardwareID[ANYSIZE_ARRAY]; } SP_DRVINFO_DETAIL_DATA_W; typedef SP_DRVINFO_DETAIL_DATA_W *PSP_DRVINFO_DETAIL_DATA_W; #ifdef UNICODE typedef SP_DRVINFO_DETAIL_DATA_W SP_DRVINFO_DETAIL_DATA; typedef PSP_DRVINFO_DETAIL_DATA_W PSP_DRVINFO_DETAIL_DATA; #else typedef SP_DRVINFO_DETAIL_DATA_W SP_DRVINFO_DETAIL_DATA; typedef PSP_DRVINFO_DETAIL_DATA_W PSP_DRVINFO_DETAIL_DATA; #endif /* Setup driver installation parameters */ typedef struct _SP_DRVINSTALL_PARAMS { DWORD cbSize; DWORD Rank; DWORD Flags; DWORD_PTR PrivateData; DWORD Reserved; } SP_DRVINSTALL_PARAMS; typedef SP_DRVINSTALL_PARAMS *PSP_DRVINSTALL_PARAMS; /* Setup detection signature compare procedure */ typedef DWORD (CALLBACK *PSP_DETSIG_CMPPROC)( HDEVINFO, PSP_DEVINFO_DATA, PSP_DEVINFO_DATA, PVOID ); /* Coinstaller context data */ typedef struct _COINSTALLER_CONTEXT_DATA { BOOL PostProcessing; DWORD InstallResult; PVOID PrivateData; } COINSTALLER_CONTEXT_DATA; typedef COINSTALLER_CONTEXT_DATA *PCOINSTALLER_CONTEXT_DATA; /* Setup class image list data */ typedef struct _SP_CLASSIMAGELIST_DATA { DWORD cbSize; HIMAGELIST ImageList; ULONG_PTR Reserved; } SP_CLASSIMAGELIST_DATA; typedef SP_CLASSIMAGELIST_DATA *PSP_CLASSIMAGELIST_DATA; /* Setup property sheet page request */ typedef struct _SP_PROPSHEETPAGE_REQUEST { DWORD cbSize; DWORD PageRequested; HDEVINFO DeviceInfoSet; PSP_DEVINFO_DATA DeviceInfoData; } SP_PROPSHEETPAGE_REQUEST; typedef SP_PROPSHEETPAGE_REQUEST *PSP_PROPSHEETPAGE_REQUEST; /* Setup backup queue parameters (version 2) */ typedef struct _SP_BACKUP_QUEUE_PARAMS_V2_A { DWORD cbSize; CHAR FullInfPath[MAX_PATH]; INT FilenameOffset; CHAR ReinstallInstance[MAX_PATH]; } SP_BACKUP_QUEUE_PARAMS_V2_A; typedef SP_BACKUP_QUEUE_PARAMS_V2_A *PSP_BACKUP_QUEUE_PARAMS_V2_A; typedef struct _SP_BACKUP_QUEUE_PARAMS_V2_W { DWORD cbSize; WCHAR FullInfPath[MAX_PATH]; INT FilenameOffset; WCHAR ReinstallInstance[MAX_PATH]; } SP_BACKUP_QUEUE_PARAMS_V2_W; typedef SP_BACKUP_QUEUE_PARAMS_V2_W *PSP_BACKUP_QUEUE_PARAMS_V2_W; #ifdef UNICODE typedef SP_BACKUP_QUEUE_PARAMS_V2_W SP_BACKUP_QUEUE_PARAMS_V2; typedef PSP_BACKUP_QUEUE_PARAMS_V2_W PSP_BACKUP_QUEUE_PARAMS_V2; #else typedef SP_BACKUP_QUEUE_PARAMS_V2_A SP_BACKUP_QUEUE_PARAMS_V2; typedef PSP_BACKUP_QUEUE_PARAMS_V2_A PSP_BACKUP_QUEUE_PARAMS_V2; #endif /* Setup backup queue parameters (version 1) */ typedef struct _SP_BACKUP_QUEUE_PARAMS_V1_A { DWORD cbSize; CHAR FullInfPath[MAX_PATH]; INT FilenameOffset; } SP_BACKUP_QUEUE_PARAMS_V1_A; typedef SP_BACKUP_QUEUE_PARAMS_V1_A *PSP_BACKUP_QUEUE_PARAMS_V1_A; typedef struct _SP_BACKUP_QUEUE_PARAMS_V1_W { DWORD cbSize; WCHAR FullInfPath[MAX_PATH]; INT FilenameOffset; } SP_BACKUP_QUEUE_PARAMS_V1_W; typedef SP_BACKUP_QUEUE_PARAMS_V1_W *PSP_BACKUP_QUEUE_PARAMS_V1_W; #ifdef UNICODE typedef SP_BACKUP_QUEUE_PARAMS_V1_W SP_BACKUP_QUEUE_PARAMS_V1; typedef PSP_BACKUP_QUEUE_PARAMS_V1_W PSP_BACKUP_QUEUE_PARAMS_V1; #else typedef SP_BACKUP_QUEUE_PARAMS_V1_A SP_BACKUP_QUEUE_PARAMS_V1; typedef PSP_BACKUP_QUEUE_PARAMS_V1_A PSP_BACKUP_QUEUE_PARAMS_V1; #endif /* Setup backup queue parameters */ #if (_SETUPAPI_VER >= 0x0501) typedef SP_BACKUP_QUEUE_PARAMS_V2_A SP_BACKUP_QUEUE_PARAMS_A; typedef PSP_BACKUP_QUEUE_PARAMS_V2_A PSP_BACKUP_QUEUE_PARAMS_A; typedef SP_BACKUP_QUEUE_PARAMS_V2_W SP_BACKUP_QUEUE_PARAMS_W; typedef PSP_BACKUP_QUEUE_PARAMS_V2_W PSP_BACKUP_QUEUE_PARAMS_W; typedef SP_BACKUP_QUEUE_PARAMS_V2 SP_BACKUP_QUEUE_PARAMS; typedef PSP_BACKUP_QUEUE_PARAMS_V2 PSP_BACKUP_QUEUE_PARAMS; #else typedef SP_BACKUP_QUEUE_PARAMS_V1_A SP_BACKUP_QUEUE_PARAMS_A; typedef PSP_BACKUP_QUEUE_PARAMS_V1_A PSP_BACKUP_QUEUE_PARAMS_A; typedef SP_BACKUP_QUEUE_PARAMS_V1_W SP_BACKUP_QUEUE_PARAMS_W; typedef PSP_BACKUP_QUEUE_PARAMS_V1_W PSP_BACKUP_QUEUE_PARAMS_W; typedef SP_BACKUP_QUEUE_PARAMS_V1 SP_BACKUP_QUEUE_PARAMS; typedef PSP_BACKUP_QUEUE_PARAMS_V1 PSP_BACKUP_QUEUE_PARAMS; #endif /* SetupQueryFileLog() information types */ typedef enum { SetupFileLogSourceFilename = 0, SetupFileLogChecksum = 1, SetupFileLogDiskTagfile = 2, SetupFileLogDiskDescription = 3, SetupFileLogOtherInfo = 4, SetupFileLogMax = 5 } SetupFileLogInfo; /* Setup information signer information (version 1) */ #if (_SETUPAPI_VER >= 0x0501) typedef struct _SP_INF_SIGNER_INFO_V1_A { DWORD cbSize; CHAR CatalogFile[MAX_PATH]; CHAR DigitalSigner[MAX_PATH]; CHAR DigitalSignerVersion[MAX_PATH]; } SP_INF_SIGNER_INFO_V1_A; typedef SP_INF_SIGNER_INFO_V1_A *PSP_INF_SIGNER_INFO_V1_A; typedef struct _SP_INF_SIGNER_INFO_V1_W { DWORD cbSize; WCHAR CatalogFile[MAX_PATH]; WCHAR DigitalSigner[MAX_PATH]; WCHAR DigitalSignerVersion[MAX_PATH]; } SP_INF_SIGNER_INFO_V1_W; typedef SP_INF_SIGNER_INFO_V1_W *PSP_INF_SIGNER_INFO_V1_W; #ifdef UNICODE typedef SP_INF_SIGNER_INFO_V1_W SP_INF_SIGNER_INFO_V1; typedef PSP_INF_SIGNER_INFO_V1_W PSP_INF_SIGNER_INFO_V1; #else typedef SP_INF_SIGNER_INFO_V1_A SP_INF_SIGNER_INFO_V1; typedef PSP_INF_SIGNER_INFO_V1_A PSP_INF_SIGNER_INFO_V1; #endif #endif /* Setup information signer information (version 2) */ #if (_SETUPAPI_VER >= 0x0600) typedef struct _SP_INF_SIGNER_INFO_V2_A { DWORD cbSize; CHAR CatalogFile[MAX_PATH]; CHAR DigitalSigner[MAX_PATH]; CHAR DigitalSignerVersion[MAX_PATH]; DWORD SignerScore; } SP_INF_SIGNER_INFO_V2_A; typedef SP_INF_SIGNER_INFO_V2_A *PSP_INF_SIGNER_INFO_V2_A; typedef struct _SP_INF_SIGNER_INFO_V2_W { DWORD cbSize; WCHAR CatalogFile[MAX_PATH]; WCHAR DigitalSigner[MAX_PATH]; WCHAR DigitalSignerVersion[MAX_PATH]; DWORD SignerScore; } SP_INF_SIGNER_INFO_V2_W; typedef SP_INF_SIGNER_INFO_V2_W *PSP_INF_SIGNER_INFO_V2_W; #ifdef UNICODE typedef SP_INF_SIGNER_INFO_V2_W SP_INF_SIGNER_INFO_V2; typedef PSP_INF_SIGNER_INFO_V2_W PSP_INF_SIGNER_INFO_V2; #else typedef SP_INF_SIGNER_INFO_V2_A SP_INF_SIGNER_INFO_V2; typedef PSP_INF_SIGNER_INFO_V2_A PSP_INF_SIGNER_INFO_V2; #endif #endif /* Setup information signer information */ #if (_SETUPAPI_VER >= 0x0600) typedef SP_INF_SIGNER_INFO_V2_A SP_INF_SIGNER_INFO_A; typedef PSP_INF_SIGNER_INFO_V2_A PSP_INF_SIGNER_INFO_A; typedef SP_INF_SIGNER_INFO_V2_W SP_INF_SIGNER_INFO_W; typedef PSP_INF_SIGNER_INFO_V2_W PSP_INF_SIGNER_INFO_W; typedef SP_INF_SIGNER_INFO_V2 SP_INF_SIGNER_INFO; typedef PSP_INF_SIGNER_INFO_V2 PSP_INF_SIGNER_INFO; #elif (_SETUPAPI_VER >= 0x0501) typedef SP_INF_SIGNER_INFO_V1_A SP_INF_SIGNER_INFO_A; typedef PSP_INF_SIGNER_INFO_V1_A PSP_INF_SIGNER_INFO_A; typedef SP_INF_SIGNER_INFO_V1_W SP_INF_SIGNER_INFO_W; typedef PSP_INF_SIGNER_INFO_V1_W PSP_INF_SIGNER_INFO_W; typedef SP_INF_SIGNER_INFO_V1 SP_INF_SIGNER_INFO; typedef PSP_INF_SIGNER_INFO_V1 PSP_INF_SIGNER_INFO; #endif /* Functions in SETUPAPI.DLL */ WINSETUPAPI VOID WINAPI InstallHinfSectionA( HWND, HINSTANCE, PCSTR, INT ); WINSETUPAPI VOID WINAPI InstallHinfSectionW( HWND, HINSTANCE, PCWSTR, INT ); WINSETUPAPI BOOL WINAPI SetupAddInstallSectionToDiskSpaceListA( HDSKSPC, HINF, HINF, PCSTR, PVOID, UINT ); WINSETUPAPI BOOL WINAPI SetupAddInstallSectionToDiskSpaceListW( HDSKSPC, HINF, HINF, PCWSTR, PVOID, UINT ); WINSETUPAPI BOOL WINAPI SetupAddSectionToDiskSpaceListA( HDSKSPC, HINF, HINF, PCSTR, UINT, PVOID, UINT ); WINSETUPAPI BOOL WINAPI SetupAddSectionToDiskSpaceListW( HDSKSPC, HINF, HINF, PCWSTR, UINT, PVOID, UINT ); WINSETUPAPI BOOL WINAPI SetupAddToDiskSpaceListA( HDSKSPC, PCSTR, LONGLONG, UINT, PVOID, UINT ); WINSETUPAPI BOOL WINAPI SetupAddToDiskSpaceListW( HDSKSPC, PCWSTR, LONGLONG, UINT, PVOID, UINT ); WINSETUPAPI BOOL WINAPI SetupAddToSourceListA( DWORD, PCSTR ); WINSETUPAPI BOOL WINAPI SetupAddToSourceListW( DWORD, PCWSTR ); WINSETUPAPI BOOL WINAPI SetupAdjustDiskSpaceListA( HDSKSPC, LPCSTR, LONGLONG, PVOID, UINT ); WINSETUPAPI BOOL WINAPI SetupAdjustDiskSpaceListW( HDSKSPC, LPCWSTR, LONGLONG, PVOID, UINT ); WINSETUPAPI UINT WINAPI SetupBackupErrorA( HWND, PCSTR, PCSTR, PCSTR, UINT, DWORD ); WINSETUPAPI UINT WINAPI SetupBackupErrorW( HWND, PCWSTR, PCWSTR, PCWSTR, UINT, DWORD ); WINSETUPAPI BOOL WINAPI SetupCancelTemporarySourceList( VOID ); WINSETUPAPI BOOL WINAPI SetupCloseFileQueue( HSPFILEQ ); WINSETUPAPI VOID WINAPI SetupCloseInfFile( HINF ); WINSETUPAPI VOID WINAPI SetupCloseLog( VOID ); WINSETUPAPI BOOL WINAPI SetupCommitFileQueueA( HWND, HSPFILEQ, PSP_FILE_CALLBACK_A, PVOID ); WINSETUPAPI BOOL WINAPI SetupCommitFileQueueW( HWND, HSPFILEQ, PSP_FILE_CALLBACK_W, PVOID ); WINSETUPAPI UINT WINAPI SetupCopyErrorA( HWND, PCSTR, PCSTR, PCSTR, PCSTR, PCSTR, UINT, DWORD, PSTR, DWORD, PDWORD ); WINSETUPAPI UINT WINAPI SetupCopyErrorW( HWND, PCWSTR, PCWSTR, PCWSTR, PCWSTR, PCWSTR, UINT, DWORD, PWSTR, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupCopyOEMInfA( PCSTR, PCSTR, DWORD, DWORD, PSTR, DWORD, PDWORD, PSTR * ); WINSETUPAPI BOOL WINAPI SetupCopyOEMInfW( PCWSTR, PCWSTR, DWORD, DWORD, PWSTR, DWORD, PDWORD, PWSTR * ); WINSETUPAPI HDSKSPC WINAPI SetupCreateDiskSpaceListA( PVOID, DWORD, UINT ); WINSETUPAPI HDSKSPC WINAPI SetupCreateDiskSpaceListW( PVOID, DWORD, UINT ); WINSETUPAPI DWORD WINAPI SetupDecompressOrCopyFileA( PCSTR, PCSTR, PUINT ); WINSETUPAPI DWORD WINAPI SetupDecompressOrCopyFileW( PCWSTR, PCWSTR, PUINT ); WINSETUPAPI UINT WINAPI SetupDefaultQueueCallbackA( PVOID, UINT, UINT_PTR, UINT_PTR ); WINSETUPAPI UINT WINAPI SetupDefaultQueueCallbackW( PVOID, UINT, UINT_PTR, UINT_PTR ); WINSETUPAPI UINT WINAPI SetupDeleteErrorA( HWND, PCSTR, PCSTR, UINT, DWORD ); WINSETUPAPI UINT WINAPI SetupDeleteErrorW( HWND, PCWSTR, PCWSTR, UINT, DWORD ); WINSETUPAPI BOOL WINAPI SetupDestroyDiskSpaceList( HDSKSPC ); WINSETUPAPI BOOL WINAPI SetupDiAskForOEMDisk( HDEVINFO, PSP_DEVINFO_DATA ); WINSETUPAPI BOOL WINAPI SetupDiBuildClassInfoList( DWORD, LPGUID, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupDiBuildClassInfoListExA( DWORD, LPGUID, DWORD, PDWORD, PCSTR, PVOID ); WINSETUPAPI BOOL WINAPI SetupDiBuildClassInfoListExW( DWORD, LPGUID, DWORD, PDWORD, PCWSTR, PVOID ); WINSETUPAPI BOOL WINAPI SetupDiBuildDriverInfoList( HDEVINFO, PSP_DEVINFO_DATA, DWORD ); WINSETUPAPI BOOL WINAPI SetupDiCallClassInstaller( DI_FUNCTION, HDEVINFO, PSP_DEVINFO_DATA ); WINSETUPAPI BOOL WINAPI SetupDiCancelDriverInfoSearch( HDEVINFO ); WINSETUPAPI BOOL WINAPI SetupDiChangeState( HDEVINFO, PSP_DEVINFO_DATA ); WINSETUPAPI BOOL WINAPI SetupDiClassGuidsFromNameA( PCSTR, LPGUID, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupDiClassGuidsFromNameExA( PCSTR, LPGUID, DWORD, PDWORD, PCSTR, PVOID ); WINSETUPAPI BOOL WINAPI SetupDiClassGuidsFromNameExW( PCWSTR, LPGUID, DWORD, PDWORD, PCWSTR, PVOID ); WINSETUPAPI BOOL WINAPI SetupDiClassGuidsFromNameW( PCWSTR, LPGUID, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupDiClassNameFromGuidA( CONST GUID *, PSTR, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupDiClassNameFromGuidExA( CONST GUID *, PSTR, DWORD, PDWORD, PCSTR, PVOID ); WINSETUPAPI BOOL WINAPI SetupDiClassNameFromGuidExW( CONST GUID *, PWSTR, DWORD, PDWORD, PCWSTR, PVOID ); WINSETUPAPI BOOL WINAPI SetupDiClassNameFromGuidW( CONST GUID *, PWSTR, DWORD, PDWORD ); WINSETUPAPI HKEY WINAPI SetupDiCreateDevRegKeyA( HDEVINFO, PSP_DEVINFO_DATA, DWORD, DWORD, DWORD, HINF, PCSTR ); WINSETUPAPI HKEY WINAPI SetupDiCreateDevRegKeyW( HDEVINFO, PSP_DEVINFO_DATA, DWORD, DWORD, DWORD, HINF, PCWSTR ); WINSETUPAPI BOOL WINAPI SetupDiCreateDeviceInfoA( HDEVINFO, PCSTR, CONST GUID *, PCSTR, HWND, DWORD, PSP_DEVINFO_DATA ); WINSETUPAPI HDEVINFO WINAPI SetupDiCreateDeviceInfoList( CONST GUID *, HWND ); WINSETUPAPI HDEVINFO WINAPI SetupDiCreateDeviceInfoListExA( CONST GUID *, HWND, PCSTR, PVOID ); WINSETUPAPI HDEVINFO WINAPI SetupDiCreateDeviceInfoListExW( CONST GUID *, HWND, PCWSTR, PVOID ); WINSETUPAPI BOOL WINAPI SetupDiCreateDeviceInfoW( HDEVINFO, PCWSTR, CONST GUID *, PCWSTR, HWND, DWORD, PSP_DEVINFO_DATA ); WINSETUPAPI BOOL WINAPI SetupDiCreateDeviceInterfaceA( HDEVINFO, PSP_DEVINFO_DATA, CONST GUID *, PCSTR, DWORD, PSP_DEVICE_INTERFACE_DATA ); WINSETUPAPI HKEY WINAPI SetupDiCreateDeviceInterfaceRegKeyA( HDEVINFO, PSP_DEVICE_INTERFACE_DATA, DWORD, REGSAM, HINF, PCSTR ); WINSETUPAPI HKEY WINAPI SetupDiCreateDeviceInterfaceRegKeyW( HDEVINFO, PSP_DEVICE_INTERFACE_DATA, DWORD, REGSAM, HINF, PCWSTR ); WINSETUPAPI BOOL WINAPI SetupDiCreateDeviceInterfaceW( HDEVINFO, PSP_DEVINFO_DATA, CONST GUID *, PCWSTR, DWORD, PSP_DEVICE_INTERFACE_DATA ); WINSETUPAPI BOOL WINAPI SetupDiDeleteDevRegKey( HDEVINFO, PSP_DEVINFO_DATA, DWORD, DWORD, DWORD ); WINSETUPAPI BOOL WINAPI SetupDiDeleteDeviceInfo( HDEVINFO, PSP_DEVINFO_DATA ); WINSETUPAPI BOOL WINAPI SetupDiDeleteDeviceInterfaceData( HDEVINFO, PSP_DEVICE_INTERFACE_DATA ); WINSETUPAPI BOOL WINAPI SetupDiDeleteDeviceInterfaceRegKey( HDEVINFO, PSP_DEVICE_INTERFACE_DATA, DWORD ); WINSETUPAPI BOOL WINAPI SetupDiDestroyClassImageList( PSP_CLASSIMAGELIST_DATA ); WINSETUPAPI BOOL WINAPI SetupDiDestroyDeviceInfoList( HDEVINFO ); WINSETUPAPI BOOL WINAPI SetupDiDestroyDriverInfoList( HDEVINFO, PSP_DEVINFO_DATA, DWORD ); WINSETUPAPI INT WINAPI SetupDiDrawMiniIcon( HDC, RECT, INT, DWORD ); WINSETUPAPI BOOL WINAPI SetupDiEnumDeviceInfo( HDEVINFO, DWORD, PSP_DEVINFO_DATA ); WINSETUPAPI BOOL WINAPI SetupDiEnumDeviceInterfaces( HDEVINFO, PSP_DEVINFO_DATA, CONST GUID *, DWORD, PSP_DEVICE_INTERFACE_DATA ); WINSETUPAPI BOOL WINAPI SetupDiEnumDriverInfoA( HDEVINFO, PSP_DEVINFO_DATA, DWORD, DWORD, PSP_DRVINFO_DATA_A ); WINSETUPAPI BOOL WINAPI SetupDiEnumDriverInfoW( HDEVINFO, PSP_DEVINFO_DATA, DWORD, DWORD, PSP_DRVINFO_DATA_W ); WINSETUPAPI BOOL WINAPI SetupDiGetActualSectionToInstallA( HINF, PCSTR, PSTR, DWORD, PDWORD, PSTR * ); WINSETUPAPI BOOL WINAPI SetupDiGetActualSectionToInstallW( HINF, PCWSTR, PWSTR, DWORD, PDWORD, PWSTR * ); WINSETUPAPI BOOL WINAPI SetupDiGetClassBitmapIndex( CONST GUID *, PINT ); WINSETUPAPI BOOL WINAPI SetupDiGetClassDescriptionA( CONST GUID *, PSTR, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupDiGetClassDescriptionExA( CONST GUID *, PSTR, DWORD, PDWORD, PCSTR, PVOID ); WINSETUPAPI BOOL WINAPI SetupDiGetClassDescriptionExW( CONST GUID *, PWSTR, DWORD, PDWORD, PCWSTR, PVOID ); WINSETUPAPI BOOL WINAPI SetupDiGetClassDescriptionW( CONST GUID *, PWSTR, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupDiGetClassDevPropertySheetsA( HDEVINFO, PSP_DEVINFO_DATA, LPPROPSHEETHEADERA, DWORD, PDWORD, DWORD ); WINSETUPAPI BOOL WINAPI SetupDiGetClassDevPropertySheetsW( HDEVINFO, PSP_DEVINFO_DATA, LPPROPSHEETHEADERW, DWORD, PDWORD, DWORD ); WINSETUPAPI HDEVINFO WINAPI SetupDiGetClassDevsA( CONST GUID *, PCSTR, HWND, DWORD ); WINSETUPAPI HDEVINFO WINAPI SetupDiGetClassDevsExA( CONST GUID *, PCSTR, HWND, DWORD, HDEVINFO, PCSTR, PVOID ); WINSETUPAPI HDEVINFO WINAPI SetupDiGetClassDevsExW( CONST GUID *, PCWSTR, HWND, DWORD, HDEVINFO, PCWSTR, PVOID ); WINSETUPAPI HDEVINFO WINAPI SetupDiGetClassDevsW( CONST GUID *, PCWSTR, HWND, DWORD ); WINSETUPAPI BOOL WINAPI SetupDiGetClassImageIndex( PSP_CLASSIMAGELIST_DATA, CONST GUID *, PINT ); WINSETUPAPI BOOL WINAPI SetupDiGetClassImageList( PSP_CLASSIMAGELIST_DATA ); WINSETUPAPI BOOL WINAPI SetupDiGetClassImageListExA( PSP_CLASSIMAGELIST_DATA, PCSTR, PVOID ); WINSETUPAPI BOOL WINAPI SetupDiGetClassImageListExW( PSP_CLASSIMAGELIST_DATA, PCWSTR, PVOID ); WINSETUPAPI BOOL WINAPI SetupDiGetClassInstallParamsA( HDEVINFO, PSP_DEVINFO_DATA, PSP_CLASSINSTALL_HEADER, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupDiGetClassInstallParamsW( HDEVINFO, PSP_DEVINFO_DATA, PSP_CLASSINSTALL_HEADER, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInfoListClass( HDEVINFO, LPGUID ); WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInfoListDetailA( HDEVINFO, PSP_DEVINFO_LIST_DETAIL_DATA_A ); WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInfoListDetailW( HDEVINFO, PSP_DEVINFO_LIST_DETAIL_DATA_W ); WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInstallParamsA( HDEVINFO, PSP_DEVINFO_DATA, PSP_DEVINSTALL_PARAMS_A ); WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInstallParamsW( HDEVINFO, PSP_DEVINFO_DATA, PSP_DEVINSTALL_PARAMS_W ); WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInstanceIdA( HDEVINFO, PSP_DEVINFO_DATA, PSTR, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInstanceIdW( HDEVINFO, PSP_DEVINFO_DATA, PWSTR, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInterfaceAlias( HDEVINFO, PSP_DEVICE_INTERFACE_DATA, CONST GUID *, PSP_DEVICE_INTERFACE_DATA ); WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInterfaceDetailA( HDEVINFO, PSP_DEVICE_INTERFACE_DATA, PSP_DEVICE_INTERFACE_DETAIL_DATA_A, DWORD, PDWORD, PSP_DEVINFO_DATA ); WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInterfaceDetailW( HDEVINFO, PSP_DEVICE_INTERFACE_DATA, PSP_DEVICE_INTERFACE_DETAIL_DATA_W, DWORD, PDWORD, PSP_DEVINFO_DATA ); WINSETUPAPI BOOL WINAPI SetupDiGetDeviceRegistryPropertyA( HDEVINFO, PSP_DEVINFO_DATA, DWORD, PDWORD, PBYTE, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupDiGetDeviceRegistryPropertyW( HDEVINFO, PSP_DEVINFO_DATA, DWORD, PDWORD, PBYTE, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupDiGetDriverInfoDetailA( HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVINFO_DATA_A, PSP_DRVINFO_DETAIL_DATA_A, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupDiGetDriverInfoDetailW( HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVINFO_DATA_W, PSP_DRVINFO_DETAIL_DATA_W, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupDiGetDriverInstallParamsA( HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVINFO_DATA_A, PSP_DRVINSTALL_PARAMS ); WINSETUPAPI BOOL WINAPI SetupDiGetDriverInstallParamsW( HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVINFO_DATA_W, PSP_DRVINSTALL_PARAMS ); WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileFriendlyNameA( DWORD, PSTR, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileFriendlyNameExA( DWORD, PSTR, DWORD, PDWORD, PCSTR, PVOID ); WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileFriendlyNameExW( DWORD, PWSTR, DWORD, PDWORD, PCWSTR, PVOID ); WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileFriendlyNameW( DWORD, PWSTR, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileList( PDWORD, DWORD, PDWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileListExA( PDWORD, DWORD, PDWORD, PDWORD, PCSTR, PVOID ); WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileListExW( PDWORD, DWORD, PDWORD, PDWORD, PCWSTR, PVOID ); WINSETUPAPI BOOL WINAPI SetupDiGetINFClassA( PCSTR, LPGUID, PSTR, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupDiGetINFClassW( PCWSTR, LPGUID, PWSTR, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupDiGetSelectedDevice( HDEVINFO, PSP_DEVINFO_DATA ); WINSETUPAPI BOOL WINAPI SetupDiGetSelectedDriverA( HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVINFO_DATA_A ); WINSETUPAPI BOOL WINAPI SetupDiGetSelectedDriverW( HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVINFO_DATA_W ); WINSETUPAPI HPROPSHEETPAGE WINAPI SetupDiGetWizardPage( HDEVINFO, PSP_DEVINFO_DATA, PSP_INSTALLWIZARD_DATA, DWORD, DWORD ); WINSETUPAPI BOOL WINAPI SetupDiInstallClassA( HWND, PCSTR, DWORD, HSPFILEQ ); WINSETUPAPI BOOL WINAPI SetupDiInstallClassExA( HWND, PCSTR, DWORD, HSPFILEQ, CONST GUID *, PVOID, PVOID ); WINSETUPAPI BOOL WINAPI SetupDiInstallClassExW( HWND, PCWSTR, DWORD, HSPFILEQ, CONST GUID *, PVOID, PVOID ); WINSETUPAPI BOOL WINAPI SetupDiInstallClassW( HWND, PCWSTR, DWORD, HSPFILEQ ); WINSETUPAPI BOOL WINAPI SetupDiInstallDevice( HDEVINFO, PSP_DEVINFO_DATA ); WINSETUPAPI BOOL WINAPI SetupDiInstallDeviceInterfaces( HDEVINFO, PSP_DEVINFO_DATA ); WINSETUPAPI BOOL WINAPI SetupDiInstallDriverFiles( HDEVINFO, PSP_DEVINFO_DATA ); WINSETUPAPI BOOL WINAPI SetupDiLoadClassIcon( CONST GUID *, HICON *, PINT ); WINSETUPAPI HKEY WINAPI SetupDiOpenClassRegKey( CONST GUID *, REGSAM ); WINSETUPAPI HKEY WINAPI SetupDiOpenClassRegKeyExA( CONST GUID *, REGSAM, DWORD, PCSTR, PVOID ); WINSETUPAPI HKEY WINAPI SetupDiOpenClassRegKeyExW( CONST GUID *, REGSAM, DWORD, PCWSTR, PVOID ); WINSETUPAPI HKEY WINAPI SetupDiOpenDevRegKey( HDEVINFO, PSP_DEVINFO_DATA, DWORD, DWORD, DWORD, REGSAM ); WINSETUPAPI BOOL WINAPI SetupDiOpenDeviceInfoA( HDEVINFO, PCSTR, HWND, DWORD, PSP_DEVINFO_DATA ); WINSETUPAPI BOOL WINAPI SetupDiOpenDeviceInfoW( HDEVINFO, PCWSTR, HWND, DWORD, PSP_DEVINFO_DATA ); WINSETUPAPI BOOL WINAPI SetupDiOpenDeviceInterfaceA( HDEVINFO, PCSTR, DWORD, PSP_DEVICE_INTERFACE_DATA ); WINSETUPAPI HKEY WINAPI SetupDiOpenDeviceInterfaceRegKey( HDEVINFO, PSP_DEVICE_INTERFACE_DATA, DWORD, REGSAM ); WINSETUPAPI BOOL WINAPI SetupDiOpenDeviceInterfaceW( HDEVINFO, PCWSTR, DWORD, PSP_DEVICE_INTERFACE_DATA ); WINSETUPAPI BOOL WINAPI SetupDiRegisterCoDeviceInstallers( HDEVINFO, PSP_DEVINFO_DATA ); WINSETUPAPI BOOL WINAPI SetupDiRegisterDeviceInfo( HDEVINFO, PSP_DEVINFO_DATA, DWORD, PSP_DETSIG_CMPPROC, PVOID, PSP_DEVINFO_DATA ); WINSETUPAPI BOOL WINAPI SetupDiRemoveDevice( HDEVINFO, PSP_DEVINFO_DATA ); WINSETUPAPI BOOL WINAPI SetupDiRemoveDeviceInterface( HDEVINFO, PSP_DEVICE_INTERFACE_DATA ); WINSETUPAPI BOOL WINAPI SetupDiSelectBestCompatDrv( HDEVINFO, PSP_DEVINFO_DATA ); WINSETUPAPI BOOL WINAPI SetupDiSelectDevice( HDEVINFO, PSP_DEVINFO_DATA ); WINSETUPAPI BOOL WINAPI SetupDiSelectOEMDrv( HWND, HDEVINFO, PSP_DEVINFO_DATA ); WINSETUPAPI BOOL WINAPI SetupDiSetClassInstallParamsA( HDEVINFO, PSP_DEVINFO_DATA, PSP_CLASSINSTALL_HEADER, DWORD ); WINSETUPAPI BOOL WINAPI SetupDiSetClassInstallParamsW( HDEVINFO, PSP_DEVINFO_DATA, PSP_CLASSINSTALL_HEADER, DWORD ); WINSETUPAPI BOOL WINAPI SetupDiSetDeviceInstallParamsA( HDEVINFO, PSP_DEVINFO_DATA, PSP_DEVINSTALL_PARAMS_A ); WINSETUPAPI BOOL WINAPI SetupDiSetDeviceInstallParamsW( HDEVINFO, PSP_DEVINFO_DATA, PSP_DEVINSTALL_PARAMS_W ); WINSETUPAPI BOOL WINAPI SetupDiSetDeviceRegistryPropertyA( HDEVINFO, PSP_DEVINFO_DATA, DWORD, CONST BYTE *, DWORD ); WINSETUPAPI BOOL WINAPI SetupDiSetDeviceRegistryPropertyW( HDEVINFO, PSP_DEVINFO_DATA, DWORD, CONST BYTE *, DWORD ); WINSETUPAPI BOOL WINAPI SetupDiSetDriverInstallParamsA( HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVINFO_DATA_A, PSP_DRVINSTALL_PARAMS ); WINSETUPAPI BOOL WINAPI SetupDiSetDriverInstallParamsW( HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVINFO_DATA_W, PSP_DRVINSTALL_PARAMS ); WINSETUPAPI BOOL WINAPI SetupDiSetSelectedDevice( HDEVINFO, PSP_DEVINFO_DATA ); WINSETUPAPI BOOL WINAPI SetupDiSetSelectedDriverA( HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVINFO_DATA_A ); WINSETUPAPI BOOL WINAPI SetupDiSetSelectedDriverW( HDEVINFO, PSP_DEVINFO_DATA, PSP_DRVINFO_DATA_W ); WINSETUPAPI BOOL WINAPI SetupDiUnremoveDevice( HDEVINFO, PSP_DEVINFO_DATA ); WINSETUPAPI HDSKSPC WINAPI SetupDuplicateDiskSpaceListA( HDSKSPC, PVOID, DWORD, UINT ); WINSETUPAPI HDSKSPC WINAPI SetupDuplicateDiskSpaceListW( HDSKSPC, PVOID, DWORD, UINT ); WINSETUPAPI BOOL WINAPI SetupFindFirstLineA( HINF, PCSTR, PCSTR, PINFCONTEXT ); WINSETUPAPI BOOL WINAPI SetupFindFirstLineW( HINF, PCWSTR, PCWSTR, PINFCONTEXT ); WINSETUPAPI BOOL WINAPI SetupFindNextLine( PINFCONTEXT, PINFCONTEXT ); WINSETUPAPI BOOL WINAPI SetupFindNextMatchLineA( PINFCONTEXT, PCSTR, PINFCONTEXT ); WINSETUPAPI BOOL WINAPI SetupFindNextMatchLineW( PINFCONTEXT, PCWSTR, PINFCONTEXT ); WINSETUPAPI BOOL WINAPI SetupFreeSourceListA( PCSTR **, UINT ); WINSETUPAPI BOOL WINAPI SetupFreeSourceListW( PCWSTR **, UINT ); WINSETUPAPI BOOL WINAPI SetupGetBackupInformationA( HSPFILEQ, PSP_BACKUP_QUEUE_PARAMS_A ); WINSETUPAPI BOOL WINAPI SetupGetBackupInformationW( HSPFILEQ, PSP_BACKUP_QUEUE_PARAMS_W ); WINSETUPAPI BOOL WINAPI SetupGetBinaryField( PINFCONTEXT, DWORD, PBYTE, DWORD, LPDWORD ); WINSETUPAPI DWORD WINAPI SetupGetFieldCount( PINFCONTEXT ); WINSETUPAPI DWORD WINAPI SetupGetFileCompressionInfoA( PCSTR, PSTR *, PDWORD, PDWORD, PUINT ); WINSETUPAPI DWORD WINAPI SetupGetFileCompressionInfoW( PCWSTR, PWSTR *, PDWORD, PDWORD, PUINT ); WINSETUPAPI BOOL WINAPI SetupGetInfFileListA( PCSTR, DWORD, PSTR, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupGetInfFileListW( PCWSTR, DWORD, PWSTR, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupGetInfInformationA( LPCVOID, DWORD, PSP_INF_INFORMATION, DWORD, DWORD ); WINSETUPAPI BOOL WINAPI SetupGetInfInformationW( LPCVOID, DWORD, PSP_INF_INFORMATION, DWORD, DWORD ); WINSETUPAPI BOOL WINAPI SetupGetIntField( PINFCONTEXT, DWORD, PINT ); WINSETUPAPI BOOL WINAPI SetupGetLineByIndexA( HINF, PCSTR, DWORD, PINFCONTEXT ); WINSETUPAPI BOOL WINAPI SetupGetLineByIndexW( HINF, PCWSTR, DWORD, PINFCONTEXT ); WINSETUPAPI LONG WINAPI SetupGetLineCountA( HINF, PCSTR ); WINSETUPAPI LONG WINAPI SetupGetLineCountW( HINF, PCWSTR ); WINSETUPAPI BOOL WINAPI SetupGetLineTextA( PINFCONTEXT, HINF, PCSTR, PCSTR, PSTR, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupGetLineTextW( PINFCONTEXT, HINF, PCWSTR, PCWSTR, PWSTR, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupGetMultiSzFieldA( PINFCONTEXT, DWORD, PSTR, DWORD, LPDWORD ); WINSETUPAPI BOOL WINAPI SetupGetMultiSzFieldW( PINFCONTEXT, DWORD, PWSTR, DWORD, LPDWORD ); WINSETUPAPI BOOL WINAPI SetupGetSourceFileLocationA( HINF, PINFCONTEXT, PCSTR, PUINT, PSTR, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupGetSourceFileLocationW( HINF, PINFCONTEXT, PCWSTR, PUINT, PWSTR, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupGetSourceFileSizeA( HINF, PINFCONTEXT, PCSTR, PCSTR, PDWORD, UINT ); WINSETUPAPI BOOL WINAPI SetupGetSourceFileSizeW( HINF, PINFCONTEXT, PCWSTR, PCWSTR, PDWORD, UINT ); WINSETUPAPI BOOL WINAPI SetupGetSourceInfoA( HINF, UINT, UINT, PSTR, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupGetSourceInfoW( HINF, UINT, UINT, PWSTR, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupGetStringFieldA( PINFCONTEXT, DWORD, PSTR, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupGetStringFieldW( PINFCONTEXT, DWORD, PWSTR, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupGetTargetPathA( HINF, PINFCONTEXT, PCSTR, PSTR, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupGetTargetPathW( HINF, PINFCONTEXT, PCWSTR, PWSTR, DWORD, PDWORD ); WINSETUPAPI PVOID WINAPI SetupInitDefaultQueueCallback( HWND ); WINSETUPAPI PVOID WINAPI SetupInitDefaultQueueCallbackEx( HWND, HWND, UINT, DWORD, PVOID ); WINSETUPAPI HSPFILELOG WINAPI SetupInitializeFileLogA( PCSTR, DWORD ); WINSETUPAPI HSPFILELOG WINAPI SetupInitializeFileLogW( PCWSTR, DWORD ); WINSETUPAPI BOOL WINAPI SetupInstallFileA( HINF, PINFCONTEXT, PCSTR, PCSTR, PCSTR, DWORD, PSP_FILE_CALLBACK_A, PVOID ); WINSETUPAPI BOOL WINAPI SetupInstallFileExA( HINF, PINFCONTEXT, PCSTR, PCSTR, PCSTR, DWORD, PSP_FILE_CALLBACK_A, PVOID, PBOOL ); WINSETUPAPI BOOL WINAPI SetupInstallFileExW( HINF, PINFCONTEXT, PCWSTR, PCWSTR, PCWSTR, DWORD, PSP_FILE_CALLBACK_W, PVOID, PBOOL ); WINSETUPAPI BOOL WINAPI SetupInstallFileW( HINF, PINFCONTEXT, PCWSTR, PCWSTR, PCWSTR, DWORD, PSP_FILE_CALLBACK_W, PVOID ); WINSETUPAPI BOOL WINAPI SetupInstallFilesFromInfSectionA( HINF, HINF, HSPFILEQ, PCSTR, PCSTR, UINT ); WINSETUPAPI BOOL WINAPI SetupInstallFilesFromInfSectionW( HINF, HINF, HSPFILEQ, PCWSTR, PCWSTR, UINT ); WINSETUPAPI BOOL WINAPI SetupInstallFromInfSectionA( HWND, HINF, PCSTR, UINT, HKEY, PCSTR, UINT, PSP_FILE_CALLBACK_A, PVOID, HDEVINFO, PSP_DEVINFO_DATA ); WINSETUPAPI BOOL WINAPI SetupInstallFromInfSectionW( HWND, HINF, PCWSTR, UINT, HKEY, PCWSTR, UINT, PSP_FILE_CALLBACK_W, PVOID, HDEVINFO, PSP_DEVINFO_DATA ); WINSETUPAPI BOOL WINAPI SetupInstallServicesFromInfSectionA( HINF, PCSTR, DWORD ); WINSETUPAPI BOOL WINAPI SetupInstallServicesFromInfSectionExA( HINF, PCSTR, DWORD, HDEVINFO, PSP_DEVINFO_DATA, PVOID, PVOID ); WINSETUPAPI BOOL WINAPI SetupInstallServicesFromInfSectionExW( HINF, PCWSTR, DWORD, HDEVINFO, PSP_DEVINFO_DATA, PVOID, PVOID ); WINSETUPAPI BOOL WINAPI SetupInstallServicesFromInfSectionW( HINF, PCWSTR, DWORD ); WINSETUPAPI BOOL WINAPI SetupIterateCabinetA( PCSTR, DWORD, PSP_FILE_CALLBACK_A, PVOID ); WINSETUPAPI BOOL WINAPI SetupIterateCabinetW( PCWSTR, DWORD, PSP_FILE_CALLBACK_W, PVOID ); WINSETUPAPI BOOL WINAPI SetupLogErrorA( LPCSTR, LogSeverity ); WINSETUPAPI BOOL WINAPI SetupLogErrorW( LPCWSTR, LogSeverity ); WINSETUPAPI BOOL WINAPI SetupLogFileA( HSPFILELOG, PCSTR, PCSTR, PCSTR, DWORD, PCSTR, PCSTR, PCSTR, DWORD ); WINSETUPAPI BOOL WINAPI SetupLogFileW( HSPFILELOG, PCWSTR, PCWSTR, PCWSTR, DWORD, PCWSTR, PCWSTR, PCWSTR, DWORD ); WINSETUPAPI BOOL WINAPI SetupOpenAppendInfFileA( PCSTR, HINF, PUINT ); WINSETUPAPI BOOL WINAPI SetupOpenAppendInfFileW( PCWSTR, HINF, PUINT ); WINSETUPAPI HSPFILEQ WINAPI SetupOpenFileQueue( VOID ); WINSETUPAPI HINF WINAPI SetupOpenInfFileA( PCSTR, PCSTR, DWORD, PUINT ); WINSETUPAPI HINF WINAPI SetupOpenInfFileW( PCWSTR, PCWSTR, DWORD, PUINT ); WINSETUPAPI BOOL WINAPI SetupOpenLog( BOOL ); WINSETUPAPI HINF WINAPI SetupOpenMasterInf( VOID ); WINSETUPAPI UINT WINAPI SetupPromptForDiskA( HWND, PCSTR, PCSTR, PCSTR, PCSTR, PCSTR, DWORD, PSTR, DWORD, PDWORD ); WINSETUPAPI UINT WINAPI SetupPromptForDiskW( HWND, PCWSTR, PCWSTR, PCWSTR, PCWSTR, PCWSTR, DWORD, PWSTR, DWORD, PDWORD ); WINSETUPAPI INT WINAPI SetupPromptReboot( HSPFILEQ, HWND, BOOL ); WINSETUPAPI BOOL WINAPI SetupQueryDrivesInDiskSpaceListA( HDSKSPC, PSTR, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupQueryDrivesInDiskSpaceListW( HDSKSPC, PWSTR, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupQueryFileLogA( HSPFILELOG, PCSTR, PCSTR, SetupFileLogInfo, PSTR, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupQueryFileLogW( HSPFILELOG, PCWSTR, PCWSTR, SetupFileLogInfo, PWSTR, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupQueryInfFileInformationA( PSP_INF_INFORMATION, UINT, PSTR, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupQueryInfFileInformationW( PSP_INF_INFORMATION, UINT, PWSTR, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupQueryInfOriginalFileInformationA( PSP_INF_INFORMATION, UINT, PSP_ALTPLATFORM_INFO, PSP_ORIGINAL_FILE_INFO_A ); WINSETUPAPI BOOL WINAPI SetupQueryInfOriginalFileInformationW( PSP_INF_INFORMATION, UINT, PSP_ALTPLATFORM_INFO, PSP_ORIGINAL_FILE_INFO_W ); WINSETUPAPI BOOL WINAPI SetupQueryInfVersionInformationA( PSP_INF_INFORMATION, UINT, PCSTR, PSTR, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupQueryInfVersionInformationW( PSP_INF_INFORMATION, UINT, PCWSTR, PWSTR, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupQuerySourceListA( DWORD, PCSTR **, PUINT ); WINSETUPAPI BOOL WINAPI SetupQuerySourceListW( DWORD, PCWSTR **, PUINT ); WINSETUPAPI BOOL WINAPI SetupQuerySpaceRequiredOnDriveA( HDSKSPC, PCSTR, LONGLONG *, PVOID, UINT ); WINSETUPAPI BOOL WINAPI SetupQuerySpaceRequiredOnDriveW( HDSKSPC, PCWSTR, LONGLONG *, PVOID, UINT ); WINSETUPAPI BOOL WINAPI SetupQueueCopyA( HSPFILEQ, PCSTR, PCSTR, PCSTR, PCSTR, PCSTR, PCSTR, PCSTR, DWORD ); WINSETUPAPI BOOL WINAPI SetupQueueCopyIndirectA( PSP_FILE_COPY_PARAMS_A ); WINSETUPAPI BOOL WINAPI SetupQueueCopyIndirectW( PSP_FILE_COPY_PARAMS_W ); WINSETUPAPI BOOL WINAPI SetupQueueCopySectionA( HSPFILEQ, PCSTR, HINF, HINF, PCSTR, DWORD ); WINSETUPAPI BOOL WINAPI SetupQueueCopySectionW( HSPFILEQ, PCWSTR, HINF, HINF, PCWSTR, DWORD ); WINSETUPAPI BOOL WINAPI SetupQueueCopyW( HSPFILEQ, PCWSTR, PCWSTR, PCWSTR, PCWSTR, PCWSTR, PCWSTR, PCWSTR, DWORD ); WINSETUPAPI BOOL WINAPI SetupQueueDefaultCopyA( HSPFILEQ, HINF, PCSTR, PCSTR, PCSTR, DWORD ); WINSETUPAPI BOOL WINAPI SetupQueueDefaultCopyW( HSPFILEQ, HINF, PCWSTR, PCWSTR, PCWSTR, DWORD ); WINSETUPAPI BOOL WINAPI SetupQueueDeleteA( HSPFILEQ, PCSTR, PCSTR ); WINSETUPAPI BOOL WINAPI SetupQueueDeleteSectionA( HSPFILEQ, HINF, HINF, PCSTR ); WINSETUPAPI BOOL WINAPI SetupQueueDeleteSectionW( HSPFILEQ, HINF, HINF, PCWSTR ); WINSETUPAPI BOOL WINAPI SetupQueueDeleteW( HSPFILEQ, PCWSTR, PCWSTR ); WINSETUPAPI BOOL WINAPI SetupQueueRenameA( HSPFILEQ, PCSTR, PCSTR, PCSTR, PCSTR ); WINSETUPAPI BOOL WINAPI SetupQueueRenameSectionA( HSPFILEQ, HINF, HINF, PCSTR ); WINSETUPAPI BOOL WINAPI SetupQueueRenameSectionW( HSPFILEQ, HINF, HINF, PCWSTR ); WINSETUPAPI BOOL WINAPI SetupQueueRenameW( HSPFILEQ, PCWSTR, PCWSTR, PCWSTR, PCWSTR ); WINSETUPAPI BOOL WINAPI SetupRemoveFileLogEntryA( HSPFILELOG, PCSTR, PCSTR ); WINSETUPAPI BOOL WINAPI SetupRemoveFileLogEntryW( HSPFILELOG, PCWSTR, PCWSTR ); WINSETUPAPI BOOL WINAPI SetupRemoveFromDiskSpaceListA( HDSKSPC, PCSTR, UINT, PVOID, UINT ); WINSETUPAPI BOOL WINAPI SetupRemoveFromDiskSpaceListW( HDSKSPC, PCWSTR, UINT, PVOID, UINT ); WINSETUPAPI BOOL WINAPI SetupRemoveFromSourceListA( DWORD, PCSTR ); WINSETUPAPI BOOL WINAPI SetupRemoveFromSourceListW( DWORD, PCWSTR ); WINSETUPAPI BOOL WINAPI SetupRemoveInstallSectionFromDiskSpaceListA( HDSKSPC, HINF, HINF, PCSTR, PVOID, UINT ); WINSETUPAPI BOOL WINAPI SetupRemoveInstallSectionFromDiskSpaceListW( HDSKSPC, HINF, HINF, PCWSTR, PVOID, UINT ); WINSETUPAPI BOOL WINAPI SetupRemoveSectionFromDiskSpaceListA( HDSKSPC, HINF, HINF, PCSTR, UINT, PVOID, UINT ); WINSETUPAPI BOOL WINAPI SetupRemoveSectionFromDiskSpaceListW( HDSKSPC, HINF, HINF, PCWSTR, UINT, PVOID, UINT ); WINSETUPAPI UINT WINAPI SetupRenameErrorA( HWND, PCSTR, PCSTR, PCSTR, UINT, DWORD ); WINSETUPAPI UINT WINAPI SetupRenameErrorW( HWND, PCWSTR, PCWSTR, PCWSTR, UINT, DWORD ); WINSETUPAPI BOOL WINAPI SetupScanFileQueueA( HSPFILEQ, DWORD, HWND, PSP_FILE_CALLBACK_A, PVOID, PDWORD ); WINSETUPAPI BOOL WINAPI SetupScanFileQueueW( HSPFILEQ, DWORD, HWND, PSP_FILE_CALLBACK_W, PVOID, PDWORD ); WINSETUPAPI BOOL WINAPI SetupSetDirectoryIdA( HINF, DWORD, PCSTR ); WINSETUPAPI BOOL WINAPI SetupSetDirectoryIdExA( HINF, DWORD, PCSTR, DWORD, DWORD, PVOID ); WINSETUPAPI BOOL WINAPI SetupSetDirectoryIdExW( HINF, DWORD, PCWSTR, DWORD, DWORD, PVOID ); WINSETUPAPI BOOL WINAPI SetupSetDirectoryIdW( HINF, DWORD, PCWSTR ); WINSETUPAPI BOOL WINAPI SetupSetFileQueueAlternatePlatformA( HSPFILEQ, PSP_ALTPLATFORM_INFO, PCSTR ); WINSETUPAPI BOOL WINAPI SetupSetFileQueueAlternatePlatformW( HSPFILEQ, PSP_ALTPLATFORM_INFO, PCWSTR ); WINSETUPAPI BOOL WINAPI SetupSetPlatformPathOverrideA( PCSTR ); WINSETUPAPI BOOL WINAPI SetupSetPlatformPathOverrideW( PCWSTR ); WINSETUPAPI BOOL WINAPI SetupSetSourceListA( DWORD, PCSTR *, UINT ); WINSETUPAPI BOOL WINAPI SetupSetSourceListW( DWORD, PCWSTR *, UINT ); WINSETUPAPI VOID WINAPI SetupTermDefaultQueueCallback( PVOID ); WINSETUPAPI BOOL WINAPI SetupTerminateFileLog( HSPFILELOG ); #if (_SETUPAPI_VER >= 0x0501) WINSETUPAPI BOOL WINAPI SetupDiGetActualSectionToInstallExA( HINF, PCSTR, PSP_ALTPLATFORM_INFO, PSTR, DWORD, PDWORD, PSTR *, PVOID ); WINSETUPAPI BOOL WINAPI SetupDiGetActualSectionToInstallExW( HINF, PCWSTR, PSP_ALTPLATFORM_INFO, PWSTR, DWORD, PDWORD, PWSTR *, PVOID ); WINSETUPAPI BOOL WINAPI SetupDiGetClassRegistryPropertyA( CONST GUID *, DWORD, PDWORD, PBYTE, DWORD, PDWORD, PCSTR, PVOID ); WINSETUPAPI BOOL WINAPI SetupDiGetClassRegistryPropertyW( CONST GUID *, DWORD, PDWORD, PBYTE, DWORD, PDWORD, PCWSTR, PVOID ); WINSETUPAPI BOOL WINAPI SetupDiGetCustomDevicePropertyA( HDEVINFO, PSP_DEVINFO_DATA, PCSTR, DWORD, PDWORD, PBYTE, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupDiGetCustomDevicePropertyW( HDEVINFO, PSP_DEVINFO_DATA, PCWSTR, DWORD, PDWORD, PBYTE, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupDiSetClassRegistryPropertyA( CONST GUID *, DWORD, CONST BYTE *, DWORD, PCSTR, PVOID ); WINSETUPAPI BOOL WINAPI SetupDiSetClassRegistryPropertyW( CONST GUID *, DWORD, CONST BYTE *, DWORD, PCWSTR, PVOID ); WINSETUPAPI BOOL WINAPI SetupDiSetDeviceInterfaceDefault( HDEVINFO, PSP_DEVICE_INTERFACE_DATA, DWORD, PVOID ); WINSETUPAPI BOOL WINAPI SetupEnumInfSectionsA( HINF, UINT, PSTR, UINT, UINT * ); WINSETUPAPI BOOL WINAPI SetupEnumInfSectionsW( HINF, UINT, PWSTR, UINT, UINT * ); WINSETUPAPI BOOL WINAPI SetupGetFileCompressionInfoExA( PCSTR, PSTR, DWORD, PDWORD, PDWORD, PDWORD, PUINT ); WINSETUPAPI BOOL WINAPI SetupGetFileCompressionInfoExW( PCWSTR, PWSTR, DWORD, PDWORD, PDWORD, PDWORD, PUINT ); WINSETUPAPI BOOL WINAPI SetupGetFileQueueCount( HSPFILEQ, UINT, PUINT ); WINSETUPAPI BOOL WINAPI SetupGetFileQueueFlags( HSPFILEQ, PDWORD ); WINSETUPAPI BOOL WINAPI SetupGetNonInteractiveMode( VOID ); WINSETUPAPI BOOL WINAPI SetupPrepareQueueForRestoreA( HSPFILEQ, PCSTR, DWORD ); WINSETUPAPI BOOL WINAPI SetupPrepareQueueForRestoreW( HSPFILEQ, PCWSTR, DWORD ); WINSETUPAPI BOOL WINAPI SetupSetFileQueueFlags( HSPFILEQ, DWORD, DWORD ); WINSETUPAPI BOOL WINAPI SetupSetNonInteractiveMode( BOOL ); WINSETUPAPI BOOL WINAPI SetupUninstallNewlyCopiedInfs( HSPFILEQ, DWORD, PVOID ); WINSETUPAPI BOOL WINAPI SetupUninstallOEMInfA( PCSTR, DWORD, PVOID ); WINSETUPAPI BOOL WINAPI SetupUninstallOEMInfW( PCWSTR, DWORD, PVOID ); WINSETUPAPI BOOL WINAPI SetupVerifyInfFileA( PCSTR, PSP_ALTPLATFORM_INFO, PSP_INF_SIGNER_INFO_A ); WINSETUPAPI BOOL WINAPI SetupVerifyInfFileW( PCWSTR, PSP_ALTPLATFORM_INFO, PSP_INF_SIGNER_INFO_W ); #endif #if (_SETUPAPI_VER >= 0x0502) WINSETUPAPI BOOL WINAPI SetupConfigureWmiFromInfSectionA( HINF, PCSTR, DWORD ); WINSETUPAPI BOOL WINAPI SetupConfigureWmiFromInfSectionW( HINF, PCWSTR, DWORD ); WINSETUPAPI BOOL WINAPI SetupDiGetActualModelsSectionA( PINFCONTEXT, PSP_ALTPLATFORM_INFO, PSTR, DWORD, PDWORD, PVOID ); WINSETUPAPI BOOL WINAPI SetupDiGetActualModelsSectionW( PINFCONTEXT, PSP_ALTPLATFORM_INFO, PWSTR, DWORD, PDWORD, PVOID ); #endif #if (_SETUPAPI_VER >= 0x0600) WINSETUPAPI BOOL WINAPI SetupDiGetClassPropertyExW( CONST GUID *, CONST DEVPROPKEY *, DEVPROPTYPE *, PBYTE, DWORD, PDWORD, DWORD, PCWSTR, PVOID ); WINSETUPAPI BOOL WINAPI SetupDiGetClassPropertyKeys( CONST GUID *, DEVPROPKEY *, DWORD, PDWORD, DWORD ); WINSETUPAPI BOOL WINAPI SetupDiGetClassPropertyKeysExW( CONST GUID *, DEVPROPKEY *, DWORD, PDWORD, DWORD, PCWSTR, PVOID ); WINSETUPAPI BOOL WINAPI SetupDiGetClassPropertyW( CONST GUID *, CONST DEVPROPKEY *, DEVPROPTYPE *, PBYTE, DWORD, PDWORD, DWORD ); WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInterfacePropertyKeys( HDEVINFO, PSP_DEVICE_INTERFACE_DATA, DEVPROPKEY *, DWORD, PDWORD, DWORD ); WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInterfacePropertyW( HDEVINFO, PSP_DEVICE_INTERFACE_DATA, CONST DEVPROPKEY *, DEVPROPTYPE *, PBYTE, DWORD, PDWORD, DWORD ); WINSETUPAPI BOOL WINAPI SetupDiGetDevicePropertyKeys( HDEVINFO, PSP_DEVINFO_DATA, DEVPROPKEY *, DWORD, PDWORD, DWORD ); WINSETUPAPI BOOL WINAPI SetupDiGetDevicePropertyW( HDEVINFO, PSP_DEVINFO_DATA, CONST DEVPROPKEY *, DEVPROPTYPE *, PBYTE, DWORD, PDWORD, DWORD ); WINSETUPAPI BOOL WINAPI SetupDiLoadDeviceIcon( HDEVINFO, PSP_DEVINFO_DATA, UINT, UINT, DWORD, HICON * ); WINSETUPAPI BOOL WINAPI SetupDiSetClassPropertyExW( CONST GUID *, CONST DEVPROPKEY *, DEVPROPTYPE *, CONST PBYTE, DWORD, DWORD, PCWSTR, PVOID ); WINSETUPAPI BOOL WINAPI SetupDiSetClassPropertyW( CONST GUID *, CONST DEVPROPKEY *, DEVPROPTYPE *, CONST PBYTE, DWORD, DWORD ); WINSETUPAPI BOOL WINAPI SetupDiSetDeviceInterfacePropertyW( HDEVINFO, PSP_DEVICE_INTERFACE_DATA, CONST DEVPROPKEY *, DEVPROPTYPE *, CONST PBYTE, DWORD, DWORD ); WINSETUPAPI BOOL WINAPI SetupDiSetDevicePropertyW( HDEVINFO, PSP_DEVINFO_DATA, CONST DEVPROPKEY *, DEVPROPTYPE, CONST PBYTE, DWORD, DWORD ); WINSETUPAPI BOOL WINAPI SetupGetInfDriverStoreLocationA( PCSTR, PSP_ALTPLATFORM_INFO, PCSTR, PSTR, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupGetInfDriverStoreLocationW( PCWSTR, PSP_ALTPLATFORM_INFO, PCWSTR, PWSTR, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupGetInfPublishedNameA( PCSTR, PSTR, DWORD, PDWORD ); WINSETUPAPI BOOL WINAPI SetupGetInfPublishedNameW( PCWSTR, PWSTR, DWORD, PDWORD ); WINSETUPAPI SP_LOG_TOKEN WINAPI SetupGetThreadLogToken( VOID ); WINSETUPAPI VOID WINAPI SetupSetThreadLogToken( SP_LOG_TOKEN ); WINSETUPAPI VOID WINAPIV SetupWriteTextLog( SP_LOG_TOKEN, DWORD, DWORD, PCSTR, ... ); WINSETUPAPI VOID WINAPIV SetupWriteTextLogError( SP_LOG_TOKEN, DWORD, DWORD, DWORD, PCSTR, ... ); WINSETUPAPI VOID WINAPI SetupWriteTextLogInfLine( SP_LOG_TOKEN, DWORD, HINF, PINFCONTEXT ); #endif /* Aliases */ #define SetupDiCreateInterfaceDeviceA SetupDiCreateDeviceInterfaceA #define SetupDiCreateInterfaceDeviceRegKeyA SetupDiCreateDeviceInterfaceRegKeyA #define SetupDiCreateInterfaceDeviceRegKeyW SetupDiCreateDeviceInterfaceRegKeyW #define SetupDiCreateInterfaceDeviceW SetupDiCreateDeviceInterfaceW #define SetupDiDeleteInterfaceDeviceData SetupDiDeleteDeviceInterfaceData #define SetupDiDeleteInterfaceDeviceRegKey SetupDiDeleteDeviceInterfaceRegKey #define SetupDiEnumInterfaceDevice SetupDiEnumDeviceInterfaces #define SetupDiGetInterfaceDeviceAlias SetupDiGetDeviceInterfaceAlias #define SetupDiGetInterfaceDeviceDetailA SetupDiGetDeviceInterfaceDetailA #define SetupDiGetInterfaceDeviceDetailW SetupDiGetDeviceInterfaceDetailW #define SetupDiInstallInterfaceDevices SetupDiInstallDeviceInterfaces #define SetupDiOpenInterfaceDeviceA SetupDiOpenDeviceInterfaceA #define SetupDiOpenInterfaceDeviceRegKey SetupDiOpenDeviceInterfaceRegKey #define SetupDiOpenInterfaceDeviceW SetupDiOpenDeviceInterfaceW #define SetupDiRemoveInterfaceDevice SetupDiRemoveDeviceInterface /* Map generic function names to the appropriate ANSI or Unicode version. */ #ifdef UNICODE #define InstallHinfSection InstallHinfSectionW #define SetupAddInstallSectionToDiskSpaceList SetupAddInstallSectionToDiskSpaceListW #define SetupAddSectionToDiskSpaceList SetupAddSectionToDiskSpaceListW #define SetupAddToDiskSpaceList SetupAddToDiskSpaceListW #define SetupAddToSourceList SetupAddToSourceListW #define SetupAdjustDiskSpaceList SetupAdjustDiskSpaceListW #define SetupBackupError SetupBackupErrorW #define SetupCommitFileQueue SetupCommitFileQueueW #define SetupConfigureWmiFromInfSection SetupConfigureWmiFromInfSectionW #define SetupCopyError SetupCopyErrorW #define SetupCopyOEMInf SetupCopyOEMInfW #define SetupCreateDiskSpaceList SetupCreateDiskSpaceListW #define SetupDecompressOrCopyFile SetupDecompressOrCopyFileW #define SetupDefaultQueueCallback SetupDefaultQueueCallbackW #define SetupDeleteError SetupDeleteErrorW #define SetupDiBuildClassInfoListEx SetupDiBuildClassInfoListExW #define SetupDiClassGuidsFromName SetupDiClassGuidsFromNameW #define SetupDiClassGuidsFromNameEx SetupDiClassGuidsFromNameExW #define SetupDiClassNameFromGuid SetupDiClassNameFromGuidW #define SetupDiClassNameFromGuidEx SetupDiClassNameFromGuidExW #define SetupDiCreateDevRegKey SetupDiCreateDevRegKeyW #define SetupDiCreateDeviceInfo SetupDiCreateDeviceInfoW #define SetupDiCreateDeviceInfoListEx SetupDiCreateDeviceInfoListExW #define SetupDiCreateDeviceInterface SetupDiCreateDeviceInterfaceW #define SetupDiCreateDeviceInterfaceRegKey SetupDiCreateDeviceInterfaceRegKeyW #define SetupDiCreateInterfaceDevice SetupDiCreateInterfaceDeviceW #define SetupDiCreateInterfaceDeviceRegKey SetupDiCreateInterfaceDeviceRegKeyW #define SetupDiEnumDriverInfo SetupDiEnumDriverInfoW #define SetupDiGetActualSectionToInstall SetupDiGetActualSectionToInstallW #define SetupDiGetClassDescription SetupDiGetClassDescriptionW #define SetupDiGetClassDescriptionEx SetupDiGetClassDescriptionExW #define SetupDiGetClassDevPropertySheets SetupDiGetClassDevPropertySheetsW #define SetupDiGetClassDevs SetupDiGetClassDevsW #define SetupDiGetClassDevsEx SetupDiGetClassDevsExW #define SetupDiGetClassImageListEx SetupDiGetClassImageListExW #define SetupDiGetClassInstallParams SetupDiGetClassInstallParamsW #define SetupDiGetDeviceInfoListDetail SetupDiGetDeviceInfoListDetailW #define SetupDiGetDeviceInstallParams SetupDiGetDeviceInstallParamsW #define SetupDiGetDeviceInstanceId SetupDiGetDeviceInstanceIdW #define SetupDiGetDeviceInterfaceDetail SetupDiGetDeviceInterfaceDetailW #define SetupDiGetDeviceRegistryProperty SetupDiGetDeviceRegistryPropertyW #define SetupDiGetDriverInfoDetail SetupDiGetDriverInfoDetailW #define SetupDiGetDriverInstallParams SetupDiGetDriverInstallParamsW #define SetupDiGetHwProfileFriendlyName SetupDiGetHwProfileFriendlyNameW #define SetupDiGetHwProfileFriendlyNameEx SetupDiGetHwProfileFriendlyNameExW #define SetupDiGetHwProfileListEx SetupDiGetHwProfileListExW #define SetupDiGetINFClass SetupDiGetINFClassW #define SetupDiGetInterfaceDeviceDetail SetupDiGetInterfaceDeviceDetailW #define SetupDiGetSelectedDriver SetupDiGetSelectedDriverW #define SetupDiInstallClass SetupDiInstallClassW #define SetupDiInstallClassEx SetupDiInstallClassExW #define SetupDiOpenClassRegKeyEx SetupDiOpenClassRegKeyExW #define SetupDiOpenDeviceInfo SetupDiOpenDeviceInfoW #define SetupDiOpenDeviceInterface SetupDiOpenDeviceInterfaceW #define SetupDiOpenInterfaceDevice SetupDiOpenInterfaceDeviceW #define SetupDiSetClassInstallParams SetupDiSetClassInstallParamsW #define SetupDiSetDeviceInstallParams SetupDiSetDeviceInstallParamsW #define SetupDiSetDeviceRegistryProperty SetupDiSetDeviceRegistryPropertyW #define SetupDiSetDriverInstallParams SetupDiSetDriverInstallParamsW #define SetupDiSetSelectedDriver SetupDiSetSelectedDriverW #define SetupFindFirstLine SetupFindFirstLineW #define SetupFindNextMatchLine SetupFindNextMatchLineW #define SetupFreeSourceList SetupFreeSourceListW #define SetupGetBackupInformation SetupGetBackupInformationW #define SetupGetFileCompressionInfo SetupGetFileCompressionInfoW #define SetupGetInfFileList SetupGetInfFileListW #define SetupGetInfInformation SetupGetInfInformationW #define SetupGetLineByIndex SetupGetLineByIndexW #define SetupGetLineCount SetupGetLineCountW #define SetupGetLineText SetupGetLineTextW #define SetupGetMultiSzField SetupGetMultiSzFieldW #define SetupGetSourceFileLocation SetupGetSourceFileLocationW #define SetupGetSourceFileSize SetupGetSourceFileSizeW #define SetupGetSourceInfo SetupGetSourceInfoW #define SetupGetStringField SetupGetStringFieldW #define SetupGetTargetPath SetupGetTargetPathW #define SetupInitializeFileLog SetupInitializeFileLogW #define SetupInstallFile SetupInstallFileW #define SetupInstallFileEx SetupInstallFileExW #define SetupInstallFilesFromInfSection SetupInstallFilesFromInfSectionW #define SetupInstallFromInfSection SetupInstallFromInfSectionW #define SetupInstallServicesFromInfSection SetupInstallServicesFromInfSectionW #define SetupInstallServicesFromInfSectionEx SetupInstallServicesFromInfSectionExW #define SetupIterateCabinet SetupIterateCabinetW #define SetupLogError SetupLogErrorW #define SetupLogFile SetupLogFileW #define SetupOpenAppendInfFile SetupOpenAppendInfFileW #define SetupOpenInfFile SetupOpenInfFileW #define SetupPromptForDisk SetupPromptForDiskW #define SetupQueryDrivesInDiskSpaceList SetupQueryDrivesInDiskSpaceListW #define SetupQueryFileLog SetupQueryFileLogW #define SetupQueryInfFileInformation SetupQueryInfFileInformationW #define SetupQueryInfOriginalFileInformation SetupQueryInfOriginalFileInformationW #define SetupQueryInfVersionInformation SetupQueryInfVersionInformationW #define SetupQuerySourceList SetupQuerySourceListW #define SetupQuerySpaceRequiredOnDrive SetupQuerySpaceRequiredOnDriveW #define SetupQueueCopy SetupQueueCopyW #define SetupQueueCopyIndirect SetupQueueCopyIndirectW #define SetupQueueCopySection SetupQueueCopySectionW #define SetupQueueDefaultCopy SetupQueueDefaultCopyW #define SetupQueueDelete SetupQueueDeleteW #define SetupQueueDeleteSection SetupQueueDeleteSectionW #define SetupQueueRename SetupQueueRenameW #define SetupQueueRenameSection SetupQueueRenameSectionW #define SetupRemoveFileLogEntry SetupRemoveFileLogEntryW #define SetupRemoveFromDiskSpaceList SetupRemoveFromDiskSpaceListW #define SetupRemoveFromSourceList SetupRemoveFromSourceListW #define SetupRemoveInstallSectionFromDiskSpaceList SetupRemoveInstallSectionFromDiskSpaceListW #define SetupRemoveSectionFromDiskSpaceList SetupRemoveSectionFromDiskSpaceListW #define SetupRenameError SetupRenameErrorW #define SetupScanFileQueue SetupScanFileQueueW #define SetupSetDirectoryId SetupSetDirectoryIdW #define SetupSetDirectoryIdEx SetupSetDirectoryIdExW #define SetupSetFileQueueAlternatePlatform SetupSetFileQueueAlternatePlatformW #define SetupSetPlatformPathOverride SetupSetPlatformPathOverrideW #define SetupSetSourceList SetupSetSourceListW #if (_SETUPAPI_VER >= 0x0501) #define SetupDiGetActualSectionToInstallEx SetupGetActualSectionToInstallExW #define SetupDiGetClassRegistryProperty SetupDiGetClassRegistryPropertyW #define SetupDiGetCustomDeviceProperty SetupDiGetCustomDevicePropertyW #define SetupDiSetClassRegistryProperty SetupDiSetClassRegistryPropertyW #define SetupEnumInfSections SetupEnumInfSectionsW #define SetupGetFileCompressionInfoEx SetupGetFileCompressionInfoExW #define SetupPrepareQueueForRestore SetupPrepareQueueForRestoreW #define SetupUninstallOEMInf SetupUninstallOEMInfW #define SetupVerifyInfFile SetupVerifyInfFileW #endif #if (_SETUPAPI_VER >= 0x0502) #define SetupDiGetActualModelsSection SetupDiGetActualModelsSectionW #endif #if (_SETUPAPI_VER >= 0x0600) #define SetupDiGetClassProperty SetupDiGetClassPropertyW #define SetupDiGetClassPropertyEx SetupDiGetClassPropertyExW #define SetupDiGetClassPropertyKeysEx SetupDiGetClassPropertyKeysExW #define SetupDiGetDeviceInterfaceProperty SetupDiGetDeviceInterfacePropertyW #define SetupDiGetDeviceProperty SetupDiGetDevicePropertyW #define SetupDiSetClassProperty SetupDiSetClassPropertyW #define SetupDiSetClassPropertyEx SetupDiSetClassPropertyExW #define SetupDiSetDeviceInterfaceProperty SetupDiSetDeviceInterfacePropertyW #define SetupDiSetDeviceProperty SetupDiSetDevicePropertyW #define SetupGetInfDriverStoreLocation SetupGetInfDriverStoreLocationW #define SetupGetInfPublishedName SetupGetInfPublishedNameW #endif #else #define InstallHinfSection InstallHinfSectionA #define SetupAddInstallSectionToDiskSpaceList SetupAddInstallSectionToDiskSpaceListA #define SetupAddSectionToDiskSpaceList SetupAddSectionToDiskSpaceListA #define SetupAddToDiskSpaceList SetupAddToDiskSpaceListA #define SetupAddToSourceList SetupAddToSourceListA #define SetupAdjustDiskSpaceList SetupAdjustDiskSpaceListA #define SetupBackupError SetupBackupErrorA #define SetupCommitFileQueue SetupCommitFileQueueA #define SetupConfigureWmiFromInfSection SetupConfigureWmiFromInfSectionA #define SetupCopyError SetupCopyErrorA #define SetupCopyOEMInf SetupCopyOEMInfA #define SetupCreateDiskSpaceList SetupCreateDiskSpaceListA #define SetupDecompressOrCopyFile SetupDecompressOrCopyFileA #define SetupDefaultQueueCallback SetupDefaultQueueCallbackA #define SetupDeleteError SetupDeleteErrorA #define SetupDiBuildClassInfoListEx SetupDiBuildClassInfoListExA #define SetupDiClassGuidsFromName SetupDiClassGuidsFromNameA #define SetupDiClassGuidsFromNameEx SetupDiClassGuidsFromNameExA #define SetupDiClassNameFromGuid SetupDiClassNameFromGuidA #define SetupDiClassNameFromGuidEx SetupDiClassNameFromGuidExA #define SetupDiCreateDevRegKey SetupDiCreateDevRegKeyA #define SetupDiCreateDeviceInfo SetupDiCreateDeviceInfoA #define SetupDiCreateDeviceInfoListEx SetupDiCreateDeviceInfoListExA #define SetupDiCreateDeviceInterface SetupDiCreateDeviceInterfaceA #define SetupDiCreateDeviceInterfaceRegKey SetupDiCreateDeviceInterfaceRegKeyA #define SetupDiCreateInterfaceDevice SetupDiCreateInterfaceDeviceA #define SetupDiCreateInterfaceDeviceRegKey SetupDiCreateInterfaceDeviceRegKeyA #define SetupDiEnumDriverInfo SetupDiEnumDriverInfoA #define SetupDiGetActualSectionToInstall SetupDiGetActualSectionToInstallA #define SetupDiGetClassDescription SetupDiGetClassDescriptionA #define SetupDiGetClassDescriptionEx SetupDiGetClassDescriptionExA #define SetupDiGetClassDevPropertySheets SetupDiGetClassDevPropertySheetsA #define SetupDiGetClassDevs SetupDiGetClassDevsA #define SetupDiGetClassDevsEx SetupDiGetClassDevsExA #define SetupDiGetClassImageListEx SetupDiGetClassImageListExA #define SetupDiGetClassInstallParams SetupDiGetClassInstallParamsA #define SetupDiGetDeviceInfoListDetail SetupDiGetDeviceInfoListDetailA #define SetupDiGetDeviceInstallParams SetupDiGetDeviceInstallParamsA #define SetupDiGetDeviceInstanceId SetupDiGetDeviceInstanceIdA #define SetupDiGetDeviceInterfaceDetail SetupDiGetDeviceInterfaceDetailA #define SetupDiGetDeviceRegistryProperty SetupDiGetDeviceRegistryPropertyA #define SetupDiGetDriverInfoDetail SetupDiGetDriverInfoDetailA #define SetupDiGetDriverInstallParams SetupDiGetDriverInstallParamsA #define SetupDiGetHwProfileFriendlyName SetupDiGetHwProfileFriendlyNameA #define SetupDiGetHwProfileFriendlyNameEx SetupDiGetHwProfileFriendlyNameExA #define SetupDiGetHwProfileListEx SetupDiGetHwProfileListExA #define SetupDiGetINFClass SetupDiGetINFClassA #define SetupDiGetInterfaceDeviceDetail SetupDiGetInterfaceDeviceDetailA #define SetupDiGetSelectedDriver SetupDiGetSelectedDriverA #define SetupDiInstallClass SetupDiInstallClassA #define SetupDiInstallClassEx SetupDiInstallClassExA #define SetupDiOpenClassRegKeyEx SetupDiOpenClassRegKeyExA #define SetupDiOpenDeviceInfo SetupDiOpenDeviceInfoA #define SetupDiOpenDeviceInterface SetupDiOpenDeviceInterfaceA #define SetupDiOpenInterfaceDevice SetupDiOpenInterfaceDeviceA #define SetupDiSetClassInstallParams SetupDiSetClassInstallParamsA #define SetupDiSetDeviceInstallParams SetupDiSetDeviceInstallParamsA #define SetupDiSetDeviceRegistryProperty SetupDiSetDeviceRegistryPropertyA #define SetupDiSetDriverInstallParams SetupDiSetDriverInstallParamsA #define SetupDiSetSelectedDriver SetupDiSetSelectedDriverA #define SetupFindFirstLine SetupFindFirstLineA #define SetupFindNextMatchLine SetupFindNextMatchLineA #define SetupFreeSourceList SetupFreeSourceListA #define SetupGetBackupInformation SetupGetBackupInformationA #define SetupGetFileCompressionInfo SetupGetFileCompressionInfoA #define SetupGetInfFileList SetupGetInfFileListA #define SetupGetInfInformation SetupGetInfInformationA #define SetupGetLineByIndex SetupGetLineByIndexA #define SetupGetLineCount SetupGetLineCountA #define SetupGetLineText SetupGetLineTextA #define SetupGetMultiSzField SetupGetMultiSzFieldA #define SetupGetSourceFileLocation SetupGetSourceFileLocationA #define SetupGetSourceFileSize SetupGetSourceFileSizeA #define SetupGetSourceInfo SetupGetSourceInfoA #define SetupGetStringField SetupGetStringFieldA #define SetupGetTargetPath SetupGetTargetPathA #define SetupInitializeFileLog SetupInitializeFileLogA #define SetupInstallFile SetupInstallFileA #define SetupInstallFileEx SetupInstallFileExA #define SetupInstallFilesFromInfSection SetupInstallFilesFromInfSectionA #define SetupInstallFromInfSection SetupInstallFromInfSectionA #define SetupInstallServicesFromInfSection SetupInstallServicesFromInfSectionA #define SetupInstallServicesFromInfSectionEx SetupInstallServicesFromInfSectionExA #define SetupIterateCabinet SetupIterateCabinetA #define SetupLogError SetupLogErrorA #define SetupLogFile SetupLogFileA #define SetupOpenAppendInfFile SetupOpenAppendInfFileA #define SetupOpenInfFile SetupOpenInfFileA #define SetupPromptForDisk SetupPromptForDiskA #define SetupQueryDrivesInDiskSpaceList SetupQueryDrivesInDiskSpaceListA #define SetupQueryFileLog SetupQueryFileLogA #define SetupQueryInfFileInformation SetupQueryInfFileInformationA #define SetupQueryInfOriginalFileInformation SetupQueryInfOriginalFileInformationA #define SetupQueryInfVersionInformation SetupQueryInfVersionInformationA #define SetupQuerySourceList SetupQuerySourceListA #define SetupQuerySpaceRequiredOnDrive SetupQuerySpaceRequiredOnDriveA #define SetupQueueCopy SetupQueueCopyA #define SetupQueueCopyIndirect SetupQueueCopyIndirectA #define SetupQueueCopySection SetupQueueCopySectionA #define SetupQueueDefaultCopy SetupQueueDefaultCopyA #define SetupQueueDelete SetupQueueDeleteA #define SetupQueueDeleteSection SetupQueueDeleteSectionA #define SetupQueueRename SetupQueueRenameA #define SetupQueueRenameSection SetupQueueRenameSectionA #define SetupRemoveFileLogEntry SetupRemoveFileLogEntryA #define SetupRemoveFromDiskSpaceList SetupRemoveFromDiskSpaceListA #define SetupRemoveFromSourceList SetupRemoveFromSourceListA #define SetupRemoveInstallSectionFromDiskSpaceList SetupRemoveInstallSectionFromDiskSpaceListA #define SetupRemoveSectionFromDiskSpaceList SetupRemoveSectionFromDiskSpaceListA #define SetupRenameError SetupRenameErrorA #define SetupScanFileQueue SetupScanFileQueueA #define SetupSetDirectoryId SetupSetDirectoryIdA #define SetupSetDirectoryIdEx SetupSetDirectoryIdExA #define SetupSetFileQueueAlternatePlatform SetupSetFileQueueAlternatePlatformA #define SetupSetPlatformPathOverride SetupSetPlatformPathOverrideA #define SetupSetSourceList SetupSetSourceListA #if (_SETUPAPI_VER >= 0x0501) #define SetupDiGetActualSectionToInstallEx SetupDiGetActualSectionToInstallExA #define SetupDiGetClassRegistryProperty SetupDiGetClassRegistryPropertyA #define SetupDiGetCustomDeviceProperty SetupDiGetCustomDevicePropertyA #define SetupDiSetClassRegistryProperty SetupDiSetClassRegistryPropertyA #define SetupEnumInfSections SetupEnumInfSectionsA #define SetupGetFileCompressionInfoEx SetupGetFileCompressionInfoExA #define SetupPrepareQueueForRestore SetupPrepareQueueForRestoreA #define SetupUninstallOEMInf SetupUninstallOEMInfA #define SetupVerifyInfFile SetupVerifyInfFileA #endif #if (_SETUPAPI_VER >= 0x0502) #define SetupDiGetActualModelsSection SetupDiGetActualModelsSectionA #endif #if (_SETUPAPI_VER >= 0x0600) #define SetupGetInfDriverStoreLocation SetupGetInfDriverStoreLocationA #define SetupGetInfPublishedName SetupGetInfPublishedNameA #endif #endif #ifdef __cplusplus } /* extern "C" */ #endif #endif /* _INC_SETUPAPI */