ReactOS  0.4.14-dev-52-g6116262
msiquery.h File Reference
#include <msi.h>
Include dependency graph for msiquery.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define MSI_NULL_INTEGER   0x80000000
 
#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)
 
#define MsiDatabaseOpenView   WINELIB_NAME_AW(MsiDatabaseOpenView)
 
#define MsiViewGetError   WINELIB_NAME_AW(MsiViewGetError)
 
#define MsiRecordSetString   WINELIB_NAME_AW(MsiRecordSetString)
 
#define MsiRecordGetString   WINELIB_NAME_AW(MsiRecordGetString)
 
#define MsiFormatRecord   WINELIB_NAME_AW(MsiFormatRecord)
 
#define MsiRecordSetStream   WINELIB_NAME_AW(MsiRecordSetStream)
 
#define MsiDatabaseGetPrimaryKeys   WINELIB_NAME_AW(MsiDatabaseGetPrimaryKeys)
 
#define MsiDoAction   WINELIB_NAME_AW(MsiDoAction)
 
#define MsiDatabaseApplyTransform   WINELIB_NAME_AW(MsiDatabaseApplyTransform)
 
#define MsiDatabaseGenerateTransform   WINELIB_NAME_AW(MsiDatabaseGenerateTransform)
 
#define MsiGetFeatureState   WINELIB_NAME_AW(MsiGetFeatureState)
 
#define MsiGetFeatureValidStates   WINELIB_NAME_AW(MsiGetFeatureValidStates)
 
#define MsiSetComponentState   WINELIB_NAME_AW(MsiSetComponentState)
 
#define MsiGetComponentState   WINELIB_NAME_AW(MsiGetComponentState)
 
#define MsiEvaluateCondition   WINELIB_NAME_AW(MsiEvaluateCondition)
 
#define MsiGetProperty   WINELIB_NAME_AW(MsiGetProperty)
 
#define MsiSetProperty   WINELIB_NAME_AW(MsiSetProperty)
 
#define MsiGetTargetPath   WINELIB_NAME_AW(MsiGetTargetPath)
 
#define MsiSetTargetPath   WINELIB_NAME_AW(MsiSetTargetPath)
 
#define MsiGetSourcePath   WINELIB_NAME_AW(MsiGetSourcePath)
 
#define MsiSetFeatureAttributes   WINELIB_NAME_AW(MsiSetFeatureAttributes)
 
#define MsiSetFeatureState   WINELIB_NAME_AW(MsiSetFeatureState)
 
#define MsiPreviewDialog   WINELIB_NAME_AW(MsiPreviewDialog)
 
#define MsiPreviewBillboard   WINELIB_NAME_AW(MsiPreviewBillboard)
 
#define MsiCreateTransformSummaryInfo   WINELIB_NAME_AW(MsiCreateTransformSummaryInfo)
 
#define MsiGetSummaryInformation   WINELIB_NAME_AW(MsiGetSummaryInformation)
 
#define MsiSummaryInfoGetProperty   WINELIB_NAME_AW(MsiSummaryInfoGetProperty)
 
#define MsiSummaryInfoSetProperty   WINELIB_NAME_AW(MsiSummaryInfoSetProperty)
 
#define MsiDatabaseExport   WINELIB_NAME_AW(MsiDatabaseExport)
 
#define MsiDatabaseImport   WINELIB_NAME_AW(MsiDatabaseImport)
 
#define MsiOpenDatabase   WINELIB_NAME_AW(MsiOpenDatabase)
 
#define MsiDatabaseIsTablePersistent   WINELIB_NAME_AW(MsiDatabaseIsTablePersistent)
 
#define MsiSequence   WINELIB_NAME_AW(MsiSequence)
 
#define MsiGetFeatureCost   WINELIB_NAME_AW(MsiGetFeatureCost)
 

Typedefs

typedef enum tagMSICONDITION MSICONDITION
 
typedef enum tagMSICOLINFO MSICOLINFO
 
typedef enum tagMSICOSTTREE MSICOSTTREE
 
typedef enum tagMSIMODIFY MSIMODIFY
 
typedef enum tagMSIRUNMODE MSIRUNMODE
 
typedef enum tagMSIDBERROR MSIDBERROR
 
typedef enum tagMSIDBSTATE MSIDBSTATE
 
typedef enum tagMSITRANSFORM_VALIDATE MSITRANSFORM_VALIDATE
 

Enumerations

enum  tagMSICONDITION { MSICONDITION_FALSE = 0, MSICONDITION_TRUE = 1, MSICONDITION_NONE = 2, MSICONDITION_ERROR = 3 }
 
enum  tagMSICOLINFO { MSICOLINFO_NAMES = 0, MSICOLINFO_TYPES = 1 }
 
enum  tagMSICOSTTREE { MSICOSTTREE_SELFONLY = 0, MSICOSTTREE_CHILDREN = 1, MSICOSTTREE_PARENTS = 2, MSICOSTTREE_PRODUCT = 3 }
 
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
}
 
enum  tagMSIRUNMODE {
  MSIRUNMODE_ADMIN = 0, MSIRUNMODE_ADVERTISE = 1, MSIRUNMODE_MAINTENANCE = 2, MSIRUNMODE_ROLLBACKENABLED = 3,
  MSIRUNMODE_LOGENABLED = 4, MSIRUNMODE_OPERATIONS = 5, MSIRUNMODE_REBOOTATEND = 6, MSIRUNMODE_REBOOTNOW = 7,
  MSIRUNMODE_CABINET = 8, MSIRUNMODE_SOURCESHORTNAMES = 9, MSIRUNMODE_TARGETSHORTNAMES = 10, MSIRUNMODE_RESERVED11 = 11,
  MSIRUNMODE_WINDOWS9X = 12, MSIRUNMODE_ZAWENABLED = 13, MSIRUNMODE_RESERVED14 = 14, MSIRUNMODE_RESERVED15 = 15,
  MSIRUNMODE_SCHEDULED = 16, MSIRUNMODE_ROLLBACK = 17, MSIRUNMODE_COMMIT = 18
}
 
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
}
 
enum  tagMSIDBSTATE { MSIDBSTATE_ERROR = -1, MSIDBSTATE_READ = 0, MSIDBSTATE_WRITE = 1 }
 
enum  tagMSITRANSFORM_VALIDATE {
  MSITRANSFORM_VALIDATE_LANGUAGE = 0x00000001, MSITRANSFORM_VALIDATE_PRODUCT = 0x00000002, MSITRANSFORM_VALIDATE_PLATFORM = 0x00000004, MSITRANSFORM_VALIDATE_MAJORVERSION = 0x00000008,
  MSITRANSFORM_VALIDATE_MINORVERSION = 0x00000010, MSITRANSFORM_VALIDATE_UPDATEVERSION = 0x00000020, MSITRANSFORM_VALIDATE_NEWLESSBASEVERSION = 0x00000040, MSITRANSFORM_VALIDATE_NEWLESSEQUALBASEVERSION = 0x00000080,
  MSITRANSFORM_VALIDATE_NEWEQUALBASEVERSION = 0x00000100, MSITRANSFORM_VALIDATE_NEWGREATEREQUALBASEVERSION = 0x00000200, MSITRANSFORM_VALIDATE_NEWGREATERBASEVERSION = 0x00000400, MSITRANSFORM_VALIDATE_UPGRADECODE = 0x00000800
}
 

Functions

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 *)
 
MSIDBERROR WINAPI MsiViewGetErrorA (MSIHANDLE, LPSTR, LPDWORD)
 
MSIDBERROR WINAPI MsiViewGetErrorW (MSIHANDLE, LPWSTR, LPDWORD)
 
MSIDBSTATE WINAPI MsiGetDatabaseState (MSIHANDLE)
 
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)
 
UINT WINAPI MsiRecordGetStringA (MSIHANDLE, UINT, LPSTR, LPDWORD)
 
UINT WINAPI MsiRecordGetStringW (MSIHANDLE, UINT, LPWSTR, LPDWORD)
 
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)
 
UINT WINAPI MsiRecordSetStreamA (MSIHANDLE, UINT, LPCSTR)
 
UINT WINAPI MsiRecordSetStreamW (MSIHANDLE, UINT, LPCWSTR)
 
UINT WINAPI MsiRecordReadStream (MSIHANDLE, UINT, char *, LPDWORD)
 
UINT WINAPI MsiDatabaseGetPrimaryKeysA (MSIHANDLE, LPCSTR, MSIHANDLE *)
 
UINT WINAPI MsiDatabaseGetPrimaryKeysW (MSIHANDLE, LPCWSTR, MSIHANDLE *)
 
UINT WINAPI MsiDoActionA (MSIHANDLE, LPCSTR)
 
UINT WINAPI MsiDoActionW (MSIHANDLE, LPCWSTR)
 
UINT WINAPI MsiDatabaseApplyTransformA (MSIHANDLE, LPCSTR, int)
 
UINT WINAPI MsiDatabaseApplyTransformW (MSIHANDLE, LPCWSTR, int)
 
UINT WINAPI MsiDatabaseGenerateTransformA (MSIHANDLE, MSIHANDLE, LPCSTR, int, int)
 
UINT WINAPI MsiDatabaseGenerateTransformW (MSIHANDLE, MSIHANDLE, LPCWSTR, int, int)
 
UINT WINAPI MsiDatabaseCommit (MSIHANDLE)
 
UINT WINAPI MsiGetFeatureStateA (MSIHANDLE, LPCSTR, INSTALLSTATE *, INSTALLSTATE *)
 
UINT WINAPI MsiGetFeatureStateW (MSIHANDLE, LPCWSTR, INSTALLSTATE *, INSTALLSTATE *)
 
UINT WINAPI MsiGetFeatureValidStatesA (MSIHANDLE, LPCSTR, LPDWORD)
 
UINT WINAPI MsiGetFeatureValidStatesW (MSIHANDLE, LPCWSTR, LPDWORD)
 
UINT WINAPI MsiSetComponentStateA (MSIHANDLE, LPCSTR, INSTALLSTATE)
 
UINT WINAPI MsiSetComponentStateW (MSIHANDLE, LPCWSTR, INSTALLSTATE)
 
UINT WINAPI MsiGetComponentStateA (MSIHANDLE, LPCSTR, INSTALLSTATE *, INSTALLSTATE *)
 
UINT WINAPI MsiGetComponentStateW (MSIHANDLE, LPCWSTR, INSTALLSTATE *, INSTALLSTATE *)
 
MSICONDITION WINAPI MsiEvaluateConditionA (MSIHANDLE, LPCSTR)
 
MSICONDITION WINAPI MsiEvaluateConditionW (MSIHANDLE, LPCWSTR)
 
UINT WINAPI MsiGetPropertyA (MSIHANDLE, LPCSTR, LPSTR, LPDWORD)
 
UINT WINAPI MsiGetPropertyW (MSIHANDLE, LPCWSTR, LPWSTR, LPDWORD)
 
UINT WINAPI MsiSetPropertyA (MSIHANDLE, LPCSTR, LPCSTR)
 
UINT WINAPI MsiSetPropertyW (MSIHANDLE, LPCWSTR, LPCWSTR)
 
UINT WINAPI MsiGetTargetPathA (MSIHANDLE, LPCSTR, LPSTR, LPDWORD)
 
UINT WINAPI MsiGetTargetPathW (MSIHANDLE, LPCWSTR, LPWSTR, LPDWORD)
 
UINT WINAPI MsiSetTargetPathA (MSIHANDLE, LPCSTR, LPCSTR)
 
UINT WINAPI MsiSetTargetPathW (MSIHANDLE, LPCWSTR, LPCWSTR)
 
UINT WINAPI MsiGetSourcePathA (MSIHANDLE, LPCSTR, LPSTR, LPDWORD)
 
UINT WINAPI MsiGetSourcePathW (MSIHANDLE, LPCWSTR, LPWSTR, LPDWORD)
 
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)
 
UINT WINAPI MsiSetFeatureStateA (MSIHANDLE, LPCSTR, INSTALLSTATE)
 
UINT WINAPI MsiSetFeatureStateW (MSIHANDLE, LPCWSTR, INSTALLSTATE)
 
UINT WINAPI MsiPreviewDialogA (MSIHANDLE, LPCSTR)
 
UINT WINAPI MsiPreviewDialogW (MSIHANDLE, LPCWSTR)
 
UINT WINAPI MsiPreviewBillboardA (MSIHANDLE, LPCSTR, LPCSTR)
 
UINT WINAPI MsiPreviewBillboardW (MSIHANDLE, LPCWSTR, LPCWSTR)
 
UINT WINAPI MsiCreateTransformSummaryInfoA (MSIHANDLE, MSIHANDLE, LPCSTR, int, int)
 
UINT WINAPI MsiCreateTransformSummaryInfoW (MSIHANDLE, MSIHANDLE, LPCWSTR, int, int)
 
UINT WINAPI MsiGetSummaryInformationA (MSIHANDLE, LPCSTR, UINT, MSIHANDLE *)
 
UINT WINAPI MsiGetSummaryInformationW (MSIHANDLE, LPCWSTR, UINT, MSIHANDLE *)
 
UINT WINAPI MsiSummaryInfoGetPropertyA (MSIHANDLE, UINT, PUINT, LPINT, FILETIME *, LPSTR, LPDWORD)
 
UINT WINAPI MsiSummaryInfoGetPropertyW (MSIHANDLE, UINT, PUINT, LPINT, FILETIME *, LPWSTR, LPDWORD)
 
UINT WINAPI MsiSummaryInfoSetPropertyA (MSIHANDLE, UINT, UINT, INT, FILETIME *, LPCSTR)
 
UINT WINAPI MsiSummaryInfoSetPropertyW (MSIHANDLE, UINT, UINT, INT, FILETIME *, LPCWSTR)
 
UINT WINAPI MsiDatabaseExportA (MSIHANDLE, LPCSTR, LPCSTR, LPCSTR)
 
UINT WINAPI MsiDatabaseExportW (MSIHANDLE, LPCWSTR, LPCWSTR, LPCWSTR)
 
UINT WINAPI MsiDatabaseImportA (MSIHANDLE, LPCSTR, LPCSTR)
 
UINT WINAPI MsiDatabaseImportW (MSIHANDLE, LPCWSTR, LPCWSTR)
 
UINT WINAPI MsiOpenDatabaseW (LPCWSTR, LPCWSTR, MSIHANDLE *)
 
UINT WINAPI MsiOpenDatabaseA (LPCSTR, LPCSTR, MSIHANDLE *)
 
MSICONDITION WINAPI MsiDatabaseIsTablePersistentA (MSIHANDLE, LPCSTR)
 
MSICONDITION WINAPI MsiDatabaseIsTablePersistentW (MSIHANDLE, LPCWSTR)
 
UINT WINAPI MsiSequenceA (MSIHANDLE, LPCSTR, INT)
 
UINT WINAPI MsiSequenceW (MSIHANDLE, LPCWSTR, INT)
 
UINT WINAPI MsiSummaryInfoPersist (MSIHANDLE)
 
UINT WINAPI MsiSummaryInfoGetPropertyCount (MSIHANDLE, PUINT)
 
UINT WINAPI MsiEnableUIPreview (MSIHANDLE, MSIHANDLE *)
 
BOOL WINAPI MsiGetMode (MSIHANDLE, MSIRUNMODE)
 
UINT 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)
 
LANGID WINAPI MsiGetLanguage (MSIHANDLE)
 
UINT WINAPI MsiSetInstallLevel (MSIHANDLE, int)
 
MSIHANDLE WINAPI MsiGetLastErrorRecord (void)
 

Macro Definition Documentation

◆ MSI_NULL_INTEGER

#define MSI_NULL_INTEGER   0x80000000

Definition at line 32 of file msiquery.h.

◆ MsiCreateTransformSummaryInfo

#define MsiCreateTransformSummaryInfo   WINELIB_NAME_AW(MsiCreateTransformSummaryInfo)

Definition at line 284 of file msiquery.h.

◆ MsiDatabaseApplyTransform

#define MsiDatabaseApplyTransform   WINELIB_NAME_AW(MsiDatabaseApplyTransform)

Definition at line 215 of file msiquery.h.

◆ MsiDatabaseExport

#define MsiDatabaseExport   WINELIB_NAME_AW(MsiDatabaseExport)

Definition at line 300 of file msiquery.h.

◆ MsiDatabaseGenerateTransform

#define MsiDatabaseGenerateTransform   WINELIB_NAME_AW(MsiDatabaseGenerateTransform)

Definition at line 218 of file msiquery.h.

◆ MsiDatabaseGetPrimaryKeys

#define MsiDatabaseGetPrimaryKeys   WINELIB_NAME_AW(MsiDatabaseGetPrimaryKeys)

Definition at line 205 of file msiquery.h.

◆ MsiDatabaseImport

#define MsiDatabaseImport   WINELIB_NAME_AW(MsiDatabaseImport)

Definition at line 304 of file msiquery.h.

◆ MsiDatabaseIsTablePersistent

#define MsiDatabaseIsTablePersistent   WINELIB_NAME_AW(MsiDatabaseIsTablePersistent)

Definition at line 312 of file msiquery.h.

◆ MsiDatabaseOpenView

#define MsiDatabaseOpenView   WINELIB_NAME_AW(MsiDatabaseOpenView)

Definition at line 174 of file msiquery.h.

◆ MSIDBOPEN_CREATE

#define MSIDBOPEN_CREATE   (LPCTSTR)3

Definition at line 69 of file msiquery.h.

◆ MSIDBOPEN_CREATEDIRECT

#define MSIDBOPEN_CREATEDIRECT   (LPCTSTR)4

Definition at line 70 of file msiquery.h.

◆ MSIDBOPEN_DIRECT

#define MSIDBOPEN_DIRECT   (LPCTSTR)2

Definition at line 68 of file msiquery.h.

◆ MSIDBOPEN_PATCHFILE

#define MSIDBOPEN_PATCHFILE   32 / sizeof(*MSIDBOPEN_READONLY)

Definition at line 79 of file msiquery.h.

◆ MSIDBOPEN_READONLY

#define MSIDBOPEN_READONLY   (LPCTSTR)0

Definition at line 66 of file msiquery.h.

◆ MSIDBOPEN_TRANSACT

#define MSIDBOPEN_TRANSACT   (LPCTSTR)1

Definition at line 67 of file msiquery.h.

◆ MsiDoAction

#define MsiDoAction   WINELIB_NAME_AW(MsiDoAction)

