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 __mdhcp_h__
23 #define __mdhcp_h__
24 
25 #ifndef __IMcastScope_FWD_DEFINED__
26 #define __IMcastScope_FWD_DEFINED__
27 typedef struct IMcastScope IMcastScope;
28 #endif
29 
30 #ifndef __IMcastLeaseInfo_FWD_DEFINED__
31 #define __IMcastLeaseInfo_FWD_DEFINED__
32 typedef struct IMcastLeaseInfo IMcastLeaseInfo;
33 #endif
34 
35 #ifndef __IEnumMcastScope_FWD_DEFINED__
36 #define __IEnumMcastScope_FWD_DEFINED__
37 typedef struct IEnumMcastScope IEnumMcastScope;
38 #endif
39 
40 #ifndef __IMcastAddressAllocation_FWD_DEFINED__
41 #define __IMcastAddressAllocation_FWD_DEFINED__
42 typedef struct IMcastAddressAllocation IMcastAddressAllocation;
43 #endif
44 
45 #ifndef __IMcastScope_FWD_DEFINED__
46 #define __IMcastScope_FWD_DEFINED__
47 typedef struct IMcastScope IMcastScope;
48 #endif
49 
50 #ifndef __IMcastLeaseInfo_FWD_DEFINED__
51 #define __IMcastLeaseInfo_FWD_DEFINED__
52 typedef struct IMcastLeaseInfo IMcastLeaseInfo;
53 #endif
54 
55 #ifndef __IEnumMcastScope_FWD_DEFINED__
56 #define __IEnumMcastScope_FWD_DEFINED__
57 typedef struct IEnumMcastScope IEnumMcastScope;
58 #endif
59 
60 #ifndef __IMcastAddressAllocation_FWD_DEFINED__
61 #define __IMcastAddressAllocation_FWD_DEFINED__
62 typedef struct IMcastAddressAllocation IMcastAddressAllocation;
63 #endif
64 
65 #ifndef __McastAddressAllocation_FWD_DEFINED__
66 #define __McastAddressAllocation_FWD_DEFINED__
67 #ifdef __cplusplus
68 typedef class McastAddressAllocation McastAddressAllocation;
69 #else
70 typedef struct McastAddressAllocation McastAddressAllocation;
71 #endif
72 #endif
73 
74 #include "oaidl.h"
75 #include "ocidl.h"
76 #include "tapi3if.h"
77 
78 #ifdef __cplusplus
79 extern "C"{
80 #endif
81 
82 #ifndef __MIDL_user_allocate_free_DEFINED__
83 #define __MIDL_user_allocate_free_DEFINED__
84   void *__RPC_API MIDL_user_allocate(size_t);
85   void __RPC_API MIDL_user_free(void *);
86 #endif
87 
88   extern RPC_IF_HANDLE __MIDL_itf_mdhcp_0000_v0_0_c_ifspec;
89   extern RPC_IF_HANDLE __MIDL_itf_mdhcp_0000_v0_0_s_ifspec;
90 
91 #ifndef __IMcastScope_INTERFACE_DEFINED__
92 #define __IMcastScope_INTERFACE_DEFINED__
93   EXTERN_C const IID IID_IMcastScope;
94 #if defined(__cplusplus) && !defined(CINTERFACE)
95   struct IMcastScope : public IDispatch {
96   public:
97     virtual HRESULT WINAPI get_ScopeID(__LONG32 *pID) = 0;
98     virtual HRESULT WINAPI get_ServerID(__LONG32 *pID) = 0;
99     virtual HRESULT WINAPI get_InterfaceID(__LONG32 *pID) = 0;
100     virtual HRESULT WINAPI get_ScopeDescription(BSTR *ppDescription) = 0;
101     virtual HRESULT WINAPI get_TTL(__LONG32 *pTTL) = 0;
102   };
103 #else
104   typedef struct IMcastScopeVtbl {
105     BEGIN_INTERFACE
106       HRESULT (WINAPI *QueryInterface)(IMcastScope *This,REFIID riid,void **ppvObject);
107       ULONG (WINAPI *AddRef)(IMcastScope *This);
108       ULONG (WINAPI *Release)(IMcastScope *This);
109       HRESULT (WINAPI *GetTypeInfoCount)(IMcastScope *This,UINT *pctinfo);
110       HRESULT (WINAPI *GetTypeInfo)(IMcastScope *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
111       HRESULT (WINAPI *GetIDsOfNames)(IMcastScope *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
112       HRESULT (WINAPI *Invoke)(IMcastScope *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
113       HRESULT (WINAPI *get_ScopeID)(IMcastScope *This,__LONG32 *pID);
114       HRESULT (WINAPI *get_ServerID)(IMcastScope *This,__LONG32 *pID);
115       HRESULT (WINAPI *get_InterfaceID)(IMcastScope *This,__LONG32 *pID);
116       HRESULT (WINAPI *get_ScopeDescription)(IMcastScope *This,BSTR *ppDescription);
117       HRESULT (WINAPI *get_TTL)(IMcastScope *This,__LONG32 *pTTL);
118     END_INTERFACE
119   } IMcastScopeVtbl;
120   struct IMcastScope {
121     CONST_VTBL struct IMcastScopeVtbl *lpVtbl;
122   };
123 #ifdef COBJMACROS
124 #define IMcastScope_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
125 #define IMcastScope_AddRef(This) (This)->lpVtbl->AddRef(This)
126 #define IMcastScope_Release(This) (This)->lpVtbl->Release(This)
127 #define IMcastScope_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
128 #define IMcastScope_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
129 #define IMcastScope_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
130 #define IMcastScope_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
131 #define IMcastScope_get_ScopeID(This,pID) (This)->lpVtbl->get_ScopeID(This,pID)
132 #define IMcastScope_get_ServerID(This,pID) (This)->lpVtbl->get_ServerID(This,pID)
133 #define IMcastScope_get_InterfaceID(This,pID) (This)->lpVtbl->get_InterfaceID(This,pID)
134 #define IMcastScope_get_ScopeDescription(This,ppDescription) (This)->lpVtbl->get_ScopeDescription(This,ppDescription)
135 #define IMcastScope_get_TTL(This,pTTL) (This)->lpVtbl->get_TTL(This,pTTL)
136 #endif
137 #endif
138   HRESULT WINAPI IMcastScope_get_ScopeID_Proxy(IMcastScope *This,__LONG32 *pID);
139   void __RPC_STUB IMcastScope_get_ScopeID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
140   HRESULT WINAPI IMcastScope_get_ServerID_Proxy(IMcastScope *This,__LONG32 *pID);
141   void __RPC_STUB IMcastScope_get_ServerID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
142   HRESULT WINAPI IMcastScope_get_InterfaceID_Proxy(IMcastScope *This,__LONG32 *pID);
143   void __RPC_STUB IMcastScope_get_InterfaceID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
144   HRESULT WINAPI IMcastScope_get_ScopeDescription_Proxy(IMcastScope *This,BSTR *ppDescription);
145   void __RPC_STUB IMcastScope_get_ScopeDescription_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
146   HRESULT WINAPI IMcastScope_get_TTL_Proxy(IMcastScope *This,__LONG32 *pTTL);
147   void __RPC_STUB IMcastScope_get_TTL_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
148 #endif
149 
150 #ifndef __IMcastLeaseInfo_INTERFACE_DEFINED__
151 #define __IMcastLeaseInfo_INTERFACE_DEFINED__
152   EXTERN_C const IID IID_IMcastLeaseInfo;
153 #if defined(__cplusplus) && !defined(CINTERFACE)
154   struct IMcastLeaseInfo : public IDispatch {
155   public:
156     virtual HRESULT WINAPI get_RequestID(BSTR *ppRequestID) = 0;
157     virtual HRESULT WINAPI get_LeaseStartTime(DATE *pTime) = 0;
158     virtual HRESULT WINAPI put_LeaseStartTime(DATE time) = 0;
159     virtual HRESULT WINAPI get_LeaseStopTime(DATE *pTime) = 0;
160     virtual HRESULT WINAPI put_LeaseStopTime(DATE time) = 0;
161     virtual HRESULT WINAPI get_AddressCount(__LONG32 *pCount) = 0;
162     virtual HRESULT WINAPI get_ServerAddress(BSTR *ppAddress) = 0;
163     virtual HRESULT WINAPI get_TTL(__LONG32 *pTTL) = 0;
164     virtual HRESULT WINAPI get_Addresses(VARIANT *pVariant) = 0;
165     virtual HRESULT WINAPI EnumerateAddresses(IEnumBstr **ppEnumAddresses) = 0;
166   };
167 #else
168   typedef struct IMcastLeaseInfoVtbl {
169     BEGIN_INTERFACE
170       HRESULT (WINAPI *QueryInterface)(IMcastLeaseInfo *This,REFIID riid,void **ppvObject);
171       ULONG (WINAPI *AddRef)(IMcastLeaseInfo *This);
172       ULONG (WINAPI *Release)(IMcastLeaseInfo *This);
173       HRESULT (WINAPI *GetTypeInfoCount)(IMcastLeaseInfo *This,UINT *pctinfo);
174       HRESULT (WINAPI *GetTypeInfo)(IMcastLeaseInfo *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
175       HRESULT (WINAPI *GetIDsOfNames)(IMcastLeaseInfo *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
176       HRESULT (WINAPI *Invoke)(IMcastLeaseInfo *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
177       HRESULT (WINAPI *get_RequestID)(IMcastLeaseInfo *This,BSTR *ppRequestID);
178       HRESULT (WINAPI *get_LeaseStartTime)(IMcastLeaseInfo *This,DATE *pTime);
179       HRESULT (WINAPI *put_LeaseStartTime)(IMcastLeaseInfo *This,DATE time);
180       HRESULT (WINAPI *get_LeaseStopTime)(IMcastLeaseInfo *This,DATE *pTime);
181       HRESULT (WINAPI *put_LeaseStopTime)(IMcastLeaseInfo *This,DATE time);
182       HRESULT (WINAPI *get_AddressCount)(IMcastLeaseInfo *This,__LONG32 *pCount);
183       HRESULT (WINAPI *get_ServerAddress)(IMcastLeaseInfo *This,BSTR *ppAddress);
184       HRESULT (WINAPI *get_TTL)(IMcastLeaseInfo *This,__LONG32 *pTTL);
185       HRESULT (WINAPI *get_Addresses)(IMcastLeaseInfo *This,VARIANT *pVariant);
186       HRESULT (WINAPI *EnumerateAddresses)(IMcastLeaseInfo *This,IEnumBstr **ppEnumAddresses);
187     END_INTERFACE
188   } IMcastLeaseInfoVtbl;
189   struct IMcastLeaseInfo {
190     CONST_VTBL struct IMcastLeaseInfoVtbl *lpVtbl;
191   };
192 #ifdef COBJMACROS
193 #define IMcastLeaseInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
194 #define IMcastLeaseInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
195 #define IMcastLeaseInfo_Release(This) (This)->lpVtbl->Release(This)
196 #define IMcastLeaseInfo_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
197 #define IMcastLeaseInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
198 #define IMcastLeaseInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
199 #define IMcastLeaseInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
200 #define IMcastLeaseInfo_get_RequestID(This,ppRequestID) (This)->lpVtbl->get_RequestID(This,ppRequestID)
201 #define IMcastLeaseInfo_get_LeaseStartTime(This,pTime) (This)->lpVtbl->get_LeaseStartTime(This,pTime)
202 #define IMcastLeaseInfo_put_LeaseStartTime(This,time) (This)->lpVtbl->put_LeaseStartTime(This,time)
203 #define IMcastLeaseInfo_get_LeaseStopTime(This,pTime) (This)->lpVtbl->get_LeaseStopTime(This,pTime)
204 #define IMcastLeaseInfo_put_LeaseStopTime(This,time) (This)->lpVtbl->put_LeaseStopTime(This,time)
205 #define IMcastLeaseInfo_get_AddressCount(This,pCount) (This)->lpVtbl->get_AddressCount(This,pCount)
206 #define IMcastLeaseInfo_get_ServerAddress(This,ppAddress) (This)->lpVtbl->get_ServerAddress(This,ppAddress)
207 #define IMcastLeaseInfo_get_TTL(This,pTTL) (This)->lpVtbl->get_TTL(This,pTTL)
208 #define IMcastLeaseInfo_get_Addresses(This,pVariant) (This)->lpVtbl->get_Addresses(This,pVariant)
209 #define IMcastLeaseInfo_EnumerateAddresses(This,ppEnumAddresses) (This)->lpVtbl->EnumerateAddresses(This,ppEnumAddresses)
210 #endif
211 #endif
212   HRESULT WINAPI IMcastLeaseInfo_get_RequestID_Proxy(IMcastLeaseInfo *This,BSTR *ppRequestID);
213   void __RPC_STUB IMcastLeaseInfo_get_RequestID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
214   HRESULT WINAPI IMcastLeaseInfo_get_LeaseStartTime_Proxy(IMcastLeaseInfo *This,DATE *pTime);
215   void __RPC_STUB IMcastLeaseInfo_get_LeaseStartTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
216   HRESULT WINAPI IMcastLeaseInfo_put_LeaseStartTime_Proxy(IMcastLeaseInfo *This,DATE time);
217   void __RPC_STUB IMcastLeaseInfo_put_LeaseStartTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
218   HRESULT WINAPI IMcastLeaseInfo_get_LeaseStopTime_Proxy(IMcastLeaseInfo *This,DATE *pTime);
219   void __RPC_STUB IMcastLeaseInfo_get_LeaseStopTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
220   HRESULT WINAPI IMcastLeaseInfo_put_LeaseStopTime_Proxy(IMcastLeaseInfo *This,DATE time);
221   void __RPC_STUB IMcastLeaseInfo_put_LeaseStopTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
222   HRESULT WINAPI IMcastLeaseInfo_get_AddressCount_Proxy(IMcastLeaseInfo *This,__LONG32 *pCount);
223   void __RPC_STUB IMcastLeaseInfo_get_AddressCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
224   HRESULT WINAPI IMcastLeaseInfo_get_ServerAddress_Proxy(IMcastLeaseInfo *This,BSTR *ppAddress);
225   void __RPC_STUB IMcastLeaseInfo_get_ServerAddress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
226   HRESULT WINAPI IMcastLeaseInfo_get_TTL_Proxy(IMcastLeaseInfo *This,__LONG32 *pTTL);
227   void __RPC_STUB IMcastLeaseInfo_get_TTL_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
228   HRESULT WINAPI IMcastLeaseInfo_get_Addresses_Proxy(IMcastLeaseInfo *This,VARIANT *pVariant);
229   void __RPC_STUB IMcastLeaseInfo_get_Addresses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
230   HRESULT WINAPI IMcastLeaseInfo_EnumerateAddresses_Proxy(IMcastLeaseInfo *This,IEnumBstr **ppEnumAddresses);
231   void __RPC_STUB IMcastLeaseInfo_EnumerateAddresses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
232 #endif
233 
234 #ifndef __IEnumMcastScope_INTERFACE_DEFINED__
235 #define __IEnumMcastScope_INTERFACE_DEFINED__
236   EXTERN_C const IID IID_IEnumMcastScope;
237 #if defined(__cplusplus) && !defined(CINTERFACE)
238   struct IEnumMcastScope : public IUnknown {
239   public:
240     virtual HRESULT WINAPI Next(ULONG celt,IMcastScope **ppScopes,ULONG *pceltFetched) = 0;
241     virtual HRESULT WINAPI Reset(void) = 0;
242     virtual HRESULT WINAPI Skip(ULONG celt) = 0;
243     virtual HRESULT WINAPI Clone(IEnumMcastScope **ppEnum) = 0;
244   };
245 #else
246   typedef struct IEnumMcastScopeVtbl {
247     BEGIN_INTERFACE
248       HRESULT (WINAPI *QueryInterface)(IEnumMcastScope *This,REFIID riid,void **ppvObject);
249       ULONG (WINAPI *AddRef)(IEnumMcastScope *This);
250       ULONG (WINAPI *Release)(IEnumMcastScope *This);
251       HRESULT (WINAPI *Next)(IEnumMcastScope *This,ULONG celt,IMcastScope **ppScopes,ULONG *pceltFetched);
252       HRESULT (WINAPI *Reset)(IEnumMcastScope *This);
253       HRESULT (WINAPI *Skip)(IEnumMcastScope *This,ULONG celt);
254       HRESULT (WINAPI *Clone)(IEnumMcastScope *This,IEnumMcastScope **ppEnum);
255     END_INTERFACE
256   } IEnumMcastScopeVtbl;
257   struct IEnumMcastScope {
258     CONST_VTBL struct IEnumMcastScopeVtbl *lpVtbl;
259   };
260 #ifdef COBJMACROS
261 #define IEnumMcastScope_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
262 #define IEnumMcastScope_AddRef(This) (This)->lpVtbl->AddRef(This)
263 #define IEnumMcastScope_Release(This) (This)->lpVtbl->Release(This)
264 #define IEnumMcastScope_Next(This,celt,ppScopes,pceltFetched) (This)->lpVtbl->Next(This,celt,ppScopes,pceltFetched)
265 #define IEnumMcastScope_Reset(This) (This)->lpVtbl->Reset(This)
266 #define IEnumMcastScope_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
267 #define IEnumMcastScope_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
268 #endif
269 #endif
270   HRESULT WINAPI IEnumMcastScope_Next_Proxy(IEnumMcastScope *This,ULONG celt,IMcastScope **ppScopes,ULONG *pceltFetched);
271   void __RPC_STUB IEnumMcastScope_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
272   HRESULT WINAPI IEnumMcastScope_Reset_Proxy(IEnumMcastScope *This);
273   void __RPC_STUB IEnumMcastScope_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
274   HRESULT WINAPI IEnumMcastScope_Skip_Proxy(IEnumMcastScope *This,ULONG celt);
275   void __RPC_STUB IEnumMcastScope_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
276   HRESULT WINAPI IEnumMcastScope_Clone_Proxy(IEnumMcastScope *This,IEnumMcastScope **ppEnum);
277   void __RPC_STUB IEnumMcastScope_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
278 #endif
279 
280 #ifndef __IMcastAddressAllocation_INTERFACE_DEFINED__
281 #define __IMcastAddressAllocation_INTERFACE_DEFINED__
282   EXTERN_C const IID IID_IMcastAddressAllocation;
283 #if defined(__cplusplus) && !defined(CINTERFACE)
284   struct IMcastAddressAllocation : public IDispatch {
285   public:
286     virtual HRESULT WINAPI get_Scopes(VARIANT *pVariant) = 0;
287     virtual HRESULT WINAPI EnumerateScopes(IEnumMcastScope **ppEnumMcastScope) = 0;
288     virtual HRESULT WINAPI RequestAddress(IMcastScope *pScope,DATE LeaseStartTime,DATE LeaseStopTime,__LONG32 NumAddresses,IMcastLeaseInfo **ppLeaseResponse) = 0;
289     virtual HRESULT WINAPI RenewAddress(__LONG32 lReserved,IMcastLeaseInfo *pRenewRequest,IMcastLeaseInfo **ppRenewResponse) = 0;
290     virtual HRESULT WINAPI ReleaseAddress(IMcastLeaseInfo *pReleaseRequest) = 0;
291     virtual HRESULT WINAPI CreateLeaseInfo(DATE LeaseStartTime,DATE LeaseStopTime,DWORD dwNumAddresses,LPWSTR *ppAddresses,LPWSTR pRequestID,LPWSTR pServerAddress,IMcastLeaseInfo **ppReleaseRequest) = 0;
292     virtual HRESULT WINAPI CreateLeaseInfoFromVariant(DATE LeaseStartTime,DATE LeaseStopTime,VARIANT vAddresses,BSTR pRequestID,BSTR pServerAddress,IMcastLeaseInfo **ppReleaseRequest) = 0;
293   };
294 #else
295   typedef struct IMcastAddressAllocationVtbl {
296     BEGIN_INTERFACE
297       HRESULT (WINAPI *QueryInterface)(IMcastAddressAllocation *This,REFIID riid,void **ppvObject);
298       ULONG (WINAPI *AddRef)(IMcastAddressAllocation *This);
299       ULONG (WINAPI *Release)(IMcastAddressAllocation *This);
300       HRESULT (WINAPI *GetTypeInfoCount)(IMcastAddressAllocation *This,UINT *pctinfo);
301       HRESULT (WINAPI *GetTypeInfo)(IMcastAddressAllocation *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
302       HRESULT (WINAPI *GetIDsOfNames)(IMcastAddressAllocation *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
303       HRESULT (WINAPI *Invoke)(IMcastAddressAllocation *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
304       HRESULT (WINAPI *get_Scopes)(IMcastAddressAllocation *This,VARIANT *pVariant);
305       HRESULT (WINAPI *EnumerateScopes)(IMcastAddressAllocation *This,IEnumMcastScope **ppEnumMcastScope);
306       HRESULT (WINAPI *RequestAddress)(IMcastAddressAllocation *This,IMcastScope *pScope,DATE LeaseStartTime,DATE LeaseStopTime,__LONG32 NumAddresses,IMcastLeaseInfo **ppLeaseResponse);
307       HRESULT (WINAPI *RenewAddress)(IMcastAddressAllocation *This,__LONG32 lReserved,IMcastLeaseInfo *pRenewRequest,IMcastLeaseInfo **ppRenewResponse);
308       HRESULT (WINAPI *ReleaseAddress)(IMcastAddressAllocation *This,IMcastLeaseInfo *pReleaseRequest);
309       HRESULT (WINAPI *CreateLeaseInfo)(IMcastAddressAllocation *This,DATE LeaseStartTime,DATE LeaseStopTime,DWORD dwNumAddresses,LPWSTR *ppAddresses,LPWSTR pRequestID,LPWSTR pServerAddress,IMcastLeaseInfo **ppReleaseRequest);
310       HRESULT (WINAPI *CreateLeaseInfoFromVariant)(IMcastAddressAllocation *This,DATE LeaseStartTime,DATE LeaseStopTime,VARIANT vAddresses,BSTR pRequestID,BSTR pServerAddress,IMcastLeaseInfo **ppReleaseRequest);
311     END_INTERFACE
312   } IMcastAddressAllocationVtbl;
313   struct IMcastAddressAllocation {
314     CONST_VTBL struct IMcastAddressAllocationVtbl *lpVtbl;
315   };
316 #ifdef COBJMACROS
317 #define IMcastAddressAllocation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
318 #define IMcastAddressAllocation_AddRef(This) (This)->lpVtbl->AddRef(This)
319 #define IMcastAddressAllocation_Release(This) (This)->lpVtbl->Release(This)
320 #define IMcastAddressAllocation_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
321 #define IMcastAddressAllocation_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
322 #define IMcastAddressAllocation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
323 #define IMcastAddressAllocation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
324 #define IMcastAddressAllocation_get_Scopes(This,pVariant) (This)->lpVtbl->get_Scopes(This,pVariant)
325 #define IMcastAddressAllocation_EnumerateScopes(This,ppEnumMcastScope) (This)->lpVtbl->EnumerateScopes(This,ppEnumMcastScope)
326 #define IMcastAddressAllocation_RequestAddress(This,pScope,LeaseStartTime,LeaseStopTime,NumAddresses,ppLeaseResponse) (This)->lpVtbl->RequestAddress(This,pScope,LeaseStartTime,LeaseStopTime,NumAddresses,ppLeaseResponse)
327 #define IMcastAddressAllocation_RenewAddress(This,lReserved,pRenewRequest,ppRenewResponse) (This)->lpVtbl->RenewAddress(This,lReserved,pRenewRequest,ppRenewResponse)
328 #define IMcastAddressAllocation_ReleaseAddress(This,pReleaseRequest) (This)->lpVtbl->ReleaseAddress(This,pReleaseRequest)
329 #define IMcastAddressAllocation_CreateLeaseInfo(This,LeaseStartTime,LeaseStopTime,dwNumAddresses,ppAddresses,pRequestID,pServerAddress,ppReleaseRequest) (This)->lpVtbl->CreateLeaseInfo(This,LeaseStartTime,LeaseStopTime,dwNumAddresses,ppAddresses,pRequestID,pServerAddress,ppReleaseRequest)
330 #define IMcastAddressAllocation_CreateLeaseInfoFromVariant(This,LeaseStartTime,LeaseStopTime,vAddresses,pRequestID,pServerAddress,ppReleaseRequest) (This)->lpVtbl->CreateLeaseInfoFromVariant(This,LeaseStartTime,LeaseStopTime,vAddresses,pRequestID,pServerAddress,ppReleaseRequest)
331 #endif
332 #endif
333   HRESULT WINAPI IMcastAddressAllocation_get_Scopes_Proxy(IMcastAddressAllocation *This,VARIANT *pVariant);
334   void __RPC_STUB IMcastAddressAllocation_get_Scopes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
335   HRESULT WINAPI IMcastAddressAllocation_EnumerateScopes_Proxy(IMcastAddressAllocation *This,IEnumMcastScope **ppEnumMcastScope);
336   void __RPC_STUB IMcastAddressAllocation_EnumerateScopes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
337   HRESULT WINAPI IMcastAddressAllocation_RequestAddress_Proxy(IMcastAddressAllocation *This,IMcastScope *pScope,DATE LeaseStartTime,DATE LeaseStopTime,__LONG32 NumAddresses,IMcastLeaseInfo **ppLeaseResponse);
338   void __RPC_STUB IMcastAddressAllocation_RequestAddress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
339   HRESULT WINAPI IMcastAddressAllocation_RenewAddress_Proxy(IMcastAddressAllocation *This,__LONG32 lReserved,IMcastLeaseInfo *pRenewRequest,IMcastLeaseInfo **ppRenewResponse);
340   void __RPC_STUB IMcastAddressAllocation_RenewAddress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
341   HRESULT WINAPI IMcastAddressAllocation_ReleaseAddress_Proxy(IMcastAddressAllocation *This,IMcastLeaseInfo *pReleaseRequest);
342   void __RPC_STUB IMcastAddressAllocation_ReleaseAddress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
343   HRESULT WINAPI IMcastAddressAllocation_CreateLeaseInfo_Proxy(IMcastAddressAllocation *This,DATE LeaseStartTime,DATE LeaseStopTime,DWORD dwNumAddresses,LPWSTR *ppAddresses,LPWSTR pRequestID,LPWSTR pServerAddress,IMcastLeaseInfo **ppReleaseRequest);
344   void __RPC_STUB IMcastAddressAllocation_CreateLeaseInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
345   HRESULT WINAPI IMcastAddressAllocation_CreateLeaseInfoFromVariant_Proxy(IMcastAddressAllocation *This,DATE LeaseStartTime,DATE LeaseStopTime,VARIANT vAddresses,BSTR pRequestID,BSTR pServerAddress,IMcastLeaseInfo **ppReleaseRequest);
346   void __RPC_STUB IMcastAddressAllocation_CreateLeaseInfoFromVariant_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
347 #endif
348 
349 #ifndef __McastLib_LIBRARY_DEFINED__
350 #define __McastLib_LIBRARY_DEFINED__
351   EXTERN_C const IID LIBID_McastLib;
352   EXTERN_C const CLSID CLSID_McastAddressAllocation;
353 #ifdef __cplusplus
354   class McastAddressAllocation;
355 #endif
356 #endif
357 
358   ULONG __RPC_API BSTR_UserSize(ULONG *,ULONG,BSTR *);
359   unsigned char *__RPC_API BSTR_UserMarshal(ULONG *,unsigned char *,BSTR *);
360   unsigned char *__RPC_API BSTR_UserUnmarshal(ULONG *,unsigned char *,BSTR *);
361   void __RPC_API BSTR_UserFree(ULONG *,BSTR *);
362   ULONG __RPC_API VARIANT_UserSize(ULONG *,ULONG,VARIANT *);
363   unsigned char *__RPC_API VARIANT_UserMarshal(ULONG *,unsigned char *,VARIANT *);
364   unsigned char *__RPC_API VARIANT_UserUnmarshal(ULONG *,unsigned char *,VARIANT *);
365   void __RPC_API VARIANT_UserFree(ULONG *,VARIANT *);
366 
367 #ifdef __cplusplus
368 }
369 #endif
370 #endif
371