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