source: Daodan/MinGW/include/setupapi.h@ 1153

Last change on this file since 1153 was 1046, checked in by alloc, 8 years ago

Daodan: Added Windows MinGW and build batch file

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