Forgot these files, sorry...
[reactos.git] / reactos / include / psdk / msiquery.h
index b1de190..fa42f17 100644 (file)
@@ -37,6 +37,14 @@ typedef enum tagMSICOLINFO
     MSICOLINFO_TYPES = 1
 } MSICOLINFO;
 
+typedef enum tagMSICOSTTREE
+{
+    MSICOSTTREE_SELFONLY = 0,
+    MSICOSTTREE_CHILDREN = 1,
+    MSICOSTTREE_PARENTS  = 2,
+    MSICOSTTREE_PRODUCT  = 3,
+} MSICOSTTREE;
+
 typedef enum tagMSIMODIFY
 {
     MSIMODIFY_REFRESH = 0,
@@ -53,7 +61,7 @@ typedef enum tagMSIMODIFY
     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
@@ -67,6 +75,8 @@ typedef enum tagMSIMODIFY
 #define MSIDBOPEN_CREATEDIRECT (LPCWSTR)4
 #endif
 
+#define MSIDBOPEN_PATCHFILE 32 / sizeof(*MSIDBOPEN_READONLY)
+
 typedef enum tagMSIRUNMODE
 {
     MSIRUNMODE_ADMIN = 0,
@@ -134,6 +144,11 @@ typedef enum tagMSIDBSTATE
     MSIDBSTATE_WRITE = 1
 } MSIDBSTATE;
 
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /* view manipulation */
 UINT WINAPI MsiViewFetch(MSIHANDLE,MSIHANDLE*);
 UINT WINAPI MsiViewExecute(MSIHANDLE,MSIHANDLE);
@@ -141,33 +156,33 @@ 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,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*);
@@ -189,14 +204,17 @@ UINT WINAPI MsiDatabaseGenerateTransformW(MSIHANDLE,MSIHANDLE,LPCWSTR,int,int);
 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);
@@ -204,24 +222,24 @@ MSICONDITION WINAPI MsiEvaluateConditionW(MSIHANDLE,LPCWSTR);
 #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);
@@ -241,12 +259,16 @@ 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,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);
@@ -265,8 +287,8 @@ UINT WINAPI MsiOpenDatabaseW(LPCWSTR, LPCWSTR, MSIHANDLE*);
 UINT WINAPI MsiOpenDatabaseA(LPCSTR, LPCSTR, MSIHANDLE*);
 #define     MsiOpenDatabase WINELIB_NAME_AW(MsiOpenDatabase)
 
-MSICONDITION WINAPI MsiDatabaseIsTablePersistentA(MSIHANDLE, LPSTR);
-MSICONDITION 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);
@@ -274,7 +296,7 @@ UINT WINAPI MsiSequenceW(MSIHANDLE, LPCWSTR, 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);
@@ -282,4 +304,18 @@ BOOL 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 */