25#if !defined(_SETUPAPI_)
26#define WINSETUPAPI DECLSPEC_IMPORT
31#ifndef __LPGUID_DEFINED__
32#define __LPGUID_DEFINED__
54#define MAX_INF_STRING_LENGTH \
57#define MAX_TITLE_LEN 60
58#define MAX_INSTRUCTION_LEN 256
59#define MAX_LABEL_LEN 30
60#define MAX_SERVICE_NAME_LEN 256
61#define MAX_SUBTITLE_LEN 256
67#define SP_MAX_MACHINENAME_LENGTH (MAX_PATH + 3)
93 BYTE VersionData[ANYSIZE_ARRAY];
117 WORD ProcessorArchitecture;
130 CHAR OriginalInfName[MAX_PATH];
131 CHAR OriginalCatalogName[MAX_PATH];
137 WCHAR OriginalInfName[MAX_PATH];
138 WCHAR OriginalCatalogName[MAX_PATH];
152#define INF_STYLE_NONE 0x00000000
153#define INF_STYLE_OLDNT 0x00000001
154#define INF_STYLE_WIN4 0x00000002
161#define INF_STYLE_CACHE_ENABLE \
163#define INF_STYLE_CACHE_DISABLE 0x00000020
168#define DIRID_ABSOLUTE -1
169#define DIRID_ABSOLUTE_16BIT 0xffff
171#define DIRID_SRCPATH 1
172#define DIRID_WINDOWS 10
173#define DIRID_SYSTEM 11
174#define DIRID_DRIVERS 12
175#define DIRID_IOSUBSYS DIRID_DRIVERS
178#define DIRID_FONTS 20
179#define DIRID_VIEWERS 21
180#define DIRID_COLOR 23
182#define DIRID_SHARED 25
185#define DIRID_SYSTEM16 50
186#define DIRID_SPOOL 51
187#define DIRID_SPOOLDRIVERS 52
188#define DIRID_USERPROFILE 53
189#define DIRID_LOADER 54
190#define DIRID_PRINTPROCESSOR 55
192#define DIRID_DEFAULT DIRID_SYSTEM
205#define DIRID_COMMON_STARTMENU 16406
206#define DIRID_COMMON_PROGRAMS 16407
207#define DIRID_COMMON_STARTUP 16408
208#define DIRID_COMMON_DESKTOPDIRECTORY 16409
209#define DIRID_COMMON_FAVORITES 16415
210#define DIRID_COMMON_APPDATA 16419
212#define DIRID_PROGRAM_FILES 16422
213#define DIRID_SYSTEM_X86 16425
214#define DIRID_PROGRAM_FILES_X86 16426
215#define DIRID_PROGRAM_FILES_COMMON 16427
216#define DIRID_PROGRAM_FILES_COMMONX86 16428
218#define DIRID_COMMON_TEMPLATES 16429
219#define DIRID_COMMON_DOCUMENTS 16430
224#define DIRID_USER 0x8000
229typedef UINT(CALLBACK* PSP_FILE_CALLBACK_A)(IN PVOID Context,
230 IN UINT Notification,
234typedef UINT(CALLBACK* PSP_FILE_CALLBACK_W)(IN PVOID Context,
235 IN UINT Notification,
240#define PSP_FILE_CALLBACK PSP_FILE_CALLBACK_W
242#define PSP_FILE_CALLBACK PSP_FILE_CALLBACK_A
248#define SPFILENOTIFY_STARTQUEUE 0x00000001
249#define SPFILENOTIFY_ENDQUEUE 0x00000002
250#define SPFILENOTIFY_STARTSUBQUEUE 0x00000003
251#define SPFILENOTIFY_ENDSUBQUEUE 0x00000004
252#define SPFILENOTIFY_STARTDELETE 0x00000005
253#define SPFILENOTIFY_ENDDELETE 0x00000006
254#define SPFILENOTIFY_DELETEERROR 0x00000007
255#define SPFILENOTIFY_STARTRENAME 0x00000008
256#define SPFILENOTIFY_ENDRENAME 0x00000009
257#define SPFILENOTIFY_RENAMEERROR 0x0000000a
258#define SPFILENOTIFY_STARTCOPY 0x0000000b
259#define SPFILENOTIFY_ENDCOPY 0x0000000c
260#define SPFILENOTIFY_COPYERROR 0x0000000d
261#define SPFILENOTIFY_NEEDMEDIA 0x0000000e
262#define SPFILENOTIFY_QUEUESCAN 0x0000000f
266#define SPFILENOTIFY_CABINETINFO 0x00000010
267#define SPFILENOTIFY_FILEINCABINET 0x00000011
268#define SPFILENOTIFY_NEEDNEWCABINET 0x00000012
269#define SPFILENOTIFY_FILEEXTRACTED 0x00000013
270#define SPFILENOTIFY_FILEOPDELAYED 0x00000014
274#define SPFILENOTIFY_STARTBACKUP 0x00000015
275#define SPFILENOTIFY_BACKUPERROR 0x00000016
276#define SPFILENOTIFY_ENDBACKUP 0x00000017
280#define SPFILENOTIFY_QUEUESCAN_EX 0x00000018
284#define SPFILENOTIFY_LANGMISMATCH 0x00010000
285#define SPFILENOTIFY_TARGETEXISTS 0x00020000
286#define SPFILENOTIFY_TARGETNEWER 0x00040000
292#define FILEOP_RENAME 1
293#define FILEOP_DELETE 2
294#define FILEOP_BACKUP 3
296#define FILEOP_ABORT 0
299#define FILEOP_RETRY FILEOP_DOIT
300#define FILEOP_NEWPATH 4
305#define COPYFLG_WARN_IF_SKIP 0x00000001
306#define COPYFLG_NOSKIP 0x00000002
307#define COPYFLG_NOVERSIONCHECK \
309#define COPYFLG_FORCE_FILE_IN_USE 0x00000008
310#define COPYFLG_NO_OVERWRITE 0x00000010
311#define COPYFLG_NO_VERSION_DIALOG 0x00000020
312#define COPYFLG_OVERWRITE_OLDER_ONLY \
314#define COPYFLG_REPLACEONLY 0x00000400
315#define COPYFLG_NODECOMP \
317#define COPYFLG_REPLACE_BOOT_FILE \
320#define COPYFLG_NOPRUNE 0x00002000
326#define DELFLG_IN_USE 0x00000001
327#define DELFLG_IN_USE1 0x00010000
406 USHORT CabinetNumber;
415 USHORT CabinetNumber;
437 CHAR FullTargetName[MAX_PATH];
442 PCWSTR NameInCabinet;
448 WCHAR FullTargetName[MAX_PATH];
462typedef PVOID HSPFILEQ;
470 HSPFILEQ QueueHandle;
471 PCSTR SourceRootPath;
475 PCSTR SourceFilename;
476 PCSTR SourceDescription;
480 PCSTR TargetDirectory;
481 PCSTR TargetFilename;
486 PCSTR SecurityDescriptor;
493 HSPFILEQ QueueHandle;
494 PCWSTR SourceRootPath;
498 PCWSTR SourceFilename;
499 PCWSTR SourceDescription;
501 PCWSTR SourceTagfile;
503 PCWSTR TargetDirectory;
504 PCWSTR TargetFilename;
509 PCWSTR SecurityDescriptor;
524typedef PVOID HDSKSPC;
529typedef PVOID HDEVINFO;
551 GUID InterfaceClassGuid;
559#define SPINT_ACTIVE 0x00000001
560#define SPINT_DEFAULT 0x00000002
561#define SPINT_REMOVED 0x00000004
568#define SPID_ACTIVE SPINT_ACTIVE
569#define SPID_DEFAULT SPINT_DEFAULT
570#define SPID_REMOVED SPINT_REMOVED
575 CHAR DevicePath[ANYSIZE_ARRAY];
581 WCHAR DevicePath[ANYSIZE_ARRAY];
616 HANDLE RemoteMachineHandle;
617 CHAR RemoteMachineName[SP_MAX_MACHINENAME_LENGTH];
624 HANDLE RemoteMachineHandle;
625 WCHAR RemoteMachineName[SP_MAX_MACHINENAME_LENGTH];
639#define DIF_SELECTDEVICE 0x00000001
640#define DIF_INSTALLDEVICE 0x00000002
641#define DIF_ASSIGNRESOURCES 0x00000003
642#define DIF_PROPERTIES 0x00000004
643#define DIF_REMOVE 0x00000005
644#define DIF_FIRSTTIMESETUP 0x00000006
645#define DIF_FOUNDDEVICE 0x00000007
646#define DIF_SELECTCLASSDRIVERS 0x00000008
647#define DIF_VALIDATECLASSDRIVERS 0x00000009
648#define DIF_INSTALLCLASSDRIVERS 0x0000000A
649#define DIF_CALCDISKSPACE 0x0000000B
650#define DIF_DESTROYPRIVATEDATA 0x0000000C
651#define DIF_VALIDATEDRIVER 0x0000000D
652#define DIF_MOVEDEVICE 0x0000000E
653#define DIF_DETECT 0x0000000F
654#define DIF_INSTALLWIZARD 0x00000010
655#define DIF_DESTROYWIZARDDATA 0x00000011
656#define DIF_PROPERTYCHANGE 0x00000012
657#define DIF_ENABLECLASS 0x00000013
658#define DIF_DETECTVERIFY 0x00000014
659#define DIF_INSTALLDEVICEFILES 0x00000015
660#define DIF_UNREMOVE 0x00000016
661#define DIF_SELECTBESTCOMPATDRV 0x00000017
662#define DIF_ALLOW_INSTALL 0x00000018
663#define DIF_REGISTERDEVICE 0x00000019
664#define DIF_NEWDEVICEWIZARD_PRESELECT 0x0000001A
665#define DIF_NEWDEVICEWIZARD_SELECT 0x0000001B
666#define DIF_NEWDEVICEWIZARD_PREANALYZE 0x0000001C
667#define DIF_NEWDEVICEWIZARD_POSTANALYZE 0x0000001D
668#define DIF_NEWDEVICEWIZARD_FINISHINSTALL 0x0000001E
669#define DIF_UNUSED1 0x0000001F
670#define DIF_INSTALLINTERFACES 0x00000020
671#define DIF_DETECTCANCEL 0x00000021
672#define DIF_REGISTER_COINSTALLERS 0x00000022
673#define DIF_ADDPROPERTYPAGE_ADVANCED 0x00000023
674#define DIF_ADDPROPERTYPAGE_BASIC 0x00000024
675#define DIF_RESERVED1 0x00000025
676#define DIF_TROUBLESHOOTER 0x00000026
677#define DIF_POWERMESSAGEWAKE 0x00000027
679typedef UINT DI_FUNCTION;
692 PSP_FILE_CALLBACK InstallMsgHandler;
693 PVOID InstallMsgHandlerContext;
695 ULONG_PTR ClassInstallReserved;
697 CHAR DriverPath[MAX_PATH];
706 PSP_FILE_CALLBACK InstallMsgHandler;
707 PVOID InstallMsgHandlerContext;
709 ULONG_PTR ClassInstallReserved;
711 WCHAR DriverPath[MAX_PATH];
727#define DI_SHOWOEM 0x00000001L
728#define DI_SHOWCOMPAT 0x00000002L
729#define DI_SHOWCLASS 0x00000004L
730#define DI_SHOWALL 0x00000007L
734#define DI_DIDCOMPAT 0x00000010L
735#define DI_DIDCLASS 0x00000020L
736#define DI_AUTOASSIGNRES 0x00000040L
739#define DI_NEEDRESTART 0x00000080L
740#define DI_NEEDREBOOT 0x00000100L
743#define DI_NOBROWSE 0x00000200L
751#define DI_DISABLED 0x00000800L
754#define DI_GENERALPAGE_ADDED 0x00001000L
755#define DI_RESOURCEPAGE_ADDED 0x00002000L
759#define DI_PROPERTIES_CHANGE 0x00004000L
762#define DI_INF_IS_SORTED 0x00008000L
766#define DI_ENUMSINGLEINF 0x00010000L
770#define DI_DONOTCALLCONFIGMG 0x00020000L
773#define DI_INSTALLDISABLED 0x00040000L
778#define DI_COMPAT_FROM_CLASS 0x00080000L
781#define DI_CLASSINSTALLPARAMS 0x00100000L
786#define DI_NODI_DEFAULTACTION 0x00200000L
792#define DI_QUIETINSTALL \
795#define DI_NOFILECOPY 0x01000000L
796#define DI_FORCECOPY 0x02000000L
797#define DI_DRIVERPAGE_ADDED 0x04000000L
798#define DI_USECI_SELECTSTRINGS \
800#define DI_OVERRIDE_INFFLAGS 0x10000000L
801#define DI_PROPS_NOCHANGEUSAGE 0x20000000L
803#define DI_NOSELECTICONS 0x40000000L
805#define DI_NOWRITE_IDS 0x80000000L
810#define DI_FLAGSEX_USEOLDINFSEARCH \
812#define DI_FLAGSEX_AUTOSELECTRANK0 \
814#define DI_FLAGSEX_CI_FAILED 0x00000004L
816#define DI_FLAGSEX_DIDINFOLIST 0x00000010L
817#define DI_FLAGSEX_DIDCOMPATINFO 0x00000020L
819#define DI_FLAGSEX_FILTERCLASSES 0x00000040L
820#define DI_FLAGSEX_SETFAILEDINSTALL 0x00000080L
821#define DI_FLAGSEX_DEVICECHANGE 0x00000100L
822#define DI_FLAGSEX_ALWAYSWRITEIDS 0x00000200L
823#define DI_FLAGSEX_PROPCHANGE_PENDING \
826#define DI_FLAGSEX_ALLOWEXCLUDEDDRVS 0x00000800L
827#define DI_FLAGSEX_NOUIONQUERYREMOVE 0x00001000L
828#define DI_FLAGSEX_USECLASSFORCOMPAT \
831#define DI_FLAGSEX_OLDINF_IN_CLASSLIST \
833#define DI_FLAGSEX_NO_DRVREG_MODIFY \
836#define DI_FLAGSEX_IN_SYSTEM_SETUP \
838#define DI_FLAGSEX_INET_DRIVER 0x00020000L
839#define DI_FLAGSEX_APPENDDRIVERLIST \
842#define DI_FLAGSEX_PREINSTALLBACKUP \
844#define DI_FLAGSEX_BACKUPONREPLACE \
846#define DI_FLAGSEX_DRIVERLIST_FROM_URL \
850#define DI_FLAGSEX_RESERVED1 0x00400000L
851#define DI_FLAGSEX_EXCLUDE_OLD_INET_DRIVERS \
854#define DI_FLAGSEX_POWERPAGE_ADDED \
871 DI_FUNCTION InstallFunction;
884#define ENABLECLASS_QUERY 0
885#define ENABLECLASS_SUCCESS 1
886#define ENABLECLASS_FAILURE 2
900#define DICS_ENABLE 0x00000001
901#define DICS_DISABLE 0x00000002
902#define DICS_PROPCHANGE 0x00000003
903#define DICS_START 0x00000004
904#define DICS_STOP 0x00000005
908#define DICS_FLAG_GLOBAL 0x00000001
909#define DICS_FLAG_CONFIGSPECIFIC \
911#define DICS_FLAG_CONFIGGENERAL \
935#define DI_REMOVEDEVICE_GLOBAL 0x00000001
936#define DI_REMOVEDEVICE_CONFIGSPECIFIC 0x00000002
948#define DI_UNREMOVEDEVICE_CONFIGSPECIFIC 0x00000002
956 CHAR Title[MAX_TITLE_LEN];
957 CHAR Instructions[MAX_INSTRUCTION_LEN];
958 CHAR ListLabel[MAX_LABEL_LEN];
959 CHAR SubTitle[MAX_SUBTITLE_LEN];
966 WCHAR Title[MAX_TITLE_LEN];
967 WCHAR Instructions[MAX_INSTRUCTION_LEN];
968 WCHAR ListLabel[MAX_LABEL_LEN];
969 WCHAR SubTitle[MAX_SUBTITLE_LEN];
983typedef BOOL(CALLBACK* PDETECT_PROGRESS_NOTIFY)(IN PVOID ProgressNotifyParam,
984 IN DWORD DetectComplete);
1001 PDETECT_PROGRESS_NOTIFY DetectProgressNotify;
1002 PVOID ProgressNotifyParam;
1017#define MAX_INSTALLWIZARD_DYNAPAGES 20
1023 HPROPSHEETPAGE DynamicPages[MAX_INSTALLWIZARD_DYNAPAGES];
1024 DWORD NumDynamicPages;
1025 DWORD DynamicPageFlags;
1034#define NDW_INSTALLFLAG_DIDFACTDEFS 0x00000001
1035#define NDW_INSTALLFLAG_HARDWAREALLREADYIN 0x00000002
1036#define NDW_INSTALLFLAG_NEEDRESTART DI_NEEDRESTART
1037#define NDW_INSTALLFLAG_NEEDREBOOT DI_NEEDREBOOT
1038#define NDW_INSTALLFLAG_NEEDSHUTDOWN 0x00000200
1039#define NDW_INSTALLFLAG_EXPRESSINTRO 0x00000400
1040#define NDW_INSTALLFLAG_SKIPISDEVINSTALLED 0x00000800
1041#define NDW_INSTALLFLAG_NODETECTEDDEVS 0x00001000
1042#define NDW_INSTALLFLAG_INSTALLSPECIFIC 0x00002000
1043#define NDW_INSTALLFLAG_SKIPCLASSLIST 0x00004000
1044#define NDW_INSTALLFLAG_CI_PICKED_OEM 0x00008000
1045#define NDW_INSTALLFLAG_PCMCIAMODE 0x00010000
1046#define NDW_INSTALLFLAG_PCMCIADEVICE 0x00020000
1047#define NDW_INSTALLFLAG_USERCANCEL 0x00040000
1048#define NDW_INSTALLFLAG_KNOWNCLASS 0x00080000
1055#define DYNAWIZ_FLAG_PAGESADDED 0x00000001
1062#define DYNAWIZ_FLAG_ANALYZE_HANDLECONFLICT 0x00000008
1067#define DYNAWIZ_FLAG_INSTALLDET_NEXT 0x00000002
1068#define DYNAWIZ_FLAG_INSTALLDET_PREV 0x00000004
1076#define MIN_IDD_DYNAWIZ_RESOURCE_ID 10000
1077#define MAX_IDD_DYNAWIZ_RESOURCE_ID 11000
1090#define IDD_DYNAWIZ_FIRSTPAGE 10000
1096#define IDD_DYNAWIZ_SELECT_PREVPAGE 10001
1102#define IDD_DYNAWIZ_SELECT_NEXTPAGE 10002
1109#define IDD_DYNAWIZ_ANALYZE_PREVPAGE 10003
1115#define IDD_DYNAWIZ_ANALYZE_NEXTPAGE 10004
1124#define IDD_DYNAWIZ_SELECTDEV_PAGE 10009
1131#define IDD_DYNAWIZ_ANALYZEDEV_PAGE 10010
1138#define IDD_DYNAWIZ_INSTALLDETECTEDDEVS_PAGE 10011
1145#define IDD_DYNAWIZ_SELECTCLASS_PAGE 10012
1151#define IDD_DYNAWIZ_INSTALLDETECTED_PREVPAGE 10006
1152#define IDD_DYNAWIZ_INSTALLDETECTED_NEXTPAGE 10007
1153#define IDD_DYNAWIZ_INSTALLDETECTED_NODEVS 10008
1169 HPROPSHEETPAGE DynamicPages[MAX_INSTALLWIZARD_DYNAPAGES];
1170 DWORD NumDynamicPages;
1183 CHAR ChmFile[MAX_PATH];
1184 CHAR HtmlTroubleShooter[MAX_PATH];
1190 WCHAR ChmFile[MAX_PATH];
1191 WCHAR HtmlTroubleShooter[MAX_PATH];
1208 CHAR PowerMessageWake[LINE_LEN * 2];
1214 WCHAR PowerMessageWake[LINE_LEN * 2];
1235 CHAR Description[LINE_LEN];
1236 CHAR MfgName[LINE_LEN];
1237 CHAR ProviderName[LINE_LEN];
1238 FILETIME DriverDate;
1239 DWORDLONG DriverVersion;
1247 WCHAR Description[LINE_LEN];
1248 WCHAR MfgName[LINE_LEN];
1249 WCHAR ProviderName[LINE_LEN];
1250 FILETIME DriverDate;
1251 DWORDLONG DriverVersion;
1263 CHAR Description[LINE_LEN];
1264 CHAR MfgName[LINE_LEN];
1265 CHAR ProviderName[LINE_LEN];
1273 WCHAR Description[LINE_LEN];
1274 WCHAR MfgName[LINE_LEN];
1275 WCHAR ProviderName[LINE_LEN];
1290#if USE_SP_DRVINFO_DATA_V1
1318 DWORD CompatIDsOffset;
1319 DWORD CompatIDsLength;
1321 CHAR SectionName[LINE_LEN];
1322 CHAR InfFileName[MAX_PATH];
1323 CHAR DrvDescription[LINE_LEN];
1324 CHAR HardwareID[ANYSIZE_ARRAY];
1331 DWORD CompatIDsOffset;
1332 DWORD CompatIDsLength;
1334 WCHAR SectionName[LINE_LEN];
1335 WCHAR InfFileName[MAX_PATH];
1336 WCHAR DrvDescription[LINE_LEN];
1337 WCHAR HardwareID[ANYSIZE_ARRAY];
1357 DWORD_PTR PrivateData;
1364#define DNF_DUPDESC 0x00000001
1365#define DNF_OLDDRIVER 0x00000002
1366#define DNF_EXCLUDEFROMLIST \
1369#define DNF_NODRIVER \
1372#define DNF_LEGACYINF 0x00000010
1373#define DNF_CLASS_DRIVER 0x00000020
1374#define DNF_COMPATIBLE_DRIVER \
1376#define DNF_INET_DRIVER 0x00000080
1377#define DNF_UNUSED1 0x00000100
1378#define DNF_INDEXED_DRIVER \
1380#define DNF_OLD_INET_DRIVER \
1384#define DNF_BAD_DRIVER 0x00000800
1385#define DNF_DUPPROVIDER \
1391#define DRIVER_HARDWAREID_RANK \
1398typedef DWORD(CALLBACK* PSP_DETSIG_CMPPROC)(IN HDEVINFO DeviceInfoSet,
1402 IN PVOID CompareContext OPTIONAL);
1409 BOOL PostProcessing;
1410 DWORD InstallResult;
1420 HIMAGELIST ImageList;
1435 DWORD PageRequested;
1436 HDEVINFO DeviceInfoSet;
1443#define SPPSR_SELECT_DEVICE_RESOURCES 1
1444#define SPPSR_ENUM_BASIC_DEVICE_PROPERTIES \
1446#define SPPSR_ENUM_ADV_DEVICE_PROPERTIES \
1455 CHAR FullInfPath[MAX_PATH];
1462 WCHAR FullInfPath[MAX_PATH];
1479#define ERROR_EXPECTED_SECTION_NAME \
1480 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0)
1481#define ERROR_BAD_SECTION_NAME_LINE \
1482 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 1)
1483#define ERROR_SECTION_NAME_TOO_LONG \
1484 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 2)
1485#define ERROR_GENERAL_SYNTAX (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 3)
1489#define ERROR_WRONG_INF_STYLE \
1490 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x100)
1491#define ERROR_SECTION_NOT_FOUND \
1492 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x101)
1493#define ERROR_LINE_NOT_FOUND \
1494 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x102)
1495#define ERROR_NO_BACKUP (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x103)
1499#define ERROR_NO_ASSOCIATED_CLASS \
1500 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x200)
1501#define ERROR_CLASS_MISMATCH \
1502 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x201)
1503#define ERROR_DUPLICATE_FOUND \
1504 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x202)
1505#define ERROR_NO_DRIVER_SELECTED \
1506 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x203)
1507#define ERROR_KEY_DOES_NOT_EXIST \
1508 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x204)
1509#define ERROR_INVALID_DEVINST_NAME \
1510 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x205)
1511#define ERROR_INVALID_CLASS \
1512 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x206)
1513#define ERROR_DEVINST_ALREADY_EXISTS \
1514 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x207)
1515#define ERROR_DEVINFO_NOT_REGISTERED \
1516 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x208)
1517#define ERROR_INVALID_REG_PROPERTY \
1518 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x209)
1519#define ERROR_NO_INF (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x20A)
1520#define ERROR_NO_SUCH_DEVINST \
1521 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x20B)
1522#define ERROR_CANT_LOAD_CLASS_ICON \
1523 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x20C)
1524#define ERROR_INVALID_CLASS_INSTALLER \
1525 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x20D)
1526#define ERROR_DI_DO_DEFAULT \
1527 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x20E)
1528#define ERROR_DI_NOFILECOPY \
1529 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x20F)
1530#define ERROR_INVALID_HWPROFILE \
1531 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x210)
1532#define ERROR_NO_DEVICE_SELECTED \
1533 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x211)
1534#define ERROR_DEVINFO_LIST_LOCKED \
1535 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x212)
1536#define ERROR_DEVINFO_DATA_LOCKED \
1537 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x213)
1538#define ERROR_DI_BAD_PATH \
1539 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x214)
1540#define ERROR_NO_CLASSINSTALL_PARAMS \
1541 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x215)
1542#define ERROR_FILEQUEUE_LOCKED \
1543 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x216)
1544#define ERROR_BAD_SERVICE_INSTALLSECT \
1545 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x217)
1546#define ERROR_NO_CLASS_DRIVER_LIST \
1547 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x218)
1548#define ERROR_NO_ASSOCIATED_SERVICE \
1549 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x219)
1550#define ERROR_NO_DEFAULT_DEVICE_INTERFACE \
1551 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x21A)
1552#define ERROR_DEVICE_INTERFACE_ACTIVE \
1553 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x21B)
1554#define ERROR_DEVICE_INTERFACE_REMOVED \
1555 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x21C)
1556#define ERROR_BAD_INTERFACE_INSTALLSECT \
1557 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x21D)
1558#define ERROR_NO_SUCH_INTERFACE_CLASS \
1559 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x21E)
1560#define ERROR_INVALID_REFERENCE_STRING \
1561 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x21F)
1562#define ERROR_INVALID_MACHINENAME \
1563 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x220)
1564#define ERROR_REMOTE_COMM_FAILURE \
1565 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x221)
1566#define ERROR_MACHINE_UNAVAILABLE \
1567 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x222)
1568#define ERROR_NO_CONFIGMGR_SERVICES \
1569 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x223)
1570#define ERROR_INVALID_PROPPAGE_PROVIDER \
1571 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x224)
1572#define ERROR_NO_SUCH_DEVICE_INTERFACE \
1573 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x225)
1574#define ERROR_DI_POSTPROCESSING_REQUIRED \
1575 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x226)
1576#define ERROR_INVALID_COINSTALLER \
1577 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x227)
1578#define ERROR_NO_COMPAT_DRIVERS \
1579 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x228)
1580#define ERROR_NO_DEVICE_ICON \
1581 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x229)
1582#define ERROR_INVALID_INF_LOGCONFIG \
1583 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x22A)
1584#define ERROR_DI_DONT_INSTALL \
1585 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x22B)
1586#define ERROR_INVALID_FILTER_DRIVER \
1587 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x22C)
1588#define ERROR_NON_WINDOWS_NT_DRIVER \
1589 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x22D)
1590#define ERROR_NON_WINDOWS_DRIVER \
1591 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x22E)
1592#define ERROR_NO_CATALOG_FOR_OEM_INF \
1593 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x22F)
1594#define ERROR_DEVINSTALL_QUEUE_NONNATIVE \
1595 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x230)
1596#define ERROR_NOT_DISABLEABLE \
1597 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x231)
1598#define ERROR_CANT_REMOVE_DEVINST \
1599 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x232)
1604#define ERROR_NO_DEFAULT_INTERFACE_DEVICE ERROR_NO_DEFAULT_DEVICE_INTERFACE
1605#define ERROR_INTERFACE_DEVICE_ACTIVE ERROR_DEVICE_INTERFACE_ACTIVE
1606#define ERROR_INTERFACE_DEVICE_REMOVED ERROR_DEVICE_INTERFACE_REMOVED
1607#define ERROR_NO_SUCH_INTERFACE_DEVICE ERROR_NO_SUCH_DEVICE_INTERFACE
1612#define ERROR_NOT_INSTALLED \
1613 (APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x1000)
1617SetupGetInfInformationA(IN LPCVOID InfSpec,
1618 IN DWORD SearchControl,
1620 OPTIONAL IN DWORD ReturnBufferSize,
1621 OUT PDWORD RequiredSize OPTIONAL);
1625SetupGetInfInformationW(IN LPCVOID InfSpec,
1626 IN DWORD SearchControl,
1628 OPTIONAL IN DWORD ReturnBufferSize,
1629 OUT PDWORD RequiredSize OPTIONAL);
1634#define INFINFO_INF_SPEC_IS_HINF 1
1635#define INFINFO_INF_NAME_IS_ABSOLUTE 2
1636#define INFINFO_DEFAULT_SEARCH 3
1637#define INFINFO_REVERSE_DEFAULT_SEARCH 4
1638#define INFINFO_INF_PATH_LIST_SEARCH 5
1641#define SetupGetInfInformation SetupGetInfInformationW
1643#define SetupGetInfInformation SetupGetInfInformationA
1650 OUT PSTR ReturnBuffer,
1651 OPTIONAL IN DWORD ReturnBufferSize,
1652 OUT PDWORD RequiredSize OPTIONAL);
1658 OUT PWSTR ReturnBuffer,
1659 OPTIONAL IN DWORD ReturnBufferSize,
1660 OUT PDWORD RequiredSize OPTIONAL);
1663#define SetupQueryInfFileInformation SetupQueryInfFileInformationW
1665#define SetupQueryInfFileInformation SetupQueryInfFileInformationA
1670SetupQueryInfOriginalFileInformationA(
1678SetupQueryInfOriginalFileInformationW(
1685#define SetupQueryInfOriginalFileInformation \
1686 SetupQueryInfOriginalFileInformationW
1688#define SetupQueryInfOriginalFileInformation \
1689 SetupQueryInfOriginalFileInformationA
1697 OPTIONAL OUT PSTR ReturnBuffer,
1698 OPTIONAL IN DWORD ReturnBufferSize,
1699 OUT PDWORD RequiredSize OPTIONAL);
1706 OPTIONAL OUT PWSTR ReturnBuffer,
1707 OPTIONAL IN DWORD ReturnBufferSize,
1708 OUT PDWORD RequiredSize OPTIONAL);
1711#define SetupQueryInfVersionInformation SetupQueryInfVersionInformationW
1713#define SetupQueryInfVersionInformation SetupQueryInfVersionInformationA
1718SetupGetInfFileListA(IN PCSTR DirectoryPath,
1719 OPTIONAL IN DWORD InfStyle,
1720 OUT PSTR ReturnBuffer,
1721 OPTIONAL IN DWORD ReturnBufferSize,
1722 OUT PDWORD RequiredSize OPTIONAL);
1726SetupGetInfFileListW(IN PCWSTR DirectoryPath,
1727 OPTIONAL IN DWORD InfStyle,
1728 OUT PWSTR ReturnBuffer,
1729 OPTIONAL IN DWORD ReturnBufferSize,
1730 OUT PDWORD RequiredSize OPTIONAL);
1733#define SetupGetInfFileList SetupGetInfFileListW
1735#define SetupGetInfFileList SetupGetInfFileListA
1740SetupOpenInfFileW(IN PCWSTR FileName,
1742 OPTIONAL IN DWORD InfStyle,
1743 OUT PUINT ErrorLine OPTIONAL);
1747SetupOpenInfFileA(IN PCSTR FileName,
1749 OPTIONAL IN DWORD InfStyle,
1750 OUT PUINT ErrorLine OPTIONAL);
1753#define SetupOpenInfFile SetupOpenInfFileW
1755#define SetupOpenInfFile SetupOpenInfFileA
1759HINF WINAPI SetupOpenMasterInf(VOID);
1763SetupOpenAppendInfFileW(IN PCWSTR FileName,
1764 OPTIONAL IN HINF InfHandle,
1765 OUT PUINT ErrorLine OPTIONAL);
1769SetupOpenAppendInfFileA(IN PCSTR FileName,
1770 OPTIONAL IN HINF InfHandle,
1771 OUT PUINT ErrorLine OPTIONAL);
1774#define SetupOpenAppendInfFile SetupOpenAppendInfFileW
1776#define SetupOpenAppendInfFile SetupOpenAppendInfFileA
1781SetupCloseInfFile(IN HINF InfHandle);
1785SetupFindFirstLineA(IN HINF InfHandle,
1792SetupFindFirstLineW(IN HINF InfHandle,
1798#define SetupFindFirstLine SetupFindFirstLineW
1800#define SetupFindFirstLine SetupFindFirstLineA
1820#define SetupFindNextMatchLine SetupFindNextMatchLineW
1822#define SetupFindNextMatchLine SetupFindNextMatchLineA
1827SetupGetLineByIndexA(IN HINF InfHandle,
1834SetupGetLineByIndexW(IN HINF InfHandle,
1840#define SetupGetLineByIndex SetupGetLineByIndexW
1842#define SetupGetLineByIndex SetupGetLineByIndexA
1847SetupGetLineCountA(IN HINF InfHandle, IN PCSTR Section);
1851SetupGetLineCountW(IN HINF InfHandle, IN PCWSTR Section);
1854#define SetupGetLineCount SetupGetLineCountW
1856#define SetupGetLineCount SetupGetLineCountA
1862 OPTIONAL IN HINF InfHandle,
1863 OPTIONAL IN PCSTR Section,
1864 OPTIONAL IN PCSTR Key,
1865 OPTIONAL OUT PSTR ReturnBuffer,
1866 OPTIONAL IN DWORD ReturnBufferSize,
1867 OUT PDWORD RequiredSize OPTIONAL);
1872 OPTIONAL IN HINF InfHandle,
1873 OPTIONAL IN PCWSTR Section,
1874 OPTIONAL IN PCWSTR Key,
1875 OPTIONAL OUT PWSTR ReturnBuffer,
1876 OPTIONAL IN DWORD ReturnBufferSize,
1877 OUT PDWORD RequiredSize OPTIONAL);
1880#define SetupGetLineText SetupGetLineTextW
1882#define SetupGetLineText SetupGetLineTextA
1893 IN DWORD FieldIndex,
1894 OUT PSTR ReturnBuffer,
1895 OPTIONAL IN DWORD ReturnBufferSize,
1896 OUT PDWORD RequiredSize OPTIONAL);
1901 IN DWORD FieldIndex,
1902 OUT PWSTR ReturnBuffer,
1903 OPTIONAL IN DWORD ReturnBufferSize,
1904 OUT PDWORD RequiredSize OPTIONAL);
1907#define SetupGetStringField SetupGetStringFieldW
1909#define SetupGetStringField SetupGetStringFieldA
1915 IN DWORD FieldIndex,
1916 OUT PINT IntegerValue);
1921 IN DWORD FieldIndex,
1922 OUT PSTR ReturnBuffer,
1923 OPTIONAL IN DWORD ReturnBufferSize,
1924 OUT LPDWORD RequiredSize OPTIONAL);
1929 IN DWORD FieldIndex,
1930 OUT PWSTR ReturnBuffer,
1931 OPTIONAL IN DWORD ReturnBufferSize,
1932 OUT LPDWORD RequiredSize OPTIONAL);
1935#define SetupGetMultiSzField SetupGetMultiSzFieldW
1937#define SetupGetMultiSzField SetupGetMultiSzFieldA
1943 IN DWORD FieldIndex,
1944 OUT PBYTE ReturnBuffer,
1945 OPTIONAL IN DWORD ReturnBufferSize,
1946 OUT LPDWORD RequiredSize OPTIONAL);
1951SetupGetFileCompressionInfoA(IN PCSTR SourceFileName,
1952 OUT PSTR* ActualSourceFileName,
1953 OUT PDWORD SourceFileSize,
1954 OUT PDWORD TargetFileSize,
1955 OUT PUINT CompressionType);
1960SetupGetFileCompressionInfoW(IN PCWSTR SourceFileName,
1961 OUT PWSTR* ActualSourceFileName,
1962 OUT PDWORD SourceFileSize,
1963 OUT PDWORD TargetFileSize,
1964 OUT PUINT CompressionType);
1967#define SetupGetFileCompressionInfo SetupGetFileCompressionInfoW
1969#define SetupGetFileCompressionInfo SetupGetFileCompressionInfoA
1975#define FILE_COMPRESSION_NONE 0
1976#define FILE_COMPRESSION_WINLZA 1
1977#define FILE_COMPRESSION_MSZIP 2
1978#define FILE_COMPRESSION_NTCAB 3
1983SetupDecompressOrCopyFileA(IN PCSTR SourceFileName,
1984 IN PCSTR TargetFileName,
1985 IN PUINT CompressionType OPTIONAL);
1990SetupDecompressOrCopyFileW(IN PCWSTR SourceFileName,
1991 IN PCWSTR TargetFileName,
1992 IN PUINT CompressionType OPTIONAL);
1995#define SetupDecompressOrCopyFile SetupDecompressOrCopyFileW
1997#define SetupDecompressOrCopyFile SetupDecompressOrCopyFileA
2002SetupGetSourceFileLocationA(IN HINF InfHandle,
2004 OPTIONAL IN PCSTR FileName,
2005 OPTIONAL OUT PUINT SourceId,
2006 OUT PSTR ReturnBuffer,
2007 OPTIONAL IN DWORD ReturnBufferSize,
2008 OUT PDWORD RequiredSize OPTIONAL);
2012SetupGetSourceFileLocationW(IN HINF InfHandle,
2014 OPTIONAL IN PCWSTR FileName,
2015 OPTIONAL OUT PUINT SourceId,
2016 OUT PWSTR ReturnBuffer,
2017 OPTIONAL IN DWORD ReturnBufferSize,
2018 OUT PDWORD RequiredSize OPTIONAL);
2021#define SetupGetSourceFileLocation SetupGetSourceFileLocationW
2023#define SetupGetSourceFileLocation SetupGetSourceFileLocationA
2028SetupGetSourceFileSizeA(IN HINF InfHandle,
2030 OPTIONAL IN PCSTR FileName,
2031 OPTIONAL IN PCSTR Section,
2032 OPTIONAL OUT PDWORD FileSize,
2033 IN UINT RoundingFactor OPTIONAL);
2037SetupGetSourceFileSizeW(IN HINF InfHandle,
2039 OPTIONAL IN PCWSTR FileName,
2040 OPTIONAL IN PCWSTR Section,
2041 OPTIONAL OUT PDWORD FileSize,
2042 IN UINT RoundingFactor OPTIONAL);
2045#define SetupGetSourceFileSize SetupGetSourceFileSizeW
2047#define SetupGetSourceFileSize SetupGetSourceFileSizeA
2052SetupGetTargetPathA(IN HINF InfHandle,
2054 OPTIONAL IN PCSTR Section,
2055 OPTIONAL OUT PSTR ReturnBuffer,
2056 OPTIONAL IN DWORD ReturnBufferSize,
2057 OUT PDWORD RequiredSize OPTIONAL);
2061SetupGetTargetPathW(IN HINF InfHandle,
2063 OPTIONAL IN PCWSTR Section,
2064 OPTIONAL OUT PWSTR ReturnBuffer,
2065 OPTIONAL IN DWORD ReturnBufferSize,
2066 OUT PDWORD RequiredSize OPTIONAL);
2069#define SetupGetTargetPath SetupGetTargetPathW
2071#define SetupGetTargetPath SetupGetTargetPathA
2077#define SRCLIST_TEMPORARY 0x00000001
2078#define SRCLIST_NOBROWSE 0x00000002
2079#define SRCLIST_SYSTEM 0x00000010
2080#define SRCLIST_USER 0x00000020
2081#define SRCLIST_SYSIFADMIN 0x00000040
2082#define SRCLIST_SUBDIRS 0x00000100
2083#define SRCLIST_APPEND 0x00000200
2084#define SRCLIST_NOSTRIPPLATFORM 0x00000400
2088SetupSetSourceListA(IN DWORD Flags, IN PCSTR* SourceList, IN UINT SourceCount);
2092SetupSetSourceListW(IN DWORD Flags, IN PCWSTR* SourceList, IN UINT SourceCount);
2095#define SetupSetSourceList SetupSetSourceListW
2097#define SetupSetSourceList SetupSetSourceListA
2101BOOL WINAPI SetupCancelTemporarySourceList(VOID);
2105SetupAddToSourceListA(IN DWORD Flags, IN PCSTR Source);
2109SetupAddToSourceListW(IN DWORD Flags, IN PCWSTR Source);
2112#define SetupAddToSourceList SetupAddToSourceListW
2114#define SetupAddToSourceList SetupAddToSourceListA
2119SetupRemoveFromSourceListA(IN DWORD Flags, IN PCSTR Source);
2123SetupRemoveFromSourceListW(IN DWORD Flags, IN PCWSTR Source);
2126#define SetupRemoveFromSourceList SetupRemoveFromSourceListW
2128#define SetupRemoveFromSourceList SetupRemoveFromSourceListA
2133SetupQuerySourceListA(IN DWORD Flags, OUT PCSTR** List, OUT PUINT Count);
2137SetupQuerySourceListW(IN DWORD Flags, OUT PCWSTR** List, OUT PUINT Count);
2140#define SetupQuerySourceList SetupQuerySourceListW
2142#define SetupQuerySourceList SetupQuerySourceListA
2147SetupFreeSourceListA(IN OUT PCSTR** List, IN UINT Count);
2151SetupFreeSourceListW(IN OUT PCWSTR** List, IN UINT Count);
2154#define SetupFreeSourceList SetupFreeSourceListW
2156#define SetupFreeSourceList SetupFreeSourceListA
2161SetupPromptForDiskA(IN HWND hwndParent,
2162 IN PCSTR DialogTitle,
2163 OPTIONAL IN PCSTR DiskName,
2164 OPTIONAL IN PCSTR PathToSource,
2165 OPTIONAL IN PCSTR FileSought,
2167 OPTIONAL IN DWORD DiskPromptStyle,
2168 OUT PSTR PathBuffer,
2169 IN DWORD PathBufferSize,
2170 OUT PDWORD PathRequiredSize);
2174SetupPromptForDiskW(IN HWND hwndParent,
2175 IN PCWSTR DialogTitle,
2176 OPTIONAL IN PCWSTR DiskName,
2177 OPTIONAL IN PCWSTR PathToSource,
2178 OPTIONAL IN PCWSTR FileSought,
2180 OPTIONAL IN DWORD DiskPromptStyle,
2181 OUT PWSTR PathBuffer,
2182 IN DWORD PathBufferSize,
2183 OUT PDWORD PathRequiredSize);
2186#define SetupPromptForDisk SetupPromptForDiskW
2188#define SetupPromptForDisk SetupPromptForDiskA
2193SetupCopyErrorA(IN HWND hwndParent,
2194 IN PCSTR DialogTitle,
2195 OPTIONAL IN PCSTR DiskName,
2196 OPTIONAL IN PCSTR PathToSource,
2197 IN PCSTR SourceFile,
2198 IN PCSTR TargetPathFile,
2199 OPTIONAL IN UINT Win32ErrorCode,
2201 OUT PSTR PathBuffer,
2202 OPTIONAL IN DWORD PathBufferSize,
2203 OUT PDWORD PathRequiredSize OPTIONAL);
2207SetupCopyErrorW(IN HWND hwndParent,
2208 IN PCWSTR DialogTitle,
2209 OPTIONAL IN PCWSTR DiskName,
2210 OPTIONAL IN PCWSTR PathToSource,
2211 IN PCWSTR SourceFile,
2212 IN PCWSTR TargetPathFile,
2213 OPTIONAL IN UINT Win32ErrorCode,
2215 OUT PWSTR PathBuffer,
2216 OPTIONAL IN DWORD PathBufferSize,
2217 OUT PDWORD PathRequiredSize OPTIONAL);
2220#define SetupCopyError SetupCopyErrorW
2222#define SetupCopyError SetupCopyErrorA
2227SetupRenameErrorA(IN HWND hwndParent,
2228 IN PCSTR DialogTitle,
2229 OPTIONAL IN PCSTR SourceFile,
2230 IN PCSTR TargetFile,
2231 IN UINT Win32ErrorCode,
2236SetupRenameErrorW(IN HWND hwndParent,
2237 IN PCWSTR DialogTitle,
2238 OPTIONAL IN PCWSTR SourceFile,
2239 IN PCWSTR TargetFile,
2240 IN UINT Win32ErrorCode,
2244#define SetupRenameError SetupRenameErrorW
2246#define SetupRenameError SetupRenameErrorA
2251SetupDeleteErrorA(IN HWND hwndParent,
2252 IN PCSTR DialogTitle,
2253 OPTIONAL IN PCSTR
File,
2254 IN UINT Win32ErrorCode,
2259SetupDeleteErrorW(IN HWND hwndParent,
2260 IN PCWSTR DialogTitle,
2261 OPTIONAL IN PCWSTR
File,
2262 IN UINT Win32ErrorCode,
2266#define SetupDeleteError SetupDeleteErrorW
2268#define SetupDeleteError SetupDeleteErrorA
2273SetupBackupErrorA(IN HWND hwndParent,
2274 IN PCSTR DialogTitle,
2275 OPTIONAL IN PCSTR BackupFile,
2276 IN PCSTR TargetFile,
2277 IN UINT Win32ErrorCode,
2282SetupBackupErrorW(IN HWND hwndParent,
2283 IN PCWSTR DialogTitle,
2284 OPTIONAL IN PCWSTR BackupFile,
2285 IN PCWSTR TargetFile,
2286 IN UINT Win32ErrorCode,
2290#define SetupBackupError SetupBackupErrorW
2292#define SetupBackupError SetupBackupErrorA
2299#define IDF_NOBROWSE 0x00000001
2300#define IDF_NOSKIP 0x00000002
2301#define IDF_NODETAILS 0x00000004
2302#define IDF_NOCOMPRESSED 0x00000008
2303#define IDF_CHECKFIRST 0x00000100
2304#define IDF_NOBEEP 0x00000200
2305#define IDF_NOFOREGROUND 0x00000400
2306#define IDF_WARNIFSKIP 0x00000800
2307#define IDF_OEMDISK 0x80000000
2313#define DPROMPT_SUCCESS 0
2314#define DPROMPT_CANCEL 1
2315#define DPROMPT_SKIPFILE 2
2316#define DPROMPT_BUFFERTOOSMALL 3
2317#define DPROMPT_OUTOFMEMORY 4
2321SetupSetDirectoryIdA(IN HINF InfHandle,
2323 OPTIONAL IN PCSTR Directory OPTIONAL);
2327SetupSetDirectoryIdW(IN HINF InfHandle,
2329 OPTIONAL IN PCWSTR Directory OPTIONAL);
2332#define SetupSetDirectoryId SetupSetDirectoryIdW
2334#define SetupSetDirectoryId SetupSetDirectoryIdA
2339SetupSetDirectoryIdExA(IN HINF InfHandle,
2341 OPTIONAL IN PCSTR Directory,
2342 OPTIONAL IN DWORD Flags,
2344 IN PVOID Reserved2);
2348SetupSetDirectoryIdExW(IN HINF InfHandle,
2350 OPTIONAL IN PCWSTR Directory,
2351 OPTIONAL IN DWORD Flags,
2353 IN PVOID Reserved2);
2356#define SetupSetDirectoryIdEx SetupSetDirectoryIdExW
2358#define SetupSetDirectoryIdEx SetupSetDirectoryIdExA
2364#define SETDIRID_NOT_FULL_PATH 0x00000001
2368SetupGetSourceInfoA(IN HINF InfHandle,
2370 IN UINT InfoDesired,
2371 OUT PSTR ReturnBuffer,
2372 OPTIONAL IN DWORD ReturnBufferSize,
2373 OUT PDWORD RequiredSize OPTIONAL);
2377SetupGetSourceInfoW(IN HINF InfHandle,
2379 IN UINT InfoDesired,
2380 OUT PWSTR ReturnBuffer,
2381 OPTIONAL IN DWORD ReturnBufferSize,
2382 OUT PDWORD RequiredSize OPTIONAL);
2385#define SetupGetSourceInfo SetupGetSourceInfoW
2387#define SetupGetSourceInfo SetupGetSourceInfoA
2394#define SRCINFO_PATH 1
2395#define SRCINFO_TAGFILE 2
2396#define SRCINFO_DESCRIPTION 3
2397#define SRCINFO_FLAGS 4
2401SetupInstallFileA(IN HINF InfHandle,
2403 OPTIONAL IN PCSTR SourceFile,
2404 OPTIONAL IN PCSTR SourcePathRoot,
2405 OPTIONAL IN PCSTR DestinationName,
2406 OPTIONAL IN DWORD CopyStyle,
2407 IN PSP_FILE_CALLBACK_A CopyMsgHandler,
2408 OPTIONAL IN PVOID Context OPTIONAL);
2412SetupInstallFileW(IN HINF InfHandle,
2414 OPTIONAL IN PCWSTR SourceFile,
2415 OPTIONAL IN PCWSTR SourcePathRoot,
2416 OPTIONAL IN PCWSTR DestinationName,
2417 OPTIONAL IN DWORD CopyStyle,
2418 IN PSP_FILE_CALLBACK_W CopyMsgHandler,
2419 OPTIONAL IN PVOID Context OPTIONAL);
2422#define SetupInstallFile SetupInstallFileW
2424#define SetupInstallFile SetupInstallFileA
2429SetupInstallFileExA(IN HINF InfHandle,
2431 OPTIONAL IN PCSTR SourceFile,
2432 OPTIONAL IN PCSTR SourcePathRoot,
2433 OPTIONAL IN PCSTR DestinationName,
2434 OPTIONAL IN DWORD CopyStyle,
2435 IN PSP_FILE_CALLBACK_A CopyMsgHandler,
2436 OPTIONAL IN PVOID Context,
2437 OPTIONAL OUT PBOOL FileWasInUse);
2441SetupInstallFileExW(IN HINF InfHandle,
2443 OPTIONAL IN PCWSTR SourceFile,
2444 OPTIONAL IN PCWSTR SourcePathRoot,
2445 OPTIONAL IN PCWSTR DestinationName,
2446 OPTIONAL IN DWORD CopyStyle,
2447 IN PSP_FILE_CALLBACK_W CopyMsgHandler,
2448 OPTIONAL IN PVOID Context,
2449 OPTIONAL OUT PBOOL FileWasInUse);
2452#define SetupInstallFileEx SetupInstallFileExW
2454#define SetupInstallFileEx SetupInstallFileExA
2460#define SP_COPY_DELETESOURCE 0x0000001
2461#define SP_COPY_REPLACEONLY \
2463#define SP_COPY_NEWER \
2465#define SP_COPY_NEWER_OR_SAME SP_COPY_NEWER
2466#define SP_COPY_NOOVERWRITE 0x0000008
2467#define SP_COPY_NODECOMP 0x0000010
2468#define SP_COPY_LANGUAGEAWARE \
2470#define SP_COPY_SOURCE_ABSOLUTE 0x0000040
2471#define SP_COPY_SOURCEPATH_ABSOLUTE 0x0000080
2472#define SP_COPY_IN_USE_NEEDS_REBOOT \
2474#define SP_COPY_FORCE_IN_USE 0x0000200
2475#define SP_COPY_NOSKIP 0x0000400
2476#define SP_FLAG_CABINETCONTINUATION \
2478#define SP_COPY_FORCE_NOOVERWRITE \
2480#define SP_COPY_FORCE_NEWER 0x0002000
2481#define SP_COPY_WARNIFSKIP \
2483#define SP_COPY_NOBROWSE \
2485#define SP_COPY_NEWER_ONLY \
2487#define SP_COPY_SOURCE_SIS_MASTER \
2489#define SP_COPY_OEMINF_CATALOG_ONLY \
2491#define SP_COPY_REPLACE_BOOT_FILE \
2494#define SP_COPY_NOPRUNE 0x0100000
2499SetupOpenFileQueue(VOID);
2503SetupCloseFileQueue(IN HSPFILEQ QueueHandle);
2507SetupSetFileQueueAlternatePlatformA(
2508 IN HSPFILEQ QueueHandle,
2510 OPTIONAL IN PCSTR AlternateDefaultCatalogFile OPTIONAL);
2514SetupSetFileQueueAlternatePlatformW(
2515 IN HSPFILEQ QueueHandle,
2517 OPTIONAL IN PCWSTR AlternateDefaultCatalogFile OPTIONAL);
2520#define SetupSetFileQueueAlternatePlatform SetupSetFileQueueAlternatePlatformW
2522#define SetupSetFileQueueAlternatePlatform SetupSetFileQueueAlternatePlatformA
2527SetupSetPlatformPathOverrideA(IN PCSTR Override OPTIONAL);
2531SetupSetPlatformPathOverrideW(IN PCWSTR Override OPTIONAL);
2534#define SetupSetPlatformPathOverride SetupSetPlatformPathOverrideW
2536#define SetupSetPlatformPathOverride SetupSetPlatformPathOverrideA
2541SetupQueueCopyA(IN HSPFILEQ QueueHandle,
2542 IN PCSTR SourceRootPath,
2543 OPTIONAL IN PCSTR SourcePath,
2544 OPTIONAL IN PCSTR SourceFilename,
2545 IN PCSTR SourceDescription,
2546 OPTIONAL IN PCSTR SourceTagfile,
2547 OPTIONAL IN PCSTR TargetDirectory,
2548 IN PCSTR TargetFilename,
2549 OPTIONAL IN DWORD CopyStyle);
2553SetupQueueCopyW(IN HSPFILEQ QueueHandle,
2554 IN PCWSTR SourceRootPath,
2555 OPTIONAL IN PCWSTR SourcePath,
2556 OPTIONAL IN PCWSTR SourceFilename,
2557 IN PCWSTR SourceDescription,
2558 OPTIONAL IN PCWSTR SourceTagfile,
2559 OPTIONAL IN PCWSTR TargetDirectory,
2560 IN PCWSTR TargetFilename,
2561 OPTIONAL IN DWORD CopyStyle);
2564#define SetupQueueCopy SetupQueueCopyW
2566#define SetupQueueCopy SetupQueueCopyA
2578#define SetupQueueCopyIndirect SetupQueueCopyIndirectW
2580#define SetupQueueCopyIndirect SetupQueueCopyIndirectA
2585SetupQueueDefaultCopyA(IN HSPFILEQ QueueHandle,
2587 IN PCSTR SourceRootPath,
2588 IN PCSTR SourceFilename,
2589 IN PCSTR TargetFilename,
2590 IN DWORD CopyStyle);
2594SetupQueueDefaultCopyW(IN HSPFILEQ QueueHandle,
2596 IN PCWSTR SourceRootPath,
2597 IN PCWSTR SourceFilename,
2598 IN PCWSTR TargetFilename,
2599 IN DWORD CopyStyle);
2602#define SetupQueueDefaultCopy SetupQueueDefaultCopyW
2604#define SetupQueueDefaultCopy SetupQueueDefaultCopyA
2609SetupQueueCopySectionA(IN HSPFILEQ QueueHandle,
2610 IN PCSTR SourceRootPath,
2612 IN HINF ListInfHandle,
2613 OPTIONAL IN PCSTR Section,
2614 IN DWORD CopyStyle);
2618SetupQueueCopySectionW(IN HSPFILEQ QueueHandle,
2619 IN PCWSTR SourceRootPath,
2621 IN HINF ListInfHandle,
2622 OPTIONAL IN PCWSTR Section,
2623 IN DWORD CopyStyle);
2626#define SetupQueueCopySection SetupQueueCopySectionW
2628#define SetupQueueCopySection SetupQueueCopySectionA
2633SetupQueueDeleteA(IN HSPFILEQ QueueHandle,
2635 IN PCSTR PathPart2 OPTIONAL);
2639SetupQueueDeleteW(IN HSPFILEQ QueueHandle,
2640 IN PCWSTR PathPart1,
2641 IN PCWSTR PathPart2 OPTIONAL);
2644#define SetupQueueDelete SetupQueueDeleteW
2646#define SetupQueueDelete SetupQueueDeleteA
2651SetupQueueDeleteSectionA(IN HSPFILEQ QueueHandle,
2653 IN HINF ListInfHandle,
2654 OPTIONAL IN PCSTR Section);
2658SetupQueueDeleteSectionW(IN HSPFILEQ QueueHandle,
2660 IN HINF ListInfHandle,
2661 OPTIONAL IN PCWSTR Section);
2664#define SetupQueueDeleteSection SetupQueueDeleteSectionW
2666#define SetupQueueDeleteSection SetupQueueDeleteSectionA
2671SetupQueueRenameA(IN HSPFILEQ QueueHandle,
2672 IN PCSTR SourcePath,
2673 IN PCSTR SourceFilename,
2674 OPTIONAL IN PCSTR TargetPath,
2675 OPTIONAL IN PCSTR TargetFilename);
2679SetupQueueRenameW(IN HSPFILEQ QueueHandle,
2680 IN PCWSTR SourcePath,
2681 IN PCWSTR SourceFilename,
2682 OPTIONAL IN PCWSTR TargetPath,
2683 OPTIONAL IN PCWSTR TargetFilename);
2686#define SetupQueueRename SetupQueueRenameW
2688#define SetupQueueRename SetupQueueRenameA
2693SetupQueueRenameSectionA(IN HSPFILEQ QueueHandle,
2695 IN HINF ListInfHandle,
2696 OPTIONAL IN PCSTR Section);
2700SetupQueueRenameSectionW(IN HSPFILEQ QueueHandle,
2702 IN HINF ListInfHandle,
2703 OPTIONAL IN PCWSTR Section);
2706#define SetupQueueRenameSection SetupQueueRenameSectionW
2708#define SetupQueueRenameSection SetupQueueRenameSectionA
2713SetupCommitFileQueueA(IN HWND Owner,
2714 OPTIONAL IN HSPFILEQ QueueHandle,
2715 IN PSP_FILE_CALLBACK_A MsgHandler,
2720SetupCommitFileQueueW(IN HWND Owner,
2721 OPTIONAL IN HSPFILEQ QueueHandle,
2722 IN PSP_FILE_CALLBACK_W MsgHandler,
2726#define SetupCommitFileQueue SetupCommitFileQueueW
2728#define SetupCommitFileQueue SetupCommitFileQueueA
2733SetupScanFileQueueA(IN HSPFILEQ FileQueue,
2736 OPTIONAL IN PSP_FILE_CALLBACK_A CallbackRoutine,
2737 OPTIONAL IN PVOID CallbackContext,
2738 OPTIONAL OUT PDWORD Result);
2742SetupScanFileQueueW(IN HSPFILEQ FileQueue,
2745 OPTIONAL IN PSP_FILE_CALLBACK_W CallbackRoutine,
2746 OPTIONAL IN PVOID CallbackContext,
2747 OPTIONAL OUT PDWORD Result);
2750#define SetupScanFileQueue SetupScanFileQueueW
2752#define SetupScanFileQueue SetupScanFileQueueA
2758#define SPQ_SCAN_FILE_PRESENCE 0x00000001
2759#define SPQ_SCAN_FILE_VALIDITY 0x00000002
2760#define SPQ_SCAN_USE_CALLBACK 0x00000004
2761#define SPQ_SCAN_USE_CALLBACKEX 0x00000008
2762#define SPQ_SCAN_INFORM_USER 0x00000010
2763#define SPQ_SCAN_PRUNE_COPY_QUEUE 0x00000020
2768#define SPQ_DELAYED_COPY \
2781SetupCopyOEMInfA(IN PCSTR SourceInfFileName,
2782 IN PCSTR OEMSourceMediaLocation,
2783 OPTIONAL IN DWORD OEMSourceMediaType,
2785 OUT PSTR DestinationInfFileName,
2786 OPTIONAL IN DWORD DestinationInfFileNameSize,
2787 OUT PDWORD RequiredSize,
2788 OPTIONAL OUT PSTR* DestinationInfFileNameComponent OPTIONAL);
2792SetupCopyOEMInfW(IN PCWSTR SourceInfFileName,
2793 IN PCWSTR OEMSourceMediaLocation,
2794 OPTIONAL IN DWORD OEMSourceMediaType,
2796 OUT PWSTR DestinationInfFileName,
2797 OPTIONAL IN DWORD DestinationInfFileNameSize,
2798 OUT PDWORD RequiredSize,
2799 OPTIONAL OUT PWSTR* DestinationInfFileNameComponent OPTIONAL);
2802#define SetupCopyOEMInf SetupCopyOEMInfW
2804#define SetupCopyOEMInf SetupCopyOEMInfA
2813SetupCreateDiskSpaceListA(IN PVOID Reserved1,
2820SetupCreateDiskSpaceListW(IN PVOID Reserved1,
2825#define SetupCreateDiskSpaceList SetupCreateDiskSpaceListW
2827#define SetupCreateDiskSpaceList SetupCreateDiskSpaceListA
2833#define SPDSL_IGNORE_DISK \
2835#define SPDSL_DISALLOW_NEGATIVE_ADJUST 0x00000002
2840SetupDuplicateDiskSpaceListA(IN HDSKSPC DiskSpace,
2848SetupDuplicateDiskSpaceListW(IN HDSKSPC DiskSpace,
2854#define SetupDuplicateDiskSpaceList SetupDuplicateDiskSpaceListW
2856#define SetupDuplicateDiskSpaceList SetupDuplicateDiskSpaceListA
2861SetupDestroyDiskSpaceList(IN OUT HDSKSPC DiskSpace);
2865SetupQueryDrivesInDiskSpaceListA(IN HDSKSPC DiskSpace,
2866 OUT PSTR ReturnBuffer,
2867 OPTIONAL IN DWORD ReturnBufferSize,
2868 OUT PDWORD RequiredSize OPTIONAL);
2872SetupQueryDrivesInDiskSpaceListW(IN HDSKSPC DiskSpace,
2873 OUT PWSTR ReturnBuffer,
2874 OPTIONAL IN DWORD ReturnBufferSize,
2875 OUT PDWORD RequiredSize OPTIONAL);
2878#define SetupQueryDrivesInDiskSpaceList SetupQueryDrivesInDiskSpaceListW
2880#define SetupQueryDrivesInDiskSpaceList SetupQueryDrivesInDiskSpaceListA
2885SetupQuerySpaceRequiredOnDriveA(IN HDSKSPC DiskSpace,
2887 OUT LONGLONG* SpaceRequired,
2893SetupQuerySpaceRequiredOnDriveW(IN HDSKSPC DiskSpace,
2894 IN PCWSTR DriveSpec,
2895 OUT LONGLONG* SpaceRequired,
2900#define SetupQuerySpaceRequiredOnDrive SetupQuerySpaceRequiredOnDriveW
2902#define SetupQuerySpaceRequiredOnDrive SetupQuerySpaceRequiredOnDriveA
2907SetupAdjustDiskSpaceListA(IN HDSKSPC DiskSpace,
2908 IN LPCSTR DriveRoot,
2915SetupAdjustDiskSpaceListW(IN HDSKSPC DiskSpace,
2916 IN LPCWSTR DriveRoot,
2922#define SetupAdjustDiskSpaceList SetupAdjustDiskSpaceListW
2924#define SetupAdjustDiskSpaceList SetupAdjustDiskSpaceListA
2929SetupAddToDiskSpaceListA(IN HDSKSPC DiskSpace,
2930 IN PCSTR TargetFilespec,
2931 IN LONGLONG FileSize,
2938SetupAddToDiskSpaceListW(IN HDSKSPC DiskSpace,
2939 IN PCWSTR TargetFilespec,
2940 IN LONGLONG FileSize,
2946#define SetupAddToDiskSpaceList SetupAddToDiskSpaceListW
2948#define SetupAddToDiskSpaceList SetupAddToDiskSpaceListA
2953SetupAddSectionToDiskSpaceListA(IN HDSKSPC DiskSpace,
2955 IN HINF ListInfHandle,
2956 OPTIONAL IN PCSTR SectionName,
2963SetupAddSectionToDiskSpaceListW(IN HDSKSPC DiskSpace,
2965 IN HINF ListInfHandle,
2966 OPTIONAL IN PCWSTR SectionName,
2972#define SetupAddSectionToDiskSpaceList SetupAddSectionToDiskSpaceListW
2974#define SetupAddSectionToDiskSpaceList SetupAddSectionToDiskSpaceListA
2979SetupAddInstallSectionToDiskSpaceListA(IN HDSKSPC DiskSpace,
2981 IN HINF LayoutInfHandle,
2982 OPTIONAL IN PCSTR SectionName,
2988SetupAddInstallSectionToDiskSpaceListW(IN HDSKSPC DiskSpace,
2990 IN HINF LayoutInfHandle,
2991 OPTIONAL IN PCWSTR SectionName,
2996#define SetupAddInstallSectionToDiskSpaceList \
2997 SetupAddInstallSectionToDiskSpaceListW
2999#define SetupAddInstallSectionToDiskSpaceList \
3000 SetupAddInstallSectionToDiskSpaceListA
3005SetupRemoveFromDiskSpaceListA(IN HDSKSPC DiskSpace,
3006 IN PCSTR TargetFilespec,
3013SetupRemoveFromDiskSpaceListW(IN HDSKSPC DiskSpace,
3014 IN PCWSTR TargetFilespec,
3020#define SetupRemoveFromDiskSpaceList SetupRemoveFromDiskSpaceListW
3022#define SetupRemoveFromDiskSpaceList SetupRemoveFromDiskSpaceListA
3027SetupRemoveSectionFromDiskSpaceListA(IN HDSKSPC DiskSpace,
3029 IN HINF ListInfHandle,
3030 OPTIONAL IN PCSTR SectionName,
3037SetupRemoveSectionFromDiskSpaceListW(IN HDSKSPC DiskSpace,
3039 IN HINF ListInfHandle,
3040 OPTIONAL IN PCWSTR SectionName,
3046#define SetupRemoveSectionFromDiskSpaceList SetupRemoveSectionFromDiskSpaceListW
3048#define SetupRemoveSectionFromDiskSpaceList SetupRemoveSectionFromDiskSpaceListA
3053SetupRemoveInstallSectionFromDiskSpaceListA(IN HDSKSPC DiskSpace,
3055 IN HINF LayoutInfHandle,
3056 OPTIONAL IN PCSTR SectionName,
3062SetupRemoveInstallSectionFromDiskSpaceListW(IN HDSKSPC DiskSpace,
3064 IN HINF LayoutInfHandle,
3065 OPTIONAL IN PCWSTR SectionName,
3070#define SetupRemoveInstallSectionFromDiskSpaceList \
3071 SetupRemoveInstallSectionFromDiskSpaceListW
3073#define SetupRemoveInstallSectionFromDiskSpaceList \
3074 SetupRemoveInstallSectionFromDiskSpaceListA
3083SetupIterateCabinetA(IN PCSTR CabinetFile,
3085 IN PSP_FILE_CALLBACK_A MsgHandler,
3090SetupIterateCabinetW(IN PCWSTR CabinetFile,
3092 IN PSP_FILE_CALLBACK_W MsgHandler,
3096#define SetupIterateCabinet SetupIterateCabinetW
3098#define SetupIterateCabinet SetupIterateCabinetA
3103SetupPromptReboot(IN HSPFILEQ FileQueue,
3104 OPTIONAL IN HWND Owner,
3110#define SPFILEQ_FILE_IN_USE 0x00000001
3111#define SPFILEQ_REBOOT_RECOMMENDED 0x00000002
3112#define SPFILEQ_REBOOT_IN_PROGRESS 0x00000004
3117SetupInitDefaultQueueCallback(IN HWND OwnerWindow);
3122SetupInitDefaultQueueCallbackEx(IN HWND OwnerWindow,
3123 IN HWND AlternateProgressWindow,
3124 OPTIONAL IN UINT ProgressMessage,
3126 IN PVOID Reserved2);
3130SetupTermDefaultQueueCallback(IN PVOID Context);
3134SetupDefaultQueueCallbackA(IN PVOID Context,
3135 IN UINT Notification,
3137 IN UINT_PTR Param2);
3141SetupDefaultQueueCallbackW(IN PVOID Context,
3142 IN UINT Notification,
3144 IN UINT_PTR Param2);
3147#define SetupDefaultQueueCallback SetupDefaultQueueCallbackW
3149#define SetupDefaultQueueCallback SetupDefaultQueueCallbackA
3163#define FLG_ADDREG_BINVALUETYPE (0x00000001)
3164#define FLG_ADDREG_NOCLOBBER (0x00000002)
3165#define FLG_ADDREG_DELVAL (0x00000004)
3166#define FLG_ADDREG_APPEND \
3169#define FLG_ADDREG_KEYONLY (0x00000010)
3170#define FLG_ADDREG_OVERWRITEONLY \
3173#define FLG_ADDREG_TYPE_MASK (0xFFFF0000 | FLG_ADDREG_BINVALUETYPE)
3174#define FLG_ADDREG_TYPE_SZ (0x00000000)
3175#define FLG_ADDREG_TYPE_MULTI_SZ (0x00010000)
3176#define FLG_ADDREG_TYPE_EXPAND_SZ (0x00020000)
3177#define FLG_ADDREG_TYPE_BINARY (0x00000000 | FLG_ADDREG_BINVALUETYPE)
3178#define FLG_ADDREG_TYPE_DWORD (0x00010000 | FLG_ADDREG_BINVALUETYPE)
3179#define FLG_ADDREG_TYPE_NONE (0x00020000 | FLG_ADDREG_BINVALUETYPE)
3184#define FLG_BITREG_CLEARBITS (0x00000000)
3185#define FLG_BITREG_SETBITS (0x00000001)
3190#define FLG_REGSVR_DLLREGISTER (0x00000001)
3191#define FLG_REGSVR_DLLINSTALL (0x00000002)
3196#define FLG_PROFITEM_CURRENTUSER (0x00000001)
3197#define FLG_PROFITEM_DELETE (0x00000002)
3198#define FLG_PROFITEM_GROUP (0x00000004)
3199#define FLG_PROFITEM_CSIDL (0x00000008)
3210SetupInstallFromInfSectionA(IN HWND Owner,
3212 IN PCSTR SectionName,
3214 IN HKEY RelativeKeyRoot,
3215 OPTIONAL IN PCSTR SourceRootPath,
3216 OPTIONAL IN UINT CopyFlags,
3217 OPTIONAL IN PSP_FILE_CALLBACK_A MsgHandler,
3218 OPTIONAL IN PVOID Context,
3219 OPTIONAL IN HDEVINFO DeviceInfoSet,
3225SetupInstallFromInfSectionW(IN HWND Owner,
3227 IN PCWSTR SectionName,
3229 IN HKEY RelativeKeyRoot,
3230 OPTIONAL IN PCWSTR SourceRootPath,
3231 OPTIONAL IN UINT CopyFlags,
3232 OPTIONAL IN PSP_FILE_CALLBACK_W MsgHandler,
3233 OPTIONAL IN PVOID Context,
3234 OPTIONAL IN HDEVINFO DeviceInfoSet,
3239#define SetupInstallFromInfSection SetupInstallFromInfSectionW
3241#define SetupInstallFromInfSection SetupInstallFromInfSectionA
3247#define SPINST_LOGCONFIG 0x00000001
3248#define SPINST_INIFILES 0x00000002
3249#define SPINST_REGISTRY 0x00000004
3250#define SPINST_INI2REG 0x00000008
3251#define SPINST_FILES 0x00000010
3252#define SPINST_BITREG 0x00000020
3253#define SPINST_REGSVR 0x00000040
3254#define SPINST_UNREGSVR 0x00000080
3255#define SPINST_PROFILEITEMS 0x00000100
3256#define SPINST_ALL 0x000001ff
3257#define SPINST_SINGLESECTION 0x00010000
3258#define SPINST_LOGCONFIG_IS_FORCED 0x00020000
3259#define SPINST_LOGCONFIGS_ARE_OVERRIDES 0x00040000
3263SetupInstallFilesFromInfSectionA(IN HINF InfHandle,
3264 IN HINF LayoutInfHandle,
3265 OPTIONAL IN HSPFILEQ FileQueue,
3266 IN PCSTR SectionName,
3267 IN PCSTR SourceRootPath,
3268 OPTIONAL IN UINT CopyFlags);
3272SetupInstallFilesFromInfSectionW(IN HINF InfHandle,
3273 IN HINF LayoutInfHandle,
3274 OPTIONAL IN HSPFILEQ FileQueue,
3275 IN PCWSTR SectionName,
3276 IN PCWSTR SourceRootPath,
3277 OPTIONAL IN UINT CopyFlags);
3280#define SetupInstallFilesFromInfSection SetupInstallFilesFromInfSectionW
3282#define SetupInstallFilesFromInfSection SetupInstallFilesFromInfSectionA
3295#define SPSVCINST_TAGTOFRONT (0x00000001)
3301#define SPSVCINST_ASSOCSERVICE (0x00000002)
3307#define SPSVCINST_DELETEEVENTLOGENTRY (0x00000004)
3312#define SPSVCINST_NOCLOBBER_DISPLAYNAME (0x00000008)
3317#define SPSVCINST_NOCLOBBER_STARTTYPE (0x00000010)
3322#define SPSVCINST_NOCLOBBER_ERRORCONTROL (0x00000020)
3327#define SPSVCINST_NOCLOBBER_LOADORDERGROUP (0x00000040)
3332#define SPSVCINST_NOCLOBBER_DEPENDENCIES (0x00000080)
3337#define SPSVCINST_NOCLOBBER_DESCRIPTION (0x00000100)
3342#define SPSVCINST_STOPSERVICE (0x00000200)
3346SetupInstallServicesFromInfSectionA(IN HINF InfHandle,
3347 IN PCSTR SectionName,
3352SetupInstallServicesFromInfSectionW(IN HINF InfHandle,
3353 IN PCWSTR SectionName,
3357#define SetupInstallServicesFromInfSection SetupInstallServicesFromInfSectionW
3359#define SetupInstallServicesFromInfSection SetupInstallServicesFromInfSectionA
3364SetupInstallServicesFromInfSectionExA(IN HINF InfHandle,
3365 IN PCSTR SectionName,
3367 IN HDEVINFO DeviceInfoSet,
3370 OPTIONAL IN PVOID Reserved1,
3371 IN PVOID Reserved2);
3375SetupInstallServicesFromInfSectionExW(IN HINF InfHandle,
3376 IN PCWSTR SectionName,
3378 IN HDEVINFO DeviceInfoSet,
3381 OPTIONAL IN PVOID Reserved1,
3382 IN PVOID Reserved2);
3385#define SetupInstallServicesFromInfSectionEx \
3386 SetupInstallServicesFromInfSectionExW
3388#define SetupInstallServicesFromInfSectionEx \
3389 SetupInstallServicesFromInfSectionExA
3395typedef PVOID HSPFILELOG;
3400SetupInitializeFileLogA(IN PCSTR LogFileName, OPTIONAL IN DWORD Flags);
3405SetupInitializeFileLogW(IN PCWSTR LogFileName, OPTIONAL IN DWORD Flags);
3408#define SetupInitializeFileLog SetupInitializeFileLogW
3410#define SetupInitializeFileLog SetupInitializeFileLogA
3416#define SPFILELOG_SYSTEMLOG \
3418#define SPFILELOG_FORCENEW 0x00000002
3419#define SPFILELOG_QUERYONLY \
3424SetupTerminateFileLog(IN HSPFILELOG FileLogHandle);
3428SetupLogFileA(IN HSPFILELOG FileLogHandle,
3429 IN PCSTR LogSectionName,
3430 OPTIONAL IN PCSTR SourceFilename,
3431 IN PCSTR TargetFilename,
3433 OPTIONAL IN PCSTR DiskTagfile,
3434 OPTIONAL IN PCSTR DiskDescription,
3435 OPTIONAL IN PCSTR OtherInfo,
3436 OPTIONAL IN DWORD Flags);
3440SetupLogFileW(IN HSPFILELOG FileLogHandle,
3441 IN PCWSTR LogSectionName,
3442 OPTIONAL IN PCWSTR SourceFilename,
3443 IN PCWSTR TargetFilename,
3445 OPTIONAL IN PCWSTR DiskTagfile,
3446 OPTIONAL IN PCWSTR DiskDescription,
3447 OPTIONAL IN PCWSTR OtherInfo,
3448 OPTIONAL IN DWORD Flags);
3451#define SetupLogFile SetupLogFileW
3453#define SetupLogFile SetupLogFileA
3459#define SPFILELOG_OEMFILE 0x00000001
3463SetupRemoveFileLogEntryA(IN HSPFILELOG FileLogHandle,
3464 IN PCSTR LogSectionName,
3465 OPTIONAL IN PCSTR TargetFilename OPTIONAL);
3469SetupRemoveFileLogEntryW(IN HSPFILELOG FileLogHandle,
3470 IN PCWSTR LogSectionName,
3471 OPTIONAL IN PCWSTR TargetFilename OPTIONAL);
3474#define SetupRemoveFileLogEntry SetupRemoveFileLogEntryW
3476#define SetupRemoveFileLogEntry SetupRemoveFileLogEntryA
3484 SetupFileLogSourceFilename,
3485 SetupFileLogChecksum,
3486 SetupFileLogDiskTagfile,
3487 SetupFileLogDiskDescription,
3488 SetupFileLogOtherInfo,
3494SetupQueryFileLogA(IN HSPFILELOG FileLogHandle,
3495 IN PCSTR LogSectionName,
3496 OPTIONAL IN PCSTR TargetFilename,
3497 IN SetupFileLogInfo DesiredInfo,
3499 OPTIONAL IN DWORD ReturnBufferSize,
3500 OUT PDWORD RequiredSize OPTIONAL);
3504SetupQueryFileLogW(IN HSPFILELOG FileLogHandle,
3505 IN PCWSTR LogSectionName,
3506 OPTIONAL IN PCWSTR TargetFilename,
3507 IN SetupFileLogInfo DesiredInfo,
3509 OPTIONAL IN DWORD ReturnBufferSize,
3510 OUT PDWORD RequiredSize OPTIONAL);
3513#define SetupQueryFileLog SetupQueryFileLogW
3515#define SetupQueryFileLog SetupQueryFileLogA
3521#define LogSeverity DWORD
3522#define LogSevInformation 0x00000000
3523#define LogSevWarning 0x00000001
3524#define LogSevError 0x00000002
3525#define LogSevFatalError 0x00000003
3526#define LogSevMaximum 0x00000004
3530SetupOpenLog(BOOL Erase);
3534SetupLogErrorA(IN LPCSTR MessageString, IN LogSeverity Severity);
3538SetupLogErrorW(IN LPCWSTR MessageString, IN LogSeverity Severity);
3541#define SetupLogError SetupLogErrorW
3543#define SetupLogError SetupLogErrorA
3547VOID WINAPI SetupCloseLog(VOID);
3555SetupGetBackupInformationA(IN HSPFILEQ QueueHandle,
3560SetupGetBackupInformationW(IN HSPFILEQ QueueHandle,
3564#define SetupGetBackupInformation SetupGetBackupInformationW
3566#define SetupGetBackupInformation SetupGetBackupInformationA
3576SetupDiCreateDeviceInfoList(IN CONST GUID* ClassGuid,
3577 OPTIONAL IN HWND hwndParent OPTIONAL);
3582SetupDiCreateDeviceInfoListExA(IN CONST GUID* ClassGuid,
3583 OPTIONAL IN HWND hwndParent,
3584 OPTIONAL IN PCSTR MachineName,
3585 OPTIONAL IN PVOID Reserved);
3590SetupDiCreateDeviceInfoListExW(IN CONST GUID* ClassGuid,
3591 OPTIONAL IN HWND hwndParent,
3592 OPTIONAL IN PCWSTR MachineName,
3593 OPTIONAL IN PVOID Reserved);
3596#define SetupDiCreateDeviceInfoListEx SetupDiCreateDeviceInfoListExW
3598#define SetupDiCreateDeviceInfoListEx SetupDiCreateDeviceInfoListExA
3603SetupDiGetDeviceInfoListClass(IN HDEVINFO DeviceInfoSet, OUT LPGUID ClassGuid);
3607SetupDiGetDeviceInfoListDetailA(IN HDEVINFO DeviceInfoSet,
3609 DeviceInfoSetDetailData);
3613SetupDiGetDeviceInfoListDetailW(IN HDEVINFO DeviceInfoSet,
3615 DeviceInfoSetDetailData);
3618#define SetupDiGetDeviceInfoListDetail SetupDiGetDeviceInfoListDetailW
3620#define SetupDiGetDeviceInfoListDetail SetupDiGetDeviceInfoListDetailA
3626#define DICD_GENERATE_ID 0x00000001
3627#define DICD_INHERIT_CLASSDRVS 0x00000002
3631SetupDiCreateDeviceInfoA(IN HDEVINFO DeviceInfoSet,
3632 IN PCSTR DeviceName,
3633 IN CONST GUID* ClassGuid,
3634 IN PCSTR DeviceDescription,
3635 OPTIONAL IN HWND hwndParent,
3636 OPTIONAL IN DWORD CreationFlags,
3641SetupDiCreateDeviceInfoW(IN HDEVINFO DeviceInfoSet,
3642 IN PCWSTR DeviceName,
3643 IN CONST GUID* ClassGuid,
3644 IN PCWSTR DeviceDescription,
3645 OPTIONAL IN HWND hwndParent,
3646 OPTIONAL IN DWORD CreationFlags,
3650#define SetupDiCreateDeviceInfo SetupDiCreateDeviceInfoW
3652#define SetupDiCreateDeviceInfo SetupDiCreateDeviceInfoA
3658#define DIOD_INHERIT_CLASSDRVS 0x00000002
3659#define DIOD_CANCEL_REMOVE 0x00000004
3663SetupDiOpenDeviceInfoA(IN HDEVINFO DeviceInfoSet,
3664 IN PCSTR DeviceInstanceId,
3666 OPTIONAL IN DWORD OpenFlags,
3671SetupDiOpenDeviceInfoW(IN HDEVINFO DeviceInfoSet,
3672 IN PCWSTR DeviceInstanceId,
3674 OPTIONAL IN DWORD OpenFlags,
3678#define SetupDiOpenDeviceInfo SetupDiOpenDeviceInfoW
3680#define SetupDiOpenDeviceInfo SetupDiOpenDeviceInfoA
3685SetupDiGetDeviceInstanceIdA(IN HDEVINFO DeviceInfoSet,
3687 OUT PSTR DeviceInstanceId,
3688 IN DWORD DeviceInstanceIdSize,
3689 OUT PDWORD RequiredSize OPTIONAL);
3693SetupDiGetDeviceInstanceIdW(IN HDEVINFO DeviceInfoSet,
3695 OUT PWSTR DeviceInstanceId,
3696 IN DWORD DeviceInstanceIdSize,
3697 OUT PDWORD RequiredSize OPTIONAL);
3700#define SetupDiGetDeviceInstanceId SetupDiGetDeviceInstanceIdW
3702#define SetupDiGetDeviceInstanceId SetupDiGetDeviceInstanceIdA
3707SetupDiDeleteDeviceInfo(IN HDEVINFO DeviceInfoSet,
3712SetupDiEnumDeviceInfo(IN HDEVINFO DeviceInfoSet,
3713 IN DWORD MemberIndex,
3718SetupDiDestroyDeviceInfoList(IN HDEVINFO DeviceInfoSet);
3722SetupDiEnumDeviceInterfaces(IN HDEVINFO DeviceInfoSet,
3724 OPTIONAL IN CONST GUID* InterfaceClassGuid,
3725 IN DWORD MemberIndex,
3731#define SetupDiEnumInterfaceDevice SetupDiEnumDeviceInterfaces
3735SetupDiCreateDeviceInterfaceA(IN HDEVINFO DeviceInfoSet,
3737 IN CONST GUID* InterfaceClassGuid,
3738 IN PCSTR ReferenceString,
3739 OPTIONAL IN DWORD CreationFlags,
3745SetupDiCreateDeviceInterfaceW(IN HDEVINFO DeviceInfoSet,
3747 IN CONST GUID* InterfaceClassGuid,
3748 IN PCWSTR ReferenceString,
3749 OPTIONAL IN DWORD CreationFlags,
3754#define SetupDiCreateDeviceInterface SetupDiCreateDeviceInterfaceW
3756#define SetupDiCreateDeviceInterface SetupDiCreateDeviceInterfaceA
3762#define SetupDiCreateInterfaceDeviceW SetupDiCreateDeviceInterfaceW
3763#define SetupDiCreateInterfaceDeviceA SetupDiCreateDeviceInterfaceA
3765#define SetupDiCreateInterfaceDevice SetupDiCreateDeviceInterfaceW
3767#define SetupDiCreateInterfaceDevice SetupDiCreateDeviceInterfaceA
3773#define DIODI_NO_ADD 0x00000001
3777SetupDiOpenDeviceInterfaceA(IN HDEVINFO DeviceInfoSet,
3778 IN PCSTR DevicePath,
3785SetupDiOpenDeviceInterfaceW(IN HDEVINFO DeviceInfoSet,
3786 IN PCWSTR DevicePath,
3792#define SetupDiOpenDeviceInterface SetupDiOpenDeviceInterfaceW
3794#define SetupDiOpenDeviceInterface SetupDiOpenDeviceInterfaceA
3800#define SetupDiOpenInterfaceDeviceW SetupDiOpenDeviceInterfaceW
3801#define SetupDiOpenInterfaceDeviceA SetupDiOpenDeviceInterfaceA
3803#define SetupDiOpenInterfaceDevice SetupDiOpenDeviceInterfaceW
3805#define SetupDiOpenInterfaceDevice SetupDiOpenDeviceInterfaceA
3810SetupDiGetDeviceInterfaceAlias(IN HDEVINFO DeviceInfoSet,
3812 IN CONST GUID* AliasInterfaceClassGuid,
3814 AliasDeviceInterfaceData);
3819#define SetupDiGetInterfaceDeviceAlias SetupDiGetDeviceInterfaceAlias
3823SetupDiDeleteDeviceInterfaceData(IN HDEVINFO DeviceInfoSet,
3825 DeviceInterfaceData);
3830#define SetupDiDeleteInterfaceDeviceData SetupDiDeleteDeviceInterfaceData
3834SetupDiRemoveDeviceInterface(IN HDEVINFO DeviceInfoSet,
3836 DeviceInterfaceData);
3841#define SetupDiRemoveInterfaceDevice SetupDiRemoveDeviceInterface
3845SetupDiGetDeviceInterfaceDetailA(
3846 IN HDEVINFO DeviceInfoSet,
3849 OPTIONAL IN DWORD DeviceInterfaceDetailDataSize,
3850 OUT PDWORD RequiredSize,
3855SetupDiGetDeviceInterfaceDetailW(
3856 IN HDEVINFO DeviceInfoSet,
3859 OPTIONAL IN DWORD DeviceInterfaceDetailDataSize,
3860 OUT PDWORD RequiredSize,
3864#define SetupDiGetDeviceInterfaceDetail SetupDiGetDeviceInterfaceDetailW
3866#define SetupDiGetDeviceInterfaceDetail SetupDiGetDeviceInterfaceDetailA
3872#define SetupDiGetInterfaceDeviceDetailW SetupDiGetDeviceInterfaceDetailW
3873#define SetupDiGetInterfaceDeviceDetailA SetupDiGetDeviceInterfaceDetailA
3875#define SetupDiGetInterfaceDeviceDetail SetupDiGetDeviceInterfaceDetailW
3877#define SetupDiGetInterfaceDeviceDetail SetupDiGetDeviceInterfaceDetailA
3885SetupDiInstallDeviceInterfaces(IN HDEVINFO DeviceInfoSet,
3891#define SetupDiInstallInterfaceDevices SetupDiInstallDeviceInterfaces
3900#define SPRDI_FIND_DUPS 0x00000001
3904SetupDiRegisterDeviceInfo(IN HDEVINFO DeviceInfoSet,
3907 IN PSP_DETSIG_CMPPROC CompareProc,
3908 OPTIONAL IN PVOID CompareContext,
3917#define SPDIT_NODRIVER 0x00000000
3918#define SPDIT_CLASSDRIVER 0x00000001
3919#define SPDIT_COMPATDRIVER 0x00000002
3923SetupDiBuildDriverInfoList(IN HDEVINFO DeviceInfoSet,
3925 OPTIONAL IN DWORD DriverType);
3929SetupDiCancelDriverInfoSearch(IN HDEVINFO DeviceInfoSet);
3933SetupDiEnumDriverInfoA(IN HDEVINFO DeviceInfoSet,
3935 OPTIONAL IN DWORD DriverType,
3936 IN DWORD MemberIndex,
3941SetupDiEnumDriverInfoW(IN HDEVINFO DeviceInfoSet,
3943 OPTIONAL IN DWORD DriverType,
3944 IN DWORD MemberIndex,
3948#define SetupDiEnumDriverInfo SetupDiEnumDriverInfoW
3950#define SetupDiEnumDriverInfo SetupDiEnumDriverInfoA
3955SetupDiGetSelectedDriverA(IN HDEVINFO DeviceInfoSet,
3961SetupDiGetSelectedDriverW(IN HDEVINFO DeviceInfoSet,
3966#define SetupDiGetSelectedDriver SetupDiGetSelectedDriverW
3968#define SetupDiGetSelectedDriver SetupDiGetSelectedDriverA
3973SetupDiSetSelectedDriverA(IN HDEVINFO DeviceInfoSet,
3980SetupDiSetSelectedDriverW(IN HDEVINFO DeviceInfoSet,
3986#define SetupDiSetSelectedDriver SetupDiSetSelectedDriverW
3988#define SetupDiSetSelectedDriver SetupDiSetSelectedDriverA
3993SetupDiGetDriverInfoDetailA(IN HDEVINFO DeviceInfoSet,
3997 OPTIONAL IN DWORD DriverInfoDetailDataSize,
3998 OUT PDWORD RequiredSize OPTIONAL);
4002SetupDiGetDriverInfoDetailW(IN HDEVINFO DeviceInfoSet,
4006 OPTIONAL IN DWORD DriverInfoDetailDataSize,
4007 OUT PDWORD RequiredSize OPTIONAL);
4010#define SetupDiGetDriverInfoDetail SetupDiGetDriverInfoDetailW
4012#define SetupDiGetDriverInfoDetail SetupDiGetDriverInfoDetailA
4017SetupDiDestroyDriverInfoList(IN HDEVINFO DeviceInfoSet,
4019 OPTIONAL IN DWORD DriverType);
4025#define DIGCF_DEFAULT 0x00000001
4026#define DIGCF_PRESENT 0x00000002
4027#define DIGCF_ALLCLASSES 0x00000004
4028#define DIGCF_PROFILE 0x00000008
4029#define DIGCF_DEVICEINTERFACE 0x00000010
4034#define DIGCF_INTERFACEDEVICE DIGCF_DEVICEINTERFACE
4039SetupDiGetClassDevsA(IN CONST GUID* ClassGuid,
4040 OPTIONAL IN PCSTR Enumerator,
4041 OPTIONAL IN HWND hwndParent,
4042 OPTIONAL IN DWORD Flags);
4047SetupDiGetClassDevsW(IN CONST GUID* ClassGuid,
4048 OPTIONAL IN PCWSTR Enumerator,
4049 OPTIONAL IN HWND hwndParent,
4050 OPTIONAL IN DWORD Flags);
4053#define SetupDiGetClassDevs SetupDiGetClassDevsW
4055#define SetupDiGetClassDevs SetupDiGetClassDevsA
4061SetupDiGetClassDevsExA(IN CONST GUID* ClassGuid,
4062 OPTIONAL IN PCSTR Enumerator,
4063 OPTIONAL IN HWND hwndParent,
4064 OPTIONAL IN DWORD Flags,
4065 IN HDEVINFO DeviceInfoSet,
4066 OPTIONAL IN PCSTR MachineName,
4067 OPTIONAL IN PVOID Reserved);
4072SetupDiGetClassDevsExW(IN CONST GUID* ClassGuid,
4073 OPTIONAL IN PCWSTR Enumerator,
4074 OPTIONAL IN HWND hwndParent,
4075 OPTIONAL IN DWORD Flags,
4076 IN HDEVINFO DeviceInfoSet,
4077 OPTIONAL IN PCWSTR MachineName,
4078 OPTIONAL IN PVOID Reserved);
4081#define SetupDiGetClassDevsEx SetupDiGetClassDevsExW
4083#define SetupDiGetClassDevsEx SetupDiGetClassDevsExA
4088SetupDiGetINFClassA(IN PCSTR InfName,
4089 OUT LPGUID ClassGuid,
4091 IN DWORD ClassNameSize,
4092 OUT PDWORD RequiredSize OPTIONAL);
4096SetupDiGetINFClassW(IN PCWSTR InfName,
4097 OUT LPGUID ClassGuid,
4098 OUT PWSTR ClassName,
4099 IN DWORD ClassNameSize,
4100 OUT PDWORD RequiredSize OPTIONAL);
4103#define SetupDiGetINFClass SetupDiGetINFClassW
4105#define SetupDiGetINFClass SetupDiGetINFClassA
4112#define DIBCI_NOINSTALLCLASS 0x00000001
4113#define DIBCI_NODISPLAYCLASS 0x00000002
4117SetupDiBuildClassInfoList(IN DWORD Flags,
4118 OUT LPGUID ClassGuidList,
4119 IN DWORD ClassGuidListSize,
4120 OUT PDWORD RequiredSize);
4124SetupDiBuildClassInfoListExA(IN DWORD Flags,
4125 OUT LPGUID ClassGuidList,
4126 IN DWORD ClassGuidListSize,
4127 OUT PDWORD RequiredSize,
4128 IN PCSTR MachineName,
4129 OPTIONAL IN PVOID Reserved);
4133SetupDiBuildClassInfoListExW(IN DWORD Flags,
4134 OUT LPGUID ClassGuidList,
4135 IN DWORD ClassGuidListSize,
4136 OUT PDWORD RequiredSize,
4137 IN PCWSTR MachineName,
4138 OPTIONAL IN PVOID Reserved);
4141#define SetupDiBuildClassInfoListEx SetupDiBuildClassInfoListExW
4143#define SetupDiBuildClassInfoListEx SetupDiBuildClassInfoListExA
4148SetupDiGetClassDescriptionA(IN CONST GUID* ClassGuid,
4149 OUT PSTR ClassDescription,
4150 IN DWORD ClassDescriptionSize,
4151 OUT PDWORD RequiredSize OPTIONAL);
4155SetupDiGetClassDescriptionW(IN CONST GUID* ClassGuid,
4156 OUT PWSTR ClassDescription,
4157 IN DWORD ClassDescriptionSize,
4158 OUT PDWORD RequiredSize OPTIONAL);
4161#define SetupDiGetClassDescription SetupDiGetClassDescriptionW
4163#define SetupDiGetClassDescription SetupDiGetClassDescriptionA
4168SetupDiGetClassDescriptionExA(IN CONST GUID* ClassGuid,
4169 OUT PSTR ClassDescription,
4170 IN DWORD ClassDescriptionSize,
4171 OUT PDWORD RequiredSize,
4172 OPTIONAL IN PCSTR MachineName,
4173 OPTIONAL IN PVOID Reserved);
4177SetupDiGetClassDescriptionExW(IN CONST GUID* ClassGuid,
4178 OUT PWSTR ClassDescription,
4179 IN DWORD ClassDescriptionSize,
4180 OUT PDWORD RequiredSize,
4181 OPTIONAL IN PCWSTR MachineName,
4182 OPTIONAL IN PVOID Reserved);
4185#define SetupDiGetClassDescriptionEx SetupDiGetClassDescriptionExW
4187#define SetupDiGetClassDescriptionEx SetupDiGetClassDescriptionExA
4192SetupDiCallClassInstaller(IN DI_FUNCTION InstallFunction,
4193 IN HDEVINFO DeviceInfoSet,
4201SetupDiSelectDevice(IN HDEVINFO DeviceInfoSet,
4209SetupDiSelectBestCompatDrv(IN HDEVINFO DeviceInfoSet,
4217SetupDiInstallDevice(IN HDEVINFO DeviceInfoSet,
4225SetupDiInstallDriverFiles(IN HDEVINFO DeviceInfoSet,
4233SetupDiRegisterCoDeviceInstallers(IN HDEVINFO DeviceInfoSet,
4241SetupDiRemoveDevice(IN HDEVINFO DeviceInfoSet,
4249SetupDiUnremoveDevice(IN HDEVINFO DeviceInfoSet,
4257SetupDiMoveDuplicateDevice(IN HDEVINFO DeviceInfoSet,
4265SetupDiChangeState(IN HDEVINFO DeviceInfoSet,
4270SetupDiInstallClassA(IN HWND hwndParent,
4271 OPTIONAL IN PCSTR InfFileName,
4273 IN HSPFILEQ FileQueue OPTIONAL);
4277SetupDiInstallClassW(IN HWND hwndParent,
4278 OPTIONAL IN PCWSTR InfFileName,
4280 IN HSPFILEQ FileQueue OPTIONAL);
4283#define SetupDiInstallClass SetupDiInstallClassW
4285#define SetupDiInstallClass SetupDiInstallClassA
4290SetupDiInstallClassExA(IN HWND hwndParent,
4291 OPTIONAL IN PCSTR InfFileName,
4292 OPTIONAL IN DWORD Flags,
4293 IN HSPFILEQ FileQueue,
4294 OPTIONAL IN CONST GUID* InterfaceClassGuid,
4295 OPTIONAL IN PVOID Reserved1,
4296 IN PVOID Reserved2);
4300SetupDiInstallClassExW(IN HWND hwndParent,
4301 OPTIONAL IN PCWSTR InfFileName,
4302 OPTIONAL IN DWORD Flags,
4303 IN HSPFILEQ FileQueue,
4304 OPTIONAL IN CONST GUID* InterfaceClassGuid,
4305 OPTIONAL IN PVOID Reserved1,
4306 IN PVOID Reserved2);
4309#define SetupDiInstallClassEx SetupDiInstallClassExW
4311#define SetupDiInstallClassEx SetupDiInstallClassExA
4316SetupDiOpenClassRegKey(IN CONST GUID* ClassGuid, OPTIONAL IN REGSAM samDesired);
4321#define DIOCR_INSTALLER 0x00000001
4322#define DIOCR_INTERFACE 0x00000002
4326SetupDiOpenClassRegKeyExA(IN CONST GUID* ClassGuid,
4327 OPTIONAL IN REGSAM samDesired,
4329 IN PCSTR MachineName,
4330 OPTIONAL IN PVOID Reserved);
4334SetupDiOpenClassRegKeyExW(IN CONST GUID* ClassGuid,
4335 OPTIONAL IN REGSAM samDesired,
4337 IN PCWSTR MachineName,
4338 OPTIONAL IN PVOID Reserved);
4341#define SetupDiOpenClassRegKeyEx SetupDiOpenClassRegKeyExW
4343#define SetupDiOpenClassRegKeyEx SetupDiOpenClassRegKeyExA
4348SetupDiCreateDeviceInterfaceRegKeyA(IN HDEVINFO DeviceInfoSet,
4350 DeviceInterfaceData,
4352 IN REGSAM samDesired,
4354 OPTIONAL IN PCSTR InfSectionName OPTIONAL);
4358SetupDiCreateDeviceInterfaceRegKeyW(IN HDEVINFO DeviceInfoSet,
4360 DeviceInterfaceData,
4362 IN REGSAM samDesired,
4364 OPTIONAL IN PCWSTR InfSectionName OPTIONAL);
4367#define SetupDiCreateDeviceInterfaceRegKey SetupDiCreateDeviceInterfaceRegKeyW
4369#define SetupDiCreateDeviceInterfaceRegKey SetupDiCreateDeviceInterfaceRegKeyA
4375#define SetupDiCreateInterfaceDeviceRegKeyW SetupDiCreateDeviceInterfaceRegKeyW
4376#define SetupDiCreateInterfaceDeviceRegKeyA SetupDiCreateDeviceInterfaceRegKeyA
4378#define SetupDiCreateInterfaceDeviceRegKey SetupDiCreateDeviceInterfaceRegKeyW
4380#define SetupDiCreateInterfaceDeviceRegKey SetupDiCreateDeviceInterfaceRegKeyA
4385SetupDiOpenDeviceInterfaceRegKey(IN HDEVINFO DeviceInfoSet,
4387 DeviceInterfaceData,
4389 IN REGSAM samDesired);
4394#define SetupDiOpenInterfaceDeviceRegKey SetupDiOpenDeviceInterfaceRegKey
4398SetupDiDeleteDeviceInterfaceRegKey(IN HDEVINFO DeviceInfoSet,
4400 DeviceInterfaceData,
4406#define SetupDiDeleteInterfaceDeviceRegKey SetupDiDeleteDeviceInterfaceRegKey
4412#define DIREG_DEV 0x00000001
4413#define DIREG_DRV 0x00000002
4414#define DIREG_BOTH 0x00000004
4418SetupDiCreateDevRegKeyA(IN HDEVINFO DeviceInfoSet,
4424 OPTIONAL IN PCSTR InfSectionName OPTIONAL);
4428SetupDiCreateDevRegKeyW(IN HDEVINFO DeviceInfoSet,
4434 OPTIONAL IN PCWSTR InfSectionName OPTIONAL);
4437#define SetupDiCreateDevRegKey SetupDiCreateDevRegKeyW
4439#define SetupDiCreateDevRegKey SetupDiCreateDevRegKeyA
4444SetupDiOpenDevRegKey(IN HDEVINFO DeviceInfoSet,
4449 IN REGSAM samDesired);
4453SetupDiDeleteDevRegKey(IN HDEVINFO DeviceInfoSet,
4461SetupDiGetHwProfileList(OUT PDWORD HwProfileList,
4462 IN DWORD HwProfileListSize,
4463 OUT PDWORD RequiredSize,
4464 OUT PDWORD CurrentlyActiveIndex OPTIONAL);
4468SetupDiGetHwProfileListExA(OUT PDWORD HwProfileList,
4469 IN DWORD HwProfileListSize,
4470 OUT PDWORD RequiredSize,
4471 OUT PDWORD CurrentlyActiveIndex,
4472 OPTIONAL IN PCSTR MachineName,
4473 OPTIONAL IN PVOID Reserved);
4477SetupDiGetHwProfileListExW(OUT PDWORD HwProfileList,
4478 IN DWORD HwProfileListSize,
4479 OUT PDWORD RequiredSize,
4480 OUT PDWORD CurrentlyActiveIndex,
4481 OPTIONAL IN PCWSTR MachineName,
4482 OPTIONAL IN PVOID Reserved);
4485#define SetupDiGetHwProfileListEx SetupDiGetHwProfileListExW
4487#define SetupDiGetHwProfileListEx SetupDiGetHwProfileListExA
4498#define SPDRP_DEVICEDESC (0x00000000)
4499#define SPDRP_HARDWAREID (0x00000001)
4500#define SPDRP_COMPATIBLEIDS (0x00000002)
4501#define SPDRP_UNUSED0 (0x00000003)
4502#define SPDRP_SERVICE (0x00000004)
4503#define SPDRP_UNUSED1 (0x00000005)
4504#define SPDRP_UNUSED2 (0x00000006)
4505#define SPDRP_CLASS (0x00000007)
4506#define SPDRP_CLASSGUID (0x00000008)
4507#define SPDRP_DRIVER (0x00000009)
4508#define SPDRP_CONFIGFLAGS (0x0000000A)
4509#define SPDRP_MFG (0x0000000B)
4510#define SPDRP_FRIENDLYNAME (0x0000000C)
4511#define SPDRP_LOCATION_INFORMATION (0x0000000D)
4512#define SPDRP_PHYSICAL_DEVICE_OBJECT_NAME \
4514#define SPDRP_CAPABILITIES (0x0000000F)
4515#define SPDRP_UI_NUMBER (0x00000010)
4516#define SPDRP_UPPERFILTERS (0x00000011)
4517#define SPDRP_LOWERFILTERS (0x00000012)
4518#define SPDRP_BUSTYPEGUID (0x00000013)
4519#define SPDRP_LEGACYBUSTYPE (0x00000014)
4520#define SPDRP_BUSNUMBER (0x00000015)
4521#define SPDRP_ENUMERATOR_NAME (0x00000016)
4522#define SPDRP_SECURITY (0x00000017)
4523#define SPDRP_SECURITY_SDS (0x00000018)
4524#define SPDRP_DEVTYPE (0x00000019)
4525#define SPDRP_EXCLUSIVE (0x0000001A)
4526#define SPDRP_CHARACTERISTICS (0x0000001B)
4527#define SPDRP_ADDRESS (0x0000001C)
4528#define SPDRP_UI_NUMBER_DESC_FORMAT (0X0000001E)
4529#define SPDRP_MAXIMUM_PROPERTY (0x0000001F)
4540#define SPCRP_SECURITY (0x00000017)
4541#define SPCRP_SECURITY_SDS (0x00000018)
4542#define SPCRP_DEVTYPE (0x00000019)
4543#define SPCRP_EXCLUSIVE (0x0000001A)
4544#define SPCRP_CHARACTERISTICS (0x0000001B)
4545#define SPCRP_MAXIMUM_PROPERTY (0x0000001C)
4549SetupDiGetDeviceRegistryPropertyA(IN HDEVINFO DeviceInfoSet,
4552 OUT PDWORD PropertyRegDataType,
4553 OPTIONAL OUT PBYTE PropertyBuffer,
4554 IN DWORD PropertyBufferSize,
4555 OUT PDWORD RequiredSize OPTIONAL);
4559SetupDiGetDeviceRegistryPropertyW(IN HDEVINFO DeviceInfoSet,
4562 OUT PDWORD PropertyRegDataType,
4563 OPTIONAL OUT PBYTE PropertyBuffer,
4564 IN DWORD PropertyBufferSize,
4565 OUT PDWORD RequiredSize OPTIONAL);
4568#define SetupDiGetDeviceRegistryProperty SetupDiGetDeviceRegistryPropertyW
4570#define SetupDiGetDeviceRegistryProperty SetupDiGetDeviceRegistryPropertyA
4575SetupDiGetClassRegistryPropertyA(IN LPGUID ClassGuid,
4577 OUT PDWORD PropertyRegDataType,
4578 OPTIONAL OUT PBYTE PropertyBuffer,
4579 IN DWORD PropertyBufferSize,
4580 OUT PDWORD RequiredSize,
4581 OPTIONAL IN PCSTR MachineName,
4582 OPTIONAL IN PVOID Reserved);
4586SetupDiGetClassRegistryPropertyW(IN LPGUID ClassGuid,
4588 OUT PDWORD PropertyRegDataType,
4589 OPTIONAL OUT PBYTE PropertyBuffer,
4590 IN DWORD PropertyBufferSize,
4591 OUT PDWORD RequiredSize,
4592 OPTIONAL IN PCWSTR MachineName,
4593 OPTIONAL IN PVOID Reserved);
4596#define SetupDiGetClassRegistryProperty SetupDiGetClassRegistryPropertyW
4598#define SetupDiGetClassRegistryProperty SetupDiGetClassRegistryPropertyA
4603SetupDiSetDeviceRegistryPropertyA(IN HDEVINFO DeviceInfoSet,
4606 IN CONST BYTE* PropertyBuffer,
4607 OPTIONAL IN DWORD PropertyBufferSize);
4611SetupDiSetDeviceRegistryPropertyW(IN HDEVINFO DeviceInfoSet,
4614 IN CONST BYTE* PropertyBuffer,
4615 OPTIONAL IN DWORD PropertyBufferSize);
4618#define SetupDiSetDeviceRegistryProperty SetupDiSetDeviceRegistryPropertyW
4620#define SetupDiSetDeviceRegistryProperty SetupDiSetDeviceRegistryPropertyA
4625SetupDiSetClassRegistryPropertyA(IN LPGUID ClassGuid,
4627 IN CONST BYTE* PropertyBuffer,
4628 OPTIONAL IN DWORD PropertyBufferSize,
4629 IN PCSTR MachineName,
4630 OPTIONAL IN PVOID Reserved);
4634SetupDiSetClassRegistryPropertyW(IN LPGUID ClassGuid,
4636 IN CONST BYTE* PropertyBuffer,
4637 OPTIONAL IN DWORD PropertyBufferSize,
4638 IN PCWSTR MachineName,
4639 OPTIONAL IN PVOID Reserved);
4642#define SetupDiSetClassRegistryProperty SetupDiSetClassRegistryPropertyW
4644#define SetupDiSetClassRegistryProperty SetupDiSetClassRegistryPropertyA
4649SetupDiGetDeviceInstallParamsA(IN HDEVINFO DeviceInfoSet,
4652 DeviceInstallParams);
4656SetupDiGetDeviceInstallParamsW(IN HDEVINFO DeviceInfoSet,
4659 DeviceInstallParams);
4662#define SetupDiGetDeviceInstallParams SetupDiGetDeviceInstallParamsW
4664#define SetupDiGetDeviceInstallParams SetupDiGetDeviceInstallParamsA
4669SetupDiGetClassInstallParamsA(IN HDEVINFO DeviceInfoSet,
4673 OPTIONAL IN DWORD ClassInstallParamsSize,
4674 OUT PDWORD RequiredSize OPTIONAL);
4678SetupDiGetClassInstallParamsW(IN HDEVINFO DeviceInfoSet,
4682 OPTIONAL IN DWORD ClassInstallParamsSize,
4683 OUT PDWORD RequiredSize OPTIONAL);
4686#define SetupDiGetClassInstallParams SetupDiGetClassInstallParamsW
4688#define SetupDiGetClassInstallParams SetupDiGetClassInstallParamsA
4693SetupDiSetDeviceInstallParamsA(IN HDEVINFO DeviceInfoSet,
4696 DeviceInstallParams);
4700SetupDiSetDeviceInstallParamsW(IN HDEVINFO DeviceInfoSet,
4703 DeviceInstallParams);
4706#define SetupDiSetDeviceInstallParams SetupDiSetDeviceInstallParamsW
4708#define SetupDiSetDeviceInstallParams SetupDiSetDeviceInstallParamsA
4713SetupDiSetClassInstallParamsA(IN HDEVINFO DeviceInfoSet,
4717 OPTIONAL IN DWORD ClassInstallParamsSize);
4721SetupDiSetClassInstallParamsW(IN HDEVINFO DeviceInfoSet,
4725 OPTIONAL IN DWORD ClassInstallParamsSize);
4728#define SetupDiSetClassInstallParams SetupDiSetClassInstallParamsW
4730#define SetupDiSetClassInstallParams SetupDiSetClassInstallParamsA
4735SetupDiGetDriverInstallParamsA(IN HDEVINFO DeviceInfoSet,
4742SetupDiGetDriverInstallParamsW(IN HDEVINFO DeviceInfoSet,
4748#define SetupDiGetDriverInstallParams SetupDiGetDriverInstallParamsW
4750#define SetupDiGetDriverInstallParams SetupDiGetDriverInstallParamsA
4755SetupDiSetDriverInstallParamsA(IN HDEVINFO DeviceInfoSet,
4762SetupDiSetDriverInstallParamsW(IN HDEVINFO DeviceInfoSet,
4768#define SetupDiSetDriverInstallParams SetupDiSetDriverInstallParamsW
4770#define SetupDiSetDriverInstallParams SetupDiSetDriverInstallParamsA
4775SetupDiLoadClassIcon(IN CONST GUID* ClassGuid,
4776 OUT HICON* LargeIcon,
4777 OPTIONAL OUT PINT MiniIconIndex OPTIONAL);
4782#define DMI_MASK 0x00000001
4783#define DMI_BKCOLOR 0x00000002
4784#define DMI_USERECT 0x00000004
4788SetupDiDrawMiniIcon(IN HDC hdc,
4790 IN INT MiniIconIndex,
4795SetupDiGetClassBitmapIndex(IN CONST GUID* ClassGuid,
4796 OPTIONAL OUT PINT MiniIconIndex);
4805 IN PCSTR MachineName,
4806 OPTIONAL IN PVOID Reserved);
4811 IN PCWSTR MachineName,
4812 OPTIONAL IN PVOID Reserved);
4815#define SetupDiGetClassImageListEx SetupDiGetClassImageListExW
4817#define SetupDiGetClassImageListEx SetupDiGetClassImageListExA
4823 IN CONST GUID* ClassGuid,
4824 OUT PINT ImageIndex);
4833#define DIGCDP_FLAG_BASIC 0x00000001
4834#define DIGCDP_FLAG_ADVANCED 0x00000002
4838SetupDiGetClassDevPropertySheetsA(IN HDEVINFO DeviceInfoSet,
4840 OPTIONAL IN LPPROPSHEETHEADERA
4841 PropertySheetHeader,
4842 IN DWORD PropertySheetHeaderPageListSize,
4843 OUT PDWORD RequiredSize,
4844 OPTIONAL IN DWORD PropertySheetType);
4848SetupDiGetClassDevPropertySheetsW(IN HDEVINFO DeviceInfoSet,
4850 OPTIONAL IN LPPROPSHEETHEADERW
4851 PropertySheetHeader,
4852 IN DWORD PropertySheetHeaderPageListSize,
4853 OUT PDWORD RequiredSize,
4854 OPTIONAL IN DWORD PropertySheetType);
4857#define SetupDiGetClassDevPropertySheets SetupDiGetClassDevPropertySheetsW
4859#define SetupDiGetClassDevPropertySheets SetupDiGetClassDevPropertySheetsA
4865#define IDI_RESOURCEFIRST 159
4866#define IDI_RESOURCE 159
4867#define IDI_RESOURCELAST 161
4868#define IDI_RESOURCEOVERLAYFIRST 161
4869#define IDI_RESOURCEOVERLAYLAST 161
4870#define IDI_CONFLICT 161
4872#define IDI_CLASSICON_OVERLAYFIRST 500
4873#define IDI_CLASSICON_OVERLAYLAST 502
4874#define IDI_PROBLEM_OVL 500
4875#define IDI_DISABLED_OVL 501
4876#define IDI_FORCED_OVL 502
4880SetupDiAskForOEMDisk(IN HDEVINFO DeviceInfoSet,
4885SetupDiSelectOEMDrv(IN HWND hwndParent,
4886 OPTIONAL IN HDEVINFO DeviceInfoSet,
4891SetupDiClassNameFromGuidA(IN CONST GUID* ClassGuid,
4893 IN DWORD ClassNameSize,
4894 OUT PDWORD RequiredSize OPTIONAL);
4898SetupDiClassNameFromGuidW(IN CONST GUID* ClassGuid,
4899 OUT PWSTR ClassName,
4900 IN DWORD ClassNameSize,
4901 OUT PDWORD RequiredSize OPTIONAL);
4904#define SetupDiClassNameFromGuid SetupDiClassNameFromGuidW
4906#define SetupDiClassNameFromGuid SetupDiClassNameFromGuidA
4911SetupDiClassNameFromGuidExA(IN CONST GUID* ClassGuid,
4913 IN DWORD ClassNameSize,
4914 OUT PDWORD RequiredSize,
4915 OPTIONAL IN PCSTR MachineName,
4916 OPTIONAL IN PVOID Reserved);
4920SetupDiClassNameFromGuidExW(IN CONST GUID* ClassGuid,
4921 OUT PWSTR ClassName,
4922 IN DWORD ClassNameSize,
4923 OUT PDWORD RequiredSize,
4924 OPTIONAL IN PCWSTR MachineName,
4925 OPTIONAL IN PVOID Reserved);
4928#define SetupDiClassNameFromGuidEx SetupDiClassNameFromGuidExW
4930#define SetupDiClassNameFromGuidEx SetupDiClassNameFromGuidExA
4935SetupDiClassGuidsFromNameA(IN PCSTR ClassName,
4936 OUT LPGUID ClassGuidList,
4937 IN DWORD ClassGuidListSize,
4938 OUT PDWORD RequiredSize);
4942SetupDiClassGuidsFromNameW(IN PCWSTR ClassName,
4943 OUT LPGUID ClassGuidList,
4944 IN DWORD ClassGuidListSize,
4945 OUT PDWORD RequiredSize);
4948#define SetupDiClassGuidsFromName SetupDiClassGuidsFromNameW
4950#define SetupDiClassGuidsFromName SetupDiClassGuidsFromNameA
4955SetupDiClassGuidsFromNameExA(IN PCSTR ClassName,
4956 OUT LPGUID ClassGuidList,
4957 IN DWORD ClassGuidListSize,
4958 OUT PDWORD RequiredSize,
4959 IN PCSTR MachineName,
4960 OPTIONAL IN PVOID Reserved);
4964SetupDiClassGuidsFromNameExW(IN PCWSTR ClassName,
4965 OUT LPGUID ClassGuidList,
4966 IN DWORD ClassGuidListSize,
4967 OUT PDWORD RequiredSize,
4968 IN PCWSTR MachineName,
4969 OPTIONAL IN PVOID Reserved);
4972#define SetupDiClassGuidsFromNameEx SetupDiClassGuidsFromNameExW
4974#define SetupDiClassGuidsFromNameEx SetupDiClassGuidsFromNameExA
4979SetupDiGetHwProfileFriendlyNameA(IN DWORD HwProfile,
4980 OUT PSTR FriendlyName,
4981 IN DWORD FriendlyNameSize,
4982 OUT PDWORD RequiredSize OPTIONAL);
4986SetupDiGetHwProfileFriendlyNameW(IN DWORD HwProfile,
4987 OUT PWSTR FriendlyName,
4988 IN DWORD FriendlyNameSize,
4989 OUT PDWORD RequiredSize OPTIONAL);
4992#define SetupDiGetHwProfileFriendlyName SetupDiGetHwProfileFriendlyNameW
4994#define SetupDiGetHwProfileFriendlyName SetupDiGetHwProfileFriendlyNameA
4999SetupDiGetHwProfileFriendlyNameExA(IN DWORD HwProfile,
5000 OUT PSTR FriendlyName,
5001 IN DWORD FriendlyNameSize,
5002 OUT PDWORD RequiredSize,
5003 OPTIONAL IN PCSTR MachineName,
5004 OPTIONAL IN PVOID Reserved);
5008SetupDiGetHwProfileFriendlyNameExW(IN DWORD HwProfile,
5009 OUT PWSTR FriendlyName,
5010 IN DWORD FriendlyNameSize,
5011 OUT PDWORD RequiredSize,
5012 OPTIONAL IN PCWSTR MachineName,
5013 OPTIONAL IN PVOID Reserved);
5016#define SetupDiGetHwProfileFriendlyNameEx SetupDiGetHwProfileFriendlyNameExW
5018#define SetupDiGetHwProfileFriendlyNameEx SetupDiGetHwProfileFriendlyNameExA
5024#define SPWPT_SELECTDEVICE 0x00000001
5029#define SPWP_USE_DEVINFO_DATA 0x00000001
5034SetupDiGetWizardPage(IN HDEVINFO DeviceInfoSet,
5042SetupDiGetSelectedDevice(IN HDEVINFO DeviceInfoSet,
5047SetupDiSetSelectedDevice(IN HDEVINFO DeviceInfoSet,
5052SetupDiGetActualSectionToInstallA(IN HINF InfHandle,
5053 IN PCSTR InfSectionName,
5054 OUT PSTR InfSectionWithExt,
5055 OPTIONAL IN DWORD InfSectionWithExtSize,
5056 OUT PDWORD RequiredSize,
5057 OPTIONAL OUT PSTR* Extension OPTIONAL);
5061SetupDiGetActualSectionToInstallW(IN HINF InfHandle,
5062 IN PCWSTR InfSectionName,
5063 OUT PWSTR InfSectionWithExt,
5064 OPTIONAL IN DWORD InfSectionWithExtSize,
5065 OUT PDWORD RequiredSize,
5066 OPTIONAL OUT PWSTR* Extension OPTIONAL);
5069#define SetupDiGetActualSectionToInstall SetupDiGetActualSectionToInstallW
5071#define SetupDiGetActualSectionToInstall SetupDiGetActualSectionToInstallA
Definition RageUtil_FileDB.h:14
Definition setupapi.h:401
Definition setupapi.h:410
Definition setupapi.h:1408
Definition setupapi.h:334
Definition setupapi.h:342
Definition setupapi.h:430
Definition setupapi.h:441
Definition setupapi.h:1453
Definition setupapi.h:1460
Definition setupapi.h:1418
Definition setupapi.h:999
Definition setupapi.h:549
Definition setupapi.h:573
Definition setupapi.h:579
Definition setupapi.h:536
Definition setupapi.h:613
Definition setupapi.h:621
Definition setupapi.h:687
Definition setupapi.h:701
Definition setupapi.h:1259
Definition setupapi.h:1269
Definition setupapi.h:1231
Definition setupapi.h:1243
Definition setupapi.h:1315
Definition setupapi.h:1328
Definition setupapi.h:1353
Definition setupapi.h:878
Definition setupapi.h:468
Definition setupapi.h:491
Definition setupapi.h:1020
Definition setupapi.h:892
Definition setupapi.h:1166
Definition setupapi.h:128
Definition setupapi.h:135
Definition setupapi.h:1206
Definition setupapi.h:1212
Definition setupapi.h:918
Definition setupapi.h:1433
Definition setupapi.h:929
Definition setupapi.h:954
Definition setupapi.h:964
Definition setupapi.h:1181
Definition setupapi.h:1188
Definition setupapi.h:942