//----------------------------------------------------------------------------- // File: adomd.idl // // Copyright: Copyright (c) Microsoft Corporation // // Contents: // // // Comments: IDL source for adomd.dll // //----------------------------------------------------------------------------- #include "adomd.hh" #include "adords.hh" #include "adodef.h" // Forwards interface ICatalog; coclass Catalog; interface ICellset; coclass Cellset; interface Cell; interface Axis; interface Position; interface Member; interface Level; interface CubeDef; interface Dimension; interface Hierarchy; interface Axes; interface Positions; interface Members; interface CubeDefs; interface Dimensions; interface Hierarchies; interface Levels; #define UUIID_EnumMemberType uuid(000002AE-0000-0010-8000-00AA006D2EA4) #define UUIID_EnumObjectType uuid(C23BBD43-E494-4d00-B4D1-6C9A2CE17CE3) #define DISPID_COLLECT ( -8 ) #define DEFAULT_METHOD id(0) #define CONNECTION_BASEDISPID 1 cpp_quote("#define TARGET_IS_NT40_OR_LATER 1") [ ADOMD_TYPELIB_UUID, version(ADOMD_VERSION), helpfile(ADOMD_HELPFILE), helpstring(ADOMD_LIBRARYNAME) ] library ADOMD { importlib("stdole32.tlb"); importlib("ado10.tlb"); /************************************ Enums **********************************************/ typedef [ helpcontext(amMemberTypeEnum), UUIID_EnumMemberType ] enum MemberTypeEnum { [helpcontext(amMemberUnknown)] adMemberUnknown = 0x0000, [helpcontext(amMemberRegular)] adMemberRegular = 0x0001, [helpcontext(amMemberAll)] adMemberAll = 0x0002, [helpcontext(amMemberMeasure)] adMemberMeasure = 0x0003, [helpcontext(amMemberFormula)] adMemberFormula = 0x0004 } MemberTypeEnum; typedef [ helpcontext(amSchemaObjectTypeEnum), UUIID_EnumObjectType ] enum SchemaObjectTypeEnum { [helpcontext(amObjectTypeDimension)] adObjectTypeDimension=1, [helpcontext(amObjectTypeHierarchy)] adObjectTypeHierarchy=2, [helpcontext(amObjectTypeLevel)] adObjectTypeLevel=3, [helpcontext(amObjectTypeMember)] adObjectTypeMember=4 } SchemaObjectTypeEnum; /******************************* Interfaces **********************************************/ [ object, uuid(228136B1-8BD3-11D0-B4EF-00A0C9138CA4), dual, helpstring("Catalog Interface"), helpcontext(ammthCatalog), pointer_default(unique) ] interface ICatalog : IDispatch { import "oaidl.idl"; [ propget, helpcontext(amproName) ] HRESULT Name( [out, retval] BSTR *pbstr ); [ propputref, helpcontext(amproActiveConnection) ] HRESULT ActiveConnection( [in] IDispatch *pconn ); [ propput, helpcontext(amproActiveConnection) ] HRESULT ActiveConnection( [in] BSTR bstrConn ); [ propget, helpcontext(amproActiveConnection) ] HRESULT ActiveConnection( [out, retval] IDispatch **ppConn ); [ propget, DEFAULT_METHOD, helpcontext(amproCubeDefs) ] HRESULT CubeDefs( [out, retval] CubeDefs **ppvObject ); }; //--------------------------------------------------------------------------------------------- [ object, uuid(2281372A-8BD3-11D0-B4EF-00A0C9138CA4), dual, helpstring("Cellset Interface"), helpcontext(ammthCellset), pointer_default(unique) ] interface ICellset : IDispatch { import "oaidl.idl"; [ propget, vararg, DEFAULT_METHOD, helpcontext(ammthItem) ] HRESULT Item( [in] SAFEARRAY(VARIANT)* idx, [out, retval] Cell **ppvObject ); [ helpcontext(ammthOpen) ] HRESULT Open( [in, optional] VARIANT DataSource, [in, optional] VARIANT ActiveConnection ); [ helpcontext(ammthClose) ] HRESULT Close(); [ propputref, helpcontext(amproSource) ] HRESULT Source([in] IDispatch *pcmd); [ propput, helpcontext(amproSource) ] HRESULT Source( [in] BSTR bstrCmd ); [ propget, helpcontext(amproSource) ] HRESULT Source( [out, retval] VARIANT *pvSource ); [ propputref, helpcontext(amproActiveConnection) ] HRESULT ActiveConnection( [in] IDispatch *pconn ); [ propput, helpcontext(amproActiveConnection) ] HRESULT ActiveConnection( [in] BSTR bstrConn ); [ propget, helpcontext(amproActiveConnection) ] HRESULT ActiveConnection( [out, retval] IDispatch **ppConn ); [ propget, helpcontext(amproState) ] HRESULT State([out, retval] LONG *plState); [ propget, helpcontext(amproAxes) ] HRESULT Axes( [out, retval] Axes **ppvObject ); [ propget, helpcontext(amproFilterAxis) ] HRESULT FilterAxis( [out, retval] Axis **ppvObject ); [ propget, helpcontext(mdcolProperties) ] HRESULT Properties( [out, retval] ADODB.Properties **ppvObject ); }; //--------------------------------------------------------------------------------------------- [ object, uuid(2281372E-8BD3-11D0-B4EF-00A0C9138CA4), dual, helpstring("Cell Interface"), helpcontext(ammthCell), pointer_default(unique) ] interface Cell : IDispatch { import "oaidl.idl"; [ propget, DEFAULT_METHOD, helpcontext(amproValue) ] HRESULT Value( [out, retval] VARIANT *pvar ); [ propput, helpcontext(amproValue) ] HRESULT Value( [in] VARIANT var ); [ propget, helpcontext(amcolPositions) ] HRESULT Positions( [out, retval] Positions **ppvObject ); [ propget, helpcontext(mdcolProperties) ] HRESULT Properties( [out, retval] ADODB.Properties **ppvObject ); [ propget, helpcontext(amproFormattedValue) ] HRESULT FormattedValue( [out, retval] BSTR *pbstr ); [ propput, helpcontext(amproFormattedValue) ] HRESULT FormattedValue( [in] BSTR bstr ); [ propget, helpcontext(amproOrdinalCell) ] HRESULT Ordinal( [out, retval] long *pl ); }; //--------------------------------------------------------------------------------------------- [ object, uuid(22813732-8BD3-11D0-B4EF-00A0C9138CA4), dual, helpstring("Axis Interface"), helpcontext(ammthAxis), pointer_default(unique) ] interface Axis : IDispatch { import "oaidl.idl"; [ propget, helpcontext(amproName) ] HRESULT Name( [out, retval] BSTR *pbstr ); [ propget, helpcontext(amproDimensionCount) ] HRESULT DimensionCount( [out, retval] long *pl ); [ propget,, helpcontext(amcolPositions), DEFAULT_METHOD ] HRESULT Positions( [out, retval] Positions **ppvObject ); [ propget, helpcontext(mdcolProperties) ] HRESULT Properties( [out, retval] ADODB.Properties **ppvObject ); }; //--------------------------------------------------------------------------------------------- [ object, uuid(22813734-8BD3-11D0-B4EF-00A0C9138CA4), dual, helpstring("Position Interface"), helpcontext(ammthPosition), pointer_default(unique) ] interface Position : IDispatch { import "oaidl.idl"; [ propget, helpcontext(amproOrdinalPosition) ] HRESULT Ordinal( [out, retval] long *pl ); [ propget, DEFAULT_METHOD, helpcontext(amproMembers) ] HRESULT Members( [out, retval] Members **ppvObject ); }; //--------------------------------------------------------------------------------------------- [ object, uuid(22813736-8BD3-11D0-B4EF-00A0C9138CA4), dual, helpstring("Member Interface"), helpcontext(ammthMember), pointer_default(unique) ] interface Member : IDispatch { import "oaidl.idl"; [ propget, helpcontext(amproName) ] HRESULT Name( [out, retval] BSTR *pbstr ); [ propget, helpcontext(amproUniqueName) ] HRESULT UniqueName( [out, retval] BSTR *pbstr ); [ propget, DEFAULT_METHOD, helpcontext(amproCaption) ] HRESULT Caption( [out, retval] BSTR *pbstr ); [ propget, helpcontext(amproDescription) ] HRESULT Description( [out, retval] BSTR *pbstr ); [ propget, helpcontext(amproParent) ] HRESULT Parent( [out, retval] Member **ppvObject ); [ propget, helpcontext(amproLevelDepth) ] HRESULT LevelDepth( [out, retval] long *pl ); [ propget, helpcontext(amproLevelName) ] HRESULT LevelName( [out, retval] BSTR *pbstr ); [ propget, helpcontext(mdcolProperties) ] HRESULT Properties( [out, retval] ADODB.Properties **ppvObject ); [ propget, helpcontext(amproType) ] HRESULT Type( [out, retval] MemberTypeEnum *ptype ); [ propget, helpcontext(amproChildCount) ] HRESULT ChildCount( [out, retval] long *pl ); [ propget, helpcontext(amproDrilledDown) ] HRESULT DrilledDown( [out, retval] VARIANT_BOOL *pf ); [ propget, helpcontext(amproParentSameAsPrev) ] HRESULT ParentSameAsPrev( [out, retval] VARIANT_BOOL *pf ); [ propget, helpcontext(amproChildren) ] HRESULT Children( [out, retval] Members **ppvObject ); }; //--------------------------------------------------------------------------------------------- [ object, uuid(2281373A-8BD3-11D0-B4EF-00A0C9138CA4), dual, helpstring("Level Interface"), helpcontext(ammthLevel), pointer_default(unique) ] interface Level : IDispatch { import "oaidl.idl"; [ propget, helpcontext(amproName) ] HRESULT Name( [out, retval] BSTR *pbstr ); [ propget, helpcontext(amproUniqueName) ] HRESULT UniqueName( [out, retval] BSTR *pbstr ); [ propget, helpcontext(amproCaption) ] HRESULT Caption( [out, retval] BSTR *pbstr ); [ propget, helpcontext(amproDescription) ] HRESULT Description( [out, retval] BSTR *pbstr ); [ propget, helpcontext(amproDepth) ] HRESULT Depth([out, retval] short *pw); [ propget, helpcontext(mdcolProperties) ] HRESULT Properties( [out, retval] ADODB.Properties **ppvObject ); [ propget, DEFAULT_METHOD, helpcontext(amproMembers) ] HRESULT Members( [out, retval] Members **ppvObject ); }; //--------------------------------------------------------------------------------------------- [ object, uuid(2281373E-8BD3-11D0-B4EF-00A0C9138CA4), dual, helpstring("CubeDef25 Interface"), helpcontext(ammthCubeDef25), pointer_default(unique) ] interface CubeDef25 : IDispatch { import "oaidl.idl"; [ propget, helpcontext(amproName) ] HRESULT Name( [out, retval] BSTR *pbstr ); [ propget, helpcontext(amproDescription) ] HRESULT Description( [out, retval] BSTR *pbstr ); [ propget, helpcontext(mdcolProperties) ] HRESULT Properties( [out, retval] ADODB.Properties **ppvObject ); [ propget, DEFAULT_METHOD, helpcontext(amproDimensions) ] HRESULT Dimensions( [out, retval] Dimensions **ppvObject ); }; [ object, uuid(DA16A34A-7B7A-46fd-AD9D-66DF1E699FA1), dual, helpstring("CubeDef Interface"), helpcontext(ammthCubeDef), pointer_default(unique) ] interface CubeDef : CubeDef25 { [ helpcontext(ammthGetSchemaObject) ] HRESULT GetSchemaObject([in]SchemaObjectTypeEnum eObjType,[in]BSTR bsUniqueName,[out,retval]IDispatch **ppObj); }; //--------------------------------------------------------------------------------------------- [ object, uuid(22813742-8BD3-11D0-B4EF-00A0C9138CA4), dual, helpstring("Dimension Interface"), helpcontext(ammthDimension), pointer_default(unique) ] interface Dimension : IDispatch { import "oaidl.idl"; [ propget, helpcontext(amproName) ] HRESULT Name( [out, retval] BSTR *pbstr ); [ propget, helpcontext(amproUniqueName) ] HRESULT UniqueName( [out, retval] BSTR *pbstr ); [ propget, helpcontext(amproDescription) ] HRESULT Description( [out, retval] BSTR *pbstr ); [ propget, helpcontext(mdcolProperties) ] HRESULT Properties( [out, retval] ADODB.Properties **ppvObject ); [ propget, DEFAULT_METHOD, helpcontext(amproHierarchies) ] HRESULT Hierarchies( [out, retval] Hierarchies **ppvObject ); }; //--------------------------------------------------------------------------------------------- [ object, uuid(22813746-8BD3-11D0-B4EF-00A0C9138CA4), dual, helpstring("Hierarchy Interface"), helpcontext(ammthHierarchy), pointer_default(unique) ] interface Hierarchy : IDispatch { import "oaidl.idl"; [ propget, helpcontext(amproName) ] HRESULT Name( [out, retval] BSTR *pbstr ); [ propget, helpcontext(amproUniqueName) ] HRESULT UniqueName( [out, retval] BSTR *pbstr ); [ propget, helpcontext(amproDescription) ] HRESULT Description( [out, retval] BSTR *pbstr ); [ propget, helpcontext(mdcolProperties) ] HRESULT Properties( [out, retval] ADODB.Properties **ppvObject ); [ propget, DEFAULT_METHOD, helpcontext(amcolLevels) ] HRESULT Levels( [out, retval] Levels **ppvObject ); }; //--------------------------------------------------------------------------------------------- [ object, uuid(22813751-8BD3-11D0-B4EF-00A0C9138CA4), dual, helpstring("Collection Interface"), pointer_default(unique) ] interface MD_Collection : IDispatch { [ helpcontext(ammthRefresh) ] HRESULT Refresh(); [ restricted, id(-4) ] HRESULT _NewEnum( [out, retval] IUnknown **ppvObject ); [ propget, helpcontext(amproCount) ] HRESULT Count( [out, retval]long *c ); } //--------------------------------------------------------------------------------------------- [ object, uuid(22813757-8BD3-11D0-B4EF-00A0C9138CA4), dual, helpstring("Members collection"), helpcontext(amcolMembers), pointer_default(unique) ] interface Members : MD_Collection { import "oaidl.idl"; //.. [ propget, DEFAULT_METHOD, helpcontext(ammthItemCol) ] HRESULT Item( [in] VARIANT Index, [out, retval] Member **ppvObject ); } //--------------------------------------------------------------------------------------------- [ object, uuid(22813758-8BD3-11D0-B4EF-00A0C9138CA4), dual, helpstring("Levels collection"), helpcontext(ammthLevels), pointer_default(unique) ] interface Levels : MD_Collection { import "oaidl.idl"; //.. [ propget, DEFAULT_METHOD, helpcontext(ammthItemCol) ] HRESULT Item( [in] VARIANT Index, [out, retval] Level **ppvObject ); } //--------------------------------------------------------------------------------------------- [ object, uuid(22813759-8BD3-11D0-B4EF-00A0C9138CA4), dual, helpstring("Axes collection"), helpcontext(amcolAxes), pointer_default(unique) ] interface Axes : MD_Collection { import "oaidl.idl"; //.. [ propget, DEFAULT_METHOD, helpcontext(ammthItemCol) ] HRESULT Item( [in] VARIANT Index, [out, retval] Axis **ppvObject ); } //--------------------------------------------------------------------------------------------- [ object, uuid(2281375A-8BD3-11D0-B4EF-00A0C9138CA4), dual, helpstring("Positions collection"), helpcontext(ammthPositions), pointer_default(unique) ] interface Positions : MD_Collection { import "oaidl.idl"; //.. [ propget, DEFAULT_METHOD, helpcontext(ammthItemCol) ] HRESULT Item( [in] VARIANT Index, [out, retval] Position **ppvObject ); } //--------------------------------------------------------------------------------------------- [ object, uuid(2281375B-8BD3-11D0-B4EF-00A0C9138CA4), dual, helpstring("Hierarchies collection"), helpcontext(amcolHierarchies), pointer_default(unique) ] interface Hierarchies : MD_Collection { import "oaidl.idl"; //.. [ propget, DEFAULT_METHOD, helpcontext(ammthItemCol) ] HRESULT Item( [in] VARIANT Index, [out, retval] Hierarchy **ppvObject ); } //--------------------------------------------------------------------------------------------- [ object, uuid(2281375C-8BD3-11D0-B4EF-00A0C9138CA4), dual, helpstring("Dimensions collection"), helpcontext(amcolDimensions), pointer_default(unique) ] interface Dimensions : MD_Collection { import "oaidl.idl"; //.. [ propget, DEFAULT_METHOD, helpcontext(ammthItemCol) ] HRESULT Item( [in] VARIANT Index, [out, retval] Dimension **ppvObject ); } //--------------------------------------------------------------------------------------------- [ object, uuid(2281375D-8BD3-11D0-B4EF-00A0C9138CA4), dual, helpstring("CubeDefs collection"), helpcontext(amcolCubeDefs), pointer_default(unique) ] interface CubeDefs : MD_Collection { import "oaidl.idl"; //.. [ propget, DEFAULT_METHOD, helpcontext(ammthItemCol) ] HRESULT Item( [in] VARIANT Index, [out, retval] CubeDef **ppvObject ); } /******************************* Coclasses **********************************************/ [ uuid(228136B0-8BD3-11D0-B4EF-00A0C9138CA4), helpstring("ADOMD Catalog Class"), helpcontext(ammthCatalog) ] coclass Catalog { [default] interface ICatalog; }; //--------------------------------------------------------------------------------------------- [ uuid(228136B8-8BD3-11D0-B4EF-00A0C9138CA4), helpstring("ADOMD Cellset Class"), helpcontext(ammthCellset) ] coclass Cellset { [default] interface ICellset; }; };