home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / include / adomd.idl < prev    next >
Text File  |  1998-05-31  |  14KB  |  754 lines

  1. /****************** adomd.idl : IDL source for adomd.dll *****************/
  2.  
  3. #include "m_guid.h"        // Machine generated
  4. #include "m_help.inc"    // Machine generated
  5. #include "dispids.h"
  6.  
  7. // Forwards
  8. interface       ICatalog;
  9. coclass         Catalog;
  10.  
  11. interface       ICellset;
  12. coclass            Cellset;
  13.  
  14. interface       Cell;
  15. interface       Axis;
  16. interface       Position;
  17. interface       Member;
  18. interface       Level;
  19. interface       CubeDef;
  20. interface       Dimension;
  21. interface       Hierarchy;
  22. interface       Axes;
  23. interface       Positions;
  24. interface       Members;
  25. interface       CubeDefs;
  26. interface       Dimensions;
  27. interface       Hierarchies;
  28. interface       Levels;
  29.  
  30. #define UUIID_EnumMemberType uuid(000002AE-0000-0010-8000-00AA006D2EA4)
  31. #define DISPID_COLLECT  ( -8 )
  32. #define DEFAULT_METHOD id(0)
  33. #define CONNECTION_BASEDISPID   1
  34. cpp_quote("#define TARGET_IS_NT40_OR_LATER   1")
  35.  
  36.  
  37. [
  38.     uuid(22813728-8BD3-11D0-B4EF-00A0C9138CA4),
  39.     version(1.0),
  40.     helpstring("Microsoft ActiveX Data Objects (Multi-dimensional) 1.0 Library")
  41. ]
  42. library ADOMD
  43. {
  44.     importlib("stdole32.tlb");
  45.     importlib("msado15.dll");
  46.  
  47.     /************************************ Enums **********************************************/
  48.  
  49.     typedef [
  50.         UUIID_EnumMemberType
  51.         ]
  52.     enum MemberTypeEnum {
  53.         []        adMemberUnknown    = 0x0000,
  54.         []        adMemberRegular    = 0x0001,
  55.         []        adMemberAll        = 0x0002,
  56.         []        adMemberMeasure    = 0x0003,
  57.         []        adMemberFormula    = 0x0004
  58.     } MemberTypeEnum;
  59.  
  60.  
  61.     /******************************* Interfaces **********************************************/
  62.  
  63.     [
  64.         object,
  65.         uuid(228136B1-8BD3-11D0-B4EF-00A0C9138CA4),
  66.         dual,
  67.         helpstring("ICatalog Interface"),
  68.         pointer_default(unique)
  69.     ]
  70.     interface ICatalog : IDispatch
  71.     {
  72.         import "oaidl.idl";
  73.  
  74.          [
  75.             propget
  76.         ]
  77.         HRESULT Name( [out, retval] BSTR *pbstr );
  78.  
  79.         [
  80.             propputref
  81.         ]
  82.         HRESULT ActiveConnection(    [in] IDispatch *pconn    );
  83.   
  84.         [
  85.             propput
  86.         ]
  87.         HRESULT ActiveConnection(    [in] BSTR bstrConn    );
  88.  
  89.         [
  90.             propget
  91.         ]
  92.         HRESULT ActiveConnection(    [out, retval] IDispatch **ppConn    );
  93.  
  94.          [
  95.             propget,
  96.             DEFAULT_METHOD
  97.         ]
  98.         HRESULT CubeDefs( [out, retval] CubeDefs **ppvObject );
  99.     };
  100.  
  101. //---------------------------------------------------------------------------------------------
  102.  
  103.     [
  104.         object,
  105.         uuid(2281372A-8BD3-11D0-B4EF-00A0C9138CA4),
  106.         dual,
  107.         helpstring("ICellset Interface"),
  108.         pointer_default(unique)
  109.     ]
  110.     interface ICellset : IDispatch
  111.     {
  112.         import "oaidl.idl";
  113.  
  114.         [
  115.             propget, 
  116.             vararg,
  117.             DEFAULT_METHOD
  118.         ]
  119.         HRESULT Item(    [in] SAFEARRAY(VARIANT)* idx, 
  120.                         [out, retval] Cell **ppvObject    );
  121.  
  122.         [
  123.         ]
  124.         HRESULT Open(    [in, optional] VARIANT DataSource,
  125.                         [in, optional] VARIANT ActiveConnection    );
  126.         [
  127.         ]
  128.         HRESULT Close();
  129.  
  130.          [
  131.             propputref
  132.         ]
  133.         HRESULT Source([in] IDispatch *pcmd);
  134.  
  135.          [
  136.             propput
  137.         ]
  138.         HRESULT Source(    [in] BSTR bstrCmd    );
  139.  
  140.         [
  141.             propget
  142.         ]
  143.         HRESULT Source(    [out, retval] VARIANT *pvSource    );
  144.  
  145.  
  146.         [
  147.             propputref
  148.         ]
  149.         HRESULT ActiveConnection(    [in] IDispatch *pconn    );
  150.   
  151.         [
  152.             propput
  153.         ]
  154.         HRESULT ActiveConnection(    [in] BSTR bstrConn    );
  155.  
  156.         [
  157.             propget
  158.         ]
  159.         HRESULT ActiveConnection(    [out, retval] IDispatch **ppConn    );
  160.  
  161.         [
  162.             propget
  163.         ]
  164.         HRESULT State([out, retval] LONG *plState); 
  165.  
  166.          [
  167.             propget
  168.         ]
  169.         HRESULT Axes( [out, retval] Axes **ppvObject );
  170.  
  171.          [
  172.             propget
  173.         ]
  174.         HRESULT FilterAxis( [out, retval] Axis **ppvObject );
  175.  
  176.          [
  177.             propget
  178.         ]
  179.         HRESULT Properties( [out, retval] ADODB.Properties **ppvObject );
  180.  
  181.     };
  182.  
  183. //---------------------------------------------------------------------------------------------
  184.  
  185.     [
  186.         object,
  187.         uuid(2281372E-8BD3-11D0-B4EF-00A0C9138CA4),
  188.         dual,
  189.         helpstring("Cell Interface"),
  190.         pointer_default(unique)
  191.     ]
  192.     interface Cell : IDispatch
  193.     {
  194.         import "oaidl.idl";
  195.  
  196.  
  197.         [
  198.             propget, 
  199.             DEFAULT_METHOD
  200.         ]
  201.         HRESULT Value( [out, retval] VARIANT *pvar );
  202.  
  203.          [
  204.             propput
  205.         ]
  206.         HRESULT Value(    [in] VARIANT var    );
  207.  
  208.          [
  209.             propget
  210.         ]
  211.         HRESULT Positions( [out, retval] Positions **ppvObject );
  212.  
  213.          [
  214.             propget
  215.         ]
  216.         HRESULT Properties( [out, retval] ADODB.Properties **ppvObject );
  217.  
  218.          [
  219.             propget
  220.         ]
  221.         HRESULT FormattedValue( [out, retval] BSTR *pbstr );
  222.  
  223.          [
  224.             propput
  225.         ]
  226.         HRESULT FormattedValue(    [in] BSTR bstr    );
  227.  
  228.         [
  229.             propget
  230.         ]
  231.         HRESULT Ordinal(    [out, retval] long *pl    );
  232.  
  233.     };
  234.  
  235. //---------------------------------------------------------------------------------------------
  236.  
  237.     [
  238.         object,
  239.         uuid(22813732-8BD3-11D0-B4EF-00A0C9138CA4),
  240.         dual,
  241.         helpstring("Axis Interface"),
  242.         pointer_default(unique)
  243.     ]
  244.     interface Axis : IDispatch
  245.     {
  246.         import "oaidl.idl";
  247.  
  248.          [
  249.             propget
  250.         ]
  251.         HRESULT Name( [out, retval] BSTR *pbstr );
  252.  
  253.         [
  254.             propget
  255.         ]
  256.         HRESULT DimensionCount(    [out, retval] long *pl    );
  257.  
  258.          [
  259.             propget,
  260.             DEFAULT_METHOD
  261.         ]
  262.         HRESULT Positions( [out, retval] Positions **ppvObject );
  263.          [
  264.             propget
  265.         ]
  266.         HRESULT Properties( [out, retval] ADODB.Properties **ppvObject );
  267.  
  268.     };
  269.  
  270. //---------------------------------------------------------------------------------------------
  271.  
  272.     [
  273.         object,
  274.         uuid(22813734-8BD3-11D0-B4EF-00A0C9138CA4),
  275.         dual,
  276.         helpstring("Position Interface"),
  277.         pointer_default(unique)
  278.     ]
  279.     interface Position : IDispatch
  280.     {
  281.         import "oaidl.idl";
  282.  
  283.          [
  284.             propget
  285.         ]
  286.         HRESULT Ordinal(    [out, retval] long *pl    );
  287.  
  288.         [
  289.             propget, 
  290.             DEFAULT_METHOD
  291.         ]
  292.         HRESULT Members( [out, retval] Members **ppvObject );
  293.     };
  294.  
  295.  
  296. //---------------------------------------------------------------------------------------------
  297.  
  298.     [
  299.         object,
  300.         uuid(22813736-8BD3-11D0-B4EF-00A0C9138CA4),
  301.         dual,
  302.         helpstring("Member Interface"),
  303.         pointer_default(unique)
  304.     ]
  305.     interface Member : IDispatch
  306.     {
  307.         import "oaidl.idl";
  308.  
  309.          [
  310.             propget
  311.         ]
  312.         HRESULT Name( [out, retval] BSTR *pbstr );
  313.  
  314.          [
  315.             propget
  316.         ]
  317.         HRESULT UniqueName( [out, retval] BSTR *pbstr );
  318.  
  319.          [
  320.             propget, 
  321.             DEFAULT_METHOD
  322.         ]
  323.         HRESULT Caption( [out, retval] BSTR *pbstr );
  324.  
  325.          [
  326.             propget
  327.         ]
  328.         HRESULT Description( [out, retval] BSTR *pbstr );
  329.  
  330.         [
  331.             propget 
  332.         ]
  333.         HRESULT Parent(    [out, retval] Member **ppvObject    );
  334.  
  335.         [
  336.             propget
  337.         ]
  338.         HRESULT LevelDepth(    [out, retval] long *pl    );
  339.  
  340.          [
  341.             propget
  342.         ]
  343.         HRESULT LevelName( [out, retval] BSTR *pbstr );
  344.  
  345.          [
  346.             propget
  347.         ]
  348.         HRESULT Properties( [out, retval] ADODB.Properties **ppvObject );
  349.  
  350.         [
  351.             propget
  352.         ]
  353.         HRESULT Type( [out, retval] MemberTypeEnum  *ptype );
  354.  
  355.         [
  356.             propget
  357.         ]
  358.         HRESULT ChildCount(    [out, retval] long *pl    );
  359.  
  360.         [
  361.             propget
  362.         ]
  363.         HRESULT DrilledDown( [out, retval] VARIANT_BOOL *pf    );
  364.  
  365.         [
  366.             propget
  367.         ]
  368.         HRESULT ParentSameAsPrev( [out, retval] VARIANT_BOOL *pf    );
  369.  
  370.          [
  371.             propget
  372.         ]
  373.         HRESULT Children( [out, retval] Members **ppvObject );
  374.     };
  375.  
  376. //---------------------------------------------------------------------------------------------
  377.  
  378.     [
  379.         object,
  380.         uuid(2281373A-8BD3-11D0-B4EF-00A0C9138CA4),
  381.         dual,
  382.         helpstring("Level Interface"),
  383.         pointer_default(unique)
  384.     ]
  385.     interface Level : IDispatch
  386.     {
  387.         import "oaidl.idl";
  388.  
  389.         [
  390.             propget
  391.         ]
  392.         HRESULT Name( [out, retval] BSTR *pbstr );
  393.  
  394.          [
  395.             propget
  396.         ]
  397.         HRESULT UniqueName( [out, retval] BSTR *pbstr );
  398.  
  399.          [
  400.             propget
  401.         ]
  402.         HRESULT Caption( [out, retval] BSTR *pbstr );
  403.  
  404.         [
  405.             propget
  406.         ]
  407.         HRESULT Description( [out, retval] BSTR *pbstr );
  408.  
  409.         [
  410.             propget
  411.         ]
  412.         HRESULT Depth([out, retval] short *pw); 
  413.  
  414.         [
  415.             propget
  416.         ]
  417.         HRESULT Properties( [out, retval] ADODB.Properties **ppvObject );
  418.  
  419.          [
  420.             propget,
  421.             DEFAULT_METHOD
  422.         ]
  423.         HRESULT Members( [out, retval] Members **ppvObject );
  424.     };
  425.  
  426. //---------------------------------------------------------------------------------------------
  427.  
  428.     [
  429.         object,
  430.         uuid(2281373E-8BD3-11D0-B4EF-00A0C9138CA4),
  431.         dual,
  432.         helpstring("CubeDef Interface"),
  433.         pointer_default(unique)
  434.     ]
  435.     interface CubeDef : IDispatch
  436.     {
  437.         import "oaidl.idl";
  438.     
  439.         [
  440.             propget
  441.         ]
  442.         HRESULT Name( [out, retval] BSTR *pbstr );
  443.  
  444.         [
  445.             propget
  446.         ]
  447.         HRESULT Description( [out, retval] BSTR *pbstr );
  448.  
  449.          [
  450.             propget
  451.         ]
  452.         HRESULT Properties( [out, retval] ADODB.Properties **ppvObject );
  453.  
  454.          [
  455.             propget,
  456.             DEFAULT_METHOD
  457.         ]
  458.         HRESULT Dimensions( [out, retval] Dimensions **ppvObject );
  459.         
  460.     };
  461.  
  462. //---------------------------------------------------------------------------------------------
  463.  
  464.     [
  465.         object,
  466.         uuid(22813742-8BD3-11D0-B4EF-00A0C9138CA4),
  467.         dual,
  468.         helpstring("Dimension Interface"),
  469.         pointer_default(unique)
  470.     ]
  471.     interface Dimension : IDispatch
  472.     {
  473.         import "oaidl.idl";
  474.  
  475.         [
  476.             propget
  477.         ]
  478.         HRESULT Name( [out, retval] BSTR *pbstr );
  479.  
  480.          [
  481.             propget
  482.         ]
  483.         HRESULT UniqueName( [out, retval] BSTR *pbstr );
  484.  
  485.         [
  486.             propget
  487.         ]
  488.         HRESULT Description( [out, retval] BSTR *pbstr );
  489.  
  490.          [
  491.             propget
  492.         ]
  493.         HRESULT Properties( [out, retval] ADODB.Properties **ppvObject );
  494.  
  495.          [
  496.             propget,
  497.             DEFAULT_METHOD
  498.         ]
  499.         HRESULT Hierarchies( [out, retval] Hierarchies **ppvObject );
  500.     };
  501.  
  502. //---------------------------------------------------------------------------------------------
  503.  
  504.     [
  505.         object,
  506.         uuid(22813746-8BD3-11D0-B4EF-00A0C9138CA4),
  507.         dual,
  508.         helpstring("Hierarchy Interface"),
  509.         pointer_default(unique)
  510.     ]
  511.     interface Hierarchy : IDispatch
  512.     {
  513.         import "oaidl.idl";
  514.  
  515.         [
  516.             propget
  517.         ]
  518.         HRESULT Name( [out, retval] BSTR *pbstr );
  519.  
  520.          [
  521.             propget
  522.         ]
  523.         HRESULT UniqueName( [out, retval] BSTR *pbstr );
  524.  
  525.  
  526.         [
  527.             propget
  528.         ]
  529.         HRESULT Description( [out, retval] BSTR *pbstr );
  530.  
  531.          [
  532.             propget
  533.         ]
  534.         HRESULT Properties( [out, retval] ADODB.Properties **ppvObject );
  535.         
  536.  
  537.          [
  538.             propget,
  539.             DEFAULT_METHOD
  540.         ]
  541.         HRESULT Levels( [out, retval] Levels **ppvObject );
  542.     };
  543.  
  544. //---------------------------------------------------------------------------------------------
  545.  
  546.     [
  547.         object,
  548.         uuid(22813751-8BD3-11D0-B4EF-00A0C9138CA4),
  549.         dual,
  550.         helpstring("Collection Interface"),
  551.         pointer_default(unique)
  552.     ]
  553.     interface MD_Collection : IDispatch
  554.     {
  555.         [
  556.             helpcontext(H_COLLECTION_Refresh),
  557.             helpstring(H_COLLECTION_Refresh_str)
  558.         ]
  559.         HRESULT Refresh();
  560.  
  561.         [
  562.             restricted, 
  563.             id(-4)
  564.         ]
  565.         HRESULT _NewEnum( [out, retval] IUnknown **ppvObject );
  566.  
  567.         [
  568.             propget,
  569.         ]
  570.         HRESULT Count( [out, retval]long *c );
  571.     }
  572.  
  573.  
  574. //---------------------------------------------------------------------------------------------
  575.  
  576.     [
  577.         object,
  578.         uuid(22813757-8BD3-11D0-B4EF-00A0C9138CA4),
  579.         dual, 
  580.         helpstring(H_PROPERTIES__str),
  581.         pointer_default(unique)
  582.     ]
  583.     interface Members : MD_Collection
  584.     {
  585.         import "oaidl.idl";       //..
  586.         [
  587.             propget, 
  588.             DEFAULT_METHOD
  589.         ]
  590.         HRESULT Item(
  591.             [in] VARIANT Index, 
  592.             [out, retval] Member **ppvObject
  593.             );
  594.     }
  595.  
  596. //---------------------------------------------------------------------------------------------
  597.  
  598.     [
  599.         object,
  600.         uuid(22813758-8BD3-11D0-B4EF-00A0C9138CA4),
  601.         dual, 
  602.         helpstring(H_PROPERTIES__str),
  603.         pointer_default(unique)
  604.     ]
  605.     interface Levels : MD_Collection
  606.     {
  607.         import "oaidl.idl";       //..
  608.         [
  609.             propget, 
  610.             DEFAULT_METHOD
  611.         ]
  612.         HRESULT Item(
  613.             [in] VARIANT Index, 
  614.             [out, retval] Level **ppvObject
  615.             );
  616.     }
  617.  
  618. //---------------------------------------------------------------------------------------------
  619.  
  620.     [
  621.         object,
  622.         uuid(22813759-8BD3-11D0-B4EF-00A0C9138CA4),
  623.         dual, 
  624.         helpstring(H_PROPERTIES__str),
  625.         pointer_default(unique)
  626.     ]
  627.     interface Axes : MD_Collection
  628.     {
  629.         import "oaidl.idl";       //..
  630.         [
  631.             propget, 
  632.             DEFAULT_METHOD
  633.         ]
  634.         HRESULT Item(
  635.             [in] VARIANT Index, 
  636.             [out, retval] Axis **ppvObject
  637.             );
  638.     }
  639.  
  640.  
  641. //---------------------------------------------------------------------------------------------
  642.  
  643.     [
  644.         object,
  645.         uuid(2281375A-8BD3-11D0-B4EF-00A0C9138CA4),
  646.         dual, 
  647.         helpstring(H_PROPERTIES__str),
  648.         pointer_default(unique)
  649.     ]
  650.     interface Positions : MD_Collection
  651.     {
  652.         import "oaidl.idl";       //..
  653.  
  654.         [
  655.             propget, 
  656.             DEFAULT_METHOD
  657.         ]
  658.         HRESULT Item(
  659.             [in] VARIANT Index, 
  660.             [out, retval] Position **ppvObject
  661.             );
  662.     }
  663.  
  664. //---------------------------------------------------------------------------------------------
  665.  
  666.     [
  667.         object,
  668.         uuid(2281375B-8BD3-11D0-B4EF-00A0C9138CA4),
  669.         dual, 
  670.         helpstring(H_PROPERTIES__str),
  671.         pointer_default(unique)
  672.     ]
  673.     interface Hierarchies : MD_Collection
  674.     {
  675.         import "oaidl.idl";       //..
  676.         [
  677.             propget, 
  678.             DEFAULT_METHOD
  679.         ]
  680.         HRESULT Item(
  681.             [in] VARIANT Index, 
  682.             [out, retval] Hierarchy **ppvObject
  683.             );
  684.     }
  685.  
  686. //---------------------------------------------------------------------------------------------
  687.  
  688.     [
  689.         object,
  690.         uuid(2281375C-8BD3-11D0-B4EF-00A0C9138CA4),
  691.         dual, 
  692.         helpstring(H_PROPERTIES__str),
  693.         pointer_default(unique)
  694.     ]
  695.     interface Dimensions : MD_Collection
  696.     {
  697.         import "oaidl.idl";       //..
  698.         [
  699.             propget, 
  700.             DEFAULT_METHOD
  701.         ]
  702.         HRESULT Item(
  703.             [in] VARIANT Index, 
  704.             [out, retval] Dimension **ppvObject
  705.             );
  706.     }
  707.  
  708. //---------------------------------------------------------------------------------------------
  709.  
  710.     [
  711.         object,
  712.         uuid(2281375D-8BD3-11D0-B4EF-00A0C9138CA4),
  713.         dual, 
  714.         helpstring(H_PROPERTIES__str),
  715.         pointer_default(unique)
  716.     ]
  717.     interface CubeDefs : MD_Collection
  718.     {
  719.         import "oaidl.idl";       //..
  720.         [
  721.             propget, 
  722.             DEFAULT_METHOD
  723.         ]
  724.         HRESULT Item(
  725.             [in] VARIANT Index, 
  726.             [out, retval] CubeDef **ppvObject
  727.             );
  728.     }
  729.     
  730.  
  731.     /******************************* Coclasses **********************************************/
  732.  
  733.     [
  734.         uuid(228136B0-8BD3-11D0-B4EF-00A0C9138CA4),
  735.         helpstring("ADOMD Catalog Class")
  736.     ]
  737.     coclass Catalog
  738.     {
  739.         [default] interface ICatalog;
  740.     };
  741.  
  742. //---------------------------------------------------------------------------------------------
  743.  
  744.     [
  745.         uuid(228136B8-8BD3-11D0-B4EF-00A0C9138CA4),
  746.         helpstring("ADOMD Cellset Class")
  747.     ]
  748.     coclass Cellset
  749.     {
  750.         [default] interface ICellset;
  751.     };
  752. };
  753.  
  754.