Definition at line 210 of file msiquery.h.

◆ MsiEvaluateCondition

#define MsiEvaluateCondition   WINELIB_NAME_AW(MsiEvaluateCondition)

Definition at line 238 of file msiquery.h.

◆ MsiFormatRecord

#define MsiFormatRecord   WINELIB_NAME_AW(MsiFormatRecord)

Definition at line 197 of file msiquery.h.

◆ MsiGetComponentState

#define MsiGetComponentState   WINELIB_NAME_AW(MsiGetComponentState)

Definition at line 234 of file msiquery.h.

◆ MsiGetFeatureCost

#define MsiGetFeatureCost   WINELIB_NAME_AW(MsiGetFeatureCost)

Definition at line 329 of file msiquery.h.

◆ MsiGetFeatureState

#define MsiGetFeatureState   WINELIB_NAME_AW(MsiGetFeatureState)

Definition at line 225 of file msiquery.h.

◆ MsiGetFeatureValidStates

#define MsiGetFeatureValidStates   WINELIB_NAME_AW(MsiGetFeatureValidStates)

Definition at line 228 of file msiquery.h.

◆ MsiGetProperty

#define MsiGetProperty   WINELIB_NAME_AW(MsiGetProperty)

Definition at line 243 of file msiquery.h.

◆ MsiGetSourcePath

#define MsiGetSourcePath   WINELIB_NAME_AW(MsiGetSourcePath)

Definition at line 259 of file msiquery.h.

◆ MsiGetSummaryInformation

#define MsiGetSummaryInformation   WINELIB_NAME_AW(MsiGetSummaryInformation)

Definition at line 288 of file msiquery.h.

◆ MsiGetTargetPath

#define MsiGetTargetPath   WINELIB_NAME_AW(MsiGetTargetPath)

Definition at line 251 of file msiquery.h.

◆ MsiOpenDatabase

#define MsiOpenDatabase   WINELIB_NAME_AW(MsiOpenDatabase)

Definition at line 308 of file msiquery.h.

◆ MsiPreviewBillboard

#define MsiPreviewBillboard   WINELIB_NAME_AW(MsiPreviewBillboard)

Definition at line 280 of file msiquery.h.

◆ MsiPreviewDialog

#define MsiPreviewDialog   WINELIB_NAME_AW(MsiPreviewDialog)

Definition at line 276 of file msiquery.h.

◆ MsiRecordGetString

#define MsiRecordGetString   WINELIB_NAME_AW(MsiRecordGetString)

Definition at line 190 of file msiquery.h.

◆ MsiRecordSetStream

#define MsiRecordSetStream   WINELIB_NAME_AW(MsiRecordSetStream)

Definition at line 200 of file msiquery.h.

◆ MsiRecordSetString

#define MsiRecordSetString   WINELIB_NAME_AW(MsiRecordSetString)

Definition at line 187 of file msiquery.h.

◆ MsiSequence

#define MsiSequence   WINELIB_NAME_AW(MsiSequence)

Definition at line 316 of file msiquery.h.

◆ MsiSetComponentState

#define MsiSetComponentState   WINELIB_NAME_AW(MsiSetComponentState)

Definition at line 231 of file msiquery.h.

◆ MsiSetFeatureAttributes

#define MsiSetFeatureAttributes   WINELIB_NAME_AW(MsiSetFeatureAttributes)

Definition at line 268 of file msiquery.h.

◆ MsiSetFeatureState

#define MsiSetFeatureState   WINELIB_NAME_AW(MsiSetFeatureState)

Definition at line 272 of file msiquery.h.

◆ MsiSetProperty

#define MsiSetProperty   WINELIB_NAME_AW(MsiSetProperty)

Definition at line 247 of file msiquery.h.

◆ MsiSetTargetPath

#define MsiSetTargetPath   WINELIB_NAME_AW(MsiSetTargetPath)

Definition at line 255 of file msiquery.h.

◆ MsiSummaryInfoGetProperty

#define MsiSummaryInfoGetProperty   WINELIB_NAME_AW(MsiSummaryInfoGetProperty)

Definition at line 292 of file msiquery.h.

◆ MsiSummaryInfoSetProperty

#define MsiSummaryInfoSetProperty   WINELIB_NAME_AW(MsiSummaryInfoSetProperty)

Definition at line 296 of file msiquery.h.

◆ MsiViewGetError

#define MsiViewGetError   WINELIB_NAME_AW(MsiViewGetError)

Definition at line 177 of file msiquery.h.

Typedef Documentation

◆ MSICOLINFO

◆ MSICONDITION

◆ MSICOSTTREE

◆ MSIDBERROR

◆ MSIDBSTATE

◆ MSIMODIFY

◆ MSIRUNMODE

◆ MSITRANSFORM_VALIDATE

Enumeration Type Documentation

◆ tagMSICOLINFO

Enumerator
MSICOLINFO_NAMES 
MSICOLINFO_TYPES 

Definition at line 34 of file msiquery.h.

35 {
36  MSICOLINFO_NAMES = 0,
38 } MSICOLINFO;
enum tagMSICOLINFO MSICOLINFO

◆ tagMSICONDITION

Enumerator
MSICONDITION_FALSE 
MSICONDITION_TRUE 
MSICONDITION_NONE 
MSICONDITION_ERROR 

Definition at line 24 of file msiquery.h.

25 {
30 } MSICONDITION;
enum tagMSICONDITION MSICONDITION

◆ tagMSICOSTTREE

Enumerator
MSICOSTTREE_SELFONLY 
MSICOSTTREE_CHILDREN 
MSICOSTTREE_PARENTS 
MSICOSTTREE_PRODUCT 

Definition at line 40 of file msiquery.h.

◆ tagMSIDBERROR

Enumerator
MSIDBERROR_INVALIDARG 
MSIDBERROR_MOREDATA 
MSIDBERROR_FUNCTIONERROR 
MSIDBERROR_NOERROR 
MSIDBERROR_DUPLICATEKEY 
MSIDBERROR_REQUIRED 
MSIDBERROR_BADLINK 
MSIDBERROR_OVERFLOW 
MSIDBERROR_UNDERFLOW 
MSIDBERROR_NOTINSET 
MSIDBERROR_BADVERSION 
MSIDBERROR_BADCASE 
MSIDBERROR_BADGUID 
MSIDBERROR_BADWILDCARD 
MSIDBERROR_BADIDENTIFIER 
MSIDBERROR_BADLANGUAGE 
MSIDBERROR_BADFILENAME 
MSIDBERROR_BADPATH 
MSIDBERROR_BADCONDITION 
MSIDBERROR_BADFORMATTED 
MSIDBERROR_BADTEMPLATE 
MSIDBERROR_BADDEFAULTDIR 
MSIDBERROR_BADREGPATH 
MSIDBERROR_BADCUSTOMSOURCE 
MSIDBERROR_BADPROPERTY 
MSIDBERROR_MISSINGDATA 
MSIDBERROR_BADCATEGORY 
MSIDBERROR_BADKEYTABLE 
MSIDBERROR_BADMAXMINVALUES 
MSIDBERROR_BADCABINET 
MSIDBERROR_BADSHORTCUT 
MSIDBERROR_STRINGOVERFLOW 
MSIDBERROR_BADLOCALIZEATTRIB 

Definition at line 104 of file msiquery.h.

105 {
107  MSIDBERROR_MOREDATA = -2,
109  MSIDBERROR_NOERROR = 0,
112  MSIDBERROR_BADLINK = 3,
117  MSIDBERROR_BADCASE = 8,
118  MSIDBERROR_BADGUID = 9,
123  MSIDBERROR_BADPATH = 14,
139 } MSIDBERROR;
enum tagMSIDBERROR MSIDBERROR

◆ tagMSIDBSTATE

Enumerator
MSIDBSTATE_ERROR 
MSIDBSTATE_READ 
MSIDBSTATE_WRITE 

Definition at line 141 of file msiquery.h.

142 {
143  MSIDBSTATE_ERROR = -1,
144  MSIDBSTATE_READ = 0,
145  MSIDBSTATE_WRITE = 1
146 } MSIDBSTATE;
enum tagMSIDBSTATE MSIDBSTATE

◆ tagMSIMODIFY

Enumerator
MSIMODIFY_SEEK 
MSIMODIFY_REFRESH 
MSIMODIFY_INSERT 
MSIMODIFY_UPDATE 
MSIMODIFY_ASSIGN 
MSIMODIFY_REPLACE 
MSIMODIFY_MERGE 
MSIMODIFY_DELETE 
MSIMODIFY_INSERT_TEMPORARY 
MSIMODIFY_VALIDATE 
MSIMODIFY_VALIDATE_NEW 
MSIMODIFY_VALIDATE_FIELD 
MSIMODIFY_VALIDATE_DELETE 

Definition at line 48 of file msiquery.h.

◆ tagMSIRUNMODE

Enumerator
MSIRUNMODE_ADMIN 
MSIRUNMODE_ADVERTISE 
MSIRUNMODE_MAINTENANCE 
MSIRUNMODE_ROLLBACKENABLED 
MSIRUNMODE_LOGENABLED 
MSIRUNMODE_OPERATIONS 
MSIRUNMODE_REBOOTATEND 
MSIRUNMODE_REBOOTNOW 
MSIRUNMODE_CABINET 
MSIRUNMODE_SOURCESHORTNAMES 
MSIRUNMODE_TARGETSHORTNAMES 
MSIRUNMODE_RESERVED11 
MSIRUNMODE_WINDOWS9X 
MSIRUNMODE_ZAWENABLED 
MSIRUNMODE_RESERVED14 
MSIRUNMODE_RESERVED15 
MSIRUNMODE_SCHEDULED 
MSIRUNMODE_ROLLBACK 
MSIRUNMODE_COMMIT 

Definition at line 81 of file msiquery.h.

82 {
83  MSIRUNMODE_ADMIN = 0,
100  MSIRUNMODE_ROLLBACK = 17,
101  MSIRUNMODE_COMMIT = 18
102 } MSIRUNMODE;
enum tagMSIRUNMODE MSIRUNMODE

◆ tagMSITRANSFORM_VALIDATE

Enumerator
MSITRANSFORM_VALIDATE_LANGUAGE 
MSITRANSFORM_VALIDATE_PRODUCT 
MSITRANSFORM_VALIDATE_PLATFORM 
MSITRANSFORM_VALIDATE_MAJORVERSION 
MSITRANSFORM_VALIDATE_MINORVERSION 
MSITRANSFORM_VALIDATE_UPDATEVERSION 
MSITRANSFORM_VALIDATE_NEWLESSBASEVERSION 
MSITRANSFORM_VALIDATE_NEWLESSEQUALBASEVERSION 
MSITRANSFORM_VALIDATE_NEWEQUALBASEVERSION 
MSITRANSFORM_VALIDATE_NEWGREATEREQUALBASEVERSION 
MSITRANSFORM_VALIDATE_NEWGREATERBASEVERSION 
MSITRANSFORM_VALIDATE_UPGRADECODE 

Definition at line 148 of file msiquery.h.

