master
  1/**
  2 * This file has no copyright assigned and is placed in the Public Domain.
  3 * This file is part of the mingw-w64 runtime package.
  4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
  5 */
  6#ifndef __REQUIRED_RPCNDR_H_VERSION__
  7#define __REQUIRED_RPCNDR_H_VERSION__ 475
  8#endif
  9
 10#include "rpc.h"
 11#include "rpcndr.h"
 12
 13#ifndef __RPCNDR_H_VERSION__
 14#error This stub requires an updated version of <rpcndr.h>
 15#endif
 16
 17#ifndef COM_NO_WINDOWS_H
 18#include "windows.h"
 19#include "ole2.h"
 20#endif
 21
 22#ifndef __confpriv_h__
 23#define __confpriv_h__
 24
 25#ifndef __IDummy_FWD_DEFINED__
 26#define __IDummy_FWD_DEFINED__
 27typedef struct IDummy IDummy;
 28#endif
 29
 30#ifndef __ITLocalParticipant_FWD_DEFINED__
 31#define __ITLocalParticipant_FWD_DEFINED__
 32typedef struct ITLocalParticipant ITLocalParticipant;
 33#endif
 34
 35#ifndef __IEnumParticipant_FWD_DEFINED__
 36#define __IEnumParticipant_FWD_DEFINED__
 37typedef struct IEnumParticipant IEnumParticipant;
 38#endif
 39
 40#ifndef __ITParticipantControl_FWD_DEFINED__
 41#define __ITParticipantControl_FWD_DEFINED__
 42typedef struct ITParticipantControl ITParticipantControl;
 43#endif
 44
 45#ifndef __ITParticipantSubStreamControl_FWD_DEFINED__
 46#define __ITParticipantSubStreamControl_FWD_DEFINED__
 47typedef struct ITParticipantSubStreamControl ITParticipantSubStreamControl;
 48#endif
 49
 50#ifndef __ITParticipantEvent_FWD_DEFINED__
 51#define __ITParticipantEvent_FWD_DEFINED__
 52typedef struct ITParticipantEvent ITParticipantEvent;
 53#endif
 54
 55#ifndef __IMulticastControl_FWD_DEFINED__
 56#define __IMulticastControl_FWD_DEFINED__
 57typedef struct IMulticastControl IMulticastControl;
 58#endif
 59
 60#include "ipmsp.h"
 61
 62#ifdef __cplusplus
 63extern "C"{
 64#endif
 65
 66#ifndef __MIDL_user_allocate_free_DEFINED__
 67#define __MIDL_user_allocate_free_DEFINED__
 68  void *__RPC_API MIDL_user_allocate(size_t);
 69  void __RPC_API MIDL_user_free(void *);
 70#endif
 71
 72  typedef enum MULTICAST_LOOPBACK_MODE {
 73    MM_NO_LOOPBACK = 0,MM_FULL_LOOPBACK,MM_SELECTIVE_LOOPBACK
 74  } MULTICAST_LOOPBACK_MODE;
 75
 76  extern RPC_IF_HANDLE __MIDL_itf_confpriv_0000_v0_0_c_ifspec;
 77  extern RPC_IF_HANDLE __MIDL_itf_confpriv_0000_v0_0_s_ifspec;
 78
 79#ifndef __IDummy_INTERFACE_DEFINED__
 80#define __IDummy_INTERFACE_DEFINED__
 81  EXTERN_C const IID IID_IDummy;
 82#if defined(__cplusplus) && !defined(CINTERFACE)
 83  struct IDummy : public IUnknown {
 84  public:
 85  };
 86#else
 87  typedef struct IDummyVtbl {
 88    BEGIN_INTERFACE
 89      HRESULT (WINAPI *QueryInterface)(IDummy *This,REFIID riid,void **ppvObject);
 90      ULONG (WINAPI *AddRef)(IDummy *This);
 91      ULONG (WINAPI *Release)(IDummy *This);
 92    END_INTERFACE
 93  } IDummyVtbl;
 94  struct IDummy {
 95    CONST_VTBL struct IDummyVtbl *lpVtbl;
 96  };
 97#ifdef COBJMACROS
 98#define IDummy_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 99#define IDummy_AddRef(This) (This)->lpVtbl->AddRef(This)
100#define IDummy_Release(This) (This)->lpVtbl->Release(This)
101#endif
102#endif
103#endif
104
105#ifndef __ITLocalParticipant_INTERFACE_DEFINED__
106#define __ITLocalParticipant_INTERFACE_DEFINED__
107  EXTERN_C const IID IID_ITLocalParticipant;
108#if defined(__cplusplus) && !defined(CINTERFACE)
109  struct ITLocalParticipant : public IDispatch {
110  public:
111    virtual HRESULT WINAPI get_LocalParticipantTypedInfo(PARTICIPANT_TYPED_INFO InfoType,BSTR *ppInfo) = 0;
112    virtual HRESULT WINAPI put_LocalParticipantTypedInfo(PARTICIPANT_TYPED_INFO InfoType,BSTR pInfo) = 0;
113  };
114#else
115  typedef struct ITLocalParticipantVtbl {
116    BEGIN_INTERFACE
117      HRESULT (WINAPI *QueryInterface)(ITLocalParticipant *This,REFIID riid,void **ppvObject);
118      ULONG (WINAPI *AddRef)(ITLocalParticipant *This);
119      ULONG (WINAPI *Release)(ITLocalParticipant *This);
120      HRESULT (WINAPI *GetTypeInfoCount)(ITLocalParticipant *This,UINT *pctinfo);
121      HRESULT (WINAPI *GetTypeInfo)(ITLocalParticipant *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
122      HRESULT (WINAPI *GetIDsOfNames)(ITLocalParticipant *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
123      HRESULT (WINAPI *Invoke)(ITLocalParticipant *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
124      HRESULT (WINAPI *get_LocalParticipantTypedInfo)(ITLocalParticipant *This,PARTICIPANT_TYPED_INFO InfoType,BSTR *ppInfo);
125      HRESULT (WINAPI *put_LocalParticipantTypedInfo)(ITLocalParticipant *This,PARTICIPANT_TYPED_INFO InfoType,BSTR pInfo);
126    END_INTERFACE
127  } ITLocalParticipantVtbl;
128  struct ITLocalParticipant {
129    CONST_VTBL struct ITLocalParticipantVtbl *lpVtbl;
130  };
131#ifdef COBJMACROS
132#define ITLocalParticipant_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
133#define ITLocalParticipant_AddRef(This) (This)->lpVtbl->AddRef(This)
134#define ITLocalParticipant_Release(This) (This)->lpVtbl->Release(This)
135#define ITLocalParticipant_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
136#define ITLocalParticipant_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
137#define ITLocalParticipant_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
138#define ITLocalParticipant_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
139#define ITLocalParticipant_get_LocalParticipantTypedInfo(This,InfoType,ppInfo) (This)->lpVtbl->get_LocalParticipantTypedInfo(This,InfoType,ppInfo)
140#define ITLocalParticipant_put_LocalParticipantTypedInfo(This,InfoType,pInfo) (This)->lpVtbl->put_LocalParticipantTypedInfo(This,InfoType,pInfo)
141#endif
142#endif
143  HRESULT WINAPI ITLocalParticipant_get_LocalParticipantTypedInfo_Proxy(ITLocalParticipant *This,PARTICIPANT_TYPED_INFO InfoType,BSTR *ppInfo);
144  void __RPC_STUB ITLocalParticipant_get_LocalParticipantTypedInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
145  HRESULT WINAPI ITLocalParticipant_put_LocalParticipantTypedInfo_Proxy(ITLocalParticipant *This,PARTICIPANT_TYPED_INFO InfoType,BSTR pInfo);
146  void __RPC_STUB ITLocalParticipant_put_LocalParticipantTypedInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
147#endif
148
149#ifndef __IEnumParticipant_INTERFACE_DEFINED__
150#define __IEnumParticipant_INTERFACE_DEFINED__
151  EXTERN_C const IID IID_IEnumParticipant;
152#if defined(__cplusplus) && !defined(CINTERFACE)
153  struct IEnumParticipant : public IUnknown {
154  public:
155    virtual HRESULT WINAPI Next(ULONG celt,ITParticipant **ppElements,ULONG *pceltFetched) = 0;
156    virtual HRESULT WINAPI Reset(void) = 0;
157    virtual HRESULT WINAPI Skip(ULONG celt) = 0;
158    virtual HRESULT WINAPI Clone(IEnumParticipant **ppEnum) = 0;
159  };
160#else
161  typedef struct IEnumParticipantVtbl {
162    BEGIN_INTERFACE
163      HRESULT (WINAPI *QueryInterface)(IEnumParticipant *This,REFIID riid,void **ppvObject);
164      ULONG (WINAPI *AddRef)(IEnumParticipant *This);
165      ULONG (WINAPI *Release)(IEnumParticipant *This);
166      HRESULT (WINAPI *Next)(IEnumParticipant *This,ULONG celt,ITParticipant **ppElements,ULONG *pceltFetched);
167      HRESULT (WINAPI *Reset)(IEnumParticipant *This);
168      HRESULT (WINAPI *Skip)(IEnumParticipant *This,ULONG celt);
169      HRESULT (WINAPI *Clone)(IEnumParticipant *This,IEnumParticipant **ppEnum);
170    END_INTERFACE
171  } IEnumParticipantVtbl;
172  struct IEnumParticipant {
173    CONST_VTBL struct IEnumParticipantVtbl *lpVtbl;
174  };
175#ifdef COBJMACROS
176#define IEnumParticipant_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
177#define IEnumParticipant_AddRef(This) (This)->lpVtbl->AddRef(This)
178#define IEnumParticipant_Release(This) (This)->lpVtbl->Release(This)
179#define IEnumParticipant_Next(This,celt,ppElements,pceltFetched) (This)->lpVtbl->Next(This,celt,ppElements,pceltFetched)
180#define IEnumParticipant_Reset(This) (This)->lpVtbl->Reset(This)
181#define IEnumParticipant_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
182#define IEnumParticipant_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
183#endif
184#endif
185  HRESULT WINAPI IEnumParticipant_Next_Proxy(IEnumParticipant *This,ULONG celt,ITParticipant **ppElements,ULONG *pceltFetched);
186  void __RPC_STUB IEnumParticipant_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
187  HRESULT WINAPI IEnumParticipant_Reset_Proxy(IEnumParticipant *This);
188  void __RPC_STUB IEnumParticipant_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
189  HRESULT WINAPI IEnumParticipant_Skip_Proxy(IEnumParticipant *This,ULONG celt);
190  void __RPC_STUB IEnumParticipant_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
191  HRESULT WINAPI IEnumParticipant_Clone_Proxy(IEnumParticipant *This,IEnumParticipant **ppEnum);
192  void __RPC_STUB IEnumParticipant_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
193#endif
194
195#ifndef __ITParticipantControl_INTERFACE_DEFINED__
196#define __ITParticipantControl_INTERFACE_DEFINED__
197  EXTERN_C const IID IID_ITParticipantControl;
198#if defined(__cplusplus) && !defined(CINTERFACE)
199  struct ITParticipantControl : public IDispatch {
200  public:
201    virtual HRESULT WINAPI EnumerateParticipants(IEnumParticipant **ppEnumParticipants) = 0;
202    virtual HRESULT WINAPI get_Participants(VARIANT *pVariant) = 0;
203  };
204#else
205  typedef struct ITParticipantControlVtbl {
206    BEGIN_INTERFACE
207      HRESULT (WINAPI *QueryInterface)(ITParticipantControl *This,REFIID riid,void **ppvObject);
208      ULONG (WINAPI *AddRef)(ITParticipantControl *This);
209      ULONG (WINAPI *Release)(ITParticipantControl *This);
210      HRESULT (WINAPI *GetTypeInfoCount)(ITParticipantControl *This,UINT *pctinfo);
211      HRESULT (WINAPI *GetTypeInfo)(ITParticipantControl *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
212      HRESULT (WINAPI *GetIDsOfNames)(ITParticipantControl *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
213      HRESULT (WINAPI *Invoke)(ITParticipantControl *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
214      HRESULT (WINAPI *EnumerateParticipants)(ITParticipantControl *This,IEnumParticipant **ppEnumParticipants);
215      HRESULT (WINAPI *get_Participants)(ITParticipantControl *This,VARIANT *pVariant);
216    END_INTERFACE
217  } ITParticipantControlVtbl;
218  struct ITParticipantControl {
219    CONST_VTBL struct ITParticipantControlVtbl *lpVtbl;
220  };
221#ifdef COBJMACROS
222#define ITParticipantControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
223#define ITParticipantControl_AddRef(This) (This)->lpVtbl->AddRef(This)
224#define ITParticipantControl_Release(This) (This)->lpVtbl->Release(This)
225#define ITParticipantControl_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
226#define ITParticipantControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
227#define ITParticipantControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
228#define ITParticipantControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
229#define ITParticipantControl_EnumerateParticipants(This,ppEnumParticipants) (This)->lpVtbl->EnumerateParticipants(This,ppEnumParticipants)
230#define ITParticipantControl_get_Participants(This,pVariant) (This)->lpVtbl->get_Participants(This,pVariant)
231#endif
232#endif
233  HRESULT WINAPI ITParticipantControl_EnumerateParticipants_Proxy(ITParticipantControl *This,IEnumParticipant **ppEnumParticipants);
234  void __RPC_STUB ITParticipantControl_EnumerateParticipants_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
235  HRESULT WINAPI ITParticipantControl_get_Participants_Proxy(ITParticipantControl *This,VARIANT *pVariant);
236  void __RPC_STUB ITParticipantControl_get_Participants_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
237#endif
238
239#ifndef __ITParticipantSubStreamControl_INTERFACE_DEFINED__
240#define __ITParticipantSubStreamControl_INTERFACE_DEFINED__
241  EXTERN_C const IID IID_ITParticipantSubStreamControl;
242#if defined(__cplusplus) && !defined(CINTERFACE)
243  struct ITParticipantSubStreamControl : public IDispatch {
244  public:
245    virtual HRESULT WINAPI get_SubStreamFromParticipant(ITParticipant *pParticipant,ITSubStream **ppITSubStream) = 0;
246    virtual HRESULT WINAPI get_ParticipantFromSubStream(ITSubStream *pITSubStream,ITParticipant **ppParticipant) = 0;
247    virtual HRESULT WINAPI SwitchTerminalToSubStream(ITTerminal *pITTerminal,ITSubStream *pITSubStream) = 0;
248  };
249#else
250  typedef struct ITParticipantSubStreamControlVtbl {
251    BEGIN_INTERFACE
252      HRESULT (WINAPI *QueryInterface)(ITParticipantSubStreamControl *This,REFIID riid,void **ppvObject);
253      ULONG (WINAPI *AddRef)(ITParticipantSubStreamControl *This);
254      ULONG (WINAPI *Release)(ITParticipantSubStreamControl *This);
255      HRESULT (WINAPI *GetTypeInfoCount)(ITParticipantSubStreamControl *This,UINT *pctinfo);
256      HRESULT (WINAPI *GetTypeInfo)(ITParticipantSubStreamControl *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
257      HRESULT (WINAPI *GetIDsOfNames)(ITParticipantSubStreamControl *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
258      HRESULT (WINAPI *Invoke)(ITParticipantSubStreamControl *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
259      HRESULT (WINAPI *get_SubStreamFromParticipant)(ITParticipantSubStreamControl *This,ITParticipant *pParticipant,ITSubStream **ppITSubStream);
260      HRESULT (WINAPI *get_ParticipantFromSubStream)(ITParticipantSubStreamControl *This,ITSubStream *pITSubStream,ITParticipant **ppParticipant);
261      HRESULT (WINAPI *SwitchTerminalToSubStream)(ITParticipantSubStreamControl *This,ITTerminal *pITTerminal,ITSubStream *pITSubStream);
262    END_INTERFACE
263  } ITParticipantSubStreamControlVtbl;
264  struct ITParticipantSubStreamControl {
265    CONST_VTBL struct ITParticipantSubStreamControlVtbl *lpVtbl;
266  };
267#ifdef COBJMACROS
268#define ITParticipantSubStreamControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
269#define ITParticipantSubStreamControl_AddRef(This) (This)->lpVtbl->AddRef(This)
270#define ITParticipantSubStreamControl_Release(This) (This)->lpVtbl->Release(This)
271#define ITParticipantSubStreamControl_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
272#define ITParticipantSubStreamControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
273#define ITParticipantSubStreamControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
274#define ITParticipantSubStreamControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
275#define ITParticipantSubStreamControl_get_SubStreamFromParticipant(This,pParticipant,ppITSubStream) (This)->lpVtbl->get_SubStreamFromParticipant(This,pParticipant,ppITSubStream)
276#define ITParticipantSubStreamControl_get_ParticipantFromSubStream(This,pITSubStream,ppParticipant) (This)->lpVtbl->get_ParticipantFromSubStream(This,pITSubStream,ppParticipant)
277#define ITParticipantSubStreamControl_SwitchTerminalToSubStream(This,pITTerminal,pITSubStream) (This)->lpVtbl->SwitchTerminalToSubStream(This,pITTerminal,pITSubStream)
278#endif
279#endif
280  HRESULT WINAPI ITParticipantSubStreamControl_get_SubStreamFromParticipant_Proxy(ITParticipantSubStreamControl *This,ITParticipant *pParticipant,ITSubStream **ppITSubStream);
281  void __RPC_STUB ITParticipantSubStreamControl_get_SubStreamFromParticipant_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
282  HRESULT WINAPI ITParticipantSubStreamControl_get_ParticipantFromSubStream_Proxy(ITParticipantSubStreamControl *This,ITSubStream *pITSubStream,ITParticipant **ppParticipant);
283  void __RPC_STUB ITParticipantSubStreamControl_get_ParticipantFromSubStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
284  HRESULT WINAPI ITParticipantSubStreamControl_SwitchTerminalToSubStream_Proxy(ITParticipantSubStreamControl *This,ITTerminal *pITTerminal,ITSubStream *pITSubStream);
285  void __RPC_STUB ITParticipantSubStreamControl_SwitchTerminalToSubStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
286#endif
287
288#ifndef __ITParticipantEvent_INTERFACE_DEFINED__
289#define __ITParticipantEvent_INTERFACE_DEFINED__
290  EXTERN_C const IID IID_ITParticipantEvent;
291#if defined(__cplusplus) && !defined(CINTERFACE)
292  struct ITParticipantEvent : public IDispatch {
293  public:
294    virtual HRESULT WINAPI get_Event(PARTICIPANT_EVENT *pParticipantEvent) = 0;
295    virtual HRESULT WINAPI get_Participant(ITParticipant **ppParticipant) = 0;
296    virtual HRESULT WINAPI get_SubStream(ITSubStream **ppSubStream) = 0;
297  };
298#else
299  typedef struct ITParticipantEventVtbl {
300    BEGIN_INTERFACE
301      HRESULT (WINAPI *QueryInterface)(ITParticipantEvent *This,REFIID riid,void **ppvObject);
302      ULONG (WINAPI *AddRef)(ITParticipantEvent *This);
303      ULONG (WINAPI *Release)(ITParticipantEvent *This);
304      HRESULT (WINAPI *GetTypeInfoCount)(ITParticipantEvent *This,UINT *pctinfo);
305      HRESULT (WINAPI *GetTypeInfo)(ITParticipantEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
306      HRESULT (WINAPI *GetIDsOfNames)(ITParticipantEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
307      HRESULT (WINAPI *Invoke)(ITParticipantEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
308      HRESULT (WINAPI *get_Event)(ITParticipantEvent *This,PARTICIPANT_EVENT *pParticipantEvent);
309      HRESULT (WINAPI *get_Participant)(ITParticipantEvent *This,ITParticipant **ppParticipant);
310      HRESULT (WINAPI *get_SubStream)(ITParticipantEvent *This,ITSubStream **ppSubStream);
311    END_INTERFACE
312  } ITParticipantEventVtbl;
313  struct ITParticipantEvent {
314    CONST_VTBL struct ITParticipantEventVtbl *lpVtbl;
315  };
316#ifdef COBJMACROS
317#define ITParticipantEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
318#define ITParticipantEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
319#define ITParticipantEvent_Release(This) (This)->lpVtbl->Release(This)
320#define ITParticipantEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
321#define ITParticipantEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
322#define ITParticipantEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
323#define ITParticipantEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
324#define ITParticipantEvent_get_Event(This,pParticipantEvent) (This)->lpVtbl->get_Event(This,pParticipantEvent)
325#define ITParticipantEvent_get_Participant(This,ppParticipant) (This)->lpVtbl->get_Participant(This,ppParticipant)
326#define ITParticipantEvent_get_SubStream(This,ppSubStream) (This)->lpVtbl->get_SubStream(This,ppSubStream)
327#endif
328#endif
329  HRESULT WINAPI ITParticipantEvent_get_Event_Proxy(ITParticipantEvent *This,PARTICIPANT_EVENT *pParticipantEvent);
330  void __RPC_STUB ITParticipantEvent_get_Event_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
331  HRESULT WINAPI ITParticipantEvent_get_Participant_Proxy(ITParticipantEvent *This,ITParticipant **ppParticipant);
332  void __RPC_STUB ITParticipantEvent_get_Participant_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
333  HRESULT WINAPI ITParticipantEvent_get_SubStream_Proxy(ITParticipantEvent *This,ITSubStream **ppSubStream);
334  void __RPC_STUB ITParticipantEvent_get_SubStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
335#endif
336
337#ifndef __IMulticastControl_INTERFACE_DEFINED__
338#define __IMulticastControl_INTERFACE_DEFINED__
339  EXTERN_C const IID IID_IMulticastControl;
340#if defined(__cplusplus) && !defined(CINTERFACE)
341  struct IMulticastControl : public IDispatch {
342  public:
343    virtual HRESULT WINAPI get_LoopbackMode(MULTICAST_LOOPBACK_MODE *pMode) = 0;
344    virtual HRESULT WINAPI put_LoopbackMode(MULTICAST_LOOPBACK_MODE mode) = 0;
345  };
346#else
347  typedef struct IMulticastControlVtbl {
348    BEGIN_INTERFACE
349      HRESULT (WINAPI *QueryInterface)(IMulticastControl *This,REFIID riid,void **ppvObject);
350      ULONG (WINAPI *AddRef)(IMulticastControl *This);
351      ULONG (WINAPI *Release)(IMulticastControl *This);
352      HRESULT (WINAPI *GetTypeInfoCount)(IMulticastControl *This,UINT *pctinfo);
353      HRESULT (WINAPI *GetTypeInfo)(IMulticastControl *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
354      HRESULT (WINAPI *GetIDsOfNames)(IMulticastControl *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
355      HRESULT (WINAPI *Invoke)(IMulticastControl *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
356      HRESULT (WINAPI *get_LoopbackMode)(IMulticastControl *This,MULTICAST_LOOPBACK_MODE *pMode);
357      HRESULT (WINAPI *put_LoopbackMode)(IMulticastControl *This,MULTICAST_LOOPBACK_MODE mode);
358    END_INTERFACE
359  } IMulticastControlVtbl;
360  struct IMulticastControl {
361    CONST_VTBL struct IMulticastControlVtbl *lpVtbl;
362  };
363#ifdef COBJMACROS
364#define IMulticastControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
365#define IMulticastControl_AddRef(This) (This)->lpVtbl->AddRef(This)
366#define IMulticastControl_Release(This) (This)->lpVtbl->Release(This)
367#define IMulticastControl_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
368#define IMulticastControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
369#define IMulticastControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
370#define IMulticastControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
371#define IMulticastControl_get_LoopbackMode(This,pMode) (This)->lpVtbl->get_LoopbackMode(This,pMode)
372#define IMulticastControl_put_LoopbackMode(This,mode) (This)->lpVtbl->put_LoopbackMode(This,mode)
373#endif
374#endif
375  HRESULT WINAPI IMulticastControl_get_LoopbackMode_Proxy(IMulticastControl *This,MULTICAST_LOOPBACK_MODE *pMode);
376  void __RPC_STUB IMulticastControl_get_LoopbackMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
377  HRESULT WINAPI IMulticastControl_put_LoopbackMode_Proxy(IMulticastControl *This,MULTICAST_LOOPBACK_MODE mode);
378  void __RPC_STUB IMulticastControl_put_LoopbackMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
379#endif
380
381  ULONG __RPC_API BSTR_UserSize(ULONG *,ULONG,BSTR *);
382  unsigned char *__RPC_API BSTR_UserMarshal(ULONG *,unsigned char *,BSTR *);
383  unsigned char *__RPC_API BSTR_UserUnmarshal(ULONG *,unsigned char *,BSTR *);
384  void __RPC_API BSTR_UserFree(ULONG *,BSTR *);
385  ULONG __RPC_API VARIANT_UserSize(ULONG *,ULONG,VARIANT *);
386  unsigned char *__RPC_API VARIANT_UserMarshal(ULONG *,unsigned char *,VARIANT *);
387  unsigned char *__RPC_API VARIANT_UserUnmarshal(ULONG *,unsigned char *,VARIANT *);
388  void __RPC_API VARIANT_UserFree(ULONG *,VARIANT *);
389
390#ifdef __cplusplus
391}
392#endif
393#endif