adding missing dx headers
[reactos.git] / reactos / w32api / include / msiquery.h
1 /*
2 * Copyright (C) 2002,2003 Mike McCormack
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 */
18
19 #ifndef __WINE_MSIQUERY_H
20 #define __WINE_MSIQUERY_H
21
22 #include <msi.h>
23
24 typedef enum tagMSICONDITION
25 {
26 MSICONDITION_FALSE = 0,
27 MSICONDITION_TRUE = 1,
28 MSICONDITION_NONE = 2,
29 MSICONDITION_ERROR = 3,
30 } MSICONDITION;
31
32 #define MSI_NULL_INTEGER 0x80000000
33
34 typedef enum tagMSICOLINFO
35 {
36 MSICOLINFO_NAMES = 0,
37 MSICOLINFO_TYPES = 1
38 } MSICOLINFO;
39
40 typedef enum tagMSIMODIFY
41 {
42 MSIMODIFY_REFRESH = 0,
43 MSIMODIFY_INSERT = 1,
44 MSIMODIFY_UPDATE = 2,
45 MSIMODIFY_ASSIGN = 3,
46 MSIMODIFY_REPLACE = 4,
47 MSIMODIFY_MERGE = 5,
48 MSIMODIFY_DELETE = 6,
49 MSIMODIFY_INSERT_TEMPORARY = 7,
50 MSIMODIFY_VALIDATE = 8,
51 MSIMODIFY_VALIDATE_NEW = 9,
52 MSIMODIFY_VALIDATE_FIELD = 10,
53 MSIMODIFY_VALIDATE_DELETE = 11
54 } MSIMODIFY;
55
56 #ifndef __WINESRC__
57 #define MSIDBOPEN_READONLY (LPCTSTR)0
58 #define MSIDBOPEN_TRANSACT (LPCTSTR)1
59 #define MSIDBOPEN_DIRECT (LPCTSTR)2
60 #define MSIDBOPEN_CREATE (LPCTSTR)3
61 #define MSIDBOPEN_CREATEDIRECT (LPCTSTR)4
62 #else
63 #define MSIDBOPEN_READONLY (LPCWSTR)0
64 #define MSIDBOPEN_TRANSACT (LPCWSTR)1
65 #define MSIDBOPEN_DIRECT (LPCWSTR)2
66 #define MSIDBOPEN_CREATE (LPCWSTR)3
67 #define MSIDBOPEN_CREATEDIRECT (LPCWSTR)4
68 #endif
69
70 typedef enum tagMSIRUNMODE
71 {
72 MSIRUNMODE_ADMIN = 0,
73 MSIRUNMODE_ADVERTISE = 1,
74 MSIRUNMODE_MAINTENANCE = 2,
75 MSIRUNMODE_ROLLBACKENABLED = 3,
76 MSIRUNMODE_LOGENABLED = 4,
77 MSIRUNMODE_OPERATIONS = 5,
78 MSIRUNMODE_REBOOTATEND = 6,
79 MSIRUNMODE_REBOOTNOW = 7,
80 MSIRUNMODE_CABINET = 8,
81 MSIRUNMODE_SOURCESHORTNAMES = 9,
82 MSIRUNMODE_TARGETSHORTNAMES = 10,
83 MSIRUNMODE_RESERVED11 = 11,
84 MSIRUNMODE_WINDOWS9X = 12,
85 MSIRUNMODE_ZAWENABLED = 13,
86 MSIRUNMODE_RESERVED14 = 14,
87 MSIRUNMODE_RESERVED15 = 15,
88 MSIRUNMODE_SCHEDULED = 16,
89 MSIRUNMODE_ROLLBACK = 17,
90 MSIRUNMODE_COMMIT = 18
91 } MSIRUNMODE;
92
93 typedef enum tagMSIDBERROR
94 {
95 MSIDBERROR_INVALIDARG = -3,
96 MSIDBERROR_MOREDATA = -2,
97 MSIDBERROR_FUNCTIONERROR = -1,
98 MSIDBERROR_NOERROR = 0,
99 MSIDBERROR_DUPLICATEKEY = 1,
100 MSIDBERROR_REQUIRED = 2,
101 MSIDBERROR_BADLINK = 3,
102 MSIDBERROR_OVERFLOW = 4,
103 MSIDBERROR_UNDERFLOW = 5,
104 MSIDBERROR_NOTINSET = 6,
105 MSIDBERROR_BADVERSION = 7,
106 MSIDBERROR_BADCASE = 8,
107 MSIDBERROR_BADGUID = 9,
108 MSIDBERROR_BADWILDCARD = 10,
109 MSIDBERROR_BADIDENTIFIER = 11,
110 MSIDBERROR_BADLANGUAGE = 12,
111 MSIDBERROR_BADFILENAME = 13,
112 MSIDBERROR_BADPATH = 14,
113 MSIDBERROR_BADCONDITION = 15,
114 MSIDBERROR_BADFORMATTED = 16,
115 MSIDBERROR_BADTEMPLATE = 17,
116 MSIDBERROR_BADDEFAULTDIR = 18,
117 MSIDBERROR_BADREGPATH = 19,
118 MSIDBERROR_BADCUSTOMSOURCE = 20,
119 MSIDBERROR_BADPROPERTY = 21,
120 MSIDBERROR_MISSINGDATA = 22,
121 MSIDBERROR_BADCATEGORY = 23,
122 MSIDBERROR_BADKEYTABLE = 24,
123 MSIDBERROR_BADMAXMINVALUES = 25,
124 MSIDBERROR_BADCABINET = 26,
125 MSIDBERROR_BADSHORTCUT= 27,
126 MSIDBERROR_STRINGOVERFLOW = 28,
127 MSIDBERROR_BADLOCALIZEATTRIB = 29
128 } MSIDBERROR;
129
130 /* view manipulation */
131 UINT WINAPI MsiViewFetch(MSIHANDLE,MSIHANDLE*);
132 UINT WINAPI MsiViewExecute(MSIHANDLE,MSIHANDLE);
133 UINT WINAPI MsiViewClose(MSIHANDLE);
134 UINT WINAPI MsiDatabaseOpenViewA(MSIHANDLE,LPCSTR,MSIHANDLE*);
135 UINT WINAPI MsiDatabaseOpenViewW(MSIHANDLE,LPCWSTR,MSIHANDLE*);
136 #define MsiDatabaseOpenView WINELIB_NAME_AW(MsiDatabaseOpenView)
137 MSIDBERROR WINAPI MsiViewGetErrorA(MSIHANDLE,LPSTR,DWORD*);
138 MSIDBERROR WINAPI MsiViewGetErrorW(MSIHANDLE,LPWSTR,DWORD*);
139 #define MsiViewGetError WINELIB_NAME_AW(MsiViewGetError)
140
141 /* record manipulation */
142 MSIHANDLE WINAPI MsiCreateRecord(unsigned int);
143 UINT WINAPI MsiRecordClearData(MSIHANDLE);
144 UINT WINAPI MsiRecordSetInteger(MSIHANDLE,unsigned int,int);
145 UINT WINAPI MsiRecordSetStringA(MSIHANDLE,unsigned int,LPCSTR);
146 UINT WINAPI MsiRecordSetStringW(MSIHANDLE,unsigned int,LPCWSTR);
147 #define MsiRecordSetString WINELIB_NAME_AW(MsiRecordSetString)
148 UINT WINAPI MsiRecordGetStringA(MSIHANDLE,unsigned int,LPSTR,DWORD*);
149 UINT WINAPI MsiRecordGetStringW(MSIHANDLE,unsigned int,LPWSTR,DWORD*);
150 #define MsiRecordGetString WINELIB_NAME_AW(MsiRecordGetString)
151 UINT WINAPI MsiRecordGetFieldCount(MSIHANDLE);
152 int WINAPI MsiRecordGetInteger(MSIHANDLE,unsigned int);
153 UINT WINAPI MsiRecordDataSize(MSIHANDLE,unsigned int);
154 BOOL WINAPI MsiRecordIsNull(MSIHANDLE,unsigned int);
155 UINT WINAPI MsiFormatRecordA(MSIHANDLE,MSIHANDLE,LPSTR,DWORD*);
156 UINT WINAPI MsiFormatRecordW(MSIHANDLE,MSIHANDLE,LPWSTR,DWORD*);
157 #define MsiFormatRecord WINELIB_NAME_AW(MsiFormatRecord)
158 UINT WINAPI MsiRecordSetStreamA(MSIHANDLE,unsigned int,LPCSTR);
159 UINT WINAPI MsiRecordSetStreamW(MSIHANDLE,unsigned int,LPCWSTR);
160 #define MsiRecordSetStream WINELIB_NAME_AW(MsiRecordSetStream)
161 UINT WINAPI MsiRecordReadStream(MSIHANDLE,unsigned int,char*,DWORD *);
162
163 UINT WINAPI MsiDatabaseGetPrimaryKeysA(MSIHANDLE,LPCSTR,MSIHANDLE*);
164 UINT WINAPI MsiDatabaseGetPrimaryKeysW(MSIHANDLE,LPCWSTR,MSIHANDLE*);
165 #define MsiDatabaseGetPrimaryKeys WINELIB_NAME_AW(MsiDatabaseGetPrimaryKeys)
166
167 /* installing */
168 UINT WINAPI MsiDoActionA(MSIHANDLE,LPCSTR );
169 UINT WINAPI MsiDoActionW(MSIHANDLE,LPCWSTR );
170 #define MsiDoAction WINELIB_NAME_AW(MsiDoAction)
171
172 /* database transforms */
173 UINT WINAPI MsiDatabaseApplyTransformA(MSIHANDLE,LPCSTR,int);
174 UINT WINAPI MsiDatabaseApplyTransformW(MSIHANDLE,LPCWSTR,int);
175 #define MsiDatabaseApplyTransform WINELIB_NAME_AW(MsiDatabaseApplyTransform)
176 UINT WINAPI MsiDatabaseGenerateTransformA(MSIHANDLE,MSIHANDLE,LPCSTR,int,int);
177 UINT WINAPI MsiDatabaseGenerateTransformW(MSIHANDLE,MSIHANDLE,LPCWSTR,int,int);
178 #define MsiDatabaseGenerateTransform WINELIB_NAME_AW(MsiDatabaseGenerateTransform)
179
180 UINT WINAPI MsiDatabaseCommit(MSIHANDLE);
181
182 /* install state */
183 UINT WINAPI MsiGetFeatureStateA(MSIHANDLE,LPSTR,INSTALLSTATE*,INSTALLSTATE*);
184 UINT WINAPI MsiGetFeatureStateW(MSIHANDLE,LPWSTR,INSTALLSTATE*,INSTALLSTATE*);
185 #define MsiGetFeatureState WINELIB_NAME_AW(MsiGetFeatureState)
186 UINT WINAPI MsiSetComponentStateA(MSIHANDLE,LPCSTR,INSTALLSTATE);
187 UINT WINAPI MsiSetComponentStateW(MSIHANDLE,LPCWSTR,INSTALLSTATE);
188 #define MsiSetComponentState WINELIB_NAME_AW(MsiSetComponentState)
189 UINT WINAPI MsiGetComponentStateA(MSIHANDLE,LPSTR,INSTALLSTATE*,INSTALLSTATE*);
190 UINT WINAPI MsiGetComponentStateW(MSIHANDLE,LPWSTR,INSTALLSTATE*,INSTALLSTATE*);
191 #define MsiGetComponentState WINELIB_NAME_AW(MsiGetComponentState)
192
193 MSICONDITION WINAPI MsiEvaluateConditionA(MSIHANDLE,LPCSTR);
194 MSICONDITION WINAPI MsiEvaluateConditionW(MSIHANDLE,LPCWSTR);
195 #define MsiEvaluateCondition WINELIB_NAME_AW(MsiEvaluateCondition)
196
197 /* property functions */
198 UINT WINAPI MsiGetPropertyA(MSIHANDLE, LPCSTR, LPSTR, DWORD*);
199 UINT WINAPI MsiGetPropertyW(MSIHANDLE, LPCWSTR, LPWSTR, DWORD*);
200 #define MsiGetProperty WINELIB_NAME_AW(MsiGetProperty)
201
202 UINT WINAPI MsiSetPropertyA(MSIHANDLE, LPCSTR, LPCSTR);
203 UINT WINAPI MsiSetPropertyW(MSIHANDLE, LPCWSTR, LPCWSTR);
204 #define MsiSetProperty WINELIB_NAME_AW(MsiSetProperty)
205
206 UINT WINAPI MsiGetTargetPathA(MSIHANDLE,LPCSTR,LPSTR,DWORD*);
207 UINT WINAPI MsiGetTargetPathW(MSIHANDLE,LPCWSTR,LPWSTR,DWORD*);
208 #define MsiGetTargetPath WINELIB_NAME_AW(MsiGetTargetPath)
209
210 UINT WINAPI MsiSetTargetPathA(MSIHANDLE, LPCSTR, LPCSTR);
211 UINT WINAPI MsiSetTargetPathW(MSIHANDLE, LPCWSTR, LPCWSTR);
212 #define MsiSetTargetPath WINELIB_NAME_AW(MsiSetTargetPath)
213
214 UINT WINAPI MsiGetSourcePathA(MSIHANDLE,LPCSTR,LPSTR,DWORD*);
215 UINT WINAPI MsiGetSourcePathW(MSIHANDLE,LPCWSTR,LPWSTR,DWORD*);
216 #define MsiGetSourcePath WINELIB_NAME_AW(MsiGetSourcePath)
217
218 MSIHANDLE WINAPI MsiGetActiveDatabase(MSIHANDLE);
219
220 UINT WINAPI MsiViewGetColumnInfo(MSIHANDLE, MSICOLINFO, MSIHANDLE*);
221 INT WINAPI MsiProcessMessage(MSIHANDLE, INSTALLMESSAGE, MSIHANDLE);
222
223 UINT WINAPI MsiSetFeatureStateA(MSIHANDLE, LPCSTR, INSTALLSTATE);
224 UINT WINAPI MsiSetFeatureStateW(MSIHANDLE, LPCWSTR, INSTALLSTATE);
225 #define MsiSetFeatureState WINELIB_NAME_AW(MsiSetFeatureState)
226
227 UINT WINAPI MsiPreviewDialogA(MSIHANDLE, LPCSTR);
228 UINT WINAPI MsiPreviewDialogW(MSIHANDLE, LPCWSTR);
229 #define MsiPreviewDialog WINELIB_NAME_AW(MsiPreviewDialog)
230
231 UINT WINAPI MsiPreviewBillboardA(MSIHANDLE, LPCSTR, LPCSTR);
232 UINT WINAPI MsiPreviewBillboardW(MSIHANDLE, LPCWSTR, LPCWSTR);
233 #define MsiPreviewBillboard WINELIB_NAME_AW(MsiPreviewBillboard)
234
235 UINT WINAPI MsiGetSummaryInformationA(MSIHANDLE, LPCSTR, UINT, MSIHANDLE *);
236 UINT WINAPI MsiGetSummaryInformationW(MSIHANDLE, LPCWSTR, UINT, MSIHANDLE *);
237 #define MsiGetSummaryInformation WINELIB_NAME_AW(MsiGetSummaryInformation)
238
239 UINT WINAPI MsiSummaryInfoGetPropertyA(MSIHANDLE,UINT,UINT*,INT*,FILETIME*,LPSTR,DWORD*);
240 UINT WINAPI MsiSummaryInfoGetPropertyW(MSIHANDLE,UINT,UINT*,INT*,FILETIME*,LPWSTR,DWORD*);
241 #define MsiSummaryInfoGetProperty WINELIB_NAME_AW(MsiSummaryInfoGetProperty)
242
243 UINT WINAPI MsiSummaryInfoSetPropertyA(MSIHANDLE, UINT, UINT, INT, FILETIME*, LPCSTR);
244 UINT WINAPI MsiSummaryInfoSetPropertyW(MSIHANDLE, UINT, UINT, INT, FILETIME*, LPCWSTR);
245 #define MsiSummaryInfoSetProperty WINELIB_NAME_AW(MsiSummaryInfoSetProperty)
246
247 UINT WINAPI MsiDatabaseExportA(MSIHANDLE, LPCSTR, LPCSTR, LPCSTR);
248 UINT WINAPI MsiDatabaseExportW(MSIHANDLE, LPCWSTR, LPCWSTR, LPCWSTR);
249 #define MsiDatabaseExport WINELIB_NAME_AW(MsiDatabaseExport)
250
251 UINT WINAPI MsiDatabaseImportA(MSIHANDLE, LPCSTR, LPCSTR);
252 UINT WINAPI MsiDatabaseImportW(MSIHANDLE, LPCWSTR, LPCWSTR);
253 #define MsiDatabaseImport WINELIB_NAME_AW(MsiDatabaseImport)
254
255 UINT WINAPI MsiOpenDatabaseW(LPCWSTR, LPCWSTR, MSIHANDLE*);
256 UINT WINAPI MsiOpenDatabaseA(LPCSTR, LPCSTR, MSIHANDLE*);
257 #define MsiOpenDatabase WINELIB_NAME_AW(MsiOpenDatabase)
258
259 UINT WINAPI MsiDatabaseIsTablePersistentA(MSIHANDLE, LPSTR);
260 UINT WINAPI MsiDatabaseIsTablePersistentW(MSIHANDLE, LPWSTR);
261 #define MsiDatabaseIsTablePersistent WINELIB_NAME_AW(MsiDatabaseIsTablePersistent)
262
263 UINT WINAPI MsiSequenceA(MSIHANDLE, LPCSTR, INT);
264 UINT WINAPI MsiSequenceW(MSIHANDLE, LPCWSTR, INT);
265 #define MsiSequence WINELIB_NAME_AW(MsiSequence)
266
267 UINT WINAPI MsiSummaryInfoPersist(MSIHANDLE);
268 UINT WINAPI MsiSummaryInfoGetPropertyCount(MSIHANDLE,UINT*);
269
270 UINT WINAPI MsiEnableUIPreview(MSIHANDLE, MSIHANDLE*);
271 BOOL WINAPI MsiGetMode(MSIHANDLE, MSIRUNMODE);
272 BOOL WINAPI MsiSetMode(MSIHANDLE, MSIRUNMODE, BOOL);
273
274 UINT WINAPI MsiViewModify(MSIHANDLE, MSIMODIFY, MSIHANDLE);
275
276 #endif /* __WINE_MSIQUERY_H */