comparison win32/setupapi.d @ 1:4a9dcbd9e54f

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