ConnectionPoint.idl
上传用户:luoyougen
上传日期:2008-05-12
资源大小:23136k
文件大小:3k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* ConnectionPoint.idl - definition of connection-point interfaces */
  2. /* Copyright (c) 2000, Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01b,13jul01,dbs  fix imports for vxcom
  7. 01a,10feb00,dbs  created from vxidl.idl
  8. */
  9. import "comCoreTypes.idl";
  10. interface IConnectionPointContainer;
  11. interface IConnectionPoint;
  12. interface IEnumConnections;
  13. interface IEnumConnectionPoints;
  14. [
  15.     object,
  16.     uuid(B196B286-BAB4-101A-B69C-00AA00341D07),
  17.     pointer_default(unique)
  18. ]
  19. interface IConnectionPoint : IUnknown
  20.     {
  21.     typedef IConnectionPoint * PCONNECTIONPOINT;
  22.     typedef IConnectionPoint * LPCONNECTIONPOINT;
  23.     HRESULT GetConnectionInterface
  24. (
  25.         [out]           IID * piid
  26. );
  27.     HRESULT GetConnectionPointContainer
  28. (
  29.         [out]           IConnectionPointContainer ** ppCPC
  30. );
  31.     HRESULT Advise
  32. (
  33.         [in]    IUnknown * pUnkSink,
  34.         [out]   DWORD *    pdwCookie
  35. );
  36.     HRESULT Unadvise
  37. (
  38.         [in]    DWORD dwCookie
  39. );
  40.     HRESULT EnumConnections
  41. (
  42.         [out]   IEnumConnections ** ppEnum
  43. );
  44.     }
  45. [
  46.     object,
  47.     uuid(B196B284-BAB4-101A-B69C-00AA00341D07),
  48.     pointer_default(unique)
  49. ]
  50. interface IConnectionPointContainer : IUnknown
  51.     {
  52.     typedef IConnectionPointContainer * PCONNECTIONPOINTCONTAINER;
  53.     typedef IConnectionPointContainer * LPCONNECTIONPOINTCONTAINER;
  54.     HRESULT EnumConnectionPoints
  55. (
  56.         [out]   IEnumConnectionPoints ** ppEnum
  57. );
  58.     HRESULT FindConnectionPoint
  59. (
  60.         [in]    REFIID riid,
  61.         [out]   IConnectionPoint ** ppCP
  62. );
  63.     }
  64. [
  65.     object,
  66.     uuid(B196B287-BAB4-101A-B69C-00AA00341D07),
  67.     pointer_default(unique)
  68. ]
  69. interface IEnumConnections : IUnknown
  70.     {
  71.     typedef IEnumConnections * PENUMCONNECTIONS;
  72.     typedef IEnumConnections * LPENUMCONNECTIONS;
  73.     typedef struct tagCONNECTDATA
  74. {
  75.         IUnknown *  pUnk;
  76.         DWORD       dwCookie;
  77. } CONNECTDATA;
  78.     typedef struct tagCONNECTDATA * PCONNECTDATA;
  79.     typedef struct tagCONNECTDATA * LPCONNECTDATA;
  80.     HRESULT Next
  81. (
  82. [in]                       ULONG           cConnections,
  83. [out,
  84. size_is(cConnections),
  85. length_is(*lpcFetched)]    CONNECTDATA *   rgcd,
  86. [out]                      ULONG *         lpcFetched
  87. );
  88.     HRESULT Skip
  89. (
  90. [in]    ULONG cConnections
  91. );
  92.     HRESULT Reset
  93. (
  94. void
  95. );
  96.     HRESULT Clone
  97. (
  98. [out]   IEnumConnections ** ppEnum
  99. );
  100.     }
  101. [
  102.     object,
  103.     uuid(B196B285-BAB4-101A-B69C-00AA00341D07),
  104.     pointer_default(unique)
  105. ]
  106. interface IEnumConnectionPoints : IUnknown
  107.     {
  108.     typedef IEnumConnectionPoints * PENUMCONNECTIONPOINTS;
  109.     typedef IEnumConnectionPoints * LPENUMCONNECTIONPOINTS;
  110.     HRESULT Next
  111. (
  112.         [in]                        ULONG               cConnections,
  113.         [out,
  114.          size_is(cConnections),
  115.          length_is(*lpcFetched)]    IConnectionPoint ** rgpcn,
  116.         [out]                       ULONG *             lpcFetched
  117. );
  118.     HRESULT Skip
  119. (
  120.         [in]    ULONG   cConnections
  121. );
  122.     HRESULT Reset
  123. (
  124.         void
  125. );
  126.     HRESULT Clone
  127. (
  128.         [out]   IEnumConnectionPoints **    ppEnum
  129. );
  130.     }