From ace5c7ed5707a03a47bfd4c6387c1c704689a501 Mon Sep 17 00:00:00 2001 From: Misha Koshelev Date: Fri, 23 Feb 2007 20:02:01 -0600 Subject: msi: Expand IDL file to contain all OLE automation interfaces. --- dlls/msi/msiserver.idl | 917 +++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 857 insertions(+), 60 deletions(-) diff --git a/dlls/msi/msiserver.idl b/dlls/msi/msiserver.idl index 9966d90..02def8e 100644 --- a/dlls/msi/msiserver.idl +++ b/dlls/msi/msiserver.idl @@ -1,5 +1,6 @@ /* * Copyright (C) 2007 Mike McCormack + * Misha Koshelev * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -21,9 +22,16 @@ import "wtypes.idl"; import "objidl.idl"; import "oaidl.idl"; -[ uuid(000C1092-0000-0000-C000-000000000046), version(1.0) ] +[ + uuid(000C1092-0000-0000-C000-000000000046), + version(1.0) +] library WindowsInstaller { + /* TLib : */ /* TLib : OLE Automation : {00020430-0000-0000-C000-000000000046} */ + importlib("stdole2.tlb"); + + /* Forward declare all types defined in this typelib */ dispinterface Installer; dispinterface Record; dispinterface Session; @@ -37,87 +45,876 @@ library WindowsInstaller dispinterface Product; dispinterface Patch; - [ uuid(000C1090-0000-0000-C000-000000000046) ] - dispinterface Installer - { - properties: - methods: - } - - [ uuid(000C1093-0000-0000-C000-000000000046) ] - dispinterface Record - { - properties: - methods: - } - - [ uuid(000C1095-0000-0000-C000-000000000046) ] - dispinterface StringList - { + /* All enumerations */ + + typedef + enum { + msiUILevelNoChange = 0, + msiUILevelDefault = 1, + msiUILevelNone = 2, + msiUILevelBasic = 3, + msiUILevelReduced = 4, + msiUILevelFull = 5, + msiUILevelHideCancel = 32, + msiUILevelProgressOnly = 64, + msiUILevelEndDialog = 128, + msiUILevelSourceResOnly = 256 + } MsiUILevel; + + typedef + enum { + msiReadStreamInteger = 0, + msiReadStreamBytes = 1, + msiReadStreamAnsi = 2, + msiReadStreamDirect = 3 + } MsiReadStream; + + typedef + enum { + msiRunModeAdmin = 0, + msiRunModeAdvertise = 1, + msiRunModeMaintenance = 2, + msiRunModeRollbackEnabled = 3, + msiRunModeLogEnabled = 4, + msiRunModeOperations = 5, + msiRunModeRebootAtEnd = 6, + msiRunModeRebootNow = 7, + msiRunModeCabinet = 8, + msiRunModeSourceShortNames = 9, + msiRunModeTargetShortNames = 10, + msiRunModeWindows9x = 12, + msiRunModeZawEnabled = 13, + msiRunModeScheduled = 16, + msiRunModeRollback = 17, + msiRunModeCommit = 18 + } MsiRunMode; + + typedef + enum { + msiDatabaseStateRead = 0, + msiDatabaseStateWrite = 1 + } MsiDatabaseState; + + typedef + enum { + msiViewModifySeek = -1, + msiViewModifyRefresh = 0, + msiViewModifyInsert = 1, + msiViewModifyUpdate = 2, + msiViewModifyAssign = 3, + msiViewModifyReplace = 4, + msiViewModifyMerge = 5, + msiViewModifyDelete = 6, + msiViewModifyInsertTemporary = 7, + msiViewModifyValidate = 8, + msiViewModifyValidateNew = 9, + msiViewModifyValidateField = 10, + msiViewModifyValidateDelete = 11 + } _MsiViewModify; /* Added underscore to avoid conflict with MsiViewModify function in msiquery.h */ + + typedef + enum { + msiColumnInfoNames = 0, + msiColumnInfoTypes = 1 + } MsiColumnInfo; + + typedef + enum { + msiTransformErrorNone = 0, + msiTransformErrorAddExistingRow = 1, + msiTransformErrorDeleteNonExistingRow = 2, + msiTransformErrorAddExistingTable = 4, + msiTransformErrorDeleteNonExistingTable = 8, + msiTransformErrorUpdateNonExistingRow = 16, + msiTransformErrorChangeCodePage = 32, + msiTransformErrorViewTransform = 256 + } MsiTransformError; + + typedef + enum { + msiEvaluateConditionFalse = 0, + msiEvaluateConditionTrue = 1, + msiEvaluateConditionNone = 2, + msiEvaluateConditionError = 3 + } _MsiEvaluateCondition; /* Added underscore to avoid conflict with function name */ + + typedef + enum { + msiTransformValidationNone = 0, + msiTransformValidationLanguage = 1, + msiTransformValidationProduct = 2, + msiTransformValidationPlatform = 4, + msiTransformValidationMajorVer = 8, + msiTransformValidationMinorVer = 16, + msiTransformValidationUpdateVer = 32, + msiTransformValidationLess = 64, + msiTransformValidationLessOrEqual = 128, + msiTransformValidationEqual = 256, + msiTransformValidationGreaterOrEqual = 512, + msiTransformValidationGreater = 1024, + msiTransformValidationUpgradeCode = 2048 + } MsiTransformValidation; + + typedef + enum { + msiDoActionStatusNoAction = 0, + msiDoActionStatusSuccess = 1, + msiDoActionStatusUserExit = 2, + msiDoActionStatusFailure = 3, + msiDoActionStatusSuspend = 4, + msiDoActionStatusFinished = 5, + msiDoActionStatusWrongState = 6, + msiDoActionStatusBadActionData = 7 + } MsiDoActionStatus; + + typedef + enum { + msiMessageStatusError = -1, + msiMessageStatusNone = 0, + msiMessageStatusOk = 1, + msiMessageStatusCancel = 2, + msiMessageStatusAbort = 3, + msiMessageStatusRetry = 4, + msiMessageStatusIgnore = 5, + msiMessageStatusYes = 6, + msiMessageStatusNo = 7 + } MsiMessageStatus; + + typedef + enum { + msiMessageTypeFatalExit = 0, + msiMessageTypeError = 16777216, + msiMessageTypeWarning = 33554432, + msiMessageTypeUser = 50331648, + msiMessageTypeInfo = 67108864, + msiMessageTypeFilesInUse = 83886080, + msiMessageTypeResolveSource = 100663296, + msiMessageTypeOutOfDiskSpace = 117440512, + msiMessageTypeActionStart = 134217728, + msiMessageTypeActionData = 150994944, + msiMessageTypeProgress = 167772160, + msiMessageTypeCommonData = 184549376, + msiMessageTypeOk = 0, + msiMessageTypeOkCancel = 1, + msiMessageTypeAbortRetryIgnore = 2, + msiMessageTypeYesNoCancel = 3, + msiMessageTypeYesNo = 4, + msiMessageTypeRetryCancel = 5, + msiMessageTypeDefault1 = 0, + msiMessageTypeDefault2 = 256, + msiMessageTypeDefault3 = 512 + } MsiMessageType; + + typedef + enum { + msiInstallStateNotUsed = -7, + msiInstallStateBadConfig = -6, + msiInstallStateIncomplete = -5, + msiInstallStateSourceAbsent = -4, + msiInstallStateInvalidArg = -2, + msiInstallStateUnknown = -1, + msiInstallStateBroken = 0, + msiInstallStateAdvertised = 1, + msiInstallStateRemoved = 1, + msiInstallStateAbsent = 2, + msiInstallStateLocal = 3, + msiInstallStateSource = 4, + msiInstallStateDefault = 5 + } MsiInstallState; + + typedef + enum { + msiCostTreeSelfOnly = 0, + msiCostTreeChildren = 1, + msiCostTreeParents = 2 + } MsiCostTree; + + typedef + enum { + msiReinstallModeFileMissing = 2, + msiReinstallModeFileOlderVersion = 4, + msiReinstallModeFileEqualVersion = 8, + msiReinstallModeFileExact = 16, + msiReinstallModeFileVerify = 32, + msiReinstallModeFileReplace = 64, + msiReinstallModeMachineData = 128, + msiReinstallModeUserData = 256, + msiReinstallModeShortcut = 512, + msiReinstallModePackage = 1024 + } MsiReinstallMode; + + typedef + enum { + msiInstallTypeDefault = 0, + msiInstallTypeNetworkImage = 1, + msiInstallTypeSingleInstance = 2 + } MsiInstallType; + + typedef + enum { + msiInstallModeNoSourceResolution = -3, + msiInstallModeNoDetection = -2, + msiInstallModeExisting = -1, + msiInstallModeDefault = 0 + } MsiInstallMode; + + typedef + enum { + msiSignatureInfoCertificate = 0, + msiSignatureInfoHash = 1 + } MsiSignatureInfo; + + typedef + enum { + msiInstallContextFirstVisible = 0, + msiInstallContextUserManaged = 1, + msiInstallContextUser = 2, + msiInstallContextMachine = 4, + msiInstallContextAllUserManaged = 8 + } MsiInstallContext; + + typedef + enum { + msiInstallSourceTypeUnknown = 0, + msiInstallSourceTypeNetwork = 1, + msiInstallSourceTypeURL = 2, + msiInstallSourceTypeMedia = 4 + } MsiInstallSourceType; + + typedef enum { + msiDatabaseNullInteger = 0x80000000 /* -2147483648 from oleview, but widl makes it into two "-"'s + * which screws up msiserver.h */ + } Constants; + + typedef + enum { + msiOpenDatabaseModeReadOnly = 0, + msiOpenDatabaseModeTransact = 1, + msiOpenDatabaseModeDirect = 2, + msiOpenDatabaseModeCreate = 3, + msiOpenDatabaseModeCreateDirect = 4, + msiOpenDatabaseModePatchFile = 32 + } MsiOpenDatabaseMode; + + typedef + enum { + msiSignatureOptionInvalidHashFatal = 1 + } MsiSignatureOption; + + /* + * Now the interfaces. + */ + + [ + uuid(000C1090-0000-0000-C000-000000000046), + ] + dispinterface Installer { + properties: + [id(0x00000006)] + MsiUILevel UILevel; + methods: + [id(0x00000001)] + Record* CreateRecord([in] long Count); + [id(0x00000002)] + Session* OpenPackage( + [in] VARIANT PackagePath, + [in, optional, defaultvalue(0)] long Options); + [id(0x00000003)] + Session* OpenProduct([in] BSTR ProductCode); + [id(0x00000004)] + Database* OpenDatabase( + [in] BSTR DatabasePath, + [in] VARIANT OpenMode); + [id(0x00000005), propget] + SummaryInfo* SummaryInformation( + [in] BSTR PackagePath, + [in, optional, defaultvalue(0)] long UpdateCount); + [id(0x00000007)] + void EnableLog( + [in] BSTR LogMode, + [in] BSTR LogFile); + [id(0x00000008)] + void InstallProduct( + [in] BSTR PackagePath, + [in, optional, defaultvalue("0")] BSTR PropertyValues); + [id(0x00000009), propget] + BSTR Version(); + [id(0x0000000a)] + Record* LastErrorRecord(); + [id(0x0000000b)] + BSTR RegistryValue( + [in] VARIANT Root, + [in] BSTR Key, + [in, optional] VARIANT Value); + [id(0x0000000d)] + long FileAttributes([in] BSTR FilePath); + [id(0x0000000f)] + long FileSize([in] BSTR FilePath); + [id(0x00000010)] + BSTR FileVersion( + [in] BSTR FilePath, + [in, optional] VARIANT Language); + [id(0x0000000c), propget] + BSTR Environment([in] BSTR Variable); + [id(0x0000000c), propput] + void Environment( + [in] BSTR Variable, + [in] BSTR rhs); + [id(0x00000011), propget] + MsiInstallState ProductState([in] BSTR Product); + [id(0x00000012), propget] + BSTR ProductInfo( + [in] BSTR Product, + [in] BSTR Attribute); + [id(0x00000013)] + void ConfigureProduct( + [in] BSTR Product, + [in] long InstallLevel, + [in] MsiInstallState InstallState); + [id(0x00000014)] + void ReinstallProduct( + [in] BSTR Product, + [in] MsiReinstallMode ReinstallMode); + [id(0x00000015)] + void CollectUserInfo([in] BSTR Product); + [id(0x00000016)] + void ApplyPatch( + [in] BSTR PatchPackage, + [in] BSTR InstallPackage, + [in] MsiInstallType InstallType, + [in] BSTR CommandLine); + [id(0x00000017), propget] + BSTR FeatureParent( + [in] BSTR Product, + [in] BSTR Feature); + [id(0x00000018), propget] + MsiInstallState FeatureState( + [in] BSTR Product, + [in] BSTR Feature); + [id(0x00000019)] + void UseFeature( + [in] BSTR Product, + [in] BSTR Feature, + [in] MsiInstallMode InstallMode); + [id(0x0000001a), propget] + long FeatureUsageCount( + [in] BSTR Product, + [in] BSTR Feature); + [id(0x0000001b), propget] + DATE FeatureUsageDate( + [in] BSTR Product, + [in] BSTR Feature); + [id(0x0000001c)] + void ConfigureFeature( + [in] BSTR Product, + [in] BSTR Feature, + [in] MsiInstallState InstallState); + [id(0x0000001d)] + void ReinstallFeature( + [in] BSTR Product, + [in] BSTR Feature, + [in] MsiReinstallMode ReinstallMode); + [id(0x0000001e)] + BSTR ProvideComponent( + [in] BSTR Product, + [in] BSTR Feature, + [in] BSTR Component, + [in] long InstallMode); + [id(0x0000001f), propget] + BSTR ComponentPath( + [in] BSTR Product, + [in] BSTR Component); + [id(0x00000020)] + BSTR ProvideQualifiedComponent( + [in] BSTR Category, + [in] BSTR Qualifier, + [in] long InstallMode); + [id(0x00000021), propget] + BSTR QualifierDescription( + [in] BSTR Category, + [in] BSTR Qualifier); + [id(0x00000022), propget] + StringList* ComponentQualifiers([in] BSTR Category); + [id(0x00000023), propget] + StringList* Products(); + [id(0x00000024), propget] + StringList* Features([in] BSTR Product); + [id(0x00000025), propget] + StringList* Components(); + [id(0x00000026), propget] + StringList* ComponentClients([in] BSTR Component); + [id(0x00000027), propget] + StringList* Patches([in] BSTR Product); + [id(0x00000028), propget] + StringList* RelatedProducts([in] BSTR UpgradeCode); + [id(0x00000029), propget] + BSTR PatchInfo( + [in] BSTR Patch, + [in] BSTR Attribute); + [id(0x0000002a), propget] + BSTR PatchTransforms( + [in] BSTR Product, + [in] BSTR Patch); + [id(0x0000002b)] + void AddSource( + [in] BSTR Product, + [in] BSTR User, + [in] BSTR Source); + [id(0x0000002c)] + void ClearSourceList( + [in] BSTR Product, + [in] BSTR User); + [id(0x0000002d)] + void ForceSourceListResolution( + [in] BSTR Product, + [in] BSTR User); + [id(0x0000002e), propget] + Record* GetShortcutTarget([in] BSTR ShortcutPath); + [id(0x0000002f)] + Record* FileHash( + [in] BSTR FilePath, + [in] long Options); + [id(0x00000030)] + SAFEARRAY(unsigned char) FileSignatureInfo( + [in] BSTR FilePath, + [in] long Options, + [in] MsiSignatureInfo Format); + [id(0x00000031)] + void RemovePatches( + [in] BSTR PatchList, + [in] BSTR Product, + [in] MsiInstallType UninstallType, + [in, optional, defaultvalue("0")] BSTR PropertyList); + [id(0x00000033)] + void ApplyMultiplePatches( + [in] BSTR PatchPackage, + [in] BSTR Product, + [in] BSTR PropertiesList); + [id(0x00000035), propget] + HRESULT Product( + [in] BSTR Product, + [in] BSTR UserSid, + [in] MsiInstallContext iContext, + [out, retval] Product** retval); + [id(0x00000038), propget] + HRESULT Patch( + [in] BSTR PatchCode, + [in] BSTR ProductCode, + [in] BSTR UserSid, + [in] MsiInstallContext iContext, + [out, retval] Patch** retval); + [id(0x00000034), propget] + RecordList* ProductsEx( + [in] BSTR Product, + [in] BSTR UserSid, + [in] long Contexts); + [id(0x00000037), propget] + RecordList* PatchesEx( + [in] BSTR Product, + [in] BSTR UserSid, + [in] long Contexts, + [in] long filter); + [id(0x00000039)] + BSTR ExtractPatchXMLData([in] BSTR PatchPath); + }; + + + [ + uuid(000C1093-0000-0000-C000-000000000046) + ] + dispinterface Record { + properties: + methods: + [id(0x00000001), propget] + BSTR StringData([in] long Field); + [id(0x00000001), propput] + void StringData( + [in] long Field, + [in] BSTR rhs); + [id(0x00000002), propget] + long IntegerData([in] long Field); + [id(0x00000002), propput] + void IntegerData( + [in] long Field, + [in] long rhs); + [id(0x00000003)] + void SetStream( + [in] long Field, + [in] BSTR FilePath); + [id(0x00000004)] + BSTR ReadStream( + [in] long Field, + [in] long Length, + [in] MsiReadStream Format); + [id(00000000), propget] + long FieldCount(); + [id(0x00000006), propget] + VARIANT_BOOL IsNull([in] long Field); + [id(0x00000005), propget] + long DataSize([in] long Field); + [id(0x00000007)] + void ClearData(); + [id(0x00000008)] + BSTR FormatText(); + }; + + + [ + uuid(000C109E-0000-0000-C000-000000000046) + ] + dispinterface Session { properties: methods: - } + [id(0x00000001), propget] + Installer* Installer(); + [id(0x00000002), propget] + BSTR Property([in] BSTR Name); + [id(0x00000002), propput] + void Property( + [in] BSTR Name, + [in] BSTR rhs); + [id(0x00000003), propget] + long Language(); + [id(0x00000004), propget] + VARIANT_BOOL Mode([in] MsiRunMode Flag); + [id(0x00000004), propput] + void Mode( + [in] MsiRunMode Flag, + [in] VARIANT_BOOL rhs); + [id(0x00000005), propget] + Database* Database(); + [id(0x00000006), propget] + BSTR SourcePath([in] BSTR Folder); + [id(0x00000007), propget] + BSTR TargetPath([in] BSTR Folder); + [id(0x00000007), propput] + void TargetPath( + [in] BSTR Folder, + [in] BSTR rhs); + [id(0x00000008)] + MsiDoActionStatus DoAction([in] BSTR Action); + [id(0x00000009)] + MsiDoActionStatus Sequence( + [in] BSTR Table, + [in, optional] VARIANT Mode); + [id(0x0000000a)] + _MsiEvaluateCondition EvaluateCondition([in] BSTR Expression); + [id(0x0000000b)] + BSTR FormatRecord([in] Record* Record); + [id(0x0000000c)] + MsiMessageStatus Message( + [in] MsiMessageType Kind, + [in] Record* Record); + [id(0x0000000d), propget] + MsiInstallState FeatureCurrentState([in] BSTR Feature); + [id(0x0000000e), propget] + MsiInstallState FeatureRequestState([in] BSTR Feature); + [id(0x0000000e), propput] + void FeatureRequestState( + [in] BSTR Feature, + [in] MsiInstallState rhs); + [id(0x0000000f), propget] + long FeatureValidStates([in] BSTR Feature); + [id(0x00000010), propget] + long FeatureCost( + [in] BSTR Feature, + [in] MsiCostTree CostTree, + [in] MsiInstallState State); + [id(0x00000011), propget] + MsiInstallState ComponentCurrentState([in] BSTR Component); + [id(0x00000012), propget] + MsiInstallState ComponentRequestState([in] BSTR Component); + [id(0x00000012), propput] + void ComponentRequestState( + [in] BSTR Component, + [in] MsiInstallState rhs); + [id(0x00000013)] + void SetInstallLevel([in] long Level); + [id(0x00000014), propget] + VARIANT_BOOL VerifyDiskSpace(); + [id(0x00000015), propget] + BSTR ProductProperty([in] BSTR Property); + [id(0x00000016), propget] + FeatureInfo* FeatureInfo([in] BSTR Feature); + [id(0x00000017), propget] + RecordList* ComponentCosts( + [in] BSTR Component, + [in] MsiInstallState State); + }; - [ uuid(000C1096-0000-0000-C000-000000000046) ] - dispinterface RecordList - { + + [ + uuid(000C109D-0000-0000-C000-000000000046) + ] + dispinterface Database { properties: methods: - } + [id(0x00000001), propget] + MsiDatabaseState DatabaseState(); + [id(0x00000002), propget] + SummaryInfo* SummaryInformation([in, optional, defaultvalue(0)] long UpdateCount); + [id(0x00000003)] + View* OpenView([in] BSTR Sql); + [id(0x00000004)] + void Commit(); + [id(0x00000005), propget] + Record* PrimaryKeys([in] BSTR Table); + [id(0x00000006)] + void Import( + [in] BSTR Folder, + [in] BSTR File); + [id(0x00000007)] + void Export( + [in] BSTR Table, + [in] BSTR Folder, + [in] BSTR File); + [id(0x00000008)] + VARIANT_BOOL Merge( + [in] Database* Database, + [in, optional, defaultvalue("0")] BSTR ErrorTable); + [id(0x00000009)] + VARIANT_BOOL GenerateTransform( + [in] Database* ReferenceDatabase, + [in, optional, defaultvalue("0")] BSTR TransformFile); + [id(0x0000000a)] + void ApplyTransform( + [in] BSTR TransformFile, + [in] MsiTransformError ErrorConditions); + [id(0x0000000b)] + UIPreview* EnableUIPreview(); + [id(0x0000000c), propget] + _MsiEvaluateCondition TablePersistent([in] BSTR Table); + [id(0x0000000d)] + void CreateTransformSummaryInfo( + [in] Database* ReferenceDatabase, + [in] BSTR TransformFile, + [in] MsiTransformError ErrorConditions, + [in] MsiTransformValidation Validation); + }; + - [ uuid(000C109A-0000-0000-C000-000000000046) ] - dispinterface UIPreview - { + [ + uuid(000C109B-0000-0000-C000-000000000046) + ] + dispinterface SummaryInfo { properties: methods: - } + [id(0x00000001), propget] + VARIANT Property([in] long Pid); + [id(0x00000001), propput] + void Property( + [in] long Pid, + [in] VARIANT rhs); + [id(0x00000002), propget] + long PropertyCount(); + [id(0x00000003)] + void Persist(); + }; - [ uuid(000C109B-0000-0000-C000-000000000046) ] - dispinterface SummaryInfo - { + [ + uuid(000C109C-0000-0000-C000-000000000046) + ] + dispinterface View { properties: methods: - } + [id(0x00000001)] + void Execute([in, optional, defaultvalue(0)] Record* Params); + [id(0x00000002)] + Record* Fetch(); + [id(0x00000003)] + void Modify( + [in] _MsiViewModify Mode, + Record* Record); + [id(0x00000005), propget] + Record* ColumnInfo([in] MsiColumnInfo Info); + [id(0x00000004)] + void Close(); + [id(0x00000006)] + BSTR GetError(); + }; - [ uuid(000C109C-0000-0000-C000-000000000046) ] - dispinterface View - { + [ + uuid(000C109A-0000-0000-C000-000000000046) + ] + dispinterface UIPreview { properties: methods: - } + [id(0x00000001), propget] + BSTR Property([in] BSTR Name); + [id(0x00000001), propput] + void Property( + [in] BSTR Name, + [in] BSTR rhs); + [id(0x00000002)] + void ViewDialog([in] BSTR Dialog); + [id(0x00000003)] + void ViewBillboard( + [in] BSTR Control, + [in] BSTR Billboard); + }; - [ uuid(000C109D-0000-0000-C000-000000000046) ] - dispinterface Database - { + [ + uuid(000C109F-0000-0000-C000-000000000046) + ] + dispinterface FeatureInfo { properties: + [id(0x00000003)] + long Attributes; methods: - } - - [ uuid(000C109E-0000-0000-C000-000000000046) ] - dispinterface Session - { - properties: - methods: - } - - [ uuid(000C109F-0000-0000-C000-000000000046) ] - dispinterface FeatureInfo - { + [id(0x00000001), propget] + BSTR Title(); + [id(0x00000002), propget] + BSTR Description(); + }; + + [ + uuid(000C1096-0000-0000-C000-000000000046) + ] + dispinterface RecordList { properties: methods: - } + [id(0xfffffffc)] + IUnknown* _NewEnum(); + [id(00000000), propget] + Record* Item(long Index); + [id(0x00000001), propget] + long Count(); + }; - [ uuid(000C10A0-0000-0000-C000-000000000046) ] - dispinterface Product - { + + [ + uuid(000C1095-0000-0000-C000-000000000046) + ] + dispinterface StringList { properties: methods: - } + [id(0xfffffffc)] + IUnknown* _NewEnum(); + [id(00000000), propget] + BSTR Item(long Index); + [id(0x00000001), propget] + long Count(); + }; - [ uuid(000C10A1-0000-0000-C000-000000000046) ] - dispinterface Patch - { + [ + uuid(000C10A0-0000-0000-C000-000000000046) + ] + dispinterface Product { properties: methods: - } -} + [id(0x00000001), propget] + HRESULT ProductCode([out, retval] BSTR* retval); + [id(0x00000002), propget] + HRESULT UserSid([out, retval] BSTR* retval); + [id(0x00000003), propget] + HRESULT Context([out, retval] MsiInstallContext* retval); + [id(0x00000004), propget] + HRESULT State([out, retval] MsiInstallState* retval); + [id(0x00000005), propget] + HRESULT InstallProperty( + [in] BSTR Name, + [out, retval] BSTR* retval); + [id(0x00000006), propget] + HRESULT ComponentState( + [in] BSTR Component, + [out, retval] MsiInstallState* retval); + [id(0x00000007), propget] + HRESULT FeatureState( + [in] BSTR Feature, + [out, retval] MsiInstallState* retval); + [id(0x0000000e), propget] + HRESULT Sources( + [in] long SourceType, + [out, retval] StringList** retval); + [id(0x0000000f), propget] + HRESULT MediaDisks([out, retval] RecordList** retval); + [id(0x00000008)] + HRESULT SourceListAddSource( + [in] MsiInstallSourceType iSourceType, + [in] BSTR Source, + [in] long dwIndex); + [id(0x00000009)] + HRESULT SourceListAddMediaDisk( + [in] long dwDiskId, + [in] BSTR VolumeLabel, + [in] BSTR DiskPrompt); + [id(0x0000000a)] + HRESULT SourceListClearSource( + [in] MsiInstallSourceType iSourceType, + [in] BSTR Source); + [id(0x0000000b)] + HRESULT SourceListClearMediaDisk([in] long iDiskId); + [id(0x0000000c)] + HRESULT SourceListClearAll([in] MsiInstallSourceType iSourceType); + [id(0x0000000d)] + HRESULT SourceListForceResolution(); + [id(0x00000010), propget] + HRESULT SourceListInfo( + [in] BSTR Property, + [out, retval] BSTR* retval); + [id(0x00000010), propput] + HRESULT SourceListInfo( + [in] BSTR Property, + [in] BSTR retval); + }; + + + [ + uuid(000C10A1-0000-0000-C000-000000000046) + ] + dispinterface Patch { + properties: + methods: + [id(0x00000001), propget] + HRESULT PatchCode([out, retval] BSTR* retval); + [id(0x00000002), propget] + HRESULT ProductCode([out, retval] BSTR* retval); + [id(0x00000003), propget] + HRESULT UserSid([out, retval] BSTR* retval); + [id(0x00000004), propget] + HRESULT Context([out, retval] MsiInstallContext* retval); + [id(0x00000005), propget] + HRESULT State([out, retval] MsiInstallState* retval); + [id(0x0000000c), propget] + HRESULT Sources( + [in] long SourceType, + [out, retval] StringList** retval); + [id(0x0000000d), propget] + HRESULT MediaDisks([out, retval] RecordList** retval); + [id(0x00000006)] + HRESULT SourceListAddSource( + [in] MsiInstallSourceType iSourceType, + [in] BSTR Source, + [in] long dwIndex); + [id(0x00000007)] + HRESULT SourceListAddMediaDisk( + [in] long dwDiskId, + [in] BSTR VolumeLabel, + [in] BSTR DiskPrompt); + [id(0x00000008)] + HRESULT SourceListClearSource( + [in] MsiInstallSourceType iSourceType, + [in] BSTR Source); + [id(0x00000009)] + HRESULT SourceListClearMediaDisk([in] long iDiskId); + [id(0x0000000a)] + HRESULT SourceListClearAll([in] MsiInstallSourceType iSourceType); + [id(0x0000000b)] + HRESULT SourceListForceResolution(); + [id(0x0000000e), propget] + HRESULT SourceListInfo( + [in] BSTR Property, + [out, retval] BSTR* retval); + [id(0x0000000e), propput] + HRESULT SourceListInfo( + [in] BSTR Property, + [in] BSTR retval); + [id(0x0000000f), propget] + HRESULT PatchProperty( + [in] BSTR Property, + [out, retval] BSTR* Value); + }; +}; + + + -- 1.4.1