comparison fuhtark_test/include/winapi/msiquery.h @ 1500:91c8c3b7cbf0

add: futhark tests for generating vulkan api
author sam <sam@basx.dev>
date Wed, 26 Nov 2025 21:36:48 +0700
parents
children
comparison
equal deleted inserted replaced
1499:1f58458b7ef7 1500:91c8c3b7cbf0
1 /**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the w64 mingw-runtime package.
4 * No warranty is given; refer to the file DISCLAIMER within this package.
5 */
6 #ifndef _MSIQUERY_H_
7 #define _MSIQUERY_H_
8 #include "msi.h"
9
10 #define MSI_NULL_INTEGER 0x80000000
11
12 #define MSIDBOPEN_READONLY (LPCTSTR)0
13 #define MSIDBOPEN_TRANSACT (LPCTSTR)1
14 #define MSIDBOPEN_DIRECT (LPCTSTR)2
15 #define MSIDBOPEN_CREATE (LPCTSTR)3
16 #define MSIDBOPEN_CREATEDIRECT (LPCTSTR)4
17 #define MSIDBOPEN_PATCHFILE 32/sizeof(*MSIDBOPEN_READONLY)
18
19 typedef enum tagMSIDBSTATE {
20 MSIDBSTATE_ERROR =-1,MSIDBSTATE_READ = 0,MSIDBSTATE_WRITE = 1
21 } MSIDBSTATE;
22
23 typedef enum tagMSIMODIFY {
24 MSIMODIFY_SEEK =-1,MSIMODIFY_REFRESH = 0,MSIMODIFY_INSERT = 1,MSIMODIFY_UPDATE = 2,MSIMODIFY_ASSIGN = 3,MSIMODIFY_REPLACE = 4,
25 MSIMODIFY_MERGE = 5,MSIMODIFY_DELETE = 6,MSIMODIFY_INSERT_TEMPORARY = 7,MSIMODIFY_VALIDATE = 8,MSIMODIFY_VALIDATE_NEW = 9,
26 MSIMODIFY_VALIDATE_FIELD = 10,MSIMODIFY_VALIDATE_DELETE = 11
27 } MSIMODIFY;
28
29 typedef enum tagMSICOLINFO {
30 MSICOLINFO_NAMES = 0,MSICOLINFO_TYPES = 1
31 } MSICOLINFO;
32
33 typedef enum tagMSICONDITION {
34 MSICONDITION_FALSE = 0,MSICONDITION_TRUE = 1,MSICONDITION_NONE = 2,MSICONDITION_ERROR = 3
35 } MSICONDITION;
36
37 typedef enum tagMSICOSTTREE {
38 MSICOSTTREE_SELFONLY = 0,MSICOSTTREE_CHILDREN = 1,MSICOSTTREE_PARENTS = 2,MSICOSTTREE_RESERVED = 3
39 } MSICOSTTREE;
40
41 typedef enum tagMSIDBERROR {
42 MSIDBERROR_INVALIDARG = -3,MSIDBERROR_MOREDATA = -2,MSIDBERROR_FUNCTIONERROR = -1,MSIDBERROR_NOERROR = 0,MSIDBERROR_DUPLICATEKEY = 1,
43 MSIDBERROR_REQUIRED = 2,MSIDBERROR_BADLINK = 3,MSIDBERROR_OVERFLOW = 4,MSIDBERROR_UNDERFLOW = 5,MSIDBERROR_NOTINSET = 6,
44 MSIDBERROR_BADVERSION = 7,MSIDBERROR_BADCASE = 8,MSIDBERROR_BADGUID = 9,MSIDBERROR_BADWILDCARD = 10,MSIDBERROR_BADIDENTIFIER = 11,
45 MSIDBERROR_BADLANGUAGE = 12,MSIDBERROR_BADFILENAME = 13,MSIDBERROR_BADPATH = 14,MSIDBERROR_BADCONDITION = 15,MSIDBERROR_BADFORMATTED = 16,
46 MSIDBERROR_BADTEMPLATE = 17,MSIDBERROR_BADDEFAULTDIR = 18,MSIDBERROR_BADREGPATH = 19,MSIDBERROR_BADCUSTOMSOURCE = 20,MSIDBERROR_BADPROPERTY = 21,
47 MSIDBERROR_MISSINGDATA = 22,MSIDBERROR_BADCATEGORY = 23,MSIDBERROR_BADKEYTABLE = 24,MSIDBERROR_BADMAXMINVALUES = 25,MSIDBERROR_BADCABINET = 26,
48 MSIDBERROR_BADSHORTCUT = 27,MSIDBERROR_STRINGOVERFLOW = 28,MSIDBERROR_BADLOCALIZEATTRIB = 29
49 } MSIDBERROR;
50
51 typedef enum tagMSIRUNMODE {
52 MSIRUNMODE_ADMIN = 0,MSIRUNMODE_ADVERTISE = 1,MSIRUNMODE_MAINTENANCE = 2,MSIRUNMODE_ROLLBACKENABLED = 3,MSIRUNMODE_LOGENABLED = 4,
53 MSIRUNMODE_OPERATIONS = 5,MSIRUNMODE_REBOOTATEND = 6,MSIRUNMODE_REBOOTNOW = 7,MSIRUNMODE_CABINET = 8,MSIRUNMODE_SOURCESHORTNAMES= 9,
54 MSIRUNMODE_TARGETSHORTNAMES= 10,MSIRUNMODE_RESERVED11 = 11,MSIRUNMODE_WINDOWS9X = 12,MSIRUNMODE_ZAWENABLED = 13,MSIRUNMODE_RESERVED14 = 14,
55 MSIRUNMODE_RESERVED15 = 15,MSIRUNMODE_SCHEDULED = 16,MSIRUNMODE_ROLLBACK = 17,MSIRUNMODE_COMMIT = 18
56 } MSIRUNMODE;
57
58 #define INSTALLMESSAGE_TYPEMASK 0xFF000000L
59
60 typedef enum tagMSITRANSFORM_ERROR {
61 MSITRANSFORM_ERROR_ADDEXISTINGROW = 0x00000001,MSITRANSFORM_ERROR_DELMISSINGROW = 0x00000002,MSITRANSFORM_ERROR_ADDEXISTINGTABLE = 0x00000004,
62 MSITRANSFORM_ERROR_DELMISSINGTABLE = 0x00000008,MSITRANSFORM_ERROR_UPDATEMISSINGROW = 0x00000010,MSITRANSFORM_ERROR_CHANGECODEPAGE = 0x00000020,
63 MSITRANSFORM_ERROR_VIEWTRANSFORM = 0x00000100
64 } MSITRANSFORM_ERROR;
65
66 typedef enum tagMSITRANSFORM_VALIDATE {
67 MSITRANSFORM_VALIDATE_LANGUAGE = 0x00000001,MSITRANSFORM_VALIDATE_PRODUCT = 0x00000002,MSITRANSFORM_VALIDATE_PLATFORM = 0x00000004,
68 MSITRANSFORM_VALIDATE_MAJORVERSION = 0x00000008,MSITRANSFORM_VALIDATE_MINORVERSION = 0x00000010,MSITRANSFORM_VALIDATE_UPDATEVERSION = 0x00000020,
69 MSITRANSFORM_VALIDATE_NEWLESSBASEVERSION = 0x00000040,MSITRANSFORM_VALIDATE_NEWLESSEQUALBASEVERSION = 0x00000080,
70 MSITRANSFORM_VALIDATE_NEWEQUALBASEVERSION = 0x00000100,MSITRANSFORM_VALIDATE_NEWGREATEREQUALBASEVERSION = 0x00000200,
71 MSITRANSFORM_VALIDATE_NEWGREATERBASEVERSION = 0x00000400,MSITRANSFORM_VALIDATE_UPGRADECODE = 0x00000800
72 } MSITRANSFORM_VALIDATE;
73
74 #ifdef __cplusplus
75 extern "C" {
76 #endif
77
78 UINT WINAPI MsiDatabaseOpenViewA(MSIHANDLE hDatabase,LPCSTR szQuery,MSIHANDLE *phView);
79 UINT WINAPI MsiDatabaseOpenViewW(MSIHANDLE hDatabase,LPCWSTR szQuery,MSIHANDLE *phView);
80 #ifdef UNICODE
81 #define MsiDatabaseOpenView MsiDatabaseOpenViewW
82 #else
83 #define MsiDatabaseOpenView MsiDatabaseOpenViewA
84 #endif
85
86 MSIDBERROR WINAPI MsiViewGetErrorA(MSIHANDLE hView,LPSTR szColumnNameBuffer,DWORD *pcchBuf);
87 MSIDBERROR WINAPI MsiViewGetErrorW(MSIHANDLE hView,LPWSTR szColumnNameBuffer,DWORD *pcchBuf);
88 #ifdef UNICODE
89 #define MsiViewGetError MsiViewGetErrorW
90 #else
91 #define MsiViewGetError MsiViewGetErrorA
92 #endif
93
94 UINT WINAPI MsiViewExecute(MSIHANDLE hView,MSIHANDLE hRecord);
95 UINT WINAPI MsiViewFetch(MSIHANDLE hView,MSIHANDLE *phRecord);
96 UINT WINAPI MsiViewModify(MSIHANDLE hView,MSIMODIFY eModifyMode,MSIHANDLE hRecord);
97 UINT WINAPI MsiViewGetColumnInfo(MSIHANDLE hView,MSICOLINFO eColumnInfo,MSIHANDLE *phRecord);
98 UINT WINAPI MsiViewClose(MSIHANDLE hView);
99 UINT WINAPI MsiDatabaseGetPrimaryKeysA(MSIHANDLE hDatabase,LPCSTR szTableName,MSIHANDLE *phRecord);
100 UINT WINAPI MsiDatabaseGetPrimaryKeysW(MSIHANDLE hDatabase,LPCWSTR szTableName,MSIHANDLE *phRecord);
101 #ifdef UNICODE
102 #define MsiDatabaseGetPrimaryKeys MsiDatabaseGetPrimaryKeysW
103 #else
104 #define MsiDatabaseGetPrimaryKeys MsiDatabaseGetPrimaryKeysA
105 #endif
106
107 MSICONDITION WINAPI MsiDatabaseIsTablePersistentA(MSIHANDLE hDatabase,LPCSTR szTableName);
108 MSICONDITION WINAPI MsiDatabaseIsTablePersistentW(MSIHANDLE hDatabase,LPCWSTR szTableName);
109 #ifdef UNICODE
110 #define MsiDatabaseIsTablePersistent MsiDatabaseIsTablePersistentW
111 #else
112 #define MsiDatabaseIsTablePersistent MsiDatabaseIsTablePersistentA
113 #endif
114
115 UINT WINAPI MsiGetSummaryInformationA(MSIHANDLE hDatabase,LPCSTR szDatabasePath,UINT uiUpdateCount,MSIHANDLE *phSummaryInfo);
116 UINT WINAPI MsiGetSummaryInformationW(MSIHANDLE hDatabase,LPCWSTR szDatabasePath,UINT uiUpdateCount,MSIHANDLE *phSummaryInfo);
117 #ifdef UNICODE
118 #define MsiGetSummaryInformation MsiGetSummaryInformationW
119 #else
120 #define MsiGetSummaryInformation MsiGetSummaryInformationA
121 #endif
122
123 UINT WINAPI MsiSummaryInfoGetPropertyCount(MSIHANDLE hSummaryInfo,UINT *puiPropertyCount);
124 UINT WINAPI MsiSummaryInfoSetPropertyA(MSIHANDLE hSummaryInfo,UINT uiProperty,UINT uiDataType,INT iValue,FILETIME *pftValue,LPCSTR szValue);
125 UINT WINAPI MsiSummaryInfoSetPropertyW(MSIHANDLE hSummaryInfo,UINT uiProperty,UINT uiDataType,INT iValue,FILETIME *pftValue,LPCWSTR szValue);
126 #ifdef UNICODE
127 #define MsiSummaryInfoSetProperty MsiSummaryInfoSetPropertyW
128 #else
129 #define MsiSummaryInfoSetProperty MsiSummaryInfoSetPropertyA
130 #endif
131
132 UINT WINAPI MsiSummaryInfoGetPropertyA(MSIHANDLE hSummaryInfo,UINT uiProperty,UINT *puiDataType,INT *piValue,FILETIME *pftValue,LPSTR szValueBuf,DWORD *pcchValueBuf);
133 UINT WINAPI MsiSummaryInfoGetPropertyW(MSIHANDLE hSummaryInfo,UINT uiProperty,UINT *puiDataType,INT *piValue,FILETIME *pftValue,LPWSTR szValueBuf,DWORD *pcchValueBuf);
134 #ifdef UNICODE
135 #define MsiSummaryInfoGetProperty MsiSummaryInfoGetPropertyW
136 #else
137 #define MsiSummaryInfoGetProperty MsiSummaryInfoGetPropertyA
138 #endif
139
140 UINT WINAPI MsiSummaryInfoPersist(MSIHANDLE hSummaryInfo);
141 UINT WINAPI MsiOpenDatabaseA(LPCSTR szDatabasePath,LPCSTR szPersist,MSIHANDLE *phDatabase);
142 UINT WINAPI MsiOpenDatabaseW(LPCWSTR szDatabasePath,LPCWSTR szPersist,MSIHANDLE *phDatabase);
143 #ifdef UNICODE
144 #define MsiOpenDatabase MsiOpenDatabaseW
145 #else
146 #define MsiOpenDatabase MsiOpenDatabaseA
147 #endif
148
149 UINT WINAPI MsiDatabaseImportA(MSIHANDLE hDatabase,LPCSTR szFolderPath,LPCSTR szFileName);
150 UINT WINAPI MsiDatabaseImportW(MSIHANDLE hDatabase,LPCWSTR szFolderPath,LPCWSTR szFileName);
151 #ifdef UNICODE
152 #define MsiDatabaseImport MsiDatabaseImportW
153 #else
154 #define MsiDatabaseImport MsiDatabaseImportA
155 #endif
156
157 UINT WINAPI MsiDatabaseExportA(MSIHANDLE hDatabase,LPCSTR szTableName,LPCSTR szFolderPath,LPCSTR szFileName);
158 UINT WINAPI MsiDatabaseExportW(MSIHANDLE hDatabase,LPCWSTR szTableName,LPCWSTR szFolderPath,LPCWSTR szFileName);
159 #ifdef UNICODE
160 #define MsiDatabaseExport MsiDatabaseExportW
161 #else
162 #define MsiDatabaseExport MsiDatabaseExportA
163 #endif
164
165 UINT WINAPI MsiDatabaseMergeA(MSIHANDLE hDatabase,MSIHANDLE hDatabaseMerge,LPCSTR szTableName);
166 UINT WINAPI MsiDatabaseMergeW(MSIHANDLE hDatabase,MSIHANDLE hDatabaseMerge,LPCWSTR szTableName);
167 #ifdef UNICODE
168 #define MsiDatabaseMerge MsiDatabaseMergeW
169 #else
170 #define MsiDatabaseMerge MsiDatabaseMergeA
171 #endif
172
173 UINT WINAPI MsiDatabaseGenerateTransformA(MSIHANDLE hDatabase,MSIHANDLE hDatabaseReference,LPCSTR szTransformFile,int iReserved1,int iReserved2);
174 UINT WINAPI MsiDatabaseGenerateTransformW(MSIHANDLE hDatabase,MSIHANDLE hDatabaseReference,LPCWSTR szTransformFile,int iReserved1,int iReserved2);
175 #ifdef UNICODE
176 #define MsiDatabaseGenerateTransform MsiDatabaseGenerateTransformW
177 #else
178 #define MsiDatabaseGenerateTransform MsiDatabaseGenerateTransformA
179 #endif
180
181 UINT WINAPI MsiDatabaseApplyTransformA(MSIHANDLE hDatabase,LPCSTR szTransformFile,int iErrorConditions);
182 UINT WINAPI MsiDatabaseApplyTransformW(MSIHANDLE hDatabase,LPCWSTR szTransformFile,int iErrorConditions);
183 #ifdef UNICODE
184 #define MsiDatabaseApplyTransform MsiDatabaseApplyTransformW
185 #else
186 #define MsiDatabaseApplyTransform MsiDatabaseApplyTransformA
187 #endif
188
189 UINT WINAPI MsiCreateTransformSummaryInfoA(MSIHANDLE hDatabase,MSIHANDLE hDatabaseReference,LPCSTR szTransformFile,int iErrorConditions,int iValidation);
190 UINT WINAPI MsiCreateTransformSummaryInfoW(MSIHANDLE hDatabase,MSIHANDLE hDatabaseReference,LPCWSTR szTransformFile,int iErrorConditions,int iValidation);
191 #ifdef UNICODE
192 #define MsiCreateTransformSummaryInfo MsiCreateTransformSummaryInfoW
193 #else
194 #define MsiCreateTransformSummaryInfo MsiCreateTransformSummaryInfoA
195 #endif
196
197 UINT WINAPI MsiDatabaseCommit(MSIHANDLE hDatabase);
198 MSIDBSTATE WINAPI MsiGetDatabaseState(MSIHANDLE hDatabase);
199 MSIHANDLE WINAPI MsiCreateRecord(UINT cParams);
200 WINBOOL WINAPI MsiRecordIsNull(MSIHANDLE hRecord,UINT iField);
201 UINT WINAPI MsiRecordDataSize(MSIHANDLE hRecord,UINT iField);
202 UINT WINAPI MsiRecordSetInteger(MSIHANDLE hRecord,UINT iField,int iValue);
203 UINT WINAPI MsiRecordSetStringA(MSIHANDLE hRecord,UINT iField,LPCSTR szValue);
204 UINT WINAPI MsiRecordSetStringW(MSIHANDLE hRecord,UINT iField,LPCWSTR szValue);
205 #ifdef UNICODE
206 #define MsiRecordSetString MsiRecordSetStringW
207 #else
208 #define MsiRecordSetString MsiRecordSetStringA
209 #endif
210
211 int WINAPI MsiRecordGetInteger(MSIHANDLE hRecord,UINT iField);
212
213 UINT WINAPI MsiRecordGetStringA(MSIHANDLE hRecord,UINT iField,LPSTR szValueBuf,DWORD *pcchValueBuf);
214 UINT WINAPI MsiRecordGetStringW(MSIHANDLE hRecord,UINT iField,LPWSTR szValueBuf,DWORD *pcchValueBuf);
215 #ifdef UNICODE
216 #define MsiRecordGetString MsiRecordGetStringW
217 #else
218 #define MsiRecordGetString MsiRecordGetStringA
219 #endif
220
221 UINT WINAPI MsiRecordGetFieldCount(MSIHANDLE hRecord);
222 UINT WINAPI MsiRecordSetStreamA(MSIHANDLE hRecord,UINT iField,LPCSTR szFilePath);
223 UINT WINAPI MsiRecordSetStreamW(MSIHANDLE hRecord,UINT iField,LPCWSTR szFilePath);
224 #ifdef UNICODE
225 #define MsiRecordSetStream MsiRecordSetStreamW
226 #else
227 #define MsiRecordSetStream MsiRecordSetStreamA
228 #endif
229
230 UINT WINAPI MsiRecordReadStream(MSIHANDLE hRecord,UINT iField,char *szDataBuf,DWORD *pcbDataBuf);
231 UINT WINAPI MsiRecordClearData(MSIHANDLE hRecord);
232 MSIHANDLE WINAPI MsiGetActiveDatabase(MSIHANDLE hInstall);
233 UINT WINAPI MsiSetPropertyA(MSIHANDLE hInstall,LPCSTR szName,LPCSTR szValue);
234 UINT WINAPI MsiSetPropertyW(MSIHANDLE hInstall,LPCWSTR szName,LPCWSTR szValue);
235 #ifdef UNICODE
236 #define MsiSetProperty MsiSetPropertyW
237 #else
238 #define MsiSetProperty MsiSetPropertyA
239 #endif
240
241 UINT WINAPI MsiGetPropertyA(MSIHANDLE hInstall,LPCSTR szName,LPSTR szValueBuf,DWORD *pcchValueBuf);
242 UINT WINAPI MsiGetPropertyW(MSIHANDLE hInstall,LPCWSTR szName,LPWSTR szValueBuf,DWORD *pcchValueBuf);
243 #ifdef UNICODE
244 #define MsiGetProperty MsiGetPropertyW
245 #else
246 #define MsiGetProperty MsiGetPropertyA
247 #endif
248
249 LANGID WINAPI MsiGetLanguage(MSIHANDLE hInstall);
250 WINBOOL WINAPI MsiGetMode(MSIHANDLE hInstall,MSIRUNMODE eRunMode);
251 UINT WINAPI MsiSetMode(MSIHANDLE hInstall,MSIRUNMODE eRunMode,WINBOOL fState);
252 UINT WINAPI MsiFormatRecordA(MSIHANDLE hInstall,MSIHANDLE hRecord,LPSTR szResultBuf,DWORD *pcchResultBuf);
253 UINT WINAPI MsiFormatRecordW(MSIHANDLE hInstall,MSIHANDLE hRecord,LPWSTR szResultBuf,DWORD *pcchResultBuf);
254 #ifdef UNICODE
255 #define MsiFormatRecord MsiFormatRecordW
256 #else
257 #define MsiFormatRecord MsiFormatRecordA
258 #endif
259
260 UINT WINAPI MsiDoActionA(MSIHANDLE hInstall,LPCSTR szAction);
261 UINT WINAPI MsiDoActionW(MSIHANDLE hInstall,LPCWSTR szAction);
262 #ifdef UNICODE
263 #define MsiDoAction MsiDoActionW
264 #else
265 #define MsiDoAction MsiDoActionA
266 #endif
267
268 UINT WINAPI MsiSequenceA(MSIHANDLE hInstall,LPCSTR szTable,INT iSequenceMode);
269 UINT WINAPI MsiSequenceW(MSIHANDLE hInstall,LPCWSTR szTable,INT iSequenceMode);
270 #ifdef UNICODE
271 #define MsiSequence MsiSequenceW
272 #else
273 #define MsiSequence MsiSequenceA
274 #endif
275
276 int WINAPI MsiProcessMessage(MSIHANDLE hInstall,INSTALLMESSAGE eMessageType,MSIHANDLE hRecord);
277 MSICONDITION WINAPI MsiEvaluateConditionA(MSIHANDLE hInstall,LPCSTR szCondition);
278 MSICONDITION WINAPI MsiEvaluateConditionW(MSIHANDLE hInstall,LPCWSTR szCondition);
279 #ifdef UNICODE
280 #define MsiEvaluateCondition MsiEvaluateConditionW
281 #else
282 #define MsiEvaluateCondition MsiEvaluateConditionA
283 #endif
284
285 UINT WINAPI MsiGetFeatureStateA(MSIHANDLE hInstall,LPCSTR szFeature,INSTALLSTATE *piInstalled,INSTALLSTATE *piAction);
286 UINT WINAPI MsiGetFeatureStateW(MSIHANDLE hInstall,LPCWSTR szFeature,INSTALLSTATE *piInstalled,INSTALLSTATE *piAction);
287 #ifdef UNICODE
288 #define MsiGetFeatureState MsiGetFeatureStateW
289 #else
290 #define MsiGetFeatureState MsiGetFeatureStateA
291 #endif
292
293 UINT WINAPI MsiSetFeatureStateA(MSIHANDLE hInstall,LPCSTR szFeature,INSTALLSTATE iState);
294 UINT WINAPI MsiSetFeatureStateW(MSIHANDLE hInstall,LPCWSTR szFeature,INSTALLSTATE iState);
295 #ifdef UNICODE
296 #define MsiSetFeatureState MsiSetFeatureStateW
297 #else
298 #define MsiSetFeatureState MsiSetFeatureStateA
299 #endif
300
301 #if (_WIN32_MSI >= 110)
302
303 UINT WINAPI MsiSetFeatureAttributesA(MSIHANDLE hInstall,LPCSTR szFeature,DWORD dwAttributes);
304 UINT WINAPI MsiSetFeatureAttributesW(MSIHANDLE hInstall,LPCWSTR szFeature,DWORD dwAttributes);
305 #ifdef UNICODE
306 #define MsiSetFeatureAttributes MsiSetFeatureAttributesW
307 #else
308 #define MsiSetFeatureAttributes MsiSetFeatureAttributesA
309 #endif
310 #endif
311
312 UINT WINAPI MsiGetComponentStateA(MSIHANDLE hInstall,LPCSTR szComponent,INSTALLSTATE *piInstalled,INSTALLSTATE *piAction);
313 UINT WINAPI MsiGetComponentStateW(MSIHANDLE hInstall,LPCWSTR szComponent,INSTALLSTATE *piInstalled,INSTALLSTATE *piAction);
314 #ifdef UNICODE
315 #define MsiGetComponentState MsiGetComponentStateW
316 #else
317 #define MsiGetComponentState MsiGetComponentStateA
318 #endif
319
320 UINT WINAPI MsiSetComponentStateA(MSIHANDLE hInstall,LPCSTR szComponent,INSTALLSTATE iState);
321 UINT WINAPI MsiSetComponentStateW(MSIHANDLE hInstall,LPCWSTR szComponent,INSTALLSTATE iState);
322 #ifdef UNICODE
323 #define MsiSetComponentState MsiSetComponentStateW
324 #else
325 #define MsiSetComponentState MsiSetComponentStateA
326 #endif
327
328 UINT WINAPI MsiGetFeatureCostA(MSIHANDLE hInstall,LPCSTR szFeature,MSICOSTTREE iCostTree,INSTALLSTATE iState,INT *piCost);
329 UINT WINAPI MsiGetFeatureCostW(MSIHANDLE hInstall,LPCWSTR szFeature,MSICOSTTREE iCostTree,INSTALLSTATE iState,INT *piCost);
330 #ifdef UNICODE
331 #define MsiGetFeatureCost MsiGetFeatureCostW
332 #else
333 #define MsiGetFeatureCost MsiGetFeatureCostA
334 #endif
335
336 #if (_WIN32_MSI >= 150)
337 #ifdef UNICODE
338 #define MsiEnumComponentCosts MsiEnumComponentCostsW
339 #else
340 #define MsiEnumComponentCosts MsiEnumComponentCostsA
341 #endif
342 UINT WINAPI MsiEnumComponentCostsA(MSIHANDLE hInstall,LPCSTR szComponent,DWORD dwIndex,INSTALLSTATE iState,LPSTR szDriveBuf,DWORD *pcchDriveBuf,INT *piCost,INT *piTempCost);
343 UINT WINAPI MsiEnumComponentCostsW(MSIHANDLE hInstall,LPCWSTR szComponent,DWORD dwIndex,INSTALLSTATE iState,LPWSTR szDriveBuf,DWORD *pcchDriveBuf,INT *piCost,INT *piTempCost);
344 #endif
345
346 #ifdef UNICODE
347 #define MsiGetFeatureValidStates MsiGetFeatureValidStatesW
348 #define MsiGetSourcePath MsiGetSourcePathW
349 #define MsiGetTargetPath MsiGetTargetPathW
350 #define MsiSetTargetPath MsiSetTargetPathW
351 #define MsiPreviewDialog MsiPreviewDialogW
352 #define MsiPreviewBillboard MsiPreviewBillboardW
353 #else
354 #define MsiGetFeatureValidStates MsiGetFeatureValidStatesA
355 #define MsiGetSourcePath MsiGetSourcePathA
356 #define MsiGetTargetPath MsiGetTargetPathA
357 #define MsiSetTargetPath MsiSetTargetPathA
358 #define MsiPreviewDialog MsiPreviewDialogA
359 #define MsiPreviewBillboard MsiPreviewBillboardA
360 #endif
361
362 UINT WINAPI MsiSetInstallLevel(MSIHANDLE hInstall,int iInstallLevel);
363 UINT WINAPI MsiGetFeatureValidStatesA(MSIHANDLE hInstall,LPCSTR szFeature,DWORD *dwInstallStates);
364 UINT WINAPI MsiGetFeatureValidStatesW(MSIHANDLE hInstall,LPCWSTR szFeature,DWORD *dwInstallStates);
365 UINT WINAPI MsiGetSourcePathA(MSIHANDLE hInstall,LPCSTR szFolder,LPSTR szPathBuf,DWORD *pcchPathBuf);
366 UINT WINAPI MsiGetSourcePathW(MSIHANDLE hInstall,LPCWSTR szFolder,LPWSTR szPathBuf,DWORD *pcchPathBuf);
367 UINT WINAPI MsiGetTargetPathA(MSIHANDLE hInstall,LPCSTR szFolder,LPSTR szPathBuf,DWORD *pcchPathBuf);
368 UINT WINAPI MsiGetTargetPathW(MSIHANDLE hInstall,LPCWSTR szFolder,LPWSTR szPathBuf,DWORD *pcchPathBuf);
369 UINT WINAPI MsiSetTargetPathA(MSIHANDLE hInstall,LPCSTR szFolder,LPCSTR szFolderPath);
370 UINT WINAPI MsiSetTargetPathW(MSIHANDLE hInstall,LPCWSTR szFolder,LPCWSTR szFolderPath);
371 UINT WINAPI MsiVerifyDiskSpace(MSIHANDLE hInstall);
372 UINT WINAPI MsiEnableUIPreview(MSIHANDLE hDatabase,MSIHANDLE *phPreview);
373 UINT WINAPI MsiPreviewDialogA(MSIHANDLE hPreview,LPCSTR szDialogName);
374 UINT WINAPI MsiPreviewDialogW(MSIHANDLE hPreview,LPCWSTR szDialogName);
375 UINT WINAPI MsiPreviewBillboardA(MSIHANDLE hPreview,LPCSTR szControlName,LPCSTR szBillboard);
376 UINT WINAPI MsiPreviewBillboardW(MSIHANDLE hPreview,LPCWSTR szControlName,LPCWSTR szBillboard);
377 MSIHANDLE WINAPI MsiGetLastErrorRecord();
378
379 #ifdef __cplusplus
380 }
381 #endif
382 #endif