• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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__
27 typedef struct IDummy IDummy;
28 #endif
29 
30 #ifndef __ITLocalParticipant_FWD_DEFINED__
31 #define __ITLocalParticipant_FWD_DEFINED__
32 typedef struct ITLocalParticipant ITLocalParticipant;
33 #endif
34 
35 #ifndef __IEnumParticipant_FWD_DEFINED__
36 #define __IEnumParticipant_FWD_DEFINED__
37 typedef struct IEnumParticipant IEnumParticipant;
38 #endif
39 
40 #ifndef __ITParticipantControl_FWD_DEFINED__
41 #define __ITParticipantControl_FWD_DEFINED__
42 typedef struct ITParticipantControl ITParticipantControl;
43 #endif
44 
45 #ifndef __ITParticipantSubStreamControl_FWD_DEFINED__
46 #define __ITParticipantSubStreamControl_FWD_DEFINED__
47 typedef struct ITParticipantSubStreamControl ITParticipantSubStreamControl;
48 #endif
49 
50 #ifndef __ITParticipantEvent_FWD_DEFINED__
51 #define __ITParticipantEvent_FWD_DEFINED__
52 typedef struct ITParticipantEvent ITParticipantEvent;
53 #endif
54 
55 #ifndef __IMulticastControl_FWD_DEFINED__
56 #define __IMulticastControl_FWD_DEFINED__
57 typedef struct IMulticastControl IMulticastControl;
58 #endif
59 
60 #include "ipmsp.h"
61 
62 #ifdef __cplusplus
63 extern "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
394