diff options
| author | Paolo Bonzini <pbonzini@redhat.com> | 2012-10-23 09:38:02 +0200 |
|---|---|---|
| committer | Paolo Bonzini <pbonzini@redhat.com> | 2012-12-06 20:25:49 +0100 |
| commit | eb218cea45b45de0609bb9a136f59165fd191710 (patch) | |
| tree | 4c396d8cae6b00af9dcd90ee847e2bbc39c0b8c4 /include | |
| parent | 160e170fdf3c28be768c2c6417704251559396fc (diff) | |
| download | msitools-eb218cea45b45de0609bb9a136f59165fd191710.tar.gz msitools-eb218cea45b45de0609bb9a136f59165fd191710.tar.xz msitools-eb218cea45b45de0609bb9a136f59165fd191710.zip | |
move headers to include/
Diffstat (limited to 'include')
| -rw-r--r-- | include/debug.h | 179 | ||||
| -rw-r--r-- | include/msiquery.h | 292 |
2 files changed, 471 insertions, 0 deletions
diff --git a/include/debug.h b/include/debug.h new file mode 100644 index 0000000..cb5da28 --- /dev/null +++ b/include/debug.h @@ -0,0 +1,179 @@ +/* + * Wine debugging interface + * + * Copyright 1999 Patrik Stridvall + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef __WINE_WINE_DEBUG_H +#define __WINE_WINE_DEBUG_H + +#include <stdarg.h> +#include <stdlib.h> +#include <string.h> +#include <stdio.h> +#include <windef.h> +#include <winbase.h> +#include <winnls.h> +#ifndef GUID_DEFINED +#include <guiddef.h> +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Internal definitions (do not use these directly) + */ + +enum __wine_debug_class +{ + DBCL_FIXME, + DBCL_ERR, + DBCL_WARN, + DBCL_TRACE, + + DBCL_INIT = 7 /* lazy init flag */ +}; + +/* + * Exported definitions and macros + */ + +/* These functions return a printable version of a string, including + quotes. The string will be valid for some time, but not indefinitely + as strings are re-used. */ +static inline const char *wine_dbgstr_an( const char * s, int n ) +{ + if (!s) return ""; + return s; +} +static inline const char *wine_dbgstr_wn( const WCHAR *s, int n ) +{ + static LPSTR p_ret[10]; + static int i; + + LPSTR ret; + DWORD len; + + if (!s) return ""; + i = (i + 1) % 10; + ret = p_ret[i]; + len = WideCharToMultiByte( CP_ACP, 0, s, -1, NULL, 0, NULL, NULL); + ret = realloc( ret, len ); + if (ret) + WideCharToMultiByte( CP_ACP, 0, s, -1, ret, len, NULL, NULL ); + return ret; +} + +static inline const char *wine_dbg_sprintf( const char *format, ...) +{ + static LPSTR p_ret[10]; + static int i; + + LPSTR ret; + DWORD len; + va_list ap; + + va_start(ap, format); + len = _vscprintf(format, ap); + va_end(ap); + + i = (i + 1) % 10; + ret = p_ret[i]; + ret = realloc(ret, len + 1); + + va_start(ap, format); + vsprintf(ret, format, ap); + va_end(ap); + return ret; +} + +#define wine_dbg_printf(format,...) (printf(format, ## __VA_ARGS__), fflush(stdout)) +#define WINE_DPRINTF(class, function, format, ...) \ + wine_dbg_printf(#class ":%s:" format, function, ## __VA_ARGS__) + +static inline const char *wine_dbgstr_a( const char *s ) +{ + return wine_dbgstr_an( s, -1 ); +} + +static inline const char *wine_dbgstr_w( const WCHAR *s ) +{ + return wine_dbgstr_wn( s, -1 ); +} + +static inline const char *wine_dbgstr_guid( const GUID *id ) +{ + if (!id) return "(null)"; + if (!((ULONG_PTR)id >> 16)) return wine_dbg_sprintf( "<guid-0x%04hx>", (WORD)(ULONG_PTR)id ); + return wine_dbg_sprintf( "{%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x}", + id->Data1, id->Data2, id->Data3, + id->Data4[0], id->Data4[1], id->Data4[2], id->Data4[3], + id->Data4[4], id->Data4[5], id->Data4[6], id->Data4[7] ); +} + +static inline const char *wine_dbgstr_point( const POINT *pt ) +{ + if (!pt) return "(null)"; + return wine_dbg_sprintf( "(%d,%d)", pt->x, pt->y ); +} + +static inline const char *wine_dbgstr_size( const SIZE *size ) +{ + if (!size) return "(null)"; + return wine_dbg_sprintf( "(%d,%d)", size->cx, size->cy ); +} + +static inline const char *wine_dbgstr_rect( const RECT *rect ) +{ + if (!rect) return "(null)"; + return wine_dbg_sprintf( "(%d,%d)-(%d,%d)", rect->left, rect->top, + rect->right, rect->bottom ); +} + +static inline const char *wine_dbgstr_longlong( ULONGLONG ll ) +{ + if (sizeof(ll) > sizeof(unsigned long) && ll >> 32) + return wine_dbg_sprintf( "%lx%08lx", (unsigned long)(ll >> 32), (unsigned long)ll ); + else return wine_dbg_sprintf( "%lx", (unsigned long)ll ); +} + +/* Wine uses shorter names that are very likely to conflict with other software */ + +static inline const char *debugstr_an( const char * s, int n ) { return wine_dbgstr_an( s, n ); } +static inline const char *debugstr_wn( const WCHAR *s, int n ) { return wine_dbgstr_wn( s, n ); } +static inline const char *debugstr_guid( const GUID *id ) { return wine_dbgstr_guid( id ); } +static inline const char *debugstr_a( const char *s ) { return wine_dbgstr_an( s, -1 ); } +static inline const char *debugstr_w( const WCHAR *s ) { return wine_dbgstr_wn( s, -1 ); } + +#undef ERR /* Solaris got an 'ERR' define in <sys/reg.h> */ +#define TRACE(fmt, ...) (void)0 // WINE_DPRINTF(TRACE, __func__, fmt, ## __VA_ARGS__) +#define TRACE_ON(channel) 0 +#define WARN(fmt, ...) (void)0 // WINE_DPRINTF(WARN, __func__, fmt, ## __VA_ARGS__) +#define WARN_ON(channel) 0 +#define FIXME(fmt, ...) (void)0 // WINE_DPRINTF(FIXME, __func__, fmt, ## __VA_ARGS__) +#define FIXME_ON(channel) 0 +#define ERR(fmt, ...) (void)0 // WINE_DPRINTF(ERR, __func__, fmt, ## __VA_ARGS__) +#define ERR_ON(channel) 0 + + +#ifdef __cplusplus +} +#endif + +#endif /* __WINE_WINE_DEBUG_H */ diff --git a/include/msiquery.h b/include/msiquery.h new file mode 100644 index 0000000..12b116f --- /dev/null +++ b/include/msiquery.h @@ -0,0 +1,292 @@ +/* + * Copyright (C) 2002,2003 Mike McCormack + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef _MSIQUERY_H +#define _MSIQUERY_H + +#include <msi.h> + +typedef enum tagMSICONDITION +{ + MSICONDITION_FALSE = 0, + MSICONDITION_TRUE = 1, + MSICONDITION_NONE = 2, + MSICONDITION_ERROR = 3, +} MSICONDITION; + +#define MSI_NULL_INTEGER 0x80000000 + +typedef enum tagMSICOLINFO +{ + MSICOLINFO_NAMES = 0, + MSICOLINFO_TYPES = 1 +} MSICOLINFO; + +typedef enum tagMSIMODIFY +{ + MSIMODIFY_SEEK = -1, + MSIMODIFY_REFRESH = 0, + MSIMODIFY_INSERT = 1, + MSIMODIFY_UPDATE = 2, + MSIMODIFY_ASSIGN = 3, + MSIMODIFY_REPLACE = 4, + MSIMODIFY_MERGE = 5, + MSIMODIFY_DELETE = 6, + MSIMODIFY_INSERT_TEMPORARY = 7, + MSIMODIFY_VALIDATE = 8, + MSIMODIFY_VALIDATE_NEW = 9, + MSIMODIFY_VALIDATE_FIELD = 10, + MSIMODIFY_VALIDATE_DELETE = 11 +} MSIMODIFY; + +#define MSIDBOPEN_READONLY (LPCTSTR)0 +#define MSIDBOPEN_TRANSACT (LPCTSTR)1 +#define MSIDBOPEN_DIRECT (LPCTSTR)2 +#define MSIDBOPEN_CREATE (LPCTSTR)3 +#define MSIDBOPEN_CREATEDIRECT (LPCTSTR)4 + +#define MSIDBOPEN_PATCHFILE 32 / sizeof(*MSIDBOPEN_READONLY) + +typedef enum tagMSIDBERROR +{ + MSIDBERROR_INVALIDARG = -3, + MSIDBERROR_MOREDATA = -2, + MSIDBERROR_FUNCTIONERROR = -1, + MSIDBERROR_NOERROR = 0, + MSIDBERROR_DUPLICATEKEY = 1, + MSIDBERROR_REQUIRED = 2, + MSIDBERROR_BADLINK = 3, + MSIDBERROR_OVERFLOW = 4, + MSIDBERROR_UNDERFLOW = 5, + MSIDBERROR_NOTINSET = 6, + MSIDBERROR_BADVERSION = 7, + MSIDBERROR_BADCASE = 8, + MSIDBERROR_BADGUID = 9, + MSIDBERROR_BADWILDCARD = 10, + MSIDBERROR_BADIDENTIFIER = 11, + MSIDBERROR_BADLANGUAGE = 12, + MSIDBERROR_BADFILENAME = 13, + MSIDBERROR_BADPATH = 14, + MSIDBERROR_BADCONDITION = 15, + MSIDBERROR_BADFORMATTED = 16, + MSIDBERROR_BADTEMPLATE = 17, + MSIDBERROR_BADDEFAULTDIR = 18, + MSIDBERROR_BADREGPATH = 19, + MSIDBERROR_BADCUSTOMSOURCE = 20, + MSIDBERROR_BADPROPERTY = 21, + MSIDBERROR_MISSINGDATA = 22, + MSIDBERROR_BADCATEGORY = 23, + MSIDBERROR_BADKEYTABLE = 24, + MSIDBERROR_BADMAXMINVALUES = 25, + MSIDBERROR_BADCABINET = 26, + MSIDBERROR_BADSHORTCUT= 27, + MSIDBERROR_STRINGOVERFLOW = 28, + MSIDBERROR_BADLOCALIZEATTRIB = 29 +} MSIDBERROR; + +typedef enum tagMSIDBSTATE +{ + MSIDBSTATE_ERROR = -1, + MSIDBSTATE_READ = 0, + MSIDBSTATE_WRITE = 1 +} MSIDBSTATE; + + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef WINELIB_NAME_AW +#ifdef UNICODE +#define WINELIB_NAME_AW(x) x##W +#else +#define WINELIB_NAME_AW(x) x##A +#endif +#endif + +/* view manipulation */ +UINT WINAPI MsiViewFetch(MSIHANDLE,MSIHANDLE*); +UINT WINAPI MsiViewExecute(MSIHANDLE,MSIHANDLE); +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,LPDWORD); +MSIDBERROR WINAPI MsiViewGetErrorW(MSIHANDLE,LPWSTR,LPDWORD); +#define MsiViewGetError WINELIB_NAME_AW(MsiViewGetError) + +MSIDBSTATE WINAPI MsiGetDatabaseState(MSIHANDLE); + +/* record manipulation */ +MSIHANDLE WINAPI MsiCreateRecord(UINT); +UINT WINAPI MsiRecordClearData(MSIHANDLE); +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,UINT,LPSTR,LPDWORD); +UINT WINAPI MsiRecordGetStringW(MSIHANDLE,UINT,LPWSTR,LPDWORD); +#define MsiRecordGetString WINELIB_NAME_AW(MsiRecordGetString) +UINT WINAPI MsiRecordGetFieldCount(MSIHANDLE); +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,UINT,LPCSTR); +UINT WINAPI MsiRecordSetStreamW(MSIHANDLE,UINT,LPCWSTR); +#define MsiRecordSetStream WINELIB_NAME_AW(MsiRecordSetStream) +UINT WINAPI MsiRecordReadStream(MSIHANDLE,UINT,char*,LPDWORD); + +UINT WINAPI MsiDatabaseGetPrimaryKeysA(MSIHANDLE,LPCSTR,MSIHANDLE*); +UINT WINAPI MsiDatabaseGetPrimaryKeysW(MSIHANDLE,LPCWSTR,MSIHANDLE*); +#define MsiDatabaseGetPrimaryKeys WINELIB_NAME_AW(MsiDatabaseGetPrimaryKeys) + +/* installing */ +UINT WINAPI MsiDoActionA(MSIHANDLE,LPCSTR ); +UINT WINAPI MsiDoActionW(MSIHANDLE,LPCWSTR ); +#define MsiDoAction WINELIB_NAME_AW(MsiDoAction) + +/* database transforms */ +UINT WINAPI MsiDatabaseApplyTransformA(MSIHANDLE,LPCSTR,int); +UINT WINAPI MsiDatabaseApplyTransformW(MSIHANDLE,LPCWSTR,int); +#define MsiDatabaseApplyTransform WINELIB_NAME_AW(MsiDatabaseApplyTransform) +UINT WINAPI MsiDatabaseGenerateTransformA(MSIHANDLE,MSIHANDLE,LPCSTR,int,int); +UINT WINAPI MsiDatabaseGenerateTransformW(MSIHANDLE,MSIHANDLE,LPCWSTR,int,int); +#define MsiDatabaseGenerateTransform WINELIB_NAME_AW(MsiDatabaseGenerateTransform) + +UINT WINAPI MsiDatabaseCommit(MSIHANDLE); + +/* install state */ +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,LPCSTR,INSTALLSTATE*,INSTALLSTATE*); +UINT WINAPI MsiGetComponentStateW(MSIHANDLE,LPCWSTR,INSTALLSTATE*,INSTALLSTATE*); +#define MsiGetComponentState WINELIB_NAME_AW(MsiGetComponentState) + +MSICONDITION WINAPI MsiEvaluateConditionA(MSIHANDLE,LPCSTR); +MSICONDITION WINAPI MsiEvaluateConditionW(MSIHANDLE,LPCWSTR); +#define MsiEvaluateCondition WINELIB_NAME_AW(MsiEvaluateCondition) + +/* property functions */ +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,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,LPDWORD); +UINT WINAPI MsiGetSourcePathW(MSIHANDLE,LPCWSTR,LPWSTR,LPDWORD); +#define MsiGetSourcePath WINELIB_NAME_AW(MsiGetSourcePath) + +MSIHANDLE WINAPI MsiGetActiveDatabase(MSIHANDLE); + +UINT WINAPI MsiViewGetColumnInfo(MSIHANDLE, MSICOLINFO, MSIHANDLE*); +INT WINAPI MsiProcessMessage(MSIHANDLE, INSTALLMESSAGE, MSIHANDLE); + +UINT WINAPI MsiSetFeatureAttributesA(MSIHANDLE, LPCSTR, DWORD); +UINT WINAPI MsiSetFeatureAttributesW(MSIHANDLE, LPCWSTR, DWORD); +#define MsiSetFeatureAttributes WINELIB_NAME_AW(MsiSetFeatureAttributes) + +UINT WINAPI MsiSetFeatureStateA(MSIHANDLE, LPCSTR, INSTALLSTATE); +UINT WINAPI MsiSetFeatureStateW(MSIHANDLE, LPCWSTR, INSTALLSTATE); +#define MsiSetFeatureState WINELIB_NAME_AW(MsiSetFeatureState) + +UINT WINAPI MsiPreviewDialogA(MSIHANDLE, LPCSTR); +UINT WINAPI MsiPreviewDialogW(MSIHANDLE, LPCWSTR); +#define MsiPreviewDialog WINELIB_NAME_AW(MsiPreviewDialog) + +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,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 MsiSummaryInfoSetPropertyW(MSIHANDLE, UINT, UINT, INT, FILETIME*, LPCWSTR); +#define MsiSummaryInfoSetProperty WINELIB_NAME_AW(MsiSummaryInfoSetProperty) + +UINT WINAPI MsiDatabaseExportA(MSIHANDLE, LPCSTR, LPCSTR, LPCSTR); +UINT WINAPI MsiDatabaseExportW(MSIHANDLE, LPCWSTR, LPCWSTR, LPCWSTR); +#define MsiDatabaseExport WINELIB_NAME_AW(MsiDatabaseExport) + +UINT WINAPI MsiDatabaseImportA(MSIHANDLE, LPCSTR, LPCSTR); +UINT WINAPI MsiDatabaseImportW(MSIHANDLE, LPCWSTR, LPCWSTR); +#define MsiDatabaseImport WINELIB_NAME_AW(MsiDatabaseImport) + +UINT WINAPI MsiOpenDatabaseW(LPCWSTR, LPCWSTR, MSIHANDLE*); +UINT WINAPI MsiOpenDatabaseA(LPCSTR, LPCSTR, MSIHANDLE*); +#define MsiOpenDatabase WINELIB_NAME_AW(MsiOpenDatabase) + +MSICONDITION WINAPI MsiDatabaseIsTablePersistentA(MSIHANDLE, LPCSTR); +MSICONDITION WINAPI MsiDatabaseIsTablePersistentW(MSIHANDLE, LPCWSTR); +#define MsiDatabaseIsTablePersistent WINELIB_NAME_AW(MsiDatabaseIsTablePersistent) + +UINT WINAPI MsiSequenceA(MSIHANDLE, LPCSTR, INT); +UINT WINAPI MsiSequenceW(MSIHANDLE, LPCWSTR, INT); +#define MsiSequence WINELIB_NAME_AW(MsiSequence) + +UINT WINAPI MsiSummaryInfoPersist(MSIHANDLE); +UINT WINAPI MsiSummaryInfoGetPropertyCount(MSIHANDLE,PUINT); + +UINT WINAPI MsiViewModify(MSIHANDLE, MSIMODIFY, MSIHANDLE); + +UINT WINAPI MsiDatabaseMergeA(MSIHANDLE, MSIHANDLE, LPCSTR); +UINT WINAPI MsiDatabaseMergeW(MSIHANDLE, MSIHANDLE, LPCWSTR); +#define MsiDatabaseMerge WINELIB_NAME_AW(MsiDatabaseMerge) + +/* Non Unicode */ +UINT WINAPI MsiDatabaseCommit(MSIHANDLE); +UINT WINAPI MsiCloseHandle(MSIHANDLE); +UINT WINAPI MsiCloseAllHandles(void); + +MSIHANDLE WINAPI MsiGetLastErrorRecord(void); + +#ifdef __cplusplus +} +#endif + +#endif /* _MSIQUERY_H */ |
