Reactos
at master 352 lines 14 kB view raw
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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 17 */ 18 19#ifndef __WINE_MSIQUERY_H 20#define __WINE_MSIQUERY_H 21 22#include <msi.h> 23 24typedef 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 34typedef enum tagMSICOLINFO 35{ 36 MSICOLINFO_NAMES = 0, 37 MSICOLINFO_TYPES = 1 38} MSICOLINFO; 39 40typedef enum tagMSICOSTTREE 41{ 42 MSICOSTTREE_SELFONLY = 0, 43 MSICOSTTREE_CHILDREN = 1, 44 MSICOSTTREE_PARENTS = 2, 45 MSICOSTTREE_PRODUCT = 3, 46} MSICOSTTREE; 47 48typedef enum tagMSIMODIFY 49{ 50 MSIMODIFY_SEEK = -1, 51 MSIMODIFY_REFRESH = 0, 52 MSIMODIFY_INSERT = 1, 53 MSIMODIFY_UPDATE = 2, 54 MSIMODIFY_ASSIGN = 3, 55 MSIMODIFY_REPLACE = 4, 56 MSIMODIFY_MERGE = 5, 57 MSIMODIFY_DELETE = 6, 58 MSIMODIFY_INSERT_TEMPORARY = 7, 59 MSIMODIFY_VALIDATE = 8, 60 MSIMODIFY_VALIDATE_NEW = 9, 61 MSIMODIFY_VALIDATE_FIELD = 10, 62 MSIMODIFY_VALIDATE_DELETE = 11 63} MSIMODIFY; 64 65#ifndef WINE_NO_UNICODE_MACROS 66#define MSIDBOPEN_READONLY (LPCTSTR)0 67#define MSIDBOPEN_TRANSACT (LPCTSTR)1 68#define MSIDBOPEN_DIRECT (LPCTSTR)2 69#define MSIDBOPEN_CREATE (LPCTSTR)3 70#define MSIDBOPEN_CREATEDIRECT (LPCTSTR)4 71#else 72#define MSIDBOPEN_READONLY (LPCWSTR)0 73#define MSIDBOPEN_TRANSACT (LPCWSTR)1 74#define MSIDBOPEN_DIRECT (LPCWSTR)2 75#define MSIDBOPEN_CREATE (LPCWSTR)3 76#define MSIDBOPEN_CREATEDIRECT (LPCWSTR)4 77#endif 78 79#define MSIDBOPEN_PATCHFILE 32 / sizeof(*MSIDBOPEN_READONLY) 80 81typedef enum tagMSIRUNMODE 82{ 83 MSIRUNMODE_ADMIN = 0, 84 MSIRUNMODE_ADVERTISE = 1, 85 MSIRUNMODE_MAINTENANCE = 2, 86 MSIRUNMODE_ROLLBACKENABLED = 3, 87 MSIRUNMODE_LOGENABLED = 4, 88 MSIRUNMODE_OPERATIONS = 5, 89 MSIRUNMODE_REBOOTATEND = 6, 90 MSIRUNMODE_REBOOTNOW = 7, 91 MSIRUNMODE_CABINET = 8, 92 MSIRUNMODE_SOURCESHORTNAMES = 9, 93 MSIRUNMODE_TARGETSHORTNAMES = 10, 94 MSIRUNMODE_RESERVED11 = 11, 95 MSIRUNMODE_WINDOWS9X = 12, 96 MSIRUNMODE_ZAWENABLED = 13, 97 MSIRUNMODE_RESERVED14 = 14, 98 MSIRUNMODE_RESERVED15 = 15, 99 MSIRUNMODE_SCHEDULED = 16, 100 MSIRUNMODE_ROLLBACK = 17, 101 MSIRUNMODE_COMMIT = 18 102} MSIRUNMODE; 103 104typedef enum tagMSIDBERROR 105{ 106 MSIDBERROR_INVALIDARG = -3, 107 MSIDBERROR_MOREDATA = -2, 108 MSIDBERROR_FUNCTIONERROR = -1, 109 MSIDBERROR_NOERROR = 0, 110 MSIDBERROR_DUPLICATEKEY = 1, 111 MSIDBERROR_REQUIRED = 2, 112 MSIDBERROR_BADLINK = 3, 113 MSIDBERROR_OVERFLOW = 4, 114 MSIDBERROR_UNDERFLOW = 5, 115 MSIDBERROR_NOTINSET = 6, 116 MSIDBERROR_BADVERSION = 7, 117 MSIDBERROR_BADCASE = 8, 118 MSIDBERROR_BADGUID = 9, 119 MSIDBERROR_BADWILDCARD = 10, 120 MSIDBERROR_BADIDENTIFIER = 11, 121 MSIDBERROR_BADLANGUAGE = 12, 122 MSIDBERROR_BADFILENAME = 13, 123 MSIDBERROR_BADPATH = 14, 124 MSIDBERROR_BADCONDITION = 15, 125 MSIDBERROR_BADFORMATTED = 16, 126 MSIDBERROR_BADTEMPLATE = 17, 127 MSIDBERROR_BADDEFAULTDIR = 18, 128 MSIDBERROR_BADREGPATH = 19, 129 MSIDBERROR_BADCUSTOMSOURCE = 20, 130 MSIDBERROR_BADPROPERTY = 21, 131 MSIDBERROR_MISSINGDATA = 22, 132 MSIDBERROR_BADCATEGORY = 23, 133 MSIDBERROR_BADKEYTABLE = 24, 134 MSIDBERROR_BADMAXMINVALUES = 25, 135 MSIDBERROR_BADCABINET = 26, 136 MSIDBERROR_BADSHORTCUT= 27, 137 MSIDBERROR_STRINGOVERFLOW = 28, 138 MSIDBERROR_BADLOCALIZEATTRIB = 29 139} MSIDBERROR; 140 141typedef enum tagMSIDBSTATE 142{ 143 MSIDBSTATE_ERROR = -1, 144 MSIDBSTATE_READ = 0, 145 MSIDBSTATE_WRITE = 1 146} MSIDBSTATE; 147 148typedef enum tagMSITRANSFORM_ERROR 149{ 150 MSITRANSFORM_ERROR_ADDEXISTINGROW = 0x00000001, 151 MSITRANSFORM_ERROR_DELMISSINGROW = 0x00000002, 152 MSITRANSFORM_ERROR_ADDEXISTINGTABLE = 0x00000004, 153 MSITRANSFORM_ERROR_DELMISSINGTABLE = 0x00000008, 154 MSITRANSFORM_ERROR_UPDATEMISSINGROW = 0x00000010, 155 MSITRANSFORM_ERROR_CHANGECODEPAGE = 0x00000020, 156 MSITRANSFORM_ERROR_VIEWTRANSFORM = 0x00000100 157} MSITRANSFORM_ERROR; 158 159typedef enum tagMSITRANSFORM_VALIDATE 160{ 161 MSITRANSFORM_VALIDATE_LANGUAGE = 0x00000001, 162 MSITRANSFORM_VALIDATE_PRODUCT = 0x00000002, 163 MSITRANSFORM_VALIDATE_PLATFORM = 0x00000004, 164 MSITRANSFORM_VALIDATE_MAJORVERSION = 0x00000008, 165 MSITRANSFORM_VALIDATE_MINORVERSION = 0x00000010, 166 MSITRANSFORM_VALIDATE_UPDATEVERSION = 0x00000020, 167 MSITRANSFORM_VALIDATE_NEWLESSBASEVERSION = 0x00000040, 168 MSITRANSFORM_VALIDATE_NEWLESSEQUALBASEVERSION = 0x00000080, 169 MSITRANSFORM_VALIDATE_NEWEQUALBASEVERSION = 0x00000100, 170 MSITRANSFORM_VALIDATE_NEWGREATEREQUALBASEVERSION = 0x00000200, 171 MSITRANSFORM_VALIDATE_NEWGREATERBASEVERSION = 0x00000400, 172 MSITRANSFORM_VALIDATE_UPGRADECODE = 0x00000800 173} MSITRANSFORM_VALIDATE; 174 175#ifdef __cplusplus 176extern "C" { 177#endif 178 179/* view manipulation */ 180UINT WINAPI MsiViewFetch(MSIHANDLE,MSIHANDLE*); 181UINT WINAPI MsiViewExecute(MSIHANDLE,MSIHANDLE); 182UINT WINAPI MsiViewClose(MSIHANDLE); 183UINT WINAPI MsiDatabaseOpenViewA(MSIHANDLE,LPCSTR,MSIHANDLE*); 184UINT WINAPI MsiDatabaseOpenViewW(MSIHANDLE,LPCWSTR,MSIHANDLE*); 185#define MsiDatabaseOpenView WINELIB_NAME_AW(MsiDatabaseOpenView) 186MSIDBERROR WINAPI MsiViewGetErrorA(MSIHANDLE,LPSTR,LPDWORD); 187MSIDBERROR WINAPI MsiViewGetErrorW(MSIHANDLE,LPWSTR,LPDWORD); 188#define MsiViewGetError WINELIB_NAME_AW(MsiViewGetError) 189 190MSIDBSTATE WINAPI MsiGetDatabaseState(MSIHANDLE); 191 192/* record manipulation */ 193MSIHANDLE WINAPI MsiCreateRecord(UINT); 194UINT WINAPI MsiRecordClearData(MSIHANDLE); 195UINT WINAPI MsiRecordSetInteger(MSIHANDLE,UINT,int); 196UINT WINAPI MsiRecordSetStringA(MSIHANDLE,UINT,LPCSTR); 197UINT WINAPI MsiRecordSetStringW(MSIHANDLE,UINT,LPCWSTR); 198#define MsiRecordSetString WINELIB_NAME_AW(MsiRecordSetString) 199UINT WINAPI MsiRecordGetStringA(MSIHANDLE,UINT,LPSTR,LPDWORD); 200UINT WINAPI MsiRecordGetStringW(MSIHANDLE,UINT,LPWSTR,LPDWORD); 201#define MsiRecordGetString WINELIB_NAME_AW(MsiRecordGetString) 202UINT WINAPI MsiRecordGetFieldCount(MSIHANDLE); 203int WINAPI MsiRecordGetInteger(MSIHANDLE,UINT); 204UINT WINAPI MsiRecordDataSize(MSIHANDLE,UINT); 205BOOL WINAPI MsiRecordIsNull(MSIHANDLE,UINT); 206UINT WINAPI MsiFormatRecordA(MSIHANDLE,MSIHANDLE,LPSTR,LPDWORD); 207UINT WINAPI MsiFormatRecordW(MSIHANDLE,MSIHANDLE,LPWSTR,LPDWORD); 208#define MsiFormatRecord WINELIB_NAME_AW(MsiFormatRecord) 209UINT WINAPI MsiRecordSetStreamA(MSIHANDLE,UINT,LPCSTR); 210UINT WINAPI MsiRecordSetStreamW(MSIHANDLE,UINT,LPCWSTR); 211#define MsiRecordSetStream WINELIB_NAME_AW(MsiRecordSetStream) 212UINT WINAPI MsiRecordReadStream(MSIHANDLE,UINT,char*,LPDWORD); 213 214UINT WINAPI MsiDatabaseGetPrimaryKeysA(MSIHANDLE,LPCSTR,MSIHANDLE*); 215UINT WINAPI MsiDatabaseGetPrimaryKeysW(MSIHANDLE,LPCWSTR,MSIHANDLE*); 216#define MsiDatabaseGetPrimaryKeys WINELIB_NAME_AW(MsiDatabaseGetPrimaryKeys) 217 218/* installing */ 219UINT WINAPI MsiDoActionA(MSIHANDLE,LPCSTR ); 220UINT WINAPI MsiDoActionW(MSIHANDLE,LPCWSTR ); 221#define MsiDoAction WINELIB_NAME_AW(MsiDoAction) 222 223/* database transforms */ 224UINT WINAPI MsiDatabaseApplyTransformA(MSIHANDLE,LPCSTR,int); 225UINT WINAPI MsiDatabaseApplyTransformW(MSIHANDLE,LPCWSTR,int); 226#define MsiDatabaseApplyTransform WINELIB_NAME_AW(MsiDatabaseApplyTransform) 227UINT WINAPI MsiDatabaseGenerateTransformA(MSIHANDLE,MSIHANDLE,LPCSTR,int,int); 228UINT WINAPI MsiDatabaseGenerateTransformW(MSIHANDLE,MSIHANDLE,LPCWSTR,int,int); 229#define MsiDatabaseGenerateTransform WINELIB_NAME_AW(MsiDatabaseGenerateTransform) 230 231UINT WINAPI MsiDatabaseCommit(MSIHANDLE); 232 233/* install state */ 234UINT WINAPI MsiGetFeatureStateA(MSIHANDLE,LPCSTR,INSTALLSTATE*,INSTALLSTATE*); 235UINT WINAPI MsiGetFeatureStateW(MSIHANDLE,LPCWSTR,INSTALLSTATE*,INSTALLSTATE*); 236#define MsiGetFeatureState WINELIB_NAME_AW(MsiGetFeatureState) 237UINT WINAPI MsiGetFeatureValidStatesA(MSIHANDLE,LPCSTR,LPDWORD); 238UINT WINAPI MsiGetFeatureValidStatesW(MSIHANDLE,LPCWSTR,LPDWORD); 239#define MsiGetFeatureValidStates WINELIB_NAME_AW(MsiGetFeatureValidStates) 240UINT WINAPI MsiSetComponentStateA(MSIHANDLE,LPCSTR,INSTALLSTATE); 241UINT WINAPI MsiSetComponentStateW(MSIHANDLE,LPCWSTR,INSTALLSTATE); 242#define MsiSetComponentState WINELIB_NAME_AW(MsiSetComponentState) 243UINT WINAPI MsiGetComponentStateA(MSIHANDLE,LPCSTR,INSTALLSTATE*,INSTALLSTATE*); 244UINT WINAPI MsiGetComponentStateW(MSIHANDLE,LPCWSTR,INSTALLSTATE*,INSTALLSTATE*); 245#define MsiGetComponentState WINELIB_NAME_AW(MsiGetComponentState) 246 247MSICONDITION WINAPI MsiEvaluateConditionA(MSIHANDLE,LPCSTR); 248MSICONDITION WINAPI MsiEvaluateConditionW(MSIHANDLE,LPCWSTR); 249#define MsiEvaluateCondition WINELIB_NAME_AW(MsiEvaluateCondition) 250 251/* property functions */ 252UINT WINAPI MsiGetPropertyA(MSIHANDLE, LPCSTR, LPSTR, LPDWORD); 253UINT WINAPI MsiGetPropertyW(MSIHANDLE, LPCWSTR, LPWSTR, LPDWORD); 254#define MsiGetProperty WINELIB_NAME_AW(MsiGetProperty) 255 256UINT WINAPI MsiSetPropertyA(MSIHANDLE, LPCSTR, LPCSTR); 257UINT WINAPI MsiSetPropertyW(MSIHANDLE, LPCWSTR, LPCWSTR); 258#define MsiSetProperty WINELIB_NAME_AW(MsiSetProperty) 259 260UINT WINAPI MsiGetTargetPathA(MSIHANDLE,LPCSTR,LPSTR,LPDWORD); 261UINT WINAPI MsiGetTargetPathW(MSIHANDLE,LPCWSTR,LPWSTR,LPDWORD); 262#define MsiGetTargetPath WINELIB_NAME_AW(MsiGetTargetPath) 263 264UINT WINAPI MsiSetTargetPathA(MSIHANDLE, LPCSTR, LPCSTR); 265UINT WINAPI MsiSetTargetPathW(MSIHANDLE, LPCWSTR, LPCWSTR); 266#define MsiSetTargetPath WINELIB_NAME_AW(MsiSetTargetPath) 267 268UINT WINAPI MsiGetSourcePathA(MSIHANDLE,LPCSTR,LPSTR,LPDWORD); 269UINT WINAPI MsiGetSourcePathW(MSIHANDLE,LPCWSTR,LPWSTR,LPDWORD); 270#define MsiGetSourcePath WINELIB_NAME_AW(MsiGetSourcePath) 271 272MSIHANDLE WINAPI MsiGetActiveDatabase(MSIHANDLE); 273 274UINT WINAPI MsiViewGetColumnInfo(MSIHANDLE, MSICOLINFO, MSIHANDLE*); 275INT WINAPI MsiProcessMessage(MSIHANDLE, INSTALLMESSAGE, MSIHANDLE); 276 277UINT WINAPI MsiSetFeatureAttributesA(MSIHANDLE, LPCSTR, DWORD); 278UINT WINAPI MsiSetFeatureAttributesW(MSIHANDLE, LPCWSTR, DWORD); 279#define MsiSetFeatureAttributes WINELIB_NAME_AW(MsiSetFeatureAttributes) 280 281UINT WINAPI MsiSetFeatureStateA(MSIHANDLE, LPCSTR, INSTALLSTATE); 282UINT WINAPI MsiSetFeatureStateW(MSIHANDLE, LPCWSTR, INSTALLSTATE); 283#define MsiSetFeatureState WINELIB_NAME_AW(MsiSetFeatureState) 284 285UINT WINAPI MsiPreviewDialogA(MSIHANDLE, LPCSTR); 286UINT WINAPI MsiPreviewDialogW(MSIHANDLE, LPCWSTR); 287#define MsiPreviewDialog WINELIB_NAME_AW(MsiPreviewDialog) 288 289UINT WINAPI MsiPreviewBillboardA(MSIHANDLE, LPCSTR, LPCSTR); 290UINT WINAPI MsiPreviewBillboardW(MSIHANDLE, LPCWSTR, LPCWSTR); 291#define MsiPreviewBillboard WINELIB_NAME_AW(MsiPreviewBillboard) 292 293UINT WINAPI MsiCreateTransformSummaryInfoA(MSIHANDLE, MSIHANDLE, LPCSTR, int, int); 294UINT WINAPI MsiCreateTransformSummaryInfoW(MSIHANDLE, MSIHANDLE, LPCWSTR, int, int); 295#define MsiCreateTransformSummaryInfo WINELIB_NAME_AW(MsiCreateTransformSummaryInfo) 296 297UINT WINAPI MsiGetSummaryInformationA(MSIHANDLE, LPCSTR, UINT, MSIHANDLE *); 298UINT WINAPI MsiGetSummaryInformationW(MSIHANDLE, LPCWSTR, UINT, MSIHANDLE *); 299#define MsiGetSummaryInformation WINELIB_NAME_AW(MsiGetSummaryInformation) 300 301UINT WINAPI MsiSummaryInfoGetPropertyA(MSIHANDLE,UINT,PUINT,LPINT,FILETIME*,LPSTR,LPDWORD); 302UINT WINAPI MsiSummaryInfoGetPropertyW(MSIHANDLE,UINT,PUINT,LPINT,FILETIME*,LPWSTR,LPDWORD); 303#define MsiSummaryInfoGetProperty WINELIB_NAME_AW(MsiSummaryInfoGetProperty) 304 305UINT WINAPI MsiSummaryInfoSetPropertyA(MSIHANDLE, UINT, UINT, INT, FILETIME*, LPCSTR); 306UINT WINAPI MsiSummaryInfoSetPropertyW(MSIHANDLE, UINT, UINT, INT, FILETIME*, LPCWSTR); 307#define MsiSummaryInfoSetProperty WINELIB_NAME_AW(MsiSummaryInfoSetProperty) 308 309UINT WINAPI MsiDatabaseExportA(MSIHANDLE, LPCSTR, LPCSTR, LPCSTR); 310UINT WINAPI MsiDatabaseExportW(MSIHANDLE, LPCWSTR, LPCWSTR, LPCWSTR); 311#define MsiDatabaseExport WINELIB_NAME_AW(MsiDatabaseExport) 312 313UINT WINAPI MsiDatabaseImportA(MSIHANDLE, LPCSTR, LPCSTR); 314UINT WINAPI MsiDatabaseImportW(MSIHANDLE, LPCWSTR, LPCWSTR); 315#define MsiDatabaseImport WINELIB_NAME_AW(MsiDatabaseImport) 316 317UINT WINAPI MsiOpenDatabaseW(LPCWSTR, LPCWSTR, MSIHANDLE*); 318UINT WINAPI MsiOpenDatabaseA(LPCSTR, LPCSTR, MSIHANDLE*); 319#define MsiOpenDatabase WINELIB_NAME_AW(MsiOpenDatabase) 320 321MSICONDITION WINAPI MsiDatabaseIsTablePersistentA(MSIHANDLE, LPCSTR); 322MSICONDITION WINAPI MsiDatabaseIsTablePersistentW(MSIHANDLE, LPCWSTR); 323#define MsiDatabaseIsTablePersistent WINELIB_NAME_AW(MsiDatabaseIsTablePersistent) 324 325UINT WINAPI MsiSequenceA(MSIHANDLE, LPCSTR, INT); 326UINT WINAPI MsiSequenceW(MSIHANDLE, LPCWSTR, INT); 327#define MsiSequence WINELIB_NAME_AW(MsiSequence) 328 329UINT WINAPI MsiSummaryInfoPersist(MSIHANDLE); 330UINT WINAPI MsiSummaryInfoGetPropertyCount(MSIHANDLE,PUINT); 331 332UINT WINAPI MsiEnableUIPreview(MSIHANDLE, MSIHANDLE*); 333BOOL WINAPI MsiGetMode(MSIHANDLE, MSIRUNMODE); 334UINT WINAPI MsiSetMode(MSIHANDLE, MSIRUNMODE, BOOL); 335 336UINT WINAPI MsiViewModify(MSIHANDLE, MSIMODIFY, MSIHANDLE); 337 338UINT WINAPI MsiGetFeatureCostA(MSIHANDLE, LPCSTR, MSICOSTTREE, INSTALLSTATE, LPINT); 339UINT WINAPI MsiGetFeatureCostW(MSIHANDLE, LPCWSTR, MSICOSTTREE, INSTALLSTATE, LPINT); 340#define MsiGetFeatureCost WINELIB_NAME_AW(MsiGetFeatureCost) 341 342LANGID WINAPI MsiGetLanguage(MSIHANDLE); 343 344UINT WINAPI MsiSetInstallLevel(MSIHANDLE, int); 345 346MSIHANDLE WINAPI MsiGetLastErrorRecord(void); 347 348#ifdef __cplusplus 349} 350#endif 351 352#endif /* __WINE_MSIQUERY_H */