rtccore.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:236k
源码类别:

模拟服务器

开发平台:

C/C++

  1.             /* [retval][out] */ long *plCookie) = 0;
  2.         
  3.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_StatusCode( 
  4.             /* [retval][out] */ long *plStatusCode) = 0;
  5.         
  6.     };
  7.     
  8. #else  /* C style interface */
  9.     typedef struct IRTCProfileEventVtbl
  10.     {
  11.         BEGIN_INTERFACE
  12.         
  13.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  14.             IRTCProfileEvent * This,
  15.             /* [in] */ REFIID riid,
  16.             /* [iid_is][out] */ void **ppvObject);
  17.         
  18.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  19.             IRTCProfileEvent * This);
  20.         
  21.         ULONG ( STDMETHODCALLTYPE *Release )( 
  22.             IRTCProfileEvent * This);
  23.         
  24.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  25.             IRTCProfileEvent * This,
  26.             /* [out] */ UINT *pctinfo);
  27.         
  28.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  29.             IRTCProfileEvent * This,
  30.             /* [in] */ UINT iTInfo,
  31.             /* [in] */ LCID lcid,
  32.             /* [out] */ ITypeInfo **ppTInfo);
  33.         
  34.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  35.             IRTCProfileEvent * This,
  36.             /* [in] */ REFIID riid,
  37.             /* [size_is][in] */ LPOLESTR *rgszNames,
  38.             /* [in] */ UINT cNames,
  39.             /* [in] */ LCID lcid,
  40.             /* [size_is][out] */ DISPID *rgDispId);
  41.         
  42.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  43.             IRTCProfileEvent * This,
  44.             /* [in] */ DISPID dispIdMember,
  45.             /* [in] */ REFIID riid,
  46.             /* [in] */ LCID lcid,
  47.             /* [in] */ WORD wFlags,
  48.             /* [out][in] */ DISPPARAMS *pDispParams,
  49.             /* [out] */ VARIANT *pVarResult,
  50.             /* [out] */ EXCEPINFO *pExcepInfo,
  51.             /* [out] */ UINT *puArgErr);
  52.         
  53.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Profile )( 
  54.             IRTCProfileEvent * This,
  55.             /* [retval][out] */ IRTCProfile **ppProfile);
  56.         
  57.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Cookie )( 
  58.             IRTCProfileEvent * This,
  59.             /* [retval][out] */ long *plCookie);
  60.         
  61.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StatusCode )( 
  62.             IRTCProfileEvent * This,
  63.             /* [retval][out] */ long *plStatusCode);
  64.         
  65.         END_INTERFACE
  66.     } IRTCProfileEventVtbl;
  67.     interface IRTCProfileEvent
  68.     {
  69.         CONST_VTBL struct IRTCProfileEventVtbl *lpVtbl;
  70.     };
  71.     
  72. #ifdef COBJMACROS
  73. #define IRTCProfileEvent_QueryInterface(This,riid,ppvObject)
  74.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  75. #define IRTCProfileEvent_AddRef(This)
  76.     (This)->lpVtbl -> AddRef(This)
  77. #define IRTCProfileEvent_Release(This)
  78.     (This)->lpVtbl -> Release(This)
  79. #define IRTCProfileEvent_GetTypeInfoCount(This,pctinfo)
  80.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  81. #define IRTCProfileEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  82.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  83. #define IRTCProfileEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  84.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  85. #define IRTCProfileEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  86.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  87. #define IRTCProfileEvent_get_Profile(This,ppProfile)
  88.     (This)->lpVtbl -> get_Profile(This,ppProfile)
  89. #define IRTCProfileEvent_get_Cookie(This,plCookie)
  90.     (This)->lpVtbl -> get_Cookie(This,plCookie)
  91. #define IRTCProfileEvent_get_StatusCode(This,plStatusCode)
  92.     (This)->lpVtbl -> get_StatusCode(This,plStatusCode)
  93. #endif /* COBJMACROS */
  94. #endif  /* C style interface */
  95. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRTCProfileEvent_get_Profile_Proxy( 
  96.     IRTCProfileEvent * This,
  97.     /* [retval][out] */ IRTCProfile **ppProfile);
  98. void __RPC_STUB IRTCProfileEvent_get_Profile_Stub(
  99.     IRpcStubBuffer *This,
  100.     IRpcChannelBuffer *_pRpcChannelBuffer,
  101.     PRPC_MESSAGE _pRpcMessage,
  102.     DWORD *_pdwStubPhase);
  103. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRTCProfileEvent_get_Cookie_Proxy( 
  104.     IRTCProfileEvent * This,
  105.     /* [retval][out] */ long *plCookie);
  106. void __RPC_STUB IRTCProfileEvent_get_Cookie_Stub(
  107.     IRpcStubBuffer *This,
  108.     IRpcChannelBuffer *_pRpcChannelBuffer,
  109.     PRPC_MESSAGE _pRpcMessage,
  110.     DWORD *_pdwStubPhase);
  111. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRTCProfileEvent_get_StatusCode_Proxy( 
  112.     IRTCProfileEvent * This,
  113.     /* [retval][out] */ long *plStatusCode);
  114. void __RPC_STUB IRTCProfileEvent_get_StatusCode_Stub(
  115.     IRpcStubBuffer *This,
  116.     IRpcChannelBuffer *_pRpcChannelBuffer,
  117.     PRPC_MESSAGE _pRpcMessage,
  118.     DWORD *_pdwStubPhase);
  119. #endif  /* __IRTCProfileEvent_INTERFACE_DEFINED__ */
  120. #ifndef __IRTCClientEvent_INTERFACE_DEFINED__
  121. #define __IRTCClientEvent_INTERFACE_DEFINED__
  122. /* interface IRTCClientEvent */
  123. /* [unique][helpstring][dual][uuid][object] */ 
  124. EXTERN_C const IID IID_IRTCClientEvent;
  125. #if defined(__cplusplus) && !defined(CINTERFACE)
  126.     
  127.     MIDL_INTERFACE("2b493b7a-3cba-4170-9c8b-76a9dacdd644")
  128.     IRTCClientEvent : public IDispatch
  129.     {
  130.     public:
  131.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_EventType( 
  132.             /* [retval][out] */ RTC_CLIENT_EVENT_TYPE *penEventType) = 0;
  133.         
  134.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Client( 
  135.             /* [retval][out] */ IRTCClient **ppClient) = 0;
  136.         
  137.     };
  138.     
  139. #else  /* C style interface */
  140.     typedef struct IRTCClientEventVtbl
  141.     {
  142.         BEGIN_INTERFACE
  143.         
  144.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  145.             IRTCClientEvent * This,
  146.             /* [in] */ REFIID riid,
  147.             /* [iid_is][out] */ void **ppvObject);
  148.         
  149.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  150.             IRTCClientEvent * This);
  151.         
  152.         ULONG ( STDMETHODCALLTYPE *Release )( 
  153.             IRTCClientEvent * This);
  154.         
  155.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  156.             IRTCClientEvent * This,
  157.             /* [out] */ UINT *pctinfo);
  158.         
  159.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  160.             IRTCClientEvent * This,
  161.             /* [in] */ UINT iTInfo,
  162.             /* [in] */ LCID lcid,
  163.             /* [out] */ ITypeInfo **ppTInfo);
  164.         
  165.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  166.             IRTCClientEvent * This,
  167.             /* [in] */ REFIID riid,
  168.             /* [size_is][in] */ LPOLESTR *rgszNames,
  169.             /* [in] */ UINT cNames,
  170.             /* [in] */ LCID lcid,
  171.             /* [size_is][out] */ DISPID *rgDispId);
  172.         
  173.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  174.             IRTCClientEvent * This,
  175.             /* [in] */ DISPID dispIdMember,
  176.             /* [in] */ REFIID riid,
  177.             /* [in] */ LCID lcid,
  178.             /* [in] */ WORD wFlags,
  179.             /* [out][in] */ DISPPARAMS *pDispParams,
  180.             /* [out] */ VARIANT *pVarResult,
  181.             /* [out] */ EXCEPINFO *pExcepInfo,
  182.             /* [out] */ UINT *puArgErr);
  183.         
  184.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EventType )( 
  185.             IRTCClientEvent * This,
  186.             /* [retval][out] */ RTC_CLIENT_EVENT_TYPE *penEventType);
  187.         
  188.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Client )( 
  189.             IRTCClientEvent * This,
  190.             /* [retval][out] */ IRTCClient **ppClient);
  191.         
  192.         END_INTERFACE
  193.     } IRTCClientEventVtbl;
  194.     interface IRTCClientEvent
  195.     {
  196.         CONST_VTBL struct IRTCClientEventVtbl *lpVtbl;
  197.     };
  198.     
  199. #ifdef COBJMACROS
  200. #define IRTCClientEvent_QueryInterface(This,riid,ppvObject)
  201.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  202. #define IRTCClientEvent_AddRef(This)
  203.     (This)->lpVtbl -> AddRef(This)
  204. #define IRTCClientEvent_Release(This)
  205.     (This)->lpVtbl -> Release(This)
  206. #define IRTCClientEvent_GetTypeInfoCount(This,pctinfo)
  207.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  208. #define IRTCClientEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  209.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  210. #define IRTCClientEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  211.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  212. #define IRTCClientEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  213.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  214. #define IRTCClientEvent_get_EventType(This,penEventType)
  215.     (This)->lpVtbl -> get_EventType(This,penEventType)
  216. #define IRTCClientEvent_get_Client(This,ppClient)
  217.     (This)->lpVtbl -> get_Client(This,ppClient)
  218. #endif /* COBJMACROS */
  219. #endif  /* C style interface */
  220. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRTCClientEvent_get_EventType_Proxy( 
  221.     IRTCClientEvent * This,
  222.     /* [retval][out] */ RTC_CLIENT_EVENT_TYPE *penEventType);
  223. void __RPC_STUB IRTCClientEvent_get_EventType_Stub(
  224.     IRpcStubBuffer *This,
  225.     IRpcChannelBuffer *_pRpcChannelBuffer,
  226.     PRPC_MESSAGE _pRpcMessage,
  227.     DWORD *_pdwStubPhase);
  228. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRTCClientEvent_get_Client_Proxy( 
  229.     IRTCClientEvent * This,
  230.     /* [retval][out] */ IRTCClient **ppClient);
  231. void __RPC_STUB IRTCClientEvent_get_Client_Stub(
  232.     IRpcStubBuffer *This,
  233.     IRpcChannelBuffer *_pRpcChannelBuffer,
  234.     PRPC_MESSAGE _pRpcMessage,
  235.     DWORD *_pdwStubPhase);
  236. #endif  /* __IRTCClientEvent_INTERFACE_DEFINED__ */
  237. #ifndef __IRTCRegistrationStateChangeEvent_INTERFACE_DEFINED__
  238. #define __IRTCRegistrationStateChangeEvent_INTERFACE_DEFINED__
  239. /* interface IRTCRegistrationStateChangeEvent */
  240. /* [unique][helpstring][dual][uuid][object] */ 
  241. EXTERN_C const IID IID_IRTCRegistrationStateChangeEvent;
  242. #if defined(__cplusplus) && !defined(CINTERFACE)
  243.     
  244.     MIDL_INTERFACE("62d0991b-50ab-4f02-b948-ca94f26f8f95")
  245.     IRTCRegistrationStateChangeEvent : public IDispatch
  246.     {
  247.     public:
  248.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Profile( 
  249.             /* [retval][out] */ IRTCProfile **ppProfile) = 0;
  250.         
  251.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_State( 
  252.             /* [retval][out] */ RTC_REGISTRATION_STATE *penState) = 0;
  253.         
  254.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_StatusCode( 
  255.             /* [retval][out] */ long *plStatusCode) = 0;
  256.         
  257.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_StatusText( 
  258.             /* [retval][out] */ BSTR *pbstrStatusText) = 0;
  259.         
  260.     };
  261.     
  262. #else  /* C style interface */
  263.     typedef struct IRTCRegistrationStateChangeEventVtbl
  264.     {
  265.         BEGIN_INTERFACE
  266.         
  267.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  268.             IRTCRegistrationStateChangeEvent * This,
  269.             /* [in] */ REFIID riid,
  270.             /* [iid_is][out] */ void **ppvObject);
  271.         
  272.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  273.             IRTCRegistrationStateChangeEvent * This);
  274.         
  275.         ULONG ( STDMETHODCALLTYPE *Release )( 
  276.             IRTCRegistrationStateChangeEvent * This);
  277.         
  278.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  279.             IRTCRegistrationStateChangeEvent * This,
  280.             /* [out] */ UINT *pctinfo);
  281.         
  282.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  283.             IRTCRegistrationStateChangeEvent * This,
  284.             /* [in] */ UINT iTInfo,
  285.             /* [in] */ LCID lcid,
  286.             /* [out] */ ITypeInfo **ppTInfo);
  287.         
  288.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  289.             IRTCRegistrationStateChangeEvent * This,
  290.             /* [in] */ REFIID riid,
  291.             /* [size_is][in] */ LPOLESTR *rgszNames,
  292.             /* [in] */ UINT cNames,
  293.             /* [in] */ LCID lcid,
  294.             /* [size_is][out] */ DISPID *rgDispId);
  295.         
  296.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  297.             IRTCRegistrationStateChangeEvent * This,
  298.             /* [in] */ DISPID dispIdMember,
  299.             /* [in] */ REFIID riid,
  300.             /* [in] */ LCID lcid,
  301.             /* [in] */ WORD wFlags,
  302.             /* [out][in] */ DISPPARAMS *pDispParams,
  303.             /* [out] */ VARIANT *pVarResult,
  304.             /* [out] */ EXCEPINFO *pExcepInfo,
  305.             /* [out] */ UINT *puArgErr);
  306.         
  307.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Profile )( 
  308.             IRTCRegistrationStateChangeEvent * This,
  309.             /* [retval][out] */ IRTCProfile **ppProfile);
  310.         
  311.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
  312.             IRTCRegistrationStateChangeEvent * This,
  313.             /* [retval][out] */ RTC_REGISTRATION_STATE *penState);
  314.         
  315.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StatusCode )( 
  316.             IRTCRegistrationStateChangeEvent * This,
  317.             /* [retval][out] */ long *plStatusCode);
  318.         
  319.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StatusText )( 
  320.             IRTCRegistrationStateChangeEvent * This,
  321.             /* [retval][out] */ BSTR *pbstrStatusText);
  322.         
  323.         END_INTERFACE
  324.     } IRTCRegistrationStateChangeEventVtbl;
  325.     interface IRTCRegistrationStateChangeEvent
  326.     {
  327.         CONST_VTBL struct IRTCRegistrationStateChangeEventVtbl *lpVtbl;
  328.     };
  329.     
  330. #ifdef COBJMACROS
  331. #define IRTCRegistrationStateChangeEvent_QueryInterface(This,riid,ppvObject)
  332.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  333. #define IRTCRegistrationStateChangeEvent_AddRef(This)
  334.     (This)->lpVtbl -> AddRef(This)
  335. #define IRTCRegistrationStateChangeEvent_Release(This)
  336.     (This)->lpVtbl -> Release(This)
  337. #define IRTCRegistrationStateChangeEvent_GetTypeInfoCount(This,pctinfo)
  338.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  339. #define IRTCRegistrationStateChangeEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  340.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  341. #define IRTCRegistrationStateChangeEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  342.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  343. #define IRTCRegistrationStateChangeEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  344.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  345. #define IRTCRegistrationStateChangeEvent_get_Profile(This,ppProfile)
  346.     (This)->lpVtbl -> get_Profile(This,ppProfile)
  347. #define IRTCRegistrationStateChangeEvent_get_State(This,penState)
  348.     (This)->lpVtbl -> get_State(This,penState)
  349. #define IRTCRegistrationStateChangeEvent_get_StatusCode(This,plStatusCode)
  350.     (This)->lpVtbl -> get_StatusCode(This,plStatusCode)
  351. #define IRTCRegistrationStateChangeEvent_get_StatusText(This,pbstrStatusText)
  352.     (This)->lpVtbl -> get_StatusText(This,pbstrStatusText)
  353. #endif /* COBJMACROS */
  354. #endif  /* C style interface */
  355. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRTCRegistrationStateChangeEvent_get_Profile_Proxy( 
  356.     IRTCRegistrationStateChangeEvent * This,
  357.     /* [retval][out] */ IRTCProfile **ppProfile);
  358. void __RPC_STUB IRTCRegistrationStateChangeEvent_get_Profile_Stub(
  359.     IRpcStubBuffer *This,
  360.     IRpcChannelBuffer *_pRpcChannelBuffer,
  361.     PRPC_MESSAGE _pRpcMessage,
  362.     DWORD *_pdwStubPhase);
  363. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRTCRegistrationStateChangeEvent_get_State_Proxy( 
  364.     IRTCRegistrationStateChangeEvent * This,
  365.     /* [retval][out] */ RTC_REGISTRATION_STATE *penState);
  366. void __RPC_STUB IRTCRegistrationStateChangeEvent_get_State_Stub(
  367.     IRpcStubBuffer *This,
  368.     IRpcChannelBuffer *_pRpcChannelBuffer,
  369.     PRPC_MESSAGE _pRpcMessage,
  370.     DWORD *_pdwStubPhase);
  371. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRTCRegistrationStateChangeEvent_get_StatusCode_Proxy( 
  372.     IRTCRegistrationStateChangeEvent * This,
  373.     /* [retval][out] */ long *plStatusCode);
  374. void __RPC_STUB IRTCRegistrationStateChangeEvent_get_StatusCode_Stub(
  375.     IRpcStubBuffer *This,
  376.     IRpcChannelBuffer *_pRpcChannelBuffer,
  377.     PRPC_MESSAGE _pRpcMessage,
  378.     DWORD *_pdwStubPhase);
  379. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRTCRegistrationStateChangeEvent_get_StatusText_Proxy( 
  380.     IRTCRegistrationStateChangeEvent * This,
  381.     /* [retval][out] */ BSTR *pbstrStatusText);
  382. void __RPC_STUB IRTCRegistrationStateChangeEvent_get_StatusText_Stub(
  383.     IRpcStubBuffer *This,
  384.     IRpcChannelBuffer *_pRpcChannelBuffer,
  385.     PRPC_MESSAGE _pRpcMessage,
  386.     DWORD *_pdwStubPhase);
  387. #endif  /* __IRTCRegistrationStateChangeEvent_INTERFACE_DEFINED__ */
  388. #ifndef __IRTCSessionStateChangeEvent_INTERFACE_DEFINED__
  389. #define __IRTCSessionStateChangeEvent_INTERFACE_DEFINED__
  390. /* interface IRTCSessionStateChangeEvent */
  391. /* [unique][helpstring][dual][uuid][object] */ 
  392. EXTERN_C const IID IID_IRTCSessionStateChangeEvent;
  393. #if defined(__cplusplus) && !defined(CINTERFACE)
  394.     
  395.     MIDL_INTERFACE("b5bad703-5952-48b3-9321-7f4500521506")
  396.     IRTCSessionStateChangeEvent : public IDispatch
  397.     {
  398.     public:
  399.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Session( 
  400.             /* [retval][out] */ IRTCSession **ppSession) = 0;
  401.         
  402.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_State( 
  403.             /* [retval][out] */ RTC_SESSION_STATE *penState) = 0;
  404.         
  405.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_StatusCode( 
  406.             /* [retval][out] */ long *plStatusCode) = 0;
  407.         
  408.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_StatusText( 
  409.             /* [retval][out] */ BSTR *pbstrStatusText) = 0;
  410.         
  411.     };
  412.     
  413. #else  /* C style interface */
  414.     typedef struct IRTCSessionStateChangeEventVtbl
  415.     {
  416.         BEGIN_INTERFACE
  417.         
  418.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  419.             IRTCSessionStateChangeEvent * This,
  420.             /* [in] */ REFIID riid,
  421.             /* [iid_is][out] */ void **ppvObject);
  422.         
  423.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  424.             IRTCSessionStateChangeEvent * This);
  425.         
  426.         ULONG ( STDMETHODCALLTYPE *Release )( 
  427.             IRTCSessionStateChangeEvent * This);
  428.         
  429.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  430.             IRTCSessionStateChangeEvent * This,
  431.             /* [out] */ UINT *pctinfo);
  432.         
  433.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  434.             IRTCSessionStateChangeEvent * This,
  435.             /* [in] */ UINT iTInfo,
  436.             /* [in] */ LCID lcid,
  437.             /* [out] */ ITypeInfo **ppTInfo);
  438.         
  439.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  440.             IRTCSessionStateChangeEvent * This,
  441.             /* [in] */ REFIID riid,
  442.             /* [size_is][in] */ LPOLESTR *rgszNames,
  443.             /* [in] */ UINT cNames,
  444.             /* [in] */ LCID lcid,
  445.             /* [size_is][out] */ DISPID *rgDispId);
  446.         
  447.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  448.             IRTCSessionStateChangeEvent * This,
  449.             /* [in] */ DISPID dispIdMember,
  450.             /* [in] */ REFIID riid,
  451.             /* [in] */ LCID lcid,
  452.             /* [in] */ WORD wFlags,
  453.             /* [out][in] */ DISPPARAMS *pDispParams,
  454.             /* [out] */ VARIANT *pVarResult,
  455.             /* [out] */ EXCEPINFO *pExcepInfo,
  456.             /* [out] */ UINT *puArgErr);
  457.         
  458.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Session )( 
  459.             IRTCSessionStateChangeEvent * This,
  460.             /* [retval][out] */ IRTCSession **ppSession);
  461.         
  462.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
  463.             IRTCSessionStateChangeEvent * This,
  464.             /* [retval][out] */ RTC_SESSION_STATE *penState);
  465.         
  466.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StatusCode )( 
  467.             IRTCSessionStateChangeEvent * This,
  468.             /* [retval][out] */ long *plStatusCode);
  469.         
  470.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StatusText )( 
  471.             IRTCSessionStateChangeEvent * This,
  472.             /* [retval][out] */ BSTR *pbstrStatusText);
  473.         
  474.         END_INTERFACE
  475.     } IRTCSessionStateChangeEventVtbl;
  476.     interface IRTCSessionStateChangeEvent
  477.     {
  478.         CONST_VTBL struct IRTCSessionStateChangeEventVtbl *lpVtbl;
  479.     };
  480.     
  481. #ifdef COBJMACROS
  482. #define IRTCSessionStateChangeEvent_QueryInterface(This,riid,ppvObject)
  483.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  484. #define IRTCSessionStateChangeEvent_AddRef(This)
  485.     (This)->lpVtbl -> AddRef(This)
  486. #define IRTCSessionStateChangeEvent_Release(This)
  487.     (This)->lpVtbl -> Release(This)
  488. #define IRTCSessionStateChangeEvent_GetTypeInfoCount(This,pctinfo)
  489.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  490. #define IRTCSessionStateChangeEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  491.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  492. #define IRTCSessionStateChangeEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  493.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  494. #define IRTCSessionStateChangeEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  495.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  496. #define IRTCSessionStateChangeEvent_get_Session(This,ppSession)
  497.     (This)->lpVtbl -> get_Session(This,ppSession)
  498. #define IRTCSessionStateChangeEvent_get_State(This,penState)
  499.     (This)->lpVtbl -> get_State(This,penState)
  500. #define IRTCSessionStateChangeEvent_get_StatusCode(This,plStatusCode)
  501.     (This)->lpVtbl -> get_StatusCode(This,plStatusCode)
  502. #define IRTCSessionStateChangeEvent_get_StatusText(This,pbstrStatusText)
  503.     (This)->lpVtbl -> get_StatusText(This,pbstrStatusText)
  504. #endif /* COBJMACROS */
  505. #endif  /* C style interface */
  506. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRTCSessionStateChangeEvent_get_Session_Proxy( 
  507.     IRTCSessionStateChangeEvent * This,
  508.     /* [retval][out] */ IRTCSession **ppSession);
  509. void __RPC_STUB IRTCSessionStateChangeEvent_get_Session_Stub(
  510.     IRpcStubBuffer *This,
  511.     IRpcChannelBuffer *_pRpcChannelBuffer,
  512.     PRPC_MESSAGE _pRpcMessage,
  513.     DWORD *_pdwStubPhase);
  514. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRTCSessionStateChangeEvent_get_State_Proxy( 
  515.     IRTCSessionStateChangeEvent * This,
  516.     /* [retval][out] */ RTC_SESSION_STATE *penState);
  517. void __RPC_STUB IRTCSessionStateChangeEvent_get_State_Stub(
  518.     IRpcStubBuffer *This,
  519.     IRpcChannelBuffer *_pRpcChannelBuffer,
  520.     PRPC_MESSAGE _pRpcMessage,
  521.     DWORD *_pdwStubPhase);
  522. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRTCSessionStateChangeEvent_get_StatusCode_Proxy( 
  523.     IRTCSessionStateChangeEvent * This,
  524.     /* [retval][out] */ long *plStatusCode);
  525. void __RPC_STUB IRTCSessionStateChangeEvent_get_StatusCode_Stub(
  526.     IRpcStubBuffer *This,
  527.     IRpcChannelBuffer *_pRpcChannelBuffer,
  528.     PRPC_MESSAGE _pRpcMessage,
  529.     DWORD *_pdwStubPhase);
  530. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRTCSessionStateChangeEvent_get_StatusText_Proxy( 
  531.     IRTCSessionStateChangeEvent * This,
  532.     /* [retval][out] */ BSTR *pbstrStatusText);
  533. void __RPC_STUB IRTCSessionStateChangeEvent_get_StatusText_Stub(
  534.     IRpcStubBuffer *This,
  535.     IRpcChannelBuffer *_pRpcChannelBuffer,
  536.     PRPC_MESSAGE _pRpcMessage,
  537.     DWORD *_pdwStubPhase);
  538. #endif  /* __IRTCSessionStateChangeEvent_INTERFACE_DEFINED__ */
  539. #ifndef __IRTCSessionOperationCompleteEvent_INTERFACE_DEFINED__
  540. #define __IRTCSessionOperationCompleteEvent_INTERFACE_DEFINED__
  541. /* interface IRTCSessionOperationCompleteEvent */
  542. /* [unique][helpstring][dual][uuid][object] */ 
  543. EXTERN_C const IID IID_IRTCSessionOperationCompleteEvent;
  544. #if defined(__cplusplus) && !defined(CINTERFACE)
  545.     
  546.     MIDL_INTERFACE("a6bff4c0-f7c8-4d3c-9a41-3550f78a95b0")
  547.     IRTCSessionOperationCompleteEvent : public IDispatch
  548.     {
  549.     public:
  550.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Session( 
  551.             /* [retval][out] */ IRTCSession **ppSession) = 0;
  552.         
  553.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Cookie( 
  554.             /* [retval][out] */ long *plCookie) = 0;
  555.         
  556.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_StatusCode( 
  557.             /* [retval][out] */ long *plStatusCode) = 0;
  558.         
  559.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_StatusText( 
  560.             /* [retval][out] */ BSTR *pbstrStatusText) = 0;
  561.         
  562.     };
  563.     
  564. #else  /* C style interface */
  565.     typedef struct IRTCSessionOperationCompleteEventVtbl
  566.     {
  567.         BEGIN_INTERFACE
  568.         
  569.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  570.             IRTCSessionOperationCompleteEvent * This,
  571.             /* [in] */ REFIID riid,
  572.             /* [iid_is][out] */ void **ppvObject);
  573.         
  574.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  575.             IRTCSessionOperationCompleteEvent * This);
  576.         
  577.         ULONG ( STDMETHODCALLTYPE *Release )( 
  578.             IRTCSessionOperationCompleteEvent * This);
  579.         
  580.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  581.             IRTCSessionOperationCompleteEvent * This,
  582.             /* [out] */ UINT *pctinfo);
  583.         
  584.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  585.             IRTCSessionOperationCompleteEvent * This,
  586.             /* [in] */ UINT iTInfo,
  587.             /* [in] */ LCID lcid,
  588.             /* [out] */ ITypeInfo **ppTInfo);
  589.         
  590.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  591.             IRTCSessionOperationCompleteEvent * This,
  592.             /* [in] */ REFIID riid,
  593.             /* [size_is][in] */ LPOLESTR *rgszNames,
  594.             /* [in] */ UINT cNames,
  595.             /* [in] */ LCID lcid,
  596.             /* [size_is][out] */ DISPID *rgDispId);
  597.         
  598.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  599.             IRTCSessionOperationCompleteEvent * This,
  600.             /* [in] */ DISPID dispIdMember,
  601.             /* [in] */ REFIID riid,
  602.             /* [in] */ LCID lcid,
  603.             /* [in] */ WORD wFlags,
  604.             /* [out][in] */ DISPPARAMS *pDispParams,
  605.             /* [out] */ VARIANT *pVarResult,
  606.             /* [out] */ EXCEPINFO *pExcepInfo,
  607.             /* [out] */ UINT *puArgErr);
  608.         
  609.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Session )( 
  610.             IRTCSessionOperationCompleteEvent * This,
  611.             /* [retval][out] */ IRTCSession **ppSession);
  612.         
  613.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Cookie )( 
  614.             IRTCSessionOperationCompleteEvent * This,
  615.             /* [retval][out] */ long *plCookie);
  616.         
  617.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StatusCode )( 
  618.             IRTCSessionOperationCompleteEvent * This,
  619.             /* [retval][out] */ long *plStatusCode);
  620.         
  621.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StatusText )( 
  622.             IRTCSessionOperationCompleteEvent * This,
  623.             /* [retval][out] */ BSTR *pbstrStatusText);
  624.         
  625.         END_INTERFACE
  626.     } IRTCSessionOperationCompleteEventVtbl;
  627.     interface IRTCSessionOperationCompleteEvent
  628.     {
  629.         CONST_VTBL struct IRTCSessionOperationCompleteEventVtbl *lpVtbl;
  630.     };
  631.     
  632. #ifdef COBJMACROS
  633. #define IRTCSessionOperationCompleteEvent_QueryInterface(This,riid,ppvObject)
  634.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  635. #define IRTCSessionOperationCompleteEvent_AddRef(This)
  636.     (This)->lpVtbl -> AddRef(This)
  637. #define IRTCSessionOperationCompleteEvent_Release(This)
  638.     (This)->lpVtbl -> Release(This)
  639. #define IRTCSessionOperationCompleteEvent_GetTypeInfoCount(This,pctinfo)
  640.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  641. #define IRTCSessionOperationCompleteEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  642.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  643. #define IRTCSessionOperationCompleteEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  644.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  645. #define IRTCSessionOperationCompleteEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  646.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  647. #define IRTCSessionOperationCompleteEvent_get_Session(This,ppSession)
  648.     (This)->lpVtbl -> get_Session(This,ppSession)
  649. #define IRTCSessionOperationCompleteEvent_get_Cookie(This,plCookie)
  650.     (This)->lpVtbl -> get_Cookie(This,plCookie)
  651. #define IRTCSessionOperationCompleteEvent_get_StatusCode(This,plStatusCode)
  652.     (This)->lpVtbl -> get_StatusCode(This,plStatusCode)
  653. #define IRTCSessionOperationCompleteEvent_get_StatusText(This,pbstrStatusText)
  654.     (This)->lpVtbl -> get_StatusText(This,pbstrStatusText)
  655. #endif /* COBJMACROS */
  656. #endif  /* C style interface */
  657. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRTCSessionOperationCompleteEvent_get_Session_Proxy( 
  658.     IRTCSessionOperationCompleteEvent * This,
  659.     /* [retval][out] */ IRTCSession **ppSession);
  660. void __RPC_STUB IRTCSessionOperationCompleteEvent_get_Session_Stub(
  661.     IRpcStubBuffer *This,
  662.     IRpcChannelBuffer *_pRpcChannelBuffer,
  663.     PRPC_MESSAGE _pRpcMessage,
  664.     DWORD *_pdwStubPhase);
  665. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRTCSessionOperationCompleteEvent_get_Cookie_Proxy( 
  666.     IRTCSessionOperationCompleteEvent * This,
  667.     /* [retval][out] */ long *plCookie);
  668. void __RPC_STUB IRTCSessionOperationCompleteEvent_get_Cookie_Stub(
  669.     IRpcStubBuffer *This,
  670.     IRpcChannelBuffer *_pRpcChannelBuffer,
  671.     PRPC_MESSAGE _pRpcMessage,
  672.     DWORD *_pdwStubPhase);
  673. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRTCSessionOperationCompleteEvent_get_StatusCode_Proxy( 
  674.     IRTCSessionOperationCompleteEvent * This,
  675.     /* [retval][out] */ long *plStatusCode);
  676. void __RPC_STUB IRTCSessionOperationCompleteEvent_get_StatusCode_Stub(
  677.     IRpcStubBuffer *This,
  678.     IRpcChannelBuffer *_pRpcChannelBuffer,
  679.     PRPC_MESSAGE _pRpcMessage,
  680.     DWORD *_pdwStubPhase);
  681. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRTCSessionOperationCompleteEvent_get_StatusText_Proxy( 
  682.     IRTCSessionOperationCompleteEvent * This,
  683.     /* [retval][out] */ BSTR *pbstrStatusText);
  684. void __RPC_STUB IRTCSessionOperationCompleteEvent_get_StatusText_Stub(
  685.     IRpcStubBuffer *This,
  686.     IRpcChannelBuffer *_pRpcChannelBuffer,
  687.     PRPC_MESSAGE _pRpcMessage,
  688.     DWORD *_pdwStubPhase);
  689. #endif  /* __IRTCSessionOperationCompleteEvent_INTERFACE_DEFINED__ */
  690. #ifndef __IRTCParticipantStateChangeEvent_INTERFACE_DEFINED__
  691. #define __IRTCParticipantStateChangeEvent_INTERFACE_DEFINED__
  692. /* interface IRTCParticipantStateChangeEvent */
  693. /* [unique][helpstring][dual][uuid][object] */ 
  694. EXTERN_C const IID IID_IRTCParticipantStateChangeEvent;
  695. #if defined(__cplusplus) && !defined(CINTERFACE)
  696.     
  697.     MIDL_INTERFACE("09bcb597-f0fa-48f9-b420-468cea7fde04")
  698.     IRTCParticipantStateChangeEvent : public IDispatch
  699.     {
  700.     public:
  701.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Participant( 
  702.             /* [retval][out] */ IRTCParticipant **ppParticipant) = 0;
  703.         
  704.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_State( 
  705.             /* [retval][out] */ RTC_PARTICIPANT_STATE *penState) = 0;
  706.         
  707.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_StatusCode( 
  708.             /* [retval][out] */ long *plStatusCode) = 0;
  709.         
  710.     };
  711.     
  712. #else  /* C style interface */
  713.     typedef struct IRTCParticipantStateChangeEventVtbl
  714.     {
  715.         BEGIN_INTERFACE
  716.         
  717.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  718.             IRTCParticipantStateChangeEvent * This,
  719.             /* [in] */ REFIID riid,
  720.             /* [iid_is][out] */ void **ppvObject);
  721.         
  722.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  723.             IRTCParticipantStateChangeEvent * This);
  724.         
  725.         ULONG ( STDMETHODCALLTYPE *Release )( 
  726.             IRTCParticipantStateChangeEvent * This);
  727.         
  728.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  729.             IRTCParticipantStateChangeEvent * This,
  730.             /* [out] */ UINT *pctinfo);
  731.         
  732.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  733.             IRTCParticipantStateChangeEvent * This,
  734.             /* [in] */ UINT iTInfo,
  735.             /* [in] */ LCID lcid,
  736.             /* [out] */ ITypeInfo **ppTInfo);
  737.         
  738.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  739.             IRTCParticipantStateChangeEvent * This,
  740.             /* [in] */ REFIID riid,
  741.             /* [size_is][in] */ LPOLESTR *rgszNames,
  742.             /* [in] */ UINT cNames,
  743.             /* [in] */ LCID lcid,
  744.             /* [size_is][out] */ DISPID *rgDispId);
  745.         
  746.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  747.             IRTCParticipantStateChangeEvent * This,
  748.             /* [in] */ DISPID dispIdMember,
  749.             /* [in] */ REFIID riid,
  750.             /* [in] */ LCID lcid,
  751.             /* [in] */ WORD wFlags,
  752.             /* [out][in] */ DISPPARAMS *pDispParams,
  753.             /* [out] */ VARIANT *pVarResult,
  754.             /* [out] */ EXCEPINFO *pExcepInfo,
  755.             /* [out] */ UINT *puArgErr);
  756.         
  757.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Participant )( 
  758.             IRTCParticipantStateChangeEvent * This,
  759.             /* [retval][out] */ IRTCParticipant **ppParticipant);
  760.         
  761.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
  762.             IRTCParticipantStateChangeEvent * This,
  763.             /* [retval][out] */ RTC_PARTICIPANT_STATE *penState);
  764.         
  765.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StatusCode )( 
  766.             IRTCParticipantStateChangeEvent * This,
  767.             /* [retval][out] */ long *plStatusCode);
  768.         
  769.         END_INTERFACE
  770.     } IRTCParticipantStateChangeEventVtbl;
  771.     interface IRTCParticipantStateChangeEvent
  772.     {
  773.         CONST_VTBL struct IRTCParticipantStateChangeEventVtbl *lpVtbl;
  774.     };
  775.     
  776. #ifdef COBJMACROS
  777. #define IRTCParticipantStateChangeEvent_QueryInterface(This,riid,ppvObject)
  778.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  779. #define IRTCParticipantStateChangeEvent_AddRef(This)
  780.     (This)->lpVtbl -> AddRef(This)
  781. #define IRTCParticipantStateChangeEvent_Release(This)
  782.     (This)->lpVtbl -> Release(This)
  783. #define IRTCParticipantStateChangeEvent_GetTypeInfoCount(This,pctinfo)
  784.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  785. #define IRTCParticipantStateChangeEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  786.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  787. #define IRTCParticipantStateChangeEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  788.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  789. #define IRTCParticipantStateChangeEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  790.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  791. #define IRTCParticipantStateChangeEvent_get_Participant(This,ppParticipant)
  792.     (This)->lpVtbl -> get_Participant(This,ppParticipant)
  793. #define IRTCParticipantStateChangeEvent_get_State(This,penState)
  794.     (This)->lpVtbl -> get_State(This,penState)
  795. #define IRTCParticipantStateChangeEvent_get_StatusCode(This,plStatusCode)
  796.     (This)->lpVtbl -> get_StatusCode(This,plStatusCode)
  797. #endif /* COBJMACROS */
  798. #endif  /* C style interface */
  799. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRTCParticipantStateChangeEvent_get_Participant_Proxy( 
  800.     IRTCParticipantStateChangeEvent * This,
  801.     /* [retval][out] */ IRTCParticipant **ppParticipant);
  802. void __RPC_STUB IRTCParticipantStateChangeEvent_get_Participant_Stub(
  803.     IRpcStubBuffer *This,
  804.     IRpcChannelBuffer *_pRpcChannelBuffer,
  805.     PRPC_MESSAGE _pRpcMessage,
  806.     DWORD *_pdwStubPhase);
  807. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRTCParticipantStateChangeEvent_get_State_Proxy( 
  808.     IRTCParticipantStateChangeEvent * This,
  809.     /* [retval][out] */ RTC_PARTICIPANT_STATE *penState);
  810. void __RPC_STUB IRTCParticipantStateChangeEvent_get_State_Stub(
  811.     IRpcStubBuffer *This,
  812.     IRpcChannelBuffer *_pRpcChannelBuffer,
  813.     PRPC_MESSAGE _pRpcMessage,
  814.     DWORD *_pdwStubPhase);
  815. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRTCParticipantStateChangeEvent_get_StatusCode_Proxy( 
  816.     IRTCParticipantStateChangeEvent * This,
  817.     /* [retval][out] */ long *plStatusCode);
  818. void __RPC_STUB IRTCParticipantStateChangeEvent_get_StatusCode_Stub(
  819.     IRpcStubBuffer *This,
  820.     IRpcChannelBuffer *_pRpcChannelBuffer,
  821.     PRPC_MESSAGE _pRpcMessage,
  822.     DWORD *_pdwStubPhase);
  823. #endif  /* __IRTCParticipantStateChangeEvent_INTERFACE_DEFINED__ */
  824. #ifndef __IRTCMediaEvent_INTERFACE_DEFINED__
  825. #define __IRTCMediaEvent_INTERFACE_DEFINED__
  826. /* interface IRTCMediaEvent */
  827. /* [unique][helpstring][dual][uuid][object] */ 
  828. EXTERN_C const IID IID_IRTCMediaEvent;
  829. #if defined(__cplusplus) && !defined(CINTERFACE)
  830.     
  831.     MIDL_INTERFACE("099944fb-bcda-453e-8c41-e13da2adf7f3")
  832.     IRTCMediaEvent : public IDispatch
  833.     {
  834.     public:
  835.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_MediaType( 
  836.             /* [retval][out] */ long *pMediaType) = 0;
  837.         
  838.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_EventType( 
  839.             /* [retval][out] */ RTC_MEDIA_EVENT_TYPE *penEventType) = 0;
  840.         
  841.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_EventReason( 
  842.             /* [retval][out] */ RTC_MEDIA_EVENT_REASON *penEventReason) = 0;
  843.         
  844.     };
  845.     
  846. #else  /* C style interface */
  847.     typedef struct IRTCMediaEventVtbl
  848.     {
  849.         BEGIN_INTERFACE
  850.         
  851.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  852.             IRTCMediaEvent * This,
  853.             /* [in] */ REFIID riid,
  854.             /* [iid_is][out] */ void **ppvObject);
  855.         
  856.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  857.             IRTCMediaEvent * This);
  858.         
  859.         ULONG ( STDMETHODCALLTYPE *Release )( 
  860.             IRTCMediaEvent * This);
  861.         
  862.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  863.             IRTCMediaEvent * This,
  864.             /* [out] */ UINT *pctinfo);
  865.         
  866.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  867.             IRTCMediaEvent * This,
  868.             /* [in] */ UINT iTInfo,
  869.             /* [in] */ LCID lcid,
  870.             /* [out] */ ITypeInfo **ppTInfo);
  871.         
  872.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  873.             IRTCMediaEvent * This,
  874.             /* [in] */ REFIID riid,
  875.             /* [size_is][in] */ LPOLESTR *rgszNames,
  876.             /* [in] */ UINT cNames,
  877.             /* [in] */ LCID lcid,
  878.             /* [size_is][out] */ DISPID *rgDispId);
  879.         
  880.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  881.             IRTCMediaEvent * This,
  882.             /* [in] */ DISPID dispIdMember,
  883.             /* [in] */ REFIID riid,
  884.             /* [in] */ LCID lcid,
  885.             /* [in] */ WORD wFlags,
  886.             /* [out][in] */ DISPPARAMS *pDispParams,
  887.             /* [out] */ VARIANT *pVarResult,
  888.             /* [out] */ EXCEPINFO *pExcepInfo,
  889.             /* [out] */ UINT *puArgErr);
  890.         
  891.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MediaType )( 
  892.             IRTCMediaEvent * This,
  893.             /* [retval][out] */ long *pMediaType);
  894.         
  895.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EventType )( 
  896.             IRTCMediaEvent * This,
  897.             /* [retval][out] */ RTC_MEDIA_EVENT_TYPE *penEventType);
  898.         
  899.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EventReason )( 
  900.             IRTCMediaEvent * This,
  901.             /* [retval][out] */ RTC_MEDIA_EVENT_REASON *penEventReason);
  902.         
  903.         END_INTERFACE
  904.     } IRTCMediaEventVtbl;
  905.     interface IRTCMediaEvent
  906.     {
  907.         CONST_VTBL struct IRTCMediaEventVtbl *lpVtbl;
  908.     };
  909.     
  910. #ifdef COBJMACROS
  911. #define IRTCMediaEvent_QueryInterface(This,riid,ppvObject)
  912.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  913. #define IRTCMediaEvent_AddRef(This)
  914.     (This)->lpVtbl -> AddRef(This)
  915. #define IRTCMediaEvent_Release(This)
  916.     (This)->lpVtbl -> Release(This)
  917. #define IRTCMediaEvent_GetTypeInfoCount(This,pctinfo)
  918.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  919. #define IRTCMediaEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  920.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  921. #define IRTCMediaEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  922.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  923. #define IRTCMediaEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  924.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  925. #define IRTCMediaEvent_get_MediaType(This,pMediaType)
  926.     (This)->lpVtbl -> get_MediaType(This,pMediaType)
  927. #define IRTCMediaEvent_get_EventType(This,penEventType)
  928.     (This)->lpVtbl -> get_EventType(This,penEventType)
  929. #define IRTCMediaEvent_get_EventReason(This,penEventReason)
  930.     (This)->lpVtbl -> get_EventReason(This,penEventReason)
  931. #endif /* COBJMACROS */
  932. #endif  /* C style interface */
  933. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRTCMediaEvent_get_MediaType_Proxy( 
  934.     IRTCMediaEvent * This,
  935.     /* [retval][out] */ long *pMediaType);
  936. void __RPC_STUB IRTCMediaEvent_get_MediaType_Stub(
  937.     IRpcStubBuffer *This,
  938.     IRpcChannelBuffer *_pRpcChannelBuffer,
  939.     PRPC_MESSAGE _pRpcMessage,
  940.     DWORD *_pdwStubPhase);
  941. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRTCMediaEvent_get_EventType_Proxy( 
  942.     IRTCMediaEvent * This,
  943.     /* [retval][out] */ RTC_MEDIA_EVENT_TYPE *penEventType);
  944. void __RPC_STUB IRTCMediaEvent_get_EventType_Stub(
  945.     IRpcStubBuffer *This,
  946.     IRpcChannelBuffer *_pRpcChannelBuffer,
  947.     PRPC_MESSAGE _pRpcMessage,
  948.     DWORD *_pdwStubPhase);
  949. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRTCMediaEvent_get_EventReason_Proxy( 
  950.     IRTCMediaEvent * This,
  951.     /* [retval][out] */ RTC_MEDIA_EVENT_REASON *penEventReason);
  952. void __RPC_STUB IRTCMediaEvent_get_EventReason_Stub(
  953.     IRpcStubBuffer *This,
  954.     IRpcChannelBuffer *_pRpcChannelBuffer,
  955.     PRPC_MESSAGE _pRpcMessage,
  956.     DWORD *_pdwStubPhase);
  957. #endif  /* __IRTCMediaEvent_INTERFACE_DEFINED__ */
  958. #ifndef __IRTCIntensityEvent_INTERFACE_DEFINED__
  959. #define __IRTCIntensityEvent_INTERFACE_DEFINED__
  960. /* interface IRTCIntensityEvent */
  961. /* [unique][helpstring][dual][uuid][object] */ 
  962. EXTERN_C const IID IID_IRTCIntensityEvent;
  963. #if defined(__cplusplus) && !defined(CINTERFACE)
  964.     
  965.     MIDL_INTERFACE("4c23bf51-390c-4992-a41d-41eec05b2a4b")
  966.     IRTCIntensityEvent : public IDispatch
  967.     {
  968.     public:
  969.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Level( 
  970.             /* [retval][out] */ long *plLevel) = 0;
  971.         
  972.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Min( 
  973.             /* [retval][out] */ long *plMin) = 0;
  974.         
  975.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Max( 
  976.             /* [retval][out] */ long *plMax) = 0;
  977.         
  978.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Direction( 
  979.             /* [retval][out] */ RTC_AUDIO_DEVICE *penDirection) = 0;
  980.         
  981.     };
  982.     
  983. #else  /* C style interface */
  984.     typedef struct IRTCIntensityEventVtbl
  985.     {
  986.         BEGIN_INTERFACE
  987.         
  988.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  989.             IRTCIntensityEvent * This,
  990.             /* [in] */ REFIID riid,
  991.             /* [iid_is][out] */ void **ppvObject);
  992.         
  993.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  994.             IRTCIntensityEvent * This);
  995.         
  996.         ULONG ( STDMETHODCALLTYPE *Release )( 
  997.             IRTCIntensityEvent * This);
  998.         
  999.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1000.             IRTCIntensityEvent * This,
  1001.             /* [out] */ UINT *pctinfo);
  1002.         
  1003.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1004.             IRTCIntensityEvent * This,
  1005.             /* [in] */ UINT iTInfo,
  1006.             /* [in] */ LCID lcid,
  1007.             /* [out] */ ITypeInfo **ppTInfo);
  1008.         
  1009.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1010.             IRTCIntensityEvent * This,
  1011.             /* [in] */ REFIID riid,
  1012.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1013.             /* [in] */ UINT cNames,
  1014.             /* [in] */ LCID lcid,
  1015.             /* [size_is][out] */ DISPID *rgDispId);
  1016.         
  1017.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1018.             IRTCIntensityEvent * This,
  1019.             /* [in] */ DISPID dispIdMember,
  1020.             /* [in] */ REFIID riid,
  1021.             /* [in] */ LCID lcid,
  1022.             /* [in] */ WORD wFlags,
  1023.             /* [out][in] */ DISPPARAMS *pDispParams,
  1024.             /* [out] */ VARIANT *pVarResult,
  1025.             /* [out] */ EXCEPINFO *pExcepInfo,
  1026.             /* [out] */ UINT *puArgErr);
  1027.         
  1028.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Level )( 
  1029.             IRTCIntensityEvent * This,
  1030.             /* [retval][out] */ long *plLevel);
  1031.         
  1032.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Min )( 
  1033.             IRTCIntensityEvent * This,
  1034.             /* [retval][out] */ long *plMin);
  1035.         
  1036.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Max )( 
  1037.             IRTCIntensityEvent * This,
  1038.             /* [retval][out] */ long *plMax);
  1039.         
  1040.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Direction )( 
  1041.             IRTCIntensityEvent * This,
  1042.             /* [retval][out] */ RTC_AUDIO_DEVICE *penDirection);
  1043.         
  1044.         END_INTERFACE
  1045.     } IRTCIntensityEventVtbl;
  1046.     interface IRTCIntensityEvent
  1047.     {
  1048.         CONST_VTBL struct IRTCIntensityEventVtbl *lpVtbl;
  1049.     };
  1050.     
  1051. #ifdef COBJMACROS
  1052. #define IRTCIntensityEvent_QueryInterface(This,riid,ppvObject)
  1053.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1054. #define IRTCIntensityEvent_AddRef(This)
  1055.     (This)->lpVtbl -> AddRef(This)
  1056. #define IRTCIntensityEvent_Release(This)
  1057.     (This)->lpVtbl -> Release(This)
  1058. #define IRTCIntensityEvent_GetTypeInfoCount(This,pctinfo)
  1059.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1060. #define IRTCIntensityEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1061.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1062. #define IRTCIntensityEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1063.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1064. #define IRTCIntensityEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1065.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1066. #define IRTCIntensityEvent_get_Level(This,plLevel)
  1067.     (This)->lpVtbl -> get_Level(This,plLevel)
  1068. #define IRTCIntensityEvent_get_Min(This,plMin)
  1069.     (This)->lpVtbl -> get_Min(This,plMin)
  1070. #define IRTCIntensityEvent_get_Max(This,plMax)
  1071.     (This)->lpVtbl -> get_Max(This,plMax)
  1072. #define IRTCIntensityEvent_get_Direction(This,penDirection)
  1073.     (This)->lpVtbl -> get_Direction(This,penDirection)
  1074. #endif /* COBJMACROS */
  1075. #endif  /* C style interface */
  1076. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRTCIntensityEvent_get_Level_Proxy( 
  1077.     IRTCIntensityEvent * This,
  1078.     /* [retval][out] */ long *plLevel);
  1079. void __RPC_STUB IRTCIntensityEvent_get_Level_Stub(
  1080.     IRpcStubBuffer *This,
  1081.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1082.     PRPC_MESSAGE _pRpcMessage,
  1083.     DWORD *_pdwStubPhase);
  1084. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRTCIntensityEvent_get_Min_Proxy( 
  1085.     IRTCIntensityEvent * This,
  1086.     /* [retval][out] */ long *plMin);
  1087. void __RPC_STUB IRTCIntensityEvent_get_Min_Stub(
  1088.     IRpcStubBuffer *This,
  1089.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1090.     PRPC_MESSAGE _pRpcMessage,
  1091.     DWORD *_pdwStubPhase);
  1092. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRTCIntensityEvent_get_Max_Proxy( 
  1093.     IRTCIntensityEvent * This,
  1094.     /* [retval][out] */ long *plMax);
  1095. void __RPC_STUB IRTCIntensityEvent_get_Max_Stub(
  1096.     IRpcStubBuffer *This,
  1097.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1098.     PRPC_MESSAGE _pRpcMessage,
  1099.     DWORD *_pdwStubPhase);
  1100. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRTCIntensityEvent_get_Direction_Proxy( 
  1101.     IRTCIntensityEvent * This,
  1102.     /* [retval][out] */ RTC_AUDIO_DEVICE *penDirection);
  1103. void __RPC_STUB IRTCIntensityEvent_get_Direction_Stub(
  1104.     IRpcStubBuffer *This,
  1105.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1106.     PRPC_MESSAGE _pRpcMessage,
  1107.     DWORD *_pdwStubPhase);
  1108. #endif  /* __IRTCIntensityEvent_INTERFACE_DEFINED__ */
  1109. #ifndef __IRTCMessagingEvent_INTERFACE_DEFINED__
  1110. #define __IRTCMessagingEvent_INTERFACE_DEFINED__
  1111. /* interface IRTCMessagingEvent */
  1112. /* [unique][helpstring][dual][uuid][object] */ 
  1113. EXTERN_C const IID IID_IRTCMessagingEvent;
  1114. #if defined(__cplusplus) && !defined(CINTERFACE)
  1115.     
  1116.     MIDL_INTERFACE("d3609541-1b29-4de5-a4ad-5aebaf319512")
  1117.     IRTCMessagingEvent : public IDispatch
  1118.     {
  1119.     public:
  1120.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Session( 
  1121.             /* [retval][out] */ IRTCSession **ppSession) = 0;
  1122.         
  1123.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Participant( 
  1124.             /* [retval][out] */ IRTCParticipant **ppParticipant) = 0;
  1125.         
  1126.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_EventType( 
  1127.             /* [retval][out] */ RTC_MESSAGING_EVENT_TYPE *penEventType) = 0;
  1128.         
  1129.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Message( 
  1130.             /* [retval][out] */ BSTR *pbstrMessage) = 0;
  1131.         
  1132.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_MessageHeader( 
  1133.             /* [retval][out] */ BSTR *pbstrMessageHeader) = 0;
  1134.         
  1135.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_UserStatus( 
  1136.             /* [retval][out] */ RTC_MESSAGING_USER_STATUS *penUserStatus) = 0;
  1137.         
  1138.     };
  1139.     
  1140. #else  /* C style interface */
  1141.     typedef struct IRTCMessagingEventVtbl
  1142.     {
  1143.         BEGIN_INTERFACE
  1144.         
  1145.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1146.             IRTCMessagingEvent * This,
  1147.             /* [in] */ REFIID riid,
  1148.             /* [iid_is][out] */ void **ppvObject);
  1149.         
  1150.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1151.             IRTCMessagingEvent * This);
  1152.         
  1153.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1154.             IRTCMessagingEvent * This);
  1155.         
  1156.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1157.             IRTCMessagingEvent * This,
  1158.             /* [out] */ UINT *pctinfo);
  1159.         
  1160.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1161.             IRTCMessagingEvent * This,
  1162.             /* [in] */ UINT iTInfo,
  1163.             /* [in] */ LCID lcid,
  1164.             /* [out] */ ITypeInfo **ppTInfo);
  1165.         
  1166.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1167.             IRTCMessagingEvent * This,
  1168.             /* [in] */ REFIID riid,
  1169.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1170.             /* [in] */ UINT cNames,
  1171.             /* [in] */ LCID lcid,
  1172.             /* [size_is][out] */ DISPID *rgDispId);
  1173.         
  1174.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1175.             IRTCMessagingEvent * This,
  1176.             /* [in] */ DISPID dispIdMember,
  1177.             /* [in] */ REFIID riid,
  1178.             /* [in] */ LCID lcid,
  1179.             /* [in] */ WORD wFlags,
  1180.             /* [out][in] */ DISPPARAMS *pDispParams,
  1181.             /* [out] */ VARIANT *pVarResult,
  1182.             /* [out] */ EXCEPINFO *pExcepInfo,
  1183.             /* [out] */ UINT *puArgErr);
  1184.         
  1185.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Session )( 
  1186.             IRTCMessagingEvent * This,
  1187.             /* [retval][out] */ IRTCSession **ppSession);
  1188.         
  1189.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Participant )( 
  1190.             IRTCMessagingEvent * This,
  1191.             /* [retval][out] */ IRTCParticipant **ppParticipant);
  1192.         
  1193.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EventType )( 
  1194.             IRTCMessagingEvent * This,
  1195.             /* [retval][out] */ RTC_MESSAGING_EVENT_TYPE *penEventType);
  1196.         
  1197.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Message )( 
  1198.             IRTCMessagingEvent * This,
  1199.             /* [retval][out] */ BSTR *pbstrMessage);
  1200.         
  1201.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MessageHeader )( 
  1202.             IRTCMessagingEvent * This,
  1203.             /* [retval][out] */ BSTR *pbstrMessageHeader);
  1204.         
  1205.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserStatus )( 
  1206.             IRTCMessagingEvent * This,
  1207.             /* [retval][out] */ RTC_MESSAGING_USER_STATUS *penUserStatus);
  1208.         
  1209.         END_INTERFACE
  1210.     } IRTCMessagingEventVtbl;
  1211.     interface IRTCMessagingEvent
  1212.     {
  1213.         CONST_VTBL struct IRTCMessagingEventVtbl *lpVtbl;
  1214.     };
  1215.     
  1216. #ifdef COBJMACROS
  1217. #define IRTCMessagingEvent_QueryInterface(This,riid,ppvObject)
  1218.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1219. #define IRTCMessagingEvent_AddRef(This)
  1220.     (This)->lpVtbl -> AddRef(This)
  1221. #define IRTCMessagingEvent_Release(This)
  1222.     (This)->lpVtbl -> Release(This)
  1223. #define IRTCMessagingEvent_GetTypeInfoCount(This,pctinfo)
  1224.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1225. #define IRTCMessagingEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1226.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1227. #define IRTCMessagingEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1228.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1229. #define IRTCMessagingEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1230.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1231. #define IRTCMessagingEvent_get_Session(This,ppSession)
  1232.     (This)->lpVtbl -> get_Session(This,ppSession)
  1233. #define IRTCMessagingEvent_get_Participant(This,ppParticipant)
  1234.     (This)->lpVtbl -> get_Participant(This,ppParticipant)
  1235. #define IRTCMessagingEvent_get_EventType(This,penEventType)
  1236.     (This)->lpVtbl -> get_EventType(This,penEventType)
  1237. #define IRTCMessagingEvent_get_Message(This,pbstrMessage)
  1238.     (This)->lpVtbl -> get_Message(This,pbstrMessage)
  1239. #define IRTCMessagingEvent_get_MessageHeader(This,pbstrMessageHeader)
  1240.     (This)->lpVtbl -> get_MessageHeader(This,pbstrMessageHeader)
  1241. #define IRTCMessagingEvent_get_UserStatus(This,penUserStatus)
  1242.     (This)->lpVtbl -> get_UserStatus(This,penUserStatus)
  1243. #endif /* COBJMACROS */
  1244. #endif  /* C style interface */
  1245. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRTCMessagingEvent_get_Session_Proxy( 
  1246.     IRTCMessagingEvent * This,
  1247.     /* [retval][out] */ IRTCSession **ppSession);
  1248. void __RPC_STUB IRTCMessagingEvent_get_Session_Stub(
  1249.     IRpcStubBuffer *This,
  1250.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1251.     PRPC_MESSAGE _pRpcMessage,
  1252.     DWORD *_pdwStubPhase);
  1253. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRTCMessagingEvent_get_Participant_Proxy( 
  1254.     IRTCMessagingEvent * This,
  1255.     /* [retval][out] */ IRTCParticipant **ppParticipant);
  1256. void __RPC_STUB IRTCMessagingEvent_get_Participant_Stub(
  1257.     IRpcStubBuffer *This,
  1258.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1259.     PRPC_MESSAGE _pRpcMessage,
  1260.     DWORD *_pdwStubPhase);
  1261. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRTCMessagingEvent_get_EventType_Proxy( 
  1262.     IRTCMessagingEvent * This,
  1263.     /* [retval][out] */ RTC_MESSAGING_EVENT_TYPE *penEventType);
  1264. void __RPC_STUB IRTCMessagingEvent_get_EventType_Stub(
  1265.     IRpcStubBuffer *This,
  1266.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1267.     PRPC_MESSAGE _pRpcMessage,
  1268.     DWORD *_pdwStubPhase);
  1269. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRTCMessagingEvent_get_Message_Proxy( 
  1270.     IRTCMessagingEvent * This,
  1271.     /* [retval][out] */ BSTR *pbstrMessage);
  1272. void __RPC_STUB IRTCMessagingEvent_get_Message_Stub(
  1273.     IRpcStubBuffer *This,
  1274.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1275.     PRPC_MESSAGE _pRpcMessage,
  1276.     DWORD *_pdwStubPhase);
  1277. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRTCMessagingEvent_get_MessageHeader_Proxy( 
  1278.     IRTCMessagingEvent * This,
  1279.     /* [retval][out] */ BSTR *pbstrMessageHeader);
  1280. void __RPC_STUB IRTCMessagingEvent_get_MessageHeader_Stub(
  1281.     IRpcStubBuffer *This,
  1282.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1283.     PRPC_MESSAGE _pRpcMessage,
  1284.     DWORD *_pdwStubPhase);
  1285. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRTCMessagingEvent_get_UserStatus_Proxy( 
  1286.     IRTCMessagingEvent * This,
  1287.     /* [retval][out] */ RTC_MESSAGING_USER_STATUS *penUserStatus);
  1288. void __RPC_STUB IRTCMessagingEvent_get_UserStatus_Stub(
  1289.     IRpcStubBuffer *This,
  1290.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1291.     PRPC_MESSAGE _pRpcMessage,
  1292.     DWORD *_pdwStubPhase);
  1293. #endif  /* __IRTCMessagingEvent_INTERFACE_DEFINED__ */
  1294. #ifndef __IRTCBuddyEvent_INTERFACE_DEFINED__
  1295. #define __IRTCBuddyEvent_INTERFACE_DEFINED__
  1296. /* interface IRTCBuddyEvent */
  1297. /* [unique][helpstring][dual][uuid][object] */ 
  1298. EXTERN_C const IID IID_IRTCBuddyEvent;
  1299. #if defined(__cplusplus) && !defined(CINTERFACE)
  1300.     
  1301.     MIDL_INTERFACE("f36d755d-17e6-404e-954f-0fc07574c78d")
  1302.     IRTCBuddyEvent : public IDispatch
  1303.     {
  1304.     public:
  1305.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Buddy( 
  1306.             /* [retval][out] */ IRTCBuddy **ppBuddy) = 0;
  1307.         
  1308.     };
  1309.     
  1310. #else  /* C style interface */
  1311.     typedef struct IRTCBuddyEventVtbl
  1312.     {
  1313.         BEGIN_INTERFACE
  1314.         
  1315.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1316.             IRTCBuddyEvent * This,
  1317.             /* [in] */ REFIID riid,
  1318.             /* [iid_is][out] */ void **ppvObject);
  1319.         
  1320.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1321.             IRTCBuddyEvent * This);
  1322.         
  1323.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1324.             IRTCBuddyEvent * This);
  1325.         
  1326.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1327.             IRTCBuddyEvent * This,
  1328.             /* [out] */ UINT *pctinfo);
  1329.         
  1330.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1331.             IRTCBuddyEvent * This,
  1332.             /* [in] */ UINT iTInfo,
  1333.             /* [in] */ LCID lcid,
  1334.             /* [out] */ ITypeInfo **ppTInfo);
  1335.         
  1336.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1337.             IRTCBuddyEvent * This,
  1338.             /* [in] */ REFIID riid,
  1339.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1340.             /* [in] */ UINT cNames,
  1341.             /* [in] */ LCID lcid,
  1342.             /* [size_is][out] */ DISPID *rgDispId);
  1343.         
  1344.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1345.             IRTCBuddyEvent * This,
  1346.             /* [in] */ DISPID dispIdMember,
  1347.             /* [in] */ REFIID riid,
  1348.             /* [in] */ LCID lcid,
  1349.             /* [in] */ WORD wFlags,
  1350.             /* [out][in] */ DISPPARAMS *pDispParams,
  1351.             /* [out] */ VARIANT *pVarResult,
  1352.             /* [out] */ EXCEPINFO *pExcepInfo,
  1353.             /* [out] */ UINT *puArgErr);
  1354.         
  1355.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Buddy )( 
  1356.             IRTCBuddyEvent * This,
  1357.             /* [retval][out] */ IRTCBuddy **ppBuddy);
  1358.         
  1359.         END_INTERFACE
  1360.     } IRTCBuddyEventVtbl;
  1361.     interface IRTCBuddyEvent
  1362.     {
  1363.         CONST_VTBL struct IRTCBuddyEventVtbl *lpVtbl;
  1364.     };
  1365.     
  1366. #ifdef COBJMACROS
  1367. #define IRTCBuddyEvent_QueryInterface(This,riid,ppvObject)
  1368.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1369. #define IRTCBuddyEvent_AddRef(This)
  1370.     (This)->lpVtbl -> AddRef(This)
  1371. #define IRTCBuddyEvent_Release(This)
  1372.     (This)->lpVtbl -> Release(This)
  1373. #define IRTCBuddyEvent_GetTypeInfoCount(This,pctinfo)
  1374.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1375. #define IRTCBuddyEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1376.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1377. #define IRTCBuddyEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1378.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1379. #define IRTCBuddyEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1380.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1381. #define IRTCBuddyEvent_get_Buddy(This,ppBuddy)
  1382.     (This)->lpVtbl -> get_Buddy(This,ppBuddy)
  1383. #endif /* COBJMACROS */
  1384. #endif  /* C style interface */
  1385. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRTCBuddyEvent_get_Buddy_Proxy( 
  1386.     IRTCBuddyEvent * This,
  1387.     /* [retval][out] */ IRTCBuddy **ppBuddy);
  1388. void __RPC_STUB IRTCBuddyEvent_get_Buddy_Stub(
  1389.     IRpcStubBuffer *This,
  1390.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1391.     PRPC_MESSAGE _pRpcMessage,
  1392.     DWORD *_pdwStubPhase);
  1393. #endif  /* __IRTCBuddyEvent_INTERFACE_DEFINED__ */
  1394. #ifndef __IRTCWatcherEvent_INTERFACE_DEFINED__
  1395. #define __IRTCWatcherEvent_INTERFACE_DEFINED__
  1396. /* interface IRTCWatcherEvent */
  1397. /* [unique][helpstring][dual][uuid][object] */ 
  1398. EXTERN_C const IID IID_IRTCWatcherEvent;
  1399. #if defined(__cplusplus) && !defined(CINTERFACE)
  1400.     
  1401.     MIDL_INTERFACE("f30d7261-587a-424f-822c-312788f43548")
  1402.     IRTCWatcherEvent : public IDispatch
  1403.     {
  1404.     public:
  1405.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Watcher( 
  1406.             /* [retval][out] */ IRTCWatcher **ppWatcher) = 0;
  1407.         
  1408.     };
  1409.     
  1410. #else  /* C style interface */
  1411.     typedef struct IRTCWatcherEventVtbl
  1412.     {
  1413.         BEGIN_INTERFACE
  1414.         
  1415.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1416.             IRTCWatcherEvent * This,
  1417.             /* [in] */ REFIID riid,
  1418.             /* [iid_is][out] */ void **ppvObject);
  1419.         
  1420.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1421.             IRTCWatcherEvent * This);
  1422.         
  1423.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1424.             IRTCWatcherEvent * This);
  1425.         
  1426.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1427.             IRTCWatcherEvent * This,
  1428.             /* [out] */ UINT *pctinfo);
  1429.         
  1430.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1431.             IRTCWatcherEvent * This,
  1432.             /* [in] */ UINT iTInfo,
  1433.             /* [in] */ LCID lcid,
  1434.             /* [out] */ ITypeInfo **ppTInfo);
  1435.         
  1436.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1437.             IRTCWatcherEvent * This,
  1438.             /* [in] */ REFIID riid,
  1439.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1440.             /* [in] */ UINT cNames,
  1441.             /* [in] */ LCID lcid,
  1442.             /* [size_is][out] */ DISPID *rgDispId);
  1443.         
  1444.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1445.             IRTCWatcherEvent * This,
  1446.             /* [in] */ DISPID dispIdMember,
  1447.             /* [in] */ REFIID riid,
  1448.             /* [in] */ LCID lcid,
  1449.             /* [in] */ WORD wFlags,
  1450.             /* [out][in] */ DISPPARAMS *pDispParams,
  1451.             /* [out] */ VARIANT *pVarResult,
  1452.             /* [out] */ EXCEPINFO *pExcepInfo,
  1453.             /* [out] */ UINT *puArgErr);
  1454.         
  1455.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Watcher )( 
  1456.             IRTCWatcherEvent * This,
  1457.             /* [retval][out] */ IRTCWatcher **ppWatcher);
  1458.         
  1459.         END_INTERFACE
  1460.     } IRTCWatcherEventVtbl;
  1461.     interface IRTCWatcherEvent
  1462.     {
  1463.         CONST_VTBL struct IRTCWatcherEventVtbl *lpVtbl;
  1464.     };
  1465.     
  1466. #ifdef COBJMACROS
  1467. #define IRTCWatcherEvent_QueryInterface(This,riid,ppvObject)
  1468.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1469. #define IRTCWatcherEvent_AddRef(This)
  1470.     (This)->lpVtbl -> AddRef(This)
  1471. #define IRTCWatcherEvent_Release(This)
  1472.     (This)->lpVtbl -> Release(This)
  1473. #define IRTCWatcherEvent_GetTypeInfoCount(This,pctinfo)
  1474.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1475. #define IRTCWatcherEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1476.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1477. #define IRTCWatcherEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1478.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1479. #define IRTCWatcherEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1480.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1481. #define IRTCWatcherEvent_get_Watcher(This,ppWatcher)
  1482.     (This)->lpVtbl -> get_Watcher(This,ppWatcher)
  1483. #endif /* COBJMACROS */
  1484. #endif  /* C style interface */
  1485. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRTCWatcherEvent_get_Watcher_Proxy( 
  1486.     IRTCWatcherEvent * This,
  1487.     /* [retval][out] */ IRTCWatcher **ppWatcher);
  1488. void __RPC_STUB IRTCWatcherEvent_get_Watcher_Stub(
  1489.     IRpcStubBuffer *This,
  1490.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1491.     PRPC_MESSAGE _pRpcMessage,
  1492.     DWORD *_pdwStubPhase);
  1493. #endif  /* __IRTCWatcherEvent_INTERFACE_DEFINED__ */
  1494. #ifndef __IRTCCollection_INTERFACE_DEFINED__
  1495. #define __IRTCCollection_INTERFACE_DEFINED__
  1496. /* interface IRTCCollection */
  1497. /* [dual][helpstring][uuid][object] */ 
  1498. EXTERN_C const IID IID_IRTCCollection;
  1499. #if defined(__cplusplus) && !defined(CINTERFACE)
  1500.     
  1501.     MIDL_INTERFACE("EC7C8096-B918-4044-94F1-E4FBA0361D5C")
  1502.     IRTCCollection : public IDispatch
  1503.     {
  1504.     public:
  1505.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
  1506.             /* [retval][out] */ long *lCount) = 0;
  1507.         
  1508.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
  1509.             /* [in] */ long Index,
  1510.             /* [retval][out] */ VARIANT *pVariant) = 0;
  1511.         
  1512.         virtual /* [helpstring][id][restricted][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
  1513.             /* [retval][out] */ IUnknown **ppNewEnum) = 0;
  1514.         
  1515.     };
  1516.     
  1517. #else  /* C style interface */
  1518.     typedef struct IRTCCollectionVtbl
  1519.     {
  1520.         BEGIN_INTERFACE
  1521.         
  1522.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1523.             IRTCCollection * This,
  1524.             /* [in] */ REFIID riid,
  1525.             /* [iid_is][out] */ void **ppvObject);
  1526.         
  1527.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1528.             IRTCCollection * This);
  1529.         
  1530.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1531.             IRTCCollection * This);
  1532.         
  1533.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1534.             IRTCCollection * This,
  1535.             /* [out] */ UINT *pctinfo);
  1536.         
  1537.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1538.             IRTCCollection * This,
  1539.             /* [in] */ UINT iTInfo,
  1540.             /* [in] */ LCID lcid,
  1541.             /* [out] */ ITypeInfo **ppTInfo);
  1542.         
  1543.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1544.             IRTCCollection * This,
  1545.             /* [in] */ REFIID riid,
  1546.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1547.             /* [in] */ UINT cNames,
  1548.             /* [in] */ LCID lcid,
  1549.             /* [size_is][out] */ DISPID *rgDispId);
  1550.         
  1551.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1552.             IRTCCollection * This,
  1553.             /* [in] */ DISPID dispIdMember,
  1554.             /* [in] */ REFIID riid,
  1555.             /* [in] */ LCID lcid,
  1556.             /* [in] */ WORD wFlags,
  1557.             /* [out][in] */ DISPPARAMS *pDispParams,
  1558.             /* [out] */ VARIANT *pVarResult,
  1559.             /* [out] */ EXCEPINFO *pExcepInfo,
  1560.             /* [out] */ UINT *puArgErr);
  1561.         
  1562.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
  1563.             IRTCCollection * This,
  1564.             /* [retval][out] */ long *lCount);
  1565.         
  1566.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
  1567.             IRTCCollection * This,
  1568.             /* [in] */ long Index,
  1569.             /* [retval][out] */ VARIANT *pVariant);
  1570.         
  1571.         /* [helpstring][id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
  1572.             IRTCCollection * This,
  1573.             /* [retval][out] */ IUnknown **ppNewEnum);
  1574.         
  1575.         END_INTERFACE
  1576.     } IRTCCollectionVtbl;
  1577.     interface IRTCCollection
  1578.     {
  1579.         CONST_VTBL struct IRTCCollectionVtbl *lpVtbl;
  1580.     };
  1581.     
  1582. #ifdef COBJMACROS
  1583. #define IRTCCollection_QueryInterface(This,riid,ppvObject)
  1584.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1585. #define IRTCCollection_AddRef(This)
  1586.     (This)->lpVtbl -> AddRef(This)
  1587. #define IRTCCollection_Release(This)
  1588.     (This)->lpVtbl -> Release(This)
  1589. #define IRTCCollection_GetTypeInfoCount(This,pctinfo)
  1590.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1591. #define IRTCCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1592.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1593. #define IRTCCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1594.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1595. #define IRTCCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1596.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1597. #define IRTCCollection_get_Count(This,lCount)
  1598.     (This)->lpVtbl -> get_Count(This,lCount)
  1599. #define IRTCCollection_get_Item(This,Index,pVariant)
  1600.     (This)->lpVtbl -> get_Item(This,Index,pVariant)
  1601. #define IRTCCollection_get__NewEnum(This,ppNewEnum)
  1602.     (This)->lpVtbl -> get__NewEnum(This,ppNewEnum)
  1603. #endif /* COBJMACROS */
  1604. #endif  /* C style interface */
  1605. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCCollection_get_Count_Proxy( 
  1606.     IRTCCollection * This,
  1607.     /* [retval][out] */ long *lCount);
  1608. void __RPC_STUB IRTCCollection_get_Count_Stub(
  1609.     IRpcStubBuffer *This,
  1610.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1611.     PRPC_MESSAGE _pRpcMessage,
  1612.     DWORD *_pdwStubPhase);
  1613. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRTCCollection_get_Item_Proxy( 
  1614.     IRTCCollection * This,
  1615.     /* [in] */ long Index,
  1616.     /* [retval][out] */ VARIANT *pVariant);
  1617. void __RPC_STUB IRTCCollection_get_Item_Stub(
  1618.     IRpcStubBuffer *This,
  1619.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1620.     PRPC_MESSAGE _pRpcMessage,
  1621.     DWORD *_pdwStubPhase);
  1622. /* [helpstring][id][restricted][propget] */ HRESULT STDMETHODCALLTYPE IRTCCollection_get__NewEnum_Proxy( 
  1623.     IRTCCollection * This,
  1624.     /* [retval][out] */ IUnknown **ppNewEnum);
  1625. void __RPC_STUB IRTCCollection_get__NewEnum_Stub(
  1626.     IRpcStubBuffer *This,
  1627.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1628.     PRPC_MESSAGE _pRpcMessage,
  1629.     DWORD *_pdwStubPhase);
  1630. #endif  /* __IRTCCollection_INTERFACE_DEFINED__ */
  1631. #ifndef __IRTCEnumParticipants_INTERFACE_DEFINED__
  1632. #define __IRTCEnumParticipants_INTERFACE_DEFINED__
  1633. /* interface IRTCEnumParticipants */
  1634. /* [unique][helpstring][hidden][uuid][object] */ 
  1635. EXTERN_C const IID IID_IRTCEnumParticipants;
  1636. #if defined(__cplusplus) && !defined(CINTERFACE)
  1637.     
  1638.     MIDL_INTERFACE("fcd56f29-4a4f-41b2-ba5c-f5bccc060bf6")
  1639.     IRTCEnumParticipants : public IUnknown
  1640.     {
  1641.     public:
  1642.         virtual HRESULT STDMETHODCALLTYPE Next( 
  1643.             /* [in] */ ULONG celt,
  1644.             /* [size_is][out] */ IRTCParticipant **ppElements,
  1645.             /* [full][out][in] */ ULONG *pceltFetched) = 0;
  1646.         
  1647.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1648.         
  1649.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  1650.             /* [in] */ ULONG celt) = 0;
  1651.         
  1652.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  1653.             /* [retval][out] */ IRTCEnumParticipants **ppEnum) = 0;
  1654.         
  1655.     };
  1656.     
  1657. #else  /* C style interface */
  1658.     typedef struct IRTCEnumParticipantsVtbl
  1659.     {
  1660.         BEGIN_INTERFACE
  1661.         
  1662.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1663.             IRTCEnumParticipants * This,
  1664.             /* [in] */ REFIID riid,
  1665.             /* [iid_is][out] */ void **ppvObject);
  1666.         
  1667.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1668.             IRTCEnumParticipants * This);
  1669.         
  1670.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1671.             IRTCEnumParticipants * This);
  1672.         
  1673.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  1674.             IRTCEnumParticipants * This,
  1675.             /* [in] */ ULONG celt,
  1676.             /* [size_is][out] */ IRTCParticipant **ppElements,
  1677.             /* [full][out][in] */ ULONG *pceltFetched);
  1678.         
  1679.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  1680.             IRTCEnumParticipants * This);
  1681.         
  1682.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  1683.             IRTCEnumParticipants * This,
  1684.             /* [in] */ ULONG celt);
  1685.         
  1686.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  1687.             IRTCEnumParticipants * This,
  1688.             /* [retval][out] */ IRTCEnumParticipants **ppEnum);
  1689.         
  1690.         END_INTERFACE
  1691.     } IRTCEnumParticipantsVtbl;
  1692.     interface IRTCEnumParticipants
  1693.     {
  1694.         CONST_VTBL struct IRTCEnumParticipantsVtbl *lpVtbl;
  1695.     };
  1696.     
  1697. #ifdef COBJMACROS
  1698. #define IRTCEnumParticipants_QueryInterface(This,riid,ppvObject)
  1699.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1700. #define IRTCEnumParticipants_AddRef(This)
  1701.     (This)->lpVtbl -> AddRef(This)
  1702. #define IRTCEnumParticipants_Release(This)
  1703.     (This)->lpVtbl -> Release(This)
  1704. #define IRTCEnumParticipants_Next(This,celt,ppElements,pceltFetched)
  1705.     (This)->lpVtbl -> Next(This,celt,ppElements,pceltFetched)
  1706. #define IRTCEnumParticipants_Reset(This)
  1707.     (This)->lpVtbl -> Reset(This)
  1708. #define IRTCEnumParticipants_Skip(This,celt)
  1709.     (This)->lpVtbl -> Skip(This,celt)
  1710. #define IRTCEnumParticipants_Clone(This,ppEnum)
  1711.     (This)->lpVtbl -> Clone(This,ppEnum)
  1712. #endif /* COBJMACROS */
  1713. #endif  /* C style interface */
  1714. HRESULT STDMETHODCALLTYPE IRTCEnumParticipants_Next_Proxy( 
  1715.     IRTCEnumParticipants * This,
  1716.     /* [in] */ ULONG celt,
  1717.     /* [size_is][out] */ IRTCParticipant **ppElements,
  1718.     /* [full][out][in] */ ULONG *pceltFetched);
  1719. void __RPC_STUB IRTCEnumParticipants_Next_Stub(
  1720.     IRpcStubBuffer *This,
  1721.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1722.     PRPC_MESSAGE _pRpcMessage,
  1723.     DWORD *_pdwStubPhase);
  1724. HRESULT STDMETHODCALLTYPE IRTCEnumParticipants_Reset_Proxy( 
  1725.     IRTCEnumParticipants * This);
  1726. void __RPC_STUB IRTCEnumParticipants_Reset_Stub(
  1727.     IRpcStubBuffer *This,
  1728.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1729.     PRPC_MESSAGE _pRpcMessage,
  1730.     DWORD *_pdwStubPhase);
  1731. HRESULT STDMETHODCALLTYPE IRTCEnumParticipants_Skip_Proxy( 
  1732.     IRTCEnumParticipants * This,
  1733.     /* [in] */ ULONG celt);
  1734. void __RPC_STUB IRTCEnumParticipants_Skip_Stub(
  1735.     IRpcStubBuffer *This,
  1736.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1737.     PRPC_MESSAGE _pRpcMessage,
  1738.     DWORD *_pdwStubPhase);
  1739. HRESULT STDMETHODCALLTYPE IRTCEnumParticipants_Clone_Proxy( 
  1740.     IRTCEnumParticipants * This,
  1741.     /* [retval][out] */ IRTCEnumParticipants **ppEnum);
  1742. void __RPC_STUB IRTCEnumParticipants_Clone_Stub(
  1743.     IRpcStubBuffer *This,
  1744.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1745.     PRPC_MESSAGE _pRpcMessage,
  1746.     DWORD *_pdwStubPhase);
  1747. #endif  /* __IRTCEnumParticipants_INTERFACE_DEFINED__ */
  1748. #ifndef __IRTCEnumProfiles_INTERFACE_DEFINED__
  1749. #define __IRTCEnumProfiles_INTERFACE_DEFINED__
  1750. /* interface IRTCEnumProfiles */
  1751. /* [unique][helpstring][hidden][uuid][object] */ 
  1752. EXTERN_C const IID IID_IRTCEnumProfiles;
  1753. #if defined(__cplusplus) && !defined(CINTERFACE)
  1754.     
  1755.     MIDL_INTERFACE("29b7c41c-ed82-4bca-84ad-39d5101b58e3")
  1756.     IRTCEnumProfiles : public IUnknown
  1757.     {
  1758.     public:
  1759.         virtual HRESULT STDMETHODCALLTYPE Next( 
  1760.             /* [in] */ ULONG celt,
  1761.             /* [size_is][out] */ IRTCProfile **ppElements,
  1762.             /* [full][out][in] */ ULONG *pceltFetched) = 0;
  1763.         
  1764.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1765.         
  1766.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  1767.             /* [in] */ ULONG celt) = 0;
  1768.         
  1769.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  1770.             /* [retval][out] */ IRTCEnumProfiles **ppEnum) = 0;
  1771.         
  1772.     };
  1773.     
  1774. #else  /* C style interface */
  1775.     typedef struct IRTCEnumProfilesVtbl
  1776.     {
  1777.         BEGIN_INTERFACE
  1778.         
  1779.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1780.             IRTCEnumProfiles * This,
  1781.             /* [in] */ REFIID riid,
  1782.             /* [iid_is][out] */ void **ppvObject);
  1783.         
  1784.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1785.             IRTCEnumProfiles * This);
  1786.         
  1787.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1788.             IRTCEnumProfiles * This);
  1789.         
  1790.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  1791.             IRTCEnumProfiles * This,
  1792.             /* [in] */ ULONG celt,
  1793.             /* [size_is][out] */ IRTCProfile **ppElements,
  1794.             /* [full][out][in] */ ULONG *pceltFetched);
  1795.         
  1796.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  1797.             IRTCEnumProfiles * This);
  1798.         
  1799.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  1800.             IRTCEnumProfiles * This,
  1801.             /* [in] */ ULONG celt);
  1802.         
  1803.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  1804.             IRTCEnumProfiles * This,
  1805.             /* [retval][out] */ IRTCEnumProfiles **ppEnum);
  1806.         
  1807.         END_INTERFACE
  1808.     } IRTCEnumProfilesVtbl;
  1809.     interface IRTCEnumProfiles
  1810.     {
  1811.         CONST_VTBL struct IRTCEnumProfilesVtbl *lpVtbl;
  1812.     };
  1813.     
  1814. #ifdef COBJMACROS
  1815. #define IRTCEnumProfiles_QueryInterface(This,riid,ppvObject)
  1816.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1817. #define IRTCEnumProfiles_AddRef(This)
  1818.     (This)->lpVtbl -> AddRef(This)
  1819. #define IRTCEnumProfiles_Release(This)
  1820.     (This)->lpVtbl -> Release(This)
  1821. #define IRTCEnumProfiles_Next(This,celt,ppElements,pceltFetched)
  1822.     (This)->lpVtbl -> Next(This,celt,ppElements,pceltFetched)
  1823. #define IRTCEnumProfiles_Reset(This)
  1824.     (This)->lpVtbl -> Reset(This)
  1825. #define IRTCEnumProfiles_Skip(This,celt)
  1826.     (This)->lpVtbl -> Skip(This,celt)
  1827. #define IRTCEnumProfiles_Clone(This,ppEnum)
  1828.     (This)->lpVtbl -> Clone(This,ppEnum)
  1829. #endif /* COBJMACROS */
  1830. #endif  /* C style interface */
  1831. HRESULT STDMETHODCALLTYPE IRTCEnumProfiles_Next_Proxy( 
  1832.     IRTCEnumProfiles * This,
  1833.     /* [in] */ ULONG celt,
  1834.     /* [size_is][out] */ IRTCProfile **ppElements,
  1835.     /* [full][out][in] */ ULONG *pceltFetched);
  1836. void __RPC_STUB IRTCEnumProfiles_Next_Stub(
  1837.     IRpcStubBuffer *This,
  1838.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1839.     PRPC_MESSAGE _pRpcMessage,
  1840.     DWORD *_pdwStubPhase);
  1841. HRESULT STDMETHODCALLTYPE IRTCEnumProfiles_Reset_Proxy( 
  1842.     IRTCEnumProfiles * This);
  1843. void __RPC_STUB IRTCEnumProfiles_Reset_Stub(
  1844.     IRpcStubBuffer *This,
  1845.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1846.     PRPC_MESSAGE _pRpcMessage,
  1847.     DWORD *_pdwStubPhase);
  1848. HRESULT STDMETHODCALLTYPE IRTCEnumProfiles_Skip_Proxy( 
  1849.     IRTCEnumProfiles * This,
  1850.     /* [in] */ ULONG celt);
  1851. void __RPC_STUB IRTCEnumProfiles_Skip_Stub(
  1852.     IRpcStubBuffer *This,
  1853.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1854.     PRPC_MESSAGE _pRpcMessage,
  1855.     DWORD *_pdwStubPhase);
  1856. HRESULT STDMETHODCALLTYPE IRTCEnumProfiles_Clone_Proxy( 
  1857.     IRTCEnumProfiles * This,
  1858.     /* [retval][out] */ IRTCEnumProfiles **ppEnum);
  1859. void __RPC_STUB IRTCEnumProfiles_Clone_Stub(
  1860.     IRpcStubBuffer *This,
  1861.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1862.     PRPC_MESSAGE _pRpcMessage,
  1863.     DWORD *_pdwStubPhase);
  1864. #endif  /* __IRTCEnumProfiles_INTERFACE_DEFINED__ */
  1865. #ifndef __IRTCEnumBuddies_INTERFACE_DEFINED__
  1866. #define __IRTCEnumBuddies_INTERFACE_DEFINED__
  1867. /* interface IRTCEnumBuddies */
  1868. /* [unique][helpstring][hidden][uuid][object] */ 
  1869. EXTERN_C const IID IID_IRTCEnumBuddies;
  1870. #if defined(__cplusplus) && !defined(CINTERFACE)
  1871.     
  1872.     MIDL_INTERFACE("f7296917-5569-4b3b-b3af-98d1144b2b87")
  1873.     IRTCEnumBuddies : public IUnknown
  1874.     {
  1875.     public:
  1876.         virtual HRESULT STDMETHODCALLTYPE Next( 
  1877.             /* [in] */ ULONG celt,
  1878.             /* [size_is][out] */ IRTCBuddy **ppElements,
  1879.             /* [full][out][in] */ ULONG *pceltFetched) = 0;
  1880.         
  1881.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1882.         
  1883.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  1884.             /* [in] */ ULONG celt) = 0;
  1885.         
  1886.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  1887.             /* [retval][out] */ IRTCEnumBuddies **ppEnum) = 0;
  1888.         
  1889.     };
  1890.     
  1891. #else  /* C style interface */
  1892.     typedef struct IRTCEnumBuddiesVtbl
  1893.     {
  1894.         BEGIN_INTERFACE
  1895.         
  1896.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1897.             IRTCEnumBuddies * This,
  1898.             /* [in] */ REFIID riid,
  1899.             /* [iid_is][out] */ void **ppvObject);
  1900.         
  1901.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1902.             IRTCEnumBuddies * This);
  1903.         
  1904.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1905.             IRTCEnumBuddies * This);
  1906.         
  1907.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  1908.             IRTCEnumBuddies * This,
  1909.             /* [in] */ ULONG celt,
  1910.             /* [size_is][out] */ IRTCBuddy **ppElements,
  1911.             /* [full][out][in] */ ULONG *pceltFetched);
  1912.         
  1913.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  1914.             IRTCEnumBuddies * This);
  1915.         
  1916.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  1917.             IRTCEnumBuddies * This,
  1918.             /* [in] */ ULONG celt);
  1919.         
  1920.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  1921.             IRTCEnumBuddies * This,
  1922.             /* [retval][out] */ IRTCEnumBuddies **ppEnum);
  1923.         
  1924.         END_INTERFACE
  1925.     } IRTCEnumBuddiesVtbl;
  1926.     interface IRTCEnumBuddies
  1927.     {
  1928.         CONST_VTBL struct IRTCEnumBuddiesVtbl *lpVtbl;
  1929.     };
  1930.     
  1931. #ifdef COBJMACROS
  1932. #define IRTCEnumBuddies_QueryInterface(This,riid,ppvObject)
  1933.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1934. #define IRTCEnumBuddies_AddRef(This)
  1935.     (This)->lpVtbl -> AddRef(This)
  1936. #define IRTCEnumBuddies_Release(This)
  1937.     (This)->lpVtbl -> Release(This)
  1938. #define IRTCEnumBuddies_Next(This,celt,ppElements,pceltFetched)
  1939.     (This)->lpVtbl -> Next(This,celt,ppElements,pceltFetched)
  1940. #define IRTCEnumBuddies_Reset(This)
  1941.     (This)->lpVtbl -> Reset(This)
  1942. #define IRTCEnumBuddies_Skip(This,celt)
  1943.     (This)->lpVtbl -> Skip(This,celt)
  1944. #define IRTCEnumBuddies_Clone(This,ppEnum)
  1945.     (This)->lpVtbl -> Clone(This,ppEnum)
  1946. #endif /* COBJMACROS */
  1947. #endif  /* C style interface */
  1948. HRESULT STDMETHODCALLTYPE IRTCEnumBuddies_Next_Proxy( 
  1949.     IRTCEnumBuddies * This,
  1950.     /* [in] */ ULONG celt,
  1951.     /* [size_is][out] */ IRTCBuddy **ppElements,
  1952.     /* [full][out][in] */ ULONG *pceltFetched);
  1953. void __RPC_STUB IRTCEnumBuddies_Next_Stub(
  1954.     IRpcStubBuffer *This,
  1955.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1956.     PRPC_MESSAGE _pRpcMessage,
  1957.     DWORD *_pdwStubPhase);
  1958. HRESULT STDMETHODCALLTYPE IRTCEnumBuddies_Reset_Proxy( 
  1959.     IRTCEnumBuddies * This);
  1960. void __RPC_STUB IRTCEnumBuddies_Reset_Stub(
  1961.     IRpcStubBuffer *This,
  1962.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1963.     PRPC_MESSAGE _pRpcMessage,
  1964.     DWORD *_pdwStubPhase);
  1965. HRESULT STDMETHODCALLTYPE IRTCEnumBuddies_Skip_Proxy( 
  1966.     IRTCEnumBuddies * This,
  1967.     /* [in] */ ULONG celt);
  1968. void __RPC_STUB IRTCEnumBuddies_Skip_Stub(
  1969.     IRpcStubBuffer *This,
  1970.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1971.     PRPC_MESSAGE _pRpcMessage,
  1972.     DWORD *_pdwStubPhase);
  1973. HRESULT STDMETHODCALLTYPE IRTCEnumBuddies_Clone_Proxy( 
  1974.     IRTCEnumBuddies * This,
  1975.     /* [retval][out] */ IRTCEnumBuddies **ppEnum);
  1976. void __RPC_STUB IRTCEnumBuddies_Clone_Stub(
  1977.     IRpcStubBuffer *This,
  1978.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1979.     PRPC_MESSAGE _pRpcMessage,
  1980.     DWORD *_pdwStubPhase);
  1981. #endif  /* __IRTCEnumBuddies_INTERFACE_DEFINED__ */
  1982. #ifndef __IRTCEnumWatchers_INTERFACE_DEFINED__
  1983. #define __IRTCEnumWatchers_INTERFACE_DEFINED__
  1984. /* interface IRTCEnumWatchers */
  1985. /* [unique][helpstring][hidden][uuid][object] */ 
  1986. EXTERN_C const IID IID_IRTCEnumWatchers;
  1987. #if defined(__cplusplus) && !defined(CINTERFACE)
  1988.     
  1989.     MIDL_INTERFACE("a87d55d7-db74-4ed1-9ca4-77a0e41b413e")
  1990.     IRTCEnumWatchers : public IUnknown
  1991.     {
  1992.     public:
  1993.         virtual HRESULT STDMETHODCALLTYPE Next( 
  1994.             /* [in] */ ULONG celt,
  1995.             /* [size_is][out] */ IRTCWatcher **ppElements,
  1996.             /* [full][out][in] */ ULONG *pceltFetched) = 0;
  1997.         
  1998.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1999.         
  2000.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  2001.             /* [in] */ ULONG celt) = 0;
  2002.         
  2003.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  2004.             /* [retval][out] */ IRTCEnumWatchers **ppEnum) = 0;
  2005.         
  2006.     };
  2007.     
  2008. #else  /* C style interface */
  2009.     typedef struct IRTCEnumWatchersVtbl
  2010.     {
  2011.         BEGIN_INTERFACE
  2012.         
  2013.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2014.             IRTCEnumWatchers * This,
  2015.             /* [in] */ REFIID riid,
  2016.             /* [iid_is][out] */ void **ppvObject);
  2017.         
  2018.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2019.             IRTCEnumWatchers * This);
  2020.         
  2021.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2022.             IRTCEnumWatchers * This);
  2023.         
  2024.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  2025.             IRTCEnumWatchers * This,
  2026.             /* [in] */ ULONG celt,
  2027.             /* [size_is][out] */ IRTCWatcher **ppElements,
  2028.             /* [full][out][in] */ ULONG *pceltFetched);
  2029.         
  2030.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  2031.             IRTCEnumWatchers * This);
  2032.         
  2033.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  2034.             IRTCEnumWatchers * This,
  2035.             /* [in] */ ULONG celt);
  2036.         
  2037.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  2038.             IRTCEnumWatchers * This,
  2039.             /* [retval][out] */ IRTCEnumWatchers **ppEnum);
  2040.         
  2041.         END_INTERFACE
  2042.     } IRTCEnumWatchersVtbl;
  2043.     interface IRTCEnumWatchers
  2044.     {
  2045.         CONST_VTBL struct IRTCEnumWatchersVtbl *lpVtbl;
  2046.     };
  2047.     
  2048. #ifdef COBJMACROS
  2049. #define IRTCEnumWatchers_QueryInterface(This,riid,ppvObject)
  2050.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2051. #define IRTCEnumWatchers_AddRef(This)
  2052.     (This)->lpVtbl -> AddRef(This)
  2053. #define IRTCEnumWatchers_Release(This)
  2054.     (This)->lpVtbl -> Release(This)
  2055. #define IRTCEnumWatchers_Next(This,celt,ppElements,pceltFetched)
  2056.     (This)->lpVtbl -> Next(This,celt,ppElements,pceltFetched)
  2057. #define IRTCEnumWatchers_Reset(This)
  2058.     (This)->lpVtbl -> Reset(This)
  2059. #define IRTCEnumWatchers_Skip(This,celt)
  2060.     (This)->lpVtbl -> Skip(This,celt)
  2061. #define IRTCEnumWatchers_Clone(This,ppEnum)
  2062.     (This)->lpVtbl -> Clone(This,ppEnum)
  2063. #endif /* COBJMACROS */
  2064. #endif  /* C style interface */
  2065. HRESULT STDMETHODCALLTYPE IRTCEnumWatchers_Next_Proxy( 
  2066.     IRTCEnumWatchers * This,
  2067.     /* [in] */ ULONG celt,
  2068.     /* [size_is][out] */ IRTCWatcher **ppElements,
  2069.     /* [full][out][in] */ ULONG *pceltFetched);
  2070. void __RPC_STUB IRTCEnumWatchers_Next_Stub(
  2071.     IRpcStubBuffer *This,
  2072.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2073.     PRPC_MESSAGE _pRpcMessage,
  2074.     DWORD *_pdwStubPhase);
  2075. HRESULT STDMETHODCALLTYPE IRTCEnumWatchers_Reset_Proxy( 
  2076.     IRTCEnumWatchers * This);
  2077. void __RPC_STUB IRTCEnumWatchers_Reset_Stub(
  2078.     IRpcStubBuffer *This,
  2079.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2080.     PRPC_MESSAGE _pRpcMessage,
  2081.     DWORD *_pdwStubPhase);
  2082. HRESULT STDMETHODCALLTYPE IRTCEnumWatchers_Skip_Proxy( 
  2083.     IRTCEnumWatchers * This,
  2084.     /* [in] */ ULONG celt);
  2085. void __RPC_STUB IRTCEnumWatchers_Skip_Stub(
  2086.     IRpcStubBuffer *This,
  2087.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2088.     PRPC_MESSAGE _pRpcMessage,
  2089.     DWORD *_pdwStubPhase);
  2090. HRESULT STDMETHODCALLTYPE IRTCEnumWatchers_Clone_Proxy( 
  2091.     IRTCEnumWatchers * This,
  2092.     /* [retval][out] */ IRTCEnumWatchers **ppEnum);
  2093. void __RPC_STUB IRTCEnumWatchers_Clone_Stub(
  2094.     IRpcStubBuffer *This,
  2095.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2096.     PRPC_MESSAGE _pRpcMessage,
  2097.     DWORD *_pdwStubPhase);
  2098. #endif  /* __IRTCEnumWatchers_INTERFACE_DEFINED__ */
  2099. #ifndef __IRTCPresenceContact_INTERFACE_DEFINED__
  2100. #define __IRTCPresenceContact_INTERFACE_DEFINED__
  2101. /* interface IRTCPresenceContact */
  2102. /* [unique][helpstring][uuid][object] */ 
  2103. EXTERN_C const IID IID_IRTCPresenceContact;
  2104. #if defined(__cplusplus) && !defined(CINTERFACE)
  2105.     
  2106.     MIDL_INTERFACE("8b22f92c-cd90-42db-a733-212205c3e3df")
  2107.     IRTCPresenceContact : public IUnknown
  2108.     {
  2109.     public:
  2110.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PresentityURI( 
  2111.             /* [retval][out] */ BSTR *pbstrPresentityURI) = 0;
  2112.         
  2113.         virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_PresentityURI( 
  2114.             /* [in] */ BSTR bstrPresentityURI) = 0;
  2115.         
  2116.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
  2117.             /* [retval][out] */ BSTR *pbstrName) = 0;
  2118.         
  2119.         virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
  2120.             /* [in] */ BSTR bstrName) = 0;
  2121.         
  2122.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Data( 
  2123.             /* [retval][out] */ BSTR *pbstrData) = 0;
  2124.         
  2125.         virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Data( 
  2126.             /* [in] */ BSTR bstrData) = 0;
  2127.         
  2128.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Persistent( 
  2129.             /* [retval][out] */ VARIANT_BOOL *pfPersistent) = 0;
  2130.         
  2131.         virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Persistent( 
  2132.             /* [in] */ VARIANT_BOOL fPersistent) = 0;
  2133.         
  2134.     };
  2135.     
  2136. #else  /* C style interface */
  2137.     typedef struct IRTCPresenceContactVtbl
  2138.     {
  2139.         BEGIN_INTERFACE
  2140.         
  2141.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2142.             IRTCPresenceContact * This,
  2143.             /* [in] */ REFIID riid,
  2144.             /* [iid_is][out] */ void **ppvObject);
  2145.         
  2146.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2147.             IRTCPresenceContact * This);
  2148.         
  2149.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2150.             IRTCPresenceContact * This);
  2151.         
  2152.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PresentityURI )( 
  2153.             IRTCPresenceContact * This,
  2154.             /* [retval][out] */ BSTR *pbstrPresentityURI);
  2155.         
  2156.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PresentityURI )( 
  2157.             IRTCPresenceContact * This,
  2158.             /* [in] */ BSTR bstrPresentityURI);
  2159.         
  2160.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  2161.             IRTCPresenceContact * This,
  2162.             /* [retval][out] */ BSTR *pbstrName);
  2163.         
  2164.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
  2165.             IRTCPresenceContact * This,
  2166.             /* [in] */ BSTR bstrName);
  2167.         
  2168.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Data )( 
  2169.             IRTCPresenceContact * This,
  2170.             /* [retval][out] */ BSTR *pbstrData);
  2171.         
  2172.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Data )( 
  2173.             IRTCPresenceContact * This,
  2174.             /* [in] */ BSTR bstrData);
  2175.         
  2176.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Persistent )( 
  2177.             IRTCPresenceContact * This,
  2178.             /* [retval][out] */ VARIANT_BOOL *pfPersistent);
  2179.         
  2180.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Persistent )( 
  2181.             IRTCPresenceContact * This,
  2182.             /* [in] */ VARIANT_BOOL fPersistent);
  2183.         
  2184.         END_INTERFACE
  2185.     } IRTCPresenceContactVtbl;
  2186.     interface IRTCPresenceContact
  2187.     {
  2188.         CONST_VTBL struct IRTCPresenceContactVtbl *lpVtbl;
  2189.     };
  2190.     
  2191. #ifdef COBJMACROS
  2192. #define IRTCPresenceContact_QueryInterface(This,riid,ppvObject)
  2193.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2194. #define IRTCPresenceContact_AddRef(This)
  2195.     (This)->lpVtbl -> AddRef(This)
  2196. #define IRTCPresenceContact_Release(This)
  2197.     (This)->lpVtbl -> Release(This)
  2198. #define IRTCPresenceContact_get_PresentityURI(This,pbstrPresentityURI)
  2199.     (This)->lpVtbl -> get_PresentityURI(This,pbstrPresentityURI)
  2200. #define IRTCPresenceContact_put_PresentityURI(This,bstrPresentityURI)
  2201.     (This)->lpVtbl -> put_PresentityURI(This,bstrPresentityURI)
  2202. #define IRTCPresenceContact_get_Name(This,pbstrName)
  2203.     (This)->lpVtbl -> get_Name(This,pbstrName)
  2204. #define IRTCPresenceContact_put_Name(This,bstrName)
  2205.     (This)->lpVtbl -> put_Name(This,bstrName)
  2206. #define IRTCPresenceContact_get_Data(This,pbstrData)
  2207.     (This)->lpVtbl -> get_Data(This,pbstrData)
  2208. #define IRTCPresenceContact_put_Data(This,bstrData)
  2209.     (This)->lpVtbl -> put_Data(This,bstrData)
  2210. #define IRTCPresenceContact_get_Persistent(This,pfPersistent)
  2211.     (This)->lpVtbl -> get_Persistent(This,pfPersistent)
  2212. #define IRTCPresenceContact_put_Persistent(This,fPersistent)
  2213.     (This)->lpVtbl -> put_Persistent(This,fPersistent)
  2214. #endif /* COBJMACROS */
  2215. #endif  /* C style interface */
  2216. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCPresenceContact_get_PresentityURI_Proxy( 
  2217.     IRTCPresenceContact * This,
  2218.     /* [retval][out] */ BSTR *pbstrPresentityURI);
  2219. void __RPC_STUB IRTCPresenceContact_get_PresentityURI_Stub(
  2220.     IRpcStubBuffer *This,
  2221.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2222.     PRPC_MESSAGE _pRpcMessage,
  2223.     DWORD *_pdwStubPhase);
  2224. /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRTCPresenceContact_put_PresentityURI_Proxy( 
  2225.     IRTCPresenceContact * This,
  2226.     /* [in] */ BSTR bstrPresentityURI);
  2227. void __RPC_STUB IRTCPresenceContact_put_PresentityURI_Stub(
  2228.     IRpcStubBuffer *This,
  2229.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2230.     PRPC_MESSAGE _pRpcMessage,
  2231.     DWORD *_pdwStubPhase);
  2232. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCPresenceContact_get_Name_Proxy( 
  2233.     IRTCPresenceContact * This,
  2234.     /* [retval][out] */ BSTR *pbstrName);
  2235. void __RPC_STUB IRTCPresenceContact_get_Name_Stub(
  2236.     IRpcStubBuffer *This,
  2237.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2238.     PRPC_MESSAGE _pRpcMessage,
  2239.     DWORD *_pdwStubPhase);
  2240. /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRTCPresenceContact_put_Name_Proxy( 
  2241.     IRTCPresenceContact * This,
  2242.     /* [in] */ BSTR bstrName);
  2243. void __RPC_STUB IRTCPresenceContact_put_Name_Stub(
  2244.     IRpcStubBuffer *This,
  2245.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2246.     PRPC_MESSAGE _pRpcMessage,
  2247.     DWORD *_pdwStubPhase);
  2248. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCPresenceContact_get_Data_Proxy( 
  2249.     IRTCPresenceContact * This,
  2250.     /* [retval][out] */ BSTR *pbstrData);
  2251. void __RPC_STUB IRTCPresenceContact_get_Data_Stub(
  2252.     IRpcStubBuffer *This,
  2253.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2254.     PRPC_MESSAGE _pRpcMessage,
  2255.     DWORD *_pdwStubPhase);
  2256. /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRTCPresenceContact_put_Data_Proxy( 
  2257.     IRTCPresenceContact * This,
  2258.     /* [in] */ BSTR bstrData);
  2259. void __RPC_STUB IRTCPresenceContact_put_Data_Stub(
  2260.     IRpcStubBuffer *This,
  2261.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2262.     PRPC_MESSAGE _pRpcMessage,
  2263.     DWORD *_pdwStubPhase);
  2264. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCPresenceContact_get_Persistent_Proxy( 
  2265.     IRTCPresenceContact * This,
  2266.     /* [retval][out] */ VARIANT_BOOL *pfPersistent);
  2267. void __RPC_STUB IRTCPresenceContact_get_Persistent_Stub(
  2268.     IRpcStubBuffer *This,
  2269.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2270.     PRPC_MESSAGE _pRpcMessage,
  2271.     DWORD *_pdwStubPhase);
  2272. /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRTCPresenceContact_put_Persistent_Proxy( 
  2273.     IRTCPresenceContact * This,
  2274.     /* [in] */ VARIANT_BOOL fPersistent);
  2275. void __RPC_STUB IRTCPresenceContact_put_Persistent_Stub(
  2276.     IRpcStubBuffer *This,
  2277.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2278.     PRPC_MESSAGE _pRpcMessage,
  2279.     DWORD *_pdwStubPhase);
  2280. #endif  /* __IRTCPresenceContact_INTERFACE_DEFINED__ */
  2281. #ifndef __IRTCBuddy_INTERFACE_DEFINED__
  2282. #define __IRTCBuddy_INTERFACE_DEFINED__
  2283. /* interface IRTCBuddy */
  2284. /* [unique][helpstring][uuid][object] */ 
  2285. EXTERN_C const IID IID_IRTCBuddy;
  2286. #if defined(__cplusplus) && !defined(CINTERFACE)
  2287.     
  2288.     MIDL_INTERFACE("fcb136c8-7b90-4e0c-befe-56edf0ba6f1c")
  2289.     IRTCBuddy : public IRTCPresenceContact
  2290.     {
  2291.     public:
  2292.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Status( 
  2293.             /* [retval][out] */ RTC_PRESENCE_STATUS *penStatus) = 0;
  2294.         
  2295.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Notes( 
  2296.             /* [retval][out] */ BSTR *pbstrNotes) = 0;
  2297.         
  2298.     };
  2299.     
  2300. #else  /* C style interface */
  2301.     typedef struct IRTCBuddyVtbl
  2302.     {
  2303.         BEGIN_INTERFACE
  2304.         
  2305.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2306.             IRTCBuddy * This,
  2307.             /* [in] */ REFIID riid,
  2308.             /* [iid_is][out] */ void **ppvObject);
  2309.         
  2310.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2311.             IRTCBuddy * This);
  2312.         
  2313.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2314.             IRTCBuddy * This);
  2315.         
  2316.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PresentityURI )( 
  2317.             IRTCBuddy * This,
  2318.             /* [retval][out] */ BSTR *pbstrPresentityURI);
  2319.         
  2320.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PresentityURI )( 
  2321.             IRTCBuddy * This,
  2322.             /* [in] */ BSTR bstrPresentityURI);
  2323.         
  2324.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  2325.             IRTCBuddy * This,
  2326.             /* [retval][out] */ BSTR *pbstrName);
  2327.         
  2328.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
  2329.             IRTCBuddy * This,
  2330.             /* [in] */ BSTR bstrName);
  2331.         
  2332.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Data )( 
  2333.             IRTCBuddy * This,
  2334.             /* [retval][out] */ BSTR *pbstrData);
  2335.         
  2336.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Data )( 
  2337.             IRTCBuddy * This,
  2338.             /* [in] */ BSTR bstrData);
  2339.         
  2340.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Persistent )( 
  2341.             IRTCBuddy * This,
  2342.             /* [retval][out] */ VARIANT_BOOL *pfPersistent);
  2343.         
  2344.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Persistent )( 
  2345.             IRTCBuddy * This,
  2346.             /* [in] */ VARIANT_BOOL fPersistent);
  2347.         
  2348.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
  2349.             IRTCBuddy * This,
  2350.             /* [retval][out] */ RTC_PRESENCE_STATUS *penStatus);
  2351.         
  2352.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Notes )( 
  2353.             IRTCBuddy * This,
  2354.             /* [retval][out] */ BSTR *pbstrNotes);
  2355.         
  2356.         END_INTERFACE
  2357.     } IRTCBuddyVtbl;
  2358.     interface IRTCBuddy
  2359.     {
  2360.         CONST_VTBL struct IRTCBuddyVtbl *lpVtbl;
  2361.     };
  2362.     
  2363. #ifdef COBJMACROS
  2364. #define IRTCBuddy_QueryInterface(This,riid,ppvObject)
  2365.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2366. #define IRTCBuddy_AddRef(This)
  2367.     (This)->lpVtbl -> AddRef(This)
  2368. #define IRTCBuddy_Release(This)
  2369.     (This)->lpVtbl -> Release(This)
  2370. #define IRTCBuddy_get_PresentityURI(This,pbstrPresentityURI)
  2371.     (This)->lpVtbl -> get_PresentityURI(This,pbstrPresentityURI)
  2372. #define IRTCBuddy_put_PresentityURI(This,bstrPresentityURI)
  2373.     (This)->lpVtbl -> put_PresentityURI(This,bstrPresentityURI)
  2374. #define IRTCBuddy_get_Name(This,pbstrName)
  2375.     (This)->lpVtbl -> get_Name(This,pbstrName)
  2376. #define IRTCBuddy_put_Name(This,bstrName)
  2377.     (This)->lpVtbl -> put_Name(This,bstrName)
  2378. #define IRTCBuddy_get_Data(This,pbstrData)
  2379.     (This)->lpVtbl -> get_Data(This,pbstrData)
  2380. #define IRTCBuddy_put_Data(This,bstrData)
  2381.     (This)->lpVtbl -> put_Data(This,bstrData)
  2382. #define IRTCBuddy_get_Persistent(This,pfPersistent)
  2383.     (This)->lpVtbl -> get_Persistent(This,pfPersistent)
  2384. #define IRTCBuddy_put_Persistent(This,fPersistent)
  2385.     (This)->lpVtbl -> put_Persistent(This,fPersistent)
  2386. #define IRTCBuddy_get_Status(This,penStatus)
  2387.     (This)->lpVtbl -> get_Status(This,penStatus)
  2388. #define IRTCBuddy_get_Notes(This,pbstrNotes)
  2389.     (This)->lpVtbl -> get_Notes(This,pbstrNotes)
  2390. #endif /* COBJMACROS */
  2391. #endif  /* C style interface */
  2392. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCBuddy_get_Status_Proxy( 
  2393.     IRTCBuddy * This,
  2394.     /* [retval][out] */ RTC_PRESENCE_STATUS *penStatus);
  2395. void __RPC_STUB IRTCBuddy_get_Status_Stub(
  2396.     IRpcStubBuffer *This,
  2397.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2398.     PRPC_MESSAGE _pRpcMessage,
  2399.     DWORD *_pdwStubPhase);
  2400. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCBuddy_get_Notes_Proxy( 
  2401.     IRTCBuddy * This,
  2402.     /* [retval][out] */ BSTR *pbstrNotes);
  2403. void __RPC_STUB IRTCBuddy_get_Notes_Stub(
  2404.     IRpcStubBuffer *This,
  2405.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2406.     PRPC_MESSAGE _pRpcMessage,
  2407.     DWORD *_pdwStubPhase);
  2408. #endif  /* __IRTCBuddy_INTERFACE_DEFINED__ */
  2409. #ifndef __IRTCWatcher_INTERFACE_DEFINED__
  2410. #define __IRTCWatcher_INTERFACE_DEFINED__
  2411. /* interface IRTCWatcher */
  2412. /* [unique][helpstring][uuid][object] */ 
  2413. EXTERN_C const IID IID_IRTCWatcher;
  2414. #if defined(__cplusplus) && !defined(CINTERFACE)
  2415.     
  2416.     MIDL_INTERFACE("c7cedad8-346b-4d1b-ac02-a2088df9be4f")
  2417.     IRTCWatcher : public IRTCPresenceContact
  2418.     {
  2419.     public:
  2420.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_State( 
  2421.             /* [retval][out] */ RTC_WATCHER_STATE *penState) = 0;
  2422.         
  2423.         virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_State( 
  2424.             /* [in] */ RTC_WATCHER_STATE enState) = 0;
  2425.         
  2426.     };
  2427.     
  2428. #else  /* C style interface */
  2429.     typedef struct IRTCWatcherVtbl
  2430.     {
  2431.         BEGIN_INTERFACE
  2432.         
  2433.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2434.             IRTCWatcher * This,
  2435.             /* [in] */ REFIID riid,
  2436.             /* [iid_is][out] */ void **ppvObject);
  2437.         
  2438.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2439.             IRTCWatcher * This);
  2440.         
  2441.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2442.             IRTCWatcher * This);
  2443.         
  2444.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PresentityURI )( 
  2445.             IRTCWatcher * This,
  2446.             /* [retval][out] */ BSTR *pbstrPresentityURI);
  2447.         
  2448.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PresentityURI )( 
  2449.             IRTCWatcher * This,
  2450.             /* [in] */ BSTR bstrPresentityURI);
  2451.         
  2452.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  2453.             IRTCWatcher * This,
  2454.             /* [retval][out] */ BSTR *pbstrName);
  2455.         
  2456.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
  2457.             IRTCWatcher * This,
  2458.             /* [in] */ BSTR bstrName);
  2459.         
  2460.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Data )( 
  2461.             IRTCWatcher * This,
  2462.             /* [retval][out] */ BSTR *pbstrData);
  2463.         
  2464.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Data )( 
  2465.             IRTCWatcher * This,
  2466.             /* [in] */ BSTR bstrData);
  2467.         
  2468.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Persistent )( 
  2469.             IRTCWatcher * This,
  2470.             /* [retval][out] */ VARIANT_BOOL *pfPersistent);
  2471.         
  2472.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Persistent )( 
  2473.             IRTCWatcher * This,
  2474.             /* [in] */ VARIANT_BOOL fPersistent);
  2475.         
  2476.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
  2477.             IRTCWatcher * This,
  2478.             /* [retval][out] */ RTC_WATCHER_STATE *penState);
  2479.         
  2480.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_State )( 
  2481.             IRTCWatcher * This,
  2482.             /* [in] */ RTC_WATCHER_STATE enState);
  2483.         
  2484.         END_INTERFACE
  2485.     } IRTCWatcherVtbl;
  2486.     interface IRTCWatcher
  2487.     {
  2488.         CONST_VTBL struct IRTCWatcherVtbl *lpVtbl;
  2489.     };
  2490.     
  2491. #ifdef COBJMACROS
  2492. #define IRTCWatcher_QueryInterface(This,riid,ppvObject)
  2493.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2494. #define IRTCWatcher_AddRef(This)
  2495.     (This)->lpVtbl -> AddRef(This)
  2496. #define IRTCWatcher_Release(This)
  2497.     (This)->lpVtbl -> Release(This)
  2498. #define IRTCWatcher_get_PresentityURI(This,pbstrPresentityURI)
  2499.     (This)->lpVtbl -> get_PresentityURI(This,pbstrPresentityURI)
  2500. #define IRTCWatcher_put_PresentityURI(This,bstrPresentityURI)
  2501.     (This)->lpVtbl -> put_PresentityURI(This,bstrPresentityURI)
  2502. #define IRTCWatcher_get_Name(This,pbstrName)
  2503.     (This)->lpVtbl -> get_Name(This,pbstrName)
  2504. #define IRTCWatcher_put_Name(This,bstrName)
  2505.     (This)->lpVtbl -> put_Name(This,bstrName)
  2506. #define IRTCWatcher_get_Data(This,pbstrData)
  2507.     (This)->lpVtbl -> get_Data(This,pbstrData)
  2508. #define IRTCWatcher_put_Data(This,bstrData)
  2509.     (This)->lpVtbl -> put_Data(This,bstrData)
  2510. #define IRTCWatcher_get_Persistent(This,pfPersistent)
  2511.     (This)->lpVtbl -> get_Persistent(This,pfPersistent)
  2512. #define IRTCWatcher_put_Persistent(This,fPersistent)
  2513.     (This)->lpVtbl -> put_Persistent(This,fPersistent)
  2514. #define IRTCWatcher_get_State(This,penState)
  2515.     (This)->lpVtbl -> get_State(This,penState)
  2516. #define IRTCWatcher_put_State(This,enState)
  2517.     (This)->lpVtbl -> put_State(This,enState)
  2518. #endif /* COBJMACROS */
  2519. #endif  /* C style interface */
  2520. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCWatcher_get_State_Proxy( 
  2521.     IRTCWatcher * This,
  2522.     /* [retval][out] */ RTC_WATCHER_STATE *penState);
  2523. void __RPC_STUB IRTCWatcher_get_State_Stub(
  2524.     IRpcStubBuffer *This,
  2525.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2526.     PRPC_MESSAGE _pRpcMessage,
  2527.     DWORD *_pdwStubPhase);
  2528. /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRTCWatcher_put_State_Proxy( 
  2529.     IRTCWatcher * This,
  2530.     /* [in] */ RTC_WATCHER_STATE enState);
  2531. void __RPC_STUB IRTCWatcher_put_State_Stub(
  2532.     IRpcStubBuffer *This,
  2533.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2534.     PRPC_MESSAGE _pRpcMessage,
  2535.     DWORD *_pdwStubPhase);
  2536. #endif  /* __IRTCWatcher_INTERFACE_DEFINED__ */
  2537. #ifndef __IRTCEventNotification_INTERFACE_DEFINED__
  2538. #define __IRTCEventNotification_INTERFACE_DEFINED__
  2539. /* interface IRTCEventNotification */
  2540. /* [unique][oleautomation][helpstring][uuid][object] */ 
  2541. EXTERN_C const IID IID_IRTCEventNotification;
  2542. #if defined(__cplusplus) && !defined(CINTERFACE)
  2543.     
  2544.     MIDL_INTERFACE("13fa24c7-5748-4b21-91f5-7397609ce747")
  2545.     IRTCEventNotification : public IUnknown
  2546.     {
  2547.     public:
  2548.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Event( 
  2549.             /* [in] */ RTC_EVENT RTCEvent,
  2550.             /* [in] */ IDispatch *pEvent) = 0;
  2551.         
  2552.     };
  2553.     
  2554. #else  /* C style interface */
  2555.     typedef struct IRTCEventNotificationVtbl
  2556.     {
  2557.         BEGIN_INTERFACE
  2558.         
  2559.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2560.             IRTCEventNotification * This,
  2561.             /* [in] */ REFIID riid,
  2562.             /* [iid_is][out] */ void **ppvObject);
  2563.         
  2564.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2565.             IRTCEventNotification * This);
  2566.         
  2567.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2568.             IRTCEventNotification * This);
  2569.         
  2570.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Event )( 
  2571.             IRTCEventNotification * This,
  2572.             /* [in] */ RTC_EVENT RTCEvent,
  2573.             /* [in] */ IDispatch *pEvent);
  2574.         
  2575.         END_INTERFACE
  2576.     } IRTCEventNotificationVtbl;
  2577.     interface IRTCEventNotification
  2578.     {
  2579.         CONST_VTBL struct IRTCEventNotificationVtbl *lpVtbl;
  2580.     };
  2581.     
  2582. #ifdef COBJMACROS
  2583. #define IRTCEventNotification_QueryInterface(This,riid,ppvObject)
  2584.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2585. #define IRTCEventNotification_AddRef(This)
  2586.     (This)->lpVtbl -> AddRef(This)
  2587. #define IRTCEventNotification_Release(This)
  2588.     (This)->lpVtbl -> Release(This)
  2589. #define IRTCEventNotification_Event(This,RTCEvent,pEvent)
  2590.     (This)->lpVtbl -> Event(This,RTCEvent,pEvent)
  2591. #endif /* COBJMACROS */
  2592. #endif  /* C style interface */
  2593. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRTCEventNotification_Event_Proxy( 
  2594.     IRTCEventNotification * This,
  2595.     /* [in] */ RTC_EVENT RTCEvent,
  2596.     /* [in] */ IDispatch *pEvent);
  2597. void __RPC_STUB IRTCEventNotification_Event_Stub(
  2598.     IRpcStubBuffer *This,
  2599.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2600.     PRPC_MESSAGE _pRpcMessage,
  2601.     DWORD *_pdwStubPhase);
  2602. #endif  /* __IRTCEventNotification_INTERFACE_DEFINED__ */
  2603. #ifndef __RTCCORELib_LIBRARY_DEFINED__
  2604. #define __RTCCORELib_LIBRARY_DEFINED__
  2605. /* library RTCCORELib */
  2606. /* [helpstring][version][uuid] */ 
  2607. EXTERN_C const IID LIBID_RTCCORELib;
  2608. #ifndef __IRTCDispatchEventNotification_DISPINTERFACE_DEFINED__
  2609. #define __IRTCDispatchEventNotification_DISPINTERFACE_DEFINED__
  2610. /* dispinterface IRTCDispatchEventNotification */
  2611. /* [helpstring][uuid] */ 
  2612. EXTERN_C const IID DIID_IRTCDispatchEventNotification;
  2613. #if defined(__cplusplus) && !defined(CINTERFACE)
  2614.     MIDL_INTERFACE("176ddfbe-fec0-4d55-bc87-84cff1ef7f91")
  2615.     IRTCDispatchEventNotification : public IDispatch
  2616.     {
  2617.     };
  2618.     
  2619. #else  /* C style interface */
  2620.     typedef struct IRTCDispatchEventNotificationVtbl
  2621.     {
  2622.         BEGIN_INTERFACE
  2623.         
  2624.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2625.             IRTCDispatchEventNotification * This,
  2626.             /* [in] */ REFIID riid,
  2627.             /* [iid_is][out] */ void **ppvObject);
  2628.         
  2629.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2630.             IRTCDispatchEventNotification * This);
  2631.         
  2632.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2633.             IRTCDispatchEventNotification * This);
  2634.         
  2635.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  2636.             IRTCDispatchEventNotification * This,
  2637.             /* [out] */ UINT *pctinfo);
  2638.         
  2639.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  2640.             IRTCDispatchEventNotification * This,
  2641.             /* [in] */ UINT iTInfo,
  2642.             /* [in] */ LCID lcid,
  2643.             /* [out] */ ITypeInfo **ppTInfo);
  2644.         
  2645.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  2646.             IRTCDispatchEventNotification * This,
  2647.             /* [in] */ REFIID riid,
  2648.             /* [size_is][in] */ LPOLESTR *rgszNames,
  2649.             /* [in] */ UINT cNames,
  2650.             /* [in] */ LCID lcid,
  2651.             /* [size_is][out] */ DISPID *rgDispId);
  2652.         
  2653.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  2654.             IRTCDispatchEventNotification * This,
  2655.             /* [in] */ DISPID dispIdMember,
  2656.             /* [in] */ REFIID riid,
  2657.             /* [in] */ LCID lcid,
  2658.             /* [in] */ WORD wFlags,
  2659.             /* [out][in] */ DISPPARAMS *pDispParams,
  2660.             /* [out] */ VARIANT *pVarResult,
  2661.             /* [out] */ EXCEPINFO *pExcepInfo,
  2662.             /* [out] */ UINT *puArgErr);
  2663.         
  2664.         END_INTERFACE
  2665.     } IRTCDispatchEventNotificationVtbl;
  2666.     interface IRTCDispatchEventNotification
  2667.     {
  2668.         CONST_VTBL struct IRTCDispatchEventNotificationVtbl *lpVtbl;
  2669.     };
  2670.     
  2671. #ifdef COBJMACROS
  2672. #define IRTCDispatchEventNotification_QueryInterface(This,riid,ppvObject)
  2673.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2674. #define IRTCDispatchEventNotification_AddRef(This)
  2675.     (This)->lpVtbl -> AddRef(This)
  2676. #define IRTCDispatchEventNotification_Release(This)
  2677.     (This)->lpVtbl -> Release(This)
  2678. #define IRTCDispatchEventNotification_GetTypeInfoCount(This,pctinfo)
  2679.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2680. #define IRTCDispatchEventNotification_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2681.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2682. #define IRTCDispatchEventNotification_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2683.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2684. #define IRTCDispatchEventNotification_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2685.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2686. #endif /* COBJMACROS */
  2687. #endif  /* C style interface */
  2688. #endif  /* __IRTCDispatchEventNotification_DISPINTERFACE_DEFINED__ */
  2689. EXTERN_C const CLSID CLSID_RTCClient;
  2690. #ifdef __cplusplus
  2691. class DECLSPEC_UUID("7a42ea29-a2b7-40c4-b091-f6f024aa89be")
  2692. RTCClient;
  2693. #endif
  2694. #endif /* __RTCCORELib_LIBRARY_DEFINED__ */
  2695. /* Additional Prototypes for ALL interfaces */
  2696. unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
  2697. unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
  2698. unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
  2699. void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 
  2700. unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 
  2701. unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 
  2702. unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 
  2703. void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 
  2704. /* end of Additional Prototypes */
  2705. #ifdef __cplusplus
  2706. }
  2707. #endif
  2708. #endif