149 {
150  MSITRANSFORM_VALIDATE_LANGUAGE = 0x00000001,
151  MSITRANSFORM_VALIDATE_PRODUCT = 0x00000002,
152  MSITRANSFORM_VALIDATE_PLATFORM = 0x00000004,
enum tagMSITRANSFORM_VALIDATE MSITRANSFORM_VALIDATE

Function Documentation

◆ MsiCreateRecord()

MSIHANDLE WINAPI MsiCreateRecord ( UINT  )

◆ MsiCreateTransformSummaryInfoA()

UINT WINAPI MsiCreateTransformSummaryInfoA ( MSIHANDLE  ,
MSIHANDLE  ,
LPCSTR  ,
int  ,
int   
)

Definition at line 1169 of file suminfo.c.

1170 {
1171  UINT r;
1172  WCHAR *transformW = NULL;
1173 
1174  TRACE("%u, %u, %s, %d, %d\n", db, db_ref, debugstr_a(transform), error, validation);
1175 
1176  if (transform && !(transformW = strdupAtoW( transform )))
1177  return ERROR_OUTOFMEMORY;
1178 
1179  r = MsiCreateTransformSummaryInfoW( db, db_ref, transformW, error, validation );
1180  msi_free( transformW );
1181  return r;
1182 }
#define error(str)
Definition: mkdosfs.c:1605
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define debugstr_a
Definition: kernel32.h:31
UINT WINAPI MsiCreateTransformSummaryInfoW(MSIHANDLE db, MSIHANDLE db_ref, LPCWSTR transform, int error, int validation)
Definition: suminfo.c:1184
unsigned int UINT
Definition: ndis.h:50
static BOOL msi_free(void *mem)
Definition: msipriv.h:1227
GLuint GLenum GLenum transform
Definition: glext.h:9407
static WCHAR * strdupAtoW(const char *str)
Definition: main.c:67
#define ERROR_OUTOFMEMORY
Definition: deptool.c:13

Referenced by generate_transform().

◆ MsiCreateTransformSummaryInfoW()

UINT WINAPI MsiCreateTransformSummaryInfoW ( MSIHANDLE  ,
MSIHANDLE  ,
LPCWSTR  ,
int  ,
int   
)

Definition at line 1184 of file suminfo.c.

1185 {
1186  FIXME("%u, %u, %s, %d, %d\n", db, db_ref, debugstr_w(transform), error, validation);
1187  return ERROR_FUNCTION_FAILED;
1188 }
#define error(str)
Definition: mkdosfs.c:1605
#define ERROR_FUNCTION_FAILED
Definition: winerror.h:985
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:110
GLuint GLenum GLenum transform
Definition: glext.h:9407

Referenced by MsiCreateTransformSummaryInfoA().

◆ MsiDatabaseApplyTransformA()

UINT WINAPI MsiDatabaseApplyTransformA ( MSIHANDLE  ,
LPCSTR  ,
int   
)

Definition at line 778 of file msiquery.c.

780 {
781  LPWSTR wstr;
782  UINT ret;
783 
784  TRACE("%d %s %d\n", hdb, debugstr_a(szTransformFile), iErrorCond);
785 
786  wstr = strdupAtoW( szTransformFile );
787  if( szTransformFile && !wstr )
789 
790  ret = MsiDatabaseApplyTransformW( hdb, wstr, iErrorCond);
791 
792  msi_free( wstr );
793 
794  return ret;
795 }
UINT WINAPI MsiDatabaseApplyTransformW(MSIHANDLE hdb, LPCWSTR szTransformFile, int iErrorCond)
Definition: msiquery.c:752
#define ERROR_NOT_ENOUGH_MEMORY
Definition: dderror.h:7
#define TRACE(s)
Definition: solgame.cpp:4
#define debugstr_a
Definition: kernel32.h:31
int ret
unsigned int UINT
Definition: ndis.h:50
static BOOL msi_free(void *mem)
Definition: msipriv.h:1227
WCHAR * LPWSTR
Definition: xmlstorage.h:184
static WCHAR * strdupAtoW(const char *str)
Definition: main.c:67

Referenced by test_try_transform().

◆ MsiDatabaseApplyTransformW()

UINT WINAPI MsiDatabaseApplyTransformW ( MSIHANDLE  ,
LPCWSTR  ,
int   
)

Definition at line 752 of file msiquery.c.

754 {
755  MSIDATABASE *db;
756  UINT r;
757 
759  if( !db )
760  {
761  IWineMsiRemoteDatabase *remote_database;
762 
763  remote_database = (IWineMsiRemoteDatabase *)msi_get_remote( hdb );
764  if ( !remote_database )
765  return ERROR_INVALID_HANDLE;
766 
767  IWineMsiRemoteDatabase_Release( remote_database );
768  WARN("MsiDatabaseApplyTransform not allowed during a custom action!\n");
769 
770  return ERROR_SUCCESS;
771  }
772 
773  r = MSI_DatabaseApplyTransformW( db, szTransformFile, iErrorCond );
774  msiobj_release( &db->hdr );
775  return r;
776 }
#define ERROR_SUCCESS
Definition: deptool.c:10
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
#define WARN(fmt,...)
Definition: debug.h:111
#define ERROR_INVALID_HANDLE
Definition: compat.h:88
#define MSIHANDLETYPE_DATABASE
Definition: msipriv.h:699
int msiobj_release(MSIOBJECTHDR *info)
Definition: handle.c:242
unsigned int UINT
Definition: ndis.h:50
UINT MSI_DatabaseApplyTransformW(MSIDATABASE *db, LPCWSTR szTransformFile, int iErrorCond)
Definition: msiquery.c:716
IUnknown * msi_get_remote(MSIHANDLE handle)
Definition: handle.c:182
void * msihandle2msiinfo(MSIHANDLE handle, UINT type)
Definition: handle.c:157
MSIOBJECTHDR hdr
Definition: msipriv.h:97

Referenced by MsiDatabaseApplyTransformA().

◆ MsiDatabaseCommit()

UINT WINAPI MsiDatabaseCommit ( MSIHANDLE  )

Definition at line 813 of file msiquery.c.

814 {
815  MSIDATABASE *db;
816  UINT r;
817 
818  TRACE("%d\n", hdb);
819 
821  if( !db )
822  {
823  IWineMsiRemoteDatabase *remote_database;
824 
825  remote_database = (IWineMsiRemoteDatabase *)msi_get_remote( hdb );
826  if ( !remote_database )
827  return ERROR_INVALID_HANDLE;
828 
829  IWineMsiRemoteDatabase_Release( remote_database );
830  WARN("not allowed during a custom action!\n");
831 
832  return ERROR_SUCCESS;
833  }
834 
835  if (db->mode == MSIDBOPEN_READONLY)
836  {
837  msiobj_release( &db->hdr );
838  return ERROR_SUCCESS;
839  }
840 
841  /* FIXME: lock the database */
842 
843  r = msi_commit_streams( db );
844  if (r != ERROR_SUCCESS) ERR("Failed to commit streams!\n");
845  else
846  {
847  r = MSI_CommitTables( db );
848  if (r != ERROR_SUCCESS) ERR("Failed to commit tables!\n");
849  }
850 
851  /* FIXME: unlock the database */
852 
853  msiobj_release( &db->hdr );
854 
855  if (r == ERROR_SUCCESS)
856  {
857  msi_free( db->deletefile );
858  db->deletefile = NULL;
859  }
860 
861  return r;
862 }
#define MSIDBOPEN_READONLY
Definition: msiquery.h:66
#define ERROR_SUCCESS
Definition: deptool.c:10
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
#define WARN(fmt,...)
Definition: debug.h:111
#define ERROR_INVALID_HANDLE
Definition: compat.h:88
LPCWSTR mode
Definition: msipriv.h:104
#define MSIHANDLETYPE_DATABASE
Definition: msipriv.h:699
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
UINT msi_commit_streams(MSIDATABASE *db) DECLSPEC_HIDDEN
Definition: streams.c:625
int msiobj_release(MSIOBJECTHDR *info)
Definition: handle.c:242
UINT MSI_CommitTables(MSIDATABASE *db) DECLSPEC_HIDDEN
Definition: table.c:2204
#define ERR(fmt,...)
Definition: debug.h:109
LPWSTR deletefile
Definition: msipriv.h:102
unsigned int UINT
Definition: ndis.h:50
static BOOL msi_free(void *mem)
Definition: msipriv.h:1227
IUnknown * msi_get_remote(MSIHANDLE handle)
Definition: handle.c:182
void * msihandle2msiinfo(MSIHANDLE handle, UINT type)
Definition: handle.c:157
MSIOBJECTHDR hdr
Definition: msipriv.h:97

Referenced by add_custom_dll(), create_database(), create_database_wordcount(), create_db(), create_package_db(), generate_transform(), helper_createpackage(), set_admin_summary_info(), test_access(), test_binary(), test_createtable(), test_defaultdatabase(), test_deleterow(), test_emptypackage(), test_forcecodepage(), test_icon_table(), test_int_widths(), test_integers(), test_longstrings(), test_msibadqueries(), test_msidatabase(), test_MsiDatabaseCommit(), test_MsiEnumComponentCosts(), test_MsiGetProductProperty(), test_MsiGetSourcePath(), test_msiinsert(), test_MsiOpenDatabase(), test_shortlongsource(), test_states(), test_storages_table(), test_streamtable(), test_stringtable(), test_suminfo(), test_top_level_action(), test_try_transform(), and test_update().

◆ MsiDatabaseExportA()

UINT WINAPI MsiDatabaseExportA ( MSIHANDLE  ,
LPCSTR  ,
LPCSTR  ,
LPCSTR   
)

Definition at line 1226 of file database.c.

1228 {
1229  LPWSTR path = NULL, file = NULL, table = NULL;
1231 
1232  TRACE("%x %s %s %s\n", handle, debugstr_a(szTable),
1233  debugstr_a(szFolder), debugstr_a(szFilename));
1234 
1235  if( szTable )
1236  {
1237  table = strdupAtoW( szTable );
1238  if( !table )
1239  goto end;
1240  }
1241 
1242  if( szFolder )
1243  {
1244  path = strdupAtoW( szFolder );
1245  if( !path )
1246  goto end;
1247  }
1248 
1249  if( szFilename )
1250  {
1251  file = strdupAtoW( szFilename );
1252  if( !file )
1253  goto end;
1254  }
1255 
1257 
1258 end:
1259  msi_free( table );
1260  msi_free( path );
1261  msi_free( file );
1262 
1263  return r;
1264 }
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
GLuint GLuint end
Definition: gl.h:1545
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
#define debugstr_a
Definition: kernel32.h:31
Definition: services.c:325
unsigned int UINT
Definition: ndis.h:50
static BOOL msi_free(void *mem)
Definition: msipriv.h:1227
WCHAR * LPWSTR
Definition: xmlstorage.h:184
UINT WINAPI MsiDatabaseExportW(MSIHANDLE handle, LPCWSTR szTable, LPCWSTR szFolder, LPCWSTR szFilename)
Definition: database.c:1197
static WCHAR * strdupAtoW(const char *str)
Definition: main.c:67
static const WCHAR szTable[]
Definition: table.c:78
#define ERROR_OUTOFMEMORY
Definition: deptool.c:13
Definition: fci.c:126

Referenced by test_forcecodepage(), and test_msiexport().

◆ MsiDatabaseExportW()

UINT WINAPI MsiDatabaseExportW ( MSIHANDLE  ,
LPCWSTR  ,
LPCWSTR  ,
LPCWSTR   
)

Definition at line 1197 of file database.c.

1199 {
1200  MSIDATABASE *db;
1201  UINT r;
1202 
1203  TRACE("%x %s %s %s\n", handle, debugstr_w(szTable),
1204  debugstr_w(szFolder), debugstr_w(szFilename));
1205 
1207  if( !db )
1208  {
1209  IWineMsiRemoteDatabase *remote_database;
1210 
1211  remote_database = (IWineMsiRemoteDatabase *)msi_get_remote( handle );
1212  if ( !remote_database )
1213  return ERROR_INVALID_HANDLE;
1214 
1215  IWineMsiRemoteDatabase_Release( remote_database );
1216  WARN("MsiDatabaseExport not allowed during a custom action!\n");
1217 
1218  return ERROR_SUCCESS;
1219  }
1220 
1221  r = MSI_DatabaseExport( db, szTable, szFolder, szFilename );
1222  msiobj_release( &db->hdr );
1223  return r;
1224 }
#define ERROR_SUCCESS
Definition: deptool.c:10
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
#define WARN(fmt,...)
Definition: debug.h:111
#define ERROR_INVALID_HANDLE
Definition: compat.h:88
#define MSIHANDLETYPE_DATABASE
Definition: msipriv.h:699
#define debugstr_w
Definition: kernel32.h:32
static UINT MSI_DatabaseExport(MSIDATABASE *db, LPCWSTR table, LPCWSTR folder, LPCWSTR file)
Definition: database.c:1093
#define TRACE(s)
Definition: solgame.cpp:4
int msiobj_release(MSIOBJECTHDR *info)
Definition: handle.c:242
unsigned int UINT
Definition: ndis.h:50
IUnknown * msi_get_remote(MSIHANDLE handle)
Definition: handle.c:182
void * msihandle2msiinfo(MSIHANDLE handle, UINT type)
Definition: handle.c:157
MSIOBJECTHDR hdr
Definition: msipriv.h:97
static const WCHAR szTable[]
Definition: table.c:78

Referenced by MsiDatabaseExportA().

◆ MsiDatabaseGenerateTransformA()

UINT WINAPI MsiDatabaseGenerateTransformA ( MSIHANDLE  ,
MSIHANDLE  ,
LPCSTR  ,
int  ,
int   
)

Definition at line 797 of file msiquery.c.

799 {
800  FIXME("%d %d %s %d %d\n", hdb, hdbref,
801  debugstr_a(szTransformFile), iReserved1, iReserved2);
803 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define debugstr_a
Definition: kernel32.h:31
#define ERROR_CALL_NOT_IMPLEMENTED
Definition: compat.h:92

Referenced by generate_transform().

◆ MsiDatabaseGenerateTransformW()

UINT WINAPI MsiDatabaseGenerateTransformW ( MSIHANDLE  ,
MSIHANDLE  ,
LPCWSTR  ,
int  ,
int   
)

Definition at line 805 of file msiquery.c.

807 {
808  FIXME("%d %d %s %d %d\n", hdb, hdbref,
809  debugstr_w(szTransformFile), iReserved1, iReserved2);
811 }
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:110
#define ERROR_CALL_NOT_IMPLEMENTED
Definition: compat.h:92

◆ MsiDatabaseGetPrimaryKeysA()

UINT WINAPI MsiDatabaseGetPrimaryKeysA ( MSIHANDLE  ,
LPCSTR  ,
MSIHANDLE  
)

Definition at line 983 of file msiquery.c.

985 {
986  LPWSTR szwTable = NULL;
987  UINT r;
988 
989  TRACE("%d %s %p\n", hdb, debugstr_a(table), phRec);
990 
991  if( table )
992  {
993  szwTable = strdupAtoW( table );
994  if( !szwTable )
995  return ERROR_OUTOFMEMORY;
996  }
997  r = MsiDatabaseGetPrimaryKeysW( hdb, szwTable, phRec );
998  msi_free( szwTable );
999 
1000  return r;
1001 }
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
#define debugstr_a
Definition: kernel32.h:31
UINT WINAPI MsiDatabaseGetPrimaryKeysW(MSIHANDLE hdb, LPCWSTR table, MSIHANDLE *phRec)
Definition: msiquery.c:937
unsigned int UINT
Definition: ndis.h:50
static BOOL msi_free(void *mem)
Definition: msipriv.h:1227
WCHAR * LPWSTR
Definition: xmlstorage.h:184
static WCHAR * strdupAtoW(const char *str)
Definition: main.c:67
#define ERROR_OUTOFMEMORY
Definition: deptool.c:13

Referenced by test_fieldzero().

◆ MsiDatabaseGetPrimaryKeysW()

UINT WINAPI MsiDatabaseGetPrimaryKeysW ( MSIHANDLE  ,
LPCWSTR  ,
MSIHANDLE  
)

Definition at line 937 of file msiquery.c.

939 {
940  MSIRECORD *rec = NULL;
941  MSIDATABASE *db;
942  UINT r;
943 
944  TRACE("%d %s %p\n", hdb, debugstr_w(table), phRec);
945 
947  if( !db )
948  {
949  HRESULT hr;
950  IWineMsiRemoteDatabase *remote_database;
951 
952  remote_database = (IWineMsiRemoteDatabase *)msi_get_remote( hdb );
953  if ( !remote_database )
954  return ERROR_INVALID_HANDLE;
955 
956  hr = IWineMsiRemoteDatabase_GetPrimaryKeys( remote_database, table, phRec );
957  IWineMsiRemoteDatabase_Release( remote_database );
958 
959  if (FAILED(hr))
960  {
962  return HRESULT_CODE(hr);
963 
964  return ERROR_FUNCTION_FAILED;
965  }
966 
967  return ERROR_SUCCESS;
968  }
969 
970  r = MSI_DatabaseGetPrimaryKeys( db, table, &rec );
971  if( r == ERROR_SUCCESS )
972  {
973  *phRec = alloc_msihandle( &rec->hdr );
974  if (! *phRec)
976  msiobj_release( &rec->hdr );
977  }
978  msiobj_release( &db->hdr );
979 
980  return r;
981 }
#define ERROR_SUCCESS
Definition: deptool.c:10
HRESULT hr
Definition: shlfolder.c:183
MSIOBJECTHDR hdr
Definition: msipriv.h:141
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
#define ERROR_INVALID_HANDLE
Definition: compat.h:88
#define ERROR_NOT_ENOUGH_MEMORY
Definition: dderror.h:7
#define MSIHANDLETYPE_DATABASE
Definition: msipriv.h:699
UINT MSI_DatabaseGetPrimaryKeys(MSIDATABASE *db, LPCWSTR table, MSIRECORD **prec)
Definition: msiquery.c:896
#define ERROR_FUNCTION_FAILED
Definition: winerror.h:985
#define HRESULT_FACILITY(hr)
Definition: winerror.h:79
#define debugstr_w
Definition: kernel32.h:32
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:77
int msiobj_release(MSIOBJECTHDR *info)
Definition: handle.c:242
#define FACILITY_WIN32
Definition: winerror.h:27
MSIHANDLE alloc_msihandle(MSIOBJECTHDR *obj)
Definition: handle.c:109
unsigned int UINT
Definition: ndis.h:50
#define HRESULT_CODE(hr)
Definition: winerror.h:76
IUnknown * msi_get_remote(MSIHANDLE handle)
Definition: handle.c:182
void * msihandle2msiinfo(MSIHANDLE handle, UINT type)
Definition: handle.c:157
MSIOBJECTHDR hdr
Definition: msipriv.h:97

Referenced by mrd_GetPrimaryKeys(), and MsiDatabaseGetPrimaryKeysA().

◆ MsiDatabaseImportA()

UINT WINAPI MsiDatabaseImportA ( MSIHANDLE  ,
LPCSTR  ,
LPCSTR   
)

Definition at line 900 of file database.c.

902 {
903  LPWSTR path = NULL, file = NULL;
905 
906  TRACE("%x %s %s\n", handle, debugstr_a(szFolder), debugstr_a(szFilename));
907 
908  if( szFolder )
909  {
910  path = strdupAtoW( szFolder );
911  if( !path )
912  goto end;
913  }
914 
915  if( szFilename )
916  {
917  file = strdupAtoW( szFilename );
918  if( !file )
919  goto end;
920  }
921 
923 
924 end:
925  msi_free( path );
926  msi_free( file );
927 
928  return r;
929 }
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
GLuint GLuint end
Definition: gl.h:1545
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
#define debugstr_a
Definition: kernel32.h:31
UINT WINAPI MsiDatabaseImportW(MSIHANDLE handle, LPCWSTR szFolder, LPCWSTR szFilename)
Definition: database.c:873
Definition: services.c:325
unsigned int UINT
Definition: ndis.h:50
static BOOL msi_free(void *mem)
Definition: msipriv.h:1227
WCHAR * LPWSTR
Definition: xmlstorage.h:184
static WCHAR * strdupAtoW(const char *str)
Definition: main.c:67
#define ERROR_OUTOFMEMORY
Definition: deptool.c:13
Definition: fci.c:126

Referenced by add_table_to_db(), create_database(), create_database_wordcount(), test_binary_import(), test_controlevent(), test_dbmerge(), test_embedded_nulls(), test_externalui_message(), test_forcecodepage(), test_msiimport(), test_quotes(), and test_top_level_action().

◆ MsiDatabaseImportW()

UINT WINAPI MsiDatabaseImportW ( MSIHANDLE  ,
LPCWSTR  ,
LPCWSTR   
)

Definition at line 873 of file database.c.

874 {
875  MSIDATABASE *db;
876  UINT r;
877 
878  TRACE("%x %s %s\n",handle,debugstr_w(szFolder), debugstr_w(szFilename));
879 
881  if( !db )
882  {
883  IWineMsiRemoteDatabase *remote_database;
884 
885  remote_database = (IWineMsiRemoteDatabase *)msi_get_remote( handle );
886  if ( !remote_database )
887  return ERROR_INVALID_HANDLE;
888 
889  IWineMsiRemoteDatabase_Release( remote_database );
890  WARN("MsiDatabaseImport not allowed during a custom action!\n");
891 
892  return ERROR_SUCCESS;
893  }
894 
895  r = MSI_DatabaseImport( db, szFolder, szFilename );
896  msiobj_release( &db->hdr );
897  return r;
898 }
#define ERROR_SUCCESS
Definition: deptool.c:10
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
#define WARN(fmt,...)
Definition: debug.h:111
#define ERROR_INVALID_HANDLE
Definition: compat.h:88
#define MSIHANDLETYPE_DATABASE
Definition: msipriv.h:699
#define debugstr_w
Definition: kernel32.h:32
#define TRACE(s)
Definition: solgame.cpp:4
static UINT MSI_DatabaseImport(MSIDATABASE *db, LPCWSTR folder, LPCWSTR file)
Definition: database.c:757
int msiobj_release(MSIOBJECTHDR *info)
Definition: handle.c:242
unsigned int UINT
Definition: ndis.h:50
IUnknown * msi_get_remote(MSIHANDLE handle)
Definition: handle.c:182
void * msihandle2msiinfo(MSIHANDLE handle, UINT type)
Definition: handle.c:157
MSIOBJECTHDR hdr
Definition: msipriv.h:97

Referenced by MsiDatabaseImportA(), and test_int_widths().

◆ MsiDatabaseIsTablePersistentA()

MSICONDITION WINAPI MsiDatabaseIsTablePersistentA ( MSIHANDLE  ,
LPCSTR   
)

Definition at line 1003 of file msiquery.c.

1005 {
1006  LPWSTR szwTableName = NULL;
1007  MSICONDITION r;
1008 
1009  TRACE("%x %s\n", hDatabase, debugstr_a(szTableName));
1010 
1011  if( szTableName )
1012  {
1013  szwTableName = strdupAtoW( szTableName );
1014  if( !szwTableName )
1015  return MSICONDITION_ERROR;
1016  }
1017  r = MsiDatabaseIsTablePersistentW( hDatabase, szwTableName );
1018  msi_free( szwTableName );
1019 
1020  return r;
1021 }
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
MSICONDITION WINAPI MsiDatabaseIsTablePersistentW(MSIHANDLE hDatabase, LPCWSTR szTableName)
Definition: msiquery.c:1023
#define debugstr_a
Definition: kernel32.h:31
int MSICONDITION
Definition: msiserver.idl:33
static BOOL msi_free(void *mem)
Definition: msipriv.h:1227
WCHAR * LPWSTR
Definition: xmlstorage.h:184
static WCHAR * strdupAtoW(const char *str)
Definition: main.c:67

Referenced by test_alter(), test_emptypackage(), and test_temporary_table().

◆ MsiDatabaseIsTablePersistentW()

MSICONDITION WINAPI MsiDatabaseIsTablePersistentW ( MSIHANDLE  ,
LPCWSTR   
)

Definition at line 1023 of file msiquery.c.

1025 {
1026  MSIDATABASE *db;
1027  MSICONDITION r;
1028 
1029  TRACE("%x %s\n", hDatabase, debugstr_w(szTableName));
1030 
1031  db = msihandle2msiinfo( hDatabase, MSIHANDLETYPE_DATABASE );
1032  if( !db )
1033  {
1034  HRESULT hr;
1036  IWineMsiRemoteDatabase *remote_database;
1037 
1038  remote_database = (IWineMsiRemoteDatabase *)msi_get_remote( hDatabase );
1039  if ( !remote_database )
1040  return MSICONDITION_ERROR;
1041 
1042  hr = IWineMsiRemoteDatabase_IsTablePersistent( remote_database,
1043  szTableName, &condition );
1044  IWineMsiRemoteDatabase_Release( remote_database );
1045 
1046  if (FAILED(hr))
1047  return MSICONDITION_ERROR;
1048 
1049  return condition;
1050  }
1051 
1052  r = MSI_DatabaseIsTablePersistent( db, szTableName );
1053 
1054  msiobj_release( &db->hdr );
1055 
1056  return r;
1057 }
HRESULT hr
Definition: shlfolder.c:183
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
#define MSIHANDLETYPE_DATABASE
Definition: msipriv.h:699
#define debugstr_w
Definition: kernel32.h:32
GLenum condition
Definition: glext.h:9255
#define TRACE(s)
Definition: solgame.cpp:4
MSICONDITION MSI_DatabaseIsTablePersistent(MSIDATABASE *db, LPCWSTR table) DECLSPEC_HIDDEN
Definition: table.c:2239
LONG HRESULT
Definition: typedefs.h:77
int msiobj_release(MSIOBJECTHDR *info)
Definition: handle.c:242
int MSICONDITION
Definition: msiserver.idl:33
IUnknown * msi_get_remote(MSIHANDLE handle)
Definition: handle.c:182
void * msihandle2msiinfo(MSIHANDLE handle, UINT type)
Definition: handle.c:157
MSIOBJECTHDR hdr
Definition: msipriv.h:97

Referenced by mrd_IsTablePersistent(), and MsiDatabaseIsTablePersistentA().

◆ MsiDatabaseOpenViewA()

UINT WINAPI MsiDatabaseOpenViewA ( MSIHANDLE  ,
LPCSTR  ,
MSIHANDLE  
)

Definition at line 88 of file msiquery.c.

90 {
91  UINT r;
92  LPWSTR szwQuery;
93 
94  TRACE("%d %s %p\n", hdb, debugstr_a(szQuery), phView);
95 
96  if( szQuery )
97  {
98  szwQuery = strdupAtoW( szQuery );
99  if( !szwQuery )
100  return ERROR_FUNCTION_FAILED;
101  }
102  else
103  szwQuery = NULL;
104 
105  r = MsiDatabaseOpenViewW( hdb, szwQuery, phView);
106 
107  msi_free( szwQuery );
108  return r;
109 }
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
#define ERROR_FUNCTION_FAILED
Definition: winerror.h:985
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
#define debugstr_a
Definition: kernel32.h:31
unsigned int UINT
Definition: ndis.h:50
static BOOL msi_free(void *mem)
Definition: msipriv.h:1227
UINT WINAPI MsiDatabaseOpenViewW(MSIHANDLE hdb, LPCWSTR szQuery, MSIHANDLE *phView)
Definition: msiquery.c:241
WCHAR * LPWSTR
Definition: xmlstorage.h:184
static WCHAR * strdupAtoW(const char *str)
Definition: main.c:67

Referenced by do_query(), find_entry(), find_prop_in_property(), get_column_info(), get_columns_table_type(), get_integer(), get_string(), run_query(), test_carriagereturn(), test_collation(), test_columnorder(), test_createtable(), test_dbmerge(), test_deleterow(), test_droptable(), test_emptypackage(), test_fieldzero(), test_getcolinfo(), test_handle_limit(), test_insertorder(), test_integers(), test_join(), test_longstrings(), test_msiexport(), test_msiimport(), test_msiinsert(), test_noquotes(), test_order(), test_packagecoltypes(), test_quotes(), test_rows_order(), test_select_column_names(), test_select_markers(), test_select_with_tablenames(), test_simple_patch(), test_storages_table(), test_streamtable(), test_stringtable(), test_suminfo_import(), test_system_tables(), test_tables_order(), test_temporary_table(), test_try_transform(), test_update(), test_viewmodify(), test_viewmodify_assign(), test_viewmodify_delete(), test_viewmodify_delete_temporary(), test_viewmodify_refresh(), test_viewmodify_update(), test_where(), test_where_not_in_selected(), test_where_viewmodify(), and try_query_param().

◆ MsiDatabaseOpenViewW()

UINT WINAPI MsiDatabaseOpenViewW ( MSIHANDLE  ,
LPCWSTR  ,
MSIHANDLE  
)

Definition at line 241 of file msiquery.c.

243 {
244  MSIDATABASE *db;
245  MSIQUERY *query = NULL;
246  UINT ret;
247 
248  TRACE("%s %p\n", debugstr_w(szQuery), phView);
249 
251  if( !db )
252  {
253  HRESULT hr;
254  IWineMsiRemoteDatabase *remote_database;
255 
256  remote_database = (IWineMsiRemoteDatabase *)msi_get_remote( hdb );
257  if ( !remote_database )
258  return ERROR_INVALID_HANDLE;
259 
260  hr = IWineMsiRemoteDatabase_OpenView( remote_database, szQuery, phView );
261  IWineMsiRemoteDatabase_Release( remote_database );
262 
263  if (FAILED(hr))
264  {
266  return HRESULT_CODE(hr);
267 
268  return ERROR_FUNCTION_FAILED;
269  }
270 
271  return ERROR_SUCCESS;
272  }
273 
274  ret = MSI_DatabaseOpenViewW( db, szQuery, &query );
275  if( ret == ERROR_SUCCESS )
276  {
277  *phView = alloc_msihandle( &query->hdr );
278  if (! *phView)
280  msiobj_release( &query->hdr );
281  }
282  msiobj_release( &db->hdr );
283 
284  return ret;
285 }
#define ERROR_SUCCESS
Definition: deptool.c:10
HRESULT hr
Definition: shlfolder.c:183
#define ERROR_INVALID_HANDLE
Definition: compat.h:88
#define ERROR_NOT_ENOUGH_MEMORY
Definition: dderror.h:7
#define MSIHANDLETYPE_DATABASE
Definition: msipriv.h:699
#define ERROR_FUNCTION_FAILED
Definition: winerror.h:985
#define HRESULT_FACILITY(hr)
Definition: winerror.h:79
#define debugstr_w
Definition: kernel32.h:32
UINT MSI_DatabaseOpenViewW(MSIDATABASE *db, LPCWSTR szQuery, MSIQUERY **pView)
Definition: msiquery.c:111
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:77
int msiobj_release(MSIOBJECTHDR *info)
Definition: handle.c:242
int ret
#define FACILITY_WIN32
Definition: winerror.h:27
MSIHANDLE alloc_msihandle(MSIOBJECTHDR *obj)
Definition: handle.c:109
unsigned int UINT
Definition: ndis.h:50
#define HRESULT_CODE(hr)
Definition: winerror.h:76
IUnknown * msi_get_remote(MSIHANDLE handle)
Definition: handle.c:182
void * msihandle2msiinfo(MSIHANDLE handle, UINT type)
Definition: handle.c:157
MSIOBJECTHDR hdr
Definition: msipriv.h:97

Referenced by database_invoke(), find_entryW(), mrd_OpenView(), MsiDatabaseOpenViewA(), run_queryW(), and test_collation().

◆ MsiDoActionA()

UINT WINAPI MsiDoActionA ( MSIHANDLE  ,
LPCSTR   
)

Definition at line 45 of file install.c.

46 {
47  LPWSTR szwAction;
48  UINT ret;
49 
50  TRACE("%s\n", debugstr_a(szAction));
51 
52  szwAction = strdupAtoW(szAction);
53  if (szAction && !szwAction)
54  return ERROR_FUNCTION_FAILED;
55 
56  ret = MsiDoActionW( hInstall, szwAction );
57  msi_free( szwAction );
58  return ret;
59 }
#define ERROR_FUNCTION_FAILED
Definition: winerror.h:985
UINT WINAPI MsiDoActionW(MSIHANDLE hInstall, LPCWSTR szAction)
Definition: install.c:64
#define TRACE(s)
Definition: solgame.cpp:4
#define debugstr_a
Definition: kernel32.h:31
int ret
unsigned int UINT
Definition: ndis.h:50
static BOOL msi_free(void *mem)
Definition: msipriv.h:1227
WCHAR * LPWSTR
Definition: xmlstorage.h:184
static WCHAR * strdupAtoW(const char *str)
Definition: main.c:67

Referenced by test_appsearch(), test_appsearch_complocator(), test_appsearch_drlocator(), test_appsearch_inilocator(), test_appsearch_reglocator(), test_ccpsearch(), test_complocator(), test_controlevent(), test_dbtopackage(), test_doaction(), test_externalui_message(), test_featureparents(), test_formatrecord_tables(), test_launchconditions(), test_MsiEnumComponentCosts(), test_MsiGetSourcePath(), test_MsiSetComponentState(), test_MsiSetFeatureAttributes(), test_property_table(), test_removefiles(), test_settargetpath(), test_shortlongsource(), test_sourcedir(), test_states(), and test_top_level_action().

◆ MsiDoActionW()

UINT WINAPI MsiDoActionW ( MSIHANDLE  ,
LPCWSTR   
)

Definition at line 64 of file install.c.

65 {
66  MSIPACKAGE *package;
67  UINT ret;
68 
69  TRACE("%s\n",debugstr_w(szAction));
70 
71  if (!szAction)
73 
74  package = msihandle2msiinfo( hInstall, MSIHANDLETYPE_PACKAGE );
75  if (!package)
76  {
77  HRESULT hr;
78  BSTR action;
79  IWineMsiRemotePackage *remote_package;
80 
81  remote_package = (IWineMsiRemotePackage *)msi_get_remote( hInstall );
82  if (!remote_package)
83  return ERROR_INVALID_HANDLE;
84 
85  action = SysAllocString( szAction );
86  if (!action)
87  {
88  IWineMsiRemotePackage_Release( remote_package );
89  return ERROR_OUTOFMEMORY;
90  }
91 
92  hr = IWineMsiRemotePackage_DoAction( remote_package, action );
93 
95  IWineMsiRemotePackage_Release( remote_package );
96 
97  if (FAILED(hr))
98  {
100  return HRESULT_CODE(hr);
101 
102  return ERROR_FUNCTION_FAILED;
103  }
104 
105  return ERROR_SUCCESS;
106  }
107 
108  ret = ACTION_PerformAction( package, szAction, SCRIPT_NONE );
109  msiobj_release( &package->hdr );
110 
111  return ret;
112 }
#define ERROR_INVALID_PARAMETER
Definition: compat.h:91
#define ERROR_SUCCESS
Definition: deptool.c:10
HRESULT hr
Definition: shlfolder.c:183
MSIOBJECTHDR hdr
Definition: msipriv.h:385
#define ERROR_INVALID_HANDLE
Definition: compat.h:88
OLECHAR * BSTR
Definition: compat.h:1934
#define ERROR_FUNCTION_FAILED
Definition: winerror.h:985
#define HRESULT_FACILITY(hr)
Definition: winerror.h:79
#define debugstr_w
Definition: kernel32.h:32
BSTR WINAPI SysAllocString(LPCOLESTR str)
Definition: oleaut.c:241
UINT ACTION_PerformAction(MSIPACKAGE *package, const WCHAR *action, UINT script)
Definition: action.c:7913
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:77
int msiobj_release(MSIOBJECTHDR *info)
Definition: handle.c:242
int ret
#define FACILITY_WIN32
Definition: winerror.h:27
const WCHAR * action
Definition: action.c:7783
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
Definition: oleaut.c:274
unsigned int UINT
Definition: ndis.h:50
#define HRESULT_CODE(hr)
Definition: winerror.h:76
IUnknown * msi_get_remote(MSIHANDLE handle)
Definition: handle.c:182
#define ERROR_OUTOFMEMORY
Definition: deptool.c:13

Referenced by mrp_DoAction(), MsiDoActionA(), and session_invoke().

◆ MsiEnableUIPreview()

UINT WINAPI MsiEnableUIPreview ( MSIHANDLE  ,
MSIHANDLE  
)

Definition at line 4137 of file dialog.c.

4138 {
4139  MSIDATABASE *db;
4142 
4143  TRACE("%d %p\n", hdb, phPreview);
4144 
4146  if (!db)
4147  {
4148  IWineMsiRemoteDatabase *remote_database;
4149 
4150  remote_database = (IWineMsiRemoteDatabase *)msi_get_remote( hdb );
4151  if (!remote_database)
4152  return ERROR_INVALID_HANDLE;
4153 
4154  *phPreview = 0;
4155 
4156  IWineMsiRemoteDatabase_Release( remote_database );
4157  WARN("MsiEnableUIPreview not allowed during a custom action!\n");
4158 
4159  return ERROR_FUNCTION_FAILED;
4160  }
4161  preview = MSI_EnableUIPreview( db );
4162  if (preview)
4163  {
4164  *phPreview = alloc_msihandle( &preview->hdr );
4165  msiobj_release( &preview->hdr );
4166  r = ERROR_SUCCESS;
4167  if (!*phPreview)
4169  }
4170  msiobj_release( &db->hdr );
4171  return r;
4172 }
#define ERROR_SUCCESS
Definition: deptool.c:10
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
#define WARN(fmt,...)
Definition: debug.h:111
#define ERROR_INVALID_HANDLE
Definition: compat.h:88
#define ERROR_NOT_ENOUGH_MEMORY
Definition: dderror.h:7
#define MSIHANDLETYPE_DATABASE
Definition: msipriv.h:699
#define ERROR_FUNCTION_FAILED
Definition: winerror.h:985
#define TRACE(s)
Definition: solgame.cpp:4
int msiobj_release(MSIOBJECTHDR *info)
Definition: handle.c:242
static previewinfo preview
Definition: print.c:56
MSIHANDLE alloc_msihandle(MSIOBJECTHDR *obj)
Definition: handle.c:109
unsigned int UINT
Definition: ndis.h:50
IUnknown * msi_get_remote(MSIHANDLE handle)
Definition: handle.c:182
void * msihandle2msiinfo(MSIHANDLE handle, UINT type)
Definition: handle.c:157
static MSIPREVIEW * MSI_EnableUIPreview(MSIDATABASE *db)
Definition: dialog.c:4118
MSIOBJECTHDR hdr
Definition: msipriv.h:97

◆ MsiEvaluateConditionA()

MSICONDITION WINAPI MsiEvaluateConditionA ( MSIHANDLE  ,
LPCSTR   
)

Definition at line 2540 of file cond.tab.c.

2541 {
2542  LPWSTR szwCond = NULL;
2543  MSICONDITION r;
2544 
2545  szwCond = strdupAtoW( szCondition );
2546  if( szCondition && !szwCond )
2547  return MSICONDITION_ERROR;
2548 
2549  r = MsiEvaluateConditionW( hInstall, szwCond );
2550  msi_free( szwCond );
2551  return r;
2552 }
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
MSICONDITION WINAPI MsiEvaluateConditionW(MSIHANDLE hInstall, LPCWSTR szCondition)
Definition: cond.tab.c:2496
smooth NULL
Definition: ftsmooth.c:416
int MSICONDITION
Definition: msiserver.idl:33
static BOOL msi_free(void *mem)
Definition: msipriv.h:1227
WCHAR * LPWSTR
Definition: xmlstorage.h:184
static WCHAR * strdupAtoW(const char *str)
Definition: main.c:67

Referenced by test_condition().

◆ MsiEvaluateConditionW()

MSICONDITION WINAPI MsiEvaluateConditionW ( MSIHANDLE  ,
LPCWSTR   
)

Definition at line 2496 of file cond.tab.c.

2497 {
2498  MSIPACKAGE *package;
2499  UINT ret;
2500 
2501  package = msihandle2msiinfo( hInstall, MSIHANDLETYPE_PACKAGE);
2502  if( !package )
2503  {
2504  HRESULT hr;
2505  BSTR condition;
2506  IWineMsiRemotePackage *remote_package;
2507 
2508  remote_package = (IWineMsiRemotePackage *)msi_get_remote( hInstall );
2509  if (!remote_package)
2510  return MSICONDITION_ERROR;
2511 
2512  condition = SysAllocString( szCondition );
2513  if (!condition)
2514  {
2515  IWineMsiRemotePackage_Release( remote_package );
2516  return ERROR_OUTOFMEMORY;
2517  }
2518 
2519  hr = IWineMsiRemotePackage_EvaluateCondition( remote_package, condition );
2520 
2522  IWineMsiRemotePackage_Release( remote_package );
2523 
2524  if (FAILED(hr))
2525  {
2527  return HRESULT_CODE(hr);
2528 
2529  return ERROR_FUNCTION_FAILED;
2530  }
2531 
2532  return ERROR_SUCCESS;
2533  }
2534 
2535  ret = MSI_EvaluateConditionW( package, szCondition );
2536  msiobj_release( &package->hdr );
2537  return ret;
2538 }
#define ERROR_SUCCESS
Definition: deptool.c:10
HRESULT hr
Definition: shlfolder.c:183
MSIOBJECTHDR hdr
Definition: msipriv.h:385
OLECHAR * BSTR
Definition: compat.h:1934
#define ERROR_FUNCTION_FAILED
Definition: winerror.h:985
#define HRESULT_FACILITY(hr)
Definition: winerror.h:79
GLenum condition
Definition: glext.h:9255
BSTR WINAPI SysAllocString(LPCOLESTR str)
Definition: oleaut.c:241
LONG HRESULT
Definition: typedefs.h:77
int msiobj_release(MSIOBJECTHDR *info)
Definition: handle.c:242
int ret
#define FACILITY_WIN32
Definition: winerror.h:27
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
Definition: oleaut.c:274
unsigned int UINT
Definition: ndis.h:50
#define HRESULT_CODE(hr)
Definition: winerror.h:76
MSICONDITION MSI_EvaluateConditionW(MSIPACKAGE *package, LPCWSTR szCondition)
Definition: cond.tab.c:2461
IUnknown * msi_get_remote(MSIHANDLE handle)
Definition: handle.c:182
#define ERROR_OUTOFMEMORY
Definition: deptool.c:13

Referenced by mrp_EvaluateCondition(), MsiEvaluateConditionA(), session_invoke(), and test_condition().

◆ MsiFormatRecordA()

UINT WINAPI MsiFormatRecordA ( MSIHANDLE  ,
MSIHANDLE  ,
LPSTR  ,
LPDWORD   
)

Definition at line 966 of file format.c.

968 {
969  UINT r;
970  DWORD len, save;
971  LPWSTR value;
972 
973  TRACE("%d %d %p %p\n", hInstall, hRecord, szResult, sz);
974 
975  if (!hRecord)
976  return ERROR_INVALID_HANDLE;
977 
978  if (!sz)
979  {
980  if (szResult)
982  else
983  return ERROR_SUCCESS;
984  }
985 
986  r = MsiFormatRecordW( hInstall, hRecord, NULL, &len );
987  if (r != ERROR_SUCCESS)
988  return r;
989 
990  value = msi_alloc(++len * sizeof(WCHAR));
991  if (!value)
992  return ERROR_OUTOFMEMORY;
993 
994  r = MsiFormatRecordW( hInstall, hRecord, value, &len );
995  if (r != ERROR_SUCCESS)
996  goto done;
997 
998  save = len + 1;
999  len = WideCharToMultiByte(CP_ACP, 0, value, len + 1, NULL, 0, NULL, NULL);
1000  WideCharToMultiByte(CP_ACP, 0, value, len, szResult, *sz, NULL, NULL);
1001 
1002  if (szResult && len > *sz)
1003  {
1004  if (*sz) szResult[*sz - 1] = '\0';
1005  r = ERROR_MORE_DATA;
1006  }
1007 
1008  *sz = save - 1;
1009 
1010 done:
1011  msi_free(value);
1012  return r;
1013 }
#define ERROR_INVALID_PARAMETER
Definition: compat.h:91
#define ERROR_SUCCESS
Definition: deptool.c:10
#define WideCharToMultiByte
Definition: compat.h:101
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
#define CP_ACP
Definition: compat.h:99
#define ERROR_INVALID_HANDLE
Definition: compat.h:88
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
__wchar_t WCHAR
Definition: xmlstorage.h:180
unsigned long DWORD
Definition: ntddk_ex.h:95
UINT WINAPI MsiFormatRecordW(MSIHANDLE hInstall, MSIHANDLE hRecord, LPWSTR szResult, LPDWORD sz)
Definition: format.c:901
GLenum GLsizei len
Definition: glext.h:6722
#define ERROR_MORE_DATA
Definition: dderror.h:13
GLsizei const GLfloat * value
Definition: glext.h:6069
unsigned int UINT
Definition: ndis.h:50
static BOOL msi_free(void *mem)
Definition: msipriv.h:1227
static void * msi_alloc(size_t len) __WINE_ALLOC_SIZE(1)
Definition: msipriv.h:1204
WCHAR * LPWSTR
Definition: xmlstorage.h:184
#define ERROR_OUTOFMEMORY
Definition: deptool.c:13

Referenced by query_file_path(), test_formatrecord(), test_formatrecord2(), and test_formatrecord_tables().

◆ MsiFormatRecordW()

UINT WINAPI MsiFormatRecordW ( MSIHANDLE  ,
MSIHANDLE  ,
LPWSTR  ,
LPDWORD   
)

Definition at line 901 of file format.c.

903 {
905  MSIPACKAGE *package;
906  MSIRECORD *record;
907 
908  TRACE("%d %d %p %p\n", hInstall, hRecord, szResult, sz);
909 
910  package = msihandle2msiinfo( hInstall, MSIHANDLETYPE_PACKAGE );
911  if (!package)
912  {
913  HRESULT hr;
914  IWineMsiRemotePackage *remote_package;
915  BSTR value = NULL;
916  awstring wstr;
917 
918  remote_package = (IWineMsiRemotePackage *)msi_get_remote( hInstall );
919  if (remote_package)
920  {
921  hr = IWineMsiRemotePackage_FormatRecord( remote_package, hRecord,
922  &value );
923  if (FAILED(hr))
924  goto done;
925 
926  wstr.unicode = TRUE;
927  wstr.str.w = szResult;
928  r = msi_strcpy_to_awstring( value, SysStringLen(value), &wstr, sz );
929 
930 done:
931  IWineMsiRemotePackage_Release( remote_package );
932  SysFreeString( value );
933 
934  if (FAILED(hr))
935  {
937  return HRESULT_CODE(hr);
938 
939  return ERROR_FUNCTION_FAILED;
940  }
941 
942  return r;
943  }
944  }
945 
947 
948  if (!record)
949  return ERROR_INVALID_HANDLE;
950  if (!sz)
951  {
952  msiobj_release( &record->hdr );
953  if (szResult)
955  else
956  return ERROR_SUCCESS;
957  }
958 
959  r = MSI_FormatRecordW( package, record, szResult, sz );
960  msiobj_release( &record->hdr );
961  if (package)
962  msiobj_release( &package->hdr );
963  return r;
964 }
#define ERROR_INVALID_PARAMETER
Definition: compat.h:91
#define TRUE
Definition: types.h:120
#define ERROR_SUCCESS
Definition: deptool.c:10
HRESULT hr
Definition: shlfolder.c:183
MSIOBJECTHDR hdr
Definition: msipriv.h:385
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
#define ERROR_INVALID_HANDLE
Definition: compat.h:88
UINT MSI_FormatRecordW(MSIPACKAGE *package, MSIRECORD *record, LPWSTR buffer, LPDWORD size)
Definition: format.c:839
OLECHAR * BSTR
Definition: compat.h:1934
LPWSTR w
Definition: msipriv.h:720
UINT msi_strcpy_to_awstring(const WCHAR *str, int len, awstring *awbuf, DWORD *sz)
Definition: install.c:181
#define ERROR_FUNCTION_FAILED
Definition: winerror.h:985
#define HRESULT_FACILITY(hr)
Definition: winerror.h:79
#define MSIHANDLETYPE_RECORD
Definition: msipriv.h:702
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:77
int msiobj_release(MSIOBJECTHDR *info)
Definition: handle.c:242
UINT WINAPI SysStringLen(BSTR str)
Definition: oleaut.c:199
union awstring::@480 str
#define FACILITY_WIN32
Definition: winerror.h:27
BOOL unicode
Definition: msipriv.h:717
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
Definition: oleaut.c:274
unsigned int UINT
Definition: ndis.h:50
#define HRESULT_CODE(hr)
Definition: winerror.h:76
IUnknown * msi_get_remote(MSIHANDLE handle)
Definition: handle.c:182
void * msihandle2msiinfo(MSIHANDLE handle, UINT type)
Definition: handle.c:157

Referenced by mrp_FormatRecord(), and MsiFormatRecordA().

◆ MsiGetActiveDatabase()

MSIHANDLE WINAPI MsiGetActiveDatabase ( MSIHANDLE  )

Definition at line 1692 of file package.c.

1693 {
1694  MSIPACKAGE *package;
1695  MSIHANDLE handle = 0;
1696  IUnknown *remote_unk;
1697  IWineMsiRemotePackage *remote_package;
1698 
1699  TRACE("(%d)\n",hInstall);
1700 
1701  package = msihandle2msiinfo( hInstall, MSIHANDLETYPE_PACKAGE);
1702  if( package)
1703  {
1704  handle = alloc_msihandle( &package->db->hdr );
1705  msiobj_release( &package->hdr );
1706  }
1707  else if ((remote_unk = msi_get_remote(hInstall)))
1708  {
1709  if (IUnknown_QueryInterface(remote_unk, &IID_IWineMsiRemotePackage,
1710  (LPVOID *)&remote_package) == S_OK)
1711  {
1712  IWineMsiRemotePackage_GetActiveDatabase(remote_package, &handle);
1713  IWineMsiRemotePackage_Release(remote_package);
1714  }
1715  else
1716  {
1717  WARN("remote handle %d is not a package\n", hInstall);
1718  }
1719  IUnknown_Release(remote_unk);
1720  }
1721 
1722  return handle;
1723 }
namespace GUID const ADDRINFOEXW ADDRINFOEXW struct timeval OVERLAPPED LPLOOKUPSERVICE_COMPLETION_ROUTINE HANDLE * handle
Definition: sock.c:82
MSIOBJECTHDR hdr
Definition: msipriv.h:385
#define WARN(fmt,...)
Definition: debug.h:111
unsigned long MSIHANDLE
Definition: msiserver.idl:25
#define TRACE(s)
Definition: solgame.cpp:4
MSIDATABASE * db
Definition: msipriv.h:386
int msiobj_release(MSIOBJECTHDR *info)
Definition: handle.c:242
#define S_OK
Definition: intsafe.h:59
MSIHANDLE alloc_msihandle(MSIOBJECTHDR *obj)
Definition: handle.c:109
IUnknown * msi_get_remote(MSIHANDLE handle)
Definition: handle.c:182
MSIOBJECTHDR hdr
Definition: msipriv.h:97

Referenced by mrp_GetActiveDatabase(), session_invoke(), test_emptypackage(), test_MsiSetProperty(), test_property_table(), test_simple_patch(), and test_system_tables().

◆ MsiGetComponentStateA()

UINT WINAPI MsiGetComponentStateA ( MSIHANDLE  ,
LPCSTR  ,
INSTALLSTATE ,
INSTALLSTATE  
)

Definition at line 1448 of file install.c.

1450 {
1451  LPWSTR szwComponent= NULL;
1452  UINT rc;
1453 
1454  szwComponent= strdupAtoW(szComponent);
1455 
1456  rc = MsiGetComponentStateW(hInstall,szwComponent,piInstalled, piAction);
1457 
1458  msi_free( szwComponent);
1459 
1460  return rc;
1461 }
UINT WINAPI MsiGetComponentStateW(MSIHANDLE hInstall, LPCWSTR szComponent, INSTALLSTATE *piInstalled, INSTALLSTATE *piAction)
Definition: install.c:1563
smooth NULL
Definition: ftsmooth.c:416
unsigned int UINT
Definition: ndis.h:50
static BOOL msi_free(void *mem)
Definition: msipriv.h:1227
WCHAR * LPWSTR
Definition: xmlstorage.h:184
static WCHAR * strdupAtoW(const char *str)
Definition: main.c:67

Referenced by test_component_states(), test_MsiSetComponentState(), and test_removefiles().

◆ MsiGetComponentStateW()

UINT WINAPI MsiGetComponentStateW ( MSIHANDLE  ,
LPCWSTR  ,
INSTALLSTATE ,
INSTALLSTATE  
)

Definition at line 1563 of file install.c.

1565 {
1566  MSIPACKAGE* package;
1567  UINT ret;
1568 
1569  TRACE("%d %s %p %p\n", hInstall, debugstr_w(szComponent),
1570  piInstalled, piAction);
1571 
1572  package = msihandle2msiinfo(hInstall, MSIHANDLETYPE_PACKAGE);
1573  if (!package)
1574  {
1575  HRESULT hr;
1576  BSTR component;
1577  IWineMsiRemotePackage *remote_package;
1578 
1579  remote_package = (IWineMsiRemotePackage *)msi_get_remote(hInstall);
1580  if (!remote_package)
1581  return ERROR_INVALID_HANDLE;
1582 
1583  component = SysAllocString(szComponent);
1584  if (!component)
1585  {
1586  IWineMsiRemotePackage_Release(remote_package);
1587  return ERROR_OUTOFMEMORY;
1588  }
1589 
1590  hr = IWineMsiRemotePackage_GetComponentState(remote_package, component,
1591  piInstalled, piAction);
1592 
1593  SysFreeString(component);
1594  IWineMsiRemotePackage_Release(remote_package);
1595 
1596  if (FAILED(hr))
1597  {
1599  return HRESULT_CODE(hr);
1600 
1601  return ERROR_FUNCTION_FAILED;
1602  }
1603 
1604  return ERROR_SUCCESS;
1605  }
1606 
1607  ret = MSI_GetComponentStateW( package, szComponent, piInstalled, piAction);
1608  msiobj_release( &package->hdr );
1609  return ret;
1610 }
#define ERROR_SUCCESS
Definition: deptool.c:10
HRESULT hr
Definition: shlfolder.c:183
MSIOBJECTHDR hdr
Definition: msipriv.h:385
#define ERROR_INVALID_HANDLE
Definition: compat.h:88
OLECHAR * BSTR
Definition: compat.h:1934
#define ERROR_FUNCTION_FAILED
Definition: winerror.h:985
#define HRESULT_FACILITY(hr)
Definition: winerror.h:79
#define debugstr_w
Definition: kernel32.h:32
BSTR WINAPI SysAllocString(LPCOLESTR str)
Definition: oleaut.c:241
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:77
int msiobj_release(MSIOBJECTHDR *info)
Definition: handle.c:242
int ret
#define FACILITY_WIN32
Definition: winerror.h:27
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
Definition: oleaut.c:274
unsigned int UINT
Definition: ndis.h:50
#define HRESULT_CODE(hr)
Definition: winerror.h:76
IUnknown * msi_get_remote(MSIHANDLE handle)
Definition: handle.c:182
UINT MSI_GetComponentStateW(MSIPACKAGE *package, LPCWSTR szComponent, INSTALLSTATE *piInstalled, INSTALLSTATE *piAction)
Definition: install.c:1480
#define ERROR_OUTOFMEMORY
Definition: deptool.c:13

Referenced by mrp_GetComponentState(), and MsiGetComponentStateA().

◆ MsiGetDatabaseState()

MSIDBSTATE WINAPI MsiGetDatabaseState ( MSIHANDLE  )

Definition at line 2001 of file database.c.

2002 {
2004  MSIDATABASE *db;
2005 
2006  TRACE("%d\n", handle);
2007 
2009  if( !db )
2010  {
2011  WARN("MsiGetDatabaseState not allowed during a custom action!\n");
2012  return MSIDBSTATE_ERROR;
2013  }
2014 
2015  if (db->mode != MSIDBOPEN_READONLY )
2017  msiobj_release( &db->hdr );
2018 
2019  return ret;
2020 }
#define MSIDBOPEN_READONLY
Definition: msiquery.h:66
#define WARN(fmt,...)
Definition: debug.h:111
LPCWSTR mode
Definition: msipriv.h:104
#define MSIHANDLETYPE_DATABASE
Definition: msipriv.h:699
#define TRACE(s)
Definition: solgame.cpp:4
int msiobj_release(MSIOBJECTHDR *info)
Definition: handle.c:242
int ret
enum tagMSIDBSTATE MSIDBSTATE
void * msihandle2msiinfo(MSIHANDLE handle, UINT type)
Definition: handle.c:157
MSIOBJECTHDR hdr
Definition: msipriv.h:97

Referenced by main_test().

◆ MsiGetFeatureCostA()

UINT WINAPI MsiGetFeatureCostA ( MSIHANDLE  ,
LPCSTR  ,
MSICOSTTREE  ,
INSTALLSTATE  ,
LPINT   
)

Definition at line 1174 of file install.c.

1176 {
1177  LPWSTR szwFeature = NULL;
1178  UINT rc;
1179 
1180  szwFeature = strdupAtoW(szFeature);
1181 
1182  rc = MsiGetFeatureCostW(hInstall, szwFeature, iCostTree, iState, piCost);
1183 
1184  msi_free(szwFeature);
1185 
1186  return rc;
1187 }
smooth NULL
Definition: ftsmooth.c:416
UINT WINAPI MsiGetFeatureCostW(MSIHANDLE hInstall, LPCWSTR szFeature, MSICOSTTREE iCostTree, INSTALLSTATE iState, LPINT piCost)
Definition: install.c:1253
unsigned int UINT
Definition: ndis.h:50
static BOOL msi_free(void *mem)
Definition: msipriv.h:1227
WCHAR * LPWSTR
Definition: xmlstorage.h:184
static WCHAR * strdupAtoW(const char *str)
Definition: main.c:67

◆ MsiGetFeatureCostW()

UINT WINAPI MsiGetFeatureCostW ( MSIHANDLE  ,
LPCWSTR  ,
MSICOSTTREE  ,
INSTALLSTATE  ,
LPINT   
)

Definition at line 1253 of file install.c.

1255 {
1256  MSIPACKAGE *package;
1258  UINT ret;
1259 
1260  TRACE("(%d %s %i %i %p)\n", hInstall, debugstr_w(szFeature),
1261  iCostTree, iState, piCost);
1262 
1263  package = msihandle2msiinfo(hInstall, MSIHANDLETYPE_PACKAGE);
1264  if (!package)
1265  {
1266  HRESULT hr;
1267  BSTR feature;
1268  IWineMsiRemotePackage *remote_package;
1269 
1270  remote_package = (IWineMsiRemotePackage *)msi_get_remote(hInstall);
1271  if (!remote_package)
1272  return ERROR_INVALID_HANDLE;
1273 
1274  feature = SysAllocString(szFeature);
1275  if (!feature)
1276  {
1277  IWineMsiRemotePackage_Release(remote_package);
1278  return ERROR_OUTOFMEMORY;
1279  }
1280 
1281  hr = IWineMsiRemotePackage_GetFeatureCost(remote_package, feature,
1282  iCostTree, iState, piCost);
1283 
1285  IWineMsiRemotePackage_Release(remote_package);
1286 
1287  if (FAILED(hr))
1288  {
1290  return HRESULT_CODE(hr);
1291 
1292  return ERROR_FUNCTION_FAILED;
1293  }
1294 
1295  return ERROR_SUCCESS;
1296  }
1297 
1298  feature = msi_get_loaded_feature(package, szFeature);
1299 
1300  if (feature)
1301  ret = MSI_GetFeatureCost(package, feature, iCostTree, iState, piCost);
1302  else
1304 
1305  msiobj_release( &package->hdr );
1306  return ret;
1307 }
INTERNETFEATURELIST feature
Definition: misc.c:1689
MSIFEATURE * msi_get_loaded_feature(MSIPACKAGE *package, const WCHAR *Feature)
Definition: action.c:663
#define ERROR_SUCCESS
Definition: deptool.c:10
HRESULT hr
Definition: shlfolder.c:183
MSIOBJECTHDR hdr
Definition: msipriv.h:385
UINT MSI_GetFeatureCost(MSIPACKAGE *package, MSIFEATURE *feature, MSICOSTTREE tree, INSTALLSTATE state, LPINT cost)
Definition: install.c:1201
#define ERROR_INVALID_HANDLE
Definition: compat.h:88
OLECHAR * BSTR
Definition: compat.h:1934
#define ERROR_FUNCTION_FAILED
Definition: winerror.h:985
#define HRESULT_FACILITY(hr)
Definition: winerror.h:79
#define debugstr_w
Definition: kernel32.h:32
BSTR WINAPI SysAllocString(LPCOLESTR str)
Definition: oleaut.c:241
#define TRACE(s)
Definition: solgame.cpp:4
#define ERROR_UNKNOWN_FEATURE
Definition: winerror.h:964
LONG HRESULT
Definition: typedefs.h:77
int msiobj_release(MSIOBJECTHDR *info)
Definition: handle.c:242
int ret
#define FACILITY_WIN32
Definition: winerror.h:27
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
Definition: oleaut.c:274
unsigned int UINT
Definition: ndis.h:50
#define HRESULT_CODE(hr)
Definition: winerror.h:76
IUnknown * msi_get_remote(MSIHANDLE handle)
Definition: handle.c:182
#define ERROR_OUTOFMEMORY
Definition: deptool.c:13

Referenced by mrp_GetFeatureCost(), and MsiGetFeatureCostA().

◆ MsiGetFeatureStateA()

UINT WINAPI MsiGetFeatureStateA ( MSIHANDLE  ,
LPCSTR  ,
INSTALLSTATE ,
INSTALLSTATE  
)

Definition at line 1087 of file install.c.

1089 {
1090  LPWSTR szwFeature = NULL;
1091  UINT rc;
1092 
1093  if (szFeature && !(szwFeature = strdupAtoW(szFeature))) return ERROR_OUTOFMEMORY;
1094 
1095  rc = MsiGetFeatureStateW(hInstall, szwFeature, piInstalled, piAction);
1096  msi_free( szwFeature);
1097  return rc;
1098 }
smooth NULL
Definition: ftsmooth.c:416
UINT WINAPI MsiGetFeatureStateW(MSIHANDLE hInstall, LPCWSTR szFeature, INSTALLSTATE *piInstalled, INSTALLSTATE *piAction)
Definition: install.c:1123
unsigned int UINT
Definition: ndis.h:50
static BOOL msi_free(void *mem)
Definition: msipriv.h:1227
WCHAR * LPWSTR
Definition: xmlstorage.h:184
static WCHAR * strdupAtoW(const char *str)
Definition: main.c:67
#define ERROR_OUTOFMEMORY
Definition: deptool.c:13

Referenced by test_feature_states().

◆ MsiGetFeatureStateW()

UINT WINAPI MsiGetFeatureStateW ( MSIHANDLE  ,
LPCWSTR  ,
INSTALLSTATE ,
INSTALLSTATE  
)

Definition at line 1123 of file install.c.

1125 {
1126  MSIPACKAGE* package;
1127  UINT ret;
1128 
1129  TRACE("%d %s %p %p\n", hInstall, debugstr_w(szFeature), piInstalled, piAction);
1130 
1131  package = msihandle2msiinfo(hInstall, MSIHANDLETYPE_PACKAGE);
1132  if (!package)
1133  {
1134  HRESULT hr;
1135  BSTR feature;
1136  IWineMsiRemotePackage *remote_package;
1137 
1138  remote_package = (IWineMsiRemotePackage *)msi_get_remote(hInstall);
1139  if (!remote_package)
1140  return ERROR_INVALID_HANDLE;
1141 
1142  feature = SysAllocString(szFeature);
1143  if (!feature)
1144  {
1145  IWineMsiRemotePackage_Release(remote_package);
1146  return ERROR_OUTOFMEMORY;
1147  }
1148 
1149  hr = IWineMsiRemotePackage_GetFeatureState(remote_package, feature,
1150  piInstalled, piAction);
1151 
1153  IWineMsiRemotePackage_Release(remote_package);
1154 
1155  if (FAILED(hr))
1156  {
1158  return HRESULT_CODE(hr);
1159 
1160  return ERROR_FUNCTION_FAILED;
1161  }
1162 
1163  return ERROR_SUCCESS;
1164  }
1165 
1166  ret = MSI_GetFeatureStateW(package, szFeature, piInstalled, piAction);
1167  msiobj_release( &package->hdr );
1168  return ret;
1169 }
INTERNETFEATURELIST feature
Definition: misc.c:1689
#define ERROR_SUCCESS
Definition: deptool.c:10
HRESULT hr
Definition: shlfolder.c:183
MSIOBJECTHDR hdr
Definition: msipriv.h:385
#define ERROR_INVALID_HANDLE
Definition: compat.h:88
OLECHAR * BSTR
Definition: compat.h:1934
#define ERROR_FUNCTION_FAILED
Definition: winerror.h:985
#define HRESULT_FACILITY(hr)
Definition: winerror.h:79
#define debugstr_w
Definition: kernel32.h:32
BSTR WINAPI SysAllocString(LPCOLESTR str)
Definition: oleaut.c:241
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:77
int msiobj_release(MSIOBJECTHDR *info)
Definition: handle.c:242
int ret
#define FACILITY_WIN32
Definition: winerror.h:27
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
Definition: oleaut.c:274
unsigned int UINT
Definition: ndis.h:50
#define HRESULT_CODE(hr)
Definition: winerror.h:76
IUnknown * msi_get_remote(MSIHANDLE handle)
Definition: handle.c:182
UINT MSI_GetFeatureStateW(MSIPACKAGE *package, LPCWSTR szFeature, INSTALLSTATE *piInstalled, INSTALLSTATE *piAction)
Definition: install.c:1100
#define ERROR_OUTOFMEMORY
Definition: deptool.c:13

Referenced by mrp_GetFeatureState(), MsiGetFeatureStateA(), and session_invoke().

◆ MsiGetFeatureValidStatesA()

UINT WINAPI MsiGetFeatureValidStatesA ( MSIHANDLE  ,
LPCSTR  ,
LPDWORD   
)

Definition at line 1725 of file install.c.

1727 {
1728  UINT ret;
1729  LPWSTR szwFeature = strdupAtoW(szFeature);
1730 
1731  ret = MsiGetFeatureValidStatesW(hInstall, szwFeature, pInstallState);
1732 
1733  msi_free(szwFeature);
1734 
1735  return ret;
1736 }
UINT WINAPI MsiGetFeatureValidStatesW(MSIHANDLE hInstall, LPCWSTR szFeature, LPDWORD pInstallState)
Definition: install.c:1712
int ret
unsigned int UINT
Definition: ndis.h:50
static BOOL msi_free(void *mem)
Definition: msipriv.h:1227
WCHAR * LPWSTR
Definition: xmlstorage.h:184
static WCHAR * strdupAtoW(const char *str)
Definition: main.c:67

◆ MsiGetFeatureValidStatesW()

UINT WINAPI MsiGetFeatureValidStatesW ( MSIHANDLE  ,
LPCWSTR  ,
LPDWORD   
)

Definition at line 1712 of file install.c.

1714 {
1715  if(pInstallState) *pInstallState = 1<<INSTALLSTATE_LOCAL;
1716  FIXME("%d %s %p stub returning %d\n",
1717  hInstall, debugstr_w(szFeature), pInstallState, pInstallState ? *pInstallState : 0);
1718 
1719  return ERROR_SUCCESS;
1720 }
#define ERROR_SUCCESS
Definition: deptool.c:10
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:110

Referenced by MsiGetFeatureValidStatesA().

◆ MsiGetLanguage()

LANGID WINAPI MsiGetLanguage ( MSIHANDLE  )

Definition at line 1615 of file install.c.

1616 {
1617  MSIPACKAGE* package;
1618  LANGID langid;
1619 
1620  package = msihandle2msiinfo(hInstall, MSIHANDLETYPE_PACKAGE);
1621  if (!package)
1622  {
1623  HRESULT hr;
1624  LANGID lang;
1625  IWineMsiRemotePackage *remote_package;
1626 
1627  remote_package = (IWineMsiRemotePackage *)msi_get_remote(hInstall);
1628  if (!remote_package)
1629  return ERROR_INVALID_HANDLE;
1630 
1631  hr = IWineMsiRemotePackage_GetLanguage(remote_package, &lang);
1632 
1633  if (SUCCEEDED(hr))
1634  return lang;
1635 
1636  return 0;
1637  }
1638 
1639  langid = msi_get_property_int( package->db, szProductLanguage, 0 );
1640  msiobj_release( &package->hdr );
1641  return langid;
1642 }
HRESULT hr
Definition: shlfolder.c:183
MSIOBJECTHDR hdr
Definition: msipriv.h:385
int msi_get_property_int(MSIDATABASE *package, LPCWSTR prop, int def) DECLSPEC_HIDDEN
Definition: package.c:2392
#define ERROR_INVALID_HANDLE
Definition: compat.h:88
WORD LANGID
Definition: typedefs.h:79
static const WCHAR szProductLanguage[]
Definition: msipriv.h:1185
LANGID langid
Definition: msctf.idl:605
static const WCHAR lang[]
Definition: wbemdisp.c:287
LONG HRESULT
Definition: typedefs.h:77
MSIDATABASE * db
Definition: msipriv.h:386
int msiobj_release(MSIOBJECTHDR *info)
Definition: handle.c:242
IUnknown * msi_get_remote(MSIHANDLE handle)
Definition: handle.c:182
#define SUCCEEDED(hr)
Definition: intsafe.h:57

Referenced by da_deferred(), mrp_GetLanguage(), and session_invoke().

◆ MsiGetLastErrorRecord()

MSIHANDLE WINAPI MsiGetLastErrorRecord ( void  )

Definition at line 710 of file msiquery.c.

711 {
712  FIXME("\n");
713  return 0;
714 }
#define FIXME(fmt,...)
Definition: debug.h:110

◆ MsiGetMode()

BOOL WINAPI MsiGetMode ( MSIHANDLE  ,
MSIRUNMODE   
)

Definition at line 690 of file install.c.

691 {
692  MSIPACKAGE *package;
693  BOOL r = FALSE;
694 
695  TRACE("%d %d\n", hInstall, iRunMode);
696 
697  package = msihandle2msiinfo(hInstall, MSIHANDLETYPE_PACKAGE);
698  if (!package)
699  {
700  BOOL ret;
701  HRESULT hr;
702  IWineMsiRemotePackage *remote_package;
703 
704  remote_package = (IWineMsiRemotePackage *)msi_get_remote(hInstall);
705  if (!remote_package)
706  return FALSE;
707 
708  hr = IWineMsiRemotePackage_GetMode(remote_package, iRunMode, &ret);
709  IWineMsiRemotePackage_Release(remote_package);
710 
711  if (hr == S_OK)
712  return ret;
713 
714  return FALSE;
715  }
716 
717  switch (iRunMode)
718  {
719  case MSIRUNMODE_ADMIN:
720  FIXME("no support for administrative installs\n");
721  break;
722 
724  FIXME("no support for advertised installs\n");
725  break;
726 
728  if (GetVersion() & 0x80000000)
729  r = TRUE;
730  break;
731 
736  break;
737 
739  r = package->scheduled_action_running;
740  break;
741 
742  case MSIRUNMODE_ROLLBACK:
743  r = package->rollback_action_running;
744  break;
745 
746  case MSIRUNMODE_COMMIT:
747  r = package->commit_action_running;
748  break;
749 
751  r = msi_get_property_int( package->db, szInstalled, 0 ) != 0;
752  break;
753 
755  r = msi_get_property_int( package->db, szRollbackDisabled, 0 ) == 0;
756  break;
757 
759  r = package->need_reboot_at_end;
760  break;
761 
763  r = package->need_reboot_now;
764  break;
765 
767  r = (package->log_file != INVALID_HANDLE_VALUE);
768  break;
769 
770  default:
771  FIXME("unimplemented run mode: %d\n", iRunMode);
772  r = TRUE;
773  }
774 
775  msiobj_release( &package->hdr );
776  return r;
777 }
#define TRUE
Definition: types.h:120
HRESULT hr
Definition: shlfolder.c:183
static const WCHAR szRollbackDisabled[]
Definition: msipriv.h:1193
MSIOBJECTHDR hdr
Definition: msipriv.h:385
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
int msi_get_property_int(MSIDATABASE *package, LPCWSTR prop, int def) DECLSPEC_HIDDEN
Definition: package.c:2392
HANDLE log_file
Definition: msipriv.h:405
#define INVALID_HANDLE_VALUE
Definition: compat.h:391
DWORD WINAPI GetVersion(VOID)
Definition: version.c:22
unsigned int BOOL
Definition: ntddk_ex.h:94
#define FIXME(fmt,...)
Definition: debug.h:110
unsigned char rollback_action_running
Definition: msipriv.h:446
unsigned char commit_action_running
Definition: msipriv.h:445
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:77
unsigned char need_reboot_now
Definition: msipriv.h:448
MSIDATABASE * db
Definition: msipriv.h:386
int msiobj_release(MSIOBJECTHDR *info)
Definition: handle.c:242
int ret
unsigned char scheduled_action_running
Definition: msipriv.h:444
#define S_OK
Definition: intsafe.h:59
IUnknown * msi_get_remote(MSIHANDLE handle)
Definition: handle.c:182
static const WCHAR szInstalled[]
Definition: msipriv.h:1122
unsigned char need_reboot_at_end
Definition: msipriv.h:447

Referenced by da_deferred(), da_immediate(), mrp_GetMode(), and session_invoke().

◆ MsiGetPropertyA()

UINT WINAPI MsiGetPropertyA ( MSIHANDLE  ,
LPCSTR  ,
LPSTR  ,
LPDWORD   
)

Definition at line 2488 of file package.c.

2490 {
2491  awstring val;
2492  LPWSTR name;
2493  UINT r;
2494 
2495  val.unicode = FALSE;
2496  val.str.a = szValueBuf;
2497 
2498  name = strdupAtoW( szName );
2499  if (szName && !name)
2500  return ERROR_OUTOFMEMORY;
2501 
2502  r = MSI_GetProperty( hInstall, name, &val, pchValueBuf );
2503  msi_free( name );
2504  return r;
2505 }
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
static UINT MSI_GetProperty(MSIHANDLE handle, LPCWSTR name, awstring *szValueBuf, LPDWORD pchValueBuf)
Definition: package.c:2400
GLuint GLfloat * val
Definition: glext.h:7180
unsigned int UINT
Definition: ndis.h:50
static BOOL msi_free(void *mem)
Definition: msipriv.h:1227
Definition: name.c:36
static const WCHAR szName[]
Definition: msipriv.h:1194
WCHAR * LPWSTR
Definition: xmlstorage.h:184
static WCHAR * strdupAtoW(const char *str)
Definition: main.c:67
#define ERROR_OUTOFMEMORY
Definition: deptool.c:13
GLuint const GLchar * name
Definition: glext.h:6031

Referenced by check_prop_empty(), da_deferred(), da_immediate(), test_appsearch(), test_appsearch_complocator(), test_appsearch_drlocator(), test_appsearch_inilocator(), test_appsearch_reglocator(), test_ccpsearch(), test_complocator(), test_dbtopackage(), test_formatrecord_tables(), test_getproperty(), test_installprops(), test_MsiDatabaseCommit(), test_MsiGetSourcePath(), test_MsiOpenProduct(), test_MsiSetProperty(), test_property_table(), test_props(), test_retval(), test_settargetpath(), test_simple_patch(), test_sourcedir(), and test_try_transform().

◆ MsiGetPropertyW()

UINT WINAPI MsiGetPropertyW ( MSIHANDLE  ,
LPCWSTR  ,
LPWSTR  ,
LPDWORD   
)

Definition at line 2507 of file package.c.

2509 {
2510  awstring val;
2511 
2512  val.unicode = TRUE;
2513  val.str.w = szValueBuf;
2514 
2515  return MSI_GetProperty( hInstall, szName, &val, pchValueBuf );
2516 }
#define TRUE
Definition: types.h:120
static UINT MSI_GetProperty(MSIHANDLE handle, LPCWSTR name, awstring *szValueBuf, LPDWORD pchValueBuf)
Definition: package.c:2400
GLuint GLfloat * val
Definition: glext.h:7180
static const WCHAR szName[]
Definition: msipriv.h:1194

Referenced by mrp_GetProperty(), and session_invoke().

◆ MsiGetSourcePathA()

UINT WINAPI MsiGetSourcePathA ( MSIHANDLE  ,
LPCSTR  ,
LPSTR  ,
LPDWORD   
)

Definition at line 484 of file install.c.

486 {
487  LPWSTR folder;
488  awstring str;
489  UINT r;
490 
491  TRACE("%s %p %p\n", debugstr_a(szFolder), szPathBuf, pcchPathBuf);
492 
493  str.unicode = FALSE;
494  str.str.a = szPathBuf;
495 
496  folder = strdupAtoW( szFolder );
497  r = MSI_GetSourcePath( hInstall, folder, &str, pcchPathBuf );
498  msi_free( folder );
499 
500  return r;
501 }
Definition: fci.c:115
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
static UINT MSI_GetSourcePath(MSIHANDLE hInstall, LPCWSTR szFolder, awstring *szPathBuf, LPDWORD pcchPathBuf)
Definition: install.c:396
const WCHAR * str
struct CFFOLDER folder
Definition: fdi.c:110
#define TRACE(s)
Definition: solgame.cpp:4
#define debugstr_a
Definition: kernel32.h:31
unsigned int UINT
Definition: ndis.h:50
static BOOL msi_free(void *mem)
Definition: msipriv.h:1227
WCHAR * LPWSTR
Definition: xmlstorage.h:184
static WCHAR * strdupAtoW(const char *str)
Definition: main.c:67

Referenced by test_MsiGetSourcePath(), test_shortlongsource(), and test_sourcedir().

◆ MsiGetSourcePathW()

UINT WINAPI MsiGetSourcePathW ( MSIHANDLE  ,
LPCWSTR  ,
LPWSTR  ,
LPDWORD   
)

Definition at line 506 of file install.c.

508 {
509  awstring str;
510 
511  TRACE("%s %p %p\n", debugstr_w(szFolder), szPathBuf, pcchPathBuf );
512 
513  str.unicode = TRUE;
514  str.str.w = szPathBuf;
515 
516  return MSI_GetSourcePath( hInstall, szFolder, &str, pcchPathBuf );
517 }
#define TRUE
Definition: types.h:120
static UINT MSI_GetSourcePath(MSIHANDLE hInstall, LPCWSTR szFolder, awstring *szPathBuf, LPDWORD pcchPathBuf)
Definition: install.c:396
#define debugstr_w
Definition: kernel32.h:32
const WCHAR * str
#define TRACE(s)
Definition: solgame.cpp:4

Referenced by mrp_GetSourcePath().

◆ MsiGetSummaryInformationA()

UINT WINAPI MsiGetSummaryInformationA ( MSIHANDLE  ,
LPCSTR  ,
UINT  ,
MSIHANDLE  
)

Definition at line 586 of file suminfo.c.

588 {
589  LPWSTR szwDatabase = NULL;
590  UINT ret;
591 
592  TRACE("%d %s %d %p\n", hDatabase, debugstr_a(szDatabase),
593  uiUpdateCount, pHandle);
594 
595  if( szDatabase )
596  {
597  szwDatabase = strdupAtoW( szDatabase );
598  if( !szwDatabase )
599  return ERROR_FUNCTION_FAILED;
600  }
601 
602  ret = MsiGetSummaryInformationW(hDatabase, szwDatabase, uiUpdateCount, pHandle);
603 
604  msi_free( szwDatabase );
605 
606  return ret;
607 }
UINT WINAPI MsiGetSummaryInformationW(MSIHANDLE hDatabase, LPCWSTR szDatabase, UINT uiUpdateCount, MSIHANDLE *pHandle)
Definition: suminfo.c:514
#define ERROR_FUNCTION_FAILED
Definition: winerror.h:985
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
#define debugstr_a
Definition: kernel32.h:31
int ret
static const WCHAR szDatabase[]
Definition: msipriv.h:1183
unsigned int UINT
Definition: ndis.h:50
static BOOL msi_free(void *mem)
Definition: msipriv.h:1227
WCHAR * LPWSTR
Definition: xmlstorage.h:184
static WCHAR * strdupAtoW(const char *str)
Definition: main.c:67

Referenced by helper_createpackage(), set_admin_summary_info(), set_suminfo(), set_suminfo_prop(), set_summary_dword(), set_summary_info(), set_summary_str(), set_transform_summary_info(), test_emptypackage(), test_streamtable(), test_suminfo(), test_suminfo_import(), test_summary_binary(), and write_msi_summary_info().

◆ MsiGetSummaryInformationW()

UINT WINAPI MsiGetSummaryInformationW ( MSIHANDLE  ,
LPCWSTR  ,
UINT  ,
MSIHANDLE  
)

Definition at line 514 of file suminfo.c.

516 {
517  MSISUMMARYINFO *si;
518  MSIDATABASE *db;
519  UINT ret;
520 
521  TRACE("%d %s %d %p\n", hDatabase, debugstr_w(szDatabase),
522  uiUpdateCount, pHandle);
523 
524  if( !pHandle )
526 
527  if( szDatabase && szDatabase[0] )
528  {
529  LPCWSTR persist = uiUpdateCount ? MSIDBOPEN_TRANSACT : MSIDBOPEN_READONLY;
530 
531  ret = MSI_OpenDatabaseW( szDatabase, persist, &db );
532  if( ret != ERROR_SUCCESS )
533  return ret;
534  }
535  else
536  {
537  db = msihandle2msiinfo( hDatabase, MSIHANDLETYPE_DATABASE );
538  if( !db )
539  {
540  HRESULT hr;
541  IWineMsiRemoteDatabase *remote_database;
542 
543  remote_database = (IWineMsiRemoteDatabase *)msi_get_remote( hDatabase );
544  if ( !remote_database )
545  return ERROR_INVALID_HANDLE;
546 
547  hr = IWineMsiRemoteDatabase_GetSummaryInformation( remote_database,
548  uiUpdateCount, pHandle );
549  IWineMsiRemoteDatabase_Release( remote_database );
550 
551  if (FAILED(hr))
552  {
554  return HRESULT_CODE(hr);
555 
556  return ERROR_FUNCTION_FAILED;
557  }
558 
559  return ERROR_SUCCESS;
560  }
561  }
562 
563  ret = msi_get_suminfo( db->storage, uiUpdateCount, &si );
564  if (ret != ERROR_SUCCESS)
565  ret = msi_get_db_suminfo( db, uiUpdateCount, &si );
566  if (ret != ERROR_SUCCESS)
567  {
568  if ((si = create_suminfo( db->storage, uiUpdateCount )))
569  ret = ERROR_SUCCESS;
570  }
571 
572  if (ret == ERROR_SUCCESS)
573  {
574  *pHandle = alloc_msihandle( &si->hdr );
575  if( *pHandle )
576  ret = ERROR_SUCCESS;
577  else
579  msiobj_release( &si->hdr );
580  }
581 
582  msiobj_release( &db->hdr );
583  return ret;
584 }
#define ERROR_INVALID_PARAMETER
Definition: compat.h:91
#define MSIDBOPEN_READONLY
Definition: msiquery.h:66
#define ERROR_SUCCESS
Definition: deptool.c:10
HRESULT hr
Definition: shlfolder.c:183
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
UINT MSI_OpenDatabaseW(LPCWSTR szDBPath, LPCWSTR szPersist, MSIDATABASE **pdb)
Definition: database.c:149
#define ERROR_INVALID_HANDLE
Definition: compat.h:88
#define ERROR_NOT_ENOUGH_MEMORY
Definition: dderror.h:7
#define MSIHANDLETYPE_DATABASE
Definition: msipriv.h:699
UINT msi_get_db_suminfo(MSIDATABASE *db, UINT uiUpdateCount, MSISUMMARYINFO **ret)
Definition: suminfo.c:487
#define ERROR_FUNCTION_FAILED
Definition: winerror.h:985
#define HRESULT_FACILITY(hr)
Definition: winerror.h:79
#define debugstr_w
Definition: kernel32.h:32
#define TRACE(s)
Definition: solgame.cpp:4
static MSISUMMARYINFO * create_suminfo(IStorage *stg, UINT update_count)
Definition: suminfo.c:443
LONG HRESULT
Definition: typedefs.h:77
#define MSIDBOPEN_TRANSACT
Definition: msiquery.h:67
MSIOBJECTHDR hdr
Definition: msipriv.h:463
int msiobj_release(MSIOBJECTHDR *info)
Definition: handle.c:242
int ret
static const WCHAR szDatabase[]
Definition: msipriv.h:1183
#define FACILITY_WIN32
Definition: winerror.h:27
MSIHANDLE alloc_msihandle(MSIOBJECTHDR *obj)
Definition: handle.c:109
unsigned int UINT
Definition: ndis.h:50
UINT msi_get_suminfo(IStorage *stg, UINT uiUpdateCount, MSISUMMARYINFO **ret)
Definition: suminfo.c:457
#define HRESULT_CODE(hr)
Definition: winerror.h:76
IUnknown * msi_get_remote(MSIHANDLE handle)
Definition: handle.c:182
IStorage * storage
Definition: msipriv.h:98
void * msihandle2msiinfo(MSIHANDLE handle, UINT type)
Definition: handle.c:157
MSIOBJECTHDR hdr
Definition: msipriv.h:97

Referenced by database_invoke(), get_patch_product_codes(), InstallerImpl_SummaryInformation(), mrd_GetSummaryInformation(), msi_publish_product_properties(), and MsiGetSummaryInformationA().

◆ MsiGetTargetPathA()

UINT WINAPI MsiGetTargetPathA ( MSIHANDLE  ,
LPCSTR  ,
LPSTR  ,
LPDWORD   
)

Definition at line 306 of file install.c.

308 {
309  LPWSTR szwFolder;
310  awstring path;
311  UINT r;
312 
313  TRACE("%s %p %p\n", debugstr_a(szFolder), szPathBuf, pcchPathBuf);
314 
315  szwFolder = strdupAtoW(szFolder);
316  if (szFolder && !szwFolder)
317  return ERROR_FUNCTION_FAILED;
318 
319  path.unicode = FALSE;
320  path.str.a = szPathBuf;
321 
322  r = MSI_GetTargetPath( hInstall, szwFolder, &path, pcchPathBuf );
323 
324  msi_free( szwFolder );
325 
326  return r;
327 }
GLsizei const GLchar ** path
Definition: glext.h:7234
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
static UINT MSI_GetTargetPath(MSIHANDLE hInstall, LPCWSTR szFolder, awstring *szPathBuf, LPDWORD pcchPathBuf)
Definition: install.c:229
#define ERROR_FUNCTION_FAILED
Definition: winerror.h:985
#define TRACE(s)
Definition: solgame.cpp:4
#define debugstr_a
Definition: kernel32.h:31
Definition: services.c:325
unsigned int UINT
Definition: ndis.h:50
static BOOL msi_free(void *mem)
Definition: msipriv.h:1227
WCHAR * LPWSTR
Definition: xmlstorage.h:184
static WCHAR * strdupAtoW(const char *str)
Definition: main.c:67

Referenced by test_gettargetpath_bad(), and test_settargetpath().

◆ MsiGetTargetPathW()

UINT WINAPI MsiGetTargetPathW ( MSIHANDLE  ,
LPCWSTR  ,
LPWSTR  ,
LPDWORD   
)

Definition at line 332 of file install.c.

334 {
335  awstring path;
336 
337  TRACE("%s %p %p\n", debugstr_w(szFolder), szPathBuf, pcchPathBuf);
338 
339  path.unicode = TRUE;
340  path.str.w = szPathBuf;
341 
342  return MSI_GetTargetPath( hInstall, szFolder, &path, pcchPathBuf );
343 }
#define TRUE
Definition: types.h:120
GLsizei const GLchar ** path
Definition: glext.h:7234
static UINT MSI_GetTargetPath(MSIHANDLE hInstall, LPCWSTR szFolder, awstring *szPathBuf, LPDWORD pcchPathBuf)
Definition: install.c:229
#define debugstr_w
Definition: kernel32.h:32
#define TRACE(s)
Definition: solgame.cpp:4
Definition: services.c:325

Referenced by mrp_GetTargetPath(), and test_gettargetpath_bad().

◆ MsiOpenDatabaseA()

UINT WINAPI MsiOpenDatabaseA ( LPCSTR  ,
LPCSTR  ,
MSIHANDLE  
)

Definition at line 322 of file database.c.

323 {
325  LPWSTR szwDBPath = NULL, szwPersist = NULL;
326 
327  TRACE("%s %s %p\n", debugstr_a(szDBPath), debugstr_a(szPersist), phDB);
328 
329  if( szDBPath )
330  {
331  szwDBPath = strdupAtoW( szDBPath );
332  if( !szwDBPath )
333  goto end;
334  }
335 
336  if( !IS_INTMSIDBOPEN(szPersist) )
337  {
338  szwPersist = strdupAtoW( szPersist );
339  if( !szwPersist )
340  goto end;
341  }
342  else
343  szwPersist = (LPWSTR)(DWORD_PTR)szPersist;
344 
345  r = MsiOpenDatabaseW( szwDBPath, szwPersist, phDB );
346 
347 end:
348  if( !IS_INTMSIDBOPEN(szPersist) )
349  msi_free( szwPersist );
350  msi_free( szwDBPath );
351 
352  return r;
353 }
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
GLuint GLuint end
Definition: gl.h:1545
#define IS_INTMSIDBOPEN(x)
Definition: database.c:54
#define ERROR_FUNCTION_FAILED
Definition: winerror.h:985
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
#define debugstr_a
Definition: kernel32.h:31
LONG HRESULT
Definition: typedefs.h:77
uint32_t DWORD_PTR
Definition: typedefs.h:63
UINT WINAPI MsiOpenDatabaseW(LPCWSTR szDBPath, LPCWSTR szPersist, MSIHANDLE *phDB)
Definition: database.c:303
static BOOL msi_free(void *mem)
Definition: msipriv.h:1227
WCHAR * LPWSTR
Definition: xmlstorage.h:184
static WCHAR * strdupAtoW(const char *str)
Definition: main.c:67

Referenced by test_states().

◆ MsiOpenDatabaseW()

UINT WINAPI MsiOpenDatabaseW ( LPCWSTR  ,
LPCWSTR  ,
MSIHANDLE  
)

Definition at line 303 of file database.c.

304 {
305  MSIDATABASE *db;
306  UINT ret;
307 
308  TRACE("%s %s %p\n",debugstr_w(szDBPath),debugstr_w(szPersist), phDB);
309 
310  ret = MSI_OpenDatabaseW( szDBPath, szPersist, &db );
311  if( ret == ERROR_SUCCESS )
312  {
313  *phDB = alloc_msihandle( &db->hdr );
314  if (! *phDB)
316  msiobj_release( &db->hdr );
317  }
318 
319  return ret;
320 }
#define ERROR_SUCCESS
Definition: deptool.c:10
UINT MSI_OpenDatabaseW(LPCWSTR szDBPath, LPCWSTR szPersist, MSIDATABASE **pdb)
Definition: database.c:149
#define ERROR_NOT_ENOUGH_MEMORY
Definition: dderror.h:7
#define debugstr_w
Definition: kernel32.h:32
#define TRACE(s)
Definition: solgame.cpp:4
int msiobj_release(MSIOBJECTHDR *info)
Definition: handle.c:242
int ret
MSIHANDLE alloc_msihandle(MSIOBJECTHDR *obj)
Definition: handle.c:109
unsigned int UINT
Definition: ndis.h:50
MSIOBJECTHDR hdr
Definition: msipriv.h:97

Referenced by add_custom_dll(), create_database(), create_database_wordcount(), create_db(), create_package_db(), generate_transform(), get_patch_product_codes(), helper_createpackage(), InstallerImpl_OpenDatabase(), MsiOpenDatabaseA(), MsiVerifyPackageW(), set_admin_summary_info(), set_suminfo(), test_access(), test_binary(), test_binary_import(), test_carriagereturn(), test_collation(), test_createtable(), test_dbmerge(), test_dbtopackage(), test_defaultdatabase(), test_deleterow(), test_droptable(), test_embedded_nulls(), test_fieldzero(), test_forcecodepage(), test_icon_table(), test_int_widths(), test_integers(), test_longstrings(), test_msibadqueries(), test_msidatabase(), test_msiexport(), test_MsiGetProductProperty(), test_MsiGetSourcePath(), test_msiimport(), test_msiinsert(), test_MsiOpenDatabase(), test_msipackage(), test_noquotes(), test_packagecoltypes(), test_quotes(), test_rows_order(), test_select_column_names(), test_shortlongsource(), test_simple_patch(), test_special_tables(), test_states(), test_storages_table(), test_streamtable(), test_stringtable(), test_suminfo(), test_suminfo_import(), test_summary_binary(), test_tables_order(), test_try_transform(), test_update(), test_viewmodify(), test_viewmodify_assign(), test_viewmodify_delete(), test_viewmodify_delete_temporary(), test_viewmodify_refresh(), test_viewmodify_update(), and test_where_viewmodify().

◆ MsiPreviewBillboardA()

UINT WINAPI MsiPreviewBillboardA ( MSIHANDLE  ,
LPCSTR  ,
LPCSTR   
)

Definition at line 4241 of file dialog.c.

4242 {
4243  FIXME("%d %s %s\n", hPreview, debugstr_a(szControlName), debugstr_a(szBillboard));
4245 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define debugstr_a
Definition: kernel32.h:31
#define ERROR_CALL_NOT_IMPLEMENTED
Definition: compat.h:92

◆ MsiPreviewBillboardW()

UINT WINAPI MsiPreviewBillboardW ( MSIHANDLE  ,
LPCWSTR  ,
LPCWSTR   
)

Definition at line 4235 of file dialog.c.

4236 {
4237  FIXME("%d %s %s\n", hPreview, debugstr_w(szControlName), debugstr_w(szBillboard));
4239 }
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:110
#define ERROR_CALL_NOT_IMPLEMENTED
Definition: compat.h:92

◆ MsiPreviewDialogA()

UINT WINAPI MsiPreviewDialogA ( MSIHANDLE  ,
LPCSTR   
)

Definition at line 4217 of file dialog.c.

4218 {
4219  UINT r;
4220  LPWSTR strW = NULL;
4221 
4222  TRACE("%d %s\n", hPreview, debugstr_a(szDialogName));
4223 
4224  if (szDialogName)
4225  {
4226  strW = strdupAtoW( szDialogName );
4227  if (!strW)
4228  return ERROR_OUTOFMEMORY;
4229  }
4230  r = MsiPreviewDialogW( hPreview, strW );
4231  msi_free( strW );
4232  return r;
4233 }
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
UINT WINAPI MsiPreviewDialogW(MSIHANDLE hPreview, LPCWSTR szDialogName)
Definition: dialog.c:4201
WCHAR strW[12]
Definition: clipboard.c:2029
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
#define debugstr_a
Definition: kernel32.h:31
unsigned int UINT
Definition: ndis.h:50
static BOOL msi_free(void *mem)
Definition: msipriv.h:1227
WCHAR * LPWSTR
Definition: xmlstorage.h:184
static WCHAR * strdupAtoW(const char *str)
Definition: main.c:67
#define ERROR_OUTOFMEMORY
Definition: deptool.c:13

◆ MsiPreviewDialogW()

UINT WINAPI MsiPreviewDialogW ( MSIHANDLE  ,
LPCWSTR   
)

Definition at line 4201 of file dialog.c.

4202 {
4204  UINT r;
4205 
4206  TRACE("%d %s\n", hPreview, debugstr_w(szDialogName));
4207 
4209  if (!preview)
4210  return ERROR_INVALID_HANDLE;
4211 
4212  r = MSI_PreviewDialogW( preview, szDialogName );
4213  msiobj_release( &preview->hdr );
4214  return r;
4215 }
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
#define ERROR_INVALID_HANDLE
Definition: compat.h:88
#define debugstr_w
Definition: kernel32.h:32
#define TRACE(s)
Definition: solgame.cpp:4
int msiobj_release(MSIOBJECTHDR *info)
Definition: handle.c:242
static previewinfo preview
Definition: print.c:56
unsigned int UINT
Definition: ndis.h:50
#define MSIHANDLETYPE_PREVIEW
Definition: msipriv.h:704
void * msihandle2msiinfo(MSIHANDLE handle, UINT type)
Definition: handle.c:157
static UINT MSI_PreviewDialogW(MSIPREVIEW *preview, LPCWSTR szDialogName)
Definition: dialog.c:4180

Referenced by MsiPreviewDialogA().

◆ MsiProcessMessage()

INT WINAPI MsiProcessMessage ( MSIHANDLE  ,
INSTALLMESSAGE  ,
MSIHANDLE   
)

Definition at line 2052 of file package.c.

2054 {
2056  MSIPACKAGE *package = NULL;
2057  MSIRECORD *record = NULL;
2058 
2059  if ((eMessageType & 0xff000000) == INSTALLMESSAGE_INITIALIZE ||
2060  (eMessageType & 0xff000000) == INSTALLMESSAGE_TERMINATE)
2061  return -1;
2062 
2063  if ((eMessageType & 0xff000000) == INSTALLMESSAGE_COMMONDATA &&
2064  MsiRecordGetInteger(hRecord, 1) != 2)
2065  return -1;
2066 
2067  package = msihandle2msiinfo( hInstall, MSIHANDLETYPE_PACKAGE );
2068  if( !package )
2069  {
2070  HRESULT hr;
2071  IWineMsiRemotePackage *remote_package;
2072 
2073  remote_package = (IWineMsiRemotePackage *)msi_get_remote( hInstall );
2074  if (!remote_package)
2075  return ERROR_INVALID_HANDLE;
2076 
2077  hr = IWineMsiRemotePackage_ProcessMessage( remote_package, eMessageType, hRecord );
2078 
2079  IWineMsiRemotePackage_Release( remote_package );
2080 
2081  if (FAILED(hr))
2082  {
2084  return HRESULT_CODE(hr);
2085 
2086  return ERROR_FUNCTION_FAILED;
2087  }
2088 
2089  return ERROR_SUCCESS;
2090  }
2091 
2093  if( !record )
2094  goto out;
2095 
2096  ret = MSI_ProcessMessage( package, eMessageType, record );
2097 
2098 out:
2099  msiobj_release( &package->hdr );
2100  if( record )
2101  msiobj_release( &record->hdr );
2102 
2103  return ret;
2104 }
#define ERROR_SUCCESS
Definition: deptool.c:10
HRESULT hr
Definition: shlfolder.c:183
int WINAPI MsiRecordGetInteger(MSIHANDLE handle, UINT iField)
Definition: record.c:271
#define ERROR_INVALID_HANDLE
Definition: compat.h:88
#define ERROR_FUNCTION_FAILED
Definition: winerror.h:985
#define HRESULT_FACILITY(hr)
Definition: winerror.h:79
INT MSI_ProcessMessage(MSIPACKAGE *package, INSTALLMESSAGE eMessageType, MSIRECORD *record)
Definition: package.c:1946
#define MSIHANDLETYPE_RECORD
Definition: msipriv.h:702
smooth NULL
Definition: ftsmooth.c:416
LONG HRESULT
Definition: typedefs.h:77
static FILE * out
Definition: regtests2xml.c:44
int msiobj_release(MSIOBJECTHDR *info)
Definition: handle.c:242
int ret
#define FACILITY_WIN32
Definition: winerror.h:27
unsigned int UINT
Definition: ndis.h:50
#define HRESULT_CODE(hr)
Definition: winerror.h:76
IUnknown * msi_get_remote(MSIHANDLE handle)
Definition: handle.c:182
void * msihandle2msiinfo(MSIHANDLE handle, UINT type)
Definition: handle.c:157

Referenced by mrp_ProcessMessage(), ok_(), session_invoke(), test_externalui(), and test_externalui_message().

◆ MsiRecordClearData()

UINT WINAPI MsiRecordClearData ( MSIHANDLE  )

Definition at line 290 of file record.c.

291 {
292  MSIRECORD *rec;
293  UINT i;
294 
295  TRACE("%d\n", handle );
296 
298  if( !rec )
299  return ERROR_INVALID_HANDLE;
300 
301  msiobj_lock( &rec->hdr );
302  for( i=0; i<=rec->count; i++)
303  {
304  MSI_FreeField( &rec->fields[i] );
305  rec->fields[i].type = MSIFIELD_NULL;
306  rec->fields[i].u.iVal = 0;
307  }
308  msiobj_unlock( &rec->hdr );
309  msiobj_release( &rec->hdr );
310 
311  return ERROR_SUCCESS;
312 }
void msiobj_lock(MSIOBJECTHDR *info)
Definition: handle.c:232
#define ERROR_SUCCESS
Definition: deptool.c:10
MSIOBJECTHDR hdr
Definition: msipriv.h:141
#define ERROR_INVALID_HANDLE
Definition: compat.h:88
void msiobj_unlock(MSIOBJECTHDR *info)
Definition: handle.c:237
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
#define MSIHANDLETYPE_RECORD
Definition: msipriv.h:702
UINT count
Definition: msipriv.h:142
#define TRACE(s)
Definition: solgame.cpp:4
static void MSI_FreeField(MSIFIELD *field)
Definition: record.c:51
#define MSIFIELD_NULL
Definition: record.c:45
int msiobj_release(MSIOBJECTHDR *info)
Definition: handle.c:242
INT iVal
Definition: msipriv.h:131
MSIFIELD fields[1]
Definition: msipriv.h:143
unsigned int UINT
Definition: ndis.h:50
union tagMSIFIELD::@479 u
void * msihandle2msiinfo(MSIHANDLE handle, UINT type)
Definition: handle.c:157
UINT type
Definition: msipriv.h:128

Referenced by test_msirecord().

◆ MsiRecordDataSize()

UINT WINAPI MsiRecordDataSize ( MSIHANDLE  ,
UINT   
)

Definition at line 584 of file record.c.

585 {
586  MSIRECORD *rec;
587  UINT ret;
588 
589  TRACE("%d %d\n", handle, iField);
590 
592  if( !rec )
593  return 0;
594  msiobj_lock( &rec->hdr );
595  ret = MSI_RecordDataSize( rec, iField);
596  msiobj_unlock( &rec->hdr );
597  msiobj_release( &rec->hdr );
598  return ret;
599 }
void msiobj_lock(MSIOBJECTHDR *info)
Definition: handle.c:232
MSIOBJECTHDR hdr
Definition: msipriv.h:141
static UINT MSI_RecordDataSize(MSIRECORD *rec, UINT iField)
Definition: record.c:563
void msiobj_unlock(MSIOBJECTHDR *info)
Definition: handle.c:237
#define MSIHANDLETYPE_RECORD
Definition: msipriv.h:702
#define TRACE(s)
Definition: solgame.cpp:4
int msiobj_release(MSIOBJECTHDR *info)
Definition: handle.c:242
int ret
unsigned int UINT
Definition: ndis.h:50
void * msihandle2msiinfo(MSIHANDLE handle, UINT type)
Definition: handle.c:157

Referenced by test_msirecord().

◆ MsiRecordGetFieldCount()

UINT WINAPI MsiRecordGetFieldCount ( MSIHANDLE  )

Definition at line 116 of file record.c.

117 {
118  MSIRECORD *rec;
119  UINT ret;
120 
121  TRACE("%d\n", handle );
122 
124  if( !rec )
125  return -1;
126 
127  msiobj_lock( &rec->hdr );
128  ret = MSI_RecordGetFieldCount( rec );
129  msiobj_unlock( &rec->hdr );
130  msiobj_release( &rec->hdr );
131 
132  return ret;
133 }
UINT MSI_RecordGetFieldCount(const MSIRECORD *rec)
Definition: record.c:111
void msiobj_lock(MSIOBJECTHDR *info)
Definition: handle.c:232
MSIOBJECTHDR hdr
Definition: msipriv.h:141
void msiobj_unlock(MSIOBJECTHDR *info)
Definition: handle.c:237
#define MSIHANDLETYPE_RECORD
Definition: msipriv.h:702
#define TRACE(s)
Definition: solgame.cpp:4
int msiobj_release(MSIOBJECTHDR *info)
Definition: handle.c:242
int ret
unsigned int UINT
Definition: ndis.h:50
void * msihandle2msiinfo(MSIHANDLE handle, UINT type)
Definition: handle.c:157

Referenced by externalui_message_callback(), externalui_record_callback(), record_invoke(), test_integers(), test_join(), test_msiimport(), test_msiinsert(), test_msirecord(), test_packagecoltypes(), test_select_column_names(), test_stringtable(), and test_where().

◆ MsiRecordGetInteger()

int WINAPI MsiRecordGetInteger ( MSIHANDLE  ,
UINT   
)

Definition at line 271 of file record.c.

272 {
273  MSIRECORD *rec;
274  UINT ret;
275 
276  TRACE("%d %d\n", handle, iField );
277 
279  if( !rec )
280  return MSI_NULL_INTEGER;
281 
282  msiobj_lock( &rec->hdr );
283  ret = MSI_RecordGetInteger( rec, iField );
284  msiobj_unlock( &rec->hdr );
285  msiobj_release( &rec->hdr );
286 
287  return ret;
288 }
void msiobj_lock(MSIOBJECTHDR *info)
Definition: handle.c:232
int MSI_RecordGetInteger(MSIRECORD *rec, UINT iField)
Definition: record.c:245
MSIOBJECTHDR hdr
Definition: msipriv.h:141
#define MSI_NULL_INTEGER
Definition: msiquery.h:32
void msiobj_unlock(MSIOBJECTHDR *info)
Definition: handle.c:237
#define MSIHANDLETYPE_RECORD
Definition: msipriv.h:702
#define TRACE(s)
Definition: solgame.cpp:4
int msiobj_release(MSIOBJECTHDR *info)
Definition: handle.c:242
int ret
unsigned int UINT
Definition: ndis.h:50
void * msihandle2msiinfo(MSIHANDLE handle, UINT type)
Definition: handle.c:157

Referenced by externalui_record_callback(), get_columns_table_type(), get_integer(), MsiProcessMessage(), ok_callback(), record_invoke(), test_columnorder(), test_dbmerge(), test_droptable(), test_fieldzero(), test_insertorder(), test_integers(), test_join(), test_msiimport(), test_msiinsert(), test_msirecord(), test_MsiRecordGetInteger(), test_noquotes(), test_order(), test_select_markers(), test_select_with_tablenames(), test_stringtable(), test_try_transform(), test_update(), test_viewmodify(), test_viewmodify_assign(), test_viewmodify_delete(), test_viewmodify_delete_temporary(), test_viewmodify_refresh(), test_viewmodify_update(), test_where(), and test_where_viewmodify().

◆ MsiRecordGetStringA()

UINT WINAPI MsiRecordGetStringA ( MSIHANDLE  ,
UINT  ,
LPSTR  ,
LPDWORD   
)

Definition at line 451 of file record.c.

453 {
454  MSIRECORD *rec;
455  UINT ret;
456 
457  TRACE("%d %d %p %p\n", handle, iField, szValue, pcchValue);
458 
460  if( !rec )
461  return ERROR_INVALID_HANDLE;
462  msiobj_lock( &rec->hdr );
463  ret = MSI_RecordGetStringA( rec, iField, szValue, pcchValue);
464  msiobj_unlock( &rec->hdr );
465  msiobj_release( &rec->hdr );
466  return ret;
467 }
void msiobj_lock(MSIOBJECTHDR *info)
Definition: handle.c:232
MSIOBJECTHDR hdr
Definition: msipriv.h:141
#define ERROR_INVALID_HANDLE
Definition: compat.h:88
UINT MSI_RecordGetStringA(MSIRECORD *rec, UINT iField, LPSTR szValue, LPDWORD pcchValue)
Definition: record.c:399
void msiobj_unlock(MSIOBJECTHDR *info)
Definition: handle.c:237
#define MSIHANDLETYPE_RECORD
Definition: msipriv.h:702
#define TRACE(s)
Definition: solgame.cpp:4
int msiobj_release(MSIOBJECTHDR *info)
Definition: handle.c:242
int ret
unsigned int UINT
Definition: ndis.h:50
void * msihandle2msiinfo(MSIHANDLE handle, UINT type)
Definition: handle.c:157

Referenced by check_record(), externalui_message_callback(), find_prop_in_property(), get_string(), ok_callback(), test_binary(), test_binary_import(), test_carriagereturn(), test_collation(), test_columnorder(), test_createtable(), test_dbmerge(), test_deleterow(), test_droptable(), test_embedded_nulls(), test_emptypackage(), test_fieldzero(), test_getcolinfo(), test_join(), test_longstrings(), test_msiinsert(), test_msirecord(), test_MsiRecordGetString(), test_noquotes(), test_order(), test_quotes(), test_rows_order(), test_select_column_names(), test_select_markers(), test_storages_table(), test_streamtable(), test_stringtable(), test_tables_order(), test_temporary_table(), test_try_transform(), test_update(), test_viewmodify(), test_viewmodify_delete(), test_viewmodify_refresh(), and test_where().

◆ MsiRecordGetStringW()

UINT WINAPI MsiRecordGetStringW ( MSIHANDLE  ,
UINT  ,
LPWSTR  ,
LPDWORD   
)

Definition at line 533 of file record.c.

535 {
536  MSIRECORD *rec;
537  UINT ret;
538 
539  TRACE("%d %d %p %p\n", handle, iField, szValue, pcchValue);
540 
542  if( !rec )
543  return ERROR_INVALID_HANDLE;
544 
545  msiobj_lock( &rec->hdr );
546  ret = MSI_RecordGetStringW( rec, iField, szValue, pcchValue );
547  msiobj_unlock( &rec->hdr );
548  msiobj_release( &rec->hdr );
549  return ret;
550 }
void msiobj_lock(MSIOBJECTHDR *info)
Definition: handle.c:232
MSIOBJECTHDR hdr
Definition: msipriv.h:141
#define ERROR_INVALID_HANDLE
Definition: compat.h:88
void msiobj_unlock(MSIOBJECTHDR *info)
Definition: handle.c:237
#define MSIHANDLETYPE_RECORD
Definition: msipriv.h:702
#define TRACE(s)
Definition: solgame.cpp:4
int msiobj_release(MSIOBJECTHDR *info)
Definition: handle.c:242
int ret
unsigned int UINT
Definition: ndis.h:50
void * msihandle2msiinfo(MSIHANDLE handle, UINT type)
Definition: handle.c:157
UINT MSI_RecordGetStringW(MSIRECORD *rec, UINT iField, LPWSTR szValue, LPDWORD pcchValue)
Definition: record.c:487

Referenced by record_invoke(), test_collation(), and test_msirecord().

◆ MsiRecordIsNull()

BOOL WINAPI MsiRecordIsNull ( MSIHANDLE  ,
UINT   
)

Definition at line 381 of file record.c.

382 {
383  MSIRECORD *rec;
384  UINT ret;
385 
386  TRACE("%d %d\n", handle, iField );
387 
389  if( !rec )
390  return FALSE;
391  msiobj_lock( &rec->hdr );
392  ret = MSI_RecordIsNull( rec, iField );
393  msiobj_unlock( &rec->hdr );
394  msiobj_release( &rec->hdr );
395  return ret;
396 
397 }
void msiobj_lock(MSIOBJECTHDR *info)
Definition: handle.c:232
MSIOBJECTHDR hdr
Definition: msipriv.h:141
void msiobj_unlock(MSIOBJECTHDR *info)
Definition: handle.c:237
#define MSIHANDLETYPE_RECORD
Definition: msipriv.h:702
#define TRACE(s)
Definition: solgame.cpp:4
int msiobj_release(MSIOBJECTHDR *info)
Definition: handle.c:242
int ret
BOOL MSI_RecordIsNull(MSIRECORD *rec, UINT iField)
Definition: record.c:369
unsigned int UINT
Definition: ndis.h:50
void * msihandle2msiinfo(MSIHANDLE handle, UINT type)
Definition: handle.c:157

Referenced by test_fieldzero(), test_msiinsert(), and test_msirecord().

◆ MsiRecordReadStream()

UINT WINAPI MsiRecordReadStream ( MSIHANDLE  ,
UINT  ,
char ,
LPDWORD   
)

Definition at line 872 of file record.c.

873 {
874  MSIRECORD *rec;
875  UINT ret;
876 
877  TRACE("%d %d %p %p\n", handle, iField, buf, sz);
878 
880  if( !rec )
881  return ERROR_INVALID_HANDLE;
882  msiobj_lock( &rec->hdr );
883  ret = MSI_RecordReadStream( rec, iField, buf, sz );
884  msiobj_unlock( &rec->hdr );
885  msiobj_release( &rec->hdr );
886  return ret;
887 }
void msiobj_lock(MSIOBJECTHDR *info)
Definition: handle.c:232
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
MSIOBJECTHDR hdr
Definition: msipriv.h:141
#define ERROR_INVALID_HANDLE
Definition: compat.h:88
void msiobj_unlock(MSIOBJECTHDR *info)
Definition: handle.c:237
#define MSIHANDLETYPE_RECORD
Definition: msipriv.h:702
#define TRACE(s)
Definition: solgame.cpp:4
int msiobj_release(MSIOBJECTHDR *info)
Definition: handle.c:242
int ret
UINT MSI_RecordReadStream(MSIRECORD *rec, UINT iField, char *buf, LPDWORD sz)
Definition: record.c:814
unsigned int UINT
Definition: ndis.h:50
void * msihandle2msiinfo(MSIHANDLE handle, UINT type)
Definition: handle.c:157

Referenced by test_binary(), test_binary_import(), test_dbmerge(), test_msirecord(), test_storages_table(), test_streamtable(), and test_try_transform().

◆ MsiRecordSetInteger()

UINT WINAPI MsiRecordSetInteger ( MSIHANDLE  ,
UINT  ,
int   
)

Definition at line 351 of file record.c.

352 {
353  MSIRECORD *rec;
354  UINT ret;
355 
356  TRACE("%d %u %d\n", handle, iField, iVal);
357 
359  if( !rec )
360  return ERROR_INVALID_HANDLE;
361 
362  msiobj_lock( &rec->hdr );
363  ret = MSI_RecordSetInteger( rec, iField, iVal );
364  msiobj_unlock( &rec->hdr );
365  msiobj_release( &rec->hdr );
366  return ret;
367 }
void msiobj_lock(MSIOBJECTHDR *info)
Definition: handle.c:232
MSIOBJECTHDR hdr
Definition: msipriv.h:141
#define ERROR_INVALID_HANDLE
Definition: compat.h:88
void msiobj_unlock(MSIOBJECTHDR *info)
Definition: handle.c:237
#define MSIHANDLETYPE_RECORD
Definition: msipriv.h:702
UINT MSI_RecordSetInteger(MSIRECORD *rec, UINT iField, int iVal)
Definition: record.c:328
#define TRACE(s)
Definition: solgame.cpp:4
int msiobj_release(MSIOBJECTHDR *info)
Definition: handle.c:242
int ret
unsigned int UINT
Definition: ndis.h:50
void * msihandle2msiinfo(MSIHANDLE handle, UINT type)
Definition: handle.c:157

Referenced by generate_transform(), ok_(), record_invoke(), test_externalui(), test_externalui_message(), test_fieldzero(), test_formatrecord(), test_markers(), test_msiinsert(), test_msirecord(), test_MsiRecordGetString(), test_select_markers(), test_stringtable(), test_try_transform(), test_update(), test_viewmodify(), test_viewmodify_assign(), test_viewmodify_delete_temporary(), test_viewmodify_update(), and test_where_viewmodify().

◆ MsiRecordSetStreamA()

UINT WINAPI MsiRecordSetStreamA ( MSIHANDLE  ,
UINT  ,
LPCSTR   
)

Definition at line 777 of file record.c.

778 {
779  LPWSTR wstr = NULL;
780  UINT ret;
781 
782  TRACE("%d %d %s\n", hRecord, iField, debugstr_a(szFilename));
783 
784  if( szFilename )
785  {
786  wstr = strdupAtoW( szFilename );
787  if( !wstr )
788  return ERROR_OUTOFMEMORY;
789  }
790  ret = MsiRecordSetStreamW(hRecord, iField, wstr);
791  msi_free(wstr);
792 
793  return ret;
794 }
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
#define debugstr_a
Definition: kernel32.h:31
int ret
UINT WINAPI MsiRecordSetStreamW(MSIHANDLE handle, UINT iField, LPCWSTR szFilename)
Definition: record.c:796
unsigned int UINT
Definition: ndis.h:50
static BOOL msi_free(void *mem)
Definition: msipriv.h:1227
WCHAR * LPWSTR
Definition: xmlstorage.h:184