mirror of
https://github.com/reactos/reactos.git
synced 2024-11-18 21:13:52 +00:00
341 lines
13 KiB
C
341 lines
13 KiB
C
/*
|
|
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, 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 tagMSICOSTTREE
|
|
{
|
|
MSICOSTTREE_SELFONLY = 0,
|
|
MSICOSTTREE_CHILDREN = 1,
|
|
MSICOSTTREE_PARENTS = 2,
|
|
MSICOSTTREE_PRODUCT = 3,
|
|
} MSICOSTTREE;
|
|
|
|
typedef enum tagMSIMODIFY
|
|
{
|
|
MSIMODIFY_SEEK = -1,
|
|
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;
|
|
|
|
#ifndef WINE_NO_UNICODE_MACROS
|
|
#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
|
|
#else
|
|
#define MSIDBOPEN_READONLY (LPCWSTR)0
|
|
#define MSIDBOPEN_TRANSACT (LPCWSTR)1
|
|
#define MSIDBOPEN_DIRECT (LPCWSTR)2
|
|
#define MSIDBOPEN_CREATE (LPCWSTR)3
|
|
#define MSIDBOPEN_CREATEDIRECT (LPCWSTR)4
|
|
#endif
|
|
|
|
#define MSIDBOPEN_PATCHFILE 32 / sizeof(*MSIDBOPEN_READONLY)
|
|
|
|
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;
|
|
|
|
typedef enum tagMSIDBSTATE
|
|
{
|
|
MSIDBSTATE_ERROR = -1,
|
|
MSIDBSTATE_READ = 0,
|
|
MSIDBSTATE_WRITE = 1
|
|
} MSIDBSTATE;
|
|
|
|
typedef enum tagMSITRANSFORM_VALIDATE
|
|
{
|
|
MSITRANSFORM_VALIDATE_LANGUAGE = 0x00000001,
|
|
MSITRANSFORM_VALIDATE_PRODUCT = 0x00000002,
|
|
MSITRANSFORM_VALIDATE_PLATFORM = 0x00000004,
|
|
MSITRANSFORM_VALIDATE_MAJORVERSION = 0x00000008,
|
|
MSITRANSFORM_VALIDATE_MINORVERSION = 0x00000010,
|
|
MSITRANSFORM_VALIDATE_UPDATEVERSION = 0x00000020,
|
|
MSITRANSFORM_VALIDATE_NEWLESSBASEVERSION = 0x00000040,
|
|
MSITRANSFORM_VALIDATE_NEWLESSEQUALBASEVERSION = 0x00000080,
|
|
MSITRANSFORM_VALIDATE_NEWEQUALBASEVERSION = 0x00000100,
|
|
MSITRANSFORM_VALIDATE_NEWGREATEREQUALBASEVERSION = 0x00000200,
|
|
MSITRANSFORM_VALIDATE_NEWGREATERBASEVERSION = 0x00000400,
|
|
MSITRANSFORM_VALIDATE_UPGRADECODE = 0x00000800
|
|
} MSITRANSFORM_VALIDATE;
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* 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,LPDWORD);
|
|
MSIDBERROR WINAPI MsiViewGetErrorW(MSIHANDLE,LPWSTR,LPDWORD);
|
|
#define MsiViewGetError WINELIB_NAME_AW(MsiViewGetError)
|
|
|
|
MSIDBSTATE WINAPI MsiGetDatabaseState(MSIHANDLE);
|
|
|
|
/* record manipulation */
|
|
MSIHANDLE WINAPI MsiCreateRecord(UINT);
|
|
UINT WINAPI MsiRecordClearData(MSIHANDLE);
|
|
UINT WINAPI MsiRecordSetInteger(MSIHANDLE,UINT,int);
|
|
UINT WINAPI MsiRecordSetStringA(MSIHANDLE,UINT,LPCSTR);
|
|
UINT WINAPI MsiRecordSetStringW(MSIHANDLE,UINT,LPCWSTR);
|
|
#define MsiRecordSetString WINELIB_NAME_AW(MsiRecordSetString)
|
|
UINT WINAPI MsiRecordGetStringA(MSIHANDLE,UINT,LPSTR,LPDWORD);
|
|
UINT WINAPI MsiRecordGetStringW(MSIHANDLE,UINT,LPWSTR,LPDWORD);
|
|
#define MsiRecordGetString WINELIB_NAME_AW(MsiRecordGetString)
|
|
UINT WINAPI MsiRecordGetFieldCount(MSIHANDLE);
|
|
int WINAPI MsiRecordGetInteger(MSIHANDLE,UINT);
|
|
UINT WINAPI MsiRecordDataSize(MSIHANDLE,UINT);
|
|
BOOL WINAPI MsiRecordIsNull(MSIHANDLE,UINT);
|
|
UINT WINAPI MsiFormatRecordA(MSIHANDLE,MSIHANDLE,LPSTR,LPDWORD);
|
|
UINT WINAPI MsiFormatRecordW(MSIHANDLE,MSIHANDLE,LPWSTR,LPDWORD);
|
|
#define MsiFormatRecord WINELIB_NAME_AW(MsiFormatRecord)
|
|
UINT WINAPI MsiRecordSetStreamA(MSIHANDLE,UINT,LPCSTR);
|
|
UINT WINAPI MsiRecordSetStreamW(MSIHANDLE,UINT,LPCWSTR);
|
|
#define MsiRecordSetStream WINELIB_NAME_AW(MsiRecordSetStream)
|
|
UINT WINAPI MsiRecordReadStream(MSIHANDLE,UINT,char*,LPDWORD);
|
|
|
|
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,LPCSTR,INSTALLSTATE*,INSTALLSTATE*);
|
|
UINT WINAPI MsiGetFeatureStateW(MSIHANDLE,LPCWSTR,INSTALLSTATE*,INSTALLSTATE*);
|
|
#define MsiGetFeatureState WINELIB_NAME_AW(MsiGetFeatureState)
|
|
UINT WINAPI MsiGetFeatureValidStatesA(MSIHANDLE,LPCSTR,LPDWORD);
|
|
UINT WINAPI MsiGetFeatureValidStatesW(MSIHANDLE,LPCWSTR,LPDWORD);
|
|
#define MsiGetFeatureValidStates WINELIB_NAME_AW(MsiGetFeatureValidStates)
|
|
UINT WINAPI MsiSetComponentStateA(MSIHANDLE,LPCSTR,INSTALLSTATE);
|
|
UINT WINAPI MsiSetComponentStateW(MSIHANDLE,LPCWSTR,INSTALLSTATE);
|
|
#define MsiSetComponentState WINELIB_NAME_AW(MsiSetComponentState)
|
|
UINT WINAPI MsiGetComponentStateA(MSIHANDLE,LPCSTR,INSTALLSTATE*,INSTALLSTATE*);
|
|
UINT WINAPI MsiGetComponentStateW(MSIHANDLE,LPCWSTR,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, LPDWORD);
|
|
UINT WINAPI MsiGetPropertyW(MSIHANDLE, LPCWSTR, LPWSTR, LPDWORD);
|
|
#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,LPDWORD);
|
|
UINT WINAPI MsiGetTargetPathW(MSIHANDLE,LPCWSTR,LPWSTR,LPDWORD);
|
|
#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,LPDWORD);
|
|
UINT WINAPI MsiGetSourcePathW(MSIHANDLE,LPCWSTR,LPWSTR,LPDWORD);
|
|
#define MsiGetSourcePath WINELIB_NAME_AW(MsiGetSourcePath)
|
|
|
|
MSIHANDLE WINAPI MsiGetActiveDatabase(MSIHANDLE);
|
|
|
|
UINT WINAPI MsiViewGetColumnInfo(MSIHANDLE, MSICOLINFO, MSIHANDLE*);
|
|
INT WINAPI MsiProcessMessage(MSIHANDLE, INSTALLMESSAGE, MSIHANDLE);
|
|
|
|
UINT WINAPI MsiSetFeatureAttributesA(MSIHANDLE, LPCSTR, DWORD);
|
|
UINT WINAPI MsiSetFeatureAttributesW(MSIHANDLE, LPCWSTR, DWORD);
|
|
#define MsiSetFeatureAttributes WINELIB_NAME_AW(MsiSetFeatureAttributes)
|
|
|
|
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 MsiCreateTransformSummaryInfoA(MSIHANDLE, MSIHANDLE, LPCSTR, int, int);
|
|
UINT WINAPI MsiCreateTransformSummaryInfoW(MSIHANDLE, MSIHANDLE, LPCWSTR, int, int);
|
|
#define MsiCreateTransformSummaryInfo WINELIB_NAME_AW(MsiCreateTransformSummaryInfo)
|
|
|
|
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,PUINT,LPINT,FILETIME*,LPSTR,LPDWORD);
|
|
UINT WINAPI MsiSummaryInfoGetPropertyW(MSIHANDLE,UINT,PUINT,LPINT,FILETIME*,LPWSTR,LPDWORD);
|
|
#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)
|
|
|
|
MSICONDITION WINAPI MsiDatabaseIsTablePersistentA(MSIHANDLE, LPCSTR);
|
|
MSICONDITION WINAPI MsiDatabaseIsTablePersistentW(MSIHANDLE, LPCWSTR);
|
|
#define MsiDatabaseIsTablePersistent WINELIB_NAME_AW(MsiDatabaseIsTablePersistent)
|
|
|
|
UINT WINAPI MsiSequenceA(MSIHANDLE, LPCSTR, INT);
|
|
UINT WINAPI MsiSequenceW(MSIHANDLE, LPCWSTR, INT);
|
|
#define MsiSequence WINELIB_NAME_AW(MsiSequence)
|
|
|
|
UINT WINAPI MsiSummaryInfoPersist(MSIHANDLE);
|
|
UINT WINAPI MsiSummaryInfoGetPropertyCount(MSIHANDLE,PUINT);
|
|
|
|
UINT WINAPI MsiEnableUIPreview(MSIHANDLE, MSIHANDLE*);
|
|
BOOL WINAPI MsiGetMode(MSIHANDLE, MSIRUNMODE);
|
|
UINT WINAPI MsiSetMode(MSIHANDLE, MSIRUNMODE, BOOL);
|
|
|
|
UINT WINAPI MsiViewModify(MSIHANDLE, MSIMODIFY, MSIHANDLE);
|
|
|
|
UINT WINAPI MsiGetFeatureCostA(MSIHANDLE, LPCSTR, MSICOSTTREE, INSTALLSTATE, LPINT);
|
|
UINT WINAPI MsiGetFeatureCostW(MSIHANDLE, LPCWSTR, MSICOSTTREE, INSTALLSTATE, LPINT);
|
|
#define MsiGetFeatureCost WINELIB_NAME_AW(MsiGetFeatureCost)
|
|
|
|
LANGID WINAPI MsiGetLanguage(MSIHANDLE);
|
|
|
|
UINT WINAPI MsiSetInstallLevel(MSIHANDLE, int);
|
|
|
|
MSIHANDLE WINAPI MsiGetLastErrorRecord(void);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* __WINE_MSIQUERY_H */
|