|  | /** | 
|  | * This file has no copyright assigned and is placed in the Public Domain. | 
|  | * This file is part of the w64 mingw-runtime package. | 
|  | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | 
|  | */ | 
|  | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 
|  | #define __REQUIRED_RPCNDR_H_VERSION__ 475 | 
|  | #endif | 
|  |  | 
|  | #include "rpc.h" | 
|  | #include "rpcndr.h" | 
|  |  | 
|  | #ifndef __RPCNDR_H_VERSION__ | 
|  | #error This stub requires an updated version of <rpcndr.h> | 
|  | #endif | 
|  |  | 
|  | #ifndef COM_NO_WINDOWS_H | 
|  | #include "windows.h" | 
|  | #include "ole2.h" | 
|  | #endif | 
|  |  | 
|  | #ifndef __confpriv_h__ | 
|  | #define __confpriv_h__ | 
|  |  | 
|  | #ifndef __IDummy_FWD_DEFINED__ | 
|  | #define __IDummy_FWD_DEFINED__ | 
|  | typedef struct IDummy IDummy; | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITLocalParticipant_FWD_DEFINED__ | 
|  | #define __ITLocalParticipant_FWD_DEFINED__ | 
|  | typedef struct ITLocalParticipant ITLocalParticipant; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IEnumParticipant_FWD_DEFINED__ | 
|  | #define __IEnumParticipant_FWD_DEFINED__ | 
|  | typedef struct IEnumParticipant IEnumParticipant; | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITParticipantControl_FWD_DEFINED__ | 
|  | #define __ITParticipantControl_FWD_DEFINED__ | 
|  | typedef struct ITParticipantControl ITParticipantControl; | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITParticipantSubStreamControl_FWD_DEFINED__ | 
|  | #define __ITParticipantSubStreamControl_FWD_DEFINED__ | 
|  | typedef struct ITParticipantSubStreamControl ITParticipantSubStreamControl; | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITParticipantEvent_FWD_DEFINED__ | 
|  | #define __ITParticipantEvent_FWD_DEFINED__ | 
|  | typedef struct ITParticipantEvent ITParticipantEvent; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMulticastControl_FWD_DEFINED__ | 
|  | #define __IMulticastControl_FWD_DEFINED__ | 
|  | typedef struct IMulticastControl IMulticastControl; | 
|  | #endif | 
|  |  | 
|  | #include "ipmsp.h" | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | extern "C"{ | 
|  | #endif | 
|  |  | 
|  | #ifndef __MIDL_user_allocate_free_DEFINED__ | 
|  | #define __MIDL_user_allocate_free_DEFINED__ | 
|  | void *__RPC_API MIDL_user_allocate(size_t); | 
|  | void __RPC_API MIDL_user_free(void *); | 
|  | #endif | 
|  |  | 
|  | typedef enum MULTICAST_LOOPBACK_MODE { | 
|  | MM_NO_LOOPBACK = 0,MM_FULL_LOOPBACK,MM_SELECTIVE_LOOPBACK | 
|  | } MULTICAST_LOOPBACK_MODE; | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_confpriv_0000_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_confpriv_0000_v0_0_s_ifspec; | 
|  |  | 
|  | #ifndef __IDummy_INTERFACE_DEFINED__ | 
|  | #define __IDummy_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IDummy; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IDummy : public IUnknown { | 
|  | public: | 
|  | }; | 
|  | #else | 
|  | typedef struct IDummyVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IDummy *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IDummy *This); | 
|  | ULONG (WINAPI *Release)(IDummy *This); | 
|  | END_INTERFACE | 
|  | } IDummyVtbl; | 
|  | struct IDummy { | 
|  | CONST_VTBL struct IDummyVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IDummy_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IDummy_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IDummy_Release(This) (This)->lpVtbl->Release(This) | 
|  | #endif | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITLocalParticipant_INTERFACE_DEFINED__ | 
|  | #define __ITLocalParticipant_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_ITLocalParticipant; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct ITLocalParticipant : public IDispatch { | 
|  | public: | 
|  | virtual HRESULT WINAPI get_LocalParticipantTypedInfo(PARTICIPANT_TYPED_INFO InfoType,BSTR *ppInfo) = 0; | 
|  | virtual HRESULT WINAPI put_LocalParticipantTypedInfo(PARTICIPANT_TYPED_INFO InfoType,BSTR pInfo) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct ITLocalParticipantVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(ITLocalParticipant *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(ITLocalParticipant *This); | 
|  | ULONG (WINAPI *Release)(ITLocalParticipant *This); | 
|  | HRESULT (WINAPI *GetTypeInfoCount)(ITLocalParticipant *This,UINT *pctinfo); | 
|  | HRESULT (WINAPI *GetTypeInfo)(ITLocalParticipant *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); | 
|  | HRESULT (WINAPI *GetIDsOfNames)(ITLocalParticipant *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); | 
|  | HRESULT (WINAPI *Invoke)(ITLocalParticipant *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); | 
|  | HRESULT (WINAPI *get_LocalParticipantTypedInfo)(ITLocalParticipant *This,PARTICIPANT_TYPED_INFO InfoType,BSTR *ppInfo); | 
|  | HRESULT (WINAPI *put_LocalParticipantTypedInfo)(ITLocalParticipant *This,PARTICIPANT_TYPED_INFO InfoType,BSTR pInfo); | 
|  | END_INTERFACE | 
|  | } ITLocalParticipantVtbl; | 
|  | struct ITLocalParticipant { | 
|  | CONST_VTBL struct ITLocalParticipantVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define ITLocalParticipant_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITLocalParticipant_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITLocalParticipant_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define ITLocalParticipant_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) | 
|  | #define ITLocalParticipant_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) | 
|  | #define ITLocalParticipant_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) | 
|  | #define ITLocalParticipant_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) | 
|  | #define ITLocalParticipant_get_LocalParticipantTypedInfo(This,InfoType,ppInfo) (This)->lpVtbl->get_LocalParticipantTypedInfo(This,InfoType,ppInfo) | 
|  | #define ITLocalParticipant_put_LocalParticipantTypedInfo(This,InfoType,pInfo) (This)->lpVtbl->put_LocalParticipantTypedInfo(This,InfoType,pInfo) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI ITLocalParticipant_get_LocalParticipantTypedInfo_Proxy(ITLocalParticipant *This,PARTICIPANT_TYPED_INFO InfoType,BSTR *ppInfo); | 
|  | void __RPC_STUB ITLocalParticipant_get_LocalParticipantTypedInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI ITLocalParticipant_put_LocalParticipantTypedInfo_Proxy(ITLocalParticipant *This,PARTICIPANT_TYPED_INFO InfoType,BSTR pInfo); | 
|  | void __RPC_STUB ITLocalParticipant_put_LocalParticipantTypedInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #ifndef __IEnumParticipant_INTERFACE_DEFINED__ | 
|  | #define __IEnumParticipant_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IEnumParticipant; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IEnumParticipant : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI Next(ULONG celt,ITParticipant **ppElements,ULONG *pceltFetched) = 0; | 
|  | virtual HRESULT WINAPI Reset(void) = 0; | 
|  | virtual HRESULT WINAPI Skip(ULONG celt) = 0; | 
|  | virtual HRESULT WINAPI Clone(IEnumParticipant **ppEnum) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IEnumParticipantVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IEnumParticipant *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IEnumParticipant *This); | 
|  | ULONG (WINAPI *Release)(IEnumParticipant *This); | 
|  | HRESULT (WINAPI *Next)(IEnumParticipant *This,ULONG celt,ITParticipant **ppElements,ULONG *pceltFetched); | 
|  | HRESULT (WINAPI *Reset)(IEnumParticipant *This); | 
|  | HRESULT (WINAPI *Skip)(IEnumParticipant *This,ULONG celt); | 
|  | HRESULT (WINAPI *Clone)(IEnumParticipant *This,IEnumParticipant **ppEnum); | 
|  | END_INTERFACE | 
|  | } IEnumParticipantVtbl; | 
|  | struct IEnumParticipant { | 
|  | CONST_VTBL struct IEnumParticipantVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IEnumParticipant_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IEnumParticipant_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IEnumParticipant_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IEnumParticipant_Next(This,celt,ppElements,pceltFetched) (This)->lpVtbl->Next(This,celt,ppElements,pceltFetched) | 
|  | #define IEnumParticipant_Reset(This) (This)->lpVtbl->Reset(This) | 
|  | #define IEnumParticipant_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) | 
|  | #define IEnumParticipant_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IEnumParticipant_Next_Proxy(IEnumParticipant *This,ULONG celt,ITParticipant **ppElements,ULONG *pceltFetched); | 
|  | void __RPC_STUB IEnumParticipant_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IEnumParticipant_Reset_Proxy(IEnumParticipant *This); | 
|  | void __RPC_STUB IEnumParticipant_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IEnumParticipant_Skip_Proxy(IEnumParticipant *This,ULONG celt); | 
|  | void __RPC_STUB IEnumParticipant_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IEnumParticipant_Clone_Proxy(IEnumParticipant *This,IEnumParticipant **ppEnum); | 
|  | void __RPC_STUB IEnumParticipant_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITParticipantControl_INTERFACE_DEFINED__ | 
|  | #define __ITParticipantControl_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_ITParticipantControl; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct ITParticipantControl : public IDispatch { | 
|  | public: | 
|  | virtual HRESULT WINAPI EnumerateParticipants(IEnumParticipant **ppEnumParticipants) = 0; | 
|  | virtual HRESULT WINAPI get_Participants(VARIANT *pVariant) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct ITParticipantControlVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(ITParticipantControl *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(ITParticipantControl *This); | 
|  | ULONG (WINAPI *Release)(ITParticipantControl *This); | 
|  | HRESULT (WINAPI *GetTypeInfoCount)(ITParticipantControl *This,UINT *pctinfo); | 
|  | HRESULT (WINAPI *GetTypeInfo)(ITParticipantControl *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); | 
|  | HRESULT (WINAPI *GetIDsOfNames)(ITParticipantControl *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); | 
|  | HRESULT (WINAPI *Invoke)(ITParticipantControl *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); | 
|  | HRESULT (WINAPI *EnumerateParticipants)(ITParticipantControl *This,IEnumParticipant **ppEnumParticipants); | 
|  | HRESULT (WINAPI *get_Participants)(ITParticipantControl *This,VARIANT *pVariant); | 
|  | END_INTERFACE | 
|  | } ITParticipantControlVtbl; | 
|  | struct ITParticipantControl { | 
|  | CONST_VTBL struct ITParticipantControlVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define ITParticipantControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITParticipantControl_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITParticipantControl_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define ITParticipantControl_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) | 
|  | #define ITParticipantControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) | 
|  | #define ITParticipantControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) | 
|  | #define ITParticipantControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) | 
|  | #define ITParticipantControl_EnumerateParticipants(This,ppEnumParticipants) (This)->lpVtbl->EnumerateParticipants(This,ppEnumParticipants) | 
|  | #define ITParticipantControl_get_Participants(This,pVariant) (This)->lpVtbl->get_Participants(This,pVariant) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI ITParticipantControl_EnumerateParticipants_Proxy(ITParticipantControl *This,IEnumParticipant **ppEnumParticipants); | 
|  | void __RPC_STUB ITParticipantControl_EnumerateParticipants_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI ITParticipantControl_get_Participants_Proxy(ITParticipantControl *This,VARIANT *pVariant); | 
|  | void __RPC_STUB ITParticipantControl_get_Participants_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITParticipantSubStreamControl_INTERFACE_DEFINED__ | 
|  | #define __ITParticipantSubStreamControl_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_ITParticipantSubStreamControl; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct ITParticipantSubStreamControl : public IDispatch { | 
|  | public: | 
|  | virtual HRESULT WINAPI get_SubStreamFromParticipant(ITParticipant *pParticipant,ITSubStream **ppITSubStream) = 0; | 
|  | virtual HRESULT WINAPI get_ParticipantFromSubStream(ITSubStream *pITSubStream,ITParticipant **ppParticipant) = 0; | 
|  | virtual HRESULT WINAPI SwitchTerminalToSubStream(ITTerminal *pITTerminal,ITSubStream *pITSubStream) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct ITParticipantSubStreamControlVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(ITParticipantSubStreamControl *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(ITParticipantSubStreamControl *This); | 
|  | ULONG (WINAPI *Release)(ITParticipantSubStreamControl *This); | 
|  | HRESULT (WINAPI *GetTypeInfoCount)(ITParticipantSubStreamControl *This,UINT *pctinfo); | 
|  | HRESULT (WINAPI *GetTypeInfo)(ITParticipantSubStreamControl *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); | 
|  | HRESULT (WINAPI *GetIDsOfNames)(ITParticipantSubStreamControl *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); | 
|  | HRESULT (WINAPI *Invoke)(ITParticipantSubStreamControl *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); | 
|  | HRESULT (WINAPI *get_SubStreamFromParticipant)(ITParticipantSubStreamControl *This,ITParticipant *pParticipant,ITSubStream **ppITSubStream); | 
|  | HRESULT (WINAPI *get_ParticipantFromSubStream)(ITParticipantSubStreamControl *This,ITSubStream *pITSubStream,ITParticipant **ppParticipant); | 
|  | HRESULT (WINAPI *SwitchTerminalToSubStream)(ITParticipantSubStreamControl *This,ITTerminal *pITTerminal,ITSubStream *pITSubStream); | 
|  | END_INTERFACE | 
|  | } ITParticipantSubStreamControlVtbl; | 
|  | struct ITParticipantSubStreamControl { | 
|  | CONST_VTBL struct ITParticipantSubStreamControlVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define ITParticipantSubStreamControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITParticipantSubStreamControl_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITParticipantSubStreamControl_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define ITParticipantSubStreamControl_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) | 
|  | #define ITParticipantSubStreamControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) | 
|  | #define ITParticipantSubStreamControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) | 
|  | #define ITParticipantSubStreamControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) | 
|  | #define ITParticipantSubStreamControl_get_SubStreamFromParticipant(This,pParticipant,ppITSubStream) (This)->lpVtbl->get_SubStreamFromParticipant(This,pParticipant,ppITSubStream) | 
|  | #define ITParticipantSubStreamControl_get_ParticipantFromSubStream(This,pITSubStream,ppParticipant) (This)->lpVtbl->get_ParticipantFromSubStream(This,pITSubStream,ppParticipant) | 
|  | #define ITParticipantSubStreamControl_SwitchTerminalToSubStream(This,pITTerminal,pITSubStream) (This)->lpVtbl->SwitchTerminalToSubStream(This,pITTerminal,pITSubStream) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI ITParticipantSubStreamControl_get_SubStreamFromParticipant_Proxy(ITParticipantSubStreamControl *This,ITParticipant *pParticipant,ITSubStream **ppITSubStream); | 
|  | void __RPC_STUB ITParticipantSubStreamControl_get_SubStreamFromParticipant_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI ITParticipantSubStreamControl_get_ParticipantFromSubStream_Proxy(ITParticipantSubStreamControl *This,ITSubStream *pITSubStream,ITParticipant **ppParticipant); | 
|  | void __RPC_STUB ITParticipantSubStreamControl_get_ParticipantFromSubStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI ITParticipantSubStreamControl_SwitchTerminalToSubStream_Proxy(ITParticipantSubStreamControl *This,ITTerminal *pITTerminal,ITSubStream *pITSubStream); | 
|  | void __RPC_STUB ITParticipantSubStreamControl_SwitchTerminalToSubStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITParticipantEvent_INTERFACE_DEFINED__ | 
|  | #define __ITParticipantEvent_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_ITParticipantEvent; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct ITParticipantEvent : public IDispatch { | 
|  | public: | 
|  | virtual HRESULT WINAPI get_Event(PARTICIPANT_EVENT *pParticipantEvent) = 0; | 
|  | virtual HRESULT WINAPI get_Participant(ITParticipant **ppParticipant) = 0; | 
|  | virtual HRESULT WINAPI get_SubStream(ITSubStream **ppSubStream) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct ITParticipantEventVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(ITParticipantEvent *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(ITParticipantEvent *This); | 
|  | ULONG (WINAPI *Release)(ITParticipantEvent *This); | 
|  | HRESULT (WINAPI *GetTypeInfoCount)(ITParticipantEvent *This,UINT *pctinfo); | 
|  | HRESULT (WINAPI *GetTypeInfo)(ITParticipantEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); | 
|  | HRESULT (WINAPI *GetIDsOfNames)(ITParticipantEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); | 
|  | HRESULT (WINAPI *Invoke)(ITParticipantEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); | 
|  | HRESULT (WINAPI *get_Event)(ITParticipantEvent *This,PARTICIPANT_EVENT *pParticipantEvent); | 
|  | HRESULT (WINAPI *get_Participant)(ITParticipantEvent *This,ITParticipant **ppParticipant); | 
|  | HRESULT (WINAPI *get_SubStream)(ITParticipantEvent *This,ITSubStream **ppSubStream); | 
|  | END_INTERFACE | 
|  | } ITParticipantEventVtbl; | 
|  | struct ITParticipantEvent { | 
|  | CONST_VTBL struct ITParticipantEventVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define ITParticipantEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITParticipantEvent_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITParticipantEvent_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define ITParticipantEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) | 
|  | #define ITParticipantEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) | 
|  | #define ITParticipantEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) | 
|  | #define ITParticipantEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) | 
|  | #define ITParticipantEvent_get_Event(This,pParticipantEvent) (This)->lpVtbl->get_Event(This,pParticipantEvent) | 
|  | #define ITParticipantEvent_get_Participant(This,ppParticipant) (This)->lpVtbl->get_Participant(This,ppParticipant) | 
|  | #define ITParticipantEvent_get_SubStream(This,ppSubStream) (This)->lpVtbl->get_SubStream(This,ppSubStream) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI ITParticipantEvent_get_Event_Proxy(ITParticipantEvent *This,PARTICIPANT_EVENT *pParticipantEvent); | 
|  | void __RPC_STUB ITParticipantEvent_get_Event_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI ITParticipantEvent_get_Participant_Proxy(ITParticipantEvent *This,ITParticipant **ppParticipant); | 
|  | void __RPC_STUB ITParticipantEvent_get_Participant_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI ITParticipantEvent_get_SubStream_Proxy(ITParticipantEvent *This,ITSubStream **ppSubStream); | 
|  | void __RPC_STUB ITParticipantEvent_get_SubStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMulticastControl_INTERFACE_DEFINED__ | 
|  | #define __IMulticastControl_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IMulticastControl; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IMulticastControl : public IDispatch { | 
|  | public: | 
|  | virtual HRESULT WINAPI get_LoopbackMode(MULTICAST_LOOPBACK_MODE *pMode) = 0; | 
|  | virtual HRESULT WINAPI put_LoopbackMode(MULTICAST_LOOPBACK_MODE mode) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IMulticastControlVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IMulticastControl *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IMulticastControl *This); | 
|  | ULONG (WINAPI *Release)(IMulticastControl *This); | 
|  | HRESULT (WINAPI *GetTypeInfoCount)(IMulticastControl *This,UINT *pctinfo); | 
|  | HRESULT (WINAPI *GetTypeInfo)(IMulticastControl *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); | 
|  | HRESULT (WINAPI *GetIDsOfNames)(IMulticastControl *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); | 
|  | HRESULT (WINAPI *Invoke)(IMulticastControl *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); | 
|  | HRESULT (WINAPI *get_LoopbackMode)(IMulticastControl *This,MULTICAST_LOOPBACK_MODE *pMode); | 
|  | HRESULT (WINAPI *put_LoopbackMode)(IMulticastControl *This,MULTICAST_LOOPBACK_MODE mode); | 
|  | END_INTERFACE | 
|  | } IMulticastControlVtbl; | 
|  | struct IMulticastControl { | 
|  | CONST_VTBL struct IMulticastControlVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IMulticastControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IMulticastControl_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IMulticastControl_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IMulticastControl_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) | 
|  | #define IMulticastControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) | 
|  | #define IMulticastControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) | 
|  | #define IMulticastControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) | 
|  | #define IMulticastControl_get_LoopbackMode(This,pMode) (This)->lpVtbl->get_LoopbackMode(This,pMode) | 
|  | #define IMulticastControl_put_LoopbackMode(This,mode) (This)->lpVtbl->put_LoopbackMode(This,mode) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IMulticastControl_get_LoopbackMode_Proxy(IMulticastControl *This,MULTICAST_LOOPBACK_MODE *pMode); | 
|  | void __RPC_STUB IMulticastControl_get_LoopbackMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IMulticastControl_put_LoopbackMode_Proxy(IMulticastControl *This,MULTICAST_LOOPBACK_MODE mode); | 
|  | void __RPC_STUB IMulticastControl_put_LoopbackMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | unsigned long __RPC_API BSTR_UserSize(unsigned long *,unsigned long,BSTR *); | 
|  | unsigned char *__RPC_API BSTR_UserMarshal(unsigned long *,unsigned char *,BSTR *); | 
|  | unsigned char *__RPC_API BSTR_UserUnmarshal(unsigned long *,unsigned char *,BSTR *); | 
|  | void __RPC_API BSTR_UserFree(unsigned long *,BSTR *); | 
|  | unsigned long __RPC_API VARIANT_UserSize(unsigned long *,unsigned long,VARIANT *); | 
|  | unsigned char *__RPC_API VARIANT_UserMarshal(unsigned long *,unsigned char *,VARIANT *); | 
|  | unsigned char *__RPC_API VARIANT_UserUnmarshal(unsigned long *,unsigned char *,VARIANT *); | 
|  | void __RPC_API VARIANT_UserFree(unsigned long *,VARIANT *); | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | } | 
|  | #endif | 
|  | #endif |