| /* | 
 |  * Copyright (C) 2002,2003 Mike McCormack | 
 |  * | 
 |  * This library is free software; you can redistribute it and/or | 
 |  * modify it under the terms of the GNU Lesser General Public | 
 |  * License as published by the Free Software Foundation; either | 
 |  * version 2.1 of the License, or (at your option) any later version. | 
 |  * | 
 |  * This library is distributed in the hope that it will be useful, | 
 |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
 |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
 |  * Lesser General Public License for more details. | 
 |  * | 
 |  * You should have received a copy of the GNU Lesser General Public | 
 |  * License along with this library; if not, write to the Free Software | 
 |  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA | 
 |  */ | 
 |  | 
 | #ifndef __WINE_MSIQUERY_H | 
 | #define __WINE_MSIQUERY_H | 
 |  | 
 | #include <msi.h> | 
 |  | 
 | typedef enum tagMSICONDITION | 
 | { | 
 |     MSICONDITION_FALSE = 0, | 
 |     MSICONDITION_TRUE  = 1, | 
 |     MSICONDITION_NONE  = 2, | 
 |     MSICONDITION_ERROR = 3, | 
 | } MSICONDITION; | 
 |  | 
 | #define MSI_NULL_INTEGER 0x80000000 | 
 |  | 
 | typedef enum tagMSICOLINFO | 
 | { | 
 |     MSICOLINFO_NAMES = 0, | 
 |     MSICOLINFO_TYPES = 1 | 
 | } MSICOLINFO; | 
 |  | 
 | typedef enum tagMSIMODIFY | 
 | { | 
 |     MSIMODIFY_REFRESH = 0, | 
 |     MSIMODIFY_INSERT = 1, | 
 |     MSIMODIFY_UPDATE = 2, | 
 |     MSIMODIFY_ASSIGN = 3, | 
 |     MSIMODIFY_REPLACE = 4, | 
 |     MSIMODIFY_MERGE = 5, | 
 |     MSIMODIFY_DELETE = 6, | 
 |     MSIMODIFY_INSERT_TEMPORARY = 7, | 
 |     MSIMODIFY_VALIDATE = 8, | 
 |     MSIMODIFY_VALIDATE_NEW = 9, | 
 |     MSIMODIFY_VALIDATE_FIELD = 10, | 
 |     MSIMODIFY_VALIDATE_DELETE = 11 | 
 | } MSIMODIFY; | 
 |  | 
 | #define MSIDBOPEN_READONLY (LPCTSTR)0 | 
 | #define MSIDBOPEN_TRANSACT (LPCTSTR)1 | 
 | #define MSIDBOPEN_DIRECT   (LPCTSTR)2 | 
 | #define MSIDBOPEN_CREATE   (LPCTSTR)3 | 
 | #define MSIDBOPEN_CREATEDIRECT (LPCTSTR)4 | 
 |  | 
 | typedef enum tagMSIRUNMODE | 
 | { | 
 |     MSIRUNMODE_ADMIN = 0, | 
 |     MSIRUNMODE_ADVERTISE = 1, | 
 |     MSIRUNMODE_MAINTENANCE = 2, | 
 |     MSIRUNMODE_ROLLBACKENABLED = 3, | 
 |     MSIRUNMODE_LOGENABLED = 4, | 
 |     MSIRUNMODE_OPERATIONS = 5, | 
 |     MSIRUNMODE_REBOOTATEND = 6, | 
 |     MSIRUNMODE_REBOOTNOW = 7, | 
 |     MSIRUNMODE_CABINET = 8, | 
 |     MSIRUNMODE_SOURCESHORTNAMES = 9, | 
 |     MSIRUNMODE_TARGETSHORTNAMES = 10, | 
 |     MSIRUNMODE_RESERVED11 = 11, | 
 |     MSIRUNMODE_WINDOWS9X = 12, | 
 |     MSIRUNMODE_ZAWENABLED = 13, | 
 |     MSIRUNMODE_RESERVED14 = 14, | 
 |     MSIRUNMODE_RESERVED15 = 15, | 
 |     MSIRUNMODE_SCHEDULED = 16, | 
 |     MSIRUNMODE_ROLLBACK = 17, | 
 |     MSIRUNMODE_COMMIT = 18 | 
 | } MSIRUNMODE; | 
 |  | 
 | typedef enum tagMSIDBERROR | 
 | { | 
 |     MSIDBERROR_INVALIDARG = -3, | 
 |     MSIDBERROR_MOREDATA = -2, | 
 |     MSIDBERROR_FUNCTIONERROR = -1, | 
 |     MSIDBERROR_NOERROR = 0, | 
 |     MSIDBERROR_DUPLICATEKEY = 1, | 
 |     MSIDBERROR_REQUIRED = 2, | 
 |     MSIDBERROR_BADLINK = 3, | 
 |     MSIDBERROR_OVERFLOW = 4, | 
 |     MSIDBERROR_UNDERFLOW = 5, | 
 |     MSIDBERROR_NOTINSET = 6, | 
 |     MSIDBERROR_BADVERSION = 7, | 
 |     MSIDBERROR_BADCASE = 8, | 
 |     MSIDBERROR_BADGUID = 9, | 
 |     MSIDBERROR_BADWILDCARD = 10, | 
 |     MSIDBERROR_BADIDENTIFIER = 11, | 
 |     MSIDBERROR_BADLANGUAGE = 12, | 
 |     MSIDBERROR_BADFILENAME = 13, | 
 |     MSIDBERROR_BADPATH = 14, | 
 |     MSIDBERROR_BADCONDITION = 15, | 
 |     MSIDBERROR_BADFORMATTED = 16, | 
 |     MSIDBERROR_BADTEMPLATE = 17, | 
 |     MSIDBERROR_BADDEFAULTDIR = 18, | 
 |     MSIDBERROR_BADREGPATH = 19, | 
 |     MSIDBERROR_BADCUSTOMSOURCE = 20, | 
 |     MSIDBERROR_BADPROPERTY = 21, | 
 |     MSIDBERROR_MISSINGDATA = 22, | 
 |     MSIDBERROR_BADCATEGORY = 23, | 
 |     MSIDBERROR_BADKEYTABLE = 24, | 
 |     MSIDBERROR_BADMAXMINVALUES = 25, | 
 |     MSIDBERROR_BADCABINET = 26, | 
 |     MSIDBERROR_BADSHORTCUT= 27, | 
 |     MSIDBERROR_STRINGOVERFLOW = 28, | 
 |     MSIDBERROR_BADLOCALIZEATTRIB = 29 | 
 | } MSIDBERROR;  | 
 |  | 
 | /* view manipulation */ | 
 | UINT WINAPI MsiViewFetch(MSIHANDLE,MSIHANDLE*); | 
 | UINT WINAPI MsiViewExecute(MSIHANDLE,MSIHANDLE); | 
 | UINT WINAPI MsiViewClose(MSIHANDLE); | 
 | UINT WINAPI MsiDatabaseOpenViewA(MSIHANDLE,LPCSTR,MSIHANDLE*); | 
 | UINT WINAPI MsiDatabaseOpenViewW(MSIHANDLE,LPCWSTR,MSIHANDLE*); | 
 | #define     MsiDatabaseOpenView WINELIB_NAME_AW(MsiDatabaseOpenView) | 
 | MSIDBERROR WINAPI MsiViewGetErrorA(MSIHANDLE,LPSTR,DWORD*); | 
 | MSIDBERROR WINAPI MsiViewGetErrorW(MSIHANDLE,LPWSTR,DWORD*); | 
 | #define     MsiViewGetError WINELIB_NAME_AW(MsiViewGetError) | 
 |  | 
 | /* record manipulation */ | 
 | MSIHANDLE WINAPI MsiCreateRecord(unsigned int); | 
 | UINT WINAPI MsiRecordClearData(MSIHANDLE); | 
 | UINT WINAPI MsiRecordSetInteger(MSIHANDLE,unsigned int,int); | 
 | UINT WINAPI MsiRecordSetStringA(MSIHANDLE,unsigned int,LPCSTR); | 
 | UINT WINAPI MsiRecordSetStringW(MSIHANDLE,unsigned int,LPCWSTR); | 
 | #define     MsiRecordSetString WINELIB_NAME_AW(MsiRecordSetString) | 
 | UINT WINAPI MsiRecordGetStringA(MSIHANDLE,unsigned int,LPSTR,DWORD*); | 
 | UINT WINAPI MsiRecordGetStringW(MSIHANDLE,unsigned int,LPWSTR,DWORD*); | 
 | #define     MsiRecordGetString WINELIB_NAME_AW(MsiRecordGetString) | 
 | UINT WINAPI MsiRecordGetFieldCount(MSIHANDLE); | 
 | int WINAPI MsiRecordGetInteger(MSIHANDLE,unsigned int); | 
 | UINT WINAPI MsiRecordDataSize(MSIHANDLE,unsigned int); | 
 | BOOL WINAPI MsiRecordIsNull(MSIHANDLE,unsigned int); | 
 | UINT WINAPI MsiFormatRecordA(MSIHANDLE,MSIHANDLE,LPSTR,DWORD*); | 
 | UINT WINAPI MsiFormatRecordW(MSIHANDLE,MSIHANDLE,LPWSTR,DWORD*); | 
 | #define     MsiFormatRecord WINELIB_NAME_AW(MsiFormatRecord) | 
 | UINT WINAPI MsiRecordSetStreamA(MSIHANDLE,unsigned int,LPCSTR); | 
 | UINT WINAPI MsiRecordSetStreamW(MSIHANDLE,unsigned int,LPCWSTR); | 
 | #define     MsiRecordSetStream WINELIB_NAME_AW(MsiRecordSetStream) | 
 | UINT WINAPI MsiRecordReadStream(MSIHANDLE,unsigned int,char*,DWORD *); | 
 |  | 
 | UINT WINAPI MsiDatabaseGetPrimaryKeysA(MSIHANDLE,LPCSTR,MSIHANDLE*); | 
 | UINT WINAPI MsiDatabaseGetPrimaryKeysW(MSIHANDLE,LPCWSTR,MSIHANDLE*); | 
 | #define     MsiDatabaseGetPrimaryKeys WINELIB_NAME_AW(MsiDatabaseGetPrimaryKeys) | 
 |  | 
 | /* installing */ | 
 | UINT WINAPI MsiDoActionA(MSIHANDLE,LPCSTR ); | 
 | UINT WINAPI MsiDoActionW(MSIHANDLE,LPCWSTR ); | 
 | #define     MsiDoAction WINELIB_NAME_AW(MsiDoAction) | 
 |  | 
 | /* database transforms */ | 
 | UINT WINAPI MsiDatabaseApplyTransformA(MSIHANDLE,LPCSTR,int); | 
 | UINT WINAPI MsiDatabaseApplyTransformW(MSIHANDLE,LPCWSTR,int); | 
 | #define     MsiDatabaseApplyTransform WINELIB_NAME_AW(MsiDatabaseApplyTransform) | 
 | UINT WINAPI MsiDatabaseGenerateTransformA(MSIHANDLE,MSIHANDLE,LPCSTR,int,int); | 
 | UINT WINAPI MsiDatabaseGenerateTransformW(MSIHANDLE,MSIHANDLE,LPCWSTR,int,int); | 
 | #define     MsiDatabaseGenerateTransform WINELIB_NAME_AW(MsiDatabaseGenerateTransform) | 
 |  | 
 | UINT WINAPI MsiDatabaseCommit(MSIHANDLE); | 
 |  | 
 | /* install state */ | 
 | UINT WINAPI MsiGetFeatureStateA(MSIHANDLE,LPSTR,INSTALLSTATE*,INSTALLSTATE*); | 
 | UINT WINAPI MsiGetFeatureStateW(MSIHANDLE,LPWSTR,INSTALLSTATE*,INSTALLSTATE*); | 
 | #define     MsiGetFeatureState WINELIB_NAME_AW(MsiGetFeatureState) | 
 | UINT WINAPI MsiSetComponentStateA(MSIHANDLE,LPCSTR,INSTALLSTATE); | 
 | UINT WINAPI MsiSetComponentStateW(MSIHANDLE,LPCWSTR,INSTALLSTATE); | 
 | #define     MsiSetComponentState WINELIB_NAME_AW(MsiSetComponentState) | 
 | UINT WINAPI MsiGetComponentStateA(MSIHANDLE,LPSTR,INSTALLSTATE*,INSTALLSTATE*); | 
 | UINT WINAPI MsiGetComponentStateW(MSIHANDLE,LPWSTR,INSTALLSTATE*,INSTALLSTATE*); | 
 | #define     MsiGetComponentState WINELIB_NAME_AW(MsiGetComponentState) | 
 |  | 
 | MSICONDITION WINAPI MsiEvaluateConditionA(MSIHANDLE,LPCSTR); | 
 | MSICONDITION WINAPI MsiEvaluateConditionW(MSIHANDLE,LPCWSTR); | 
 | #define     MsiEvaluateCondition WINELIB_NAME_AW(MsiEvaluateCondition) | 
 |  | 
 | /* property functions */ | 
 | UINT WINAPI MsiGetPropertyA(MSIHANDLE, LPCSTR, LPSTR, DWORD*); | 
 | UINT WINAPI MsiGetPropertyW(MSIHANDLE, LPCWSTR, LPWSTR, DWORD*); | 
 | #define     MsiGetProperty WINELIB_NAME_AW(MsiGetProperty) | 
 |  | 
 | UINT WINAPI MsiSetPropertyA(MSIHANDLE, LPCSTR, LPCSTR); | 
 | UINT WINAPI MsiSetPropertyW(MSIHANDLE, LPCWSTR, LPCWSTR); | 
 | #define     MsiSetProperty WINELIB_NAME_AW(MsiSetProperty) | 
 |  | 
 | UINT WINAPI MsiGetTargetPathA(MSIHANDLE,LPCSTR,LPSTR,DWORD*); | 
 | UINT WINAPI MsiGetTargetPathW(MSIHANDLE,LPCWSTR,LPWSTR,DWORD*); | 
 | #define     MsiGetTargetPath WINELIB_NAME_AW(MsiGetTargetPath) | 
 |  | 
 | UINT WINAPI MsiSetTargetPathA(MSIHANDLE, LPCSTR, LPCSTR); | 
 | UINT WINAPI MsiSetTargetPathW(MSIHANDLE, LPCWSTR, LPCWSTR); | 
 | #define     MsiSetTargetPath WINELIB_NAME_AW(MsiSetTargetPath) | 
 |  | 
 | UINT WINAPI MsiGetSourcePathA(MSIHANDLE,LPCSTR,LPSTR,DWORD*); | 
 | UINT WINAPI MsiGetSourcePathW(MSIHANDLE,LPCWSTR,LPWSTR,DWORD*); | 
 | #define     MsiGetSourcePath WINELIB_NAME_AW(MsiGetSourcePath) | 
 |  | 
 | MSIHANDLE WINAPI MsiGetActiveDatabase(MSIHANDLE); | 
 |  | 
 | UINT WINAPI MsiViewGetColumnInfo(MSIHANDLE, MSICOLINFO, MSIHANDLE*); | 
 | INT WINAPI MsiProcessMessage(MSIHANDLE, INSTALLMESSAGE, MSIHANDLE); | 
 |  | 
 | UINT WINAPI MsiSetFeatureStateA(MSIHANDLE, LPCSTR, INSTALLSTATE); | 
 | UINT WINAPI MsiSetFeatureStateW(MSIHANDLE, LPCWSTR, INSTALLSTATE); | 
 | #define     MsiSetFeatureState WINELIB_NAME_AW(MsiSetFeatureState) | 
 |  | 
 | UINT WINAPI MsiPreviewDialogA(MSIHANDLE, LPCSTR); | 
 | UINT WINAPI MsiPreviewDialogW(MSIHANDLE, LPCWSTR); | 
 | #define     MsiPreviewDialog WINELIB_NAME_AW(MsiPreviewDialog) | 
 |  | 
 | UINT WINAPI MsiPreviewBillboardA(MSIHANDLE, LPCSTR, LPCSTR); | 
 | UINT WINAPI MsiPreviewBillboardW(MSIHANDLE, LPCWSTR, LPCWSTR); | 
 | #define     MsiPreviewBillboard WINELIB_NAME_AW(MsiPreviewBillboard) | 
 |  | 
 | UINT WINAPI MsiGetSummaryInformationA(MSIHANDLE, LPCSTR, UINT, MSIHANDLE *); | 
 | UINT WINAPI MsiGetSummaryInformationW(MSIHANDLE, LPCWSTR, UINT, MSIHANDLE *); | 
 | #define     MsiGetSummaryInformation WINELIB_NAME_AW(MsiGetSummaryInformation) | 
 |  | 
 | UINT WINAPI MsiSummaryInfoGetPropertyA(MSIHANDLE,UINT,UINT*,INT*,FILETIME*,LPSTR,DWORD*); | 
 | UINT WINAPI MsiSummaryInfoGetPropertyW(MSIHANDLE,UINT,UINT*,INT*,FILETIME*,LPWSTR,DWORD*); | 
 | #define     MsiSummaryInfoGetProperty WINELIB_NAME_AW(MsiSummaryInfoGetProperty) | 
 |  | 
 | UINT WINAPI MsiSummaryInfoSetPropertyA(MSIHANDLE, UINT, UINT, INT, FILETIME*, LPCSTR); | 
 | UINT WINAPI MsiSummaryInfoSetPropertyW(MSIHANDLE, UINT, UINT, INT, FILETIME*, LPCWSTR); | 
 | #define     MsiSummaryInfoSetProperty WINELIB_NAME_AW(MsiSummaryInfoSetProperty) | 
 |  | 
 | UINT WINAPI MsiDatabaseExportA(MSIHANDLE, LPCSTR, LPCSTR, LPCSTR); | 
 | UINT WINAPI MsiDatabaseExportW(MSIHANDLE, LPCWSTR, LPCWSTR, LPCWSTR); | 
 | #define     MsiDatabaseExport WINELIB_NAME_AW(MsiDatabaseExport) | 
 |  | 
 | UINT WINAPI MsiDatabaseImportA(MSIHANDLE, LPCSTR, LPCSTR); | 
 | UINT WINAPI MsiDatabaseImportW(MSIHANDLE, LPCWSTR, LPCWSTR); | 
 | #define     MsiDatabaseImport WINELIB_NAME_AW(MsiDatabaseImport) | 
 |  | 
 | UINT WINAPI MsiOpenDatabaseW(LPCWSTR, LPCWSTR, MSIHANDLE*); | 
 | UINT WINAPI MsiOpenDatabaseA(LPCSTR, LPCSTR, MSIHANDLE*); | 
 | #define     MsiOpenDatabase WINELIB_NAME_AW(MsiOpenDatabase) | 
 |  | 
 | UINT WINAPI MsiDatabaseIsTablePersistentA(MSIHANDLE, LPSTR); | 
 | UINT WINAPI MsiDatabaseIsTablePersistentW(MSIHANDLE, LPWSTR); | 
 | #define     MsiDatabaseIsTablePersistent WINELIB_NAME_AW(MsiDatabaseIsTablePersistent) | 
 |  | 
 | UINT WINAPI MsiSummaryInfoPersist(MSIHANDLE); | 
 | UINT WINAPI MsiSummaryInfoGetPropertyCount(MSIHANDLE,UINT*); | 
 |  | 
 | UINT WINAPI MsiEnableUIPreview(MSIHANDLE, MSIHANDLE*); | 
 | BOOL WINAPI MsiGetMode(MSIHANDLE, MSIRUNMODE); | 
 |  | 
 | UINT WINAPI MsiViewModify(MSIHANDLE, MSIMODIFY, MSIHANDLE); | 
 |  | 
 | #endif /* __WINE_MSIQUERY_H */ |