12 #define WINSETUPAPI DECLSPEC_IMPORT
18 #define MAX_INF_STRING_LENGTH 4096
19 #define MAX_TITLE_LEN 60
20 #define MAX_INSTRUCTION_LEN 256
21 #define MAX_LABEL_LEN 30
22 #define MAX_SERVICE_NAME_LEN 256
23 #define MAX_SUBTITLE_LEN 256
24 #define SP_MAX_MACHINENAME_LENGTH (MAX_PATH + 3)
26 #define COPYFLG_WARN_IF_SKIP 0x00000001
27 #define COPYFLG_NOSKIP 0x00000002
28 #define COPYFLG_NOVERSIONCHECK 0x00000004
29 #define COPYFLG_FORCE_FILE_IN_USE 0x00000008
30 #define COPYFLG_NO_OVERWRITE 0x00000010
31 #define COPYFLG_NO_VERSION_DIALOG 0x00000020
32 #define COPYFLG_OVERWRITE_OLDER_ONLY 0x00000040
33 #define COPYFLG_REPLACEONLY 0x00000400
34 #define COPYFLG_NODECOMP 0x00000800
35 #define COPYFLG_REPLACE_BOOT_FILE 0x00001000
36 #define COPYFLG_NOPRUNE 0x00002000
37 #define DELFLG_IN_USE 0x00000001
38 #define DELFLG_IN_USE1 0x00010000
39 #define DI_REMOVEDEVICE_GLOBAL 0x00000001
40 #define DI_REMOVEDEVICE_CONFIGSPECIFIC 0x00000002
41 #define DI_UNREMOVEDEVICE_CONFIGSPECIFIC 0x00000002
42 #define DI_SHOWOEM 0x00000001
43 #define DI_SHOWCOMPAT 0x00000002
44 #define DI_SHOWCLASS 0x00000004
45 #define DI_SHOWALL 0x00000007
46 #define DI_NOVCP 0x00000008
47 #define DI_DIDCOMPAT 0x00000010
48 #define DI_DIDCLASS 0x00000020
49 #define DI_AUTOASSIGNRES 0x00000040
50 #define DI_NEEDRESTART 0x00000080
51 #define DI_NEEDREBOOT 0x00000100
52 #define DI_NOBROWSE 0x00000200
53 #define DI_MULTMFGS 0x00000400
54 #define DI_DISABLED 0x00000800
55 #define DI_GENERALPAGE_ADDED 0x00001000
56 #define DI_RESOURCEPAGE_ADDED 0x00002000
57 #define DI_PROPERTIES_CHANGE 0x00004000
58 #define DI_INF_IS_SORTED 0x00008000
59 #define DI_ENUMSINGLEINF 0x00010000
60 #define DI_DONOTCALLCONFIGMG 0x00020000
61 #define DI_INSTALLDISABLED 0x00040000
62 #define DI_COMPAT_FROM_CLASS 0x00080000
63 #define DI_CLASSINSTALLPARAMS 0x00100000
64 #define DI_NODI_DEFAULTACTION 0x00200000
65 #define DI_QUIETINSTALL 0x00800000
66 #define DI_NOFILECOPY 0x01000000
67 #define DI_FORCECOPY 0x02000000
68 #define DI_DRIVERPAGE_ADDED 0x04000000
69 #define DI_USECI_SELECTSTRINGS 0x08000000
70 #define DI_OVERRIDE_INFFLAGS 0x10000000
71 #define DI_PROPS_NOCHANGEUSAGE 0x20000000
72 #define DI_NOSELECTICONS 0x40000000
73 #define DI_NOWRITE_IDS 0x80000000
74 #define DI_FLAGSEX_USEOLDINFSEARCH 0x00000001
75 #define DI_FLAGSEX_AUTOSELECTRANK0 0x00000002
76 #define DI_FLAGSEX_CI_FAILED 0x00000004
77 #define DI_FLAGSEX_DIDINFOLIST 0x00000010
78 #define DI_FLAGSEX_DIDCOMPATINFO 0x00000020
79 #define DI_FLAGSEX_FILTERCLASSES 0x00000040
80 #define DI_FLAGSEX_SETFAILEDINSTALL 0x00000080
81 #define DI_FLAGSEX_DEVICECHANGE 0x00000100
82 #define DI_FLAGSEX_ALWAYSWRITEIDS 0x00000200
83 #define DI_FLAGSEX_PROPCHANGE_PENDING 0x00000400
84 #define DI_FLAGSEX_ALLOWEXCLUDEDDRVS 0x00000800
85 #define DI_FLAGSEX_NOUIONQUERYREMOVE 0x00001000
86 #define DI_FLAGSEX_USECLASSFORCOMPAT 0x00002000
87 #define DI_FLAGSEX_OLDINF_IN_CLASSLIST 0x00004000
88 #define DI_FLAGSEX_NO_DRVREG_MODIFY 0x00008000
89 #define DI_FLAGSEX_IN_SYSTEM_SETUP 0x00010000
90 #define DI_FLAGSEX_INET_DRIVER 0x00020000
91 #define DI_FLAGSEX_APPENDDRIVERLIST 0x00040000
92 #define DI_FLAGSEX_PREINSTALLBACKUP 0x00080000
93 #define DI_FLAGSEX_BACKUPONREPLACE 0x00100000
94 #define DI_FLAGSEX_DRIVERLIST_FROM_URL 0x00200000
95 #define DI_FLAGSEX_RESERVED1 0x00400000
96 #define DI_FLAGSEX_EXCLUDE_OLD_INET_DRIVERS 0x00800000
97 #define DI_FLAGSEX_POWERPAGE_ADDED 0x01000000
98 #if (_SETUPAPI_VER >= 0x0501)
99 #define DI_FLAGSEX_FILTERSIMILARDRIVERS 0x02000000
100 #define DI_FLAGSEX_INSTALLEDDRIVER 0x04000000
101 #define DI_FLAGSEX_NO_CLASSLIST_NODE_MERGE 0x08000000
102 #define DI_FLAGSEX_ALTPLATFORM_DRVSEARCH 0x10000000
103 #define DI_FLAGSEX_RESTART_DEVICE_ONLY 0x20000000
105 #define DIBCI_NOINSTALLCLASS 0x00000001
106 #define DIBCI_NODISPLAYCLASS 0x00000002
107 #define DICD_GENERATE_ID 0x00000001
108 #define DICD_INHERIT_CLASSDRVS 0x00000002
109 #define DICS_ENABLE 1
110 #define DICS_FLAG_GLOBAL 1
111 #define DICS_DISABLE 2
112 #define DICS_FLAG_CONFIGSPECIFIC 2
113 #define DICS_PROPCHANGE 3
115 #define DICS_FLAG_CONFIGGENERAL 4
117 #define DIF_SELECTDEVICE 1
118 #define DIF_INSTALLDEVICE 2
119 #define DIF_ASSIGNRESOURCES 3
120 #define DIF_PROPERTIES 4
122 #define DIF_FIRSTTIMESETUP 6
123 #define DIF_FOUNDDEVICE 7
124 #define DIF_SELECTCLASSDRIVERS 8
125 #define DIF_VALIDATECLASSDRIVERS 9
126 #define DIF_INSTALLCLASSDRIVERS 10
127 #define DIF_CALCDISKSPACE 11
128 #define DIF_DESTROYPRIVATEDATA 12
129 #define DIF_VALIDATEDRIVER 13
130 #define DIF_MOVEDEVICE 14
131 #define DIF_DETECT 15
132 #define DIF_INSTALLWIZARD 16
133 #define DIF_DESTROYWIZARDDATA 17
134 #define DIF_PROPERTYCHANGE 18
135 #define DIF_ENABLECLASS 19
136 #define DIF_DETECTVERIFY 20
137 #define DIF_INSTALLDEVICEFILES 21
138 #define DIF_UNREMOVE 22
139 #define DIF_SELECTBESTCOMPATDRV 23
140 #define DIF_ALLOW_INSTALL 24
141 #define DIF_REGISTERDEVICE 25
142 #define DIF_NEWDEVICEWIZARD_PRESELECT 26
143 #define DIF_NEWDEVICEWIZARD_SELECT 27
144 #define DIF_NEWDEVICEWIZARD_PREANALYZE 28
145 #define DIF_NEWDEVICEWIZARD_POSTANALYZE 29
146 #define DIF_NEWDEVICEWIZARD_FINISHINSTALL 30
147 #define DIF_UNUSED1 31
148 #define DIF_INSTALLINTERFACES 32
149 #define DIF_DETECTCANCEL 33
150 #define DIF_REGISTER_COINSTALLERS 34
151 #define DIF_ADDPROPERTYPAGE_ADVANCED 35
152 #define DIF_ADDPROPERTYPAGE_BASIC 36
153 #define DIF_RESERVED1 37
154 #define DIF_TROUBLESHOOTER 38
155 #define DIF_POWERMESSAGEWAKE 39
156 #define DIF_ADDREMOTEPROPERTYPAGE_ADVANCED 40
157 #define DIF_UPDATEDRIVER_UI 41
158 #define DIF_RESERVED2 42
159 #define DIGCDP_FLAG_BASIC 0x00000001
160 #define DIGCDP_FLAG_ADVANCED 0x00000002
161 #if (_SETUPAPI_VER >= 0x0501)
162 #define DIGCDP_FLAG_REMOTE_BASIC 0x00000003
163 #define DIGCDP_FLAG_REMOTE_ADVANCED 0x00000004
165 #define DIGCF_DEFAULT 0x00000001
166 #define DIGCF_PRESENT 0x00000002
167 #define DIGCF_ALLCLASSES 0x00000004
168 #define DIGCF_PROFILE 0x00000008
169 #define DIGCF_DEVICEINTERFACE 0x00000010
170 #define DIGCF_INTERFACEDEVICE 0x00000010
171 #define DIOCR_INSTALLER 0x00000001
172 #define DIOCR_INTERFACE 0x00000002
173 #define DIODI_NO_ADD 0x00000001
174 #define DIOD_INHERIT_CLASSDRVS 0x00000002
175 #define DIOD_CANCEL_REMOVE 0x00000004
176 #define DIREG_DEV 0x00000001
177 #define DIREG_DRV 0x00000002
178 #define DIREG_BOTH 0x00000004
179 #define DIRID_ABSOLUTE -1
181 #define DIRID_SRCPATH 1
182 #define DIRID_WINDOWS 10
183 #define DIRID_SYSTEM 11
184 #define DIRID_DRIVERS 12
186 #define DIRID_HELP 18
187 #define DIRID_FONTS 20
188 #define DIRID_VIEWERS 21
189 #define DIRID_COLOR 23
190 #define DIRID_APPS 24
191 #define DIRID_SHARED 25
192 #define DIRID_BOOT 30
193 #define DIRID_SYSTEM16 50
194 #define DIRID_SPOOL 51
195 #define DIRID_SPOOLDRIVERS 52
196 #define DIRID_USERPROFILE 53
197 #define DIRID_LOADER 54
198 #define DIRID_PRINTPROCESSOR 55
199 #define DIRID_COMMON_STARTMENU 16406
200 #define DIRID_COMMON_PROGRAMS 16407
201 #define DIRID_COMMON_STARTUP 16408
202 #define DIRID_COMMON_DESKTOPDIRECTORY 16409
203 #define DIRID_COMMON_FAVORITES 16415
204 #define DIRID_COMMON_APPDATA 16419
205 #define DIRID_PROGRAM_FILES 16422
206 #define DIRID_SYSTEM_X86 16425
207 #define DIRID_PROGRAM_FILES_X86 16426
208 #define DIRID_PROGRAM_FILES_COMMON 16427
209 #define DIRID_PROGRAM_FILES_COMMONX86 16428
210 #define DIRID_COMMON_TEMPLATES 16429
211 #define DIRID_COMMON_DOCUMENTS 16430
212 #define DIRID_USER 0x8000
213 #define DIRID_ABSOLUTE_16BIT 0xffff
214 #define DIRID_IOSUBSYS DIRID_DRIVERS
215 #define DIRID_DEFAULT DIRID_SYSTEM
216 #define DMI_MASK 0x00000001
217 #define DMI_BKCOLOR 0x00000002
218 #define DMI_USERECT 0x00000004
219 #define DN_ROOT_ENUMERATED 0x00000001
220 #define DN_DRIVER_LOADED 0x00000002
221 #define DN_ENUM_LOADED 0x00000004
222 #define DN_STARTED 0x00000008
223 #define DN_MANUAL 0x00000010
224 #define DN_NEED_TO_ENUM 0x00000020
225 #define DN_NOT_FIRST_TIME 0x00000040
226 #define DN_HARDWARE_ENUM 0x00000080
227 #define DN_LIAR 0x00000100
228 #define DN_HAS_MARK 0x00000200
229 #define DN_HAS_PROBLEM 0x00000400
230 #define DN_FILTERED 0x00000800
231 #define DN_MOVED 0x00001000
232 #define DN_DISABLEABLE 0x00002000
233 #define DN_REMOVABLE 0x00004000
234 #define DN_PRIVATE_PROBLEM 0x00008000
235 #define DN_MF_PARENT 0x00010000
236 #define DN_MF_CHILD 0x00020000
237 #define DN_WILL_BE_REMOVED 0x00040000
238 #define DN_NOT_FIRST_TIMEE 0x00080000
239 #define DN_STOP_FREE_RES 0x00100000
240 #define DN_REBAL_CANDIDATE 0x00200000
241 #define DN_BAD_PARTIAL 0x00400000
242 #define DN_NT_ENUMERATOR 0x00800000
243 #define DN_NT_DRIVER 0x01000000
244 #define DN_NEEDS_LOCKING 0x02000000
245 #define DN_ARM_WAKEUP 0x04000000
246 #define DN_APM_ENUMERATOR 0x08000000
247 #define DN_APM_DRIVER 0x10000000
248 #define DN_SILENT_INSTALL 0x20000000
249 #define DN_NO_SHOW_IN_DM 0x40000000
250 #define DN_BOOT_LOG_PROB 0x80000000
251 #define DNF_DUPDESC 0x00000001
252 #define DNF_OLDDRIVER 0x00000002
253 #define DNF_EXCLUDEFROMLIST 0x00000004
254 #define DNF_NODRIVER 0x00000008
255 #define DNF_LEGACYINF 0x00000010
256 #define DNF_CLASS_DRIVER 0x00000020
257 #define DNF_COMPATIBLE_DRIVER 0x00000040
258 #define DNF_INET_DRIVER 0x00000080
259 #define DNF_UNUSED1 0x00000100
260 #define DNF_INDEXED_DRIVER 0x00000200
261 #define DNF_OLD_INET_DRIVER 0x00000400
262 #define DNF_BAD_DRIVER 0x00000800
263 #define DNF_DUPPROVIDER 0x00001000
264 #define DPROMPT_SUCCESS 0
265 #define DPROMPT_CANCEL 1
266 #define DPROMPT_SKIPFILE 2
267 #define DPROMPT_BUFFERTOOSMALL 3
268 #define DPROMPT_OUTOFMEMORY 4
269 #define DRIVER_HARDWAREID_RANK 0x00000FFF
270 #define DYNAWIZ_FLAG_PAGESADDED 0x00000001
271 #define DYNAWIZ_FLAG_INSTALLDET_NEXT 0x00000002
272 #define DYNAWIZ_FLAG_INSTALLDET_PREV 0x00000004
273 #define DYNAWIZ_FLAG_ANALYZE_HANDLECONFLICT 0x00000008
274 #define ENABLECLASS_QUERY 0
275 #define ENABLECLASS_SUCCESS 1
276 #define ENABLECLASS_FAILURE 2
277 #define ERROR_EXPECTED_SECTION_NAME (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0)
278 #define ERROR_BAD_SECTION_NAME_LINE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|1)
279 #define ERROR_SECTION_NAME_TOO_LONG (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|2)
280 #define ERROR_GENERAL_SYNTAX (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|3)
281 #define ERROR_WRONG_INF_STYLE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x100)
282 #define ERROR_NOT_INSTALLED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x1000)
283 #define ERROR_SECTION_NOT_FOUND (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x101)
284 #define ERROR_LINE_NOT_FOUND (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x102)
285 #define ERROR_NO_BACKUP (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x103)
286 #define ERROR_NO_ASSOCIATED_CLASS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x200)
287 #define ERROR_CLASS_MISMATCH (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x201)
288 #define ERROR_DUPLICATE_FOUND (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x202)
289 #define ERROR_NO_DRIVER_SELECTED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x203)
290 #define ERROR_KEY_DOES_NOT_EXIST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x204)
291 #define ERROR_INVALID_DEVINST_NAME (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x205)
292 #define ERROR_INVALID_CLASS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x206)
293 #define ERROR_DEVINST_ALREADY_EXISTS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x207)
294 #define ERROR_DEVINFO_NOT_REGISTERED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x208)
295 #define ERROR_INVALID_REG_PROPERTY (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x209)
296 #define ERROR_NO_INF (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20A)
297 #define ERROR_NO_SUCH_DEVINST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20B)
298 #define ERROR_CANT_LOAD_CLASS_ICON (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20C)
299 #define ERROR_INVALID_CLASS_INSTALLER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20D)
300 #define ERROR_DI_DO_DEFAULT (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20E)
301 #define ERROR_DI_NOFILECOPY (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20F)
302 #define ERROR_INVALID_HWPROFILE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x210)
303 #define ERROR_NO_DEVICE_SELECTED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x211)
304 #define ERROR_DEVINFO_LIST_LOCKED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x212)
305 #define ERROR_DEVINFO_DATA_LOCKED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x213)
306 #define ERROR_DI_BAD_PATH (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x214)
307 #define ERROR_NO_CLASSINSTALL_PARAMS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x215)
308 #define ERROR_FILEQUEUE_LOCKED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x216)
309 #define ERROR_BAD_SERVICE_INSTALLSECT (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x217)
310 #define ERROR_NO_CLASS_DRIVER_LIST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x218)
311 #define ERROR_NO_ASSOCIATED_SERVICE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x219)
312 #define ERROR_NO_DEFAULT_DEVICE_INTERFACE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21A)
313 #define ERROR_DEVICE_INTERFACE_ACTIVE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21B)
314 #define ERROR_DEVICE_INTERFACE_REMOVED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21C)
315 #define ERROR_BAD_INTERFACE_INSTALLSECT (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21D)
316 #define ERROR_NO_SUCH_INTERFACE_CLASS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21E)
317 #define ERROR_INVALID_REFERENCE_STRING (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21F)
318 #define ERROR_INVALID_MACHINENAME (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x220)
319 #define ERROR_REMOTE_COMM_FAILURE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x221)
320 #define ERROR_MACHINE_UNAVAILABLE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x222)
321 #define ERROR_NO_CONFIGMGR_SERVICES (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x223)
322 #define ERROR_INVALID_PROPPAGE_PROVIDER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x224)
323 #define ERROR_NO_SUCH_DEVICE_INTERFACE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x225)
324 #define ERROR_DI_POSTPROCESSING_REQUIRED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x226)
325 #define ERROR_INVALID_COINSTALLER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x227)
326 #define ERROR_NO_COMPAT_DRIVERS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x228)
327 #define ERROR_NO_DEVICE_ICON (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x229)
328 #define ERROR_INVALID_INF_LOGCONFIG (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22A)
329 #define ERROR_DI_DONT_INSTALL (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22B)
330 #define ERROR_INVALID_FILTER_DRIVER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22C)
331 #define ERROR_NON_WINDOWS_NT_DRIVER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22D)
332 #define ERROR_NON_WINDOWS_DRIVER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22E)
333 #define ERROR_NO_CATALOG_FOR_OEM_INF (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22F)
334 #define ERROR_DEVINSTALL_QUEUE_NONNATIVE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x230)
335 #define ERROR_NOT_DISABLEABLE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x231)
336 #define ERROR_CANT_REMOVE_DEVINST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x232)
337 #define ERROR_IN_WOW64 (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x235)
338 #define ERROR_INTERFACE_DEVICE_ACTIVE ERROR_DEVICE_INTERFACE_ACTIVE
339 #define ERROR_INTERFACE_DEVICE_REMOVED ERROR_DEVICE_INTERFACE_REMOVED
340 #define ERROR_NO_DEFAULT_INTERFACE_DEVICE ERROR_NO_DEFAULT_DEVICE_INTERFACE
341 #define ERROR_NO_SUCH_INTERFACE_DEVICE ERROR_NO_SUCH_DEVICE_INTERFACE
342 #define ERROR_WRONG_INF_TYPE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x24A)
344 #define FILEOP_COPY 0
345 #define FILEOP_ABORT 0
346 #define FILE_COMPRESSION_NONE 0
347 #define FILEOP_RENAME 1
348 #define FILEOP_DOIT 1
349 #define FILE_COMPRESSION_WINLZA 1
350 #define FILEOP_DELETE 2
351 #define FILEOP_SKIP 2
352 #define FILE_COMPRESSION_MSZIP 2
353 #define FILEOP_BACKUP 3
354 #define FILE_COMPRESSION_NTCAB 3
355 #define FILEOP_NEWPATH 4
356 #define FILEOP_RETRY FILEOP_DOIT
357 #define FLG_ADDREG_TYPE_SZ 0x00000000
358 #define FLG_ADDREG_BINVALUETYPE 0x00000001
359 #define FLG_ADDREG_NOCLOBBER 0x00000002
360 #define FLG_ADDREG_DELVAL 0x00000004
361 #define FLG_ADDREG_APPEND 0x00000008
362 #define FLG_ADDREG_KEYONLY 0x00000010
363 #define FLG_ADDREG_OVERWRITEONLY 0x00000020
364 #if (_SETUPAPI_VER >= 0x0501)
365 #define FLG_ADDREG_64BITKEY 0x00001000
366 #define FLG_ADDREG_KEYONLY_COMMON 0x00002000
367 #define FLG_ADDREG_32BITKEY 0x00004000
368 #define FLG_ADDREG_DELREG_BIT 0x00008000
370 #define FLG_ADDREG_TYPE_MULTI_SZ 0x00010000
371 #define FLG_ADDREG_TYPE_EXPAND_SZ 0x00020000
372 #define FLG_ADDREG_TYPE_BINARY (0x00000000|FLG_ADDREG_BINVALUETYPE)
373 #define FLG_ADDREG_TYPE_DWORD (0x00010000|FLG_ADDREG_BINVALUETYPE)
374 #define FLG_ADDREG_TYPE_NONE (0x00020000|FLG_ADDREG_BINVALUETYPE)
375 #define FLG_ADDREG_TYPE_MASK (0xFFFF0000|FLG_ADDREG_BINVALUETYPE)
376 #define FLG_DELREG_VALUE 0x00000000
377 #if (_SETUPAPI_VER >= 0x0501)
378 #define FLG_DELREG_TYPE_MASK FLG_ADDREG_TYPE_MASK
379 #define FLG_DELREG_TYPE_SZ FLG_ADDREG_TYPE_SZ
380 #define FLG_DELREG_TYPE_MULTI_SZ FLG_ADDREG_TYPE_MULTI_SZ
381 #define FLG_DELREG_TYPE_EXPAND_SZ FLG_ADDREG_TYPE_EXPAND_SZ
382 #define FLG_DELREG_TYPE_BINARY FLG_ADDREG_TYPE_BINARY
383 #define FLG_DELREG_TYPE_DWORD FLG_ADDREG_TYPE_DWORD
384 #define FLG_DELREG_TYPE_NONE FLG_ADDREG_TYPE_NONE
385 #define FLG_DELREG_64BITKEY FLG_ADDREG_64BITKEY
386 #define FLG_DELREG_KEYONLY_COMMON FLG_ADDREG_KEYONLY_COMMON
387 #define FLG_DELREG_32BITKEY FLG_ADDREG_32BITKEY
388 #define FLG_DELREG_OPERATION_MASK 0x000000FE
389 #define FLG_DELREG_MULTI_SZ_DELSTRING (0x00000002|FLG_DELREG_TYPE_MULTI_SZ|FLG_ADDREG_DELREG_BIT)
391 #define FLG_BITREG_CLEARBITS 0x00000000
392 #define FLG_BITREG_SETBITS 0x00000001
393 #define FLG_PROFITEM_CURRENTUSER 0x00000001
394 #define FLG_PROFITEM_DELETE 0x00000002
395 #define FLG_PROFITEM_GROUP 0x00000004
396 #define FLG_PROFITEM_CSIDL 0x00000008
397 #define FLG_REGSVR_DLLREGISTER 0x00000001
398 #define FLG_REGSVR_DLLINSTALL 0x00000002
399 #define MIN_IDD_DYNAWIZ_RESOURCE_ID 10000
400 #define MAX_IDD_DYNAWIZ_RESOURCE_ID 11000
401 #define IDD_DYNAWIZ_FIRSTPAGE 10000
402 #define IDD_DYNAWIZ_SELECT_PREVPAGE 10001
403 #define IDD_DYNAWIZ_SELECT_NEXTPAGE 10002
404 #define IDD_DYNAWIZ_ANALYZE_PREVPAGE 10003
405 #define IDD_DYNAWIZ_ANALYZE_NEXTPAGE 10004
406 #define IDD_DYNAWIZ_INSTALLDETECTED_PREVPAGE 10006
407 #define IDD_DYNAWIZ_INSTALLDETECTED_NEXTPAGE 10007
408 #define IDD_DYNAWIZ_INSTALLDETECTED_NODEVS 10008
409 #define IDD_DYNAWIZ_SELECTDEV_PAGE 10009
410 #define IDD_DYNAWIZ_ANALYZEDEV_PAGE 10010
411 #define IDD_DYNAWIZ_INSTALLDETECTEDDEVS_PAGE 10011
412 #define IDD_DYNAWIZ_SELECTCLASS_PAGE 10012
413 #define IDF_NOBROWSE 0x00000001
414 #define IDF_NOSKIP 0x00000002
415 #define IDF_NODETAILS 0x00000004
416 #define IDF_NOCOMPRESSED 0x00000008
417 #define IDF_CHECKFIRST 0x00000100
418 #define IDF_NOBEEP 0x00000200
419 #define IDF_NOFOREGROUND 0x00000400
420 #define IDF_WARNIFSKIP 0x00000800
421 #define IDF_OEMDISK 0x80000000
422 #define IDI_RESOURCEFIRST 159
423 #define IDI_RESOURCE 159
424 #define IDI_RESOURCELAST 161
425 #define IDI_RESOURCEOVERLAYFIRST 161
426 #define IDI_RESOURCEOVERLAYLAST 161
427 #define IDI_CONFLICT 161
428 #define IDI_PROBLEM_OVL 500
429 #define IDI_DISABLED_OVL 501
430 #define IDI_FORCED_OVL 502
431 #define IDI_CLASSICON_OVERLAYFIRST 500
432 #define IDI_CLASSICON_OVERLAYLAST 502
433 #define INF_STYLE_NONE 0x00000000
434 #define INF_STYLE_OLDNT 0x00000001
435 #define INF_STYLE_WIN4 0x00000002
436 #define INF_STYLE_CACHE_ENABLE 0x00000010
437 #define INF_STYLE_CACHE_DISABLE 0x00000020
438 #define INFINFO_INF_SPEC_IS_HINF 1
439 #define INFINFO_INF_NAME_IS_ABSOLUTE 2
440 #define INFINFO_DEFAULT_SEARCH 3
441 #define INFINFO_REVERSE_DEFAULT_SEARCH 4
442 #define INFINFO_INF_PATH_LIST_SEARCH 5
443 #define LogSevInformation 0
444 #define LogSevWarning 1
445 #define LogSevError 2
446 #define LogSevFatalError 3
447 #define LogSevMaximum 4
448 #define LogSeverity DWORD
449 #define MAX_INSTALLWIZARD_DYNAPAGES 20
450 #define NDW_INSTALLFLAG_DIDFACTDEFS 0x00000001
451 #define NDW_INSTALLFLAG_HARDWAREALLREADYIN 0x00000002
452 #define NDW_INSTALLFLAG_NEEDSHUTDOWN 0x00000200
453 #define NDW_INSTALLFLAG_EXPRESSINTRO 0x00000400
454 #define NDW_INSTALLFLAG_SKIPISDEVINSTALLED 0x00000800
455 #define NDW_INSTALLFLAG_NODETECTEDDEVS 0x00001000
456 #define NDW_INSTALLFLAG_INSTALLSPECIFIC 0x00002000
457 #define NDW_INSTALLFLAG_SKIPCLASSLIST 0x00004000
458 #define NDW_INSTALLFLAG_CI_PICKED_OEM 0x00008000
459 #define NDW_INSTALLFLAG_PCMCIAMODE 0x00010000
460 #define NDW_INSTALLFLAG_PCMCIADEVICE 0x00020000
461 #define NDW_INSTALLFLAG_USERCANCEL 0x00040000
462 #define NDW_INSTALLFLAG_KNOWNCLASS 0x00080000
463 #define NDW_INSTALLFLAG_NEEDRESTART 0x00000080
464 #define NDW_INSTALLFLAG_NEEDREBOOT 0x00000100
465 #define SETDIRID_NOT_FULL_PATH 0x00000001
466 #define SP_COPY_DELETESOURCE 0x0000001
467 #define SP_COPY_REPLACEONLY 0x0000002
468 #define SP_COPY_NEWER 0x0000004
469 #define SP_COPY_NEWER_OR_SAME 0x0000004
470 #define SP_COPY_NOOVERWRITE 0x0000008
471 #define SP_COPY_NODECOMP 0x0000010
472 #define SP_COPY_LANGUAGEAWARE 0x0000020
473 #define SP_COPY_SOURCE_ABSOLUTE 0x0000040
474 #define SP_COPY_SOURCEPATH_ABSOLUTE 0x0000080
475 #define SP_COPY_IN_USE_NEEDS_REBOOT 0x0000100
476 #define SP_COPY_FORCE_IN_USE 0x0000200
477 #define SP_COPY_NOSKIP 0x0000400
478 #define SP_COPY_FORCE_NOOVERWRITE 0x0001000
479 #define SP_COPY_FORCE_NEWER 0x0002000
480 #define SP_COPY_WARNIFSKIP 0x0004000
481 #define SP_COPY_NOBROWSE 0x0008000
482 #define SP_COPY_NEWER_ONLY 0x0010000
483 #define SP_COPY_SOURCE_SIS_MASTER 0x0020000
484 #define SP_COPY_OEMINF_CATALOG_ONLY 0x0040000
485 #define SP_COPY_REPLACE_BOOT_FILE 0x0080000
486 #define SP_COPY_NOPRUNE 0x0100000
487 #define SP_FLAG_CABINETCONTINUATION 0x0000800
488 #define SPCRP_SECURITY 23
489 #define SPCRP_SECURITY_SDS 24
490 #define SPCRP_DEVTYPE 25
491 #define SPCRP_EXCLUSIVE 26
492 #define SPCRP_CHARACTERISTICS 27
493 #define SPCRP_MAXIMUM_PROPERTY 28
494 #define SPDIT_NODRIVER 0
495 #define SPDIT_CLASSDRIVER 1
496 #define SPDIT_COMPATDRIVER 2
497 #define SPDRP_DEVICEDESC 0
498 #define SPDRP_HARDWAREID 1
499 #define SPDRP_COMPATIBLEIDS 2
500 #define SPDRP_UNUSED0 3
501 #define SPDRP_SERVICE 4
502 #define SPDRP_UNUSED1 5
503 #define SPDRP_UNUSED2 6
504 #define SPDRP_CLASS 7
505 #define SPDRP_CLASSGUID 8
506 #define SPDRP_DRIVER 9
507 #define SPDRP_CONFIGFLAGS 10
509 #define SPDRP_FRIENDLYNAME 12
510 #define SPDRP_LOCATION_INFORMATION 13
511 #define SPDRP_PHYSICAL_DEVICE_OBJECT_NAME 14
512 #define SPDRP_CAPABILITIES 15
513 #define SPDRP_UI_NUMBER 16
514 #define SPDRP_UPPERFILTERS 17
515 #define SPDRP_LOWERFILTERS 18
516 #define SPDRP_BUSTYPEGUID 19
517 #define SPDRP_LEGACYBUSTYPE 20
518 #define SPDRP_BUSNUMBER 21
519 #define SPDRP_ENUMERATOR_NAME 22
520 #define SPDRP_SECURITY 23
521 #define SPDRP_SECURITY_SDS 24
522 #define SPDRP_DEVTYPE 25
523 #define SPDRP_EXCLUSIVE 26
524 #define SPDRP_CHARACTERISTICS 27
525 #define SPDRP_ADDRESS 28
526 #define SPDRP_UI_NUMBER_DESC_FORMAT 29
527 #define SPDRP_DEVICE_POWER_DATA 30
528 #define SPDRP_REMOVAL_POLICY 31
529 #define SPDRP_REMOVAL_POLICY_HW_DEFAULT 32
530 #define SPDRP_REMOVAL_POLICY_OVERRIDE 33
531 #define SPDRP_INSTALL_STATE 34
532 #define SPDRP_MAXIMUM_PROPERTY 35
533 #define SPDSL_IGNORE_DISK 1
534 #define SPDSL_DISALLOW_NEGATIVE_ADJUST 2
536 #define SPFILENOTIFY_STARTQUEUE 1
537 #define SPFILENOTIFY_ENDQUEUE 2
538 #define SPFILENOTIFY_STARTSUBQUEUE 3
539 #define SPFILENOTIFY_ENDSUBQUEUE 4
540 #define SPFILENOTIFY_STARTDELETE 5
541 #define SPFILENOTIFY_ENDDELETE 6
542 #define SPFILENOTIFY_DELETEERROR 7
543 #define SPFILENOTIFY_STARTRENAME 8
544 #define SPFILENOTIFY_ENDRENAME 9
545 #define SPFILENOTIFY_RENAMEERROR 10
546 #define SPFILENOTIFY_STARTCOPY 11
547 #define SPFILENOTIFY_ENDCOPY 12
548 #define SPFILENOTIFY_COPYERROR 13
549 #define SPFILENOTIFY_NEEDMEDIA 14
550 #define SPFILENOTIFY_QUEUESCAN 15
551 #define SPFILENOTIFY_CABINETINFO 16
552 #define SPFILENOTIFY_FILEINCABINET 17
553 #define SPFILENOTIFY_NEEDNEWCABINET 18
554 #define SPFILENOTIFY_FILEEXTRACTED 19
555 #define SPFILENOTIFY_FILEOPDELAYED 20
556 #define SPFILENOTIFY_STARTBACKUP 21
557 #define SPFILENOTIFY_BACKUPERROR 22
558 #define SPFILENOTIFY_ENDBACKUP 23
559 #define SPFILENOTIFY_QUEUESCAN_EX 24
560 #define SPFILENOTIFY_STARTREGISTRATION 25
561 #define SPFILENOTIFY_ENDREGISTRATION 26
562 #define SPFILENOTIFY_LANGMISMATCH 0x00010000
563 #define SPFILENOTIFY_TARGETEXISTS 0x00020000
564 #define SPFILENOTIFY_TARGETNEWER 0x00040000
565 #define SPFILELOG_SYSTEMLOG 0x00000001
566 #define SPFILELOG_OEMFILE 0x00000001
567 #define SPFILELOG_FORCENEW 0x00000002
568 #define SPFILELOG_QUERYONLY 0x00000004
569 #define SPFILEQ_FILE_IN_USE 0x00000001
570 #define SPFILEQ_REBOOT_RECOMMENDED 0x00000002
571 #define SPFILEQ_REBOOT_IN_PROGRESS 0x00000004
572 #define SPINT_ACTIVE 0x00000001
573 #define SPINT_DEFAULT 0x00000002
574 #define SPINT_REMOVED 0x00000004
575 #define SPID_ACTIVE 0x00000001
576 #define SPID_DEFAULT 0x00000002
577 #define SPID_REMOVED 0x00000004
578 #define SPINST_LOGCONFIG 0x00000001
579 #define SPINST_INIFILES 0x00000002
580 #define SPINST_REGISTRY 0x00000004
581 #define SPINST_INI2REG 0x00000008
582 #define SPINST_FILES 0x00000010
583 #define SPINST_BITREG 0x00000020
584 #define SPINST_REGSVR 0x00000040
585 #define SPINST_UNREGSVR 0x00000080
586 #define SPINST_PROFILEITEMS 0x00000100
587 #if (_SETUPAPI_VER >= 0x0501)
588 #define SPINST_COPYINF 0x00000200
589 #define SPINST_ALL 0x000003ff
591 #define SPINST_ALL 0x000001ff
593 #define SPINST_SINGLESECTION 0x00010000
594 #define SPINST_LOGCONFIG_IS_FORCED 0x00020000
595 #define SPINST_LOGCONFIGS_ARE_OVERRIDES 0x00040000
596 #if (_SETUPAPI_VER >= 0x0501)
597 #define SPINST_REGISTERCALLBACKAWARE 0x00080000
603 #define SPPSR_SELECT_DEVICE_RESOURCES 1
604 #define SPPSR_ENUM_BASIC_DEVICE_PROPERTIES 2
605 #define SPPSR_ENUM_ADV_DEVICE_PROPERTIES 3
606 #define SPQ_SCAN_FILE_PRESENCE 0x00000001
607 #define SPQ_DELAYED_COPY 0x00000001
608 #define SPQ_SCAN_FILE_VALIDITY 0x00000002
609 #define SPQ_SCAN_USE_CALLBACK 0x00000004
610 #define SPQ_SCAN_USE_CALLBACKEX 0x00000008
611 #define SPQ_SCAN_INFORM_USER 0x00000010
612 #define SPQ_SCAN_PRUNE_COPY_QUEUE 0x00000020
613 #define SPRDI_FIND_DUPS 0x00000001
614 #define SPSVCINST_TAGTOFRONT 0x00000001
615 #define SPSVCINST_ASSOCSERVICE 0x00000002
616 #define SPSVCINST_DELETEEVENTLOGENTRY 0x00000004
617 #define SPSVCINST_NOCLOBBER_DISPLAYNAME 0x00000008
618 #define SPSVCINST_NOCLOBBER_STARTTYPE 0x00000010
619 #define SPSVCINST_NOCLOBBER_ERRORCONTROL 0x00000020
620 #define SPSVCINST_NOCLOBBER_LOADORDERGROUP 0x00000040
621 #define SPSVCINST_NOCLOBBER_DEPENDENCIES 0x00000080
622 #define SPSVCINST_NOCLOBBER_DESCRIPTION 0x00000100
623 #define SPSVCINST_STOPSERVICE 0x00000200
624 #define SPWPT_SELECTDEVICE 0x00000001
625 #define SPWP_USE_DEVINFO_DATA 0x00000001
626 #define SRCINFO_PATH 1
627 #define SRCINFO_TAGFILE 2
628 #define SRCINFO_DESCRIPTION 3
629 #define SRCINFO_FLAGS 4
630 #define SRCLIST_TEMPORARY 0x00000001
631 #define SRCLIST_NOBROWSE 0x00000002
632 #define SRCLIST_SYSTEM 0x00000010
633 #define SRCLIST_USER 0x00000020
634 #define SRCLIST_SYSIFADMIN 0x00000040
635 #define SRCLIST_SUBDIRS 0x00000100
636 #define SRCLIST_APPEND 0x00000200
637 #define SRCLIST_NOSTRIPPLATFORM 0x00000400
638 #define SPREG_SUCCESS 0x00000000
639 #define SPREG_LOADLIBRARY 0x00000001
640 #define SPREG_GETPROCADDR 0x00000002
641 #define SPREG_REGSVR 0x00000003
642 #define SPREG_DLLINSTALL 0x00000004
643 #define SPREG_TIMEOUT 0x00000005
644 #define SPREG_UNKNOWN 0xFFFFFFFF
646 /* Flags for StringTableAddString and StringTableLookUpString */
647 #define ST_CASE_SENSITIVE_COMPARE 0x00000001
649 /* SetupUninstallOEMInf Flags values */
650 #define SUOI_FORCEDELETE 0x00000001
654 typedef PVOID HDSKSPC
;
655 typedef PVOID HDEVINFO
;
656 typedef PVOID HSPFILEQ
;
657 typedef PVOID HSPFILELOG
;
658 typedef UINT DI_FUNCTION
;
660 typedef PVOID HSTRING_TABLE
;
663 SetupFileLogSourceFilename
,
664 SetupFileLogChecksum
,
665 SetupFileLogDiskTagfile
,
666 SetupFileLogDiskDescription
,
667 SetupFileLogOtherInfo
,
670 typedef struct _INFCONTEXT
{
675 } INFCONTEXT
, *PINFCONTEXT
;
676 typedef struct _SP_INF_INFORMATION
{
679 BYTE VersionData
[ANYSIZE_ARRAY
];
680 } SP_INF_INFORMATION
, *PSP_INF_INFORMATION
;
681 typedef struct _SP_ALTPLATFORM_INFO
{
686 WORD ProcessorArchitecture
;
688 } SP_ALTPLATFORM_INFO
, *PSP_ALTPLATFORM_INFO
;
689 typedef struct _SP_ORIGINAL_FILE_INFO_A
{
691 CHAR OriginalInfName
[MAX_PATH
];
692 CHAR OriginalCatalogName
[MAX_PATH
];
693 } SP_ORIGINAL_FILE_INFO_A
, *PSP_ORIGINAL_FILE_INFO_A
;
694 typedef struct _SP_ORIGINAL_FILE_INFO_W
{
696 WCHAR OriginalInfName
[MAX_PATH
];
697 WCHAR OriginalCatalogName
[MAX_PATH
];
698 } SP_ORIGINAL_FILE_INFO_W
, *PSP_ORIGINAL_FILE_INFO_W
;
699 typedef struct _FILEPATHS_A
{
704 } FILEPATHS_A
, *PFILEPATHS_A
;
705 typedef struct _FILEPATHS_W
{
710 } FILEPATHS_W
, *PFILEPATHS_W
;
711 typedef struct _SOURCE_MEDIA_A
{
718 } SOURCE_MEDIA_A
, *PSOURCE_MEDIA_A
;
719 typedef struct _SOURCE_MEDIA_W
{
726 } SOURCE_MEDIA_W
, *PSOURCE_MEDIA_W
;
727 typedef struct _CABINET_INFO_A
{
732 USHORT CabinetNumber
;
733 } CABINET_INFO_A
, *PCABINET_INFO_A
;
734 typedef struct _CABINET_INFO_W
{
739 USHORT CabinetNumber
;
740 } CABINET_INFO_W
, *PCABINET_INFO_W
;
741 typedef struct _FILE_IN_CABINET_INFO_A
{
748 CHAR FullTargetName
[MAX_PATH
];
749 } FILE_IN_CABINET_INFO_A
, *PFILE_IN_CABINET_INFO_A
;
750 typedef struct _FILE_IN_CABINET_INFO_W
{
751 PCWSTR NameInCabinet
;
757 WCHAR FullTargetName
[MAX_PATH
];
758 } FILE_IN_CABINET_INFO_W
, *PFILE_IN_CABINET_INFO_W
;
759 typedef struct _SP_FILE_COPY_PARAMS_A
{
761 HSPFILEQ QueueHandle
;
762 PCSTR SourceRootPath
;
764 PCSTR SourceFilename
;
765 PCSTR SourceDescription
;
767 PCSTR TargetDirectory
;
768 PCSTR TargetFilename
;
771 PCSTR SecurityDescriptor
;
772 } SP_FILE_COPY_PARAMS_A
, *PSP_FILE_COPY_PARAMS_A
;
773 typedef struct _SP_FILE_COPY_PARAMS_W
{
775 HSPFILEQ QueueHandle
;
776 PCWSTR SourceRootPath
;
778 PCWSTR SourceFilename
;
779 PCWSTR SourceDescription
;
780 PCWSTR SourceTagfile
;
781 PCWSTR TargetDirectory
;
782 PCWSTR TargetFilename
;
785 PCWSTR SecurityDescriptor
;
786 } SP_FILE_COPY_PARAMS_W
, *PSP_FILE_COPY_PARAMS_W
;
787 typedef struct _SP_DEVINFO_DATA
{
792 } SP_DEVINFO_DATA
, *PSP_DEVINFO_DATA
;
793 typedef struct _SP_DEVICE_INTERFACE_DATA
{
795 GUID InterfaceClassGuid
;
798 } SP_DEVICE_INTERFACE_DATA
, *PSP_DEVICE_INTERFACE_DATA
;
799 /* For backward compatability */
800 typedef SP_DEVICE_INTERFACE_DATA SP_INTERFACE_DEVICE_DATA
, *PSP_INTERFACE_DEVICE_DATA
;
802 typedef struct _SP_DEVICE_INTERFACE_DETAIL_DATA_A
{
804 CHAR DevicePath
[ANYSIZE_ARRAY
];
805 } SP_DEVICE_INTERFACE_DETAIL_DATA_A
, *PSP_DEVICE_INTERFACE_DETAIL_DATA_A
;
806 typedef struct _SP_DEVICE_INTERFACE_DETAIL_DATA_W
{
808 WCHAR DevicePath
[ANYSIZE_ARRAY
];
809 } SP_DEVICE_INTERFACE_DETAIL_DATA_W
, *PSP_DEVICE_INTERFACE_DETAIL_DATA_W
;
810 /* For backward compatability */
811 typedef SP_DEVICE_INTERFACE_DETAIL_DATA_A SP_INTERFACE_DEVICE_DETAIL_DATA_A
,
812 *PSP_INTERFACE_DEVICE_DETAIL_DATA_A
;
813 typedef SP_DEVICE_INTERFACE_DETAIL_DATA_W SP_INTERFACE_DEVICE_DETAIL_DATA_W
,
814 *PSP_INTERFACE_DEVICE_DETAIL_DATA_W
;
816 typedef struct _SP_DEVINFO_LIST_DETAIL_DATA_A
{
819 HANDLE RemoteMachineHandle
;
820 CHAR RemoteMachineName
[SP_MAX_MACHINENAME_LENGTH
];
821 } SP_DEVINFO_LIST_DETAIL_DATA_A
, *PSP_DEVINFO_LIST_DETAIL_DATA_A
;
822 typedef struct _SP_DEVINFO_LIST_DETAIL_DATA_W
{
825 HANDLE RemoteMachineHandle
;
826 WCHAR RemoteMachineName
[SP_MAX_MACHINENAME_LENGTH
];
827 } SP_DEVINFO_LIST_DETAIL_DATA_W
, *PSP_DEVINFO_LIST_DETAIL_DATA_W
;
829 typedef UINT (CALLBACK
* PSP_FILE_CALLBACK_A
)(PVOID
,UINT
,UINT_PTR
,UINT_PTR
);
830 typedef UINT (CALLBACK
* PSP_FILE_CALLBACK_W
)(PVOID
,UINT
,UINT_PTR
,UINT_PTR
);
831 typedef struct _SP_DEVINSTALL_PARAMS_A
{
836 PSP_FILE_CALLBACK_A InstallMsgHandler
;
837 PVOID InstallMsgHandlerContext
;
839 ULONG_PTR ClassInstallReserved
;
841 CHAR DriverPath
[MAX_PATH
];
842 } SP_DEVINSTALL_PARAMS_A
, *PSP_DEVINSTALL_PARAMS_A
;
843 typedef struct _SP_DEVINSTALL_PARAMS_W
{
848 PSP_FILE_CALLBACK_W InstallMsgHandler
;
849 PVOID InstallMsgHandlerContext
;
851 ULONG_PTR ClassInstallReserved
;
853 WCHAR DriverPath
[MAX_PATH
];
854 } SP_DEVINSTALL_PARAMS_W
, *PSP_DEVINSTALL_PARAMS_W
;
855 typedef struct _SP_CLASSINSTALL_HEADER
{
857 DI_FUNCTION InstallFunction
;
858 } SP_CLASSINSTALL_HEADER
, *PSP_CLASSINSTALL_HEADER
;
859 typedef struct _SP_ENABLECLASS_PARAMS
{
860 SP_CLASSINSTALL_HEADER ClassInstallHeader
;
863 } SP_ENABLECLASS_PARAMS
, *PSP_ENABLECLASS_PARAMS
;
864 typedef struct _SP_MOVEDEV_PARAMS
{
865 SP_CLASSINSTALL_HEADER ClassInstallHeader
;
866 SP_DEVINFO_DATA SourceDeviceInfoData
;
867 } SP_MOVEDEV_PARAMS
, *PSP_MOVEDEV_PARAMS
;
868 typedef struct _SP_PROPCHANGE_PARAMS
{
869 SP_CLASSINSTALL_HEADER ClassInstallHeader
;
873 } SP_PROPCHANGE_PARAMS
, *PSP_PROPCHANGE_PARAMS
;
874 typedef struct _SP_REMOVEDEVICE_PARAMS
{
875 SP_CLASSINSTALL_HEADER ClassInstallHeader
;
878 } SP_REMOVEDEVICE_PARAMS
, *PSP_REMOVEDEVICE_PARAMS
;
879 typedef struct _SP_UNREMOVEDEVICE_PARAMS
{
880 SP_CLASSINSTALL_HEADER ClassInstallHeader
;
883 } SP_UNREMOVEDEVICE_PARAMS
, *PSP_UNREMOVEDEVICE_PARAMS
;
884 typedef struct _SP_SELECTDEVICE_PARAMS_A
{
885 SP_CLASSINSTALL_HEADER ClassInstallHeader
;
886 CHAR Title
[MAX_TITLE_LEN
];
887 CHAR Instructions
[MAX_INSTRUCTION_LEN
];
888 CHAR ListLabel
[MAX_LABEL_LEN
];
889 CHAR SubTitle
[MAX_SUBTITLE_LEN
];
891 } SP_SELECTDEVICE_PARAMS_A
, *PSP_SELECTDEVICE_PARAMS_A
;
892 typedef struct _SP_SELECTDEVICE_PARAMS_W
{
893 SP_CLASSINSTALL_HEADER ClassInstallHeader
;
894 WCHAR Title
[MAX_TITLE_LEN
];
895 WCHAR Instructions
[MAX_INSTRUCTION_LEN
];
896 WCHAR ListLabel
[MAX_LABEL_LEN
];
897 WCHAR SubTitle
[MAX_SUBTITLE_LEN
];
898 } SP_SELECTDEVICE_PARAMS_W
, *PSP_SELECTDEVICE_PARAMS_W
;
899 typedef struct _SP_REGISTER_CONTROL_STATUSA
{
904 } SP_REGISTER_CONTROL_STATUSA
, *PSP_REGISTER_CONTROL_STATUSA
;
905 typedef struct _SP_REGISTER_CONTROL_STATUSW
{
910 } SP_REGISTER_CONTROL_STATUSW
, *PSP_REGISTER_CONTROL_STATUSW
;
912 typedef BOOL (CALLBACK
* PDETECT_PROGRESS_NOTIFY
)(PVOID
,DWORD
);
913 typedef struct _SP_DETECTDEVICE_PARAMS
{
914 SP_CLASSINSTALL_HEADER ClassInstallHeader
;
915 PDETECT_PROGRESS_NOTIFY DetectProgressNotify
;
916 PVOID ProgressNotifyParam
;
917 } SP_DETECTDEVICE_PARAMS
, *PSP_DETECTDEVICE_PARAMS
;
918 typedef struct _SP_INSTALLWIZARD_DATA
{
919 SP_CLASSINSTALL_HEADER ClassInstallHeader
;
921 HPROPSHEETPAGE DynamicPages
[MAX_INSTALLWIZARD_DYNAPAGES
];
922 DWORD NumDynamicPages
;
923 DWORD DynamicPageFlags
;
927 } SP_INSTALLWIZARD_DATA
, *PSP_INSTALLWIZARD_DATA
;
928 typedef struct _SP_NEWDEVICEWIZARD_DATA
{
929 SP_CLASSINSTALL_HEADER ClassInstallHeader
;
931 HPROPSHEETPAGE DynamicPages
[MAX_INSTALLWIZARD_DYNAPAGES
];
932 DWORD NumDynamicPages
;
934 } SP_NEWDEVICEWIZARD_DATA
, *PSP_NEWDEVICEWIZARD_DATA
;
935 typedef SP_NEWDEVICEWIZARD_DATA SP_ADDPROPERTYPAGE_DATA
,
936 *PSP_ADDPROPERTYPAGE_DATA
;
937 typedef struct _SP_TROUBLESHOOTER_PARAMS_A
{
938 SP_CLASSINSTALL_HEADER ClassInstallHeader
;
939 CHAR ChmFile
[MAX_PATH
];
940 CHAR HtmlTroubleShooter
[MAX_PATH
];
941 } SP_TROUBLESHOOTER_PARAMS_A
, *PSP_TROUBLESHOOTER_PARAMS_A
;
942 typedef struct _SP_TROUBLESHOOTER_PARAMS_W
{
943 SP_CLASSINSTALL_HEADER ClassInstallHeader
;
944 WCHAR ChmFile
[MAX_PATH
];
945 WCHAR HtmlTroubleShooter
[MAX_PATH
];
946 } SP_TROUBLESHOOTER_PARAMS_W
, *PSP_TROUBLESHOOTER_PARAMS_W
;
947 typedef struct _SP_POWERMESSAGEWAKE_PARAMS_A
{
948 SP_CLASSINSTALL_HEADER ClassInstallHeader
;
949 CHAR PowerMessageWake
[LINE_LEN
*2];
950 } SP_POWERMESSAGEWAKE_PARAMS_A
, *PSP_POWERMESSAGEWAKE_PARAMS_A
;
951 typedef struct _SP_POWERMESSAGEWAKE_PARAMS_W
{
952 SP_CLASSINSTALL_HEADER ClassInstallHeader
;
953 WCHAR PowerMessageWake
[LINE_LEN
*2];
954 } SP_POWERMESSAGEWAKE_PARAMS_W
, *PSP_POWERMESSAGEWAKE_PARAMS_W
;
955 typedef struct _SP_DRVINFO_DATA_V2_A
{
959 CHAR Description
[LINE_LEN
];
960 CHAR MfgName
[LINE_LEN
];
961 CHAR ProviderName
[LINE_LEN
];
963 DWORDLONG DriverVersion
;
964 } SP_DRVINFO_DATA_V2_A
, *PSP_DRVINFO_DATA_V2_A
;
965 typedef struct _SP_DRVINFO_DATA_V2_W
{
969 WCHAR Description
[LINE_LEN
];
970 WCHAR MfgName
[LINE_LEN
];
971 WCHAR ProviderName
[LINE_LEN
];
973 DWORDLONG DriverVersion
;
974 } SP_DRVINFO_DATA_V2_W
, *PSP_DRVINFO_DATA_V2_W
;
975 typedef struct _SP_DRVINFO_DATA_V1_A
{
979 CHAR Description
[LINE_LEN
];
980 CHAR MfgName
[LINE_LEN
];
981 CHAR ProviderName
[LINE_LEN
];
982 } SP_DRVINFO_DATA_V1_A
, *PSP_DRVINFO_DATA_V1_A
;
983 typedef struct _SP_DRVINFO_DATA_V1_W
{
987 WCHAR Description
[LINE_LEN
];
988 WCHAR MfgName
[LINE_LEN
];
989 WCHAR ProviderName
[LINE_LEN
];
990 } SP_DRVINFO_DATA_V1_W
, *PSP_DRVINFO_DATA_V1_W
;
993 typedef SP_DRVINFO_DATA_V1_W SP_DRVINFO_DATA_V1
, *PSP_DRVINFO_DATA_V1
;
994 typedef SP_DRVINFO_DATA_V2_W SP_DRVINFO_DATA_V2
, *PSP_DRVINFO_DATA_V2
;
996 typedef SP_DRVINFO_DATA_V1_A SP_DRVINFO_DATA_V1
, *PSP_DRVINFO_DATA_V1
;
997 typedef SP_DRVINFO_DATA_V2_A SP_DRVINFO_DATA_V2
, *PSP_DRVINFO_DATA_V2
;
1000 #if USE_SP_DRVINFO_DATA_V1
1001 typedef SP_DRVINFO_DATA_V1_A SP_DRVINFO_DATA_A
, *PSP_DRVINFO_DATA_A
;
1002 typedef SP_DRVINFO_DATA_V1_W SP_DRVINFO_DATA_W
, *PSP_DRVINFO_DATA_W
;
1003 typedef SP_DRVINFO_DATA_V1 SP_DRVINFO_DATA
, *PSP_DRVINFO_DATA
;
1005 typedef SP_DRVINFO_DATA_V2_A SP_DRVINFO_DATA_A
, *PSP_DRVINFO_DATA_A
;
1006 typedef SP_DRVINFO_DATA_V2_W SP_DRVINFO_DATA_W
, *PSP_DRVINFO_DATA_W
;
1007 typedef SP_DRVINFO_DATA_V2 SP_DRVINFO_DATA
, *PSP_DRVINFO_DATA
;
1010 typedef DWORD (CALLBACK
* PSP_DETSIG_CMPPROC
)(HDEVINFO
,PSP_DEVINFO_DATA
,PSP_DEVINFO_DATA
,PVOID
);
1012 typedef struct _SP_DRVINFO_DETAIL_DATA_A
{
1015 DWORD CompatIDsOffset
;
1016 DWORD CompatIDsLength
;
1018 CHAR SectionName
[LINE_LEN
];
1019 CHAR InfFileName
[MAX_PATH
];
1020 CHAR DrvDescription
[LINE_LEN
];
1021 CHAR HardwareID
[ANYSIZE_ARRAY
];
1022 } SP_DRVINFO_DETAIL_DATA_A
, *PSP_DRVINFO_DETAIL_DATA_A
;
1023 typedef struct _SP_DRVINFO_DETAIL_DATA_W
{
1026 DWORD CompatIDsOffset
;
1027 DWORD CompatIDsLength
;
1029 WCHAR SectionName
[LINE_LEN
];
1030 WCHAR InfFileName
[MAX_PATH
];
1031 WCHAR DrvDescription
[LINE_LEN
];
1032 WCHAR HardwareID
[ANYSIZE_ARRAY
];
1033 } SP_DRVINFO_DETAIL_DATA_W
, *PSP_DRVINFO_DETAIL_DATA_W
;
1034 typedef struct _SP_DRVINSTALL_PARAMS
{
1038 DWORD_PTR PrivateData
;
1040 } SP_DRVINSTALL_PARAMS
, *PSP_DRVINSTALL_PARAMS
;
1043 typedef struct _COINSTALLER_CONTEXT_DATA
{
1044 BOOL PostProcessing
;
1045 DWORD InstallResult
;
1047 } COINSTALLER_CONTEXT_DATA
, *PCOINSTALLER_CONTEXT_DATA
;
1048 typedef struct _SP_CLASSIMAGELIST_DATA
{
1050 HIMAGELIST ImageList
;
1052 } SP_CLASSIMAGELIST_DATA
, *PSP_CLASSIMAGELIST_DATA
;
1053 typedef struct _SP_PROPSHEETPAGE_REQUEST
{
1055 DWORD PageRequested
;
1056 HDEVINFO DeviceInfoSet
;
1057 PSP_DEVINFO_DATA DeviceInfoData
;
1058 } SP_PROPSHEETPAGE_REQUEST
, *PSP_PROPSHEETPAGE_REQUEST
;
1059 typedef struct _SP_BACKUP_QUEUE_PARAMS_A
{
1061 CHAR FullInfPath
[MAX_PATH
];
1063 } SP_BACKUP_QUEUE_PARAMS_A
, *PSP_BACKUP_QUEUE_PARAMS_A
;
1064 typedef struct _SP_BACKUP_QUEUE_PARAMS_W
{
1066 WCHAR FullInfPath
[MAX_PATH
];
1068 } SP_BACKUP_QUEUE_PARAMS_W
, *PSP_BACKUP_QUEUE_PARAMS_W
;
1072 typedef SP_ORIGINAL_FILE_INFO_W SP_ORIGINAL_FILE_INFO
, *PSP_ORIGINAL_FILE_INFO
;
1073 typedef FILEPATHS_W FILEPATHS
, *PFILEPATHS
;
1074 typedef SOURCE_MEDIA_W SOURCE_MEDIA
, *PSOURCE_MEDIA
;
1075 typedef CABINET_INFO_W CABINET_INFO
, *PCABINET_INFO
;
1076 typedef FILE_IN_CABINET_INFO_W FILE_IN_CABINET_INFO
, *PFILE_IN_CABINET_INFO
;
1077 typedef SP_FILE_COPY_PARAMS_W SP_FILE_COPY_PARAMS
, PSP_FILE_COPY_PARAMS
;
1078 typedef SP_DEVICE_INTERFACE_DETAIL_DATA_W SP_DEVICE_INTERFACE_DETAIL_DATA
,
1079 *PSP_DEVICE_INTERFACE_DETAIL_DATA
;
1080 typedef SP_INTERFACE_DEVICE_DETAIL_DATA_W SP_INTERFACE_DEVICE_DETAIL_DATA
,
1081 *PSP_INTERFACE_DEVICE_DETAIL_DATA
; /* deprecated */
1082 typedef SP_DEVINFO_LIST_DETAIL_DATA_W SP_DEVINFO_LIST_DETAIL_DATA
,
1083 *PSP_DEVINFO_LIST_DETAIL_DATA
;
1084 typedef SP_DEVINSTALL_PARAMS_W SP_DEVINSTALL_PARAMS
, *PSP_DEVINSTALL_PARAMS
;
1085 typedef SP_SELECTDEVICE_PARAMS_W SP_SELECTDEVICE_PARAMS
, *PSP_SELECTDEVICE_PARAMS
;
1086 typedef SP_TROUBLESHOOTER_PARAMS_W SP_TROUBLESHOOTER_PARAMS
,
1087 *PSP_TROUBLESHOOTER_PARAMS
;
1088 typedef SP_POWERMESSAGEWAKE_PARAMS_W SP_POWERMESSAGEWAKE_PARAMS
,
1089 *PSP_POWERMESSAGEWAKE_PARAMS
;
1090 typedef SP_DRVINFO_DETAIL_DATA_W SP_DRVINFO_DETAIL_DATA
,
1091 *PSP_DRVINFO_DETAIL_DATA
;
1092 typedef SP_BACKUP_QUEUE_PARAMS_W SP_BACKUP_QUEUE_PARAMS
,
1093 *PSP_BACKUP_QUEUE_PARAMS
;
1094 typedef SP_REGISTER_CONTROL_STATUSW SP_REGISTER_CONTROL_STATUS
, *PSP_REGISTER_CONTROL_STATUS
;
1096 typedef SP_ORIGINAL_FILE_INFO_A SP_ORIGINAL_FILE_INFO
, *PSP_ORIGINAL_FILE_INFO
;
1097 typedef FILEPATHS_A FILEPATHS
, *PFILEPATHS
;
1098 typedef SOURCE_MEDIA_A SOURCE_MEDIA
, *PSOURCE_MEDIA
;
1099 typedef CABINET_INFO_A CABINET_INFO
, *PCABINET_INFO
;
1100 typedef FILE_IN_CABINET_INFO_A FILE_IN_CABINET_INFO
, *PFILE_IN_CABINET_INFO
;
1101 typedef SP_FILE_COPY_PARAMS_A SP_FILE_COPY_PARAMS
, *PSP_FILE_COPY_PARAMS
;
1102 typedef SP_DEVICE_INTERFACE_DETAIL_DATA_A SP_DEVICE_INTERFACE_DETAIL_DATA
,
1103 *PSP_DEVICE_INTERFACE_DETAIL_DATA
;
1104 typedef SP_INTERFACE_DEVICE_DETAIL_DATA_A SP_INTERFACE_DEVICE_DETAIL_DATA
,
1105 *PSP_INTERFACE_DEVICE_DETAIL_DATA
; /* deprecated */
1106 typedef SP_DEVINFO_LIST_DETAIL_DATA_A SP_DEVINFO_LIST_DETAIL_DATA
,
1107 *PSP_DEVINFO_LIST_DETAIL_DATA
;
1108 typedef SP_DEVINSTALL_PARAMS_A SP_DEVINSTALL_PARAMS
, *PSP_DEVINSTALL_PARAMS
;
1109 typedef SP_SELECTDEVICE_PARAMS_A SP_SELECTDEVICE_PARAMS
,
1110 *PSP_SELECTDEVICE_PARAMS
;
1111 typedef SP_TROUBLESHOOTER_PARAMS_A SP_TROUBLESHOOTER_PARAMS
,
1112 *PSP_TROUBLESHOOTER_PARAMS
;
1113 typedef SP_POWERMESSAGEWAKE_PARAMS_A SP_POWERMESSAGEWAKE_PARAMS
,
1114 *PSP_POWERMESSAGEWAKE_PARAMS
;
1115 typedef SP_DRVINFO_DETAIL_DATA_A SP_DRVINFO_DETAIL_DATA
,
1116 *PSP_DRVINFO_DETAIL_DATA
;
1117 typedef SP_BACKUP_QUEUE_PARAMS_A SP_BACKUP_QUEUE_PARAMS
,
1118 *PSP_BACKUP_QUEUE_PARAMS
;
1119 typedef SP_REGISTER_CONTROL_STATUSA SP_REGISTER_CONTROL_STATUS
, *PSP_REGISTER_CONTROL_STATUS
;
1120 #endif /* UNICODE */
1123 WINSETUPAPI LONG WINAPI
AddTagToGroupOrderList(PCWSTR
, DWORD
, DWORD
);
1124 WINSETUPAPI VOID WINAPI
AssertFail(LPSTR
, UINT
, LPSTR
);
1125 WINSETUPAPI DWORD WINAPI
CaptureStringArg(PCWSTR
, PWSTR
*);
1126 WINSETUPAPI BOOL WINAPI
DelayedMove(PCWSTR
, PCWSTR
);
1127 WINSETUPAPI BOOL WINAPI
DoesUserHavePrivilege(PCWSTR
);
1128 WINSETUPAPI BOOL WINAPI
FileExists(PCWSTR
, PWIN32_FIND_DATAW
);
1129 WINSETUPAPI DWORD WINAPI
GetSetFileTimestamp(PCWSTR
, PFILETIME
, PFILETIME
, PFILETIME
, BOOLEAN
);
1130 WINSETUPAPI BOOL WINAPI
IsUserAdmin(VOID
);
1131 WINSETUPAPI VOID WINAPI
MyFree(PVOID
);
1132 WINSETUPAPI PVOID WINAPI
MyMalloc(DWORD
);
1133 WINSETUPAPI PVOID WINAPI
MyRealloc(PVOID
, DWORD
);
1134 WINSETUPAPI LONG WINAPI
QueryRegistryValue(HKEY
, PCWSTR
, PBYTE
*, PDWORD
, PDWORD
);
1135 WINSETUPAPI DWORD WINAPI
RetreiveFileSecurity(PCWSTR
, PSECURITY_DESCRIPTOR
*);
1137 WINSETUPAPI BOOL WINAPI
SetupAddInstallSectionToDiskSpaceListA(_In_ HDSKSPC
, _In_ HINF
, _In_opt_ HINF
, _In_ PCSTR
, _Reserved_ PVOID
, _Reserved_ UINT
);
1138 WINSETUPAPI BOOL WINAPI
SetupAddInstallSectionToDiskSpaceListW(_In_ HDSKSPC
, _In_ HINF
, _In_opt_ HINF
, _In_ PCWSTR
, _Reserved_ PVOID
, _Reserved_ UINT
);
1139 WINSETUPAPI BOOL WINAPI
SetupAddSectionToDiskSpaceListA(_In_ HDSKSPC
, _In_ HINF
, _In_opt_ HINF
, _In_ PCSTR
, _In_ UINT
, _Reserved_ PVOID
, _Reserved_ UINT
);
1140 WINSETUPAPI BOOL WINAPI
SetupAddSectionToDiskSpaceListW(_In_ HDSKSPC
, _In_ HINF
, _In_opt_ HINF
, _In_ PCWSTR
, _In_ UINT
, _Reserved_ PVOID
, _Reserved_ UINT
);
1141 WINSETUPAPI BOOL WINAPI
SetupAddToDiskSpaceListA(_In_ HDSKSPC
, _In_ PCSTR
, _In_ LONGLONG
, _In_ UINT
, _Reserved_ PVOID
, _Reserved_ UINT
);
1142 WINSETUPAPI BOOL WINAPI
SetupAddToDiskSpaceListW(_In_ HDSKSPC
, _In_ PCWSTR
, _In_ LONGLONG
, _In_ UINT
, _Reserved_ PVOID
, _Reserved_ UINT
);
1143 WINSETUPAPI BOOL WINAPI
SetupAddToSourceListA(_In_ DWORD
, _In_ PCSTR
);
1144 WINSETUPAPI BOOL WINAPI
SetupAddToSourceListW(_In_ DWORD
, _In_ PCWSTR
);
1145 WINSETUPAPI BOOL WINAPI
SetupAdjustDiskSpaceListA(_In_ HDSKSPC
, _In_ LPCSTR
, _In_ LONGLONG
, _Reserved_ PVOID
, _Reserved_ UINT
);
1146 WINSETUPAPI BOOL WINAPI
SetupAdjustDiskSpaceListW(_In_ HDSKSPC
, _In_ LPCWSTR
, _In_ LONGLONG
, _Reserved_ PVOID
, _Reserved_ UINT
);
1147 WINSETUPAPI UINT WINAPI
SetupBackupErrorA(_In_ HWND
, _In_opt_ PCSTR
, _In_ PCSTR
, _In_opt_ PCSTR
, _In_ UINT
, _In_ DWORD
);
1148 WINSETUPAPI UINT WINAPI
SetupBackupErrorW(_In_ HWND
, _In_opt_ PCWSTR
, _In_ PCWSTR
, _In_opt_ PCWSTR
, _In_ UINT
, _In_ DWORD
);
1149 WINSETUPAPI BOOL WINAPI
SetupCancelTemporary(VOID
);
1150 WINSETUPAPI BOOL WINAPI
SetupCloseFileQueue(_In_ HSPFILEQ
);
1151 WINSETUPAPI VOID WINAPI
SetupCloseInfFile(_In_ HINF
);
1152 WINSETUPAPI VOID WINAPI
SetupCloseLog(VOID
);
1153 WINSETUPAPI BOOL WINAPI
SetupCommitFileQueueA(_In_opt_ HWND
, _In_ HSPFILEQ
, _In_ PSP_FILE_CALLBACK_A
, _In_ PVOID
);
1154 WINSETUPAPI BOOL WINAPI
SetupCommitFileQueueW(_In_opt_ HWND
, _In_ HSPFILEQ
, _In_ PSP_FILE_CALLBACK_W
, _In_ PVOID
);
1160 _In_ HWND hwndParent
,
1161 _In_opt_ PCSTR DialogTitle
,
1162 _In_opt_ PCSTR DiskName
,
1163 _In_ PCSTR PathToSource
,
1164 _In_ PCSTR SourceFile
,
1165 _In_opt_ PCSTR TargetPathFile
,
1166 _In_ UINT Win32ErrorCode
,
1168 _Out_writes_opt_(PathBufferSize
) PSTR PathBuffer
,
1169 _In_ DWORD PathBufferSize
,
1170 _Out_opt_ PDWORD PathRequiredSize
);
1176 _In_ HWND hwndParent
,
1177 _In_opt_ PCWSTR DialogTitle
,
1178 _In_opt_ PCWSTR DiskName
,
1179 _In_ PCWSTR PathToSource
,
1180 _In_ PCWSTR SourceFile
,
1181 _In_opt_ PCWSTR TargetPathFile
,
1182 _In_ UINT Win32ErrorCode
,
1184 _Out_writes_opt_(PathBufferSize
) PWSTR PathBuffer
,
1185 _In_ DWORD PathBufferSize
,
1186 _Out_opt_ PDWORD PathRequiredSize
);
1192 _In_ PCSTR SourceInfFileName
,
1193 _In_opt_ PCSTR OEMSourceMediaLocation
,
1194 _In_ DWORD OEMSourceMediaType
,
1195 _In_ DWORD CopyStyle
,
1196 _Out_writes_opt_(DestinationInfFileNameSize
) PSTR DestinationInfFileName
,
1197 _In_ DWORD DestinationInfFileNameSize
,
1198 _Out_opt_ PDWORD RequiredSize
,
1199 _Out_opt_ PSTR
*DestinationInfFileNameComponent
);
1205 _In_ PCWSTR SourceInfFileName
,
1206 _In_opt_ PCWSTR OEMSourceMediaLocation
,
1207 _In_ DWORD OEMSourceMediaType
,
1208 _In_ DWORD CopyStyle
,
1209 _Out_writes_opt_(DestinationInfFileNameSize
) PWSTR DestinationInfFileName
,
1210 _In_ DWORD DestinationInfFileNameSize
,
1211 _Out_opt_ PDWORD RequiredSize
,
1212 _Out_opt_ PWSTR
*DestinationInfFileNameComponent
);
1214 WINSETUPAPI HDSKSPC WINAPI
SetupCreateDiskSpaceListA(_Reserved_ PVOID
, _Reserved_ DWORD
, _In_ UINT
);
1215 WINSETUPAPI HDSKSPC WINAPI
SetupCreateDiskSpaceListW(_Reserved_ PVOID
, _Reserved_ DWORD
, _In_ UINT
);
1216 WINSETUPAPI DWORD WINAPI
SetupDecompressOrCopyFileA(_In_ PCSTR
, _In_ PCSTR
, _In_opt_ PUINT
);
1217 WINSETUPAPI DWORD WINAPI
SetupDecompressOrCopyFileW(_In_ PCWSTR
, _In_ PCWSTR
, _In_opt_ PUINT
);
1218 WINSETUPAPI UINT WINAPI
SetupDefaultQueueCallbackA(_In_ PVOID
, _In_ UINT
, _In_ UINT_PTR
, _In_ UINT_PTR
);
1219 WINSETUPAPI UINT WINAPI
SetupDefaultQueueCallbackW(_In_ PVOID
, _In_ UINT
, _In_ UINT_PTR
, _In_ UINT_PTR
);
1220 WINSETUPAPI UINT WINAPI
SetupDeleteErrorA(_In_ HWND
, _In_opt_ PCSTR
, _In_ PCSTR
, _In_ UINT
, _In_ DWORD
);
1221 WINSETUPAPI UINT WINAPI
SetupDeleteErrorW(_In_ HWND
, _In_opt_ PCWSTR
, _In_ PCWSTR
, _In_ UINT
, _In_ DWORD
);
1222 WINSETUPAPI BOOL WINAPI
SetupDestroyDiskSpaceList(_Inout_ HDSKSPC
);
1223 WINSETUPAPI BOOL WINAPI
SetupDiAskForOEMDisk(_In_ HDEVINFO
, _In_opt_ PSP_DEVINFO_DATA
);
1225 _Success_(return != FALSE
)
1229 SetupDiBuildClassInfoList(
1231 _Out_writes_to_opt_(ClassGuidListSize
, *RequiredSize
) LPGUID ClassGuidList
,
1232 _In_ DWORD ClassGuidListSize
,
1233 _Out_ PDWORD RequiredSize
);
1235 _Success_(return != FALSE
)
1239 SetupDiBuildClassInfoListExA(
1241 _Out_writes_to_opt_(ClassGuidListSize
, *RequiredSize
) LPGUID ClassGuidList
,
1242 _In_ DWORD ClassGuidListSize
,
1243 _Out_ PDWORD RequiredSize
,
1244 _In_opt_ PCSTR MachineName
,
1245 _Reserved_ PVOID Reserved
);
1247 _Success_(return != FALSE
)
1251 SetupDiBuildClassInfoListExW(
1253 _Out_writes_to_opt_(ClassGuidListSize
, *RequiredSize
) LPGUID ClassGuidList
,
1254 _In_ DWORD ClassGuidListSize
,
1255 _Out_ PDWORD RequiredSize
,
1256 _In_opt_ PCWSTR MachineName
,
1257 _Reserved_ PVOID Reserved
);
1259 WINSETUPAPI BOOL WINAPI
SetupDiBuildDriverInfoList(_In_ HDEVINFO
, _Inout_opt_ PSP_DEVINFO_DATA
, _In_ DWORD
);
1260 WINSETUPAPI BOOL WINAPI
SetupDiCallClassInstaller(_In_ DI_FUNCTION
, _In_ HDEVINFO
, _In_opt_ PSP_DEVINFO_DATA
);
1261 WINSETUPAPI BOOL WINAPI
SetupDiCancelDriverInfoSearch(_In_ HDEVINFO
);
1262 WINSETUPAPI BOOL WINAPI
SetupDiChangeState(_In_ HDEVINFO
, _Inout_ PSP_DEVINFO_DATA
);
1264 _Success_(return != FALSE
)
1268 SetupDiClassGuidsFromNameA(
1269 _In_ PCSTR ClassName
,
1270 _Out_writes_to_(ClassGuidListSize
, *RequiredSize
) LPGUID ClassGuidList
,
1271 _In_ DWORD ClassGuidListSize
,
1272 _Out_ PDWORD RequiredSize
);
1274 _Success_(return != FALSE
)
1278 SetupDiClassGuidsFromNameW(
1279 _In_ PCWSTR ClassName
,
1280 _Out_writes_to_(ClassGuidListSize
, *RequiredSize
) LPGUID ClassGuidList
,
1281 _In_ DWORD ClassGuidListSize
,
1282 _Out_ PDWORD RequiredSize
);
1284 _Success_(return != FALSE
)
1288 SetupDiClassGuidsFromNameExA(
1289 _In_ PCSTR ClassName
,
1290 _Out_writes_to_(ClassGuidListSize
, *RequiredSize
) LPGUID ClassGuidList
,
1291 _In_ DWORD ClassGuidListSize
,
1292 _Out_ PDWORD RequiredSize
,
1293 _In_opt_ PCSTR MachineName
,
1294 _Reserved_ PVOID Reserved
);
1296 _Success_(return != FALSE
)
1300 SetupDiClassGuidsFromNameExW(
1301 _In_ PCWSTR ClassName
,
1302 _Out_writes_to_(ClassGuidListSize
, *RequiredSize
) LPGUID ClassGuidList
,
1303 _In_ DWORD ClassGuidListSize
,
1304 _Out_ PDWORD RequiredSize
,
1305 _In_opt_ PCWSTR MachineName
,
1306 _Reserved_ PVOID Reserved
);
1311 SetupDiClassNameFromGuidA(
1312 _In_ CONST GUID
*ClassGuid
,
1313 _Out_writes_(ClassNameSize
) PSTR ClassName
,
1314 _In_ DWORD ClassNameSize
,
1315 _Out_opt_ PDWORD RequiredSize
);
1320 SetupDiClassNameFromGuidW(
1321 _In_ CONST GUID
*ClassGuid
,
1322 _Out_writes_(ClassNameSize
) PWSTR ClassName
,
1323 _In_ DWORD ClassNameSize
,
1324 _Out_opt_ PDWORD RequiredSize
);
1329 SetupDiClassNameFromGuidExA(
1330 _In_ CONST GUID
*ClassGuid
,
1331 _Out_writes_(ClassNameSize
) PSTR ClassName
,
1332 _In_ DWORD ClassNameSize
,
1333 _Out_opt_ PDWORD RequiredSize
,
1334 _In_opt_ PCSTR MachineName
,
1335 _Reserved_ PVOID Reserved
);
1340 SetupDiClassNameFromGuidExW(
1341 _In_ CONST GUID
*ClassGuid
,
1342 _Out_writes_(ClassNameSize
) PWSTR ClassName
,
1343 _In_ DWORD ClassNameSize
,
1344 _Out_opt_ PDWORD RequiredSize
,
1345 _In_opt_ PCWSTR MachineName
,
1346 _Reserved_ PVOID Reserved
);
1348 WINSETUPAPI BOOL WINAPI
SetupDiCreateDeviceInfoA(_In_ HDEVINFO
, _In_ PCSTR
, _In_ CONST GUID
*, _In_opt_ PCSTR
, _In_opt_ HWND
, _In_ DWORD
, _Out_opt_ PSP_DEVINFO_DATA
);
1349 WINSETUPAPI BOOL WINAPI
SetupDiCreateDeviceInfoW(_In_ HDEVINFO
, _In_ PCWSTR
, _In_ CONST GUID
*, _In_opt_ PCWSTR
, _In_opt_ HWND
, _In_ DWORD
, _Out_opt_ PSP_DEVINFO_DATA
);
1350 _Check_return_ WINSETUPAPI HDEVINFO WINAPI
SetupDiCreateDeviceInfoList(_In_opt_ CONST GUID
*, _In_opt_ HWND
);
1351 _Check_return_ WINSETUPAPI HDEVINFO WINAPI
SetupDiCreateDeviceInfoListExA(_In_opt_ CONST GUID
*, _In_opt_ HWND
, _In_opt_ PCSTR
, _Reserved_ PVOID
);
1352 _Check_return_ WINSETUPAPI HDEVINFO WINAPI
SetupDiCreateDeviceInfoListExW(_In_opt_ CONST GUID
*, _In_opt_ HWND
, _In_opt_ PCWSTR
, _Reserved_ PVOID
);
1353 WINSETUPAPI BOOL WINAPI
SetupDiCreateDeviceInterfaceA(_In_ HDEVINFO
, _In_ PSP_DEVINFO_DATA
, _In_ CONST GUID
*, _In_opt_ PCSTR
, _In_ DWORD
, _Out_opt_ PSP_DEVICE_INTERFACE_DATA
);
1354 WINSETUPAPI BOOL WINAPI
SetupDiCreateDeviceInterfaceW(_In_ HDEVINFO
, _In_ PSP_DEVINFO_DATA
, _In_ CONST GUID
*, _In_opt_ PCWSTR
, _In_ DWORD
, _Out_opt_ PSP_DEVICE_INTERFACE_DATA
);
1355 _Check_return_ WINSETUPAPI HKEY WINAPI
SetupDiCreateDeviceInterfaceRegKeyA(_In_ HDEVINFO
, _In_ PSP_DEVICE_INTERFACE_DATA
, _Reserved_ DWORD
, _In_ REGSAM
, _In_opt_ HINF
, _In_opt_ PCSTR
);
1356 _Check_return_ WINSETUPAPI HKEY WINAPI
SetupDiCreateDeviceInterfaceRegKeyW(_In_ HDEVINFO
, _In_ PSP_DEVICE_INTERFACE_DATA
, _Reserved_ DWORD
, _In_ REGSAM
, _In_opt_ HINF
, _In_opt_ PCWSTR
);
1357 _Check_return_ WINSETUPAPI HKEY WINAPI
SetupDiCreateDevRegKeyA(_In_ HDEVINFO
, _In_ PSP_DEVINFO_DATA
, _In_ DWORD
, _In_ DWORD
, _In_ DWORD
, _In_opt_ HINF
, _In_opt_ PCSTR
);
1358 _Check_return_ WINSETUPAPI HKEY WINAPI
SetupDiCreateDevRegKeyW(_In_ HDEVINFO
, _In_ PSP_DEVINFO_DATA
, _In_ DWORD
, _In_ DWORD
, _In_ DWORD
, _In_opt_ HINF
, _In_opt_ PCWSTR
);
1359 WINSETUPAPI BOOL WINAPI
SetupDiDeleteDeviceInfo(_In_ HDEVINFO
, _In_ PSP_DEVINFO_DATA
);
1360 WINSETUPAPI BOOL WINAPI
SetupDiDeleteDeviceInterfaceData(_In_ HDEVINFO
, _In_ PSP_DEVICE_INTERFACE_DATA
);
1361 WINSETUPAPI BOOL WINAPI
SetupDiDeleteDeviceInterfaceRegKey(_In_ HDEVINFO
, _In_ PSP_DEVICE_INTERFACE_DATA
, _Reserved_ DWORD
);
1362 WINSETUPAPI BOOL WINAPI
SetupDiDeleteDevRegKey(_In_ HDEVINFO
, _In_ PSP_DEVINFO_DATA
, _In_ DWORD
, _In_ DWORD
, _In_ DWORD
);
1363 WINSETUPAPI BOOL WINAPI
SetupDiDestroyClassImageList(_In_ PSP_CLASSIMAGELIST_DATA
);
1364 WINSETUPAPI BOOL WINAPI
SetupDiDestroyDeviceInfoList(_In_ HDEVINFO
);
1365 WINSETUPAPI BOOL WINAPI
SetupDiDestroyDriverInfoList(_In_ HDEVINFO
, _In_opt_ PSP_DEVINFO_DATA
, _In_ DWORD
);
1366 WINSETUPAPI INT WINAPI
SetupDiDrawMiniIcon(_In_ HDC
, _In_ RECT
, _In_ INT
, _In_ DWORD
);
1367 WINSETUPAPI BOOL WINAPI
SetupDiEnumDeviceInfo(_In_ HDEVINFO
, _In_ DWORD
, _Out_ PSP_DEVINFO_DATA
);
1368 WINSETUPAPI BOOL WINAPI
SetupDiEnumDeviceInterfaces(_In_ HDEVINFO
, _In_opt_ PSP_DEVINFO_DATA
, _In_ CONST GUID
*, _In_ DWORD
, _Out_ PSP_DEVICE_INTERFACE_DATA
);
1369 WINSETUPAPI BOOL WINAPI
SetupDiEnumDriverInfoA(_In_ HDEVINFO
, _In_opt_ PSP_DEVINFO_DATA
, _In_ DWORD
, _In_ DWORD
, _Out_ PSP_DRVINFO_DATA_A
);
1370 WINSETUPAPI BOOL WINAPI
SetupDiEnumDriverInfoW(_In_ HDEVINFO
, _In_opt_ PSP_DEVINFO_DATA
, _In_ DWORD
, _In_ DWORD
, _Out_ PSP_DRVINFO_DATA_W
);
1375 SetupDiGetActualSectionToInstallA(
1376 _In_ HINF InfHandle
,
1377 _In_ PCSTR InfSectionName
,
1378 _Out_writes_opt_(InfSectionWithExtSize
) PSTR InfSectionWithExt
,
1379 _In_ DWORD InfSectionWithExtSize
,
1380 _Out_opt_ PDWORD RequiredSize
,
1381 _Out_opt_ PSTR
*Extension
);
1386 SetupDiGetActualSectionToInstallW(
1387 _In_ HINF InfHandle
,
1388 _In_ PCWSTR InfSectionName
,
1389 _Out_writes_opt_(InfSectionWithExtSize
) PWSTR InfSectionWithExt
,
1390 _In_ DWORD InfSectionWithExtSize
,
1391 _Out_opt_ PDWORD RequiredSize
,
1392 _Out_opt_ PWSTR
*Extension
);
1397 SetupDiGetActualSectionToInstallExA(
1398 _In_ HINF InfHandle
,
1399 _In_ PCSTR InfSectionName
,
1400 _In_opt_ PSP_ALTPLATFORM_INFO AlternatePlatformInfo
,
1401 _Out_writes_opt_(InfSectionWithExtSize
) PSTR InfSectionWithExt
,
1402 _In_ DWORD InfSectionWithExtSize
,
1403 _Out_opt_ PDWORD RequiredSize
,
1404 _Out_opt_ PSTR
*Extension
,
1405 _Reserved_ PVOID Reserved
);
1410 SetupDiGetActualSectionToInstallExW(
1411 _In_ HINF InfHandle
,
1412 _In_ PCWSTR InfSectionName
,
1413 _In_opt_ PSP_ALTPLATFORM_INFO AlternatePlatformInfo
,
1414 _Out_writes_opt_(InfSectionWithExtSize
) PWSTR InfSectionWithExt
,
1415 _In_ DWORD InfSectionWithExtSize
,
1416 _Out_opt_ PDWORD RequiredSize
,
1417 _Out_opt_ PWSTR
*Extension
,
1418 _Reserved_ PVOID Reserved
);
1420 WINSETUPAPI BOOL WINAPI
SetupDiGetClassBitmapIndex(_In_opt_ CONST GUID
*, _Out_ PINT
);
1425 SetupDiGetClassDescriptionA(
1426 _In_ CONST GUID
*ClassGuid
,
1427 _Out_writes_(ClassDescriptionSize
) PSTR ClassDescription
,
1428 _In_ DWORD ClassDescriptionSize
,
1429 _Out_opt_ PDWORD RequiredSize
);
1434 SetupDiGetClassDescriptionW(
1435 _In_ CONST GUID
*ClassGuid
,
1436 _Out_writes_(ClassDescriptionSize
) PWSTR ClassDescription
,
1437 _In_ DWORD ClassDescriptionSize
,
1438 _Out_opt_ PDWORD RequiredSize
);
1443 SetupDiGetClassDescriptionExA(
1444 _In_ CONST GUID
*ClassGuid
,
1445 _Out_writes_(ClassDescriptionSize
) PSTR ClassDescription
,
1446 _In_ DWORD ClassDescriptionSize
,
1447 _Out_opt_ PDWORD RequiredSize
,
1448 _In_opt_ PCSTR MachineName
,
1449 _Reserved_ PVOID Reserved
);
1454 SetupDiGetClassDescriptionExW(
1455 _In_ CONST GUID
*ClassGuid
,
1456 _Out_writes_(ClassDescriptionSize
) PWSTR ClassDescription
,
1457 _In_ DWORD ClassDescriptionSize
,
1458 _Out_opt_ PDWORD RequiredSize
,
1459 _In_opt_ PCWSTR MachineName
,
1460 _Reserved_ PVOID Reserved
);
1462 WINSETUPAPI BOOL WINAPI
SetupDiGetClassDevPropertySheetsA(_In_ HDEVINFO
, _In_opt_ PSP_DEVINFO_DATA
, _In_ LPPROPSHEETHEADERA
, _In_ DWORD
, _Out_opt_ PDWORD
, _In_ DWORD
);
1463 WINSETUPAPI BOOL WINAPI
SetupDiGetClassDevPropertySheetsW(_In_ HDEVINFO
, _In_opt_ PSP_DEVINFO_DATA
, _In_ LPPROPSHEETHEADERW
, _In_ DWORD
, _Out_opt_ PDWORD
, _In_ DWORD
);
1464 _Check_return_ WINSETUPAPI HDEVINFO WINAPI
SetupDiGetClassDevsA(_In_opt_ CONST GUID
*, _In_opt_ PCSTR
, _In_opt_ HWND
, _In_ DWORD
);
1465 _Check_return_ WINSETUPAPI HDEVINFO WINAPI
SetupDiGetClassDevsW(_In_opt_ CONST GUID
*, _In_opt_ PCWSTR
, _In_opt_ HWND
, _In_ DWORD
);
1466 _Check_return_ WINSETUPAPI HDEVINFO WINAPI
SetupDiGetClassDevsExA(_In_opt_ CONST GUID
*, _In_opt_ PCSTR
, _In_opt_ HWND
, _In_ DWORD
, _In_opt_ HDEVINFO
, _In_opt_ PCSTR
, _Reserved_ PVOID
);
1467 _Check_return_ WINSETUPAPI HDEVINFO WINAPI
SetupDiGetClassDevsExW(_In_opt_ CONST GUID
*, _In_opt_ PCWSTR
, _In_opt_ HWND
, _In_ DWORD
, _In_opt_ HDEVINFO
, _In_opt_ PCWSTR
, _Reserved_ PVOID
);
1468 WINSETUPAPI BOOL WINAPI
SetupDiGetClassImageIndex(_In_ PSP_CLASSIMAGELIST_DATA
, _In_ CONST GUID
*, _Out_ PINT
);
1469 WINSETUPAPI BOOL WINAPI
SetupDiGetClassImageList(_Out_ PSP_CLASSIMAGELIST_DATA
);
1470 WINSETUPAPI BOOL WINAPI
SetupDiGetClassImageListExA(_Out_ PSP_CLASSIMAGELIST_DATA
, _In_opt_ PCSTR
, _Reserved_ PVOID
);
1471 WINSETUPAPI BOOL WINAPI
SetupDiGetClassImageListExW(_Out_ PSP_CLASSIMAGELIST_DATA
, _In_opt_ PCWSTR
, _Reserved_ PVOID
);
1473 _Success_(return != FALSE
)
1477 SetupDiGetClassInstallParamsA(
1478 _In_ HDEVINFO DeviceInfoSet
,
1479 _In_opt_ PSP_DEVINFO_DATA DeviceInfoData
,
1480 _Out_writes_bytes_to_opt_(ClassInstallParamsSize
, *RequiredSize
) PSP_CLASSINSTALL_HEADER ClassInstallParams
,
1481 _In_ DWORD ClassInstallParamsSize
,
1482 _Out_opt_ PDWORD RequiredSize
);
1484 _Success_(return != FALSE
)
1488 SetupDiGetClassInstallParamsW(
1489 _In_ HDEVINFO DeviceInfoSet
,
1490 _In_opt_ PSP_DEVINFO_DATA DeviceInfoData
,
1491 _Out_writes_bytes_to_opt_(ClassInstallParamsSize
, *RequiredSize
) PSP_CLASSINSTALL_HEADER ClassInstallParams
,
1492 _In_ DWORD ClassInstallParamsSize
,
1493 _Out_opt_ PDWORD RequiredSize
);
1495 _Success_(return != FALSE
)
1499 SetupDiGetClassRegistryPropertyA(
1500 _In_ CONST GUID
*ClassGuid
,
1501 _In_ DWORD Property
,
1502 _Out_opt_ PDWORD PropertyRegDataType
,
1503 _Out_writes_bytes_to_(PropertyBufferSize
, *RequiredSize
) PBYTE PropertyBuffer
,
1504 _In_ DWORD PropertyBufferSize
,
1505 _Out_opt_ PDWORD RequiredSize
,
1506 _In_opt_ PCSTR MachineName
,
1507 _Reserved_ PVOID Reserved
);
1509 _Success_(return != FALSE
)
1513 SetupDiGetClassRegistryPropertyW(
1514 _In_ CONST GUID
*ClassGuid
,
1515 _In_ DWORD Property
,
1516 _Out_opt_ PDWORD PropertyRegDataType
,
1517 _Out_writes_bytes_to_(PropertyBufferSize
, *RequiredSize
) PBYTE PropertyBuffer
,
1518 _In_ DWORD PropertyBufferSize
,
1519 _Out_opt_ PDWORD RequiredSize
,
1520 _In_opt_ PCWSTR MachineName
,
1521 _Reserved_ PVOID Reserved
);
1523 WINSETUPAPI BOOL WINAPI
SetupDiGetDeviceInfoListClass(_In_ HDEVINFO
, _Out_ LPGUID
);
1524 WINSETUPAPI BOOL WINAPI
SetupDiGetDeviceInfoListDetailA(_In_ HDEVINFO
, _Out_ PSP_DEVINFO_LIST_DETAIL_DATA_A
);
1525 WINSETUPAPI BOOL WINAPI
SetupDiGetDeviceInfoListDetailW(_In_ HDEVINFO
, _Out_ PSP_DEVINFO_LIST_DETAIL_DATA_W
);
1526 WINSETUPAPI BOOL WINAPI
SetupDiGetDeviceInstallParamsA(_In_ HDEVINFO
, _In_opt_ PSP_DEVINFO_DATA
, _Out_ PSP_DEVINSTALL_PARAMS_A
);
1527 WINSETUPAPI BOOL WINAPI
SetupDiGetDeviceInstallParamsW(_In_ HDEVINFO
, _In_opt_ PSP_DEVINFO_DATA
, _Out_ PSP_DEVINSTALL_PARAMS_W
);
1532 SetupDiGetDeviceInstanceIdA(
1533 _In_ HDEVINFO DeviceInfoSet
,
1534 _In_ PSP_DEVINFO_DATA DeviceInfoData
,
1535 _Out_writes_opt_(DeviceInstanceIdSize
) PSTR DeviceInstanceId
,
1536 _In_ DWORD DeviceInstanceIdSize
,
1537 _Out_opt_ PDWORD RequiredSize
);
1542 SetupDiGetDeviceInstanceIdW(
1543 _In_ HDEVINFO DeviceInfoSet
,
1544 _In_ PSP_DEVINFO_DATA DeviceInfoData
,
1545 _Out_writes_opt_(DeviceInstanceIdSize
) PWSTR DeviceInstanceId
,
1546 _In_ DWORD DeviceInstanceIdSize
,
1547 _Out_opt_ PDWORD RequiredSize
);
1549 WINSETUPAPI BOOL WINAPI
SetupDiGetDeviceInterfaceAlias(_In_ HDEVINFO
, _In_ PSP_DEVICE_INTERFACE_DATA
, _In_ CONST GUID
*, _Out_ PSP_DEVICE_INTERFACE_DATA
);
1551 _Success_(return != FALSE
)
1552 _At_((LPSTR
)DeviceInterfaceDetailData
->DevicePath
, _Post_z_
)
1556 SetupDiGetDeviceInterfaceDetailA(
1557 _In_ HDEVINFO DeviceInfoSet
,
1558 _In_ PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData
,
1559 _Inout_updates_bytes_to_opt_(DeviceInterfaceDetailDataSize
, *RequiredSize
) PSP_DEVICE_INTERFACE_DETAIL_DATA_A DeviceInterfaceDetailData
,
1560 _In_ DWORD DeviceInterfaceDetailDataSize
,
1561 _Out_opt_
_Out_range_(>=, sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA_A
)) PDWORD RequiredSize
,
1562 _Out_opt_ PSP_DEVINFO_DATA DeviceInfoData
);
1564 _Success_(return != FALSE
)
1565 _At_((LPWSTR
)DeviceInterfaceDetailData
->DevicePath
, _Post_z_
)
1569 SetupDiGetDeviceInterfaceDetailW(
1570 _In_ HDEVINFO DeviceInfoSet
,
1571 _In_ PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData
,
1572 _Out_writes_bytes_to_opt_(DeviceInterfaceDetailDataSize
, *RequiredSize
) PSP_DEVICE_INTERFACE_DETAIL_DATA_W DeviceInterfaceDetailData
,
1573 _In_ DWORD DeviceInterfaceDetailDataSize
,
1574 _Out_opt_
_Out_range_(>=, sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA_W
)) PDWORD RequiredSize
,
1575 _Out_opt_ PSP_DEVINFO_DATA DeviceInfoData
);
1577 _Success_(return != FALSE
)
1578 _When_((*PropertyRegDataType
== REG_SZ
), _At_((PSTR
) PropertyBuffer
, _Post_valid_
))
1579 _When_((*PropertyRegDataType
== REG_MULTI_SZ
), _At_((PZZSTR
) PropertyBuffer
, _Post_valid_
))
1583 SetupDiGetDeviceRegistryPropertyA(
1584 _In_ HDEVINFO DeviceInfoSet
,
1585 _In_ PSP_DEVINFO_DATA DeviceInfoData
,
1586 _In_ DWORD Property
,
1587 _Out_opt_ PDWORD PropertyRegDataType
,
1588 _Out_writes_bytes_to_opt_(PropertyBufferSize
, *RequiredSize
) PBYTE PropertyBuffer
,
1589 _In_ DWORD PropertyBufferSize
,
1590 _Out_opt_ PDWORD RequiredSize
);
1592 _Success_(return != FALSE
)
1593 _When_((*PropertyRegDataType
== REG_SZ
), _At_((PWSTR
) PropertyBuffer
, _Post_valid_
))
1594 _When_((*PropertyRegDataType
== REG_MULTI_SZ
), _At_((PZZWSTR
) PropertyBuffer
, _Post_valid_
))
1598 SetupDiGetDeviceRegistryPropertyW(
1599 _In_ HDEVINFO DeviceInfoSet
,
1600 _In_ PSP_DEVINFO_DATA DeviceInfoData
,
1601 _In_ DWORD Property
,
1602 _Out_opt_ PDWORD PropertyRegDataType
,
1603 _Out_writes_bytes_to_opt_(PropertyBufferSize
, *RequiredSize
) PBYTE PropertyBuffer
,
1604 _In_ DWORD PropertyBufferSize
,
1605 _Out_opt_ PDWORD RequiredSize
);
1610 SetupDiGetDriverInfoDetailA(
1611 _In_ HDEVINFO DeviceInfoSet
,
1612 _In_opt_ PSP_DEVINFO_DATA DeviceInfoData
,
1613 _In_ PSP_DRVINFO_DATA_A DriverInfoData
,
1614 _Inout_updates_bytes_opt_(DriverInfoDetailDataSize
) PSP_DRVINFO_DETAIL_DATA_A DriverInfoDetailData
,
1615 _In_ DWORD DriverInfoDetailDataSize
,
1616 _Out_opt_ PDWORD RequiredSize
);
1621 SetupDiGetDriverInfoDetailW(
1622 _In_ HDEVINFO DeviceInfoSet
,
1623 _In_opt_ PSP_DEVINFO_DATA DeviceInfoData
,
1624 _In_ PSP_DRVINFO_DATA_W DriverInfoData
,
1625 _Inout_updates_bytes_opt_(DriverInfoDetailDataSize
) PSP_DRVINFO_DETAIL_DATA_W DriverInfoDetailData
,
1626 _In_ DWORD DriverInfoDetailDataSize
,
1627 _Out_opt_ PDWORD RequiredSize
);
1629 WINSETUPAPI BOOL WINAPI
SetupDiGetDriverInstallParamsA(_In_ HDEVINFO
, _In_opt_ PSP_DEVINFO_DATA
, _In_ PSP_DRVINFO_DATA_A
, _Out_ PSP_DRVINSTALL_PARAMS
);
1630 WINSETUPAPI BOOL WINAPI
SetupDiGetDriverInstallParamsW(_In_ HDEVINFO
, _In_opt_ PSP_DEVINFO_DATA
, _In_ PSP_DRVINFO_DATA_W
, _Out_ PSP_DRVINSTALL_PARAMS
);
1635 SetupDiGetHwProfileFriendlyNameA(
1636 _In_ DWORD HwProfile
,
1637 _Out_writes_(FriendlyNameSize
) PSTR FriendlyName
,
1638 _In_ DWORD FriendlyNameSize
,
1639 _Out_opt_ PDWORD RequiredSize
);
1644 SetupDiGetHwProfileFriendlyNameW(
1645 _In_ DWORD HwProfile
,
1646 _Out_writes_(FriendlyNameSize
) PWSTR FriendlyName
,
1647 _In_ DWORD FriendlyNameSize
,
1648 _Out_opt_ PDWORD RequiredSize
);
1653 SetupDiGetHwProfileFriendlyNameExA(
1654 _In_ DWORD HwProfile
,
1655 _Out_writes_(FriendlyNameSize
) PSTR FriendlyName
,
1656 _In_ DWORD FriendlyNameSize
,
1657 _Out_opt_ PDWORD RequiredSize
,
1658 _In_opt_ PCSTR MachineName
,
1659 _Reserved_ PVOID Reserved
);
1664 SetupDiGetHwProfileFriendlyNameExW(
1665 _In_ DWORD HwProfile
,
1666 _Out_writes_(FriendlyNameSize
) PWSTR FriendlyName
,
1667 _In_ DWORD FriendlyNameSize
,
1668 _Out_opt_ PDWORD RequiredSize
,
1669 _In_opt_ PCWSTR MachineName
,
1670 _Reserved_ PVOID Reserved
);
1672 WINSETUPAPI BOOL WINAPI
SetupDiGetHwProfileFriendlyNameW(DWORD
,PWSTR
,DWORD
,PDWORD
);
1674 _Success_(return != FALSE
)
1678 SetupDiGetHwProfileList(
1679 _Out_writes_to_(HwProfileListSize
, *RequiredSize
) PDWORD HwProfileList
,
1680 _In_ DWORD HwProfileListSize
,
1681 _Out_ PDWORD RequiredSize
,
1682 _Out_opt_ PDWORD CurrentlyActiveIndex
);
1684 _Success_(return != FALSE
)
1688 SetupDiGetHwProfileListExA(
1689 _Out_writes_to_(HwProfileListSize
, *RequiredSize
) PDWORD HwProfileList
,
1690 _In_ DWORD HwProfileListSize
,
1691 _Out_ PDWORD RequiredSize
,
1692 _Out_opt_ PDWORD CurrentlyActiveIndex
,
1693 _In_opt_ PCSTR MachineName
,
1694 _Reserved_ PVOID Reserved
);
1696 _Success_(return != FALSE
)
1700 SetupDiGetHwProfileListExW(
1701 _Out_writes_to_(HwProfileListSize
, *RequiredSize
) PDWORD HwProfileList
,
1702 _In_ DWORD HwProfileListSize
,
1703 _Out_ PDWORD RequiredSize
,
1704 _Out_opt_ PDWORD CurrentlyActiveIndex
,
1705 _In_opt_ PCWSTR MachineName
,
1706 _Reserved_ PVOID Reserved
);
1711 SetupDiGetINFClassA(
1713 _Out_ LPGUID ClassGuid
,
1714 _Out_writes_(ClassNameSize
) PSTR ClassName
,
1715 _In_ DWORD ClassNameSize
,
1716 _Out_opt_ PDWORD RequiredSize
);
1721 SetupDiGetINFClassW(
1722 _In_ PCWSTR InfName
,
1723 _Out_ LPGUID ClassGuid
,
1724 _Out_writes_(ClassNameSize
) PWSTR ClassName
,
1725 _In_ DWORD ClassNameSize
,
1726 _Out_opt_ PDWORD RequiredSize
);
1728 WINSETUPAPI BOOL WINAPI
SetupDiGetSelectedDevice(_In_ HDEVINFO
, _Out_ PSP_DEVINFO_DATA
);
1729 WINSETUPAPI BOOL WINAPI
SetupDiGetSelectedDriverA(_In_ HDEVINFO
, _In_opt_ PSP_DEVINFO_DATA
, _Out_ PSP_DRVINFO_DATA_A
);
1730 WINSETUPAPI BOOL WINAPI
SetupDiGetSelectedDriverW(_In_ HDEVINFO
, _In_opt_ PSP_DEVINFO_DATA
, _Out_ PSP_DRVINFO_DATA_W
);
1731 WINSETUPAPI HPROPSHEETPAGE WINAPI
SetupDiGetWizardPage(_In_ HDEVINFO
, _In_opt_ PSP_DEVINFO_DATA
, _In_ PSP_INSTALLWIZARD_DATA
, _In_ DWORD
, _In_ DWORD
);
1732 WINSETUPAPI BOOL WINAPI
SetupDiInstallClassA(_In_opt_ HWND
, _In_ PCSTR
, _In_ DWORD
, _In_opt_ HSPFILEQ
);
1733 WINSETUPAPI BOOL WINAPI
SetupDiInstallClassW(_In_opt_ HWND
, _In_ PCWSTR
, _In_ DWORD
, _In_opt_ HSPFILEQ
);
1734 WINSETUPAPI BOOL WINAPI
SetupDiInstallClassExA(_In_opt_ HWND
, _In_opt_ PCSTR
, _In_ DWORD
, _In_opt_ HSPFILEQ
, _In_opt_ CONST GUID
*, _Reserved_ PVOID
, _Reserved_ PVOID
);
1735 WINSETUPAPI BOOL WINAPI
SetupDiInstallClassExW(_In_opt_ HWND
, _In_opt_ PCWSTR
, _In_ DWORD
, _In_opt_ HSPFILEQ
, _In_opt_ CONST GUID
*, _Reserved_ PVOID
, _Reserved_ PVOID
);
1736 WINSETUPAPI BOOL WINAPI
SetupDiInstallDevice(_In_ HDEVINFO
, _Inout_ PSP_DEVINFO_DATA
);
1737 WINSETUPAPI BOOL WINAPI
SetupDiInstallDeviceInterfaces(_In_ HDEVINFO
, _In_ PSP_DEVINFO_DATA
);
1738 WINSETUPAPI BOOL WINAPI
SetupDiInstallDriverFiles(_In_ HDEVINFO
, _In_ PSP_DEVINFO_DATA
);
1739 WINSETUPAPI BOOL WINAPI
SetupDiLoadClassIcon(_In_ CONST GUID
*, _Out_opt_ HICON
*, _Out_opt_ PINT
);
1740 WINSETUPAPI BOOL WINAPI
SetupDiMoveDuplicateDevice(HDEVINFO
,PSP_DEVINFO_DATA
);
1741 _Check_return_ WINSETUPAPI HKEY WINAPI
SetupDiOpenClassRegKey(_In_opt_ CONST GUID
*, _In_ REGSAM
);
1742 _Check_return_ WINSETUPAPI HKEY WINAPI
SetupDiOpenClassRegKeyExA(_In_opt_ CONST GUID
*, _In_ REGSAM
, _In_ DWORD
, _In_opt_ PCSTR
, _Reserved_ PVOID
);
1743 _Check_return_ WINSETUPAPI HKEY WINAPI
SetupDiOpenClassRegKeyExW(_In_opt_ CONST GUID
*, _In_ REGSAM
, _In_ DWORD
, _In_opt_ PCWSTR
, _Reserved_ PVOID
);
1744 WINSETUPAPI BOOL WINAPI
SetupDiOpenDeviceInfoA(_In_ HDEVINFO
, _In_ PCSTR
, _In_opt_ HWND
, _In_ DWORD
, _Out_opt_ PSP_DEVINFO_DATA
);
1745 WINSETUPAPI BOOL WINAPI
SetupDiOpenDeviceInfoW(_In_ HDEVINFO
, _In_ PCWSTR
, _In_opt_ HWND
, _In_ DWORD
, _Out_opt_ PSP_DEVINFO_DATA
);
1746 WINSETUPAPI BOOL WINAPI
SetupDiOpenDeviceInterfaceA(_In_ HDEVINFO
, _In_ PCSTR
, _In_ DWORD
, _Out_opt_ PSP_DEVICE_INTERFACE_DATA
);
1747 WINSETUPAPI BOOL WINAPI
SetupDiOpenDeviceInterfaceW(_In_ HDEVINFO
, _In_ PCWSTR
, _In_ DWORD
, _Out_opt_ PSP_DEVICE_INTERFACE_DATA
);
1748 _Check_return_ WINSETUPAPI HKEY WINAPI
SetupDiOpenDeviceInterfaceRegKey(_In_ HDEVINFO
, _In_ PSP_DEVICE_INTERFACE_DATA
, _Reserved_ DWORD
, _In_ REGSAM
);
1749 _Check_return_ WINSETUPAPI HKEY WINAPI
SetupDiOpenDevRegKey(_In_ HDEVINFO
, _In_ PSP_DEVINFO_DATA
, _In_ DWORD
, _In_ DWORD
, _In_ DWORD
, _In_ REGSAM
);
1750 WINSETUPAPI BOOL WINAPI
SetupDiRegisterCoDeviceInstallers(_In_ HDEVINFO
, _In_ PSP_DEVINFO_DATA
);
1751 WINSETUPAPI BOOL WINAPI
SetupDiRegisterDeviceInfo(_In_ HDEVINFO
, _Inout_ PSP_DEVINFO_DATA
, _In_ DWORD
, _In_opt_ PSP_DETSIG_CMPPROC
, _In_opt_ PVOID
, _Out_opt_ PSP_DEVINFO_DATA
);
1752 WINSETUPAPI BOOL WINAPI
SetupDiRemoveDevice(_In_ HDEVINFO
, _Inout_ PSP_DEVINFO_DATA
);
1753 WINSETUPAPI BOOL WINAPI
SetupDiRemoveDeviceInterface(_In_ HDEVINFO
, _Inout_ PSP_DEVICE_INTERFACE_DATA
);
1754 WINSETUPAPI BOOL WINAPI
SetupDiSelectBestCompatDrv(_In_ HDEVINFO
, _Inout_opt_ PSP_DEVINFO_DATA
);
1755 WINSETUPAPI BOOL WINAPI
SetupDiSelectDevice(_In_ HDEVINFO
, _Inout_opt_ PSP_DEVINFO_DATA
);
1756 WINSETUPAPI BOOL WINAPI
SetupDiSelectOEMDrv(_In_opt_ HWND
, _In_ HDEVINFO
, _In_opt_ PSP_DEVINFO_DATA
);
1761 SetupDiSetClassInstallParamsA(
1762 _In_ HDEVINFO DeviceInfoSet
,
1763 _In_opt_ PSP_DEVINFO_DATA DeviceInfoData
,
1764 _In_reads_bytes_opt_(ClassInstallParamsSize
) PSP_CLASSINSTALL_HEADER ClassInstallParams
,
1765 _In_ DWORD ClassInstallParamsSize
);
1770 SetupDiSetClassInstallParamsW(
1771 _In_ HDEVINFO DeviceInfoSet
,
1772 _In_opt_ PSP_DEVINFO_DATA DeviceInfoData
,
1773 _In_reads_bytes_opt_(ClassInstallParamsSize
) PSP_CLASSINSTALL_HEADER ClassInstallParams
,
1774 _In_ DWORD ClassInstallParamsSize
);
1779 SetupDiSetClassRegistryPropertyA(
1780 _In_ CONST GUID
*ClassGuid
,
1781 _In_ DWORD Property
,
1782 _In_reads_bytes_opt_(PropertyBufferSize
) CONST BYTE
*PropertyBuffer
,
1783 _In_ DWORD PropertyBufferSize
,
1784 _In_opt_ PCSTR MachineName
,
1785 _Reserved_ PVOID Reserved
);
1790 SetupDiSetClassRegistryPropertyW(
1791 _In_ CONST GUID
*ClassGuid
,
1792 _In_ DWORD Property
,
1793 _In_reads_bytes_opt_(PropertyBufferSize
) CONST BYTE
*PropertyBuffer
,
1794 _In_ DWORD PropertyBufferSize
,
1795 _In_opt_ PCWSTR MachineName
,
1796 _Reserved_ PVOID Reserved
);
1798 WINSETUPAPI BOOL WINAPI
SetupDiSetDeviceInstallParamsA(_In_ HDEVINFO
, _In_opt_ PSP_DEVINFO_DATA
, _In_ PSP_DEVINSTALL_PARAMS_A
);
1799 WINSETUPAPI BOOL WINAPI
SetupDiSetDeviceInstallParamsW(_In_ HDEVINFO
, _In_opt_ PSP_DEVINFO_DATA
, _In_ PSP_DEVINSTALL_PARAMS_W
);
1804 SetupDiSetDeviceRegistryPropertyA(
1805 _In_ HDEVINFO DeviceInfoSet
,
1806 _Inout_ PSP_DEVINFO_DATA DeviceInfoData
,
1807 _In_ DWORD Property
,
1808 _In_reads_bytes_opt_(PropertyBufferSize
) CONST BYTE
*PropertyBuffer
,
1809 _In_ DWORD PropertyBufferSize
);
1814 SetupDiSetDeviceRegistryPropertyW(
1815 _In_ HDEVINFO DeviceInfoSet
,
1816 _Inout_ PSP_DEVINFO_DATA DeviceInfoData
,
1817 _In_ DWORD Property
,
1818 _In_reads_bytes_opt_(PropertyBufferSize
) CONST BYTE
*PropertyBuffer
,
1819 _In_ DWORD PropertyBufferSize
);
1821 WINSETUPAPI BOOL WINAPI
SetupDiSetDriverInstallParamsA(_In_ HDEVINFO
, _In_opt_ PSP_DEVINFO_DATA
, _In_ PSP_DRVINFO_DATA_A
, _In_ PSP_DRVINSTALL_PARAMS
);
1822 WINSETUPAPI BOOL WINAPI
SetupDiSetDriverInstallParamsW(_In_ HDEVINFO
, _In_opt_ PSP_DEVINFO_DATA
, _In_ PSP_DRVINFO_DATA_W
, _In_ PSP_DRVINSTALL_PARAMS
);
1823 WINSETUPAPI BOOL WINAPI
SetupDiSetSelectedDevice(_In_ HDEVINFO
, _In_ PSP_DEVINFO_DATA
);
1824 WINSETUPAPI BOOL WINAPI
SetupDiSetSelectedDriverA(_In_ HDEVINFO
, _Inout_opt_ PSP_DEVINFO_DATA
, _Inout_opt_ PSP_DRVINFO_DATA_A
);
1825 WINSETUPAPI BOOL WINAPI
SetupDiSetSelectedDriverW(_In_ HDEVINFO
, _Inout_opt_ PSP_DEVINFO_DATA
, _Inout_opt_ PSP_DRVINFO_DATA_W
);
1826 WINSETUPAPI BOOL WINAPI
SetupDiUnremoveDevice(_In_ HDEVINFO
, _Inout_ PSP_DEVINFO_DATA
);
1827 WINSETUPAPI HDSKSPC WINAPI
SetupDuplicateDiskSpaceListA(_In_ HDSKSPC
, _Reserved_ PVOID
, _Reserved_ DWORD
, _In_ UINT
);
1828 WINSETUPAPI HDSKSPC WINAPI
SetupDuplicateDiskSpaceListW(_In_ HDSKSPC
, _Reserved_ PVOID
, _Reserved_ DWORD
, _In_ UINT
);
1829 WINSETUPAPI BOOL WINAPI
SetupFindFirstLineA(_In_ HINF
, _In_ PCSTR
, _In_opt_ PCSTR
, _Out_ PINFCONTEXT
);
1830 WINSETUPAPI BOOL WINAPI
SetupFindFirstLineW(_In_ HINF
, _In_ PCWSTR
, _In_opt_ PCWSTR
, _Out_ PINFCONTEXT
);
1831 WINSETUPAPI BOOL WINAPI
SetupFindNextLine(_In_ PINFCONTEXT
, _Out_ PINFCONTEXT
);
1832 WINSETUPAPI BOOL WINAPI
SetupFindNextMatchLineA(_In_ PINFCONTEXT
, _In_opt_ PCSTR
, _Out_ PINFCONTEXT
);
1833 WINSETUPAPI BOOL WINAPI
SetupFindNextMatchLineW(_In_ PINFCONTEXT
, _In_opt_ PCWSTR
, _Out_ PINFCONTEXT
);
1834 WINSETUPAPI BOOL WINAPI
SetupFreeA(PCSTR
**,UINT
);
1835 WINSETUPAPI BOOL WINAPI
SetupFreeW(PCWSTR
**,UINT
);
1836 WINSETUPAPI BOOL WINAPI
SetupGetBackupInformationA(_In_ HSPFILEQ
, _Inout_ PSP_BACKUP_QUEUE_PARAMS_A
);
1837 WINSETUPAPI BOOL WINAPI
SetupGetBackupInformationW(_In_ HSPFILEQ
, _Inout_ PSP_BACKUP_QUEUE_PARAMS_W
);
1839 _Success_(return != FALSE
)
1843 SetupGetBinaryField(
1844 _In_ PINFCONTEXT Context
,
1845 _In_ DWORD FieldIndex
,
1846 _Out_writes_bytes_to_opt_(ReturnBufferSize
, *RequiredSize
) PBYTE ReturnBuffer
,
1847 _In_ DWORD ReturnBufferSize
,
1848 _Out_opt_ LPDWORD RequiredSize
);
1850 WINSETUPAPI DWORD WINAPI
SetupGetFieldCount(_In_ PINFCONTEXT
);
1851 WINSETUPAPI DWORD WINAPI
SetupGetFileCompressionInfoA(_In_ PCSTR
, _Out_ PSTR
*, _Out_ PDWORD
, _Out_ PDWORD
, _Out_ PUINT
);
1852 WINSETUPAPI DWORD WINAPI
SetupGetFileCompressionInfoW(_In_ PCWSTR
, _Out_ PWSTR
*, _Out_ PDWORD
, _Out_ PDWORD
, _Out_ PUINT
);
1857 SetupGetFileCompressionInfoExA(
1858 _In_ PCSTR SourceFileName
,
1859 _In_reads_opt_(ActualSourceFileNameBufferLen
) PSTR ActualSourceFileNameBuffer
,
1860 _In_ DWORD ActualSourceFileNameBufferLen
,
1861 _Out_opt_ PDWORD RequiredBufferLen
,
1862 _Out_ PDWORD SourceFileSize
,
1863 _Out_ PDWORD TargetFileSize
,
1864 _Out_ PUINT CompressionType
);
1869 SetupGetFileCompressionInfoExW(
1870 _In_ PCWSTR SourceFileName
,
1871 _In_reads_opt_(ActualSourceFileNameBufferLen
) PWSTR ActualSourceFileNameBuffer
,
1872 _In_ DWORD ActualSourceFileNameBufferLen
,
1873 _Out_opt_ PDWORD RequiredBufferLen
,
1874 _Out_ PDWORD SourceFileSize
,
1875 _Out_ PDWORD TargetFileSize
,
1876 _Out_ PUINT CompressionType
);
1881 SetupGetInfFileListA(
1882 _In_opt_ PCSTR DirectoryPath
,
1883 _In_ DWORD InfStyle
,
1884 _Out_writes_opt_(ReturnBufferSize
) PSTR ReturnBuffer
,
1885 _In_ DWORD ReturnBufferSize
,
1886 _Out_opt_ PDWORD RequiredSize
);
1891 SetupGetInfFileListW(
1892 _In_opt_ PCWSTR DirectoryPath
,
1893 _In_ DWORD InfStyle
,
1894 _Out_writes_(ReturnBufferSize
) PWSTR ReturnBuffer
,
1895 _In_ DWORD ReturnBufferSize
,
1896 _Out_opt_ PDWORD RequiredSize
);
1898 _Success_(return != FALSE
)
1902 SetupGetInfInformationA(
1903 _In_ LPCVOID InfSpec
,
1904 _In_ DWORD SearchControl
,
1905 _Out_writes_bytes_to_opt_(ReturnBufferSize
, *RequiredSize
) PSP_INF_INFORMATION ReturnBuffer
,
1906 _In_ DWORD ReturnBufferSize
,
1907 _Out_opt_ PDWORD RequiredSize
);
1909 _Success_(return != FALSE
)
1913 SetupGetInfInformationW(
1914 _In_ LPCVOID InfSpec
,
1915 _In_ DWORD SearchControl
,
1916 _Out_writes_bytes_to_opt_(ReturnBufferSize
, *RequiredSize
) PSP_INF_INFORMATION ReturnBuffer
,
1917 _In_ DWORD ReturnBufferSize
,
1918 _Out_opt_ PDWORD RequiredSize
);
1920 WINSETUPAPI BOOL WINAPI
SetupGetIntField(_In_ PINFCONTEXT
, _In_ DWORD
, _Out_ PINT
);
1921 WINSETUPAPI BOOL WINAPI
SetupGetLineByIndexA(_In_ HINF
, _In_ PCSTR
, _In_ DWORD
, _Out_ PINFCONTEXT
);
1922 WINSETUPAPI BOOL WINAPI
SetupGetLineByIndexW(_In_ HINF
, _In_ PCWSTR
, _In_ DWORD
, _Out_ PINFCONTEXT
);
1923 WINSETUPAPI LONG WINAPI
SetupGetLineCountA(_In_ HINF
, _In_ PCSTR
);
1924 WINSETUPAPI LONG WINAPI
SetupGetLineCountW(_In_ HINF
, _In_ PCWSTR
);
1930 _In_opt_ PINFCONTEXT Context
,
1931 _In_opt_ HINF InfHandle
,
1932 _In_opt_ PCSTR Section
,
1934 _Out_writes_opt_(ReturnBufferSize
) PSTR ReturnBuffer
,
1935 _In_ DWORD ReturnBufferSize
,
1936 _Out_opt_ PDWORD RequiredSize
);
1942 _In_opt_ PINFCONTEXT Context
,
1943 _In_opt_ HINF InfHandle
,
1944 _In_opt_ PCWSTR Section
,
1945 _In_opt_ PCWSTR Key
,
1946 _Out_writes_opt_(ReturnBufferSize
) PWSTR ReturnBuffer
,
1947 _In_ DWORD ReturnBufferSize
,
1948 _Out_opt_ PDWORD RequiredSize
);
1953 SetupGetMultiSzFieldA(
1954 _In_ PINFCONTEXT Context
,
1955 _In_ DWORD FieldIndex
,
1956 _Out_writes_opt_(ReturnBufferSize
) PSTR ReturnBuffer
,
1957 _In_ DWORD ReturnBufferSize
,
1958 _Out_opt_ LPDWORD RequiredSize
);
1963 SetupGetMultiSzFieldW(
1964 _In_ PINFCONTEXT Context
,
1965 _In_ DWORD FieldIndex
,
1966 _Out_writes_opt_(ReturnBufferSize
) PWSTR ReturnBuffer
,
1967 _In_ DWORD ReturnBufferSize
,
1968 _Out_opt_ LPDWORD RequiredSize
);
1973 SetupGetSourceFileLocationA(
1974 _In_ HINF InfHandle
,
1975 _In_opt_ PINFCONTEXT InfContext
,
1976 _In_opt_ PCSTR FileName
,
1977 _Out_ PUINT SourceId
,
1978 _Out_writes_opt_(ReturnBufferSize
) PSTR ReturnBuffer
,
1979 _In_ DWORD ReturnBufferSize
,
1980 _Out_opt_ PDWORD RequiredSize
);
1985 SetupGetSourceFileLocationW(
1986 _In_ HINF InfHandle
,
1987 _In_opt_ PINFCONTEXT InfContext
,
1988 _In_opt_ PCWSTR FileName
,
1989 _Out_ PUINT SourceId
,
1990 _Out_writes_opt_(ReturnBufferSize
) PWSTR ReturnBuffer
,
1991 _In_ DWORD ReturnBufferSize
,
1992 _Out_opt_ PDWORD RequiredSize
);
1994 WINSETUPAPI BOOL WINAPI
SetupGetSourceFileSizeA(_In_ HINF
, _In_opt_ PINFCONTEXT
, _In_opt_ PCSTR
, _In_opt_ PCSTR
, _Out_ PDWORD
, _In_ UINT
);
1995 WINSETUPAPI BOOL WINAPI
SetupGetSourceFileSizeW(_In_ HINF
, _In_opt_ PINFCONTEXT
, _In_opt_ PCWSTR
, _In_opt_ PCWSTR
, _Out_ PDWORD
, _In_ UINT
);
2000 SetupGetSourceInfoA(
2001 _In_ HINF InfHandle
,
2003 _In_ UINT InfoDesired
,
2004 _Out_writes_opt_(ReturnBufferSize
) PSTR ReturnBuffer
,
2005 _In_ DWORD ReturnBufferSize
,
2006 _Out_opt_ PDWORD RequiredSize
);
2011 SetupGetSourceInfoW(
2012 _In_ HINF InfHandle
,
2014 _In_ UINT InfoDesired
,
2015 _Out_writes_opt_(ReturnBufferSize
) PWSTR ReturnBuffer
,
2016 _In_ DWORD ReturnBufferSize
,
2017 _Out_opt_ PDWORD RequiredSize
);
2022 SetupGetStringFieldA(
2023 _In_ PINFCONTEXT Context
,
2024 _In_ DWORD FieldIndex
,
2025 _Out_writes_opt_(ReturnBufferSize
) PSTR ReturnBuffer
,
2026 _In_ DWORD ReturnBufferSize
,
2027 _Out_opt_ PDWORD RequiredSize
);
2032 SetupGetStringFieldW(
2033 _In_ PINFCONTEXT Context
,
2034 _In_ DWORD FieldIndex
,
2035 _Out_writes_opt_(ReturnBufferSize
) PWSTR ReturnBuffer
,
2036 _In_ DWORD ReturnBufferSize
,
2037 _Out_opt_ PDWORD RequiredSize
);
2042 SetupGetTargetPathA(
2043 _In_ HINF InfHandle
,
2044 _In_opt_ PINFCONTEXT InfContext
,
2045 _In_opt_ PCSTR Section
,
2046 _Out_writes_opt_(ReturnBufferSize
) PSTR ReturnBuffer
,
2047 _In_ DWORD ReturnBufferSize
,
2048 _Out_opt_ PDWORD RequiredSize
);
2053 SetupGetTargetPathW(
2054 _In_ HINF InfHandle
,
2055 _In_opt_ PINFCONTEXT InfContext
,
2056 _In_opt_ PCWSTR Section
,
2057 _Out_writes_opt_(ReturnBufferSize
) PWSTR ReturnBuffer
,
2058 _In_ DWORD ReturnBufferSize
,
2059 _Out_opt_ PDWORD RequiredSize
);
2061 WINSETUPAPI PVOID WINAPI
SetupInitDefaultQueueCallback(_In_opt_ HWND
);
2062 WINSETUPAPI PVOID WINAPI
SetupInitDefaultQueueCallbackEx(_In_opt_ HWND
, _In_opt_ HWND
, _In_ UINT
, _Reserved_ DWORD
, _Reserved_ PVOID
);
2063 WINSETUPAPI HSPFILELOG WINAPI
SetupInitializeFileLogA(_In_opt_ PCSTR
, _In_ DWORD
);
2064 WINSETUPAPI HSPFILELOG WINAPI
SetupInitializeFileLogW(_In_opt_ PCWSTR
, _In_ DWORD
);
2065 WINSETUPAPI BOOL WINAPI
SetupInstallFileA(_In_opt_ HINF
, _In_opt_ PINFCONTEXT
, _In_opt_ PCSTR
, _In_opt_ PCSTR
, _In_opt_ PCSTR
, _In_ DWORD
, _In_opt_ PSP_FILE_CALLBACK_A
, _In_opt_ PVOID
);
2066 WINSETUPAPI BOOL WINAPI
SetupInstallFileW(_In_opt_ HINF
, _In_opt_ PINFCONTEXT
, _In_opt_ PCWSTR
, _In_opt_ PCWSTR
, _In_opt_ PCWSTR
, _In_ DWORD
, _In_opt_ PSP_FILE_CALLBACK_W
, _In_opt_ PVOID
);
2067 WINSETUPAPI BOOL WINAPI
SetupInstallFileExA(_In_opt_ HINF
, _In_opt_ PINFCONTEXT
, _In_opt_ PCSTR
, _In_opt_ PCSTR
, _In_opt_ PCSTR
, _In_ DWORD
, _In_opt_ PSP_FILE_CALLBACK_A
, _In_opt_ PVOID
, _Out_ PBOOL
);
2068 WINSETUPAPI BOOL WINAPI
SetupInstallFileExW(_In_opt_ HINF
, _In_opt_ PINFCONTEXT
, _In_opt_ PCWSTR
, _In_opt_ PCWSTR
, _In_opt_ PCWSTR
, _In_ DWORD
, _In_opt_ PSP_FILE_CALLBACK_W
, _In_opt_ PVOID
, _Out_ PBOOL
);
2069 WINSETUPAPI BOOL WINAPI
SetupInstallFilesFromInfSectionA(_In_ HINF
, _In_opt_ HINF
, _In_ HSPFILEQ
, _In_ PCSTR
, _In_opt_ PCSTR
, _In_ UINT
);
2070 WINSETUPAPI BOOL WINAPI
SetupInstallFilesFromInfSectionW(_In_ HINF
, _In_opt_ HINF
, _In_ HSPFILEQ
, _In_ PCWSTR
, _In_opt_ PCWSTR
, _In_ UINT
);
2071 WINSETUPAPI BOOL WINAPI
SetupInstallFromInfSectionA(_In_opt_ HWND
, _In_ HINF
, _In_ PCSTR
, _In_ UINT
, _In_opt_ HKEY
, _In_opt_ PCSTR
, _In_ UINT
, _In_opt_ PSP_FILE_CALLBACK_A
, _In_opt_ PVOID
, _In_opt_ HDEVINFO
, _In_opt_ PSP_DEVINFO_DATA
);
2072 WINSETUPAPI BOOL WINAPI
SetupInstallFromInfSectionW(_In_opt_ HWND
, _In_ HINF
, _In_ PCWSTR
, _In_ UINT
, _In_opt_ HKEY
, _In_opt_ PCWSTR
, _In_ UINT
, _In_opt_ PSP_FILE_CALLBACK_W
, _In_opt_ PVOID
, _In_opt_ HDEVINFO
, _In_opt_ PSP_DEVINFO_DATA
);
2073 WINSETUPAPI BOOL WINAPI
SetupInstallServicesFromInfSectionA(_In_ HINF
, _In_ PCSTR
, _In_ DWORD
);
2074 WINSETUPAPI BOOL WINAPI
SetupInstallServicesFromInfSectionW(_In_ HINF
, _In_ PCWSTR
, _In_ DWORD
);
2075 WINSETUPAPI BOOL WINAPI
SetupInstallServicesFromInfSectionExA(_In_ HINF
, _In_ PCSTR
, _In_ DWORD
, _In_opt_ HDEVINFO
, _In_opt_ PSP_DEVINFO_DATA
, _Reserved_ PVOID
, _Reserved_ PVOID
);
2076 WINSETUPAPI BOOL WINAPI
SetupInstallServicesFromInfSectionExW(_In_ HINF
, _In_ PCWSTR
, _In_ DWORD
, _In_opt_ HDEVINFO
, _In_opt_ PSP_DEVINFO_DATA
, _Reserved_ PVOID
, _Reserved_ PVOID
);
2077 WINSETUPAPI BOOL WINAPI
SetupIterateCabinetA(_In_ PCSTR
, _Reserved_ DWORD
, _In_ PSP_FILE_CALLBACK_A
, _In_ PVOID
);
2078 WINSETUPAPI BOOL WINAPI
SetupIterateCabinetW(_In_ PCWSTR
, _Reserved_ DWORD
, _In_ PSP_FILE_CALLBACK_W
, _In_ PVOID
);
2079 WINSETUPAPI BOOL WINAPI
SetupLogErrorA(_In_ LPCSTR
, _In_ LogSeverity
);
2080 WINSETUPAPI BOOL WINAPI
SetupLogErrorW(_In_ LPCWSTR
, _In_ LogSeverity
);
2081 WINSETUPAPI BOOL WINAPI
SetupLogFileA(_In_ HSPFILELOG
, _In_opt_ PCSTR
, _In_ PCSTR
, _In_ PCSTR
, _In_ DWORD
, _In_opt_ PCSTR
, _In_opt_ PCSTR
, _In_opt_ PCSTR
, _In_ DWORD
);
2082 WINSETUPAPI BOOL WINAPI
SetupLogFileW(_In_ HSPFILELOG
, _In_opt_ PCWSTR
, _In_ PCWSTR
, _In_ PCWSTR
, _In_ DWORD
, _In_opt_ PCWSTR
, _In_opt_ PCWSTR
, _In_opt_ PCWSTR
, _In_ DWORD
);
2087 SetupOpenAppendInfFileA(
2088 _In_opt_ PCSTR FileName
,
2089 _In_ HINF InfHandle
,
2090 _Out_opt_ PUINT ErrorLine
);
2095 SetupOpenAppendInfFileW(
2096 _In_opt_ PCWSTR FileName
,
2097 _In_ HINF InfHandle
,
2098 _Out_opt_ PUINT ErrorLine
);
2100 WINSETUPAPI HSPFILEQ WINAPI
SetupOpenFileQueue(VOID
);
2106 _In_ PCSTR FileName
,
2107 _In_opt_ PCSTR InfClass
,
2108 _In_ DWORD InfStyle
,
2109 _Out_opt_ PUINT ErrorLine
);
2115 _In_ PCWSTR FileName
,
2116 _In_opt_ PCWSTR InfClass
,
2117 _In_ DWORD InfStyle
,
2118 _Out_opt_ PUINT ErrorLine
);
2120 WINSETUPAPI BOOL WINAPI
SetupOpenLog(_In_ BOOL
);
2121 WINSETUPAPI HINF WINAPI
SetupOpenMasterInf(VOID
);
2126 SetupPromptForDiskA(
2127 _In_ HWND hwndParent
,
2128 _In_opt_ PCSTR DialogTitle
,
2129 _In_opt_ PCSTR DiskName
,
2130 _In_opt_ PCSTR PathToSource
,
2131 _In_ PCSTR FileSought
,
2132 _In_opt_ PCSTR TagFile
,
2133 _In_ DWORD DiskPromptStyle
,
2134 _Out_writes_opt_(PathBufferSize
) PSTR PathBuffer
,
2135 _In_ DWORD PathBufferSize
,
2136 _Out_opt_ PDWORD PathRequiredSize
);
2141 SetupPromptForDiskW(
2142 _In_ HWND hwndParent
,
2143 _In_opt_ PCWSTR DialogTitle
,
2144 _In_opt_ PCWSTR DiskName
,
2145 _In_opt_ PCWSTR PathToSource
,
2146 _In_ PCWSTR FileSought
,
2147 _In_opt_ PCWSTR TagFile
,
2148 _In_ DWORD DiskPromptStyle
,
2149 _Out_writes_opt_(PathBufferSize
) PWSTR PathBuffer
,
2150 _In_ DWORD PathBufferSize
,
2151 _Out_opt_ PDWORD PathRequiredSize
);
2153 WINSETUPAPI INT WINAPI
SetupPromptReboot(_In_opt_ HSPFILEQ
, _In_opt_ HWND
, _In_ BOOL
);
2154 WINSETUPAPI BOOL WINAPI
SetupQueryA(DWORD
,PCSTR
**,PUINT
);
2155 WINSETUPAPI BOOL WINAPI
SetupQueryW(DWORD
,PCWSTR
**,PUINT
);
2160 SetupQueryDrivesInDiskSpaceListA(
2161 _In_ HDSKSPC DiskSpace
,
2162 _Out_writes_opt_(ReturnBufferSize
) PSTR ReturnBuffer
,
2163 _In_ DWORD ReturnBufferSize
,
2164 _Out_opt_ PDWORD RequiredSize
);
2169 SetupQueryDrivesInDiskSpaceListW(
2170 _In_ HDSKSPC DiskSpace
,
2171 _Out_writes_opt_(ReturnBufferSize
) PWSTR ReturnBuffer
,
2172 _In_ DWORD ReturnBufferSize
,
2173 _Out_opt_ PDWORD RequiredSize
);
2179 _In_ HSPFILELOG FileLogHandle
,
2180 _In_opt_ PCSTR LogSectionName
,
2181 _In_ PCSTR TargetFilename
,
2182 _In_ SetupFileLogInfo DesiredInfo
,
2183 _Out_writes_opt_(ReturnBufferSize
) PSTR DataOut
,
2184 _In_ DWORD ReturnBufferSize
,
2185 _Out_opt_ PDWORD RequiredSize
);
2191 _In_ HSPFILELOG FileLogHandle
,
2192 _In_opt_ PCWSTR LogSectionName
,
2193 _In_ PCWSTR TargetFilename
,
2194 _In_ SetupFileLogInfo DesiredInfo
,
2195 _Out_writes_opt_(ReturnBufferSize
) PWSTR DataOut
,
2196 _In_ DWORD ReturnBufferSize
,
2197 _Out_opt_ PDWORD RequiredSize
);
2202 SetupQueryInfFileInformationA(
2203 _In_ PSP_INF_INFORMATION InfInformation
,
2205 _Out_writes_opt_(ReturnBufferSize
) PSTR ReturnBuffer
,
2206 _In_ DWORD ReturnBufferSize
,
2207 _Out_opt_ PDWORD RequiredSize
);
2212 SetupQueryInfFileInformationW(
2213 _In_ PSP_INF_INFORMATION InfInformation
,
2215 _Out_writes_opt_(ReturnBufferSize
) PWSTR ReturnBuffer
,
2216 _In_ DWORD ReturnBufferSize
,
2217 _Out_opt_ PDWORD RequiredSize
);
2222 SetupQueryInfOriginalFileInformationA(
2223 _In_ PSP_INF_INFORMATION InfInformation
,
2225 _In_opt_ PSP_ALTPLATFORM_INFO AlternatePlatformInfo
,
2226 _Out_ PSP_ORIGINAL_FILE_INFO_A OriginalFileInfo
);
2231 SetupQueryInfOriginalFileInformationW(
2232 _In_ PSP_INF_INFORMATION InfInformation
,
2234 _In_opt_ PSP_ALTPLATFORM_INFO AlternatePlatformInfo
,
2235 _Out_ PSP_ORIGINAL_FILE_INFO_W OriginalFileInfo
);
2240 SetupQueryInfVersionInformationA(
2241 _In_ PSP_INF_INFORMATION InfInformation
,
2244 _Out_writes_opt_(ReturnBufferSize
) PSTR ReturnBuffer
,
2245 _In_ DWORD ReturnBufferSize
,
2246 _Out_opt_ PDWORD RequiredSize
);
2251 SetupQueryInfVersionInformationW(
2252 _In_ PSP_INF_INFORMATION InfInformation
,
2254 _In_opt_ PCWSTR Key
,
2255 _Out_writes_opt_(ReturnBufferSize
) PWSTR ReturnBuffer
,
2256 _In_ DWORD ReturnBufferSize
,
2257 _Out_opt_ PDWORD RequiredSize
);
2259 WINSETUPAPI BOOL WINAPI
SetupQuerySpaceRequiredOnDriveA(_In_ HDSKSPC
, _In_ PCSTR
, _Out_ LONGLONG
*, _Reserved_ PVOID
, _Reserved_ UINT
);
2260 WINSETUPAPI BOOL WINAPI
SetupQuerySpaceRequiredOnDriveW(_In_ HDSKSPC
, _In_ PCWSTR
, _Out_ LONGLONG
*, _Reserved_ PVOID
, _Reserved_ UINT
);
2261 WINSETUPAPI BOOL WINAPI
SetupQueueCopyA(_In_ HSPFILEQ
, _In_opt_ PCSTR
, _In_opt_ PCSTR
, _In_ PCSTR
, _In_opt_ PCSTR
, _In_opt_ PCSTR
, _In_ PCSTR
, _In_opt_ PCSTR
, _In_ DWORD
);
2262 WINSETUPAPI BOOL WINAPI
SetupQueueCopyW(_In_ HSPFILEQ
, _In_opt_ PCWSTR
, _In_opt_ PCWSTR
, _In_ PCWSTR
, _In_opt_ PCWSTR
, _In_opt_ PCWSTR
, _In_ PCWSTR
, _In_opt_ PCWSTR
, _In_ DWORD
);
2263 WINSETUPAPI BOOL WINAPI
SetupQueueCopyIndirectA(_In_ PSP_FILE_COPY_PARAMS_A
);
2264 WINSETUPAPI BOOL WINAPI
SetupQueueCopyIndirectW(_In_ PSP_FILE_COPY_PARAMS_W
);
2265 WINSETUPAPI BOOL WINAPI
SetupQueueCopySectionA(_In_ HSPFILEQ
, _In_opt_ PCSTR
, _In_ HINF
, _In_opt_ HINF
, _In_ PCSTR
, _In_ DWORD
);
2266 WINSETUPAPI BOOL WINAPI
SetupQueueCopySectionW(_In_ HSPFILEQ
, _In_opt_ PCWSTR
, _In_ HINF
, _In_opt_ HINF
, _In_ PCWSTR
, _In_ DWORD
);
2267 WINSETUPAPI BOOL WINAPI
SetupQueueDefaultCopyA(_In_ HSPFILEQ
, _In_ HINF
, _In_opt_ PCSTR
, _In_ PCSTR
, _In_opt_ PCSTR
, _In_ DWORD
);
2268 WINSETUPAPI BOOL WINAPI
SetupQueueDefaultCopyW(_In_ HSPFILEQ
, _In_ HINF
, _In_opt_ PCWSTR
, _In_ PCWSTR
, _In_opt_ PCWSTR
, _In_ DWORD
);
2269 WINSETUPAPI BOOL WINAPI
SetupQueueDeleteA(_In_ HSPFILEQ
, _In_ PCSTR
, _In_opt_ PCSTR
);
2270 WINSETUPAPI BOOL WINAPI
SetupQueueDeleteW(_In_ HSPFILEQ
, _In_ PCWSTR
, _In_opt_ PCWSTR
);
2271 WINSETUPAPI BOOL WINAPI
SetupQueueDeleteSectionA(_In_ HSPFILEQ
, _In_ HINF
, _In_opt_ HINF
, _In_ PCSTR
);
2272 WINSETUPAPI BOOL WINAPI
SetupQueueDeleteSectionW(_In_ HSPFILEQ
, _In_ HINF
, _In_opt_ HINF
, _In_ PCWSTR
);
2273 WINSETUPAPI BOOL WINAPI
SetupQueueRenameA(_In_ HSPFILEQ
, _In_ PCSTR
, _In_opt_ PCSTR
, _In_opt_ PCSTR
, _In_ PCSTR
);
2274 WINSETUPAPI BOOL WINAPI
SetupQueueRenameW(_In_ HSPFILEQ
, _In_ PCWSTR
, _In_opt_ PCWSTR
, _In_opt_ PCWSTR
, _In_ PCWSTR
);
2275 WINSETUPAPI BOOL WINAPI
SetupQueueRenameSectionA(_In_ HSPFILEQ
, _In_ HINF
, _In_opt_ HINF
, _In_ PCSTR
);
2276 WINSETUPAPI BOOL WINAPI
SetupQueueRenameSectionW(_In_ HSPFILEQ
, _In_ HINF
, _In_opt_ HINF
, _In_ PCWSTR
);
2277 WINSETUPAPI BOOL WINAPI
SetupRemoveFileLogEntryA(_In_ HSPFILELOG
, _In_opt_ PCSTR
, _In_opt_ PCSTR
);
2278 WINSETUPAPI BOOL WINAPI
SetupRemoveFileLogEntryW(_In_ HSPFILELOG
, _In_opt_ PCWSTR
, _In_opt_ PCWSTR
);
2279 WINSETUPAPI BOOL WINAPI
SetupRemoveFromDiskSpaceListA(_In_ HDSKSPC
, _In_ PCSTR
, _In_ UINT
, _Reserved_ PVOID
, _Reserved_ UINT
);
2280 WINSETUPAPI BOOL WINAPI
SetupRemoveFromDiskSpaceListW(_In_ HDSKSPC
, _In_ PCWSTR
, _In_ UINT
, _Reserved_ PVOID
, _Reserved_ UINT
);
2281 WINSETUPAPI BOOL WINAPI
SetupRemoveFromSourceListA(_In_ DWORD
, _In_ PCSTR
);
2282 WINSETUPAPI BOOL WINAPI
SetupRemoveFromSourceListW(_In_ DWORD
, _In_ PCWSTR
);
2283 WINSETUPAPI BOOL WINAPI
SetupRemoveInstallSectionFromDiskSpaceListA(_In_ HDSKSPC
, _In_ HINF
, _In_opt_ HINF
, _In_ PCSTR
, _Reserved_ PVOID
, _Reserved_ UINT
);
2284 WINSETUPAPI BOOL WINAPI
SetupRemoveInstallSectionFromDiskSpaceListW(_In_ HDSKSPC
, _In_ HINF
, _In_opt_ HINF
, _In_ PCWSTR
, _Reserved_ PVOID
, _Reserved_ UINT
);
2285 WINSETUPAPI BOOL WINAPI
SetupRemoveSectionFromDiskSpaceListA(_In_ HDSKSPC
, _In_ HINF
, _In_opt_ HINF
, _In_ PCSTR
, _In_ UINT
, _Reserved_ PVOID
, _Reserved_ UINT
);
2286 WINSETUPAPI BOOL WINAPI
SetupRemoveSectionFromDiskSpaceListW(_In_ HDSKSPC
, _In_ HINF
, _In_opt_ HINF
, _In_ PCWSTR
, _In_ UINT
, _Reserved_ PVOID
, _Reserved_ UINT
);
2287 WINSETUPAPI UINT WINAPI
SetupRenameErrorA(_In_ HWND
, _In_opt_ PCSTR
, _In_ PCSTR
, _In_ PCSTR
, _In_ UINT
, _In_ DWORD
);
2288 WINSETUPAPI UINT WINAPI
SetupRenameErrorW(_In_ HWND
, _In_opt_ PCWSTR
, _In_ PCWSTR
, _In_ PCWSTR
, _In_ UINT
, _In_ DWORD
);
2289 WINSETUPAPI BOOL WINAPI
SetupScanFileQueueA(_In_ HSPFILEQ
, _In_ DWORD
, _In_opt_ HWND
, _In_opt_ PSP_FILE_CALLBACK_A
, _In_opt_ PVOID
, _Out_ PDWORD
);
2290 WINSETUPAPI BOOL WINAPI
SetupScanFileQueueW(_In_ HSPFILEQ
, _In_ DWORD
, _In_opt_ HWND
, _In_opt_ PSP_FILE_CALLBACK_W
, _In_opt_ PVOID
, _Out_ PDWORD
);
2291 WINSETUPAPI BOOL WINAPI
SetupSetDirectoryIdA(_In_ HINF
, _In_ DWORD
, _In_opt_ PCSTR
);
2292 WINSETUPAPI BOOL WINAPI
SetupSetDirectoryIdW(_In_ HINF
, _In_ DWORD
, _In_opt_ PCWSTR
);
2293 WINSETUPAPI BOOL WINAPI
SetupSetDirectoryIdExA(_In_ HINF
, _In_ DWORD
, _In_opt_ PCSTR
, _In_ DWORD
, _Reserved_ DWORD
, _Reserved_ PVOID
);
2294 WINSETUPAPI BOOL WINAPI
SetupSetDirectoryIdExW(_In_ HINF
, _In_ DWORD
, _In_opt_ PCWSTR
, _In_ DWORD
, _Reserved_ DWORD
, _Reserved_ PVOID
);
2295 WINSETUPAPI BOOL WINAPI
SetupSetFileQueueAlternatePlatformA(_In_ HSPFILEQ
, _In_opt_ PSP_ALTPLATFORM_INFO
, _In_opt_ PCSTR
);
2296 WINSETUPAPI BOOL WINAPI
SetupSetFileQueueAlternatePlatformW(_In_ HSPFILEQ
, _In_opt_ PSP_ALTPLATFORM_INFO
, _In_opt_ PCWSTR
);
2297 WINSETUPAPI BOOL WINAPI
SetupSetNonInteractiveMode(_In_ BOOL
);
2298 WINSETUPAPI BOOL WINAPI
SetupSetPlatformPathOverrideA(_In_opt_ PCSTR
);
2299 WINSETUPAPI BOOL WINAPI
SetupSetPlatformPathOverrideW(_In_opt_ PCWSTR
);
2304 SetupSetSourceListA(
2306 _In_reads_(SourceCount
) PCSTR
*SourceList
,
2307 _In_ UINT SourceCount
);
2312 SetupSetSourceListW(
2314 _In_reads_(SourceCount
) PCWSTR
*SourceList
,
2315 _In_ UINT SourceCount
);
2317 WINSETUPAPI VOID WINAPI
SetupTermDefaultQueueCallback(_In_ PVOID
);
2318 WINSETUPAPI BOOL WINAPI
SetupTerminateFileLog(_In_ HSPFILELOG
);
2320 WINSETUPAPI DWORD WINAPI
StampFileSecurity(PCWSTR
, PSECURITY_DESCRIPTOR
);
2323 WINSETUPAPI DWORD WINAPI
pSetupCaptureAndConvertAnsiArg(PCSTR
, PWSTR
*);
2324 WINSETUPAPI VOID WINAPI
pSetupCenterWindowRelativeToParent(HWND
);
2325 WINSETUPAPI BOOL WINAPI
pSetupConcatenatePaths(LPWSTR
, LPCWSTR
, DWORD
, LPDWORD
);
2326 WINSETUPAPI PWSTR WINAPI
pSetupDuplicateString(PCWSTR
);
2327 WINSETUPAPI BOOL WINAPI
pSetupEnablePrivilege(PCWSTR
, BOOL
);
2328 WINSETUPAPI PWSTR WINAPI
pSetupGetFileTitle(PCWSTR
);
2329 WINSETUPAPI BOOL WINAPI
pSetupGetVersionInfoFromImage(LPWSTR
, PULARGE_INTEGER
, LPWORD
);
2330 WINSETUPAPI DWORD WINAPI
pSetupGuidFromString(PCWSTR
, LPGUID
);
2331 WINSETUPAPI BOOL WINAPI
pSetupIsGuidNull(LPGUID
);
2332 WINSETUPAPI BOOL WINAPI
pSetupIsUserAdmin(VOID
);
2333 WINSETUPAPI PWSTR WINAPI
pSetupMultiByteToUnicode(PCSTR
, UINT
);
2334 WINSETUPAPI DWORD WINAPI
pSetupOpenAndMapForRead(PCWSTR
, PDWORD
, PHANDLE
, PHANDLE
, PVOID
*);
2335 WINSETUPAPI DWORD WINAPI
pSetupStringFromGuid(LPGUID
, PWSTR
, DWORD
);
2338 WINSETUPAPI DWORD WINAPI
pSetupStringTableAddString(HSTRING_TABLE
, LPWSTR
, DWORD
);
2339 WINSETUPAPI DWORD WINAPI
pSetupStringTableAddStringEx(HSTRING_TABLE
, LPWSTR
, DWORD
, LPVOID
, DWORD
);
2340 WINSETUPAPI VOID WINAPI
pSetupStringTableDestroy(HSTRING_TABLE
);
2341 WINSETUPAPI HSTRING_TABLE WINAPI
pSetupStringTableDuplicate(HSTRING_TABLE
);
2342 WINSETUPAPI BOOL WINAPI
pSetupStringTableGetExtraData(HSTRING_TABLE
, DWORD
, LPVOID
, DWORD
);
2343 WINSETUPAPI HSTRING_TABLE WINAPI
pSetupStringTableInitialize(VOID
);
2344 WINSETUPAPI HSTRING_TABLE WINAPI
pSetupStringTableInitializeEx(DWORD
, DWORD
);
2345 WINSETUPAPI DWORD WINAPI
pSetupStringTableLookUpString(HSTRING_TABLE
, LPWSTR
, DWORD
);
2346 WINSETUPAPI DWORD WINAPI
pSetupStringTableLookUpStringEx(HSTRING_TABLE
, LPWSTR
, DWORD
, LPVOID
, DWORD
);
2347 WINSETUPAPI BOOL WINAPI
pSetupStringTableSetExtraData(HSTRING_TABLE
, DWORD
, LPVOID
, DWORD
);
2348 WINSETUPAPI LPWSTR WINAPI
pSetupStringTableStringFromId(HSTRING_TABLE
, DWORD
);
2349 WINSETUPAPI BOOL WINAPI
pSetupStringTableStringFromIdEx(HSTRING_TABLE
, DWORD
, LPWSTR
, LPDWORD
);
2351 WINSETUPAPI PSTR WINAPI
pSetupUnicodeToMultiByte(PCWSTR lpUnicodeStr
, UINT uCodePage
);
2352 WINSETUPAPI BOOL WINAPI
pSetupUnmapAndCloseFile(HANDLE
, HANDLE
, PVOID
);
2355 WINSETUPAPI DWORD WINAPI
TakeOwnershipOfFile(PCWSTR
);
2356 WINSETUPAPI PSTR WINAPI
UnicodeToMultiByte(PCWSTR lpUnicodeStr
, UINT uCodePage
);
2359 /* for backward compatability */
2360 #define SetupDiCreateInterfaceDeviceW SetupDiCreateDeviceInterfaceW
2361 #define SetupDiCreateInterfaceDeviceRegKeyW SetupDiCreateDeviceInterfaceRegKeyW
2362 #define SetupDiOpenInterfaceDeviceW SetupDiOpenDeviceInterfaceW
2363 #define SetupDiGetInterfaceDeviceDetailW SetupDiGetDeviceInterfaceDetailW
2364 #define SetupDiCreateInterfaceDeviceA SetupDiCreateDeviceInterfaceA
2365 #define SetupDiCreateInterfaceDeviceRegKeyA SetupDiCreateDeviceInterfaceRegKeyA
2366 #define SetupDiOpenInterfaceDeviceA SetupDiOpenDeviceInterfaceA
2367 #define SetupDiGetInterfaceDeviceDetailA SetupDiGetDeviceInterfaceDetailA
2370 #define PSP_FILE_CALLBACK PSP_FILE_CALLBACK_W
2371 #define SetupAddInstallSectionToDiskSpaceList SetupAddInstallSectionToDiskSpaceListW
2372 #define SetupAddSectionToDiskSpaceList SetupAddSectionToDiskSpaceListW
2373 #define SetupAddToDiskSpaceList SetupAddToDiskSpaceListW
2374 #define SetupAddToSourceList SetupAddToSourceListW
2375 #define SetupAdjustDiskSpaceList SetupAdjustDiskSpaceListW
2376 #define SetupBackupError SetupBackupErrorW
2377 #define SetupCommitFileQueue SetupCommitFileQueueW
2378 #define SetupCopyError SetupCopyErrorW
2379 #define SetupCopyOEMInf SetupCopyOEMInfW
2380 #define SetupCreateDiskSpaceList SetupCreateDiskSpaceListW
2381 #define SetupDecompressOrCopyFile SetupDecompressOrCopyFileW
2382 #define SetupDefaultQueueCallback SetupDefaultQueueCallbackW
2383 #define SetupDeleteError SetupDeleteErrorW
2384 #define SetupDiBuildClassInfoListEx SetupDiBuildClassInfoListExW
2385 #define SetupDiClassGuidsFromNameEx SetupDiClassGuidsFromNameExW
2386 #define SetupDiClassGuidsFromName SetupDiClassGuidsFromNameW
2387 #define SetupDiClassNameFromGuidEx SetupDiClassNameFromGuidExW
2388 #define SetupDiClassNameFromGuid SetupDiClassNameFromGuidW
2389 #define SetupDiCreateDeviceInfoListEx SetupDiCreateDeviceInfoListExW
2390 #define SetupDiCreateDeviceInfo SetupDiCreateDeviceInfoW
2391 #define SetupDiCreateDeviceInterfaceRegKey SetupDiCreateDeviceInterfaceRegKeyW
2392 #define SetupDiCreateInterfaceDeviceRegKey SetupDiCreateDeviceInterfaceRegKeyW
2393 #define SetupDiCreateDeviceInterface SetupDiCreateDeviceInterfaceW
2394 #define SetupDiCreateInterfaceDevice SetupDiCreateDeviceInterfaceW
2395 #define SetupDiCreateDevRegKey SetupDiCreateDevRegKeyW
2396 #define SetupDiEnumDriverInfo SetupDiEnumDriverInfoW
2397 #define SetupDiGetActualSectionToInstall SetupDiGetActualSectionToInstallW
2398 #define SetupDiGetActualSectionToInstallEx SetupDiGetActualSectionToInstallExW
2399 #define SetupDiGetClassDescriptionEx SetupDiGetClassDescriptionExW
2400 #define SetupDiGetClassDescription SetupDiGetClassDescriptionW
2401 #define SetupDiGetClassDevPropertySheets SetupDiGetClassDevPropertySheetsW
2402 #define SetupDiGetClassDevsEx SetupDiGetClassDevsExW
2403 #define SetupDiGetClassDevs SetupDiGetClassDevsW
2404 #define SetupDiGetClassImageListEx SetupDiGetClassImageListExW
2405 #define SetupDiGetClassInstallParams SetupDiGetClassInstallParamsW
2406 #define SetupDiGetClassRegistryProperty SetupDiGetClassRegistryPropertyW
2407 #define SetupDiGetDeviceInfoListDetail SetupDiGetDeviceInfoListDetailW
2408 #define SetupDiGetDeviceInstallParams SetupDiGetDeviceInstallParamsW
2409 #define SetupDiGetDeviceInstanceId SetupDiGetDeviceInstanceIdW
2410 #define SetupDiGetDeviceInterfaceDetail SetupDiGetDeviceInterfaceDetailW
2411 #define SetupDiGetInterfaceDeviceDetail SetupDiGetDeviceInterfaceDetailW
2412 #define SetupDiGetDeviceRegistryProperty SetupDiGetDeviceRegistryPropertyW
2413 #define SetupDiGetDriverInfoDetail SetupDiGetDriverInfoDetailW
2414 #define SetupDiGetDriverInstallParams SetupDiGetDriverInstallParamsW
2415 #define SetupDiGetHwProfileFriendlyNameEx SetupDiGetHwProfileFriendlyNameExW
2416 #define SetupDiGetHwProfileFriendlyName SetupDiGetHwProfileFriendlyNameW
2417 #define SetupDiGetHwProfileListEx SetupDiGetHwProfileListExW
2418 #define SetupDiGetINFClass SetupDiGetINFClassW
2419 #define SetupDiGetSelectedDriver SetupDiGetSelectedDriverW
2420 #define SetupDiInstallClassEx SetupDiInstallClassExW
2421 #define SetupDiInstallClass SetupDiInstallClassW
2422 #define SetupDiOpenClassRegKeyEx SetupDiOpenClassRegKeyExW
2423 #define SetupDiOpenDeviceInfo SetupDiOpenDeviceInfoW
2424 #define SetupDiOpenDeviceInterface SetupDiOpenDeviceInterfaceW
2425 #define SetupDiOpenInterfaceDevice SetupDiOpenDeviceInterfaceW
2426 #define SetupDiSetClassInstallParams SetupDiSetClassInstallParamsW
2427 #define SetupDiSetClassRegistryProperty SetupDiSetClassRegistryPropertyW
2428 #define SetupDiSetDeviceInstallParams SetupDiSetDeviceInstallParamsW
2429 #define SetupDiSetDeviceRegistryProperty SetupDiSetDeviceRegistryPropertyW
2430 #define SetupDiSetDriverInstallParams SetupDiSetDriverInstallParamsW
2431 #define SetupDiSetSelectedDriver SetupDiSetSelectedDriverW
2432 #define SetupDuplicateDiskSpaceList SetupDuplicateDiskSpaceListW
2433 #define SetupFindFirstLine SetupFindFirstLineW
2434 #define SetupFindNextMatchLine SetupFindNextMatchLineW
2435 #define SetupFreeSourceList SetupFreeSourceListW
2436 #define SetupGetBackupInformation SetupGetBackupInformationW
2437 #define SetupGetFileCompressionInfo SetupGetFileCompressionInfoW
2438 #define SetupGetFileCompressionInfoEx SetupGetFileCompressionInfoExW
2439 #define SetupGetInfFileList SetupGetInfFileListW
2440 #define SetupGetInfInformation SetupGetInfInformationW
2441 #define SetupGetLineByIndex SetupGetLineByIndexW
2442 #define SetupGetLineCount SetupGetLineCountW
2443 #define SetupGetLineText SetupGetLineTextW
2444 #define SetupGetMultiSzField SetupGetMultiSzFieldW
2445 #define SetupGetSourceFileLocation SetupGetSourceFileLocationW
2446 #define SetupGetSourceFileSize SetupGetSourceFileSizeW
2447 #define SetupGetSourceInfo SetupGetSourceInfoW
2448 #define SetupGetStringField SetupGetStringFieldW
2449 #define SetupGetTargetPath SetupGetTargetPathW
2450 #define SetupInitializeFileLog SetupInitializeFileLogW
2451 #define SetupInstallFileEx SetupInstallFileExW
2452 #define SetupInstallFilesFromInfSection SetupInstallFilesFromInfSectionW
2453 #define SetupInstallFile SetupInstallFileW
2454 #define SetupInstallFromInfSection SetupInstallFromInfSectionW
2455 #define SetupInstallServicesFromInfSectionEx SetupInstallServicesFromInfSectionExW
2456 #define SetupInstallServicesFromInfSection SetupInstallServicesFromInfSectionW
2457 #define SetupIterateCabinet SetupIterateCabinetW
2458 #define SetupLogError SetupLogErrorW
2459 #define SetupLogFile SetupLogFileW
2460 #define SetupOpenAppendInfFile SetupOpenAppendInfFileW
2461 #define SetupOpenInfFile SetupOpenInfFileW
2462 #define SetupPromptForDisk SetupPromptForDiskW
2463 #define SetupQueryDrivesInDiskSpaceList SetupQueryDrivesInDiskSpaceListW
2464 #define SetupQueryFileLog SetupQueryFileLogW
2465 #define SetupQueryInfFileInformation SetupQueryInfFileInformationW
2466 #define SetupQueryInfOriginalFileInformation SetupQueryInfOriginalFileInformationW
2467 #define SetupQueryInfVersionInformation SetupQueryInfVersionInformationW
2468 #define SetupQuerySourceList SetupQuerySourceListW
2469 #define SetupQuerySpaceRequiredOnDrive SetupQuerySpaceRequiredOnDriveW
2470 #define SetupQueueCopyIndirect SetupQueueCopyIndirectW
2471 #define SetupQueueCopySection SetupQueueCopySectionW
2472 #define SetupQueueCopy SetupQueueCopyW
2473 #define SetupQueueDefaultCopy SetupQueueDefaultCopyW
2474 #define SetupQueueDeleteSection SetupQueueDeleteSectionW
2475 #define SetupQueueDelete SetupQueueDeleteW
2476 #define SetupQueueRenameSection SetupQueueRenameSectionW
2477 #define SetupQueueRename SetupQueueRenameW
2478 #define SetupRemoveFileLogEntry SetupRemoveFileLogEntryW
2479 #define SetupRemoveFromDiskSpaceList SetupRemoveFromDiskSpaceListW
2480 #define SetupRemoveFromSourceList SetupRemoveFromSourceListW
2481 #define SetupRemoveInstallSectionFromDiskSpaceList SetupRemoveInstallSectionFromDiskSpaceListW
2482 #define SetupRemoveSectionFromDiskSpaceList SetupRemoveSectionFromDiskSpaceListW
2483 #define SetupRenameError SetupRenameErrorW
2484 #define SetupScanFileQueue SetupScanFileQueueW
2485 #define SetupSetDirectoryIdEx SetupSetDirectoryIdExW
2486 #define SetupSetDirectoryId SetupSetDirectoryIdW
2487 #define SetupSetFileQueueAlternatePlatform SetupSetFileQueueAlternatePlatformW
2488 #define SetupSetPlatformPathOverride SetupSetPlatformPathOverrideW
2489 #define SetupSetSourceList SetupSetSourceListW
2491 #define PSP_FILE_CALLBACK PSP_FILE_CALLBACK_A
2492 #define SetupAddInstallSectionToDiskSpaceList SetupAddInstallSectionToDiskSpaceListA
2493 #define SetupAddSectionToDiskSpaceList SetupAddSectionToDiskSpaceListA
2494 #define SetupAddToDiskSpaceList SetupAddToDiskSpaceListA
2495 #define SetupAddToSourceList SetupAddToSourceListA
2496 #define SetupAdjustDiskSpaceList SetupAdjustDiskSpaceListA
2497 #define SetupBackupError SetupBackupErrorA
2498 #define SetupCommitFileQueue SetupCommitFileQueueA
2499 #define SetupCopyError SetupCopyErrorA
2500 #define SetupCopyOEMInf SetupCopyOEMInfA
2501 #define SetupCreateDiskSpaceList SetupCreateDiskSpaceListA
2502 #define SetupDecompressOrCopyFile SetupDecompressOrCopyFileA
2503 #define SetupDefaultQueueCallback SetupDefaultQueueCallbackA
2504 #define SetupDeleteError SetupDeleteErrorA
2505 #define SetupDiBuildClassInfoListEx SetupDiBuildClassInfoListExA
2506 #define SetupDiClassGuidsFromName SetupDiClassGuidsFromNameA
2507 #define SetupDiClassGuidsFromNameEx SetupDiClassGuidsFromNameExA
2508 #define SetupDiClassNameFromGuid SetupDiClassNameFromGuidA
2509 #define SetupDiClassNameFromGuidEx SetupDiClassNameFromGuidExA
2510 #define SetupDiCreateDeviceInfo SetupDiCreateDeviceInfoA
2511 #define SetupDiCreateDeviceInfoListEx SetupDiCreateDeviceInfoListExA
2512 #define SetupDiCreateDeviceInterface SetupDiCreateDeviceInterfaceA
2513 #define SetupDiCreateInterfaceDevice SetupDiCreateDeviceInterfaceA
2514 #define SetupDiCreateDeviceInterfaceRegKey SetupDiCreateDeviceInterfaceRegKeyA
2515 #define SetupDiCreateInterfaceDeviceRegKey SetupDiCreateDeviceInterfaceRegKeyA
2516 #define SetupDiCreateDevRegKey SetupDiCreateDevRegKeyA
2517 #define SetupDiDeleteInterfaceDeviceData SetupDiDeleteDeviceInterfaceData
2518 #define SetupDiEnumDriverInfo SetupDiEnumDriverInfoA
2519 #define SetupDiGetActualSectionToInstall SetupDiGetActualSectionToInstallA
2520 #define SetupDiGetActualSectionToInstallEx SetupDiGetActualSectionToInstallExA
2521 #define SetupDiGetClassDescription SetupDiGetClassDescriptionA
2522 #define SetupDiGetClassDescriptionEx SetupDiGetClassDescriptionExA
2523 #define SetupDiGetClassDevPropertySheets SetupDiGetClassDevPropertySheetsA
2524 #define SetupDiGetClassDevs SetupDiGetClassDevsA
2525 #define SetupDiGetClassDevsEx SetupDiGetClassDevsExA
2526 #define SetupDiGetClassImageListEx SetupDiGetClassImageListExA
2527 #define SetupDiGetClassInstallParams SetupDiGetClassInstallParamsA
2528 #define SetupDiGetClassRegistryProperty SetupDiGetClassRegistryPropertyA
2529 #define SetupDiGetDeviceInfoListDetail SetupDiGetDeviceInfoListDetailA
2530 #define SetupDiGetDeviceInstallParams SetupDiGetDeviceInstallParamsA
2531 #define SetupDiGetDeviceInstanceId SetupDiGetDeviceInstanceIdA
2532 #define SetupDiGetDeviceInterfaceDetail SetupDiGetDeviceInterfaceDetailA
2533 #define SetupDiGetInterfaceDeviceDetail SetupDiGetDeviceInterfaceDetailA
2534 #define SetupDiGetDeviceRegistryProperty SetupDiGetDeviceRegistryPropertyA
2535 #define SetupDiGetDriverInfoDetail SetupDiGetDriverInfoDetailA
2536 #define SetupDiGetDriverInstallParams SetupDiGetDriverInstallParamsA
2537 #define SetupDiGetHwProfileFriendlyName SetupDiGetHwProfileFriendlyNameA
2538 #define SetupDiGetHwProfileFriendlyNameEx SetupDiGetHwProfileFriendlyNameExA
2539 #define SetupDiGetHwProfileListEx SetupDiGetHwProfileListExA
2540 #define SetupDiGetINFClass SetupDiGetINFClassA
2541 #define SetupDiGetSelectedDriver SetupDiGetSelectedDriverA
2542 #define SetupDiInstallClass SetupDiInstallClassA
2543 #define SetupDiInstallClassEx SetupDiInstallClassExA
2544 #define SetupDiOpenClassRegKeyEx SetupDiOpenClassRegKeyExA
2545 #define SetupDiOpenDeviceInfo SetupDiOpenDeviceInfoA
2546 #define SetupDiOpenDeviceInterface SetupDiOpenDeviceInterfaceA
2547 #define SetupDiOpenInterfaceDevice SetupDiOpenDeviceInterfaceA
2548 #define SetupDiSetClassInstallParams SetupDiSetClassInstallParamsA
2549 #define SetupDiSetClassRegistryProperty SetupDiSetClassRegistryPropertyA
2550 #define SetupDiSetDeviceInstallParams SetupDiSetDeviceInstallParamsA
2551 #define SetupDiSetDeviceRegistryProperty SetupDiSetDeviceRegistryPropertyA
2552 #define SetupDiSetDriverInstallParams SetupDiSetDriverInstallParamsA
2553 #define SetupDiSetSelectedDriver SetupDiSetSelectedDriverA
2554 #define SetupDuplicateDiskSpaceList SetupDuplicateDiskSpaceListA
2555 #define SetupFindFirstLine SetupFindFirstLineA
2556 #define SetupFindNextMatchLine SetupFindNextMatchLineA
2557 #define SetupFreeSourceList SetupFreeSourceListA
2558 #define SetupGetBackupInformation SetupGetBackupInformationA
2559 #define SetupGetFileCompressionInfo SetupGetFileCompressionInfoA
2560 #define SetupGetFileCompressionInfoEx SetupGetFileCompressionInfoExA
2561 #define SetupGetInfFileList SetupGetInfFileListA
2562 #define SetupGetInfInformation SetupGetInfInformationA
2563 #define SetupGetLineByIndex SetupGetLineByIndexA
2564 #define SetupGetLineCount SetupGetLineCountA
2565 #define SetupGetLineText SetupGetLineTextA
2566 #define SetupGetMultiSzField SetupGetMultiSzFieldA
2567 #define SetupGetSourceFileLocation SetupGetSourceFileLocationA
2568 #define SetupGetSourceFileSize SetupGetSourceFileSizeA
2569 #define SetupGetSourceInfo SetupGetSourceInfoA
2570 #define SetupGetStringField SetupGetStringFieldA
2571 #define SetupGetTargetPath SetupGetTargetPathA
2572 #define SetupInitializeFileLog SetupInitializeFileLogA
2573 #define SetupInstallFile SetupInstallFileA
2574 #define SetupInstallFileEx SetupInstallFileExA
2575 #define SetupInstallFilesFromInfSection SetupInstallFilesFromInfSectionA
2576 #define SetupInstallFromInfSection SetupInstallFromInfSectionA
2577 #define SetupInstallServicesFromInfSection SetupInstallServicesFromInfSectionA
2578 #define SetupInstallServicesFromInfSectionEx SetupInstallServicesFromInfSectionExA
2579 #define SetupIterateCabinet SetupIterateCabinetA
2580 #define SetupLogError SetupLogErrorA
2581 #define SetupLogFile SetupLogFileA
2582 #define SetupOpenAppendInfFile SetupOpenAppendInfFileA
2583 #define SetupOpenInfFile SetupOpenInfFileA
2584 #define SetupPromptForDisk SetupPromptForDiskA
2585 #define SetupQueryDrivesInDiskSpaceList SetupQueryDrivesInDiskSpaceListA
2586 #define SetupQueryFileLog SetupQueryFileLogA
2587 #define SetupQueryInfFileInformation SetupQueryInfFileInformationA
2588 #define SetupQueryInfOriginalFileInformation SetupQueryInfOriginalFileInformationA
2589 #define SetupQueryInfVersionInformation SetupQueryInfVersionInformationA
2590 #define SetupQuerySourceList SetupQuerySourceListA
2591 #define SetupQuerySpaceRequiredOnDrive SetupQuerySpaceRequiredOnDriveA
2592 #define SetupQueueCopy SetupQueueCopyA
2593 #define SetupQueueCopyIndirect SetupQueueCopyIndirectA
2594 #define SetupQueueCopySection SetupQueueCopySectionA
2595 #define SetupQueueDefaultCopy SetupQueueDefaultCopyA
2596 #define SetupQueueDelete SetupQueueDeleteA
2597 #define SetupQueueDeleteSection SetupQueueDeleteSectionA
2598 #define SetupQueueRename SetupQueueRenameA
2599 #define SetupQueueRenameSection SetupQueueRenameSectionA
2600 #define SetupRemoveFileLogEntry SetupRemoveFileLogEntryA
2601 #define SetupRemoveFromDiskSpaceList SetupRemoveFromDiskSpaceListA
2602 #define SetupRemoveFromSourceList SetupRemoveFromSourceListA
2603 #define SetupRemoveInstallSectionFromDiskSpaceList SetupRemoveInstallSectionFromDiskSpaceListA
2604 #define SetupRemoveSectionFromDiskSpaceList SetupRemoveSectionFromDiskSpaceListA
2605 #define SetupRenameError SetupRenameErrorA
2606 #define SetupScanFileQueue SetupScanFileQueueA
2607 #define SetupSetDirectoryId SetupSetDirectoryIdA
2608 #define SetupSetDirectoryIdEx SetupSetDirectoryIdExA
2609 #define SetupSetFileQueueAlternatePlatform SetupSetFileQueueAlternatePlatformA
2610 #define SetupSetPlatformPathOverride SetupSetPlatformPathOverrideA
2611 #define SetupSetSourceList SetupSetSourceListA
2612 #endif /* UNICODE */
2614 #endif /* RC_INVOKED */
2620 #include <poppack.h>
2621 #endif /* _SETUPAPI_H_ */