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
62 #define MSIDBOPEN_CREATEDIRECT (LPCTSTR)4
64 typedef enum tagMSIRUNMODE
67 MSIRUNMODE_ADVERTISE = 1,
68 MSIRUNMODE_MAINTENANCE = 2,
69 MSIRUNMODE_ROLLBACKENABLED = 3,
70 MSIRUNMODE_LOGENABLED = 4,
71 MSIRUNMODE_OPERATIONS = 5,
72 MSIRUNMODE_REBOOTATEND = 6,
73 MSIRUNMODE_REBOOTNOW = 7,
74 MSIRUNMODE_CABINET = 8,
75 MSIRUNMODE_SOURCESHORTNAMES = 9,
76 MSIRUNMODE_TARGETSHORTNAMES = 10,
77 MSIRUNMODE_RESERVED11 = 11,
78 MSIRUNMODE_WINDOWS9X = 12,
79 MSIRUNMODE_ZAWENABLED = 13,
80 MSIRUNMODE_RESERVED14 = 14,
81 MSIRUNMODE_RESERVED15 = 15,
82 MSIRUNMODE_SCHEDULED = 16,
83 MSIRUNMODE_ROLLBACK = 17,
84 MSIRUNMODE_COMMIT = 18
87 /* view manipulation */
88 UINT WINAPI MsiViewFetch(MSIHANDLE,MSIHANDLE*);
89 UINT WINAPI MsiViewExecute(MSIHANDLE,MSIHANDLE);
90 UINT WINAPI MsiViewClose(MSIHANDLE);
91 UINT WINAPI MsiDatabaseOpenViewA(MSIHANDLE,LPCSTR,MSIHANDLE*);
92 UINT WINAPI MsiDatabaseOpenViewW(MSIHANDLE,LPCWSTR,MSIHANDLE*);
93 #define MsiDatabaseOpenView WINELIB_NAME_AW(MsiDatabaseOpenView)
95 /* record manipulation */
96 MSIHANDLE WINAPI MsiCreateRecord(unsigned int);
97 UINT WINAPI MsiRecordClearData(MSIHANDLE);
98 UINT WINAPI MsiRecordSetInteger(MSIHANDLE,unsigned int,int);
99 UINT WINAPI MsiRecordSetStringA(MSIHANDLE,unsigned int,LPCSTR);
100 UINT WINAPI MsiRecordSetStringW(MSIHANDLE,unsigned int,LPCWSTR);
101 #define MsiRecordSetString WINELIB_NAME_AW(MsiRecordSetString)
102 UINT WINAPI MsiRecordGetStringA(MSIHANDLE,unsigned int,LPSTR,DWORD*);
103 UINT WINAPI MsiRecordGetStringW(MSIHANDLE,unsigned int,LPWSTR,DWORD*);
104 #define MsiRecordGetString WINELIB_NAME_AW(MsiRecordGetString)
105 UINT WINAPI MsiRecordGetFieldCount(MSIHANDLE);
106 int WINAPI MsiRecordGetInteger(MSIHANDLE,unsigned int);
107 UINT WINAPI MsiRecordDataSize(MSIHANDLE,unsigned int);
108 BOOL WINAPI MsiRecordIsNull(MSIHANDLE,unsigned int);
109 UINT WINAPI MsiFormatRecordA(MSIHANDLE,MSIHANDLE,LPSTR,DWORD*);
110 UINT WINAPI MsiFormatRecordW(MSIHANDLE,MSIHANDLE,LPWSTR,DWORD*);
111 #define MsiFormatRecord WINELIB_NAME_AW(MsiFormatRecord)
112 UINT WINAPI MsiRecordSetStreamA(MSIHANDLE,unsigned int,LPCSTR);
113 UINT WINAPI MsiRecordSetStreamW(MSIHANDLE,unsigned int,LPCWSTR);
114 #define MsiRecordSetStream WINELIB_NAME_AW(MsiRecordSetStream)
115 UINT WINAPI MsiRecordReadStream(MSIHANDLE,unsigned int,char*,DWORD *);
117 UINT WINAPI MsiDatabaseGetPrimaryKeysA(MSIHANDLE,LPCSTR,MSIHANDLE*);
118 UINT WINAPI MsiDatabaseGetPrimaryKeysW(MSIHANDLE,LPCWSTR,MSIHANDLE*);
119 #define MsiDatabaseGetPrimaryKeys WINELIB_NAME_AW(MsiDatabaseGetPrimaryKeys)
122 UINT WINAPI MsiDoActionA(MSIHANDLE,LPCSTR );
123 UINT WINAPI MsiDoActionW(MSIHANDLE,LPCWSTR );
124 #define MsiDoAction WINELIB_NAME_AW(MsiDoAction)
126 /* database transforms */
127 UINT WINAPI MsiDatabaseApplyTransformA(MSIHANDLE,LPCSTR,int);
128 UINT WINAPI MsiDatabaseApplyTransformW(MSIHANDLE,LPCWSTR,int);
129 #define MsiDatabaseApplyTransform WINELIB_NAME_AW(MsiDatabaseApplyTransform)
130 UINT WINAPI MsiDatabaseGenerateTransformA(MSIHANDLE,MSIHANDLE,LPCSTR,int,int);
131 UINT WINAPI MsiDatabaseGenerateTransformW(MSIHANDLE,MSIHANDLE,LPCWSTR,int,int);
132 #define MsiDatabaseGenerateTransform WINELIB_NAME_AW(MsiDatabaseGenerateTransform)
134 UINT WINAPI MsiDatabaseCommit(MSIHANDLE);
137 UINT WINAPI MsiGetFeatureStateA(MSIHANDLE,LPSTR,INSTALLSTATE*,INSTALLSTATE*);
138 UINT WINAPI MsiGetFeatureStateW(MSIHANDLE,LPWSTR,INSTALLSTATE*,INSTALLSTATE*);
139 #define MsiGetFeatureState WINELIB_NAME_AW(MsiGetFeatureState)
140 UINT WINAPI MsiGetComponentStateA(MSIHANDLE,LPSTR,INSTALLSTATE*,INSTALLSTATE*);
141 UINT WINAPI MsiGetComponentStateW(MSIHANDLE,LPWSTR,INSTALLSTATE*,INSTALLSTATE*);
142 #define MsiGetComponentState WINELIB_NAME_AW(MsiGetComponentState)
144 MSICONDITION WINAPI MsiEvaluateConditionA(MSIHANDLE,LPCSTR);
145 MSICONDITION WINAPI MsiEvaluateConditionW(MSIHANDLE,LPCWSTR);
146 #define MsiEvaluateCondition WINELIB_NAME_AW(MsiEvaluateCondition)
148 /* property functions */
149 UINT WINAPI MsiGetPropertyA(MSIHANDLE, LPCSTR, LPSTR, DWORD*);
150 UINT WINAPI MsiGetPropertyW(MSIHANDLE, LPCWSTR, LPWSTR, DWORD*);
151 #define MsiGetProperty WINELIB_NAME_AW(MsiGetProperty)
153 UINT WINAPI MsiSetPropertyA(MSIHANDLE, LPCSTR, LPCSTR);
154 UINT WINAPI MsiSetPropertyW(MSIHANDLE, LPCWSTR, LPCWSTR);
155 #define MsiSetProperty WINELIB_NAME_AW(MsiSetProperty)
157 UINT WINAPI MsiGetTargetPathA(MSIHANDLE,LPCSTR,LPSTR,DWORD*);
158 UINT WINAPI MsiGetTargetPathW(MSIHANDLE,LPCWSTR,LPWSTR,DWORD*);
159 #define MsiGetTargetPath WINELIB_NAME_AW(MsiGetTargetPath)
161 UINT WINAPI MsiSetTargetPathA(MSIHANDLE, LPCSTR, LPCSTR);
162 UINT WINAPI MsiSetTargetPathW(MSIHANDLE, LPCWSTR, LPCWSTR);
163 #define MsiSetTargetPath WINELIB_NAME_AW(MsiSetTargetPath)
165 UINT WINAPI MsiGetSourcePathA(MSIHANDLE,LPCSTR,LPSTR,DWORD*);
166 UINT WINAPI MsiGetSourcePathW(MSIHANDLE,LPCWSTR,LPWSTR,DWORD*);
167 #define MsiGetSourcePath WINELIB_NAME_AW(MsiGetSourcePath)
169 MSIHANDLE WINAPI MsiGetActiveDatabase(MSIHANDLE);
171 UINT WINAPI MsiViewGetColumnInfo(MSIHANDLE, MSICOLINFO, MSIHANDLE*);
172 INT WINAPI MsiProcessMessage(MSIHANDLE, INSTALLMESSAGE, MSIHANDLE);
174 UINT WINAPI MsiSetFeatureStateA(MSIHANDLE, LPCSTR, INSTALLSTATE);
175 UINT WINAPI MsiSetFeatureStateW(MSIHANDLE, LPCWSTR, INSTALLSTATE);
176 #define MsiSetFeatureState WINELIB_NAME_AW(MsiSetFeatureState)
178 BOOL WINAPI MsiGetMode(MSIHANDLE, MSIRUNMODE);
180 #endif /* __WINE_MSIQUERY_H */