2 * Copyright (C) 2002,2003 Mike McCormack
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.
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.
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
19 #ifndef __WINE_MSIQUERY_H
20 #define __WINE_MSIQUERY_H
24 typedef enum tagMSICONDITION
26 MSICONDITION_FALSE = 0,
27 MSICONDITION_TRUE = 1,
28 MSICONDITION_NONE = 2,
29 MSICONDITION_ERROR = 3,
32 #define MSI_NULL_INTEGER 0x80000000
34 typedef enum tagMSICOLINFO
40 typedef enum tagMSIMODIFY
42 MSIMODIFY_REFRESH = 0,
46 MSIMODIFY_REPLACE = 4,
49 MSIMODIFY_INSERT_TEMPORARY = 7,
50 MSIMODIFY_VALIDATE = 8,
51 MSIMODIFY_VALIDATE_NEW = 9,
52 MSIMODIFY_VALIDATE_FIELD = 10,
53 MSIMODIFY_VALIDATE_DELETE = 11
56 #define MSI_NULL_INTEGER 0x80000000
58 #define MSIDBOPEN_READONLY (LPCTSTR)0
59 #define MSIDBOPEN_TRANSACT (LPCTSTR)1
60 #define MSIDBOPEN_DIRECT (LPCTSTR)2
61 #define MSIDBOPEN_CREATE (LPCTSTR)3
64 /* view manipulation */
65 UINT WINAPI MsiViewFetch(MSIHANDLE,MSIHANDLE*);
66 UINT WINAPI MsiViewExecute(MSIHANDLE,MSIHANDLE);
67 UINT WINAPI MsiViewClose(MSIHANDLE);
68 UINT WINAPI MsiDatabaseOpenViewA(MSIHANDLE,LPCSTR,MSIHANDLE*);
69 UINT WINAPI MsiDatabaseOpenViewW(MSIHANDLE,LPCWSTR,MSIHANDLE*);
70 #define MsiDatabaseOpenView WINELIB_NAME_AW(MsiDatabaseOpenView)
72 /* record manipulation */
73 MSIHANDLE WINAPI MsiCreateRecord(unsigned int);
74 UINT WINAPI MsiRecordClearData(MSIHANDLE);
75 UINT WINAPI MsiRecordSetInteger(MSIHANDLE,unsigned int,int);
76 UINT WINAPI MsiRecordSetStringA(MSIHANDLE,unsigned int,LPCSTR);
77 UINT WINAPI MsiRecordSetStringW(MSIHANDLE,unsigned int,LPCWSTR);
78 #define MsiRecordSetString WINELIB_NAME_AW(MsiRecordSetString)
79 UINT WINAPI MsiRecordGetStringA(MSIHANDLE,unsigned int,LPSTR,DWORD*);
80 UINT WINAPI MsiRecordGetStringW(MSIHANDLE,unsigned int,LPWSTR,DWORD*);
81 #define MsiRecordGetString WINELIB_NAME_AW(MsiRecordGetString)
82 UINT WINAPI MsiRecordGetFieldCount(MSIHANDLE);
83 int WINAPI MsiRecordGetInteger(MSIHANDLE,unsigned int);
84 UINT WINAPI MsiRecordDataSize(MSIHANDLE,unsigned int);
85 BOOL WINAPI MsiRecordIsNull(MSIHANDLE,unsigned int);
86 UINT WINAPI MsiFormatRecordA(MSIHANDLE,MSIHANDLE,LPSTR,DWORD*);
87 UINT WINAPI MsiFormatRecordW(MSIHANDLE,MSIHANDLE,LPWSTR,DWORD*);
88 #define MsiFormatRecord WINELIB_NAME_AW(MsiFormatRecord)
89 UINT WINAPI MsiRecordSetStreamA(MSIHANDLE,unsigned int,LPCSTR);
90 UINT WINAPI MsiRecordSetStreamW(MSIHANDLE,unsigned int,LPCWSTR);
91 #define MsiRecordSetStream WINELIB_NAME_AW(MsiRecordSetStream)
92 UINT WINAPI MsiRecordReadStream(MSIHANDLE,unsigned int,char*,DWORD *);
94 UINT WINAPI MsiDatabaseGetPrimaryKeysA(MSIHANDLE,LPCSTR,MSIHANDLE*);
95 UINT WINAPI MsiDatabaseGetPrimaryKeysW(MSIHANDLE,LPCWSTR,MSIHANDLE*);
96 #define MsiDatabaseGetPrimaryKeys WINELIB_NAME_AW(MsiDatabaseGetPrimaryKeys)
99 UINT WINAPI MsiDoActionA(MSIHANDLE,LPCSTR );
100 UINT WINAPI MsiDoActionW(MSIHANDLE,LPCWSTR );
101 #define MsiDoAction WINELIB_NAME_AW(MsiDoAction)
103 /* database transforms */
104 UINT WINAPI MsiDatabaseApplyTransformA(MSIHANDLE,LPCSTR,int);
105 UINT WINAPI MsiDatabaseApplyTransformW(MSIHANDLE,LPCWSTR,int);
106 #define MsiDatabaseApplyTransform WINELIB_NAME_AW(MsiDatabaseApplyTransform)
107 UINT WINAPI MsiDatabaseGenerateTransformA(MSIHANDLE,MSIHANDLE,LPCSTR,int,int);
108 UINT WINAPI MsiDatabaseGenerateTransformW(MSIHANDLE,MSIHANDLE,LPCWSTR,int,int);
109 #define MsiDatabaseGenerateTransform WINELIB_NAME_AW(MsiDatabaseGenerateTransform)
111 UINT WINAPI MsiDatabaseCommit(MSIHANDLE);
114 UINT WINAPI MsiGetFeatureStateA(MSIHANDLE,LPSTR,INSTALLSTATE*,INSTALLSTATE*);
115 UINT WINAPI MsiGetFeatureStateW(MSIHANDLE,LPWSTR,INSTALLSTATE*,INSTALLSTATE*);
116 #define MsiGetFeatureState WINELIB_NAME_AW(MsiGetFeatureState)
117 UINT WINAPI MsiGetComponentStateA(MSIHANDLE,LPSTR,INSTALLSTATE*,INSTALLSTATE*);
118 UINT WINAPI MsiGetComponentStateW(MSIHANDLE,LPWSTR,INSTALLSTATE*,INSTALLSTATE*);
119 #define MsiGetComponentState WINELIB_NAME_AW(MsiGetComponentState)
121 MSICONDITION WINAPI MsiEvaluateConditionA(MSIHANDLE,LPCSTR);
122 MSICONDITION WINAPI MsiEvaluateConditionW(MSIHANDLE,LPCWSTR);
123 #define MsiEvaluateCondition WINELIB_NAME_AW(MsiEvaluateCondition)
125 /* property functions */
126 UINT WINAPI MsiGetPropertyA(MSIHANDLE hInstall, LPCSTR szName,
127 LPSTR szValueBuf, DWORD* pchValueBuf);
128 UINT WINAPI MsiGetPropertyW(MSIHANDLE hInstall, LPCWSTR szName,
129 LPWSTR szValueBuf, DWORD* pchValueBuf);
130 #define MsiGetProperty WINELIB_NAME_AW(MsiGetProperty)
132 UINT WINAPI MsiSetPropertyA(MSIHANDLE hInstall, LPCSTR szName, LPCSTR szValue);
133 UINT WINAPI MsiSetPropertyW(MSIHANDLE hInstall, LPCWSTR szName,
135 #define MsiSetProperty WINELIB_NAME_AW(MsiSetProperty)
137 UINT WINAPI MsiGetTargetPathA(MSIHANDLE,LPCSTR,LPSTR,DWORD*);
138 UINT WINAPI MsiGetTargetPathW(MSIHANDLE,LPCWSTR,LPWSTR,DWORD*);
139 #define MsiGetTargetPath WINELIB_NAME_AW(MsiGetTargetPath)
141 UINT WINAPI MsiSetTargetPathA(MSIHANDLE, LPCSTR, LPCSTR);
142 UINT WINAPI MsiSetTargetPathW(MSIHANDLE, LPCWSTR, LPCWSTR);
143 #define MsiSetTargetPath WINELIB_NAME_AW(MsiSetTargetPath)
145 UINT WINAPI MsiGetSourcePathA(MSIHANDLE,LPCSTR,LPSTR,DWORD*);
146 UINT WINAPI MsiGetSourcePathW(MSIHANDLE,LPCWSTR,LPWSTR,DWORD*);
147 #define MsiGetSourcePath WINELIB_NAME_AW(MsiGetSourcePath)
149 MSIHANDLE WINAPI MsiGetActiveDatabase(MSIHANDLE);
151 UINT WINAPI MsiViewGetColumnInfo( MSIHANDLE, MSICOLINFO, MSIHANDLE*);
152 INT WINAPI MsiProcessMessage( MSIHANDLE, INSTALLMESSAGE, MSIHANDLE);
154 UINT WINAPI MsiSetFeatureStateA( MSIHANDLE, LPCSTR, INSTALLSTATE);
155 UINT WINAPI MsiSetFeatureStateW( MSIHANDLE, LPCWSTR, INSTALLSTATE);
156 #define MsiSetFeatureState WINELIB_NAME_AW(MsiSetFeatureState)
158 #endif /* __WINE_MSIQUERY_H */