*
* 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
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef __WINE_MSIQUERY_H
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_VALIDATE_DELETE = 11
} MSIMODIFY;
-#ifndef __WINESRC__
+#ifndef WINE_NO_UNICODE_MACROS
#define MSIDBOPEN_READONLY (LPCTSTR)0
#define MSIDBOPEN_TRANSACT (LPCTSTR)1
#define MSIDBOPEN_DIRECT (LPCTSTR)2
#define MSIDBOPEN_CREATEDIRECT (LPCWSTR)4
#endif
+#define MSIDBOPEN_PATCHFILE 32 / sizeof(*MSIDBOPEN_READONLY)
+
typedef enum tagMSIRUNMODE
{
MSIRUNMODE_ADMIN = 0,
MSIDBERROR_BADLOCALIZEATTRIB = 29
} MSIDBERROR;
+typedef enum tagMSIDBSTATE
+{
+ MSIDBSTATE_ERROR = -1,
+ MSIDBSTATE_READ = 0,
+ MSIDBSTATE_WRITE = 1
+} MSIDBSTATE;
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* view manipulation */
UINT WINAPI MsiViewFetch(MSIHANDLE,MSIHANDLE*);
UINT WINAPI MsiViewExecute(MSIHANDLE,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*);
+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(unsigned int);
+MSIHANDLE WINAPI MsiCreateRecord(UINT);
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);
+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,unsigned int,LPSTR,DWORD*);
-UINT WINAPI MsiRecordGetStringW(MSIHANDLE,unsigned int,LPWSTR,DWORD*);
+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,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*);
+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,unsigned int,LPCSTR);
-UINT WINAPI MsiRecordSetStreamW(MSIHANDLE,unsigned int,LPCWSTR);
+UINT WINAPI MsiRecordSetStreamA(MSIHANDLE,UINT,LPCSTR);
+UINT WINAPI MsiRecordSetStreamW(MSIHANDLE,UINT,LPCWSTR);
#define MsiRecordSetStream WINELIB_NAME_AW(MsiRecordSetStream)
-UINT WINAPI MsiRecordReadStream(MSIHANDLE,unsigned int,char*,DWORD *);
+UINT WINAPI MsiRecordReadStream(MSIHANDLE,UINT,char*,LPDWORD);
UINT WINAPI MsiDatabaseGetPrimaryKeysA(MSIHANDLE,LPCSTR,MSIHANDLE*);
UINT WINAPI MsiDatabaseGetPrimaryKeysW(MSIHANDLE,LPCWSTR,MSIHANDLE*);
UINT WINAPI MsiDatabaseCommit(MSIHANDLE);
/* install state */
-UINT WINAPI MsiGetFeatureStateA(MSIHANDLE,LPSTR,INSTALLSTATE*,INSTALLSTATE*);
-UINT WINAPI MsiGetFeatureStateW(MSIHANDLE,LPWSTR,INSTALLSTATE*,INSTALLSTATE*);
+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,LPSTR,INSTALLSTATE*,INSTALLSTATE*);
-UINT WINAPI MsiGetComponentStateW(MSIHANDLE,LPWSTR,INSTALLSTATE*,INSTALLSTATE*);
+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);
#define MsiEvaluateCondition WINELIB_NAME_AW(MsiEvaluateCondition)
/* property functions */
-UINT WINAPI MsiGetPropertyA(MSIHANDLE, LPCSTR, LPSTR, DWORD*);
-UINT WINAPI MsiGetPropertyW(MSIHANDLE, LPCWSTR, LPWSTR, DWORD*);
+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,DWORD*);
-UINT WINAPI MsiGetTargetPathW(MSIHANDLE,LPCWSTR,LPWSTR,DWORD*);
+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,DWORD*);
-UINT WINAPI MsiGetSourcePathW(MSIHANDLE,LPCWSTR,LPWSTR,DWORD*);
+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 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,UINT*,INT*,FILETIME*,LPSTR,DWORD*);
-UINT WINAPI MsiSummaryInfoGetPropertyW(MSIHANDLE,UINT,UINT*,INT*,FILETIME*,LPWSTR,DWORD*);
+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 MsiOpenDatabaseA(LPCSTR, LPCSTR, MSIHANDLE*);
#define MsiOpenDatabase WINELIB_NAME_AW(MsiOpenDatabase)
-UINT WINAPI MsiDatabaseIsTablePersistentA(MSIHANDLE, LPSTR);
-UINT WINAPI MsiDatabaseIsTablePersistentW(MSIHANDLE, LPWSTR);
+MSICONDITION WINAPI MsiDatabaseIsTablePersistentA(MSIHANDLE, LPCSTR);
+MSICONDITION WINAPI MsiDatabaseIsTablePersistentW(MSIHANDLE, LPCWSTR);
#define MsiDatabaseIsTablePersistent WINELIB_NAME_AW(MsiDatabaseIsTablePersistent)
UINT WINAPI MsiSequenceA(MSIHANDLE, LPCSTR, INT);
#define MsiSequence WINELIB_NAME_AW(MsiSequence)
UINT WINAPI MsiSummaryInfoPersist(MSIHANDLE);
-UINT WINAPI MsiSummaryInfoGetPropertyCount(MSIHANDLE,UINT*);
+UINT WINAPI MsiSummaryInfoGetPropertyCount(MSIHANDLE,PUINT);
UINT WINAPI MsiEnableUIPreview(MSIHANDLE, MSIHANDLE*);
BOOL WINAPI MsiGetMode(MSIHANDLE, MSIRUNMODE);
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 */