ReactOS  0.4.14-dev-49-gfb4591c
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 #define DYNAWIZ_FLAG_PAGESADDED 0x00000001
276 #define DYNAWIZ_FLAG_INSTALLDET_NEXT 0x00000002
277 #define DYNAWIZ_FLAG_INSTALLDET_PREV 0x00000004
278 #define DYNAWIZ_FLAG_ANALYZE_HANDLECONFLICT 0x00000008
279 #define ENABLECLASS_QUERY 0
280 #define ENABLECLASS_SUCCESS 1
281 #define ENABLECLASS_FAILURE 2
282 #define ERROR_EXPECTED_SECTION_NAME (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0)
283 #define ERROR_BAD_SECTION_NAME_LINE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|1)
284 #define ERROR_SECTION_NAME_TOO_LONG (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|2)
285 #define ERROR_GENERAL_SYNTAX (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|3)
286 #define ERROR_WRONG_INF_STYLE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x100)
287 #define ERROR_NOT_INSTALLED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x1000)
288 #define ERROR_SECTION_NOT_FOUND (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x101)
289 #define ERROR_LINE_NOT_FOUND (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x102)
290 #define ERROR_NO_BACKUP (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x103)
291 #define ERROR_NO_ASSOCIATED_CLASS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x200)
292 #define ERROR_CLASS_MISMATCH (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x201)
293 #define ERROR_DUPLICATE_FOUND (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x202)
294 #define ERROR_NO_DRIVER_SELECTED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x203)
295 #define ERROR_KEY_DOES_NOT_EXIST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x204)
296 #define ERROR_INVALID_DEVINST_NAME (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x205)
297 #define ERROR_INVALID_CLASS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x206)
298 #define ERROR_DEVINST_ALREADY_EXISTS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x207)
299 #define ERROR_DEVINFO_NOT_REGISTERED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x208)
300 #define ERROR_INVALID_REG_PROPERTY (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x209)
301 #define ERROR_NO_INF (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20A)
302 #define ERROR_NO_SUCH_DEVINST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20B)
303 #define ERROR_CANT_LOAD_CLASS_ICON (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20C)
304 #define ERROR_INVALID_CLASS_INSTALLER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20D)
305 #define ERROR_DI_DO_DEFAULT (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20E)
306 #define ERROR_DI_NOFILECOPY (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20F)
307 #define ERROR_INVALID_HWPROFILE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x210)
308 #define ERROR_NO_DEVICE_SELECTED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x211)
309 #define ERROR_DEVINFO_LIST_LOCKED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x212)
310 #define ERROR_DEVINFO_DATA_LOCKED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x213)
311 #define ERROR_DI_BAD_PATH (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x214)
312 #define ERROR_NO_CLASSINSTALL_PARAMS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x215)
313 #define ERROR_FILEQUEUE_LOCKED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x216)
314 #define ERROR_BAD_SERVICE_INSTALLSECT (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x217)
315 #define ERROR_NO_CLASS_DRIVER_LIST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x218)
316 #define ERROR_NO_ASSOCIATED_SERVICE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x219)
317 #define ERROR_NO_DEFAULT_DEVICE_INTERFACE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21A)
318 #define ERROR_DEVICE_INTERFACE_ACTIVE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21B)
319 #define ERROR_DEVICE_INTERFACE_REMOVED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21C)
320 #define ERROR_BAD_INTERFACE_INSTALLSECT (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21D)
321 #define ERROR_NO_SUCH_INTERFACE_CLASS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21E)
322 #define ERROR_INVALID_REFERENCE_STRING (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21F)
323 #define ERROR_INVALID_MACHINENAME (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x220)
324 #define ERROR_REMOTE_COMM_FAILURE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x221)
325 #define ERROR_MACHINE_UNAVAILABLE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x222)
326 #define ERROR_NO_CONFIGMGR_SERVICES (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x223)
327 #define ERROR_INVALID_PROPPAGE_PROVIDER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x224)
328 #define ERROR_NO_SUCH_DEVICE_INTERFACE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x225)
329 #define ERROR_DI_POSTPROCESSING_REQUIRED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x226)
330 #define ERROR_INVALID_COINSTALLER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x227)
331 #define ERROR_NO_COMPAT_DRIVERS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x228)
332 #define ERROR_NO_DEVICE_ICON (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x229)
333 #define ERROR_INVALID_INF_LOGCONFIG (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22A)
334 #define ERROR_DI_DONT_INSTALL (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22B)
335 #define ERROR_INVALID_FILTER_DRIVER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22C)
336 #define ERROR_NON_WINDOWS_NT_DRIVER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22D)
337 #define ERROR_NON_WINDOWS_DRIVER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22E)
338 #define ERROR_NO_CATALOG_FOR_OEM_INF (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22F)
339 #define ERROR_DEVINSTALL_QUEUE_NONNATIVE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x230)
340 #define ERROR_NOT_DISABLEABLE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x231)
341 #define ERROR_CANT_REMOVE_DEVINST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x232)
342 #define ERROR_IN_WOW64 (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x235)
343 #define ERROR_INTERFACE_DEVICE_ACTIVE ERROR_DEVICE_INTERFACE_ACTIVE
344 #define ERROR_INTERFACE_DEVICE_REMOVED ERROR_DEVICE_INTERFACE_REMOVED
345 #define ERROR_NO_DEFAULT_INTERFACE_DEVICE ERROR_NO_DEFAULT_DEVICE_INTERFACE
346 #define ERROR_NO_SUCH_INTERFACE_DEVICE ERROR_NO_SUCH_DEVICE_INTERFACE
347 #define ERROR_WRONG_INF_TYPE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x24A)
348 
349 #define FILEOP_COPY 0
350 #define FILEOP_ABORT 0
351 #define FILE_COMPRESSION_NONE 0
352 #define FILEOP_RENAME 1
353 #define FILEOP_DOIT 1
354 #define FILE_COMPRESSION_WINLZA 1
355 #define FILEOP_DELETE 2
356 #define FILEOP_SKIP 2
357 #define FILE_COMPRESSION_MSZIP 2
358 #define FILEOP_BACKUP 3
359 #define FILE_COMPRESSION_NTCAB 3
360 #define FILEOP_NEWPATH 4
361 #define FILEOP_RETRY FILEOP_DOIT
362 #define FLG_ADDREG_TYPE_SZ 0x00000000
363 #define FLG_ADDREG_BINVALUETYPE 0x00000001
364 #define FLG_ADDREG_NOCLOBBER 0x00000002
365 #define FLG_ADDREG_DELVAL 0x00000004
366 #define FLG_ADDREG_APPEND 0x00000008
367 #define FLG_ADDREG_KEYONLY 0x00000010
368 #define FLG_ADDREG_OVERWRITEONLY 0x00000020
369 #if (_SETUPAPI_VER >= 0x0501)
370 #define FLG_ADDREG_64BITKEY 0x00001000
371 #define FLG_ADDREG_KEYONLY_COMMON 0x00002000
372 #define FLG_ADDREG_32BITKEY 0x00004000
373 #define FLG_ADDREG_DELREG_BIT 0x00008000
374 #endif
375 #define FLG_ADDREG_TYPE_MULTI_SZ 0x00010000
376 #define FLG_ADDREG_TYPE_EXPAND_SZ 0x00020000
377 #define FLG_ADDREG_TYPE_BINARY (0x00000000|FLG_ADDREG_BINVALUETYPE)
378 #define FLG_ADDREG_TYPE_DWORD (0x00010000|FLG_ADDREG_BINVALUETYPE)
379 #define FLG_ADDREG_TYPE_NONE (0x00020000|FLG_ADDREG_BINVALUETYPE)
380 #define FLG_ADDREG_TYPE_MASK (0xFFFF0000|FLG_ADDREG_BINVALUETYPE)
381 #define FLG_DELREG_VALUE 0x00000000
382 #if (_SETUPAPI_VER >= 0x0501)
383 #define FLG_DELREG_TYPE_MASK FLG_ADDREG_TYPE_MASK
384 #define FLG_DELREG_TYPE_SZ FLG_ADDREG_TYPE_SZ
385 #define FLG_DELREG_TYPE_MULTI_SZ FLG_ADDREG_TYPE_MULTI_SZ
386 #define FLG_DELREG_TYPE_EXPAND_SZ FLG_ADDREG_TYPE_EXPAND_SZ
387 #define FLG_DELREG_TYPE_BINARY FLG_ADDREG_TYPE_BINARY
388 #define FLG_DELREG_TYPE_DWORD FLG_ADDREG_TYPE_DWORD
389 #define FLG_DELREG_TYPE_NONE FLG_ADDREG_TYPE_NONE
390 #define FLG_DELREG_64BITKEY FLG_ADDREG_64BITKEY
391 #define FLG_DELREG_KEYONLY_COMMON FLG_ADDREG_KEYONLY_COMMON
392 #define FLG_DELREG_32BITKEY FLG_ADDREG_32BITKEY
393 #define FLG_DELREG_OPERATION_MASK 0x000000FE
394 #define FLG_DELREG_MULTI_SZ_DELSTRING (0x00000002|FLG_DELREG_TYPE_MULTI_SZ|FLG_ADDREG_DELREG_BIT)
395 #endif
396 #define FLG_BITREG_CLEARBITS 0x00000000
397 #define FLG_BITREG_SETBITS 0x00000001
398 #define FLG_PROFITEM_CURRENTUSER 0x00000001
399 #define FLG_PROFITEM_DELETE 0x00000002
400 #define FLG_PROFITEM_GROUP 0x00000004
401 #define FLG_PROFITEM_CSIDL 0x00000008
402 #define FLG_REGSVR_DLLREGISTER 0x00000001
403 #define FLG_REGSVR_DLLINSTALL 0x00000002
404 #define MIN_IDD_DYNAWIZ_RESOURCE_ID 10000
405 #define MAX_IDD_DYNAWIZ_RESOURCE_ID 11000
406 #define IDD_DYNAWIZ_FIRSTPAGE 10000
407 #define IDD_DYNAWIZ_SELECT_PREVPAGE 10001
408 #define IDD_DYNAWIZ_SELECT_NEXTPAGE 10002
409 #define IDD_DYNAWIZ_ANALYZE_PREVPAGE 10003
410 #define IDD_DYNAWIZ_ANALYZE_NEXTPAGE 10004
411 #define IDD_DYNAWIZ_INSTALLDETECTED_PREVPAGE 10006
412 #define IDD_DYNAWIZ_INSTALLDETECTED_NEXTPAGE 10007
413 #define IDD_DYNAWIZ_INSTALLDETECTED_NODEVS 10008
414 #define IDD_DYNAWIZ_SELECTDEV_PAGE 10009
415 #define IDD_DYNAWIZ_ANALYZEDEV_PAGE 10010
416 #define IDD_DYNAWIZ_INSTALLDETECTEDDEVS_PAGE 10011
417 #define IDD_DYNAWIZ_SELECTCLASS_PAGE 10012
418 #define IDF_NOBROWSE 0x00000001
419 #define IDF_NOSKIP 0x00000002
420 #define IDF_NODETAILS 0x00000004
421 #define IDF_NOCOMPRESSED 0x00000008
422 #define IDF_CHECKFIRST 0x00000100
423 #define IDF_NOBEEP 0x00000200
424 #define IDF_NOFOREGROUND 0x00000400
425 #define IDF_WARNIFSKIP 0x00000800
426 #define IDF_OEMDISK 0x80000000
427 #define IDI_RESOURCEFIRST 159
428 #define IDI_RESOURCE 159
429 #define IDI_RESOURCELAST 161
430 #define IDI_RESOURCEOVERLAYFIRST 161
431 #define IDI_RESOURCEOVERLAYLAST 161
432 #define IDI_CONFLICT 161
433 #define IDI_PROBLEM_OVL 500
434 #define IDI_DISABLED_OVL 501
435 #define IDI_FORCED_OVL 502
436 #define IDI_CLASSICON_OVERLAYFIRST 500
437 #define IDI_CLASSICON_OVERLAYLAST 502
438 #define INF_STYLE_NONE 0x00000000
439 #define INF_STYLE_OLDNT 0x00000001
440 #define INF_STYLE_WIN4 0x00000002
441 #define INF_STYLE_CACHE_ENABLE 0x00000010
442 #define INF_STYLE_CACHE_DISABLE 0x00000020
443 #define INFINFO_INF_SPEC_IS_HINF 1
444 #define INFINFO_INF_NAME_IS_ABSOLUTE 2
445 #define INFINFO_DEFAULT_SEARCH 3
446 #define INFINFO_REVERSE_DEFAULT_SEARCH 4
447 #define INFINFO_INF_PATH_LIST_SEARCH 5
448 #define LogSevInformation 0
449 #define LogSevWarning 1
450 #define LogSevError 2
451 #define LogSevFatalError 3
452 #define LogSevMaximum 4
453 #define LogSeverity DWORD
454 #define MAX_INSTALLWIZARD_DYNAPAGES 20
455 #define NDW_INSTALLFLAG_DIDFACTDEFS 0x00000001
456 #define NDW_INSTALLFLAG_HARDWAREALLREADYIN 0x00000002
457 #define NDW_INSTALLFLAG_NEEDSHUTDOWN 0x00000200
458 #define NDW_INSTALLFLAG_EXPRESSINTRO 0x00000400
459 #define NDW_INSTALLFLAG_SKIPISDEVINSTALLED 0x00000800
460 #define NDW_INSTALLFLAG_NODETECTEDDEVS 0x00001000
461 #define NDW_INSTALLFLAG_INSTALLSPECIFIC 0x00002000
462 #define NDW_INSTALLFLAG_SKIPCLASSLIST 0x00004000
463 #define NDW_INSTALLFLAG_CI_PICKED_OEM 0x00008000
464 #define NDW_INSTALLFLAG_PCMCIAMODE 0x00010000
465 #define NDW_INSTALLFLAG_PCMCIADEVICE 0x00020000
466 #define NDW_INSTALLFLAG_USERCANCEL 0x00040000
467 #define NDW_INSTALLFLAG_KNOWNCLASS 0x00080000
468 #define NDW_INSTALLFLAG_NEEDRESTART 0x00000080
469 #define NDW_INSTALLFLAG_NEEDREBOOT 0x00000100
470 #define SETDIRID_NOT_FULL_PATH 0x00000001
471 #define SP_COPY_DELETESOURCE 0x0000001
472 #define SP_COPY_REPLACEONLY 0x0000002
473 #define SP_COPY_NEWER 0x0000004
474 #define SP_COPY_NEWER_OR_SAME 0x0000004
475 #define SP_COPY_NOOVERWRITE 0x0000008
476 #define SP_COPY_NODECOMP 0x0000010
477 #define SP_COPY_LANGUAGEAWARE 0x0000020
478 #define SP_COPY_SOURCE_ABSOLUTE 0x0000040
479 #define SP_COPY_SOURCEPATH_ABSOLUTE 0x0000080
480 #define SP_COPY_IN_USE_NEEDS_REBOOT 0x0000100
481 #define SP_COPY_FORCE_IN_USE 0x0000200
482 #define SP_COPY_NOSKIP 0x0000400
483 #define SP_COPY_FORCE_NOOVERWRITE 0x0001000
484 #define SP_COPY_FORCE_NEWER 0x0002000
485 #define SP_COPY_WARNIFSKIP 0x0004000
486 #define SP_COPY_NOBROWSE 0x0008000
487 #define SP_COPY_NEWER_ONLY 0x0010000
488 #define SP_COPY_SOURCE_SIS_MASTER 0x0020000
489 #define SP_COPY_OEMINF_CATALOG_ONLY 0x0040000
490 #define SP_COPY_REPLACE_BOOT_FILE 0x0080000
491 #define SP_COPY_NOPRUNE 0x0100000
492 #define SP_FLAG_CABINETCONTINUATION 0x0000800
493 #define SPCRP_SECURITY 23
494 #define SPCRP_SECURITY_SDS 24
495 #define SPCRP_DEVTYPE 25
496 #define SPCRP_EXCLUSIVE 26
497 #define SPCRP_CHARACTERISTICS 27
498 #define SPCRP_MAXIMUM_PROPERTY 28
499 #define SPDIT_NODRIVER 0
500 #define SPDIT_CLASSDRIVER 1
501 #define SPDIT_COMPATDRIVER 2
502 #define SPDRP_DEVICEDESC 0
503 #define SPDRP_HARDWAREID 1
504 #define SPDRP_COMPATIBLEIDS 2
505 #define SPDRP_UNUSED0 3
506 #define SPDRP_SERVICE 4
507 #define SPDRP_UNUSED1 5
508 #define SPDRP_UNUSED2 6
509 #define SPDRP_CLASS 7
510 #define SPDRP_CLASSGUID 8
511 #define SPDRP_DRIVER 9
512 #define SPDRP_CONFIGFLAGS 10
513 #define SPDRP_MFG 11
514 #define SPDRP_FRIENDLYNAME 12
515 #define SPDRP_LOCATION_INFORMATION 13
516 #define SPDRP_PHYSICAL_DEVICE_OBJECT_NAME 14
517 #define SPDRP_CAPABILITIES 15
518 #define SPDRP_UI_NUMBER 16
519 #define SPDRP_UPPERFILTERS 17
520 #define SPDRP_LOWERFILTERS 18
521 #define SPDRP_BUSTYPEGUID 19
522 #define SPDRP_LEGACYBUSTYPE 20
523 #define SPDRP_BUSNUMBER 21
524 #define SPDRP_ENUMERATOR_NAME 22
525 #define SPDRP_SECURITY 23
526 #define SPDRP_SECURITY_SDS 24
527 #define SPDRP_DEVTYPE 25
528 #define SPDRP_EXCLUSIVE 26
529 #define SPDRP_CHARACTERISTICS 27
530 #define SPDRP_ADDRESS 28
531 #define SPDRP_UI_NUMBER_DESC_FORMAT 29
532 #define SPDRP_DEVICE_POWER_DATA 30
533 #define SPDRP_REMOVAL_POLICY 31
534 #define SPDRP_REMOVAL_POLICY_HW_DEFAULT 32
535 #define SPDRP_REMOVAL_POLICY_OVERRIDE 33
536 #define SPDRP_INSTALL_STATE 34
537 #define SPDRP_MAXIMUM_PROPERTY 35
538 #define SPDSL_IGNORE_DISK 1
539 #define SPDSL_DISALLOW_NEGATIVE_ADJUST 2
540 
541 #define SPFILENOTIFY_STARTQUEUE 1
542 #define SPFILENOTIFY_ENDQUEUE 2
543 #define SPFILENOTIFY_STARTSUBQUEUE 3
544 #define SPFILENOTIFY_ENDSUBQUEUE 4
545 #define SPFILENOTIFY_STARTDELETE 5
546 #define SPFILENOTIFY_ENDDELETE 6
547 #define SPFILENOTIFY_DELETEERROR 7
548 #define SPFILENOTIFY_STARTRENAME 8
549 #define SPFILENOTIFY_ENDRENAME 9
550 #define SPFILENOTIFY_RENAMEERROR 10
551 #define SPFILENOTIFY_STARTCOPY 11
552 #define SPFILENOTIFY_ENDCOPY 12
553 #define SPFILENOTIFY_COPYERROR 13
554 #define SPFILENOTIFY_NEEDMEDIA 14
555 #define SPFILENOTIFY_QUEUESCAN 15
556 #define SPFILENOTIFY_CABINETINFO 16
557 #define SPFILENOTIFY_FILEINCABINET 17
558 #define SPFILENOTIFY_NEEDNEWCABINET 18
559 #define SPFILENOTIFY_FILEEXTRACTED 19
560 #define SPFILENOTIFY_FILEOPDELAYED 20
561 #define SPFILENOTIFY_STARTBACKUP 21
562 #define SPFILENOTIFY_BACKUPERROR 22
563 #define SPFILENOTIFY_ENDBACKUP 23
564 #define SPFILENOTIFY_QUEUESCAN_EX 24
565 #define SPFILENOTIFY_STARTREGISTRATION 25
566 #define SPFILENOTIFY_ENDREGISTRATION 26
567 #define SPFILENOTIFY_LANGMISMATCH 0x00010000
568 #define SPFILENOTIFY_TARGETEXISTS 0x00020000
569 #define SPFILENOTIFY_TARGETNEWER 0x00040000
570 #define SPFILELOG_SYSTEMLOG 0x00000001
571 #define SPFILELOG_OEMFILE 0x00000001
572 #define SPFILELOG_FORCENEW 0x00000002
573 #define SPFILELOG_QUERYONLY 0x00000004
574 #define SPFILEQ_FILE_IN_USE 0x00000001
575 #define SPFILEQ_REBOOT_RECOMMENDED 0x00000002
576 #define SPFILEQ_REBOOT_IN_PROGRESS 0x00000004
577 #define SPINT_ACTIVE 0x00000001
578 #define SPINT_DEFAULT 0x00000002
579 #define SPINT_REMOVED 0x00000004
580 #define SPID_ACTIVE 0x00000001
581 #define SPID_DEFAULT 0x00000002
582 #define SPID_REMOVED 0x00000004
583 #define SPINST_LOGCONFIG 0x00000001
584 #define SPINST_INIFILES 0x00000002
585 #define SPINST_REGISTRY 0x00000004
586 #define SPINST_INI2REG 0x00000008
587 #define SPINST_FILES 0x00000010
588 #define SPINST_BITREG 0x00000020
589 #define SPINST_REGSVR 0x00000040
590 #define SPINST_UNREGSVR 0x00000080
591 #define SPINST_PROFILEITEMS 0x00000100
592 #if (_SETUPAPI_VER >= 0x0501)
593 #define SPINST_COPYINF 0x00000200
594 #define SPINST_ALL 0x000003ff
595 #else
596 #define SPINST_ALL 0x000001ff
597 #endif
598 #define SPINST_SINGLESECTION 0x00010000
599 #define SPINST_LOGCONFIG_IS_FORCED 0x00020000
600 #define SPINST_LOGCONFIGS_ARE_OVERRIDES 0x00040000
601 #if (_SETUPAPI_VER >= 0x0501)
602 #define SPINST_REGISTERCALLBACKAWARE 0x00080000
603 #endif
604 #define SPOST_NONE 0
605 #define SPOST_PATH 1
606 #define SPOST_URL 2
607 #define SPOST_MAX 3
608 #define SPPSR_SELECT_DEVICE_RESOURCES 1
609 #define SPPSR_ENUM_BASIC_DEVICE_PROPERTIES 2
610 #define SPPSR_ENUM_ADV_DEVICE_PROPERTIES 3
611 #define SPQ_SCAN_FILE_PRESENCE 0x00000001
612 #define SPQ_DELAYED_COPY 0x00000001
613 #define SPQ_SCAN_FILE_VALIDITY 0x00000002
614 #define SPQ_SCAN_USE_CALLBACK 0x00000004
615 #define SPQ_SCAN_USE_CALLBACKEX 0x00000008
616 #define SPQ_SCAN_INFORM_USER 0x00000010
617 #define SPQ_SCAN_PRUNE_COPY_QUEUE 0x00000020
618 #define SPRDI_FIND_DUPS 0x00000001
619 
620 #define SPSVCINST_TAGTOFRONT 0x00000001
621 #define SPSVCINST_ASSOCSERVICE 0x00000002
622 #define SPSVCINST_DELETEEVENTLOGENTRY 0x00000004
623 #define SPSVCINST_NOCLOBBER_DISPLAYNAME 0x00000008
624 #define SPSVCINST_NOCLOBBER_STARTTYPE 0x00000010
625 #define SPSVCINST_NOCLOBBER_ERRORCONTROL 0x00000020
626 #define SPSVCINST_NOCLOBBER_LOADORDERGROUP 0x00000040
627 #define SPSVCINST_NOCLOBBER_DEPENDENCIES 0x00000080
628 #define SPSVCINST_NOCLOBBER_DESCRIPTION 0x00000100
629 #define SPSVCINST_STOPSERVICE 0x00000200
630 #define SPSVCINST_CLOBBER_SECURITY 0x00000400
631 #define SPSVCINST_STARTSERVICE 0x00000800
632 
633 #define SPWPT_SELECTDEVICE 0x00000001
634 #define SPWP_USE_DEVINFO_DATA 0x00000001
635 #define SRCINFO_PATH 1
636 #define SRCINFO_TAGFILE 2
637 #define SRCINFO_DESCRIPTION 3
638 #define SRCINFO_FLAGS 4
639 #define SRCLIST_TEMPORARY 0x00000001
640 #define SRCLIST_NOBROWSE 0x00000002
641 #define SRCLIST_SYSTEM 0x00000010
642 #define SRCLIST_USER 0x00000020
643 #define SRCLIST_SYSIFADMIN 0x00000040
644 #define SRCLIST_SUBDIRS 0x00000100
645 #define SRCLIST_APPEND 0x00000200
646 #define SRCLIST_NOSTRIPPLATFORM 0x00000400
647 #define SPREG_SUCCESS 0x00000000
648 #define SPREG_LOADLIBRARY 0x00000001
649 #define SPREG_GETPROCADDR 0x00000002
650 #define SPREG_REGSVR 0x00000003
651 #define SPREG_DLLINSTALL 0x00000004
652 #define SPREG_TIMEOUT 0x00000005
653 #define SPREG_UNKNOWN 0xFFFFFFFF
654 
655 /* Flags for StringTableAddString and StringTableLookUpString */
656 #define ST_CASE_SENSITIVE_COMPARE 0x00000001
657 
658 /* SetupUninstallOEMInf Flags values */
659 #define SUOI_FORCEDELETE 0x00000001
660 
661 #ifndef RC_INVOKED
662 typedef PVOID HINF;
663 typedef PVOID HDSKSPC;
664 typedef PVOID HDEVINFO;
665 typedef PVOID HSPFILEQ;
668 
670 
671 typedef enum {
679 typedef struct _INFCONTEXT {
680  PVOID Inf;
682  UINT Section;
683  UINT Line;
685 typedef struct _SP_INF_INFORMATION {
690 typedef struct _SP_INF_SIGNER_INFO_A {
696 typedef struct _SP_INF_SIGNER_INFO_W {
702 typedef struct _SP_ALTPLATFORM_INFO_V1 {
710 typedef struct _SP_ALTPLATFORM_INFO_V2 {
716  union
717  {
720  } DUMMYUNIONNAME;
724 #if _WIN32_WINNT <= 0x0500
727 #else
730 #endif
731 typedef struct _SP_ORIGINAL_FILE_INFO_A {
736 typedef struct _SP_ORIGINAL_FILE_INFO_W {
741 typedef struct _FILEPATHS_A {
747 typedef struct _FILEPATHS_W {
748  PCWSTR Target;
749  PCWSTR Source;
753 typedef struct _SOURCE_MEDIA_A {
761 typedef struct _SOURCE_MEDIA_W {
769 typedef struct _CABINET_INFO_A {
776 typedef struct _CABINET_INFO_W {
783 typedef struct _FILE_IN_CABINET_INFO_A {
792 typedef struct _FILE_IN_CABINET_INFO_W {
801 typedef struct _SP_FILE_COPY_PARAMS_A {
815 typedef struct _SP_FILE_COPY_PARAMS_W {
829 typedef struct _SP_DEVINFO_DATA {
841 /* For backward compatability */
843 
852 /* For backward compatability */
857 
870 
873 typedef struct _SP_DEVINSTALL_PARAMS_A {
885 typedef struct _SP_DEVINSTALL_PARAMS_W {
897 typedef struct _SP_CLASSINSTALL_HEADER {
901 typedef struct _SP_ENABLECLASS_PARAMS {
906 typedef struct _SP_MOVEDEV_PARAMS {
910 typedef struct _SP_PROPCHANGE_PARAMS {
916 typedef struct _SP_REMOVEDEVICE_PARAMS {
953 
955 typedef struct _SP_DETECTDEVICE_PARAMS {
960 typedef struct _SP_INSTALLWIZARD_DATA {
970 typedef struct _SP_NEWDEVICEWIZARD_DATA {
997 typedef struct _SP_DRVINFO_DATA_V2_A {
1007 typedef struct _SP_DRVINFO_DATA_V2_W {
1017 typedef struct _SP_DRVINFO_DATA_V1_A {
1025 typedef struct _SP_DRVINFO_DATA_V1_W {
1033 
1034 #ifdef UNICODE
1037 #else
1040 #endif
1041 
1042 #if USE_SP_DRVINFO_DATA_V1
1046 #else
1050 #endif
1051 
1053 
1076 typedef struct _SP_DRVINSTALL_PARAMS {
1083 
1084 
1090 typedef struct _SP_CLASSIMAGELIST_DATA {
1111 
1112 
1113 #ifdef UNICODE
1115 typedef FILEPATHS_W FILEPATHS, *PFILEPATHS;
1123  *PSP_INTERFACE_DEVICE_DETAIL_DATA; /* deprecated */
1137 #else
1147  *PSP_INTERFACE_DEVICE_DETAIL_DATA; /* deprecated */
1162 #endif /* UNICODE */
1163 
1164 
1180 
1199 
1201 UINT
1202 WINAPI
1205  _In_opt_ PCSTR DialogTitle,
1206  _In_opt_ PCSTR DiskName,
1207  _In_ PCSTR PathToSource,
1208  _In_ PCSTR SourceFile,
1209  _In_opt_ PCSTR TargetPathFile,
1210  _In_ UINT Win32ErrorCode,
1211  _In_ DWORD Style,
1212  _Out_writes_opt_(PathBufferSize) PSTR PathBuffer,
1213  _In_ DWORD PathBufferSize,
1214  _Out_opt_ PDWORD PathRequiredSize);
1215 
1217 UINT
1218 WINAPI
1221  _In_opt_ PCWSTR DialogTitle,
1222  _In_opt_ PCWSTR DiskName,
1223  _In_ PCWSTR PathToSource,
1224  _In_ PCWSTR SourceFile,
1225  _In_opt_ PCWSTR TargetPathFile,
1226  _In_ UINT Win32ErrorCode,
1227  _In_ DWORD Style,
1228  _Out_writes_opt_(PathBufferSize) PWSTR PathBuffer,
1229  _In_ DWORD PathBufferSize,
1230  _Out_opt_ PDWORD PathRequiredSize);
1231 
1233 BOOL
1234 WINAPI
1236  _In_ PCSTR SourceInfFileName,
1237  _In_opt_ PCSTR OEMSourceMediaLocation,
1238  _In_ DWORD OEMSourceMediaType,
1239  _In_ DWORD CopyStyle,
1240  _Out_writes_opt_(DestinationInfFileNameSize) PSTR DestinationInfFileName,
1241  _In_ DWORD DestinationInfFileNameSize,
1243  _Out_opt_ PSTR *DestinationInfFileNameComponent);
1244 
1246 BOOL
1247 WINAPI
1249  _In_ PCWSTR SourceInfFileName,
1250  _In_opt_ PCWSTR OEMSourceMediaLocation,
1251  _In_ DWORD OEMSourceMediaType,
1252  _In_ DWORD CopyStyle,
1253  _Out_writes_opt_(DestinationInfFileNameSize) PWSTR DestinationInfFileName,
1254  _In_ DWORD DestinationInfFileNameSize,
1256  _Out_opt_ PWSTR *DestinationInfFileNameComponent);
1257 
1268 
1269 _Success_(return != FALSE)
1271 BOOL
1272 WINAPI
1274  _In_ DWORD Flags,
1278 
1279 _Success_(return != FALSE)
1281 BOOL
1282 WINAPI
1284  _In_ DWORD Flags,
1290 
1291 _Success_(return != FALSE)
1293 BOOL
1294 WINAPI
1296  _In_ DWORD Flags,
1302 
1307 
1308 _Success_(return != FALSE)
1310 BOOL
1311 WINAPI
1313  _In_ PCSTR ClassName,
1317 
1318 _Success_(return != FALSE)
1320 BOOL
1321 WINAPI
1323  _In_ PCWSTR ClassName,
1327 
1328 _Success_(return != FALSE)
1330 BOOL
1331 WINAPI
1333  _In_ PCSTR ClassName,
1339 
1340 _Success_(return != FALSE)
1342 BOOL
1343 WINAPI
1345  _In_ PCWSTR ClassName,
1351 
1353 BOOL
1354 WINAPI
1356  _In_ CONST GUID *ClassGuid,
1357  _Out_writes_(ClassNameSize) PSTR ClassName,
1358  _In_ DWORD ClassNameSize,
1360 
1362 BOOL
1363 WINAPI
1365  _In_ CONST GUID *ClassGuid,
1366  _Out_writes_(ClassNameSize) PWSTR ClassName,
1367  _In_ DWORD ClassNameSize,
1369 
1371 BOOL
1372 WINAPI
1374  _In_ CONST GUID *ClassGuid,
1375  _Out_writes_(ClassNameSize) PSTR ClassName,
1376  _In_ DWORD ClassNameSize,
1380 
1382 BOOL
1383 WINAPI
1385  _In_ CONST GUID *ClassGuid,
1386  _Out_writes_(ClassNameSize) PWSTR ClassName,
1387  _In_ DWORD ClassNameSize,
1391 
1415 
1417 BOOL
1418 WINAPI
1420  _In_ HINF InfHandle,
1421  _In_ PCSTR InfSectionName,
1422  _Out_writes_opt_(InfSectionWithExtSize) PSTR InfSectionWithExt,
1423  _In_ DWORD InfSectionWithExtSize,
1426 
1428 BOOL
1429 WINAPI
1431  _In_ HINF InfHandle,
1432  _In_ PCWSTR InfSectionName,
1433  _Out_writes_opt_(InfSectionWithExtSize) PWSTR InfSectionWithExt,
1434  _In_ DWORD InfSectionWithExtSize,
1437 
1439 BOOL
1440 WINAPI
1442  _In_ HINF InfHandle,
1443  _In_ PCSTR InfSectionName,
1444  _In_opt_ PSP_ALTPLATFORM_INFO AlternatePlatformInfo,
1445  _Out_writes_opt_(InfSectionWithExtSize) PSTR InfSectionWithExt,
1446  _In_ DWORD InfSectionWithExtSize,
1450 
1452 BOOL
1453 WINAPI
1455  _In_ HINF InfHandle,
1456  _In_ PCWSTR InfSectionName,
1457  _In_opt_ PSP_ALTPLATFORM_INFO AlternatePlatformInfo,
1458  _Out_writes_opt_(InfSectionWithExtSize) PWSTR InfSectionWithExt,
1459  _In_ DWORD InfSectionWithExtSize,
1463 
1465 
1467 BOOL
1468 WINAPI
1470  _In_ CONST GUID *ClassGuid,
1471  _Out_writes_(ClassDescriptionSize) PSTR ClassDescription,
1472  _In_ DWORD ClassDescriptionSize,
1474 
1476 BOOL
1477 WINAPI
1479  _In_ CONST GUID *ClassGuid,
1480  _Out_writes_(ClassDescriptionSize) PWSTR ClassDescription,
1481  _In_ DWORD ClassDescriptionSize,
1483 
1485 BOOL
1486 WINAPI
1488  _In_ CONST GUID *ClassGuid,
1489  _Out_writes_(ClassDescriptionSize) PSTR ClassDescription,
1490  _In_ DWORD ClassDescriptionSize,
1494 
1496 BOOL
1497 WINAPI
1499  _In_ CONST GUID *ClassGuid,
1500  _Out_writes_(ClassDescriptionSize) PWSTR ClassDescription,
1501  _In_ DWORD ClassDescriptionSize,
1505 
1516 
1517 _Success_(return != FALSE)
1519 BOOL
1520 WINAPI
1527 
1528 _Success_(return != FALSE)
1530 BOOL
1531 WINAPI
1538 
1539 _Success_(return != FALSE)
1541 BOOL
1542 WINAPI
1543 SetupDiGetClassRegistryPropertyA(
1544  _In_ CONST GUID *ClassGuid,
1552 
1553 _Success_(return != FALSE)
1555 BOOL
1556 WINAPI
1557 SetupDiGetClassRegistryPropertyW(
1558  _In_ CONST GUID *ClassGuid,
1566 
1572 
1574 BOOL
1575 WINAPI
1579  _Out_writes_opt_(DeviceInstanceIdSize) PSTR DeviceInstanceId,
1580  _In_ DWORD DeviceInstanceIdSize,
1582 
1584 BOOL
1585 WINAPI
1589  _Out_writes_opt_(DeviceInstanceIdSize) PWSTR DeviceInstanceId,
1590  _In_ DWORD DeviceInstanceIdSize,
1592 
1594 
1595 _Success_(return != FALSE)
1596 _At_((LPSTR)DeviceInterfaceDetailData->DevicePath, _Post_z_)
1598 BOOL
1599 WINAPI
1602  _In_ PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
1603  _Inout_updates_bytes_to_opt_(DeviceInterfaceDetailDataSize, *RequiredSize) PSP_DEVICE_INTERFACE_DETAIL_DATA_A DeviceInterfaceDetailData,
1604  _In_ DWORD DeviceInterfaceDetailDataSize,
1607 
1608 _Success_(return != FALSE)
1609 _At_((LPWSTR)DeviceInterfaceDetailData->DevicePath, _Post_z_)
1611 BOOL
1612 WINAPI
1615  _In_ PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
1616  _Out_writes_bytes_to_opt_(DeviceInterfaceDetailDataSize, *RequiredSize) PSP_DEVICE_INTERFACE_DETAIL_DATA_W DeviceInterfaceDetailData,
1617  _In_ DWORD DeviceInterfaceDetailDataSize,
1620 
1621 _Success_(return != FALSE)
1622 _When_((*PropertyRegDataType == REG_SZ), _At_((PSTR) PropertyBuffer, _Post_valid_))
1625 BOOL
1626 WINAPI
1635 
1636 _Success_(return != FALSE)
1637 _When_((*PropertyRegDataType == REG_SZ), _At_((PWSTR) PropertyBuffer, _Post_valid_))
1640 BOOL
1641 WINAPI
1650 
1652 BOOL
1653 WINAPI
1657  _In_ PSP_DRVINFO_DATA_A DriverInfoData,
1658  _Inout_updates_bytes_opt_(DriverInfoDetailDataSize) PSP_DRVINFO_DETAIL_DATA_A DriverInfoDetailData,
1659  _In_ DWORD DriverInfoDetailDataSize,
1661 
1663 BOOL
1664 WINAPI
1668  _In_ PSP_DRVINFO_DATA_W DriverInfoData,
1669  _Inout_updates_bytes_opt_(DriverInfoDetailDataSize) PSP_DRVINFO_DETAIL_DATA_W DriverInfoDetailData,
1670  _In_ DWORD DriverInfoDetailDataSize,
1672 
1675 
1677 BOOL
1678 WINAPI
1680  _In_ DWORD HwProfile,
1681  _Out_writes_(FriendlyNameSize) PSTR FriendlyName,
1682  _In_ DWORD FriendlyNameSize,
1684 
1686 BOOL
1687 WINAPI
1689  _In_ DWORD HwProfile,
1690  _Out_writes_(FriendlyNameSize) PWSTR FriendlyName,
1691  _In_ DWORD FriendlyNameSize,
1693 
1695 BOOL
1696 WINAPI
1698  _In_ DWORD HwProfile,
1699  _Out_writes_(FriendlyNameSize) PSTR FriendlyName,
1700  _In_ DWORD FriendlyNameSize,
1704 
1706 BOOL
1707 WINAPI
1709  _In_ DWORD HwProfile,
1710  _Out_writes_(FriendlyNameSize) PWSTR FriendlyName,
1711  _In_ DWORD FriendlyNameSize,
1715 
1717 
1718 _Success_(return != FALSE)
1720 BOOL
1721 WINAPI
1722 SetupDiGetHwProfileList(
1727 
1728 _Success_(return != FALSE)
1730 BOOL
1731 WINAPI
1732 SetupDiGetHwProfileListExA(
1739 
1740 _Success_(return != FALSE)
1742 BOOL
1743 WINAPI
1744 SetupDiGetHwProfileListExW(
1751 
1753 BOOL
1754 WINAPI
1756  _In_ PCSTR InfName,
1757  _Out_ LPGUID ClassGuid,
1758  _Out_writes_(ClassNameSize) PSTR ClassName,
1759  _In_ DWORD ClassNameSize,
1761 
1763 BOOL
1764 WINAPI
1766  _In_ PCWSTR InfName,
1767  _Out_ LPGUID ClassGuid,
1768  _Out_writes_(ClassNameSize) PWSTR ClassName,
1769  _In_ DWORD ClassNameSize,
1771 
1802 
1804 BOOL
1805 WINAPI
1811 
1813 BOOL
1814 WINAPI
1820 
1822 BOOL
1823 WINAPI
1825  _In_ CONST GUID *ClassGuid,
1831 
1833 BOOL
1834 WINAPI
1836  _In_ CONST GUID *ClassGuid,
1842 
1845 
1847 BOOL
1848 WINAPI
1855 
1857 BOOL
1858 WINAPI
1865 
1883 
1884 _Success_(return != FALSE)
1886 BOOL
1887 WINAPI
1894 
1898 
1900 BOOL
1901 WINAPI
1903  _In_ PCSTR SourceFileName,
1904  _In_reads_opt_(ActualSourceFileNameBufferLen) PSTR ActualSourceFileNameBuffer,
1905  _In_ DWORD ActualSourceFileNameBufferLen,
1906  _Out_opt_ PDWORD RequiredBufferLen,
1907  _Out_ PDWORD SourceFileSize,
1908  _Out_ PDWORD TargetFileSize,
1909  _Out_ PUINT CompressionType);
1910 
1912 BOOL
1913 WINAPI
1915  _In_ PCWSTR SourceFileName,
1916  _In_reads_opt_(ActualSourceFileNameBufferLen) PWSTR ActualSourceFileNameBuffer,
1917  _In_ DWORD ActualSourceFileNameBufferLen,
1918  _Out_opt_ PDWORD RequiredBufferLen,
1919  _Out_ PDWORD SourceFileSize,
1920  _Out_ PDWORD TargetFileSize,
1921  _Out_ PUINT CompressionType);
1922 
1924 BOOL
1925 WINAPI
1927  _In_opt_ PCSTR DirectoryPath,
1928  _In_ DWORD InfStyle,
1929  _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer,
1932 
1934 BOOL
1935 WINAPI
1937  _In_opt_ PCWSTR DirectoryPath,
1938  _In_ DWORD InfStyle,
1939  _Out_writes_(ReturnBufferSize) PWSTR ReturnBuffer,
1942 
1943 _Success_(return != FALSE)
1945 BOOL
1946 WINAPI
1948  _In_ LPCVOID InfSpec,
1953 
1954 _Success_(return != FALSE)
1956 BOOL
1957 WINAPI
1959  _In_ LPCVOID InfSpec,
1964 
1970 
1972 BOOL
1973 WINAPI
1976  _In_opt_ HINF InfHandle,
1977  _In_opt_ PCSTR Section,
1978  _In_opt_ PCSTR Key,
1979  _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer,
1982 
1984 BOOL
1985 WINAPI
1988  _In_opt_ HINF InfHandle,
1989  _In_opt_ PCWSTR Section,
1991  _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer,
1994 
1996 BOOL
1997 WINAPI
2001  _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer,
2004 
2006 BOOL
2007 WINAPI
2011  _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer,
2014 
2016 BOOL
2017 WINAPI
2019  _In_ HINF InfHandle,
2020  _In_opt_ PINFCONTEXT InfContext,
2022  _Out_ PUINT SourceId,
2023  _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer,
2026 
2028 BOOL
2029 WINAPI
2031  _In_ HINF InfHandle,
2032  _In_opt_ PINFCONTEXT InfContext,
2034  _Out_ PUINT SourceId,
2035  _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer,
2038 
2041 
2043 BOOL
2044 WINAPI
2046  _In_ HINF InfHandle,
2047  _In_ UINT SourceId,
2048  _In_ UINT InfoDesired,
2049  _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer,
2052 
2054 BOOL
2055 WINAPI
2057  _In_ HINF InfHandle,
2058  _In_ UINT SourceId,
2059  _In_ UINT InfoDesired,
2060  _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer,
2063 
2065 BOOL
2066 WINAPI
2070  _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer,
2073 
2075 BOOL
2076 WINAPI
2080  _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer,
2083 
2085 BOOL
2086 WINAPI
2088  _In_ HINF InfHandle,
2089  _In_opt_ PINFCONTEXT InfContext,
2090  _In_opt_ PCSTR Section,
2091  _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer,
2094 
2096 BOOL
2097 WINAPI
2099  _In_ HINF InfHandle,
2100  _In_opt_ PINFCONTEXT InfContext,
2101  _In_opt_ PCWSTR Section,
2102  _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer,
2105 
2128 
2130 BOOL
2131 WINAPI
2134  _In_ HINF InfHandle,
2135  _Out_opt_ PUINT ErrorLine);
2136 
2138 BOOL
2139 WINAPI
2142  _In_ HINF InfHandle,
2143  _Out_opt_ PUINT ErrorLine);
2144 
2146 
2148 HINF
2149 WINAPI
2152  _In_opt_ PCSTR InfClass,
2153  _In_ DWORD InfStyle,
2154  _Out_opt_ PUINT ErrorLine);
2155 
2157 HINF
2158 WINAPI
2161  _In_opt_ PCWSTR InfClass,
2162  _In_ DWORD InfStyle,
2163  _Out_opt_ PUINT ErrorLine);
2164 
2167 
2169 UINT
2170 WINAPI
2173  _In_opt_ PCSTR DialogTitle,
2174  _In_opt_ PCSTR DiskName,
2175  _In_opt_ PCSTR PathToSource,
2176  _In_ PCSTR FileSought,
2177  _In_opt_ PCSTR TagFile,
2178  _In_ DWORD DiskPromptStyle,
2179  _Out_writes_opt_(PathBufferSize) PSTR PathBuffer,
2180  _In_ DWORD PathBufferSize,
2181  _Out_opt_ PDWORD PathRequiredSize);
2182 
2184 UINT
2185 WINAPI
2188  _In_opt_ PCWSTR DialogTitle,
2189  _In_opt_ PCWSTR DiskName,
2190  _In_opt_ PCWSTR PathToSource,
2191  _In_ PCWSTR FileSought,
2192  _In_opt_ PCWSTR TagFile,
2193  _In_ DWORD DiskPromptStyle,
2194  _Out_writes_opt_(PathBufferSize) PWSTR PathBuffer,
2195  _In_ DWORD PathBufferSize,
2196  _Out_opt_ PDWORD PathRequiredSize);
2197 
2201 
2203 BOOL
2204 WINAPI
2206  _In_ HDSKSPC DiskSpace,
2207  _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer,
2210 
2212 BOOL
2213 WINAPI
2215  _In_ HDSKSPC DiskSpace,
2216  _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer,
2219 
2221 BOOL
2222 WINAPI
2224  _In_ HSPFILELOG FileLogHandle,
2225  _In_opt_ PCSTR LogSectionName,
2226  _In_ PCSTR TargetFilename,
2227  _In_ SetupFileLogInfo DesiredInfo,
2231 
2233 BOOL
2234 WINAPI
2236  _In_ HSPFILELOG FileLogHandle,
2237  _In_opt_ PCWSTR LogSectionName,
2238  _In_ PCWSTR TargetFilename,
2239  _In_ SetupFileLogInfo DesiredInfo,
2243 
2245 BOOL
2246 WINAPI
2248  _In_ PSP_INF_INFORMATION InfInformation,
2249  _In_ UINT InfIndex,
2250  _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer,
2253 
2255 BOOL
2256 WINAPI
2258  _In_ PSP_INF_INFORMATION InfInformation,
2259  _In_ UINT InfIndex,
2260  _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer,
2263 
2265 BOOL
2266 WINAPI
2268  _In_ PSP_INF_INFORMATION InfInformation,
2269  _In_ UINT InfIndex,
2270  _In_opt_ PSP_ALTPLATFORM_INFO AlternatePlatformInfo,
2271  _Out_ PSP_ORIGINAL_FILE_INFO_A OriginalFileInfo);
2272 
2274 BOOL
2275 WINAPI
2277  _In_ PSP_INF_INFORMATION InfInformation,
2278  _In_ UINT InfIndex,
2279  _In_opt_ PSP_ALTPLATFORM_INFO AlternatePlatformInfo,
2280  _Out_ PSP_ORIGINAL_FILE_INFO_W OriginalFileInfo);
2281 
2283 BOOL
2284 WINAPI
2286  _In_ PSP_INF_INFORMATION InfInformation,
2287  _In_ UINT InfIndex,
2288  _In_opt_ PCSTR Key,
2289  _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer,
2292 
2294 BOOL
2295 WINAPI
2297  _In_ PSP_INF_INFORMATION InfInformation,
2298  _In_ UINT InfIndex,
2300  _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer,
2303 
2345 
2347 BOOL
2348 WINAPI
2350  _In_ DWORD Flags,
2353 
2355 BOOL
2356 WINAPI
2358  _In_ DWORD Flags,
2361 
2364 
2366 BOOL
2367 WINAPI
2369  _In_ PCSTR InfFileName,
2370  _In_ DWORD Flags,
2371  _In_ PVOID Reserved);
2372 
2374 BOOL
2375 WINAPI
2377  _In_ PCWSTR InfFileName,
2378  _In_ DWORD Flags,
2379  _In_ PVOID Reserved);
2380 
2382 
2383 
2397 
2398 
2411 
2412 WINSETUPAPI PSTR WINAPI pSetupUnicodeToMultiByte(PCWSTR lpUnicodeStr, UINT uCodePage);
2414 
2415 
2417 WINSETUPAPI PSTR WINAPI UnicodeToMultiByte(PCWSTR lpUnicodeStr, UINT uCodePage);
2418 
2419 
2420 /* for backward compatability */
2421 #define SetupDiCreateInterfaceDeviceW SetupDiCreateDeviceInterfaceW
2422 #define SetupDiCreateInterfaceDeviceRegKeyW SetupDiCreateDeviceInterfaceRegKeyW
2423 #define SetupDiOpenInterfaceDeviceW SetupDiOpenDeviceInterfaceW
2424 #define SetupDiGetInterfaceDeviceDetailW SetupDiGetDeviceInterfaceDetailW
2425 #define SetupDiCreateInterfaceDeviceA SetupDiCreateDeviceInterfaceA
2426 #define SetupDiCreateInterfaceDeviceRegKeyA SetupDiCreateDeviceInterfaceRegKeyA
2427 #define SetupDiOpenInterfaceDeviceA SetupDiOpenDeviceInterfaceA
2428 #define SetupDiGetInterfaceDeviceDetailA SetupDiGetDeviceInterfaceDetailA
2429 
2430 #ifdef UNICODE
2431 #define PSP_FILE_CALLBACK PSP_FILE_CALLBACK_W
2432 #define InstallHinfSection InstallHinfSectionW
2433 #define SetupAddInstallSectionToDiskSpaceList SetupAddInstallSectionToDiskSpaceListW
2434 #define SetupAddSectionToDiskSpaceList SetupAddSectionToDiskSpaceListW
2435 #define SetupAddToDiskSpaceList SetupAddToDiskSpaceListW
2436 #define SetupAddToSourceList SetupAddToSourceListW
2437 #define SetupAdjustDiskSpaceList SetupAdjustDiskSpaceListW
2438 #define SetupBackupError SetupBackupErrorW
2439 #define SetupCommitFileQueue SetupCommitFileQueueW
2440 #define SetupCopyError SetupCopyErrorW
2441 #define SetupCopyOEMInf SetupCopyOEMInfW
2442 #define SetupCreateDiskSpaceList SetupCreateDiskSpaceListW
2443 #define SetupDecompressOrCopyFile SetupDecompressOrCopyFileW
2444 #define SetupDefaultQueueCallback SetupDefaultQueueCallbackW
2445 #define SetupDeleteError SetupDeleteErrorW
2446 #define SetupDiBuildClassInfoListEx SetupDiBuildClassInfoListExW
2447 #define SetupDiClassGuidsFromNameEx SetupDiClassGuidsFromNameExW
2448 #define SetupDiClassGuidsFromName SetupDiClassGuidsFromNameW
2449 #define SetupDiClassNameFromGuidEx SetupDiClassNameFromGuidExW
2450 #define SetupDiClassNameFromGuid SetupDiClassNameFromGuidW
2451 #define SetupDiCreateDeviceInfoListEx SetupDiCreateDeviceInfoListExW
2452 #define SetupDiCreateDeviceInfo SetupDiCreateDeviceInfoW
2453 #define SetupDiCreateDeviceInterfaceRegKey SetupDiCreateDeviceInterfaceRegKeyW
2454 #define SetupDiCreateInterfaceDeviceRegKey SetupDiCreateDeviceInterfaceRegKeyW
2455 #define SetupDiCreateDeviceInterface SetupDiCreateDeviceInterfaceW
2456 #define SetupDiCreateInterfaceDevice SetupDiCreateDeviceInterfaceW
2457 #define SetupDiCreateDevRegKey SetupDiCreateDevRegKeyW
2458 #define SetupDiEnumDriverInfo SetupDiEnumDriverInfoW
2459 #define SetupDiGetActualSectionToInstall SetupDiGetActualSectionToInstallW
2460 #define SetupDiGetActualSectionToInstallEx SetupDiGetActualSectionToInstallExW
2461 #define SetupDiGetClassDescriptionEx SetupDiGetClassDescriptionExW
2462 #define SetupDiGetClassDescription SetupDiGetClassDescriptionW
2463 #define SetupDiGetClassDevPropertySheets SetupDiGetClassDevPropertySheetsW
2464 #define SetupDiGetClassDevsEx SetupDiGetClassDevsExW
2465 #define SetupDiGetClassDevs SetupDiGetClassDevsW
2466 #define SetupDiGetClassImageListEx SetupDiGetClassImageListExW
2467 #define SetupDiGetClassInstallParams SetupDiGetClassInstallParamsW
2468 #define SetupDiGetClassRegistryProperty SetupDiGetClassRegistryPropertyW
2469 #define SetupDiGetDeviceInfoListDetail SetupDiGetDeviceInfoListDetailW
2470 #define SetupDiGetDeviceInstallParams SetupDiGetDeviceInstallParamsW
2471 #define SetupDiGetDeviceInstanceId SetupDiGetDeviceInstanceIdW
2472 #define SetupDiGetDeviceInterfaceDetail SetupDiGetDeviceInterfaceDetailW
2473 #define SetupDiGetInterfaceDeviceDetail SetupDiGetDeviceInterfaceDetailW
2474 #define SetupDiGetDeviceRegistryProperty SetupDiGetDeviceRegistryPropertyW
2475 #define SetupDiGetDriverInfoDetail SetupDiGetDriverInfoDetailW
2476 #define SetupDiGetDriverInstallParams SetupDiGetDriverInstallParamsW
2477 #define SetupDiGetHwProfileFriendlyNameEx SetupDiGetHwProfileFriendlyNameExW
2478 #define SetupDiGetHwProfileFriendlyName SetupDiGetHwProfileFriendlyNameW
2479 #define SetupDiGetHwProfileListEx SetupDiGetHwProfileListExW
2480 #define SetupDiGetINFClass SetupDiGetINFClassW
2481 #define SetupDiGetSelectedDriver SetupDiGetSelectedDriverW
2482 #define SetupDiInstallClassEx SetupDiInstallClassExW
2483 #define SetupDiInstallClass SetupDiInstallClassW
2484 #define SetupDiOpenClassRegKeyEx SetupDiOpenClassRegKeyExW
2485 #define SetupDiOpenDeviceInfo SetupDiOpenDeviceInfoW
2486 #define SetupDiOpenDeviceInterface SetupDiOpenDeviceInterfaceW
2487 #define SetupDiOpenInterfaceDevice SetupDiOpenDeviceInterfaceW
2488 #define SetupDiSetClassInstallParams SetupDiSetClassInstallParamsW
2489 #define SetupDiSetClassRegistryProperty SetupDiSetClassRegistryPropertyW
2490 #define SetupDiSetDeviceInstallParams SetupDiSetDeviceInstallParamsW
2491 #define SetupDiSetDeviceRegistryProperty SetupDiSetDeviceRegistryPropertyW
2492 #define SetupDiSetDriverInstallParams SetupDiSetDriverInstallParamsW
2493 #define SetupDiSetSelectedDriver SetupDiSetSelectedDriverW
2494 #define SetupDuplicateDiskSpaceList SetupDuplicateDiskSpaceListW
2495 #define SetupFindFirstLine SetupFindFirstLineW
2496 #define SetupFindNextMatchLine SetupFindNextMatchLineW
2497 #define SetupFreeSourceList SetupFreeSourceListW
2498 #define SetupGetBackupInformation SetupGetBackupInformationW
2499 #define SetupGetFileCompressionInfo SetupGetFileCompressionInfoW
2500 #define SetupGetFileCompressionInfoEx SetupGetFileCompressionInfoExW
2501 #define SetupGetInfFileList SetupGetInfFileListW
2502 #define SetupGetInfInformation SetupGetInfInformationW
2503 #define SetupGetLineByIndex SetupGetLineByIndexW
2504 #define SetupGetLineCount SetupGetLineCountW
2505 #define SetupGetLineText SetupGetLineTextW
2506 #define SetupGetMultiSzField SetupGetMultiSzFieldW
2507 #define SetupGetSourceFileLocation SetupGetSourceFileLocationW
2508 #define SetupGetSourceFileSize SetupGetSourceFileSizeW
2509 #define SetupGetSourceInfo SetupGetSourceInfoW
2510 #define SetupGetStringField SetupGetStringFieldW
2511 #define SetupGetTargetPath SetupGetTargetPathW
2512 #define SetupInitializeFileLog SetupInitializeFileLogW
2513 #define SetupInstallFileEx SetupInstallFileExW
2514 #define SetupInstallFilesFromInfSection SetupInstallFilesFromInfSectionW
2515 #define SetupInstallFile SetupInstallFileW
2516 #define SetupInstallFromInfSection SetupInstallFromInfSectionW
2517 #define SetupInstallServicesFromInfSectionEx SetupInstallServicesFromInfSectionExW
2518 #define SetupInstallServicesFromInfSection SetupInstallServicesFromInfSectionW
2519 #define SetupIterateCabinet SetupIterateCabinetW
2520 #define SetupLogError SetupLogErrorW
2521 #define SetupLogFile SetupLogFileW
2522 #define SetupOpenAppendInfFile SetupOpenAppendInfFileW
2523 #define SetupOpenInfFile SetupOpenInfFileW
2524 #define SetupPromptForDisk SetupPromptForDiskW
2525 #define SetupQueryDrivesInDiskSpaceList SetupQueryDrivesInDiskSpaceListW
2526 #define SetupQueryFileLog SetupQueryFileLogW
2527 #define SetupQueryInfFileInformation SetupQueryInfFileInformationW
2528 #define SetupQueryInfOriginalFileInformation SetupQueryInfOriginalFileInformationW
2529 #define SetupQueryInfVersionInformation SetupQueryInfVersionInformationW
2530 #define SetupQuerySourceList SetupQuerySourceListW
2531 #define SetupQuerySpaceRequiredOnDrive SetupQuerySpaceRequiredOnDriveW
2532 #define SetupQueueCopyIndirect SetupQueueCopyIndirectW
2533 #define SetupQueueCopySection SetupQueueCopySectionW
2534 #define SetupQueueCopy SetupQueueCopyW
2535 #define SetupQueueDefaultCopy SetupQueueDefaultCopyW
2536 #define SetupQueueDeleteSection SetupQueueDeleteSectionW
2537 #define SetupQueueDelete SetupQueueDeleteW
2538 #define SetupQueueRenameSection SetupQueueRenameSectionW
2539 #define SetupQueueRename SetupQueueRenameW
2540 #define SetupRemoveFileLogEntry SetupRemoveFileLogEntryW
2541 #define SetupRemoveFromDiskSpaceList SetupRemoveFromDiskSpaceListW
2542 #define SetupRemoveFromSourceList SetupRemoveFromSourceListW
2543 #define SetupRemoveInstallSectionFromDiskSpaceList SetupRemoveInstallSectionFromDiskSpaceListW
2544 #define SetupRemoveSectionFromDiskSpaceList SetupRemoveSectionFromDiskSpaceListW
2545 #define SetupRenameError SetupRenameErrorW
2546 #define SetupScanFileQueue SetupScanFileQueueW
2547 #define SetupSetDirectoryIdEx SetupSetDirectoryIdExW
2548 #define SetupSetDirectoryId SetupSetDirectoryIdW
2549 #define SetupSetFileQueueAlternatePlatform SetupSetFileQueueAlternatePlatformW
2550 #define SetupSetPlatformPathOverride SetupSetPlatformPathOverrideW
2551 #define SetupSetSourceList SetupSetSourceListW
2552 #define SetupUninstallOEMInf SetupUninstallOEMInfW
2553 #else
2554 #define PSP_FILE_CALLBACK PSP_FILE_CALLBACK_A
2555 #define InstallHinfSection InstallHinfSectionA
2556 #define SetupAddInstallSectionToDiskSpaceList SetupAddInstallSectionToDiskSpaceListA
2557 #define SetupAddSectionToDiskSpaceList SetupAddSectionToDiskSpaceListA
2558 #define SetupAddToDiskSpaceList SetupAddToDiskSpaceListA
2559 #define SetupAddToSourceList SetupAddToSourceListA
2560 #define SetupAdjustDiskSpaceList SetupAdjustDiskSpaceListA
2561 #define SetupBackupError SetupBackupErrorA
2562 #define SetupCommitFileQueue SetupCommitFileQueueA
2563 #define SetupCopyError SetupCopyErrorA
2564 #define SetupCopyOEMInf SetupCopyOEMInfA
2565 #define SetupCreateDiskSpaceList SetupCreateDiskSpaceListA
2566 #define SetupDecompressOrCopyFile SetupDecompressOrCopyFileA
2567 #define SetupDefaultQueueCallback SetupDefaultQueueCallbackA
2568 #define SetupDeleteError SetupDeleteErrorA
2569 #define SetupDiBuildClassInfoListEx SetupDiBuildClassInfoListExA
2570 #define SetupDiClassGuidsFromName SetupDiClassGuidsFromNameA
2571 #define SetupDiClassGuidsFromNameEx SetupDiClassGuidsFromNameExA
2572 #define SetupDiClassNameFromGuid SetupDiClassNameFromGuidA
2573 #define SetupDiClassNameFromGuidEx SetupDiClassNameFromGuidExA
2574 #define SetupDiCreateDeviceInfo SetupDiCreateDeviceInfoA
2575 #define SetupDiCreateDeviceInfoListEx SetupDiCreateDeviceInfoListExA
2576 #define SetupDiCreateDeviceInterface SetupDiCreateDeviceInterfaceA
2577 #define SetupDiCreateInterfaceDevice SetupDiCreateDeviceInterfaceA
2578 #define SetupDiCreateDeviceInterfaceRegKey SetupDiCreateDeviceInterfaceRegKeyA
2579 #define SetupDiCreateInterfaceDeviceRegKey SetupDiCreateDeviceInterfaceRegKeyA
2580 #define SetupDiCreateDevRegKey SetupDiCreateDevRegKeyA
2581 #define SetupDiDeleteInterfaceDeviceData SetupDiDeleteDeviceInterfaceData
2582 #define SetupDiEnumDriverInfo SetupDiEnumDriverInfoA
2583 #define SetupDiGetActualSectionToInstall SetupDiGetActualSectionToInstallA
2584 #define SetupDiGetActualSectionToInstallEx SetupDiGetActualSectionToInstallExA
2585 #define SetupDiGetClassDescription SetupDiGetClassDescriptionA
2586 #define SetupDiGetClassDescriptionEx SetupDiGetClassDescriptionExA
2587 #define SetupDiGetClassDevPropertySheets SetupDiGetClassDevPropertySheetsA
2588 #define SetupDiGetClassDevs SetupDiGetClassDevsA
2589 #define SetupDiGetClassDevsEx SetupDiGetClassDevsExA
2590 #define SetupDiGetClassImageListEx SetupDiGetClassImageListExA
2591 #define SetupDiGetClassInstallParams SetupDiGetClassInstallParamsA
2592 #define SetupDiGetClassRegistryProperty SetupDiGetClassRegistryPropertyA
2593 #define SetupDiGetDeviceInfoListDetail SetupDiGetDeviceInfoListDetailA
2594 #define SetupDiGetDeviceInstallParams SetupDiGetDeviceInstallParamsA
2595 #define SetupDiGetDeviceInstanceId SetupDiGetDeviceInstanceIdA
2596 #define SetupDiGetDeviceInterfaceDetail SetupDiGetDeviceInterfaceDetailA
2597 #define SetupDiGetInterfaceDeviceDetail SetupDiGetDeviceInterfaceDetailA
2598 #define SetupDiGetDeviceRegistryProperty SetupDiGetDeviceRegistryPropertyA
2599 #define SetupDiGetDriverInfoDetail SetupDiGetDriverInfoDetailA
2600 #define SetupDiGetDriverInstallParams SetupDiGetDriverInstallParamsA
2601 #define SetupDiGetHwProfileFriendlyName SetupDiGetHwProfileFriendlyNameA
2602 #define SetupDiGetHwProfileFriendlyNameEx SetupDiGetHwProfileFriendlyNameExA
2603 #define SetupDiGetHwProfileListEx SetupDiGetHwProfileListExA
2604 #define SetupDiGetINFClass SetupDiGetINFClassA
2605 #define SetupDiGetSelectedDriver SetupDiGetSelectedDriverA
2606 #define SetupDiInstallClass SetupDiInstallClassA
2607 #define SetupDiInstallClassEx SetupDiInstallClassExA
2608 #define SetupDiOpenClassRegKeyEx SetupDiOpenClassRegKeyExA
2609 #define SetupDiOpenDeviceInfo SetupDiOpenDeviceInfoA
2610 #define SetupDiOpenDeviceInterface SetupDiOpenDeviceInterfaceA
2611 #define SetupDiOpenInterfaceDevice SetupDiOpenDeviceInterfaceA
2612 #define SetupDiSetClassInstallParams SetupDiSetClassInstallParamsA
2613 #define SetupDiSetClassRegistryProperty SetupDiSetClassRegistryPropertyA
2614 #define SetupDiSetDeviceInstallParams SetupDiSetDeviceInstallParamsA
2615 #define SetupDiSetDeviceRegistryProperty SetupDiSetDeviceRegistryPropertyA
2616 #define SetupDiSetDriverInstallParams SetupDiSetDriverInstallParamsA
2617 #define SetupDiSetSelectedDriver SetupDiSetSelectedDriverA
2618 #define SetupDuplicateDiskSpaceList SetupDuplicateDiskSpaceListA
2619 #define SetupFindFirstLine SetupFindFirstLineA
2620 #define SetupFindNextMatchLine SetupFindNextMatchLineA
2621 #define SetupFreeSourceList SetupFreeSourceListA
2622 #define SetupGetBackupInformation SetupGetBackupInformationA
2623 #define SetupGetFileCompressionInfo SetupGetFileCompressionInfoA
2624 #define SetupGetFileCompressionInfoEx SetupGetFileCompressionInfoExA
2625 #define SetupGetInfFileList SetupGetInfFileListA
2626 #define SetupGetInfInformation SetupGetInfInformationA
2627 #define SetupGetLineByIndex SetupGetLineByIndexA
2628 #define SetupGetLineCount SetupGetLineCountA
2629 #define SetupGetLineText SetupGetLineTextA
2630 #define SetupGetMultiSzField SetupGetMultiSzFieldA
2631 #define SetupGetSourceFileLocation SetupGetSourceFileLocationA
2632 #define SetupGetSourceFileSize SetupGetSourceFileSizeA
2633 #define SetupGetSourceInfo SetupGetSourceInfoA
2634 #define SetupGetStringField SetupGetStringFieldA
2635 #define SetupGetTargetPath SetupGetTargetPathA
2636 #define SetupInitializeFileLog SetupInitializeFileLogA
2637 #define SetupInstallFile SetupInstallFileA
2638 #define SetupInstallFileEx SetupInstallFileExA
2639 #define SetupInstallFilesFromInfSection SetupInstallFilesFromInfSectionA
2640 #define SetupInstallFromInfSection SetupInstallFromInfSectionA
2641 #define SetupInstallServicesFromInfSection SetupInstallServicesFromInfSectionA
2642 #define SetupInstallServicesFromInfSectionEx SetupInstallServicesFromInfSectionExA
2643 #define SetupIterateCabinet SetupIterateCabinetA
2644 #define SetupLogError SetupLogErrorA
2645 #define SetupLogFile SetupLogFileA
2646 #define SetupOpenAppendInfFile SetupOpenAppendInfFileA
2647 #define SetupOpenInfFile SetupOpenInfFileA
2648 #define SetupPromptForDisk SetupPromptForDiskA
2649 #define SetupQueryDrivesInDiskSpaceList SetupQueryDrivesInDiskSpaceListA
2650 #define SetupQueryFileLog SetupQueryFileLogA
2651 #define SetupQueryInfFileInformation SetupQueryInfFileInformationA
2652 #define SetupQueryInfOriginalFileInformation SetupQueryInfOriginalFileInformationA
2653 #define SetupQueryInfVersionInformation SetupQueryInfVersionInformationA
2654 #define SetupQuerySourceList SetupQuerySourceListA
2655 #define SetupQuerySpaceRequiredOnDrive SetupQuerySpaceRequiredOnDriveA
2656 #define SetupQueueCopy SetupQueueCopyA
2657 #define SetupQueueCopyIndirect SetupQueueCopyIndirectA
2658 #define SetupQueueCopySection SetupQueueCopySectionA
2659 #define SetupQueueDefaultCopy SetupQueueDefaultCopyA
2660 #define SetupQueueDelete SetupQueueDeleteA
2661 #define SetupQueueDeleteSection SetupQueueDeleteSectionA
2662 #define SetupQueueRename SetupQueueRenameA
2663 #define SetupQueueRenameSection SetupQueueRenameSectionA
2664 #define SetupRemoveFileLogEntry SetupRemoveFileLogEntryA
2665 #define SetupRemoveFromDiskSpaceList SetupRemoveFromDiskSpaceListA
2666 #define SetupRemoveFromSourceList SetupRemoveFromSourceListA
2667 #define SetupRemoveInstallSectionFromDiskSpaceList SetupRemoveInstallSectionFromDiskSpaceListA
2668 #define SetupRemoveSectionFromDiskSpaceList SetupRemoveSectionFromDiskSpaceListA
2669 #define SetupRenameError SetupRenameErrorA
2670 #define SetupScanFileQueue SetupScanFileQueueA
2671 #define SetupSetDirectoryId SetupSetDirectoryIdA
2672 #define SetupSetDirectoryIdEx SetupSetDirectoryIdExA
2673 #define SetupSetFileQueueAlternatePlatform SetupSetFileQueueAlternatePlatformA
2674 #define SetupSetPlatformPathOverride SetupSetPlatformPathOverrideA
2675 #define SetupSetSourceList SetupSetSourceListA
2676 #define SetupUninstallOEMInf SetupUninstallOEMInfA
2677 #endif /* UNICODE */
2678 
2679 #endif /* RC_INVOKED */
2680 
2681 #ifdef __cplusplus
2682 }
2683 #endif
2684 
2685 #include <poppack.h>
2686 #endif /* _SETUPAPI_H_ */
2687 
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:1048
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:1062
_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:855
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)
FILEPATHS_A * PFILEPATHS
Definition: setupapi.h:1139
WINSETUPAPI BOOL WINAPI SetupSetDirectoryIdExA(_In_ HINF, _In_ DWORD, _In_opt_ PCSTR, _In_ DWORD, _Reserved_ DWORD, _Reserved_ PVOID)
WCHAR MfgName[LINE_LEN]
Definition: setupapi.h:1012
struct _FILE_IN_CABINET_INFO_A * PFILE_IN_CABINET_INFO_A
SP_DRVINFO_DETAIL_DATA_A * PSP_DRVINFO_DETAIL_DATA
Definition: setupapi.h:1157
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:55
struct _SP_ORIGINAL_FILE_INFO_A SP_ORIGINAL_FILE_INFO_A
USHORT SetId
Definition: setupapi.h:773
WINSETUPAPI BOOL WINAPI SetupFreeA(PCSTR **, UINT)
PCSTR Description
Definition: setupapi.h:756
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:1103
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:877
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:688
PCWSTR SourceFile
Definition: setupapi.h:766
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)
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)
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:850
WCHAR HtmlTroubleShooter[MAX_PATH]
Definition: setupapi.h:987
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:761
SP_DEVICE_INTERFACE_DETAIL_DATA_A * PSP_DEVICE_INTERFACE_DETAIL_DATA
Definition: setupapi.h:1144
CHAR ChmFile[MAX_PATH]
Definition: setupapi.h:981
FILE_IN_CABINET_INFO_A FILE_IN_CABINET_INFO
Definition: setupapi.h:1142
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:45
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:770
WINSETUPAPI BOOL WINAPI SetupRemoveFromDiskSpaceListW(_In_ HDSKSPC, _In_ PCWSTR, _In_ UINT, _Reserved_ PVOID, _Reserved_ UINT)
uint16_t * PWSTR
Definition: typedefs.h:54
PCSTR Target
Definition: setupapi.h:742
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:929
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:3016
CHAR ListLabel[MAX_LABEL_LEN]
Definition: setupapi.h:930
#define _In_reads_(size)
Definition: no_sal2.h:228
PCSTR CabinetFile
Definition: setupapi.h:771
char CHAR
Definition: xmlstorage.h:175
PVOID InstallMsgHandlerContext
Definition: setupapi.h:879
#define _In_reads_bytes_opt_(size)
Definition: no_sal2.h:230
WINSETUPAPI DWORD WINAPI pSetupCaptureAndConvertAnsiArg(PCSTR, PWSTR *)
#define LogSeverity
Definition: setupapi.h:453
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:868
SP_CLASSINSTALL_HEADER ClassInstallHeader
Definition: setupapi.h:927
WINSETUPAPI HINF WINAPI SetupOpenInfFileA(_In_ PCSTR FileName, _In_opt_ PCSTR InfClass, _In_ DWORD InfStyle, _Out_opt_ PUINT ErrorLine)
WINSETUPAPI BOOL WINAPI SetupQueueCopyIndirectW(_In_ PSP_FILE_COPY_PARAMS_W)
WCHAR ListLabel[MAX_LABEL_LEN]
Definition: setupapi.h:938