blob: 6aaa34360e982f6e9617f19541a73a918c239947 [file] [log] [blame]
Alexandre Julliard0799c1a2002-03-09 23:29:33 +00001/*
2 * Copyright (C) 2000 James Hatheway
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 */
James Hathewaycb655b02000-11-06 20:24:43 +000018
Alexandre Julliard50683472002-04-02 02:57:50 +000019#ifndef _INC_SETUPAPI
20#define _INC_SETUPAPI
James Hathewaycb655b02000-11-06 20:24:43 +000021
James Juranc85144b2001-01-17 20:17:46 +000022#include "commctrl.h"
23
James Hathewaycb655b02000-11-06 20:24:43 +000024/* Define type for handle to a loaded inf file */
25typedef PVOID HINF;
26
27/* Define type for handle to a device information set */
28typedef PVOID HDEVINFO;
29
James Juranc85144b2001-01-17 20:17:46 +000030/* Define type for setup file queue */
31typedef PVOID HSPFILEQ;
32
James Hathewaycb655b02000-11-06 20:24:43 +000033/* inf structure. */
34typedef struct _INFCONTEXT
35{
36 PVOID Inf;
37 PVOID CurrentInf;
38 UINT Section;
39 UINT Line;
40} INFCONTEXT, *PINFCONTEXT;
41
Alexandre Julliard50683472002-04-02 02:57:50 +000042typedef struct _SP_ALTPLATFORM_INFO_V2
43{
44 DWORD cbSize;
45 DWORD Platform;
46 DWORD MajorVersion;
47 DWORD MinorVersion;
48 WORD ProcessorArchitecture;
49 union
50 {
51 WORD Reserved;
52 WORD Flags;
53 } DUMMYUNIONNAME;
54 DWORD FirstValidatedMajorVersion;
55 DWORD FirstValidatedMinorVersion;
56} SP_ALTPLATFORM_INFO_V2, *PSP_ALTPLATFORM_INFO_V2;
57
58#define SP_ALTPLATFORM_FLAGS_VERSION_RANGE 0x0001
59
60typedef struct _SP_ALTPLATFORM_INFO_V1
61{
62 DWORD cbSize;
63 DWORD Platform;
64 DWORD MajorVersion;
65 DWORD MinorVersion;
66 WORD ProcessorArchitecture;
67 WORD Reserved;
68} SP_ALTPLATFORM_INFO_V1, *PSP_ALTPLATFORM_INFO_V1;
69
70typedef SP_ALTPLATFORM_INFO_V2 SP_ALTPLATFORM_INFO;
71typedef PSP_ALTPLATFORM_INFO_V2 PSP_ALTPLATFORM_INFO;
72
73typedef struct _SP_FILE_COPY_PARAMS_A
74{
75 DWORD cbSize;
76 HSPFILEQ QueueHandle;
77 PCSTR SourceRootPath;
78 PCSTR SourcePath;
79 PCSTR SourceFilename;
80 PCSTR SourceDescription;
81 PCSTR SourceTagfile;
82 PCSTR TargetDirectory;
83 PCSTR TargetFilename;
84 DWORD CopyStyle;
85 HINF LayoutInf;
86 PCSTR SecurityDescriptor;
87} SP_FILE_COPY_PARAMS_A, *PSP_FILE_COPY_PARAMS_A;
88
89typedef struct _SP_FILE_COPY_PARAMS_W
90{
91 DWORD cbSize;
92 HSPFILEQ QueueHandle;
93 PCWSTR SourceRootPath;
94 PCWSTR SourcePath;
95 PCWSTR SourceFilename;
96 PCWSTR SourceDescription;
97 PCWSTR SourceTagfile;
98 PCWSTR TargetDirectory;
99 PCWSTR TargetFilename;
100 DWORD CopyStyle;
101 HINF LayoutInf;
102 PCWSTR SecurityDescriptor;
103} SP_FILE_COPY_PARAMS_W, *PSP_FILE_COPY_PARAMS_W;
104
105DECL_WINELIB_TYPE_AW(SP_FILE_COPY_PARAMS_)
106DECL_WINELIB_TYPE_AW(PSP_FILE_COPY_PARAMS_)
107
Patrik Stridvallf94462f2002-01-31 23:22:07 +0000108typedef UINT (CALLBACK *PSP_FILE_CALLBACK_A)( PVOID Context, UINT Notification,
James Juranc85144b2001-01-17 20:17:46 +0000109 UINT Param1, UINT Param2 );
Patrik Stridvallf94462f2002-01-31 23:22:07 +0000110typedef UINT (CALLBACK *PSP_FILE_CALLBACK_W)( PVOID Context, UINT Notification,
James Juranc85144b2001-01-17 20:17:46 +0000111 UINT Param1, UINT Param2 );
112#define PSP_FILE_CALLBACK WINELIB_NAME_AW(PSP_FILE_CALLBACK_)
113
Alexandre Julliard50683472002-04-02 02:57:50 +0000114#define LINE_LEN 256
115#define MAX_INF_STRING_LENGTH 4096
116#define MAX_TITLE_LEN 60
117#define MAX_INSTRUCTION_LEN 256
118#define MAX_LABEL_LEN 30
119#define MAX_SERVICE_NAME_LEN 256
120#define MAX_SUBTITLE_LEN 256
121#define SP_MAX_MACHINENAME_LENGTH (MAX_PATH + 3)
James Juranc85144b2001-01-17 20:17:46 +0000122
James Hathewaycb655b02000-11-06 20:24:43 +0000123/* Device Information structure (references a device instance that is a member
124 of a device information set) */
125typedef struct _SP_DEVINFO_DATA
126{
127 DWORD cbSize;
128 GUID ClassGuid;
129 DWORD DevInst; /* DEVINST handle */
130 DWORD Reserved;
131} SP_DEVINFO_DATA, *PSP_DEVINFO_DATA;
132
Mike McCormacka8693252002-05-28 22:39:14 +0000133typedef struct _SP_DEVICE_INTERFACE_DATA
134{
135 DWORD cbSize;
136 GUID InterfaceClassGuid;
137 DWORD Flags;
138 ULONG_PTR Reserved;
139} SP_DEVICE_INTERFACE_DATA, *PSP_DEVICE_INTERFACE_DATA;
140
141typedef struct _SP_DEVICE_INTERFACE_DETAIL_DATAA
142{
143 DWORD cbSize;
144 CHAR DevicePath[ANYSIZE_ARRAY];
145} SP_DEVICE_INTERFACE_DETAIL_DATAA, *PSP_DEVICE_INTERFACE_DETAIL_DATAA;
146
147typedef struct _SP_DEVICE_INTERFACE_DETAIL_DATAW
148{
149 DWORD cbSize;
150 WCHAR DevicePath[ANYSIZE_ARRAY];
151} SP_DEVICE_INTERFACE_DETAIL_DATAW, *PSP_DEVICE_INTERFACE_DETAIL_DATAW;
152
153DECL_WINELIB_TYPE_AW(SP_DEVICE_INTERFACE_DETAIL_DATA)
154DECL_WINELIB_TYPE_AW(PSP_DEVICE_INTERFACE_DETAIL_DATA)
155
Alexandre Julliard50683472002-04-02 02:57:50 +0000156#define INF_STYLE_NONE 0x00
157#define INF_STYLE_OLDNT 0x01
158#define INF_STYLE_WIN4 0x02
159#define INF_STYLE_CACHE_ENABLE 0x10
160#define INF_STYLE_CACHE_DISABLE 0x20
161
162#define FILEOP_COPY 0
163#define FILEOP_RENAME 1
164#define FILEOP_DELETE 2
165#define FILEOP_BACKUP 3
166
167#define FILEOP_ABORT 0
168#define FILEOP_DOIT 1
169#define FILEOP_SKIP 2
170#define FILEOP_RETRY FILEOP_DOIT
171#define FILEOP_NEWPATH 4
172
173typedef struct _FILEPATHS_A
174{
175 PCSTR Target;
176 PCSTR Source;
177 UINT Win32Error;
178 DWORD Flags;
179} FILEPATHS_A, *PFILEPATHS_A;
180
181typedef struct _FILEPATHS_W
182{
183 PCWSTR Target;
184 PCWSTR Source;
185 UINT Win32Error;
186 DWORD Flags;
187} FILEPATHS_W, *PFILEPATHS_W;
188
189DECL_WINELIB_TYPE_AW(FILEPATHS_)
190DECL_WINELIB_TYPE_AW(PFILEPATHS_)
191
192#define SPFILENOTIFY_STARTQUEUE 0x0001
193#define SPFILENOTIFY_ENDQUEUE 0x0002
194#define SPFILENOTIFY_STARTSUBQUEUE 0x0003
195#define SPFILENOTIFY_ENDSUBQUEUE 0x0004
196#define SPFILENOTIFY_STARTDELETE 0x0005
197#define SPFILENOTIFY_ENDDELETE 0x0006
198#define SPFILENOTIFY_DELETEERROR 0x0007
199#define SPFILENOTIFY_STARTRENAME 0x0008
200#define SPFILENOTIFY_ENDRENAME 0x0009
201#define SPFILENOTIFY_RENAMEERROR 0x000a
202#define SPFILENOTIFY_STARTCOPY 0x000b
203#define SPFILENOTIFY_ENDCOPY 0x000c
204#define SPFILENOTIFY_COPYERROR 0x000d
205#define SPFILENOTIFY_NEEDMEDIA 0x000e
206#define SPFILENOTIFY_QUEUESCAN 0x000f
207#define SPFILENOTIFY_CABINETINFO 0x0010
208#define SPFILENOTIFY_FILEINCABINET 0x0011
209#define SPFILENOTIFY_NEEDNEWCABINET 0x0012
210#define SPFILENOTIFY_FILEEXTRACTED 0x0013
211#define SPFILENOTIFY_FILEOPDELAYED 0x0014
212#define SPFILENOTIFY_STARTBACKUP 0x0015
213#define SPFILENOTIFY_BACKUPERROR 0x0016
214#define SPFILENOTIFY_ENDBACKUP 0x0017
215#define SPFILENOTIFY_QUEUESCAN_EX 0x0018
216#define SPFILENOTIFY_STARTREGISTRATION 0x0019
217#define SPFILENOTIFY_ENDREGISTRATION 0x0020
218#define SPFILENOTIFY_QUEUESCAN_SIGNERINFO 0x0040
219
220#define SPFILENOTIFY_LANGMISMATCH 0x00010000
221#define SPFILENOTIFY_TARGETEXISTS 0x00020000
222#define SPFILENOTIFY_TARGETNEWER 0x00040000
223
224#define SPINST_LOGCONFIG 0x00000001
225#define SPINST_INIFILES 0x00000002
226#define SPINST_REGISTRY 0x00000004
227#define SPINST_INI2REG 0x00000008
228#define SPINST_FILES 0x00000010
229#define SPINST_BITREG 0x00000020
230#define SPINST_REGSVR 0x00000040
231#define SPINST_UNREGSVR 0x00000080
232#define SPINST_PROFILEITEMS 0x00000100
233#define SPINST_COPYINF 0x00000200
234#define SPINST_ALL 0x000003ff
235#define SPINST_SINGLESECTION 0x00010000
236#define SPINST_LOGCONFIG_IS_FORCED 0x00020000
237#define SPINST_LOGCONFIGS_ARE_OVERRIDES 0x00040000
238#define SPINST_REGISTERCALLBACKAWARE 0x00080000
239
240#define SP_COPY_DELETESOURCE 0x00000001
241#define SP_COPY_REPLACEONLY 0x00000002
242#define SP_COPY_NEWER 0x00000004
243#define SP_COPY_NEWER_OR_SAME SP_COPY_NEWER
244#define SP_COPY_NOOVERWRITE 0x00000008
245#define SP_COPY_NODECOMP 0x00000010
246#define SP_COPY_LANGUAGEAWARE 0x00000020
247#define SP_COPY_SOURCE_ABSOLUTE 0x00000040
248#define SP_COPY_SOURCEPATH_ABSOLUTE 0x00000080
249#define SP_COPY_IN_USE_NEEDS_REBOOT 0x00000100
250#define SP_COPY_FORCE_IN_USE 0x00000200
251#define SP_COPY_NOSKIP 0x00000400
252#define SP_FLAG_CABINETCONTINUATION 0x00000800
253#define SP_COPY_FORCE_NOOVERWRITE 0x00001000
254#define SP_COPY_FORCE_NEWER 0x00002000
255#define SP_COPY_WARNIFSKIP 0x00004000
256#define SP_COPY_NOBROWSE 0x00008000
257#define SP_COPY_NEWER_ONLY 0x00010000
258#define SP_COPY_SOURCE_SIS_MASTER 0x00020000
259#define SP_COPY_OEMINF_CATALOG_ONLY 0x00040000
260#define SP_COPY_REPLACE_BOOT_FILE 0x00080000
261#define SP_COPY_NOPRUNE 0x00100000
262#define SP_COPY_OEM_F6_INF 0x00200000
263
264#define FLG_ADDREG_DELREG_BIT 0x00008000
265#define FLG_ADDREG_BINVALUETYPE 0x00000001
266#define FLG_ADDREG_NOCLOBBER 0x00000002
267#define FLG_ADDREG_DELVAL 0x00000004
268#define FLG_ADDREG_APPEND 0x00000008
269#define FLG_ADDREG_KEYONLY 0x00000010
270#define FLG_ADDREG_OVERWRITEONLY 0x00000020
271#define FLG_ADDREG_64BITKEY 0x00001000
272#define FLG_ADDREG_KEYONLY_COMMON 0x00002000
273#define FLG_ADDREG_32BITKEY 0x00004000
274#define FLG_ADDREG_TYPE_SZ 0x00000000
275#define FLG_ADDREG_TYPE_MULTI_SZ 0x00010000
276#define FLG_ADDREG_TYPE_EXPAND_SZ 0x00020000
277#define FLG_ADDREG_TYPE_BINARY (0x00000000 | FLG_ADDREG_BINVALUETYPE)
278#define FLG_ADDREG_TYPE_DWORD (0x00010000 | FLG_ADDREG_BINVALUETYPE)
279#define FLG_ADDREG_TYPE_NONE (0x00020000 | FLG_ADDREG_BINVALUETYPE)
280#define FLG_ADDREG_TYPE_MASK (0xFFFF0000 | FLG_ADDREG_BINVALUETYPE)
281
282#define FLG_DELREG_VALUE (0x00000000)
283#define FLG_DELREG_TYPE_MASK FLG_ADDREG_TYPE_MASK
284#define FLG_DELREG_TYPE_SZ FLG_ADDREG_TYPE_SZ
285#define FLG_DELREG_TYPE_MULTI_SZ FLG_ADDREG_TYPE_MULTI_SZ
286#define FLG_DELREG_TYPE_EXPAND_SZ FLG_ADDREG_TYPE_EXPAND_SZ
287#define FLG_DELREG_TYPE_BINARY FLG_ADDREG_TYPE_BINARY
288#define FLG_DELREG_TYPE_DWORD FLG_ADDREG_TYPE_DWORD
289#define FLG_DELREG_TYPE_NONE FLG_ADDREG_TYPE_NONE
290#define FLG_DELREG_64BITKEY FLG_ADDREG_64BITKEY
291#define FLG_DELREG_KEYONLY_COMMON FLG_ADDREG_KEYONLY_COMMON
292#define FLG_DELREG_32BITKEY FLG_ADDREG_32BITKEY
293#define FLG_DELREG_OPERATION_MASK (0x000000FE)
294#define FLG_DELREG_MULTI_SZ_DELSTRING (FLG_DELREG_TYPE_MULTI_SZ | FLG_ADDREG_DELREG_BIT | 0x00000002)
295
296/* Class installer function codes */
297#define DIF_SELECTDEVICE 0x01
298#define DIF_INSTALLDEVICE 0x02
299#define DIF_ASSIGNRESOURCES 0x03
300#define DIF_PROPERTIES 0x04
301#define DIF_REMOVE 0x05
302#define DIF_FIRSTTIMESETUP 0x06
303#define DIF_FOUNDDEVICE 0x07
304#define DIF_SELECTCLASSDRIVERS 0x08
305#define DIF_VALIDATECLASSDRIVERS 0x09
306#define DIF_INSTALLCLASSDRIVERS 0x0a
307#define DIF_CALCDISKSPACE 0x0b
308#define DIF_DESTROYPRIVATEDATA 0x0c
309#define DIF_VALIDATEDRIVER 0x0d
310#define DIF_MOVEDEVICE 0x0e
311#define DIF_DETECT 0x0f
312#define DIF_INSTALLWIZARD 0x10
313#define DIF_DESTROYWIZARDDATA 0x11
314#define DIF_PROPERTYCHANGE 0x12
315#define DIF_ENABLECLASS 0x13
316#define DIF_DETECTVERIFY 0x14
317#define DIF_INSTALLDEVICEFILES 0x15
318#define DIF_UNREMOVE 0x16
319#define DIF_SELECTBESTCOMPATDRV 0x17
320#define DIF_ALLOW_INSTALL 0x18
321#define DIF_REGISTERDEVICE 0x19
322#define DIF_NEWDEVICEWIZARD_PRESELECT 0x1a
323#define DIF_NEWDEVICEWIZARD_SELECT 0x1b
324#define DIF_NEWDEVICEWIZARD_PREANALYZE 0x1c
325#define DIF_NEWDEVICEWIZARD_POSTANALYZE 0x1d
326#define DIF_NEWDEVICEWIZARD_FINISHINSTALL 0x1e
327#define DIF_UNUSED1 0x1f
328#define DIF_INSTALLINTERFACES 0x20
329#define DIF_DETECTCANCEL 0x21
330#define DIF_REGISTER_COINSTALLERS 0x22
331#define DIF_ADDPROPERTYPAGE_ADVANCED 0x23
332#define DIF_ADDPROPERTYPAGE_BASIC 0x24
333#define DIF_RESERVED1 0x25
334#define DIF_TROUBLESHOOTER 0x26
335#define DIF_POWERMESSAGEWAKE 0x27
336#define DIF_ADDREMOTEPROPERTYPAGE_ADVANCED 0x28
337#define DIF_UPDATEDRIVER_UI 0x29
338#define DIF_RESERVED2 0x30
339
340/* Directory ids */
341#define DIRID_ABSOLUTE (-1)
342#define DIRID_ABSOLUTE_16BIT 0xffff
343#define DIRID_NULL 0
344#define DIRID_SRCPATH 1
345#define DIRID_WINDOWS 10
346#define DIRID_SYSTEM 11
347#define DIRID_DRIVERS 12
348#define DIRID_IOSUBSYS DIRID_DRIVERS
349#define DIRID_INF 17
350#define DIRID_HELP 18
351#define DIRID_FONTS 20
352#define DIRID_VIEWERS 21
353#define DIRID_COLOR 23
354#define DIRID_APPS 24
355#define DIRID_SHARED 25
356#define DIRID_BOOT 30
357#define DIRID_SYSTEM16 50
358#define DIRID_SPOOL 51
359#define DIRID_SPOOLDRIVERS 52
360#define DIRID_USERPROFILE 53
361#define DIRID_LOADER 54
362#define DIRID_PRINTPROCESSOR 55
363#define DIRID_DEFAULT DIRID_SYSTEM
364
365#define DIRID_COMMON_STARTMENU 16406
366#define DIRID_COMMON_PROGRAMS 16407
367#define DIRID_COMMON_STARTUP 16408
368#define DIRID_COMMON_DESKTOPDIRECTORY 16409
369#define DIRID_COMMON_FAVORITES 16415
370#define DIRID_COMMON_APPDATA 16419
371#define DIRID_PROGRAM_FILES 16422
372#define DIRID_SYSTEM_X86 16425
373#define DIRID_PROGRAM_FILES_X86 16426
374#define DIRID_PROGRAM_FILES_COMMON 16427
375#define DIRID_PROGRAM_FILES_COMMONX86 16428
376#define DIRID_COMMON_TEMPLATES 16429
377#define DIRID_COMMON_DOCUMENTS 16430
378
379#define DIRID_USER 0x8000
380
381
382/* Error code */
383
384#define ERROR_EXPECTED_SECTION_NAME (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0)
385#define ERROR_BAD_SECTION_NAME_LINE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|1)
386#define ERROR_SECTION_NAME_TOO_LONG (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|2)
387#define ERROR_GENERAL_SYNTAX (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|3)
388#define ERROR_WRONG_INF_STYLE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x100)
389#define ERROR_SECTION_NOT_FOUND (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x101)
390#define ERROR_LINE_NOT_FOUND (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x102)
391#define ERROR_NO_BACKUP (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x103)
392#define ERROR_NO_ASSOCIATED_CLASS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x200)
393#define ERROR_CLASS_MISMATCH (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x201)
394#define ERROR_DUPLICATE_FOUND (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x202)
395#define ERROR_NO_DRIVER_SELECTED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x203)
396#define ERROR_KEY_DOES_NOT_EXIST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x204)
397#define ERROR_INVALID_DEVINST_NAME (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x205)
398#define ERROR_INVALID_CLASS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x206)
399#define ERROR_DEVINST_ALREADY_EXISTS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x207)
400#define ERROR_DEVINFO_NOT_REGISTERED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x208)
401#define ERROR_INVALID_REG_PROPERTY (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x209)
402#define ERROR_NO_INF (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20A)
403#define ERROR_NO_SUCH_DEVINST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20B)
404#define ERROR_CANT_LOAD_CLASS_ICON (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20C)
405#define ERROR_INVALID_CLASS_INSTALLER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20D)
406#define ERROR_DI_DO_DEFAULT (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20E)
407#define ERROR_DI_NOFILECOPY (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20F)
408#define ERROR_INVALID_HWPROFILE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x210)
409#define ERROR_NO_DEVICE_SELECTED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x211)
410#define ERROR_DEVINFO_LIST_LOCKED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x212)
411#define ERROR_DEVINFO_DATA_LOCKED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x213)
412#define ERROR_DI_BAD_PATH (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x214)
413#define ERROR_NO_CLASSINSTALL_PARAMS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x215)
414#define ERROR_FILEQUEUE_LOCKED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x216)
415#define ERROR_BAD_SERVICE_INSTALLSECT (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x217)
416#define ERROR_NO_CLASS_DRIVER_LIST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x218)
417#define ERROR_NO_ASSOCIATED_SERVICE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x219)
418#define ERROR_NO_DEFAULT_DEVICE_INTERFACE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21A)
419#define ERROR_DEVICE_INTERFACE_ACTIVE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21B)
420#define ERROR_DEVICE_INTERFACE_REMOVED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21C)
421#define ERROR_BAD_INTERFACE_INSTALLSECT (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21D)
422#define ERROR_NO_SUCH_INTERFACE_CLASS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21E)
423#define ERROR_INVALID_REFERENCE_STRING (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21F)
424#define ERROR_INVALID_MACHINENAME (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x220)
425#define ERROR_REMOTE_COMM_FAILURE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x221)
426#define ERROR_MACHINE_UNAVAILABLE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x222)
427#define ERROR_NO_CONFIGMGR_SERVICES (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x223)
428#define ERROR_INVALID_PROPPAGE_PROVIDER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x224)
429#define ERROR_NO_SUCH_DEVICE_INTERFACE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x225)
430#define ERROR_DI_POSTPROCESSING_REQUIRED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x226)
431#define ERROR_INVALID_COINSTALLER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x227)
432#define ERROR_NO_COMPAT_DRIVERS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x228)
433#define ERROR_NO_DEVICE_ICON (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x229)
434#define ERROR_INVALID_INF_LOGCONFIG (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22A)
435#define ERROR_DI_DONT_INSTALL (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22B)
436#define ERROR_INVALID_FILTER_DRIVER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22C)
437#define ERROR_NON_WINDOWS_NT_DRIVER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22D)
438#define ERROR_NON_WINDOWS_DRIVER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22E)
439#define ERROR_NO_CATALOG_FOR_OEM_INF (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22F)
440#define ERROR_DEVINSTALL_QUEUE_NONNATIVE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x230)
441#define ERROR_NOT_DISABLEABLE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x231)
442#define ERROR_CANT_REMOVE_DEVINST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x232)
443#define ERROR_INVALID_TARGET (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x233)
444#define ERROR_DRIVER_NONNATIVE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x234)
445#define ERROR_IN_WOW64 (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x235)
446#define ERROR_SET_SYSTEM_RESTORE_POINT (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x236)
447#define ERROR_INCORRECTLY_COPIED_INF (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x237)
448#define ERROR_SCE_DISABLED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x238)
449#define ERROR_NO_DEFAULT_INTERFACE_DEVICE ERROR_NO_DEFAULT_DEVICE_INTERFACE
450#define ERROR_INTERFACE_DEVICE_ACTIVE ERROR_DEVICE_INTERFACE_ACTIVE
451#define ERROR_INTERFACE_DEVICE_REMOVED ERROR_DEVICE_INTERFACE_REMOVED
452#define ERROR_NO_SUCH_INTERFACE_DEVICE ERROR_NO_SUCH_DEVICE_INTERFACE
453#define ERROR_NOT_INSTALLED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x1000)
454
Sander van Leeuwen8e35fe42002-06-20 22:42:41 +0000455HINF WINAPI SetupOpenInfFileA( PCSTR name, PCSTR pszclass, DWORD style, UINT *error );
456HINF WINAPI SetupOpenInfFileW( PCWSTR name, PCWSTR pszclass, DWORD style, UINT *error );
Alexandre Julliard50683472002-04-02 02:57:50 +0000457#define SetupOpenInfFile WINELIB_NAME_AW(SetupOpenInfFile)
458BOOL WINAPI SetupOpenAppendInfFileA( PCSTR, HINF, UINT * );
459BOOL WINAPI SetupOpenAppendInfFileW( PCWSTR, HINF, UINT * );
460#define SetupOpenAppendInfFile WINELIB_NAME_AW(SetupOpenAppendInfFile)
461void WINAPI SetupCloseInfFile( HINF hinf );
462BOOL WINAPI SetupGetLineByIndexA( HINF, PCSTR, DWORD, INFCONTEXT * );
463BOOL WINAPI SetupGetLineByIndexW( HINF, PCWSTR, DWORD, INFCONTEXT * );
464#define SetupGetLineByIndex WINELIB_NAME_AW(SetupGetLineByIndex)
465LONG WINAPI SetupGetLineCountA( HINF hinf, PCSTR section );
466LONG WINAPI SetupGetLineCountW( HINF hinf, PCWSTR section );
467#define SetupGetLineCount WINELIB_NAME_AW(SetupGetLineCount)
468BOOL WINAPI SetupFindFirstLineA( HINF hinf, PCSTR section, PCSTR key, INFCONTEXT *context );
469BOOL WINAPI SetupFindFirstLineW( HINF hinf, PCWSTR section, PCWSTR key, INFCONTEXT *context );
470#define SetupFindFirstLine WINELIB_NAME_AW(SetupFindFirstLine)
471BOOL WINAPI SetupFindNextLine( const INFCONTEXT *, INFCONTEXT * );
472BOOL WINAPI SetupFindNextMatchLineA( const INFCONTEXT *, PCSTR, INFCONTEXT * );
473BOOL WINAPI SetupFindNextMatchLineW( const INFCONTEXT *, PCWSTR, INFCONTEXT * );
474#define SetupFindNextMatchLine WINELIB_NAME_AW(SetupFindNextMatchLine)
475BOOL WINAPI SetupGetLineTextA( const INFCONTEXT *, HINF, PCSTR, PCSTR, PSTR, DWORD, DWORD * );
476BOOL WINAPI SetupGetLineTextW( const INFCONTEXT *, HINF, PCWSTR, PCWSTR, PWSTR, DWORD, DWORD * );
477#define SetupGetLineText WINELIB_NAME_AW(SetupGetLineText)
478DWORD WINAPI SetupGetFieldCount( const INFCONTEXT * );
479BOOL WINAPI SetupGetIntField( const INFCONTEXT *, DWORD, INT * );
480BOOL WINAPI SetupGetStringFieldA( const INFCONTEXT *, DWORD, PSTR, DWORD, DWORD * );
481BOOL WINAPI SetupGetStringFieldW( const INFCONTEXT *, DWORD, PWSTR, DWORD, DWORD * );
482#define SetupGetStringField WINELIB_NAME_AW(SetupGetStringField)
483BOOL WINAPI SetupGetBinaryField( const INFCONTEXT *, DWORD, BYTE *, DWORD, DWORD * );
484BOOL WINAPI SetupGetMultiSzFieldA( const INFCONTEXT *, DWORD, PSTR, DWORD, DWORD * );
485BOOL WINAPI SetupGetMultiSzFieldW( const INFCONTEXT *, DWORD, PWSTR, DWORD, DWORD * );
486#define SetupGetMultiSzField WINELIB_NAME_AW(SetupGetMultiSzField)
487BOOL WINAPI SetupSetDirectoryIdA( HINF, DWORD, PCSTR );
488BOOL WINAPI SetupSetDirectoryIdW( HINF, DWORD, PCWSTR );
489#define SetupSetDirectoryId WINELIB_NAME_AW(SetupSetDirectoryId)
490HSPFILEQ WINAPI SetupOpenFileQueue(void);
491BOOL WINAPI SetupCloseFileQueue( HSPFILEQ );
492BOOL WINAPI SetupSetFileQueueAlternatePlatformA( HSPFILEQ, PSP_ALTPLATFORM_INFO, PCSTR );
493BOOL WINAPI SetupSetFileQueueAlternatePlatformW( HSPFILEQ, PSP_ALTPLATFORM_INFO, PCWSTR );
494#define SetupSetFileQueueAlternatePlatform WINELIB_NAME_AW(SetupSetFileQueueAlternatePlatform)
495BOOL WINAPI SetupQueueCopyA(HSPFILEQ,PCSTR,PCSTR,PCSTR,PCSTR,PCSTR,PCSTR,PCSTR,DWORD);
496BOOL WINAPI SetupQueueCopyW(HSPFILEQ,PCWSTR,PCWSTR,PCWSTR,PCWSTR,PCWSTR,PCWSTR,PCWSTR,DWORD);
497#define SetupQueueCopy WINELIB_NAME_AW(SetupQueueCopy)
498BOOL WINAPI SetupQueueCopyIndirectA( PSP_FILE_COPY_PARAMS_A );
499BOOL WINAPI SetupQueueCopyIndirectW( PSP_FILE_COPY_PARAMS_W );
500#define SetupQueueCopyIndirect WINELIB_NAME_AW(SetupQueueCopyIndirect)
501BOOL WINAPI SetupQueueDefaultCopyA( HSPFILEQ, HINF, PCSTR, PCSTR, PCSTR, DWORD );
502BOOL WINAPI SetupQueueDefaultCopyW( HSPFILEQ, HINF, PCWSTR, PCWSTR, PCWSTR, DWORD );
503#define SetupQueueDefaultCopy WINELIB_NAME_AW(SetupQueueDefaultCopy)
504BOOL WINAPI SetupQueueDeleteA( HSPFILEQ, PCSTR, PCSTR );
505BOOL WINAPI SetupQueueDeleteW( HSPFILEQ, PCWSTR, PCWSTR );
506#define SetupQueueDelete WINELIB_NAME_AW(SetupQueueDelete)
507BOOL WINAPI SetupQueueRenameA( HSPFILEQ, PCSTR, PCSTR, PCSTR, PCSTR );
508BOOL WINAPI SetupQueueRenameW( HSPFILEQ, PCWSTR, PCWSTR, PCWSTR, PCWSTR );
509#define SetupQueueRename WINELIB_NAME_AW(SetupQueueRename)
510BOOL WINAPI SetupCommitFileQueueA( HWND, HSPFILEQ, PSP_FILE_CALLBACK_A, PVOID );
511BOOL WINAPI SetupCommitFileQueueW( HWND, HSPFILEQ, PSP_FILE_CALLBACK_W, PVOID );
512#define SetupCommitFileQueue WINELIB_NAME_AW(SetupCommitFileQueue)
513BOOL WINAPI SetupScanFileQueueA( HSPFILEQ, DWORD, HWND, PSP_FILE_CALLBACK_A, PVOID, PDWORD );
514BOOL WINAPI SetupScanFileQueueW( HSPFILEQ, DWORD, HWND, PSP_FILE_CALLBACK_W, PVOID, PDWORD );
515#define SetupScanFileQueue WINELIB_NAME_AW(SetupScanFileQueue)
516BOOL WINAPI SetupGetFileQueueCount( HSPFILEQ, UINT, PUINT );
517BOOL WINAPI SetupGetFileQueueFlags( HSPFILEQ, PDWORD );
518BOOL WINAPI SetupSetFileQueueFlags( HSPFILEQ, DWORD, DWORD );
519BOOL WINAPI SetupQueueCopySectionA( HSPFILEQ, PCSTR, HINF, HINF, PCSTR, DWORD );
520BOOL WINAPI SetupQueueCopySectionW( HSPFILEQ, PCWSTR, HINF, HINF, PCWSTR, DWORD );
521#define SetupQueueCopySection WINELIB_NAME_AW(SetupQueueCopySection)
522BOOL WINAPI SetupQueueDeleteSectionA( HSPFILEQ, HINF, HINF, PCSTR );
523BOOL WINAPI SetupQueueDeleteSectionW( HSPFILEQ, HINF, HINF, PCWSTR );
524#define SetupQueueDeleteSection WINELIB_NAME_AW(SetupQueueDeleteSection)
525BOOL WINAPI SetupQueueRenameSectionA( HSPFILEQ, HINF, HINF, PCSTR );
526BOOL WINAPI SetupQueueRenameSectionW( HSPFILEQ, HINF, HINF, PCWSTR );
527#define SetupQueueRenameSection WINELIB_NAME_AW(SetupQueueRenameSection)
528PVOID WINAPI SetupInitDefaultQueueCallback( HWND );
529PVOID WINAPI SetupInitDefaultQueueCallbackEx( HWND, HWND, UINT, DWORD, PVOID );
530void WINAPI SetupTermDefaultQueueCallback( PVOID );
531UINT WINAPI SetupDefaultQueueCallbackA( PVOID, UINT, UINT_PTR, UINT_PTR );
532UINT WINAPI SetupDefaultQueueCallbackW( PVOID, UINT, UINT_PTR, UINT_PTR );
533#define SetupDefaultQueueCallback WINELIB_NAME_AW(SetupDefaultQueueCallback)
534BOOL WINAPI SetupInstallFilesFromInfSectionA( HINF, HINF, HSPFILEQ, PCSTR, PCSTR, UINT );
535BOOL WINAPI SetupInstallFilesFromInfSectionW( HINF, HINF, HSPFILEQ, PCWSTR, PCWSTR, UINT );
536#define SetupInstallFilesFromInfSection WINELIB_NAME_AW(SetupInstallFilesFromInfSection)
537BOOL WINAPI SetupInstallFromInfSectionA(HWND,HINF,PCSTR,UINT,HKEY,PCSTR,UINT,
538 PSP_FILE_CALLBACK_A,PVOID,HDEVINFO,PSP_DEVINFO_DATA);
539BOOL WINAPI SetupInstallFromInfSectionW(HWND,HINF,PCWSTR,UINT,HKEY,PCWSTR,UINT,
540 PSP_FILE_CALLBACK_W,PVOID,HDEVINFO,PSP_DEVINFO_DATA);
541#define SetupInstallFromInfSection WINELIB_NAME_AW(SetupInstallFromInfSection)
542
543
544#endif /* _INC_SETUPAPI */