ReactOS  0.4.15-dev-3297-g037c744
setupapi.h
Go to the documentation of this file.
1 #ifndef _SETUPAPI_H_
2 #define _SETUPAPI_H_
3 
4 #include <commctrl.h>
5 #if defined(_WIN64)
6 #include <pshpack8.h>
7 #else
8 #include <pshpack1.h>
9 #endif
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13 
14 #ifndef _SETUPAPI_
15 #define WINSETUPAPI DECLSPEC_IMPORT
16 #else
17 #define WINSETUPAPI
18 #endif
19 
20 #define LINE_LEN 256
21 #define MAX_INF_STRING_LENGTH 4096
22 #define MAX_TITLE_LEN 60
23 #define MAX_INSTRUCTION_LEN 256
24 #define MAX_LABEL_LEN 30
25 #define MAX_SERVICE_NAME_LEN 256
26 #define MAX_SUBTITLE_LEN 256
27 #define SP_MAX_MACHINENAME_LENGTH (MAX_PATH + 3)
28 
29 #define COPYFLG_WARN_IF_SKIP 0x00000001
30 #define COPYFLG_NOSKIP 0x00000002
31 #define COPYFLG_NOVERSIONCHECK 0x00000004
32 #define COPYFLG_FORCE_FILE_IN_USE 0x00000008
33 #define COPYFLG_NO_OVERWRITE 0x00000010
34 #define COPYFLG_NO_VERSION_DIALOG 0x00000020
35 #define COPYFLG_OVERWRITE_OLDER_ONLY 0x00000040
36 #define COPYFLG_REPLACEONLY 0x00000400
37 #define COPYFLG_NODECOMP 0x00000800
38 #define COPYFLG_REPLACE_BOOT_FILE 0x00001000
39 #define COPYFLG_NOPRUNE 0x00002000
40 #define DELFLG_IN_USE 0x00000001
41 #define DELFLG_IN_USE1 0x00010000
42 #define DI_REMOVEDEVICE_GLOBAL 0x00000001
43 #define DI_REMOVEDEVICE_CONFIGSPECIFIC 0x00000002
44 #define DI_UNREMOVEDEVICE_CONFIGSPECIFIC 0x00000002
45 #define DI_SHOWOEM 0x00000001
46 #define DI_SHOWCOMPAT 0x00000002
47 #define DI_SHOWCLASS 0x00000004
48 #define DI_SHOWALL 0x00000007
49 #define DI_NOVCP 0x00000008
50 #define DI_DIDCOMPAT 0x00000010
51 #define DI_DIDCLASS 0x00000020
52 #define DI_AUTOASSIGNRES 0x00000040
53 #define DI_NEEDRESTART 0x00000080
54 #define DI_NEEDREBOOT 0x00000100
55 #define DI_NOBROWSE 0x00000200
56 #define DI_MULTMFGS 0x00000400
57 #define DI_DISABLED 0x00000800
58 #define DI_GENERALPAGE_ADDED 0x00001000
59 #define DI_RESOURCEPAGE_ADDED 0x00002000
60 #define DI_PROPERTIES_CHANGE 0x00004000
61 #define DI_INF_IS_SORTED 0x00008000
62 #define DI_ENUMSINGLEINF 0x00010000
63 #define DI_DONOTCALLCONFIGMG 0x00020000
64 #define DI_INSTALLDISABLED 0x00040000
65 #define DI_COMPAT_FROM_CLASS 0x00080000
66 #define DI_CLASSINSTALLPARAMS 0x00100000
67 #define DI_NODI_DEFAULTACTION 0x00200000
68 #define DI_QUIETINSTALL 0x00800000
69 #define DI_NOFILECOPY 0x01000000
70 #define DI_FORCECOPY 0x02000000
71 #define DI_DRIVERPAGE_ADDED 0x04000000
72 #define DI_USECI_SELECTSTRINGS 0x08000000
73 #define DI_OVERRIDE_INFFLAGS 0x10000000
74 #define DI_PROPS_NOCHANGEUSAGE 0x20000000
75 #define DI_NOSELECTICONS 0x40000000
76 #define DI_NOWRITE_IDS 0x80000000
77 #define DI_FLAGSEX_USEOLDINFSEARCH 0x00000001
78 #define DI_FLAGSEX_AUTOSELECTRANK0 0x00000002
79 #define DI_FLAGSEX_CI_FAILED 0x00000004
80 #define DI_FLAGSEX_DIDINFOLIST 0x00000010
81 #define DI_FLAGSEX_DIDCOMPATINFO 0x00000020
82 #define DI_FLAGSEX_FILTERCLASSES 0x00000040
83 #define DI_FLAGSEX_SETFAILEDINSTALL 0x00000080
84 #define DI_FLAGSEX_DEVICECHANGE 0x00000100
85 #define DI_FLAGSEX_ALWAYSWRITEIDS 0x00000200
86 #define DI_FLAGSEX_PROPCHANGE_PENDING 0x00000400
87 #define DI_FLAGSEX_ALLOWEXCLUDEDDRVS 0x00000800
88 #define DI_FLAGSEX_NOUIONQUERYREMOVE 0x00001000
89 #define DI_FLAGSEX_USECLASSFORCOMPAT 0x00002000
90 #define DI_FLAGSEX_OLDINF_IN_CLASSLIST 0x00004000
91 #define DI_FLAGSEX_NO_DRVREG_MODIFY 0x00008000
92 #define DI_FLAGSEX_IN_SYSTEM_SETUP 0x00010000
93 #define DI_FLAGSEX_INET_DRIVER 0x00020000
94 #define DI_FLAGSEX_APPENDDRIVERLIST 0x00040000
95 #define DI_FLAGSEX_PREINSTALLBACKUP 0x00080000
96 #define DI_FLAGSEX_BACKUPONREPLACE 0x00100000
97 #define DI_FLAGSEX_DRIVERLIST_FROM_URL 0x00200000
98 #define DI_FLAGSEX_RESERVED1 0x00400000
99 #define DI_FLAGSEX_EXCLUDE_OLD_INET_DRIVERS 0x00800000
100 #define DI_FLAGSEX_POWERPAGE_ADDED 0x01000000
101 #if (_SETUPAPI_VER >= 0x0501)
102 #define DI_FLAGSEX_FILTERSIMILARDRIVERS 0x02000000
103 #define DI_FLAGSEX_INSTALLEDDRIVER 0x04000000
104 #define DI_FLAGSEX_NO_CLASSLIST_NODE_MERGE 0x08000000
105 #define DI_FLAGSEX_ALTPLATFORM_DRVSEARCH 0x10000000
106 #define DI_FLAGSEX_RESTART_DEVICE_ONLY 0x20000000
107 #endif
108 #define DIBCI_NOINSTALLCLASS 0x00000001
109 #define DIBCI_NODISPLAYCLASS 0x00000002
110 #define DICD_GENERATE_ID 0x00000001
111 #define DICD_INHERIT_CLASSDRVS 0x00000002
112 #define DICS_ENABLE 1
113 #define DICS_FLAG_GLOBAL 1
114 #define DICS_DISABLE 2
115 #define DICS_FLAG_CONFIGSPECIFIC 2
116 #define DICS_PROPCHANGE 3
117 #define DICS_START 4
118 #define DICS_FLAG_CONFIGGENERAL 4
119 #define DICS_STOP 5
120 #define DIF_SELECTDEVICE 1
121 #define DIF_INSTALLDEVICE 2
122 #define DIF_ASSIGNRESOURCES 3
123 #define DIF_PROPERTIES 4
124 #define DIF_REMOVE 5
125 #define DIF_FIRSTTIMESETUP 6
126 #define DIF_FOUNDDEVICE 7
127 #define DIF_SELECTCLASSDRIVERS 8
128 #define DIF_VALIDATECLASSDRIVERS 9
129 #define DIF_INSTALLCLASSDRIVERS 10
130 #define DIF_CALCDISKSPACE 11
131 #define DIF_DESTROYPRIVATEDATA 12
132 #define DIF_VALIDATEDRIVER 13
133 #define DIF_MOVEDEVICE 14
134 #define DIF_DETECT 15
135 #define DIF_INSTALLWIZARD 16
136 #define DIF_DESTROYWIZARDDATA 17
137 #define DIF_PROPERTYCHANGE 18
138 #define DIF_ENABLECLASS 19
139 #define DIF_DETECTVERIFY 20
140 #define DIF_INSTALLDEVICEFILES 21
141 #define DIF_UNREMOVE 22
142 #define DIF_SELECTBESTCOMPATDRV 23
143 #define DIF_ALLOW_INSTALL 24
144 #define DIF_REGISTERDEVICE 25
145 #define DIF_NEWDEVICEWIZARD_PRESELECT 26
146 #define DIF_NEWDEVICEWIZARD_SELECT 27
147 #define DIF_NEWDEVICEWIZARD_PREANALYZE 28
148 #define DIF_NEWDEVICEWIZARD_POSTANALYZE 29
149 #define DIF_NEWDEVICEWIZARD_FINISHINSTALL 30
150 #define DIF_UNUSED1 31
151 #define DIF_INSTALLINTERFACES 32
152 #define DIF_DETECTCANCEL 33
153 #define DIF_REGISTER_COINSTALLERS 34
154 #define DIF_ADDPROPERTYPAGE_ADVANCED 35
155 #define DIF_ADDPROPERTYPAGE_BASIC 36
156 #define DIF_RESERVED1 37
157 #define DIF_TROUBLESHOOTER 38
158 #define DIF_POWERMESSAGEWAKE 39
159 #define DIF_ADDREMOTEPROPERTYPAGE_ADVANCED 40
160 #define DIF_UPDATEDRIVER_UI 41
161 #define DIF_FINISHINSTALL_ACTION 42
162 #define DIF_RESERVED2 48
163 
164 #define DIGCDP_FLAG_BASIC 0x00000001
165 #define DIGCDP_FLAG_ADVANCED 0x00000002
166 #if (_SETUPAPI_VER >= 0x0501)
167 #define DIGCDP_FLAG_REMOTE_BASIC 0x00000003
168 #define DIGCDP_FLAG_REMOTE_ADVANCED 0x00000004
169 #endif
170 #define DIGCF_DEFAULT 0x00000001
171 #define DIGCF_PRESENT 0x00000002
172 #define DIGCF_ALLCLASSES 0x00000004
173 #define DIGCF_PROFILE 0x00000008
174 #define DIGCF_DEVICEINTERFACE 0x00000010
175 #define DIGCF_INTERFACEDEVICE 0x00000010
176 #define DIOCR_INSTALLER 0x00000001
177 #define DIOCR_INTERFACE 0x00000002
178 #define DIODI_NO_ADD 0x00000001
179 #define DIOD_INHERIT_CLASSDRVS 0x00000002
180 #define DIOD_CANCEL_REMOVE 0x00000004
181 #define DIREG_DEV 0x00000001
182 #define DIREG_DRV 0x00000002
183 #define DIREG_BOTH 0x00000004
184 #define DIRID_ABSOLUTE -1
185 #define DIRID_NULL 0
186 #define DIRID_SRCPATH 1
187 #define DIRID_WINDOWS 10
188 #define DIRID_SYSTEM 11
189 #define DIRID_DRIVERS 12
190 #define DIRID_INF 17
191 #define DIRID_HELP 18
192 #define DIRID_FONTS 20
193 #define DIRID_VIEWERS 21
194 #define DIRID_COLOR 23
195 #define DIRID_APPS 24
196 #define DIRID_SHARED 25
197 #define DIRID_BOOT 30
198 #define DIRID_SYSTEM16 50
199 #define DIRID_SPOOL 51
200 #define DIRID_SPOOLDRIVERS 52
201 #define DIRID_USERPROFILE 53
202 #define DIRID_LOADER 54
203 #define DIRID_PRINTPROCESSOR 55
204 #define DIRID_COMMON_STARTMENU 16406
205 #define DIRID_COMMON_PROGRAMS 16407
206 #define DIRID_COMMON_STARTUP 16408
207 #define DIRID_COMMON_DESKTOPDIRECTORY 16409
208 #define DIRID_COMMON_FAVORITES 16415
209 #define DIRID_COMMON_APPDATA 16419
210 #define DIRID_PROGRAM_FILES 16422
211 #define DIRID_SYSTEM_X86 16425
212 #define DIRID_PROGRAM_FILES_X86 16426
213 #define DIRID_PROGRAM_FILES_COMMON 16427
214 #define DIRID_PROGRAM_FILES_COMMONX86 16428
215 #define DIRID_COMMON_TEMPLATES 16429
216 #define DIRID_COMMON_DOCUMENTS 16430
217 #define DIRID_USER 0x8000
218 #define DIRID_ABSOLUTE_16BIT 0xffff
219 #define DIRID_IOSUBSYS DIRID_DRIVERS
220 #define DIRID_DEFAULT DIRID_SYSTEM
221 #define DMI_MASK 0x00000001
222 #define DMI_BKCOLOR 0x00000002
223 #define DMI_USERECT 0x00000004
224 #define DN_ROOT_ENUMERATED 0x00000001
225 #define DN_DRIVER_LOADED 0x00000002
226 #define DN_ENUM_LOADED 0x00000004
227 #define DN_STARTED 0x00000008
228 #define DN_MANUAL 0x00000010
229 #define DN_NEED_TO_ENUM 0x00000020
230 #define DN_NOT_FIRST_TIME 0x00000040
231 #define DN_HARDWARE_ENUM 0x00000080
232 #define DN_LIAR 0x00000100
233 #define DN_HAS_MARK 0x00000200
234 #define DN_HAS_PROBLEM 0x00000400
235 #define DN_FILTERED 0x00000800
236 #define DN_MOVED 0x00001000
237 #define DN_DISABLEABLE 0x00002000
238 #define DN_REMOVABLE 0x00004000
239 #define DN_PRIVATE_PROBLEM 0x00008000
240 #define DN_MF_PARENT 0x00010000
241 #define DN_MF_CHILD 0x00020000
242 #define DN_WILL_BE_REMOVED 0x00040000
243 #define DN_NOT_FIRST_TIMEE 0x00080000
244 #define DN_STOP_FREE_RES 0x00100000
245 #define DN_REBAL_CANDIDATE 0x00200000
246 #define DN_BAD_PARTIAL 0x00400000
247 #define DN_NT_ENUMERATOR 0x00800000
248 #define DN_NT_DRIVER 0x01000000
249 #define DN_NEEDS_LOCKING 0x02000000
250 #define DN_ARM_WAKEUP 0x04000000
251 #define DN_APM_ENUMERATOR 0x08000000
252 #define DN_APM_DRIVER 0x10000000
253 #define DN_SILENT_INSTALL 0x20000000
254 #define DN_NO_SHOW_IN_DM 0x40000000
255 #define DN_BOOT_LOG_PROB 0x80000000
256 #define DNF_DUPDESC 0x00000001
257 #define DNF_OLDDRIVER 0x00000002
258 #define DNF_EXCLUDEFROMLIST 0x00000004
259 #define DNF_NODRIVER 0x00000008
260 #define DNF_LEGACYINF 0x00000010
261 #define DNF_CLASS_DRIVER 0x00000020
262 #define DNF_COMPATIBLE_DRIVER 0x00000040
263 #define DNF_INET_DRIVER 0x00000080
264 #define DNF_UNUSED1 0x00000100
265 #define DNF_INDEXED_DRIVER 0x00000200
266 #define DNF_OLD_INET_DRIVER 0x00000400
267 #define DNF_BAD_DRIVER 0x00000800
268 #define DNF_DUPPROVIDER 0x00001000
269 #define DPROMPT_SUCCESS 0
270 #define DPROMPT_CANCEL 1
271 #define DPROMPT_SKIPFILE 2
272 #define DPROMPT_BUFFERTOOSMALL 3
273 #define DPROMPT_OUTOFMEMORY 4
274 #define DRIVER_HARDWAREID_RANK 0x00000FFF
275 #if (_SETUPAPI_VER >= 0x0600)
276 #define DRIVER_UNTRUSTED_RANK 0x80000000
277 #else
278 #define DRIVER_UNTRUSTED_RANK 0x00008000
279 #endif
280 #define DYNAWIZ_FLAG_PAGESADDED 0x00000001
281 #define DYNAWIZ_FLAG_INSTALLDET_NEXT 0x00000002
282 #define DYNAWIZ_FLAG_INSTALLDET_PREV 0x00000004
283 #define DYNAWIZ_FLAG_ANALYZE_HANDLECONFLICT 0x00000008
284 #define ENABLECLASS_QUERY 0
285 #define ENABLECLASS_SUCCESS 1
286 #define ENABLECLASS_FAILURE 2
287 #define ERROR_EXPECTED_SECTION_NAME (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0)
288 #define ERROR_BAD_SECTION_NAME_LINE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|1)
289 #define ERROR_SECTION_NAME_TOO_LONG (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|2)
290 #define ERROR_GENERAL_SYNTAX (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|3)
291 #define ERROR_WRONG_INF_STYLE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x100)
292 #define ERROR_NOT_INSTALLED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x1000)
293 #define ERROR_SECTION_NOT_FOUND (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x101)
294 #define ERROR_LINE_NOT_FOUND (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x102)
295 #define ERROR_NO_BACKUP (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x103)
296 #define ERROR_NO_ASSOCIATED_CLASS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x200)
297 #define ERROR_CLASS_MISMATCH (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x201)
298 #define ERROR_DUPLICATE_FOUND (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x202)
299 #define ERROR_NO_DRIVER_SELECTED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x203)
300 #define ERROR_KEY_DOES_NOT_EXIST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x204)
301 #define ERROR_INVALID_DEVINST_NAME (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x205)
302 #define ERROR_INVALID_CLASS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x206)
303 #define ERROR_DEVINST_ALREADY_EXISTS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x207)
304 #define ERROR_DEVINFO_NOT_REGISTERED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x208)
305 #define ERROR_INVALID_REG_PROPERTY (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x209)
306 #define ERROR_NO_INF (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20A)
307 #define ERROR_NO_SUCH_DEVINST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20B)
308 #define ERROR_CANT_LOAD_CLASS_ICON (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20C)
309 #define ERROR_INVALID_CLASS_INSTALLER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20D)
310 #define ERROR_DI_DO_DEFAULT (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20E)
311 #define ERROR_DI_NOFILECOPY (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20F)
312 #define ERROR_INVALID_HWPROFILE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x210)
313 #define ERROR_NO_DEVICE_SELECTED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x211)
314 #define ERROR_DEVINFO_LIST_LOCKED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x212)
315 #define ERROR_DEVINFO_DATA_LOCKED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x213)
316 #define ERROR_DI_BAD_PATH (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x214)
317 #define ERROR_NO_CLASSINSTALL_PARAMS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x215)
318 #define ERROR_FILEQUEUE_LOCKED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x216)
319 #define ERROR_BAD_SERVICE_INSTALLSECT (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x217)
320 #define ERROR_NO_CLASS_DRIVER_LIST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x218)
321 #define ERROR_NO_ASSOCIATED_SERVICE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x219)
322 #define ERROR_NO_DEFAULT_DEVICE_INTERFACE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21A)
323 #define ERROR_DEVICE_INTERFACE_ACTIVE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21B)
324 #define ERROR_DEVICE_INTERFACE_REMOVED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21C)
325 #define ERROR_BAD_INTERFACE_INSTALLSECT (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21D)
326 #define ERROR_NO_SUCH_INTERFACE_CLASS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21E)
327 #define ERROR_INVALID_REFERENCE_STRING (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21F)
328 #define ERROR_INVALID_MACHINENAME (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x220)
329 #define ERROR_REMOTE_COMM_FAILURE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x221)
330 #define ERROR_MACHINE_UNAVAILABLE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x222)
331 #define ERROR_NO_CONFIGMGR_SERVICES (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x223)
332 #define ERROR_INVALID_PROPPAGE_PROVIDER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x224)
333 #define ERROR_NO_SUCH_DEVICE_INTERFACE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x225)
334 #define ERROR_DI_POSTPROCESSING_REQUIRED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x226)
335 #define ERROR_INVALID_COINSTALLER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x227)
336 #define ERROR_NO_COMPAT_DRIVERS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x228)
337 #define ERROR_NO_DEVICE_ICON (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x229)
338 #define ERROR_INVALID_INF_LOGCONFIG (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22A)
339 #define ERROR_DI_DONT_INSTALL (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22B)
340 #define ERROR_INVALID_FILTER_DRIVER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22C)
341 #define ERROR_NON_WINDOWS_NT_DRIVER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22D)
342 #define ERROR_NON_WINDOWS_DRIVER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22E)
343 #define ERROR_NO_CATALOG_FOR_OEM_INF (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22F)
344 #define ERROR_DEVINSTALL_QUEUE_NONNATIVE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x230)
345 #define ERROR_NOT_DISABLEABLE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x231)
346 #define ERROR_CANT_REMOVE_DEVINST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x232)
347 #define ERROR_IN_WOW64 (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x235)
348 #define ERROR_INTERFACE_DEVICE_ACTIVE ERROR_DEVICE_INTERFACE_ACTIVE
349 #define ERROR_INTERFACE_DEVICE_REMOVED ERROR_DEVICE_INTERFACE_REMOVED
350 #define ERROR_NO_DEFAULT_INTERFACE_DEVICE ERROR_NO_DEFAULT_DEVICE_INTERFACE
351 #define ERROR_NO_SUCH_INTERFACE_DEVICE ERROR_NO_SUCH_DEVICE_INTERFACE
352 #define ERROR_WRONG_INF_TYPE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x24A)
353 
354 #define FILEOP_COPY 0
355 #define FILEOP_ABORT 0
356 #define FILE_COMPRESSION_NONE 0
357 #define FILEOP_RENAME 1
358 #define FILEOP_DOIT 1
359 #define FILE_COMPRESSION_WINLZA 1
360 #define FILEOP_DELETE 2
361 #define FILEOP_SKIP 2
362 #define FILE_COMPRESSION_MSZIP 2
363 #define FILEOP_BACKUP 3
364 #define FILE_COMPRESSION_NTCAB 3
365 #define FILEOP_NEWPATH 4
366 #define FILEOP_RETRY FILEOP_DOIT
367 #define FLG_ADDREG_TYPE_SZ 0x00000000
368 #define FLG_ADDREG_BINVALUETYPE 0x00000001
369 #define FLG_ADDREG_NOCLOBBER 0x00000002
370 #define FLG_ADDREG_DELVAL 0x00000004
371 #define FLG_ADDREG_APPEND 0x00000008
372 #define FLG_ADDREG_KEYONLY 0x00000010
373 #define FLG_ADDREG_OVERWRITEONLY 0x00000020
374 #if (_SETUPAPI_VER >= 0x0501)
375 #define FLG_ADDREG_64BITKEY 0x00001000
376 #define FLG_ADDREG_KEYONLY_COMMON 0x00002000
377 #define FLG_ADDREG_32BITKEY 0x00004000
378 #define FLG_ADDREG_DELREG_BIT 0x00008000
379 #endif
380 #define FLG_ADDREG_TYPE_MULTI_SZ 0x00010000
381 #define FLG_ADDREG_TYPE_EXPAND_SZ 0x00020000
382 #define FLG_ADDREG_TYPE_BINARY (0x00000000|FLG_ADDREG_BINVALUETYPE)
383 #define FLG_ADDREG_TYPE_DWORD (0x00010000|FLG_ADDREG_BINVALUETYPE)
384 #define FLG_ADDREG_TYPE_NONE (0x00020000|FLG_ADDREG_BINVALUETYPE)
385 #define FLG_ADDREG_TYPE_MASK (0xFFFF0000|FLG_ADDREG_BINVALUETYPE)
386 #define FLG_DELREG_VALUE 0x00000000
387 #if (_SETUPAPI_VER >= 0x0501)
388 #define FLG_DELREG_TYPE_MASK FLG_ADDREG_TYPE_MASK
389 #define FLG_DELREG_TYPE_SZ FLG_ADDREG_TYPE_SZ
390 #define FLG_DELREG_TYPE_MULTI_SZ FLG_ADDREG_TYPE_MULTI_SZ
391 #define FLG_DELREG_TYPE_EXPAND_SZ FLG_ADDREG_TYPE_EXPAND_SZ
392 #define FLG_DELREG_TYPE_BINARY FLG_ADDREG_TYPE_BINARY
393 #define FLG_DELREG_TYPE_DWORD FLG_ADDREG_TYPE_DWORD
394 #define FLG_DELREG_TYPE_NONE FLG_ADDREG_TYPE_NONE
395 #define FLG_DELREG_64BITKEY FLG_ADDREG_64BITKEY
396 #define FLG_DELREG_KEYONLY_COMMON FLG_ADDREG_KEYONLY_COMMON
397 #define FLG_DELREG_32BITKEY FLG_ADDREG_32BITKEY
398 #define FLG_DELREG_OPERATION_MASK 0x000000FE
399 #define FLG_DELREG_MULTI_SZ_DELSTRING (0x00000002|FLG_DELREG_TYPE_MULTI_SZ|FLG_ADDREG_DELREG_BIT)
400 #endif
401 #define FLG_BITREG_CLEARBITS 0x00000000
402 #define FLG_BITREG_SETBITS 0x00000001
403 #define FLG_PROFITEM_CURRENTUSER 0x00000001
404 #define FLG_PROFITEM_DELETE 0x00000002
405 #define FLG_PROFITEM_GROUP 0x00000004
406 #define FLG_PROFITEM_CSIDL 0x00000008
407 #define FLG_REGSVR_DLLREGISTER 0x00000001
408 #define FLG_REGSVR_DLLINSTALL 0x00000002
409 #define MIN_IDD_DYNAWIZ_RESOURCE_ID 10000
410 #define MAX_IDD_DYNAWIZ_RESOURCE_ID 11000
411 #define IDD_DYNAWIZ_FIRSTPAGE 10000
412 #define IDD_DYNAWIZ_SELECT_PREVPAGE 10001
413 #define IDD_DYNAWIZ_SELECT_NEXTPAGE 10002
414 #define IDD_DYNAWIZ_ANALYZE_PREVPAGE 10003
415 #define IDD_DYNAWIZ_ANALYZE_NEXTPAGE 10004
416 #define IDD_DYNAWIZ_INSTALLDETECTED_PREVPAGE 10006
417 #define IDD_DYNAWIZ_INSTALLDETECTED_NEXTPAGE 10007
418 #define IDD_DYNAWIZ_INSTALLDETECTED_NODEVS 10008
419 #define IDD_DYNAWIZ_SELECTDEV_PAGE 10009
420 #define IDD_DYNAWIZ_ANALYZEDEV_PAGE 10010
421 #define IDD_DYNAWIZ_INSTALLDETECTEDDEVS_PAGE 10011
422 #define IDD_DYNAWIZ_SELECTCLASS_PAGE 10012
423 #define IDF_NOBROWSE 0x00000001
424 #define IDF_NOSKIP 0x00000002
425 #define IDF_NODETAILS 0x00000004
426 #define IDF_NOCOMPRESSED 0x00000008
427 #define IDF_CHECKFIRST 0x00000100
428 #define IDF_NOBEEP 0x00000200
429 #define IDF_NOFOREGROUND 0x00000400
430 #define IDF_WARNIFSKIP 0x00000800
431 #define IDF_OEMDISK 0x80000000
432 #define IDI_RESOURCEFIRST 159
433 #define IDI_RESOURCE 159
434 #define IDI_RESOURCELAST 161
435 #define IDI_RESOURCEOVERLAYFIRST 161
436 #define IDI_RESOURCEOVERLAYLAST 161
437 #define IDI_CONFLICT 161
438 #define IDI_PROBLEM_OVL 500
439 #define IDI_DISABLED_OVL 501
440 #define IDI_FORCED_OVL 502
441 #define IDI_CLASSICON_OVERLAYFIRST 500
442 #define IDI_CLASSICON_OVERLAYLAST 502
443 #define INF_STYLE_NONE 0x00000000
444 #define INF_STYLE_OLDNT 0x00000001
445 #define INF_STYLE_WIN4 0x00000002
446 #define INF_STYLE_CACHE_ENABLE 0x00000010
447 #define INF_STYLE_CACHE_DISABLE 0x00000020
448 #define INFINFO_INF_SPEC_IS_HINF 1
449 #define INFINFO_INF_NAME_IS_ABSOLUTE 2
450 #define INFINFO_DEFAULT_SEARCH 3
451 #define INFINFO_REVERSE_DEFAULT_SEARCH 4
452 #define INFINFO_INF_PATH_LIST_SEARCH 5
453 #define LogSevInformation 0
454 #define LogSevWarning 1
455 #define LogSevError 2
456 #define LogSevFatalError 3
457 #define LogSevMaximum 4
458 #define LogSeverity DWORD
459 #define MAX_INSTALLWIZARD_DYNAPAGES 20
460 #define NDW_INSTALLFLAG_DIDFACTDEFS 0x00000001
461 #define NDW_INSTALLFLAG_HARDWAREALLREADYIN 0x00000002
462 #define NDW_INSTALLFLAG_NEEDSHUTDOWN 0x00000200
463 #define NDW_INSTALLFLAG_EXPRESSINTRO 0x00000400
464 #define NDW_INSTALLFLAG_SKIPISDEVINSTALLED 0x00000800
465 #define NDW_INSTALLFLAG_NODETECTEDDEVS 0x00001000
466 #define NDW_INSTALLFLAG_INSTALLSPECIFIC 0x00002000
467 #define NDW_INSTALLFLAG_SKIPCLASSLIST 0x00004000
468 #define NDW_INSTALLFLAG_CI_PICKED_OEM 0x00008000
469 #define NDW_INSTALLFLAG_PCMCIAMODE 0x00010000
470 #define NDW_INSTALLFLAG_PCMCIADEVICE 0x00020000
471 #define NDW_INSTALLFLAG_USERCANCEL 0x00040000
472 #define NDW_INSTALLFLAG_KNOWNCLASS 0x00080000
473 #define NDW_INSTALLFLAG_NEEDRESTART 0x00000080
474 #define NDW_INSTALLFLAG_NEEDREBOOT 0x00000100
475 #define SETDIRID_NOT_FULL_PATH 0x00000001
476 #define SP_COPY_DELETESOURCE 0x0000001
477 #define SP_COPY_REPLACEONLY 0x0000002
478 #define SP_COPY_NEWER 0x0000004
479 #define SP_COPY_NEWER_OR_SAME 0x0000004
480 #define SP_COPY_NOOVERWRITE 0x0000008
481 #define SP_COPY_NODECOMP 0x0000010
482 #define SP_COPY_LANGUAGEAWARE 0x0000020
483 #define SP_COPY_SOURCE_ABSOLUTE 0x0000040
484 #define SP_COPY_SOURCEPATH_ABSOLUTE 0x0000080
485 #define SP_COPY_IN_USE_NEEDS_REBOOT 0x0000100
486 #define SP_COPY_FORCE_IN_USE 0x0000200
487 #define SP_COPY_NOSKIP 0x0000400
488 #define SP_COPY_FORCE_NOOVERWRITE 0x0001000
489 #define SP_COPY_FORCE_NEWER 0x0002000
490 #define SP_COPY_WARNIFSKIP 0x0004000
491 #define SP_COPY_NOBROWSE 0x0008000
492 #define SP_COPY_NEWER_ONLY 0x0010000
493 #define SP_COPY_SOURCE_SIS_MASTER 0x0020000
494 #define SP_COPY_OEMINF_CATALOG_ONLY 0x0040000
495 #define SP_COPY_REPLACE_BOOT_FILE 0x0080000
496 #define SP_COPY_NOPRUNE 0x0100000
497 #define SP_FLAG_CABINETCONTINUATION 0x0000800
498 #define SPCRP_SECURITY 23
499 #define SPCRP_SECURITY_SDS 24
500 #define SPCRP_DEVTYPE 25
501 #define SPCRP_EXCLUSIVE 26
502 #define SPCRP_CHARACTERISTICS 27
503 #define SPCRP_MAXIMUM_PROPERTY 28
504 #define SPDIT_NODRIVER 0
505 #define SPDIT_CLASSDRIVER 1
506 #define SPDIT_COMPATDRIVER 2
507 #define SPDRP_DEVICEDESC 0
508 #define SPDRP_HARDWAREID 1
509 #define SPDRP_COMPATIBLEIDS 2
510 #define SPDRP_UNUSED0 3
511 #define SPDRP_SERVICE 4
512 #define SPDRP_UNUSED1 5
513 #define SPDRP_UNUSED2 6
514 #define SPDRP_CLASS 7
515 #define SPDRP_CLASSGUID 8
516 #define SPDRP_DRIVER 9
517 #define SPDRP_CONFIGFLAGS 10
518 #define SPDRP_MFG 11
519 #define SPDRP_FRIENDLYNAME 12
520 #define SPDRP_LOCATION_INFORMATION 13
521 #define SPDRP_PHYSICAL_DEVICE_OBJECT_NAME 14
522 #define SPDRP_CAPABILITIES 15
523 #define SPDRP_UI_NUMBER 16
524 #define SPDRP_UPPERFILTERS 17
525 #define SPDRP_LOWERFILTERS 18
526 #define SPDRP_BUSTYPEGUID 19
527 #define SPDRP_LEGACYBUSTYPE 20
528 #define SPDRP_BUSNUMBER 21
529 #define SPDRP_ENUMERATOR_NAME 22
530 #define SPDRP_SECURITY 23
531 #define SPDRP_SECURITY_SDS 24
532 #define SPDRP_DEVTYPE 25
533 #define SPDRP_EXCLUSIVE 26
534 #define SPDRP_CHARACTERISTICS 27
535 #define SPDRP_ADDRESS 28
536 #define SPDRP_UI_NUMBER_DESC_FORMAT 29
537 #define SPDRP_DEVICE_POWER_DATA 30
538 #define SPDRP_REMOVAL_POLICY 31
539 #define SPDRP_REMOVAL_POLICY_HW_DEFAULT 32
540 #define SPDRP_REMOVAL_POLICY_OVERRIDE 33
541 #define SPDRP_INSTALL_STATE 34
542 #define SPDRP_MAXIMUM_PROPERTY 35
543 #define SPDSL_IGNORE_DISK 1
544 #define SPDSL_DISALLOW_NEGATIVE_ADJUST 2
545 
546 #define SPFILENOTIFY_STARTQUEUE 1
547 #define SPFILENOTIFY_ENDQUEUE 2
548 #define SPFILENOTIFY_STARTSUBQUEUE 3
549 #define SPFILENOTIFY_ENDSUBQUEUE 4
550 #define SPFILENOTIFY_STARTDELETE 5
551 #define SPFILENOTIFY_ENDDELETE 6
552 #define SPFILENOTIFY_DELETEERROR 7
553 #define SPFILENOTIFY_STARTRENAME 8
554 #define SPFILENOTIFY_ENDRENAME 9
555 #define SPFILENOTIFY_RENAMEERROR 10
556 #define SPFILENOTIFY_STARTCOPY 11
557 #define SPFILENOTIFY_ENDCOPY 12
558 #define SPFILENOTIFY_COPYERROR 13
559 #define SPFILENOTIFY_NEEDMEDIA 14
560 #define SPFILENOTIFY_QUEUESCAN 15
561 #define SPFILENOTIFY_CABINETINFO 16
562 #define SPFILENOTIFY_FILEINCABINET 17
563 #define SPFILENOTIFY_NEEDNEWCABINET 18
564 #define SPFILENOTIFY_FILEEXTRACTED 19
565 #define SPFILENOTIFY_FILEOPDELAYED 20
566 #define SPFILENOTIFY_STARTBACKUP 21
567 #define SPFILENOTIFY_BACKUPERROR 22
568 #define SPFILENOTIFY_ENDBACKUP 23
569 #define SPFILENOTIFY_QUEUESCAN_EX 24
570 #define SPFILENOTIFY_STARTREGISTRATION 25
571 #define SPFILENOTIFY_ENDREGISTRATION 26
572 #define SPFILENOTIFY_LANGMISMATCH 0x00010000
573 #define SPFILENOTIFY_TARGETEXISTS 0x00020000
574 #define SPFILENOTIFY_TARGETNEWER 0x00040000
575 #define SPFILELOG_SYSTEMLOG 0x00000001
576 #define SPFILELOG_OEMFILE 0x00000001
577 #define SPFILELOG_FORCENEW 0x00000002
578 #define SPFILELOG_QUERYONLY 0x00000004
579 #define SPFILEQ_FILE_IN_USE 0x00000001
580 #define SPFILEQ_REBOOT_RECOMMENDED 0x00000002
581 #define SPFILEQ_REBOOT_IN_PROGRESS 0x00000004
582 #define SPINT_ACTIVE 0x00000001
583 #define SPINT_DEFAULT 0x00000002
584 #define SPINT_REMOVED 0x00000004
585 #define SPID_ACTIVE 0x00000001
586 #define SPID_DEFAULT 0x00000002
587 #define SPID_REMOVED 0x00000004
588 #define SPINST_LOGCONFIG 0x00000001
589 #define SPINST_INIFILES 0x00000002
590 #define SPINST_REGISTRY 0x00000004
591 #define SPINST_INI2REG 0x00000008
592 #define SPINST_FILES 0x00000010
593 #define SPINST_BITREG 0x00000020
594 #define SPINST_REGSVR 0x00000040
595 #define SPINST_UNREGSVR 0x00000080
596 #define SPINST_PROFILEITEMS 0x00000100
597 #if (_SETUPAPI_VER >= 0x0501)
598 #define SPINST_COPYINF 0x00000200
599 #define SPINST_ALL 0x000003ff
600 #else
601 #define SPINST_ALL 0x000001ff
602 #endif
603 #define SPINST_SINGLESECTION 0x00010000
604 #define SPINST_LOGCONFIG_IS_FORCED 0x00020000
605 #define SPINST_LOGCONFIGS_ARE_OVERRIDES 0x00040000
606 #if (_SETUPAPI_VER >= 0x0501)
607 #define SPINST_REGISTERCALLBACKAWARE 0x00080000
608 #endif
609 #define SPOST_NONE 0
610 #define SPOST_PATH 1
611 #define SPOST_URL 2
612 #define SPOST_MAX 3
613 #define SPPSR_SELECT_DEVICE_RESOURCES 1
614 #define SPPSR_ENUM_BASIC_DEVICE_PROPERTIES 2
615 #define SPPSR_ENUM_ADV_DEVICE_PROPERTIES 3
616 #define SPQ_SCAN_FILE_PRESENCE 0x00000001
617 #define SPQ_DELAYED_COPY 0x00000001
618 #define SPQ_SCAN_FILE_VALIDITY 0x00000002
619 #define SPQ_SCAN_USE_CALLBACK 0x00000004
620 #define SPQ_SCAN_USE_CALLBACKEX 0x00000008
621 #define SPQ_SCAN_INFORM_USER 0x00000010
622 #define SPQ_SCAN_PRUNE_COPY_QUEUE 0x00000020
623 #define SPRDI_FIND_DUPS 0x00000001
624 
625 #define SPSVCINST_TAGTOFRONT 0x00000001
626 #define SPSVCINST_ASSOCSERVICE 0x00000002
627 #define SPSVCINST_DELETEEVENTLOGENTRY 0x00000004
628 #define SPSVCINST_NOCLOBBER_DISPLAYNAME 0x00000008
629 #define SPSVCINST_NOCLOBBER_STARTTYPE 0x00000010
630 #define SPSVCINST_NOCLOBBER_ERRORCONTROL 0x00000020
631 #define SPSVCINST_NOCLOBBER_LOADORDERGROUP 0x00000040
632 #define SPSVCINST_NOCLOBBER_DEPENDENCIES 0x00000080
633 #define SPSVCINST_NOCLOBBER_DESCRIPTION 0x00000100
634 #define SPSVCINST_STOPSERVICE 0x00000200
635 #define SPSVCINST_CLOBBER_SECURITY 0x00000400
636 #define SPSVCINST_STARTSERVICE 0x00000800
637 
638 #define SPWPT_SELECTDEVICE 0x00000001
639 #define SPWP_USE_DEVINFO_DATA 0x00000001
640 #define SRCINFO_PATH 1
641 #define SRCINFO_TAGFILE 2
642 #define SRCINFO_DESCRIPTION 3
643 #define SRCINFO_FLAGS 4
644 #define SRCLIST_TEMPORARY 0x00000001
645 #define SRCLIST_NOBROWSE 0x00000002
646 #define SRCLIST_SYSTEM 0x00000010
647 #define SRCLIST_USER 0x00000020
648 #define SRCLIST_SYSIFADMIN 0x00000040
649 #define SRCLIST_SUBDIRS 0x00000100
650 #define SRCLIST_APPEND 0x00000200
651 #define SRCLIST_NOSTRIPPLATFORM 0x00000400
652 #define SPREG_SUCCESS 0x00000000
653 #define SPREG_LOADLIBRARY 0x00000001
654 #define SPREG_GETPROCADDR 0x00000002
655 #define SPREG_REGSVR 0x00000003
656 #define SPREG_DLLINSTALL 0x00000004
657 #define SPREG_TIMEOUT 0x00000005
658 #define SPREG_UNKNOWN 0xFFFFFFFF
659 
660 /* Flags for StringTableAddString and StringTableLookUpString */
661 #define ST_CASE_SENSITIVE_COMPARE 0x00000001
662 
663 /* SetupUninstallOEMInf Flags values */
664 #define SUOI_FORCEDELETE 0x00000001
665 
666 #ifndef RC_INVOKED
667 typedef PVOID HINF;
668 typedef PVOID HDSKSPC;
669 typedef PVOID HDEVINFO;
670 typedef PVOID HSPFILEQ;
673 
675 
676 typedef enum {
684 typedef struct _INFCONTEXT {
685  PVOID Inf;
687  UINT Section;
688  UINT Line;
690 typedef struct _SP_INF_INFORMATION {
695 typedef struct _SP_INF_SIGNER_INFO_A {
701 typedef struct _SP_INF_SIGNER_INFO_W {
707 typedef struct _SP_ALTPLATFORM_INFO_V1 {
715 typedef struct _SP_ALTPLATFORM_INFO_V2 {
721  union
722  {
725  } DUMMYUNIONNAME;
729 #if _WIN32_WINNT <= 0x0500
732 #else
735 #endif
736 typedef struct _SP_ORIGINAL_FILE_INFO_A {
741 typedef struct _SP_ORIGINAL_FILE_INFO_W {
746 typedef struct _FILEPATHS_A {
752 typedef struct _FILEPATHS_W {
753  PCWSTR Target;
754  PCWSTR Source;
758 typedef struct _SOURCE_MEDIA_A {
766 typedef struct _SOURCE_MEDIA_W {
774 typedef struct _CABINET_INFO_A {
781 typedef struct _CABINET_INFO_W {
788 typedef struct _FILE_IN_CABINET_INFO_A {
797 typedef struct _FILE_IN_CABINET_INFO_W {
806 typedef struct _SP_FILE_COPY_PARAMS_A {
820 typedef struct _SP_FILE_COPY_PARAMS_W {
834 typedef struct _SP_DEVINFO_DATA {
846 /* For backward compatability */
848 
857 /* For backward compatability */
862 
875 
878 typedef struct _SP_DEVINSTALL_PARAMS_A {
890 typedef struct _SP_DEVINSTALL_PARAMS_W {
902 typedef struct _SP_CLASSINSTALL_HEADER {
906 typedef struct _SP_ENABLECLASS_PARAMS {
911 typedef struct _SP_MOVEDEV_PARAMS {
915 typedef struct _SP_PROPCHANGE_PARAMS {
921 typedef struct _SP_REMOVEDEVICE_PARAMS {
958 
960 typedef struct _SP_DETECTDEVICE_PARAMS {
965 typedef struct _SP_INSTALLWIZARD_DATA {
975 typedef struct _SP_NEWDEVICEWIZARD_DATA {
1002 typedef struct _SP_DRVINFO_DATA_V2_A {
1012 typedef struct _SP_DRVINFO_DATA_V2_W {
1022 typedef struct _SP_DRVINFO_DATA_V1_A {
1030 typedef struct _SP_DRVINFO_DATA_V1_W {
1038 
1039 #ifdef UNICODE
1042 #else
1045 #endif
1046 
1047 #if USE_SP_DRVINFO_DATA_V1
1051 #else
1055 #endif
1056 
1058 
1081 typedef struct _SP_DRVINSTALL_PARAMS {
1088 
1089 
1095 typedef struct _SP_CLASSIMAGELIST_DATA {
1116 
1117 
1118 #ifdef UNICODE
1120 typedef FILEPATHS_W FILEPATHS, *PFILEPATHS;
1128  *PSP_INTERFACE_DEVICE_DETAIL_DATA; /* deprecated */
1142 #else
1152  *PSP_INTERFACE_DEVICE_DETAIL_DATA; /* deprecated */
1167 #endif /* UNICODE */
1168 
1169 
1185 
1204 
1206 UINT
1207 WINAPI
1210  _In_opt_ PCSTR DialogTitle,
1211  _In_opt_ PCSTR DiskName,
1212  _In_ PCSTR PathToSource,
1213  _In_ PCSTR SourceFile,
1214  _In_opt_ PCSTR TargetPathFile,
1215  _In_ UINT Win32ErrorCode,
1216  _In_ DWORD Style,
1217  _Out_writes_opt_(PathBufferSize) PSTR PathBuffer,
1218  _In_ DWORD PathBufferSize,
1219  _Out_opt_ PDWORD PathRequiredSize);
1220 
1222 UINT
1223 WINAPI
1226  _In_opt_ PCWSTR DialogTitle,
1227  _In_opt_ PCWSTR DiskName,
1228  _In_ PCWSTR PathToSource,
1229  _In_ PCWSTR SourceFile,
1230  _In_opt_ PCWSTR TargetPathFile,
1231  _In_ UINT Win32ErrorCode,
1232  _In_ DWORD Style,
1233  _Out_writes_opt_(PathBufferSize) PWSTR PathBuffer,
1234  _In_ DWORD PathBufferSize,
1235  _Out_opt_ PDWORD PathRequiredSize);
1236 
1238 BOOL
1239 WINAPI
1241  _In_ PCSTR SourceInfFileName,
1242  _In_opt_ PCSTR OEMSourceMediaLocation,
1243  _In_ DWORD OEMSourceMediaType,
1244  _In_ DWORD CopyStyle,
1245  _Out_writes_opt_(DestinationInfFileNameSize) PSTR DestinationInfFileName,
1246  _In_ DWORD DestinationInfFileNameSize,
1248  _Out_opt_ PSTR *DestinationInfFileNameComponent);
1249 
1251 BOOL
1252 WINAPI
1254  _In_ PCWSTR SourceInfFileName,
1255  _In_opt_ PCWSTR OEMSourceMediaLocation,
1256  _In_ DWORD OEMSourceMediaType,
1257  _In_ DWORD CopyStyle,
1258  _Out_writes_opt_(DestinationInfFileNameSize) PWSTR DestinationInfFileName,
1259  _In_ DWORD DestinationInfFileNameSize,
1261  _Out_opt_ PWSTR *DestinationInfFileNameComponent);
1262 
1273 
1274 _Success_(return != FALSE)
1276 BOOL
1277 WINAPI
1279  _In_ DWORD Flags,
1283 
1284 _Success_(return != FALSE)
1286 BOOL
1287 WINAPI
1289  _In_ DWORD Flags,
1295 
1296 _Success_(return != FALSE)
1298 BOOL
1299 WINAPI
1301  _In_ DWORD Flags,
1307 
1312 
1313 _Success_(return != FALSE)
1315 BOOL
1316 WINAPI
1318  _In_ PCSTR ClassName,
1322 
1323 _Success_(return != FALSE)
1325 BOOL
1326 WINAPI
1328  _In_ PCWSTR ClassName,
1332 
1333 _Success_(return != FALSE)
1335 BOOL
1336 WINAPI
1338  _In_ PCSTR ClassName,
1344 
1345 _Success_(return != FALSE)
1347 BOOL
1348 WINAPI
1350  _In_ PCWSTR ClassName,
1356 
1358 BOOL
1359 WINAPI
1361  _In_ CONST GUID *ClassGuid,
1362  _Out_writes_(ClassNameSize) PSTR ClassName,
1363  _In_ DWORD ClassNameSize,
1365 
1367 BOOL
1368 WINAPI
1370  _In_ CONST GUID *ClassGuid,
1371  _Out_writes_(ClassNameSize) PWSTR ClassName,
1372  _In_ DWORD ClassNameSize,
1374 
1376 BOOL
1377 WINAPI
1379  _In_ CONST GUID *ClassGuid,
1380  _Out_writes_(ClassNameSize) PSTR ClassName,
1381  _In_ DWORD ClassNameSize,
1385 
1387 BOOL
1388 WINAPI
1390  _In_ CONST GUID *ClassGuid,
1391  _Out_writes_(ClassNameSize) PWSTR ClassName,
1392  _In_ DWORD ClassNameSize,
1396 
1420 
1422 BOOL
1423 WINAPI
1425  _In_ HINF InfHandle,
1426  _In_ PCSTR InfSectionName,
1427  _Out_writes_opt_(InfSectionWithExtSize) PSTR InfSectionWithExt,
1428  _In_ DWORD InfSectionWithExtSize,
1431 
1433 BOOL
1434 WINAPI
1436  _In_ HINF InfHandle,
1437  _In_ PCWSTR InfSectionName,
1438  _Out_writes_opt_(InfSectionWithExtSize) PWSTR InfSectionWithExt,
1439  _In_ DWORD InfSectionWithExtSize,
1442 
1444 BOOL
1445 WINAPI
1447  _In_ HINF InfHandle,
1448  _In_ PCSTR InfSectionName,
1449  _In_opt_ PSP_ALTPLATFORM_INFO AlternatePlatformInfo,
1450  _Out_writes_opt_(InfSectionWithExtSize) PSTR InfSectionWithExt,
1451  _In_ DWORD InfSectionWithExtSize,
1455 
1457 BOOL
1458 WINAPI
1460  _In_ HINF InfHandle,
1461  _In_ PCWSTR InfSectionName,
1462  _In_opt_ PSP_ALTPLATFORM_INFO AlternatePlatformInfo,
1463  _Out_writes_opt_(InfSectionWithExtSize) PWSTR InfSectionWithExt,
1464  _In_ DWORD InfSectionWithExtSize,
1468 
1470 
1472 BOOL
1473 WINAPI
1475  _In_ CONST GUID *ClassGuid,
1476  _Out_writes_(ClassDescriptionSize) PSTR ClassDescription,
1477  _In_ DWORD ClassDescriptionSize,
1479 
1481 BOOL
1482 WINAPI
1484  _In_ CONST GUID *ClassGuid,
1485  _Out_writes_(ClassDescriptionSize) PWSTR ClassDescription,
1486  _In_ DWORD ClassDescriptionSize,
1488 
1490 BOOL
1491 WINAPI
1493  _In_ CONST GUID *ClassGuid,
1494  _Out_writes_(ClassDescriptionSize) PSTR ClassDescription,
1495  _In_ DWORD ClassDescriptionSize,
1499 
1501 BOOL
1502 WINAPI
1504  _In_ CONST GUID *ClassGuid,
1505  _Out_writes_(ClassDescriptionSize) PWSTR ClassDescription,
1506  _In_ DWORD ClassDescriptionSize,
1510 
1521 
1522 _Success_(return != FALSE)
1524 BOOL
1525 WINAPI
1532 
1533 _Success_(return != FALSE)
1535 BOOL
1536 WINAPI
1543 
1544 _Success_(return != FALSE)
1546 BOOL
1547 WINAPI
1548 SetupDiGetClassRegistryPropertyA(
1549  _In_ CONST GUID *ClassGuid,
1557 
1558 _Success_(return != FALSE)
1560 BOOL
1561 WINAPI
1562 SetupDiGetClassRegistryPropertyW(
1563  _In_ CONST GUID *ClassGuid,
1571 
1577 
1579 BOOL
1580 WINAPI
1584  _Out_writes_opt_(DeviceInstanceIdSize) PSTR DeviceInstanceId,
1585  _In_ DWORD DeviceInstanceIdSize,
1587 
1589 BOOL
1590 WINAPI
1594  _Out_writes_opt_(DeviceInstanceIdSize) PWSTR DeviceInstanceId,
1595  _In_ DWORD DeviceInstanceIdSize,
1597 
1599 
1600 _Success_(return != FALSE)
1601 _At_((LPSTR)DeviceInterfaceDetailData->DevicePath, _Post_z_)
1603 BOOL
1604 WINAPI
1607  _In_ PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
1608  _Inout_updates_bytes_to_opt_(DeviceInterfaceDetailDataSize, *RequiredSize) PSP_DEVICE_INTERFACE_DETAIL_DATA_A DeviceInterfaceDetailData,
1609  _In_ DWORD DeviceInterfaceDetailDataSize,
1612 
1613 _Success_(return != FALSE)
1614 _At_((LPWSTR)DeviceInterfaceDetailData->DevicePath, _Post_z_)
1616 BOOL
1617 WINAPI
1620  _In_ PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
1621  _Out_writes_bytes_to_opt_(DeviceInterfaceDetailDataSize, *RequiredSize) PSP_DEVICE_INTERFACE_DETAIL_DATA_W DeviceInterfaceDetailData,
1622  _In_ DWORD DeviceInterfaceDetailDataSize,
1625 
1626 _Success_(return != FALSE)
1630 BOOL
1631 WINAPI
1640 
1641 _Success_(return != FALSE)
1645 BOOL
1646 WINAPI
1655 
1657 BOOL
1658 WINAPI
1662  _In_ PSP_DRVINFO_DATA_A DriverInfoData,
1663  _Inout_updates_bytes_opt_(DriverInfoDetailDataSize) PSP_DRVINFO_DETAIL_DATA_A DriverInfoDetailData,
1664  _In_ DWORD DriverInfoDetailDataSize,
1666 
1668 BOOL
1669 WINAPI
1673  _In_ PSP_DRVINFO_DATA_W DriverInfoData,
1674  _Inout_updates_bytes_opt_(DriverInfoDetailDataSize) PSP_DRVINFO_DETAIL_DATA_W DriverInfoDetailData,
1675  _In_ DWORD DriverInfoDetailDataSize,
1677 
1680 
1682 BOOL
1683 WINAPI
1685  _In_ DWORD HwProfile,
1686  _Out_writes_(FriendlyNameSize) PSTR FriendlyName,
1687  _In_ DWORD FriendlyNameSize,
1689 
1691 BOOL
1692 WINAPI
1694  _In_ DWORD HwProfile,
1695  _Out_writes_(FriendlyNameSize) PWSTR FriendlyName,
1696  _In_ DWORD FriendlyNameSize,
1698 
1700 BOOL
1701 WINAPI
1703  _In_ DWORD HwProfile,
1704  _Out_writes_(FriendlyNameSize) PSTR FriendlyName,
1705  _In_ DWORD FriendlyNameSize,
1709 
1711 BOOL
1712 WINAPI
1714  _In_ DWORD HwProfile,
1715  _Out_writes_(FriendlyNameSize) PWSTR FriendlyName,
1716  _In_ DWORD FriendlyNameSize,
1720 
1722 
1723 _Success_(return != FALSE)
1725 BOOL
1726 WINAPI
1727 SetupDiGetHwProfileList(
1732 
1733 _Success_(return != FALSE)
1735 BOOL
1736 WINAPI
1737 SetupDiGetHwProfileListExA(
1744 
1745 _Success_(return != FALSE)
1747 BOOL
1748 WINAPI
1749 SetupDiGetHwProfileListExW(
1756 
1758 BOOL
1759 WINAPI
1761  _In_ PCSTR InfName,
1762  _Out_ LPGUID ClassGuid,
1763  _Out_writes_(ClassNameSize) PSTR ClassName,
1764  _In_ DWORD ClassNameSize,
1766 
1768 BOOL
1769 WINAPI
1771  _In_ PCWSTR InfName,
1772  _Out_ LPGUID ClassGuid,
1773  _Out_writes_(ClassNameSize) PWSTR ClassName,
1774  _In_ DWORD ClassNameSize,
1776 
1807 
1809 BOOL
1810 WINAPI
1816 
1818 BOOL
1819 WINAPI
1825 
1827 BOOL
1828 WINAPI
1830  _In_ CONST GUID *ClassGuid,
1836 
1838 BOOL
1839 WINAPI
1841  _In_ CONST GUID *ClassGuid,
1847 
1850 
1852 BOOL
1853 WINAPI
1860 
1862 BOOL
1863 WINAPI
1870 
1888 
1889 _Success_(return != FALSE)
1891 BOOL
1892 WINAPI
1899 
1903 
1905 BOOL
1906 WINAPI
1908  _In_ PCSTR SourceFileName,
1909  _In_reads_opt_(ActualSourceFileNameBufferLen) PSTR ActualSourceFileNameBuffer,
1910  _In_ DWORD ActualSourceFileNameBufferLen,
1911  _Out_opt_ PDWORD RequiredBufferLen,
1912  _Out_ PDWORD SourceFileSize,
1913  _Out_ PDWORD TargetFileSize,
1914  _Out_ PUINT CompressionType);
1915 
1917 BOOL
1918 WINAPI
1920  _In_ PCWSTR SourceFileName,
1921  _In_reads_opt_(ActualSourceFileNameBufferLen) PWSTR ActualSourceFileNameBuffer,
1922  _In_ DWORD ActualSourceFileNameBufferLen,
1923  _Out_opt_ PDWORD RequiredBufferLen,
1924  _Out_ PDWORD SourceFileSize,
1925  _Out_ PDWORD TargetFileSize,
1926  _Out_ PUINT CompressionType);
1927 
1929 BOOL
1930 WINAPI
1932  _In_opt_ PCSTR DirectoryPath,
1933  _In_ DWORD InfStyle,
1934  _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer,
1937 
1939 BOOL
1940 WINAPI
1942  _In_opt_ PCWSTR DirectoryPath,
1943  _In_ DWORD InfStyle,
1944  _Out_writes_(ReturnBufferSize) PWSTR ReturnBuffer,
1947 
1948 _Success_(return != FALSE)
1950 BOOL
1951 WINAPI
1953  _In_ LPCVOID InfSpec,
1958 
1959 _Success_(return != FALSE)
1961 BOOL
1962 WINAPI
1964  _In_ LPCVOID InfSpec,
1969 
1975 
1977 BOOL
1978 WINAPI
1981  _In_opt_ HINF InfHandle,
1982  _In_opt_ PCSTR Section,
1983  _In_opt_ PCSTR Key,
1984  _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer,
1987 
1989 BOOL
1990 WINAPI
1993  _In_opt_ HINF InfHandle,
1994  _In_opt_ PCWSTR Section,
1996  _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer,
1999 
2001 BOOL
2002 WINAPI
2006  _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer,
2009 
2011 BOOL
2012 WINAPI
2016  _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer,
2019 
2021 BOOL
2022 WINAPI
2024  _In_ HINF InfHandle,
2025  _In_opt_ PINFCONTEXT InfContext,
2027  _Out_ PUINT SourceId,
2028  _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer,
2031 
2033 BOOL
2034 WINAPI
2036  _In_ HINF InfHandle,
2037  _In_opt_ PINFCONTEXT InfContext,
2039  _Out_ PUINT SourceId,
2040  _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer,
2043 
2046 
2048 BOOL
2049 WINAPI
2051  _In_ HINF InfHandle,
2052  _In_ UINT SourceId,
2053  _In_ UINT InfoDesired,
2054  _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer,
2057 
2059 BOOL
2060 WINAPI
2062  _In_ HINF InfHandle,
2063  _In_ UINT SourceId,
2064  _In_ UINT InfoDesired,
2065  _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer,
2068 
2070 BOOL
2071 WINAPI
2075  _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer,
2078 
2080 BOOL
2081 WINAPI
2085  _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer,
2088 
2090 BOOL
2091 WINAPI
2093  _In_ HINF InfHandle,
2094  _In_opt_ PINFCONTEXT InfContext,
2095  _In_opt_ PCSTR Section,
2096  _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer,
2099 
2101 BOOL
2102 WINAPI
2104  _In_ HINF InfHandle,
2105  _In_opt_ PINFCONTEXT InfContext,
2106  _In_opt_ PCWSTR Section,
2107  _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer,
2110 
2133 
2135 BOOL
2136 WINAPI
2139  _In_ HINF InfHandle,
2140  _Out_opt_ PUINT ErrorLine);
2141 
2143 BOOL
2144 WINAPI
2147  _In_ HINF InfHandle,
2148  _Out_opt_ PUINT ErrorLine);
2149 
2151 
2153 HINF
2154 WINAPI
2157  _In_opt_ PCSTR InfClass,
2158  _In_ DWORD InfStyle,
2159  _Out_opt_ PUINT ErrorLine);
2160 
2162 HINF
2163 WINAPI
2166  _In_opt_ PCWSTR InfClass,
2167  _In_ DWORD InfStyle,
2168  _Out_opt_ PUINT ErrorLine);
2169 
2172 
2174 UINT
2175 WINAPI
2178  _In_opt_ PCSTR DialogTitle,
2179  _In_opt_ PCSTR DiskName,
2180  _In_opt_ PCSTR PathToSource,
2181  _In_ PCSTR FileSought,
2182  _In_opt_ PCSTR TagFile,
2183  _In_ DWORD DiskPromptStyle,
2184  _Out_writes_opt_(PathBufferSize) PSTR PathBuffer,
2185  _In_ DWORD PathBufferSize,
2186  _Out_opt_ PDWORD PathRequiredSize);
2187 
2189 UINT
2190 WINAPI
2193  _In_opt_ PCWSTR DialogTitle,
2194  _In_opt_ PCWSTR DiskName,
2195  _In_opt_ PCWSTR PathToSource,
2196  _In_ PCWSTR FileSought,
2197  _In_opt_ PCWSTR TagFile,
2198  _In_ DWORD DiskPromptStyle,
2199  _Out_writes_opt_(PathBufferSize) PWSTR PathBuffer,
2200  _In_ DWORD PathBufferSize,
2201  _Out_opt_ PDWORD PathRequiredSize);
2202 
2206 
2208 BOOL
2209 WINAPI
2211  _In_ HDSKSPC DiskSpace,
2212  _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer,
2215 
2217 BOOL
2218 WINAPI
2220  _In_ HDSKSPC DiskSpace,
2221  _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer,
2224 
2226 BOOL
2227 WINAPI
2229  _In_ HSPFILELOG FileLogHandle,
2230  _In_opt_ PCSTR LogSectionName,
2231  _In_ PCSTR TargetFilename,
2232  _In_ SetupFileLogInfo DesiredInfo,
2236 
2238 BOOL
2239 WINAPI
2241  _In_ HSPFILELOG FileLogHandle,
2242  _In_opt_ PCWSTR LogSectionName,
2243  _In_ PCWSTR TargetFilename,
2244  _In_ SetupFileLogInfo DesiredInfo,
2248 
2250 BOOL
2251 WINAPI
2253  _In_ PSP_INF_INFORMATION InfInformation,
2254  _In_ UINT InfIndex,
2255  _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer,
2258 
2260 BOOL
2261 WINAPI
2263  _In_ PSP_INF_INFORMATION InfInformation,
2264  _In_ UINT InfIndex,
2265  _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer,
2268 
2270 BOOL
2271 WINAPI
2273  _In_ PSP_INF_INFORMATION InfInformation,
2274  _In_ UINT InfIndex,
2275  _In_opt_ PSP_ALTPLATFORM_INFO AlternatePlatformInfo,
2276  _Out_ PSP_ORIGINAL_FILE_INFO_A OriginalFileInfo);
2277 
2279 BOOL
2280 WINAPI
2282  _In_ PSP_INF_INFORMATION InfInformation,
2283  _In_ UINT InfIndex,
2284  _In_opt_ PSP_ALTPLATFORM_INFO AlternatePlatformInfo,
2285  _Out_ PSP_ORIGINAL_FILE_INFO_W OriginalFileInfo);
2286 
2288 BOOL
2289 WINAPI
2291  _In_ PSP_INF_INFORMATION InfInformation,
2292  _In_ UINT InfIndex,
2293  _In_opt_ PCSTR Key,
2294  _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer,
2297 
2299 BOOL
2300 WINAPI
2302  _In_ PSP_INF_INFORMATION InfInformation,
2303  _In_ UINT InfIndex,
2305  _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer,
2308 
2350 
2352 BOOL
2353 WINAPI
2355  _In_ DWORD Flags,
2358 
2360 BOOL
2361 WINAPI
2363  _In_ DWORD Flags,
2366 
2369 
2371 BOOL
2372 WINAPI
2374  _In_ PCSTR InfFileName,
2375  _In_ DWORD Flags,
2376  _In_ PVOID Reserved);
2377 
2379 BOOL
2380 WINAPI
2382  _In_ PCWSTR InfFileName,
2383  _In_ DWORD Flags,
2384  _In_ PVOID Reserved);
2385 
2387 
2388 
2402 
2403 
2416 
2417 WINSETUPAPI PSTR WINAPI pSetupUnicodeToMultiByte(PCWSTR lpUnicodeStr, UINT uCodePage);
2419 
2420 
2422 WINSETUPAPI PSTR WINAPI UnicodeToMultiByte(PCWSTR lpUnicodeStr, UINT uCodePage);
2423 
2424 
2425 /* for backward compatability */
2426 #define SetupDiCreateInterfaceDeviceW SetupDiCreateDeviceInterfaceW
2427 #define SetupDiCreateInterfaceDeviceRegKeyW SetupDiCreateDeviceInterfaceRegKeyW
2428 #define SetupDiOpenInterfaceDeviceW SetupDiOpenDeviceInterfaceW
2429 #define SetupDiGetInterfaceDeviceDetailW SetupDiGetDeviceInterfaceDetailW
2430 #define SetupDiCreateInterfaceDeviceA SetupDiCreateDeviceInterfaceA
2431 #define SetupDiCreateInterfaceDeviceRegKeyA SetupDiCreateDeviceInterfaceRegKeyA
2432 #define SetupDiOpenInterfaceDeviceA SetupDiOpenDeviceInterfaceA
2433 #define SetupDiGetInterfaceDeviceDetailA SetupDiGetDeviceInterfaceDetailA
2434 
2435 #ifdef UNICODE
2436 #define PSP_FILE_CALLBACK PSP_FILE_CALLBACK_W
2437 #define InstallHinfSection InstallHinfSectionW
2438 #define SetupAddInstallSectionToDiskSpaceList SetupAddInstallSectionToDiskSpaceListW
2439 #define SetupAddSectionToDiskSpaceList SetupAddSectionToDiskSpaceListW
2440 #define SetupAddToDiskSpaceList SetupAddToDiskSpaceListW
2441 #define SetupAddToSourceList SetupAddToSourceListW
2442 #define SetupAdjustDiskSpaceList SetupAdjustDiskSpaceListW
2443 #define SetupBackupError SetupBackupErrorW
2444 #define SetupCommitFileQueue SetupCommitFileQueueW
2445 #define SetupCopyError SetupCopyErrorW
2446 #define SetupCopyOEMInf SetupCopyOEMInfW
2447 #define SetupCreateDiskSpaceList SetupCreateDiskSpaceListW
2448 #define SetupDecompressOrCopyFile SetupDecompressOrCopyFileW
2449 #define SetupDefaultQueueCallback SetupDefaultQueueCallbackW
2450 #define SetupDeleteError SetupDeleteErrorW
2451 #define SetupDiBuildClassInfoListEx SetupDiBuildClassInfoListExW
2452 #define SetupDiClassGuidsFromNameEx SetupDiClassGuidsFromNameExW
2453 #define SetupDiClassGuidsFromName SetupDiClassGuidsFromNameW
2454 #define SetupDiClassNameFromGuidEx SetupDiClassNameFromGuidExW
2455 #define SetupDiClassNameFromGuid SetupDiClassNameFromGuidW
2456 #define SetupDiCreateDeviceInfoListEx SetupDiCreateDeviceInfoListExW
2457 #define SetupDiCreateDeviceInfo SetupDiCreateDeviceInfoW
2458 #define SetupDiCreateDeviceInterfaceRegKey SetupDiCreateDeviceInterfaceRegKeyW
2459 #define SetupDiCreateInterfaceDeviceRegKey SetupDiCreateDeviceInterfaceRegKeyW
2460 #define SetupDiCreateDeviceInterface SetupDiCreateDeviceInterfaceW
2461 #define SetupDiCreateInterfaceDevice SetupDiCreateDeviceInterfaceW
2462 #define SetupDiCreateDevRegKey SetupDiCreateDevRegKeyW
2463 #define SetupDiEnumDriverInfo SetupDiEnumDriverInfoW
2464 #define SetupDiGetActualSectionToInstall SetupDiGetActualSectionToInstallW
2465 #define SetupDiGetActualSectionToInstallEx SetupDiGetActualSectionToInstallExW
2466 #define SetupDiGetClassDescriptionEx SetupDiGetClassDescriptionExW
2467 #define SetupDiGetClassDescription SetupDiGetClassDescriptionW
2468 #define SetupDiGetClassDevPropertySheets SetupDiGetClassDevPropertySheetsW
2469 #define SetupDiGetClassDevsEx SetupDiGetClassDevsExW
2470 #define SetupDiGetClassDevs SetupDiGetClassDevsW
2471 #define SetupDiGetClassImageListEx SetupDiGetClassImageListExW
2472 #define SetupDiGetClassInstallParams SetupDiGetClassInstallParamsW
2473 #define SetupDiGetClassRegistryProperty SetupDiGetClassRegistryPropertyW
2474 #define SetupDiGetDeviceInfoListDetail SetupDiGetDeviceInfoListDetailW
2475 #define SetupDiGetDeviceInstallParams SetupDiGetDeviceInstallParamsW
2476 #define SetupDiGetDeviceInstanceId SetupDiGetDeviceInstanceIdW
2477 #define SetupDiGetDeviceInterfaceDetail SetupDiGetDeviceInterfaceDetailW
2478 #define SetupDiGetInterfaceDeviceDetail SetupDiGetDeviceInterfaceDetailW
2479 #define SetupDiGetDeviceRegistryProperty SetupDiGetDeviceRegistryPropertyW
2480 #define SetupDiGetDriverInfoDetail SetupDiGetDriverInfoDetailW
2481 #define SetupDiGetDriverInstallParams SetupDiGetDriverInstallParamsW
2482 #define SetupDiGetHwProfileFriendlyNameEx SetupDiGetHwProfileFriendlyNameExW
2483 #define SetupDiGetHwProfileFriendlyName SetupDiGetHwProfileFriendlyNameW
2484 #define SetupDiGetHwProfileListEx SetupDiGetHwProfileListExW
2485 #define SetupDiGetINFClass SetupDiGetINFClassW
2486 #define SetupDiGetSelectedDriver SetupDiGetSelectedDriverW
2487 #define SetupDiInstallClassEx SetupDiInstallClassExW
2488 #define SetupDiInstallClass SetupDiInstallClassW
2489 #define SetupDiOpenClassRegKeyEx SetupDiOpenClassRegKeyExW
2490 #define SetupDiOpenDeviceInfo SetupDiOpenDeviceInfoW
2491 #define SetupDiOpenDeviceInterface SetupDiOpenDeviceInterfaceW
2492 #define SetupDiOpenInterfaceDevice SetupDiOpenDeviceInterfaceW
2493 #define SetupDiSetClassInstallParams SetupDiSetClassInstallParamsW
2494 #define SetupDiSetClassRegistryProperty SetupDiSetClassRegistryPropertyW
2495 #define SetupDiSetDeviceInstallParams SetupDiSetDeviceInstallParamsW
2496 #define SetupDiSetDeviceRegistryProperty SetupDiSetDeviceRegistryPropertyW
2497 #define SetupDiSetDriverInstallParams SetupDiSetDriverInstallParamsW
2498 #define SetupDiSetSelectedDriver SetupDiSetSelectedDriverW
2499 #define SetupDuplicateDiskSpaceList SetupDuplicateDiskSpaceListW
2500 #define SetupFindFirstLine SetupFindFirstLineW
2501 #define SetupFindNextMatchLine SetupFindNextMatchLineW
2502 #define SetupFreeSourceList SetupFreeSourceListW
2503 #define SetupGetBackupInformation SetupGetBackupInformationW
2504 #define SetupGetFileCompressionInfo SetupGetFileCompressionInfoW
2505 #define SetupGetFileCompressionInfoEx SetupGetFileCompressionInfoExW
2506 #define SetupGetInfFileList SetupGetInfFileListW
2507 #define SetupGetInfInformation SetupGetInfInformationW
2508 #define SetupGetLineByIndex SetupGetLineByIndexW
2509 #define SetupGetLineCount SetupGetLineCountW
2510 #define SetupGetLineText SetupGetLineTextW
2511 #define SetupGetMultiSzField SetupGetMultiSzFieldW
2512 #define SetupGetSourceFileLocation SetupGetSourceFileLocationW
2513 #define SetupGetSourceFileSize SetupGetSourceFileSizeW
2514 #define SetupGetSourceInfo SetupGetSourceInfoW
2515 #define SetupGetStringField SetupGetStringFieldW
2516 #define SetupGetTargetPath SetupGetTargetPathW
2517 #define SetupInitializeFileLog SetupInitializeFileLogW
2518 #define SetupInstallFileEx SetupInstallFileExW
2519 #define SetupInstallFilesFromInfSection SetupInstallFilesFromInfSectionW
2520 #define SetupInstallFile SetupInstallFileW
2521 #define SetupInstallFromInfSection SetupInstallFromInfSectionW
2522 #define SetupInstallServicesFromInfSectionEx SetupInstallServicesFromInfSectionExW
2523 #define SetupInstallServicesFromInfSection SetupInstallServicesFromInfSectionW
2524 #define SetupIterateCabinet SetupIterateCabinetW
2525 #define SetupLogError SetupLogErrorW
2526 #define SetupLogFile SetupLogFileW
2527 #define SetupOpenAppendInfFile SetupOpenAppendInfFileW
2528 #define SetupOpenInfFile SetupOpenInfFileW
2529 #define SetupPromptForDisk SetupPromptForDiskW
2530 #define SetupQueryDrivesInDiskSpaceList SetupQueryDrivesInDiskSpaceListW
2531 #define SetupQueryFileLog SetupQueryFileLogW
2532 #define SetupQueryInfFileInformation SetupQueryInfFileInformationW
2533 #define SetupQueryInfOriginalFileInformation SetupQueryInfOriginalFileInformationW
2534 #define SetupQueryInfVersionInformation SetupQueryInfVersionInformationW
2535 #define SetupQuerySourceList SetupQuerySourceListW
2536 #define SetupQuerySpaceRequiredOnDrive SetupQuerySpaceRequiredOnDriveW
2537 #define SetupQueueCopyIndirect SetupQueueCopyIndirectW
2538 #define SetupQueueCopySection SetupQueueCopySectionW
2539 #define SetupQueueCopy SetupQueueCopyW
2540 #define SetupQueueDefaultCopy SetupQueueDefaultCopyW
2541 #define SetupQueueDeleteSection SetupQueueDeleteSectionW
2542 #define SetupQueueDelete SetupQueueDeleteW
2543 #define SetupQueueRenameSection SetupQueueRenameSectionW
2544 #define SetupQueueRename SetupQueueRenameW
2545 #define SetupRemoveFileLogEntry SetupRemoveFileLogEntryW
2546 #define SetupRemoveFromDiskSpaceList SetupRemoveFromDiskSpaceListW
2547 #define SetupRemoveFromSourceList SetupRemoveFromSourceListW
2548 #define SetupRemoveInstallSectionFromDiskSpaceList SetupRemoveInstallSectionFromDiskSpaceListW
2549 #define SetupRemoveSectionFromDiskSpaceList SetupRemoveSectionFromDiskSpaceListW
2550 #define SetupRenameError SetupRenameErrorW
2551 #define SetupScanFileQueue SetupScanFileQueueW
2552 #define SetupSetDirectoryIdEx SetupSetDirectoryIdExW
2553 #define SetupSetDirectoryId SetupSetDirectoryIdW
2554 #define SetupSetFileQueueAlternatePlatform SetupSetFileQueueAlternatePlatformW
2555 #define SetupSetPlatformPathOverride SetupSetPlatformPathOverrideW
2556 #define SetupSetSourceList SetupSetSourceListW
2557 #define SetupUninstallOEMInf SetupUninstallOEMInfW
2558 #else
2559 #define PSP_FILE_CALLBACK PSP_FILE_CALLBACK_A
2560 #define InstallHinfSection InstallHinfSectionA
2561 #define SetupAddInstallSectionToDiskSpaceList SetupAddInstallSectionToDiskSpaceListA
2562 #define SetupAddSectionToDiskSpaceList SetupAddSectionToDiskSpaceListA
2563 #define SetupAddToDiskSpaceList SetupAddToDiskSpaceListA
2564 #define SetupAddToSourceList SetupAddToSourceListA
2565 #define SetupAdjustDiskSpaceList SetupAdjustDiskSpaceListA
2566 #define SetupBackupError SetupBackupErrorA
2567 #define SetupCommitFileQueue SetupCommitFileQueueA
2568 #define SetupCopyError SetupCopyErrorA
2569 #define SetupCopyOEMInf SetupCopyOEMInfA
2570 #define SetupCreateDiskSpaceList SetupCreateDiskSpaceListA
2571 #define SetupDecompressOrCopyFile SetupDecompressOrCopyFileA
2572 #define SetupDefaultQueueCallback SetupDefaultQueueCallbackA
2573 #define SetupDeleteError SetupDeleteErrorA
2574 #define SetupDiBuildClassInfoListEx SetupDiBuildClassInfoListExA
2575 #define SetupDiClassGuidsFromName SetupDiClassGuidsFromNameA
2576 #define SetupDiClassGuidsFromNameEx SetupDiClassGuidsFromNameExA
2577 #define SetupDiClassNameFromGuid SetupDiClassNameFromGuidA
2578 #define SetupDiClassNameFromGuidEx SetupDiClassNameFromGuidExA
2579 #define SetupDiCreateDeviceInfo SetupDiCreateDeviceInfoA
2580 #define SetupDiCreateDeviceInfoListEx SetupDiCreateDeviceInfoListExA
2581 #define SetupDiCreateDeviceInterface SetupDiCreateDeviceInterfaceA
2582 #define SetupDiCreateInterfaceDevice SetupDiCreateDeviceInterfaceA
2583 #define SetupDiCreateDeviceInterfaceRegKey SetupDiCreateDeviceInterfaceRegKeyA
2584 #define SetupDiCreateInterfaceDeviceRegKey SetupDiCreateDeviceInterfaceRegKeyA
2585 #define SetupDiCreateDevRegKey SetupDiCreateDevRegKeyA
2586 #define SetupDiDeleteInterfaceDeviceData SetupDiDeleteDeviceInterfaceData
2587 #define SetupDiEnumDriverInfo SetupDiEnumDriverInfoA
2588 #define SetupDiGetActualSectionToInstall SetupDiGetActualSectionToInstallA
2589 #define SetupDiGetActualSectionToInstallEx SetupDiGetActualSectionToInstallExA
2590 #define SetupDiGetClassDescription SetupDiGetClassDescriptionA
2591 #define SetupDiGetClassDescriptionEx SetupDiGetClassDescriptionExA
2592 #define SetupDiGetClassDevPropertySheets SetupDiGetClassDevPropertySheetsA
2593 #define SetupDiGetClassDevs SetupDiGetClassDevsA
2594 #define SetupDiGetClassDevsEx SetupDiGetClassDevsExA
2595 #define SetupDiGetClassImageListEx SetupDiGetClassImageListExA
2596 #define SetupDiGetClassInstallParams SetupDiGetClassInstallParamsA
2597 #define SetupDiGetClassRegistryProperty SetupDiGetClassRegistryPropertyA
2598 #define SetupDiGetDeviceInfoListDetail SetupDiGetDeviceInfoListDetailA
2599 #define SetupDiGetDeviceInstallParams SetupDiGetDeviceInstallParamsA
2600 #define SetupDiGetDeviceInstanceId SetupDiGetDeviceInstanceIdA
2601 #define SetupDiGetDeviceInterfaceDetail SetupDiGetDeviceInterfaceDetailA
2602 #define SetupDiGetInterfaceDeviceDetail SetupDiGetDeviceInterfaceDetailA
2603 #define SetupDiGetDeviceRegistryProperty SetupDiGetDeviceRegistryPropertyA
2604 #define SetupDiGetDriverInfoDetail SetupDiGetDriverInfoDetailA
2605 #define SetupDiGetDriverInstallParams SetupDiGetDriverInstallParamsA
2606 #define SetupDiGetHwProfileFriendlyName SetupDiGetHwProfileFriendlyNameA
2607 #define SetupDiGetHwProfileFriendlyNameEx SetupDiGetHwProfileFriendlyNameExA
2608 #define SetupDiGetHwProfileListEx SetupDiGetHwProfileListExA
2609 #define SetupDiGetINFClass SetupDiGetINFClassA
2610 #define SetupDiGetSelectedDriver SetupDiGetSelectedDriverA
2611 #define SetupDiInstallClass SetupDiInstallClassA
2612 #define SetupDiInstallClassEx SetupDiInstallClassExA
2613 #define SetupDiOpenClassRegKeyEx SetupDiOpenClassRegKeyExA
2614 #define SetupDiOpenDeviceInfo SetupDiOpenDeviceInfoA
2615 #define SetupDiOpenDeviceInterface SetupDiOpenDeviceInterfaceA
2616 #define SetupDiOpenInterfaceDevice SetupDiOpenDeviceInterfaceA
2617 #define SetupDiSetClassInstallParams SetupDiSetClassInstallParamsA
2618 #define SetupDiSetClassRegistryProperty SetupDiSetClassRegistryPropertyA
2619 #define SetupDiSetDeviceInstallParams SetupDiSetDeviceInstallParamsA
2620 #define SetupDiSetDeviceRegistryProperty SetupDiSetDeviceRegistryPropertyA
2621 #define SetupDiSetDriverInstallParams SetupDiSetDriverInstallParamsA
2622 #define SetupDiSetSelectedDriver SetupDiSetSelectedDriverA
2623 #define SetupDuplicateDiskSpaceList SetupDuplicateDiskSpaceListA
2624 #define SetupFindFirstLine SetupFindFirstLineA
2625 #define SetupFindNextMatchLine SetupFindNextMatchLineA
2626 #define SetupFreeSourceList SetupFreeSourceListA
2627 #define SetupGetBackupInformation SetupGetBackupInformationA
2628 #define SetupGetFileCompressionInfo SetupGetFileCompressionInfoA
2629 #define SetupGetFileCompressionInfoEx SetupGetFileCompressionInfoExA
2630 #define SetupGetInfFileList SetupGetInfFileListA
2631 #define SetupGetInfInformation SetupGetInfInformationA
2632 #define SetupGetLineByIndex SetupGetLineByIndexA
2633 #define SetupGetLineCount SetupGetLineCountA
2634 #define SetupGetLineText SetupGetLineTextA
2635 #define SetupGetMultiSzField SetupGetMultiSzFieldA
2636 #define SetupGetSourceFileLocation SetupGetSourceFileLocationA
2637 #define SetupGetSourceFileSize SetupGetSourceFileSizeA
2638 #define SetupGetSourceInfo SetupGetSourceInfoA
2639 #define SetupGetStringField SetupGetStringFieldA
2640 #define SetupGetTargetPath SetupGetTargetPathA
2641 #define SetupInitializeFileLog SetupInitializeFileLogA
2642 #define SetupInstallFile SetupInstallFileA
2643 #define SetupInstallFileEx SetupInstallFileExA
2644 #define SetupInstallFilesFromInfSection SetupInstallFilesFromInfSectionA
2645 #define SetupInstallFromInfSection SetupInstallFromInfSectionA
2646 #define SetupInstallServicesFromInfSection SetupInstallServicesFromInfSectionA
2647 #define SetupInstallServicesFromInfSectionEx SetupInstallServicesFromInfSectionExA
2648 #define SetupIterateCabinet SetupIterateCabinetA
2649 #define SetupLogError SetupLogErrorA
2650 #define SetupLogFile SetupLogFileA
2651 #define SetupOpenAppendInfFile SetupOpenAppendInfFileA
2652 #define SetupOpenInfFile SetupOpenInfFileA
2653 #define SetupPromptForDisk SetupPromptForDiskA
2654 #define SetupQueryDrivesInDiskSpaceList SetupQueryDrivesInDiskSpaceListA
2655 #define SetupQueryFileLog SetupQueryFileLogA
2656 #define SetupQueryInfFileInformation SetupQueryInfFileInformationA
2657 #define SetupQueryInfOriginalFileInformation SetupQueryInfOriginalFileInformationA
2658 #define SetupQueryInfVersionInformation SetupQueryInfVersionInformationA
2659 #define SetupQuerySourceList SetupQuerySourceListA
2660 #define SetupQuerySpaceRequiredOnDrive SetupQuerySpaceRequiredOnDriveA
2661 #define SetupQueueCopy SetupQueueCopyA
2662 #define SetupQueueCopyIndirect SetupQueueCopyIndirectA
2663 #define SetupQueueCopySection SetupQueueCopySectionA
2664 #define SetupQueueDefaultCopy SetupQueueDefaultCopyA
2665 #define SetupQueueDelete SetupQueueDeleteA
2666 #define SetupQueueDeleteSection SetupQueueDeleteSectionA
2667 #define SetupQueueRename SetupQueueRenameA
2668 #define SetupQueueRenameSection SetupQueueRenameSectionA
2669 #define SetupRemoveFileLogEntry SetupRemoveFileLogEntryA
2670 #define SetupRemoveFromDiskSpaceList SetupRemoveFromDiskSpaceListA
2671 #define SetupRemoveFromSourceList SetupRemoveFromSourceListA
2672 #define SetupRemoveInstallSectionFromDiskSpaceList SetupRemoveInstallSectionFromDiskSpaceListA
2673 #define SetupRemoveSectionFromDiskSpaceList SetupRemoveSectionFromDiskSpaceListA
2674 #define SetupRenameError SetupRenameErrorA
2675 #define SetupScanFileQueue SetupScanFileQueueA
2676 #define SetupSetDirectoryId SetupSetDirectoryIdA
2677 #define SetupSetDirectoryIdEx SetupSetDirectoryIdExA
2678 #define SetupSetFileQueueAlternatePlatform SetupSetFileQueueAlternatePlatformA
2679 #define SetupSetPlatformPathOverride SetupSetPlatformPathOverrideA
2680 #define SetupSetSourceList SetupSetSourceListA
2681 #define SetupUninstallOEMInf SetupUninstallOEMInfA
2682 #endif /* UNICODE */
2683 
2684 #endif /* RC_INVOKED */
2685 
2686 #ifdef __cplusplus
2687 }
2688 #endif
2689 
2690 #include <poppack.h>
2691 #endif /* _SETUPAPI_H_ */
2692 
WINSETUPAPI BOOL WINAPI SetupLogErrorW(_In_ LPCWSTR, _In_ LogSeverity)
WINSETUPAPI BOOL WINAPI SetupGetMultiSzFieldA(_In_ PINFCONTEXT Context, _In_ DWORD FieldIndex, _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer, _In_ DWORD ReturnBufferSize, _Out_opt_ LPDWORD RequiredSize)
SP_DRVINFO_DATA_V2_W * PSP_DRVINFO_DATA_W
Definition: setupapi.h:1053
struct _SP_POWERMESSAGEWAKE_PARAMS_W SP_POWERMESSAGEWAKE_PARAMS_W
WINSETUPAPI BOOL WINAPI FileExists(PCWSTR, PWIN32_FIND_DATAW)
WINSETUPAPI BOOL WINAPI SetupInstallServicesFromInfSectionExW(_In_ HINF, _In_ PCWSTR, _In_ DWORD, _In_opt_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _Reserved_ PVOID, _Reserved_ PVOID)
WINSETUPAPI UINT WINAPI SetupDeleteErrorA(_In_ HWND, _In_opt_ PCSTR, _In_ PCSTR, _In_ UINT, _In_ DWORD)
WINSETUPAPI BOOL WINAPI SetupDiInstallClassExA(_In_opt_ HWND, _In_opt_ PCSTR, _In_ DWORD, _In_opt_ HSPFILEQ, _In_opt_ CONST GUID *, _Reserved_ PVOID, _Reserved_ PVOID)
WINSETUPAPI PWSTR WINAPI pSetupGetFileTitle(PCWSTR)
WINSETUPAPI BOOL WINAPI SetupQueueDeleteA(_In_ HSPFILEQ, _In_ PCSTR, _In_opt_ PCSTR)
CHAR DrvDescription[LINE_LEN]
Definition: setupapi.h:1067
_In_ DWORD _Out_opt_ PDWORD _Out_writes_bytes_to_(PropertyBufferSize, *RequiredSize) PBYTE PropertyBuffer
_Check_return_ WINSETUPAPI HDEVINFO WINAPI SetupDiGetClassDevsA(_In_opt_ CONST GUID *, _In_opt_ PCSTR, _In_opt_ HWND, _In_ DWORD)
struct _CABINET_INFO_W CABINET_INFO_W
unsigned __int3264 UINT_PTR
Definition: activex.cpp:275
SP_DEVICE_INTERFACE_DETAIL_DATA_W * PSP_INTERFACE_DEVICE_DETAIL_DATA_W
Definition: setupapi.h:860
struct _SP_UNREMOVEDEVICE_PARAMS SP_UNREMOVEDEVICE_PARAMS
WINSETUPAPI BOOL WINAPI SetupDiSetDriverInstallParamsA(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ PSP_DRVINFO_DATA_A, _In_ PSP_DRVINSTALL_PARAMS)
Definition: stubs.c:153
FILEPATHS_A * PFILEPATHS
Definition: setupapi.h:1144
WINSETUPAPI BOOL WINAPI SetupSetDirectoryIdExA(_In_ HINF, _In_ DWORD, _In_opt_ PCSTR, _In_ DWORD, _Reserved_ DWORD, _Reserved_ PVOID)
WCHAR MfgName[LINE_LEN]
Definition: setupapi.h:1017
struct _FILE_IN_CABINET_INFO_A * PFILE_IN_CABINET_INFO_A
SP_DRVINFO_DETAIL_DATA_A * PSP_DRVINFO_DETAIL_DATA
Definition: setupapi.h:1162
WINSETUPAPI BOOL WINAPI SetupDiGetDriverInstallParamsA(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ PSP_DRVINFO_DATA_A, _Out_ PSP_DRVINSTALL_PARAMS)
struct _SP_POWERMESSAGEWAKE_PARAMS_A * PSP_POWERMESSAGEWAKE_PARAMS_A
const uint16_t * PCWSTR
Definition: typedefs.h:57
struct _SP_ORIGINAL_FILE_INFO_A SP_ORIGINAL_FILE_INFO_A
USHORT SetId
Definition: setupapi.h:778
WINSETUPAPI BOOL WINAPI SetupFreeA(PCSTR **, UINT)
PCSTR Description
Definition: setupapi.h:761
WINSETUPAPI BOOL WINAPI SetupDiGetActualSectionToInstallExA(_In_ HINF InfHandle, _In_ PCSTR InfSectionName, _In_opt_ PSP_ALTPLATFORM_INFO AlternatePlatformInfo, _Out_writes_opt_(InfSectionWithExtSize) PSTR InfSectionWithExt, _In_ DWORD InfSectionWithExtSize, _Out_opt_ PDWORD RequiredSize, _Out_opt_ PSTR *Extension, _Reserved_ PVOID Reserved)
static HICON
Definition: imagelist.c:84
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)
#define SP_MAX_MACHINENAME_LENGTH
Definition: setupapi.h:27
#define MAX_TITLE_LEN
Definition: setupapi.h:22
WINSETUPAPI BOOL WINAPI SetupGetSourceFileLocationW(_In_ HINF InfHandle, _In_opt_ PINFCONTEXT InfContext, _In_opt_ PCWSTR FileName, _Out_ PUINT SourceId, _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer, _In_ DWORD ReturnBufferSize, _Out_opt_ PDWORD RequiredSize)
WINSETUPAPI HDSKSPC WINAPI SetupDuplicateDiskSpaceListW(_In_ HDSKSPC, _Reserved_ PVOID, _Reserved_ DWORD, _In_ UINT)
struct _SP_INF_INFORMATION * PSP_INF_INFORMATION
CHAR FullInfPath[MAX_PATH]
Definition: setupapi.h:1108
struct _SP_NEWDEVICEWIZARD_DATA * PSP_NEWDEVICEWIZARD_DATA
WINSETUPAPI PVOID WINAPI MyRealloc(PVOID, DWORD)
Definition: misc.c:172
struct _SOURCE_MEDIA_W * PSOURCE_MEDIA_W
WINSETUPAPI DWORD WINAPI pSetupOpenAndMapForRead(PCWSTR, PDWORD, PHANDLE, PHANDLE, PVOID *)
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)
BOOL WINAPI SetupDiClassGuidsFromNameW(LPCWSTR ClassName, LPGUID ClassGuidList, DWORD ClassGuidListSize, PDWORD RequiredSize)
Definition: devinst.c:868
struct _SP_DRVINFO_DETAIL_DATA_W * PSP_DRVINFO_DETAIL_DATA_W
WINSETUPAPI BOOL WINAPI SetupQueryInfOriginalFileInformationA(_In_ PSP_INF_INFORMATION InfInformation, _In_ UINT InfIndex, _In_opt_ PSP_ALTPLATFORM_INFO AlternatePlatformInfo, _Out_ PSP_ORIGINAL_FILE_INFO_A OriginalFileInfo)
BYTE VersionData[ANYSIZE_ARRAY]
Definition: setupapi.h:693
PCWSTR SourceFile
Definition: setupapi.h:771
WINSETUPAPI UINT WINAPI SetupCopyErrorW(_In_ HWND hwndParent, _In_opt_ PCWSTR DialogTitle, _In_opt_ PCWSTR DiskName, _In_ PCWSTR PathToSource, _In_ PCWSTR SourceFile, _In_opt_ PCWSTR TargetPathFile, _In_ UINT Win32ErrorCode, _In_ DWORD Style, _Out_writes_opt_(PathBufferSize) PWSTR PathBuffer, _In_ DWORD PathBufferSize, _Out_opt_ PDWORD PathRequiredSize)
#define _In_opt_
Definition: ms_sal.h:309
WINSETUPAPI BOOL WINAPI SetupDiGetActualSectionToInstallExW(_In_ HINF InfHandle, _In_ PCWSTR InfSectionName, _In_opt_ PSP_ALTPLATFORM_INFO AlternatePlatformInfo, _Out_writes_opt_(InfSectionWithExtSize) PWSTR InfSectionWithExt, _In_ DWORD InfSectionWithExtSize, _Out_opt_ PDWORD RequiredSize, _Out_opt_ PWSTR *Extension, _Reserved_ PVOID Reserved)
WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInfoListClass(_In_ HDEVINFO, _Out_ LPGUID)
struct _SP_DRVINFO_DATA_V2_W SP_DRVINFO_DATA_V2_W
WINSETUPAPI BOOL WINAPI SetupTerminateFileLog(_In_ HSPFILELOG)
WINSETUPAPI BOOL WINAPI SetupDiInstallClassExW(_In_opt_ HWND, _In_opt_ PCWSTR, _In_ DWORD, _In_opt_ HSPFILEQ, _In_opt_ CONST GUID *, _Reserved_ PVOID, _Reserved_ PVOID)
struct _SP_BACKUP_QUEUE_PARAMS_W * PSP_BACKUP_QUEUE_PARAMS_W
WINSETUPAPI BOOL WINAPI SetupFindNextMatchLineW(_In_ PINFCONTEXT, _In_opt_ PCWSTR, _Out_ PINFCONTEXT)
WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileFriendlyNameA(_In_ DWORD HwProfile, _Out_writes_(FriendlyNameSize) PSTR FriendlyName, _In_ DWORD FriendlyNameSize, _Out_opt_ PDWORD RequiredSize)
#define _Inout_
Definition: ms_sal.h:378
struct _SP_DEVINFO_LIST_DETAIL_DATA_W * PSP_DEVINFO_LIST_DETAIL_DATA_W
WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInstanceIdA(_In_ HDEVINFO DeviceInfoSet, _In_ PSP_DEVINFO_DATA DeviceInfoData, _Out_writes_opt_(DeviceInstanceIdSize) PSTR DeviceInstanceId, _In_ DWORD DeviceInstanceIdSize, _Out_opt_ PDWORD RequiredSize)
_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)
WINSETUPAPI HDSKSPC WINAPI SetupCreateDiskSpaceListW(_Reserved_ PVOID, _Reserved_ DWORD, _In_ UINT)
struct _FILEPATHS_W FILEPATHS_W
WINSETUPAPI BOOL WINAPI SetupDiBuildDriverInfoList(_In_ HDEVINFO, _Inout_opt_ PSP_DEVINFO_DATA, _In_ DWORD)
struct _SP_ENABLECLASS_PARAMS * PSP_ENABLECLASS_PARAMS
WCHAR DevicePath[ANYSIZE_ARRAY]
Definition: setupapi.h:855
WCHAR HtmlTroubleShooter[MAX_PATH]
Definition: setupapi.h:992
WINSETUPAPI BOOL WINAPI SetupGetLineByIndexA(_In_ HINF, _In_ PCSTR, _In_ DWORD, _Out_ PINFCONTEXT)
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
WINSETUPAPI BOOL WINAPI SetupDiSelectBestCompatDrv(_In_ HDEVINFO, _Inout_opt_ PSP_DEVINFO_DATA)
WINSETUPAPI BOOL WINAPI SetupFreeW(PCWSTR **, UINT)
BOOL WINAPI SetupDiGetClassInstallParamsW(IN HDEVINFO DeviceInfoSet, IN PSP_DEVINFO_DATA DeviceInfoData OPTIONAL, OUT PSP_CLASSINSTALL_HEADER ClassInstallParams OPTIONAL, IN DWORD ClassInstallParamsSize, OUT PDWORD RequiredSize OPTIONAL)
Definition: devclass.c:642
SP_DEVICE_INTERFACE_DETAIL_DATA_A * PSP_DEVICE_INTERFACE_DETAIL_DATA
Definition: setupapi.h:1149
#define _Out_
Definition: ms_sal.h:345
CHAR ChmFile[MAX_PATH]
Definition: setupapi.h:986
#define _At_(target, annos)
Definition: ms_sal.h:244
FILE_IN_CABINET_INFO_A FILE_IN_CABINET_INFO
Definition: setupapi.h:1147
WINSETUPAPI UINT WINAPI SetupPromptForDiskA(_In_ HWND hwndParent, _In_opt_ PCSTR DialogTitle, _In_opt_ PCSTR DiskName, _In_opt_ PCSTR PathToSource, _In_ PCSTR FileSought, _In_opt_ PCSTR TagFile, _In_ DWORD DiskPromptStyle, _Out_writes_opt_(PathBufferSize) PSTR PathBuffer, _In_ DWORD PathBufferSize, _Out_opt_ PDWORD PathRequiredSize)
#define ANYSIZE_ARRAY
Definition: typedefs.h:46
WINSETUPAPI BOOL WINAPI SetupFindNextMatchLineA(_In_ PINFCONTEXT, _In_opt_ PCSTR, _Out_ PINFCONTEXT)
WINSETUPAPI BOOL WINAPI SetupDiInstallDeviceInterfaces(_In_ HDEVINFO, _In_ PSP_DEVINFO_DATA)
struct _SP_DEVINSTALL_PARAMS_W * PSP_DEVINSTALL_PARAMS_W
_In_ IN_ADDR _In_ IN_ADDR _Out_ MULTICAST_MODE_TYPE _Inout_ ULONG _Out_writes_ SourceCount IN_ADDR * SourceList
Definition: ws2tcpip.h:622
WINSETUPAPI BOOL WINAPI SetupDiCallClassInstaller(_In_ DI_FUNCTION, _In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA)
WINSETUPAPI UINT WINAPI SetupCopyErrorA(_In_ HWND hwndParent, _In_opt_ PCSTR DialogTitle, _In_opt_ PCSTR DiskName, _In_ PCSTR PathToSource, _In_ PCSTR SourceFile, _In_opt_ PCSTR TargetPathFile, _In_ UINT Win32ErrorCode, _In_ DWORD Style, _Out_writes_opt_(PathBufferSize) PSTR PathBuffer, _In_ DWORD PathBufferSize, _Out_opt_ PDWORD PathRequiredSize)
BOOL WINAPI SetupGetInfInformationA(LPCVOID InfSpec, DWORD SearchControl, PSP_INF_INFORMATION ReturnBuffer, DWORD ReturnBufferSize, PDWORD RequiredSize)
Definition: query.c:89
WINSETUPAPI BOOL WINAPI SetupSetSourceListW(_In_ DWORD Flags, _In_reads_(SourceCount) PCWSTR *SourceList, _In_ UINT SourceCount)
WINSETUPAPI HPROPSHEETPAGE WINAPI SetupDiGetWizardPage(_In_ HDEVINFO, _In_opt_ PSP_DEVINFO_DATA, _In_ PSP_INSTALLWIZARD_DATA, _In_ DWORD, _In_ DWORD)
PCSTR CabinetPath
Definition: setupapi.h:775
WINSETUPAPI BOOL WINAPI SetupRemoveFromDiskSpaceListW(_In_ HDSKSPC, _In_ PCWSTR, _In_ UINT, _Reserved_ PVOID, _Reserved_ UINT)
uint16_t * PWSTR
Definition: typedefs.h:56
PCSTR Target
Definition: setupapi.h:747
WINSETUPAPI BOOL WINAPI SetupDiSetClassInstallParamsW(_In_ HDEVINFO DeviceInfoSet, _In_opt_ PSP_DEVINFO_DATA DeviceInfoData, _In_reads_bytes_opt_(ClassInstallParamsSize) PSP_CLASSINSTALL_HEADER ClassInstallParams, _In_ DWORD ClassInstallParamsSize)
WINSETUPAPI BOOL WINAPI SetupQuerySpaceRequiredOnDriveA(_In_ HDSKSPC, _In_ PCSTR, _Out_ LONGLONG *, _Reserved_ PVOID, _Reserved_ UINT)
struct _SP_DRVINSTALL_PARAMS * PSP_DRVINSTALL_PARAMS
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)
WINSETUPAPI BOOL WINAPI SetupDiGetClassImageListExA(_Out_ PSP_CLASSIMAGELIST_DATA, _In_opt_ PCSTR, _Reserved_ PVOID)
WINSETUPAPI BOOL WINAPI SetupLogErrorA(_In_ LPCSTR, _In_ LogSeverity)
CHAR Instructions[MAX_INSTRUCTION_LEN]
Definition: setupapi.h:934
BOOL WINAPI SetupDiGetDeviceInterfaceDetailW(HDEVINFO DeviceInfoSet, PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData, PSP_DEVICE_INTERFACE_DETAIL_DATA_W DeviceInterfaceDetailData, DWORD DeviceInterfaceDetailDataSize, PDWORD RequiredSize, PSP_DEVINFO_DATA DeviceInfoData)
Definition: devinst.c:3007
CHAR ListLabel[MAX_LABEL_LEN]
Definition: setupapi.h:935
PCSTR CabinetFile
Definition: setupapi.h:776
char CHAR
Definition: xmlstorage.h:175
PVOID InstallMsgHandlerContext
Definition: setupapi.h:884
WINSETUPAPI DWORD WINAPI pSetupCaptureAndConvertAnsiArg(PCSTR, PWSTR *)
#define LogSeverity
Definition: setupapi.h:458
WINSETUPAPI BOOL WINAPI SetupDiCreateDeviceInfoA(_In_ HDEVINFO, _In_ PCSTR, _In_ CONST GUID *, _In_opt_ PCSTR, _In_opt_ HWND, _In_ DWORD, _Out_opt_ PSP_DEVINFO_DATA)
WINSETUPAPI BOOL WINAPI SetupQueueRenameSectionW(_In_ HSPFILEQ, _In_ HINF, _In_opt_ HINF, _In_ PCWSTR)
WINSETUPAPI BOOL WINAPI SetupOpenAppendInfFileW(_In_opt_ PCWSTR FileName, _In_ HINF InfHandle, _Out_opt_ PUINT ErrorLine)
WINSETUPAPI BOOL WINAPI SetupDiSetSelectedDevice(_In_ HDEVINFO, _In_ PSP_DEVINFO_DATA)
WCHAR RemoteMachineName[SP_MAX_MACHINENAME_LENGTH]
Definition: setupapi.h:873
SP_CLASSINSTALL_HEADER ClassInstallHeader
Definition: setupapi.h:932