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 hInstall
, LPCSTR szName
,
150 LPSTR szValueBuf
, DWORD
* pchValueBuf
);
151 UINT WINAPI
MsiGetPropertyW(MSIHANDLE hInstall
, LPCWSTR szName
,
152 LPWSTR szValueBuf
, DWORD
* pchValueBuf
);
153 #define MsiGetProperty WINELIB_NAME_AW(MsiGetProperty)
155 UINT WINAPI
MsiSetPropertyA(MSIHANDLE hInstall
, LPCSTR szName
, LPCSTR szValue
);
156 UINT WINAPI
MsiSetPropertyW(MSIHANDLE hInstall
, LPCWSTR szName
,
158 #define MsiSetProperty WINELIB_NAME_AW(MsiSetProperty)
160 UINT WINAPI
MsiGetTargetPathA(MSIHANDLE
,LPCSTR
,LPSTR
,DWORD
*);
161 UINT WINAPI
MsiGetTargetPathW(MSIHANDLE
,LPCWSTR
,LPWSTR
,DWORD
*);
162 #define MsiGetTargetPath WINELIB_NAME_AW(MsiGetTargetPath)
164 UINT WINAPI
MsiSetTargetPathA(MSIHANDLE
, LPCSTR
, LPCSTR
);
165 UINT WINAPI
MsiSetTargetPathW(MSIHANDLE
, LPCWSTR
, LPCWSTR
);
166 #define MsiSetTargetPath WINELIB_NAME_AW(MsiSetTargetPath)
168 UINT WINAPI
MsiGetSourcePathA(MSIHANDLE
,LPCSTR
,LPSTR
,DWORD
*);
169 UINT WINAPI
MsiGetSourcePathW(MSIHANDLE
,LPCWSTR
,LPWSTR
,DWORD
*);
170 #define MsiGetSourcePath WINELIB_NAME_AW(MsiGetSourcePath)
172 MSIHANDLE WINAPI
MsiGetActiveDatabase(MSIHANDLE
);
174 UINT WINAPI
MsiViewGetColumnInfo( MSIHANDLE
, MSICOLINFO
, MSIHANDLE
*);
175 INT WINAPI
MsiProcessMessage( MSIHANDLE
, INSTALLMESSAGE
, MSIHANDLE
);
177 UINT WINAPI
MsiSetFeatureStateA( MSIHANDLE
, LPCSTR
, INSTALLSTATE
);
178 UINT WINAPI
MsiSetFeatureStateW( MSIHANDLE
, LPCWSTR
, INSTALLSTATE
);
179 #define MsiSetFeatureState WINELIB_NAME_AW(MsiSetFeatureState)
181 BOOL WINAPI
MsiGetMode(MSIHANDLE
, MSIRUNMODE
);
183 #endif /* __WINE_MSIQUERY_H */