1 /*** Autogenerated by WIDL 1.6 from include/bdaiface.idl - Do not edit ***/
2 
3 #ifndef __REQUIRED_RPCNDR_H_VERSION__
4 #define __REQUIRED_RPCNDR_H_VERSION__ 475
5 #endif
6 
7 #include <rpc.h>
8 #include <rpcndr.h>
9 
10 #ifndef COM_NO_WINDOWS_H
11 #include <windows.h>
12 #include <ole2.h>
13 #endif
14 
15 #ifndef __bdaiface_h__
16 #define __bdaiface_h__
17 
18 /* Forward declarations */
19 
20 #ifndef __IBDA_NetworkProvider_FWD_DEFINED__
21 #define __IBDA_NetworkProvider_FWD_DEFINED__
22 typedef interface IBDA_NetworkProvider IBDA_NetworkProvider;
23 #endif
24 
25 #ifndef __IBDA_EthernetFilter_FWD_DEFINED__
26 #define __IBDA_EthernetFilter_FWD_DEFINED__
27 typedef interface IBDA_EthernetFilter IBDA_EthernetFilter;
28 #endif
29 
30 #ifndef __IBDA_IPV4Filter_FWD_DEFINED__
31 #define __IBDA_IPV4Filter_FWD_DEFINED__
32 typedef interface IBDA_IPV4Filter IBDA_IPV4Filter;
33 #endif
34 
35 #ifndef __IBDA_IPV6Filter_FWD_DEFINED__
36 #define __IBDA_IPV6Filter_FWD_DEFINED__
37 typedef interface IBDA_IPV6Filter IBDA_IPV6Filter;
38 #endif
39 
40 #ifndef __IBDA_DeviceControl_FWD_DEFINED__
41 #define __IBDA_DeviceControl_FWD_DEFINED__
42 typedef interface IBDA_DeviceControl IBDA_DeviceControl;
43 #endif
44 
45 #ifndef __IBDA_PinControl_FWD_DEFINED__
46 #define __IBDA_PinControl_FWD_DEFINED__
47 typedef interface IBDA_PinControl IBDA_PinControl;
48 #endif
49 
50 #ifndef __IBDA_SignalProperties_FWD_DEFINED__
51 #define __IBDA_SignalProperties_FWD_DEFINED__
52 typedef interface IBDA_SignalProperties IBDA_SignalProperties;
53 #endif
54 
55 #ifndef __IBDA_SignalStatistics_FWD_DEFINED__
56 #define __IBDA_SignalStatistics_FWD_DEFINED__
57 typedef interface IBDA_SignalStatistics IBDA_SignalStatistics;
58 #endif
59 
60 #ifndef __IBDA_Topology_FWD_DEFINED__
61 #define __IBDA_Topology_FWD_DEFINED__
62 typedef interface IBDA_Topology IBDA_Topology;
63 #endif
64 
65 #ifndef __IBDA_VoidTransform_FWD_DEFINED__
66 #define __IBDA_VoidTransform_FWD_DEFINED__
67 typedef interface IBDA_VoidTransform IBDA_VoidTransform;
68 #endif
69 
70 #ifndef __IBDA_NullTransform_FWD_DEFINED__
71 #define __IBDA_NullTransform_FWD_DEFINED__
72 typedef interface IBDA_NullTransform IBDA_NullTransform;
73 #endif
74 
75 #ifndef __IBDA_FrequencyFilter_FWD_DEFINED__
76 #define __IBDA_FrequencyFilter_FWD_DEFINED__
77 typedef interface IBDA_FrequencyFilter IBDA_FrequencyFilter;
78 #endif
79 
80 #ifndef __IBDA_LNBInfo_FWD_DEFINED__
81 #define __IBDA_LNBInfo_FWD_DEFINED__
82 typedef interface IBDA_LNBInfo IBDA_LNBInfo;
83 #endif
84 
85 #ifndef __IBDA_DiseqCommand_FWD_DEFINED__
86 #define __IBDA_DiseqCommand_FWD_DEFINED__
87 typedef interface IBDA_DiseqCommand IBDA_DiseqCommand;
88 #endif
89 
90 #ifndef __IBDA_AutoDemodulate_FWD_DEFINED__
91 #define __IBDA_AutoDemodulate_FWD_DEFINED__
92 typedef interface IBDA_AutoDemodulate IBDA_AutoDemodulate;
93 #endif
94 
95 #ifndef __IBDA_AutoDemodulateEx_FWD_DEFINED__
96 #define __IBDA_AutoDemodulateEx_FWD_DEFINED__
97 typedef interface IBDA_AutoDemodulateEx IBDA_AutoDemodulateEx;
98 #endif
99 
100 #ifndef __IBDA_DigitalDemodulator_FWD_DEFINED__
101 #define __IBDA_DigitalDemodulator_FWD_DEFINED__
102 typedef interface IBDA_DigitalDemodulator IBDA_DigitalDemodulator;
103 #endif
104 
105 #ifndef __IBDA_DigitalDemodulator2_FWD_DEFINED__
106 #define __IBDA_DigitalDemodulator2_FWD_DEFINED__
107 typedef interface IBDA_DigitalDemodulator2 IBDA_DigitalDemodulator2;
108 #endif
109 
110 #ifndef __IBDA_DigitalDemodulator3_FWD_DEFINED__
111 #define __IBDA_DigitalDemodulator3_FWD_DEFINED__
112 typedef interface IBDA_DigitalDemodulator3 IBDA_DigitalDemodulator3;
113 #endif
114 
115 #ifndef __ICCSubStreamFiltering_FWD_DEFINED__
116 #define __ICCSubStreamFiltering_FWD_DEFINED__
117 typedef interface ICCSubStreamFiltering ICCSubStreamFiltering;
118 #endif
119 
120 #ifndef __IBDA_IPSinkControl_FWD_DEFINED__
121 #define __IBDA_IPSinkControl_FWD_DEFINED__
122 typedef interface IBDA_IPSinkControl IBDA_IPSinkControl;
123 #endif
124 
125 #ifndef __IBDA_IPSinkInfo_FWD_DEFINED__
126 #define __IBDA_IPSinkInfo_FWD_DEFINED__
127 typedef interface IBDA_IPSinkInfo IBDA_IPSinkInfo;
128 #endif
129 
130 #ifndef __IEnumPIDMap_FWD_DEFINED__
131 #define __IEnumPIDMap_FWD_DEFINED__
132 typedef interface IEnumPIDMap IEnumPIDMap;
133 #endif
134 
135 #ifndef __IMPEG2PIDMap_FWD_DEFINED__
136 #define __IMPEG2PIDMap_FWD_DEFINED__
137 typedef interface IMPEG2PIDMap IMPEG2PIDMap;
138 #endif
139 
140 #ifndef __IFrequencyMap_FWD_DEFINED__
141 #define __IFrequencyMap_FWD_DEFINED__
142 typedef interface IFrequencyMap IFrequencyMap;
143 #endif
144 
145 #ifndef __IBDA_EasMessage_FWD_DEFINED__
146 #define __IBDA_EasMessage_FWD_DEFINED__
147 typedef interface IBDA_EasMessage IBDA_EasMessage;
148 #endif
149 
150 #ifndef __IBDA_TransportStreamInfo_FWD_DEFINED__
151 #define __IBDA_TransportStreamInfo_FWD_DEFINED__
152 typedef interface IBDA_TransportStreamInfo IBDA_TransportStreamInfo;
153 #endif
154 
155 #ifndef __IBDA_ConditionalAccess_FWD_DEFINED__
156 #define __IBDA_ConditionalAccess_FWD_DEFINED__
157 typedef interface IBDA_ConditionalAccess IBDA_ConditionalAccess;
158 #endif
159 
160 #ifndef __IBDA_DiagnosticProperties_FWD_DEFINED__
161 #define __IBDA_DiagnosticProperties_FWD_DEFINED__
162 typedef interface IBDA_DiagnosticProperties IBDA_DiagnosticProperties;
163 #endif
164 
165 #ifndef __IBDA_DRM_FWD_DEFINED__
166 #define __IBDA_DRM_FWD_DEFINED__
167 typedef interface IBDA_DRM IBDA_DRM;
168 #endif
169 
170 #ifndef __IBDA_NameValueService_FWD_DEFINED__
171 #define __IBDA_NameValueService_FWD_DEFINED__
172 typedef interface IBDA_NameValueService IBDA_NameValueService;
173 #endif
174 
175 #ifndef __IBDA_ConditionalAccessEx_FWD_DEFINED__
176 #define __IBDA_ConditionalAccessEx_FWD_DEFINED__
177 typedef interface IBDA_ConditionalAccessEx IBDA_ConditionalAccessEx;
178 #endif
179 
180 #ifndef __IBDA_ISDBConditionalAccess_FWD_DEFINED__
181 #define __IBDA_ISDBConditionalAccess_FWD_DEFINED__
182 typedef interface IBDA_ISDBConditionalAccess IBDA_ISDBConditionalAccess;
183 #endif
184 
185 #ifndef __IBDA_EventingService_FWD_DEFINED__
186 #define __IBDA_EventingService_FWD_DEFINED__
187 typedef interface IBDA_EventingService IBDA_EventingService;
188 #endif
189 
190 #ifndef __IBDA_AUX_FWD_DEFINED__
191 #define __IBDA_AUX_FWD_DEFINED__
192 typedef interface IBDA_AUX IBDA_AUX;
193 #endif
194 
195 #ifndef __IBDA_Encoder_FWD_DEFINED__
196 #define __IBDA_Encoder_FWD_DEFINED__
197 typedef interface IBDA_Encoder IBDA_Encoder;
198 #endif
199 
200 #ifndef __IBDA_FDC_FWD_DEFINED__
201 #define __IBDA_FDC_FWD_DEFINED__
202 typedef interface IBDA_FDC IBDA_FDC;
203 #endif
204 
205 #ifndef __IBDA_GuideDataDeliveryService_FWD_DEFINED__
206 #define __IBDA_GuideDataDeliveryService_FWD_DEFINED__
207 typedef interface IBDA_GuideDataDeliveryService IBDA_GuideDataDeliveryService;
208 #endif
209 
210 #ifndef __IBDA_DRMService_FWD_DEFINED__
211 #define __IBDA_DRMService_FWD_DEFINED__
212 typedef interface IBDA_DRMService IBDA_DRMService;
213 #endif
214 
215 #ifndef __IBDA_WMDRMSession_FWD_DEFINED__
216 #define __IBDA_WMDRMSession_FWD_DEFINED__
217 typedef interface IBDA_WMDRMSession IBDA_WMDRMSession;
218 #endif
219 
220 #ifndef __IBDA_WMDRMTuner_FWD_DEFINED__
221 #define __IBDA_WMDRMTuner_FWD_DEFINED__
222 typedef interface IBDA_WMDRMTuner IBDA_WMDRMTuner;
223 #endif
224 
225 #ifndef __IBDA_DRIDRMService_FWD_DEFINED__
226 #define __IBDA_DRIDRMService_FWD_DEFINED__
227 typedef interface IBDA_DRIDRMService IBDA_DRIDRMService;
228 #endif
229 
230 #ifndef __IBDA_DRIWMDRMSession_FWD_DEFINED__
231 #define __IBDA_DRIWMDRMSession_FWD_DEFINED__
232 typedef interface IBDA_DRIWMDRMSession IBDA_DRIWMDRMSession;
233 #endif
234 
235 #ifndef __IBDA_MUX_FWD_DEFINED__
236 #define __IBDA_MUX_FWD_DEFINED__
237 typedef interface IBDA_MUX IBDA_MUX;
238 #endif
239 
240 #ifndef __IBDA_TransportStreamSelector_FWD_DEFINED__
241 #define __IBDA_TransportStreamSelector_FWD_DEFINED__
242 typedef interface IBDA_TransportStreamSelector IBDA_TransportStreamSelector;
243 #endif
244 
245 #ifndef __IBDA_UserActivityService_FWD_DEFINED__
246 #define __IBDA_UserActivityService_FWD_DEFINED__
247 typedef interface IBDA_UserActivityService IBDA_UserActivityService;
248 #endif
249 
250 /* Headers for imported files */
251 
252 #include <unknwn.h>
253 #include <strmif.h>
254 #include <bdatypes.h>
255 
256 #ifdef __cplusplus
257 extern "C" {
258 #endif
259 
260 #include <winapifamily.h>
261 
262 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
263 typedef enum SmartCardStatusType {
264     CardInserted = 0,
265     CardRemoved = 1,
266     CardError = 2,
267     CardDataChanged = 3,
268     CardFirmwareUpgrade = 4
269 } SmartCardStatusType;
270 typedef enum SmartCardAssociationType {
271     NotAssociated = 0,
272     Associated = 1,
273     AssociationUnknown = 2
274 } SmartCardAssociationType;
275 typedef enum LocationCodeSchemeType {
276     SCTE_18 = 0
277 } LocationCodeSchemeType;
278 typedef enum EntitlementType {
279     Entitled = 0,
280     NotEntitled = 1,
281     TechnicalFailure = 2
282 } EntitlementType;
283 typedef enum UICloseReasonType {
284     NotReady = 0,
285     UserClosed = 1,
286     SystemClosed = 2,
287     DeviceClosed = 3,
288     ErrorClosed = 4
289 } UICloseReasonType;
290 typedef enum BDA_DrmPairingError {
291     BDA_DrmPairing_Succeeded = 0,
292     BDA_DrmPairing_HardwareFailure = 1,
293     BDA_DrmPairing_NeedRevocationData = 2,
294     BDA_DrmPairing_NeedIndiv = 3,
295     BDA_DrmPairing_Other = 4,
296     BDA_DrmPairing_DrmInitFailed = 5,
297     BDA_DrmPairing_DrmNotPaired = 6,
298     BDA_DrmPairing_DrmRePairSoon = 7,
299     BDA_DrmPairing_Aborted = 8,
300     BDA_DrmPairing_NeedSDKUpdate = 9
301 } BDA_DrmPairingError;
302 typedef struct EALocationCodeType {
303     LocationCodeSchemeType LocationCodeScheme;
304     BYTE state_code;
305     BYTE county_subdivision;
306     WORD county_code;
307 } EALocationCodeType;
308 typedef struct SmartCardApplication {
309     ApplicationTypeType ApplicationType;
310     USHORT ApplicationVersion;
311     BSTR pbstrApplicationName;
312     BSTR pbstrApplicationURL;
313 } SmartCardApplication;
314 
315 #define PBDA_Encoder_Audio_AlgorithmType_MPEG1LayerII 0x0
316 #define PBDA_Encoder_Audio_AlgorithmType_AC3 0x1
317 
318 #define PBDA_Encoder_Video_MPEG2PartII 0x0
319 #define PBDA_Encoder_Video_MPEG4Part10 0x1
320 
321 #define PBDA_Encoder_Video_AVC 0x1
322 #define PBDA_Encoder_Video_H264 0x1
323 
324 #define PBDA_Encoder_BitrateMode_Constant 1
325 #define PBDA_Encoder_BitrateMode_Variable 2
326 #define PBDA_Encoder_BitrateMode_Average 3
327 typedef enum __WIDL_bdaiface_generated_name_0000000F {
328     KSPROPERTY_IPSINK_MULTICASTLIST = 0,
329     KSPROPERTY_IPSINK_ADAPTER_DESCRIPTION = 1,
330     KSPROPERTY_IPSINK_ADAPTER_ADDRESS = 2
331 } KSPROPERTY_IPSINK;
332 /*****************************************************************************
333  * IBDA_NetworkProvider interface
334  */
335 #ifndef __IBDA_NetworkProvider_INTERFACE_DEFINED__
336 #define __IBDA_NetworkProvider_INTERFACE_DEFINED__
337 
338 DEFINE_GUID(IID_IBDA_NetworkProvider, 0xfd501041, 0x8ebe, 0x11ce, 0x81,0x83, 0x00,0xaa,0x00,0x57,0x7d,0xa2);
339 #if defined(__cplusplus) && !defined(CINTERFACE)
340 MIDL_INTERFACE("fd501041-8ebe-11ce-8183-00aa00577da2")
341 IBDA_NetworkProvider : public IUnknown
342 {
343     virtual HRESULT STDMETHODCALLTYPE PutSignalSource(
344         ULONG ulSignalSource) = 0;
345 
346     virtual HRESULT STDMETHODCALLTYPE GetSignalSource(
347         ULONG *pulSignalSource) = 0;
348 
349     virtual HRESULT STDMETHODCALLTYPE GetNetworkType(
350         GUID *pguidNetworkType) = 0;
351 
352     virtual HRESULT STDMETHODCALLTYPE PutTuningSpace(
353         REFGUID guidTuningSpace) = 0;
354 
355     virtual HRESULT STDMETHODCALLTYPE GetTuningSpace(
356         GUID *pguidTuingSpace) = 0;
357 
358     virtual HRESULT STDMETHODCALLTYPE RegisterDeviceFilter(
359         IUnknown *pUnkFilterControl,
360         ULONG *ppvRegisitrationContext) = 0;
361 
362     virtual HRESULT STDMETHODCALLTYPE UnRegisterDeviceFilter(
363         ULONG pvRegistrationContext) = 0;
364 
365 };
366 #ifdef __CRT_UUID_DECL
367 __CRT_UUID_DECL(IBDA_NetworkProvider, 0xfd501041, 0x8ebe, 0x11ce, 0x81,0x83, 0x00,0xaa,0x00,0x57,0x7d,0xa2)
368 #endif
369 #else
370 typedef struct IBDA_NetworkProviderVtbl {
371     BEGIN_INTERFACE
372 
373     /*** IUnknown methods ***/
374     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
375         IBDA_NetworkProvider* This,
376         REFIID riid,
377         void **ppvObject);
378 
379     ULONG (STDMETHODCALLTYPE *AddRef)(
380         IBDA_NetworkProvider* This);
381 
382     ULONG (STDMETHODCALLTYPE *Release)(
383         IBDA_NetworkProvider* This);
384 
385     /*** IBDA_NetworkProvider methods ***/
386     HRESULT (STDMETHODCALLTYPE *PutSignalSource)(
387         IBDA_NetworkProvider* This,
388         ULONG ulSignalSource);
389 
390     HRESULT (STDMETHODCALLTYPE *GetSignalSource)(
391         IBDA_NetworkProvider* This,
392         ULONG *pulSignalSource);
393 
394     HRESULT (STDMETHODCALLTYPE *GetNetworkType)(
395         IBDA_NetworkProvider* This,
396         GUID *pguidNetworkType);
397 
398     HRESULT (STDMETHODCALLTYPE *PutTuningSpace)(
399         IBDA_NetworkProvider* This,
400         REFGUID guidTuningSpace);
401 
402     HRESULT (STDMETHODCALLTYPE *GetTuningSpace)(
403         IBDA_NetworkProvider* This,
404         GUID *pguidTuingSpace);
405 
406     HRESULT (STDMETHODCALLTYPE *RegisterDeviceFilter)(
407         IBDA_NetworkProvider* This,
408         IUnknown *pUnkFilterControl,
409         ULONG *ppvRegisitrationContext);
410 
411     HRESULT (STDMETHODCALLTYPE *UnRegisterDeviceFilter)(
412         IBDA_NetworkProvider* This,
413         ULONG pvRegistrationContext);
414 
415     END_INTERFACE
416 } IBDA_NetworkProviderVtbl;
417 interface IBDA_NetworkProvider {
418     CONST_VTBL IBDA_NetworkProviderVtbl* lpVtbl;
419 };
420 
421 #ifdef COBJMACROS
422 #ifndef WIDL_C_INLINE_WRAPPERS
423 /*** IUnknown methods ***/
424 #define IBDA_NetworkProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
425 #define IBDA_NetworkProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
426 #define IBDA_NetworkProvider_Release(This) (This)->lpVtbl->Release(This)
427 /*** IBDA_NetworkProvider methods ***/
428 #define IBDA_NetworkProvider_PutSignalSource(This,ulSignalSource) (This)->lpVtbl->PutSignalSource(This,ulSignalSource)
429 #define IBDA_NetworkProvider_GetSignalSource(This,pulSignalSource) (This)->lpVtbl->GetSignalSource(This,pulSignalSource)
430 #define IBDA_NetworkProvider_GetNetworkType(This,pguidNetworkType) (This)->lpVtbl->GetNetworkType(This,pguidNetworkType)
431 #define IBDA_NetworkProvider_PutTuningSpace(This,guidTuningSpace) (This)->lpVtbl->PutTuningSpace(This,guidTuningSpace)
432 #define IBDA_NetworkProvider_GetTuningSpace(This,pguidTuingSpace) (This)->lpVtbl->GetTuningSpace(This,pguidTuingSpace)
433 #define IBDA_NetworkProvider_RegisterDeviceFilter(This,pUnkFilterControl,ppvRegisitrationContext) (This)->lpVtbl->RegisterDeviceFilter(This,pUnkFilterControl,ppvRegisitrationContext)
434 #define IBDA_NetworkProvider_UnRegisterDeviceFilter(This,pvRegistrationContext) (This)->lpVtbl->UnRegisterDeviceFilter(This,pvRegistrationContext)
435 #else
436 /*** IUnknown methods ***/
437 static FORCEINLINE HRESULT IBDA_NetworkProvider_QueryInterface(IBDA_NetworkProvider* This,REFIID riid,void **ppvObject) {
438     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
439 }
440 static FORCEINLINE ULONG IBDA_NetworkProvider_AddRef(IBDA_NetworkProvider* This) {
441     return This->lpVtbl->AddRef(This);
442 }
443 static FORCEINLINE ULONG IBDA_NetworkProvider_Release(IBDA_NetworkProvider* This) {
444     return This->lpVtbl->Release(This);
445 }
446 /*** IBDA_NetworkProvider methods ***/
447 static FORCEINLINE HRESULT IBDA_NetworkProvider_PutSignalSource(IBDA_NetworkProvider* This,ULONG ulSignalSource) {
448     return This->lpVtbl->PutSignalSource(This,ulSignalSource);
449 }
450 static FORCEINLINE HRESULT IBDA_NetworkProvider_GetSignalSource(IBDA_NetworkProvider* This,ULONG *pulSignalSource) {
451     return This->lpVtbl->GetSignalSource(This,pulSignalSource);
452 }
453 static FORCEINLINE HRESULT IBDA_NetworkProvider_GetNetworkType(IBDA_NetworkProvider* This,GUID *pguidNetworkType) {
454     return This->lpVtbl->GetNetworkType(This,pguidNetworkType);
455 }
456 static FORCEINLINE HRESULT IBDA_NetworkProvider_PutTuningSpace(IBDA_NetworkProvider* This,REFGUID guidTuningSpace) {
457     return This->lpVtbl->PutTuningSpace(This,guidTuningSpace);
458 }
459 static FORCEINLINE HRESULT IBDA_NetworkProvider_GetTuningSpace(IBDA_NetworkProvider* This,GUID *pguidTuingSpace) {
460     return This->lpVtbl->GetTuningSpace(This,pguidTuingSpace);
461 }
462 static FORCEINLINE HRESULT IBDA_NetworkProvider_RegisterDeviceFilter(IBDA_NetworkProvider* This,IUnknown *pUnkFilterControl,ULONG *ppvRegisitrationContext) {
463     return This->lpVtbl->RegisterDeviceFilter(This,pUnkFilterControl,ppvRegisitrationContext);
464 }
465 static FORCEINLINE HRESULT IBDA_NetworkProvider_UnRegisterDeviceFilter(IBDA_NetworkProvider* This,ULONG pvRegistrationContext) {
466     return This->lpVtbl->UnRegisterDeviceFilter(This,pvRegistrationContext);
467 }
468 #endif
469 #endif
470 
471 #endif
472 
473 HRESULT STDMETHODCALLTYPE IBDA_NetworkProvider_PutSignalSource_Proxy(
474     IBDA_NetworkProvider* This,
475     ULONG ulSignalSource);
476 void __RPC_STUB IBDA_NetworkProvider_PutSignalSource_Stub(
477     IRpcStubBuffer* This,
478     IRpcChannelBuffer* pRpcChannelBuffer,
479     PRPC_MESSAGE pRpcMessage,
480     DWORD* pdwStubPhase);
481 HRESULT STDMETHODCALLTYPE IBDA_NetworkProvider_GetSignalSource_Proxy(
482     IBDA_NetworkProvider* This,
483     ULONG *pulSignalSource);
484 void __RPC_STUB IBDA_NetworkProvider_GetSignalSource_Stub(
485     IRpcStubBuffer* This,
486     IRpcChannelBuffer* pRpcChannelBuffer,
487     PRPC_MESSAGE pRpcMessage,
488     DWORD* pdwStubPhase);
489 HRESULT STDMETHODCALLTYPE IBDA_NetworkProvider_GetNetworkType_Proxy(
490     IBDA_NetworkProvider* This,
491     GUID *pguidNetworkType);
492 void __RPC_STUB IBDA_NetworkProvider_GetNetworkType_Stub(
493     IRpcStubBuffer* This,
494     IRpcChannelBuffer* pRpcChannelBuffer,
495     PRPC_MESSAGE pRpcMessage,
496     DWORD* pdwStubPhase);
497 HRESULT STDMETHODCALLTYPE IBDA_NetworkProvider_PutTuningSpace_Proxy(
498     IBDA_NetworkProvider* This,
499     REFGUID guidTuningSpace);
500 void __RPC_STUB IBDA_NetworkProvider_PutTuningSpace_Stub(
501     IRpcStubBuffer* This,
502     IRpcChannelBuffer* pRpcChannelBuffer,
503     PRPC_MESSAGE pRpcMessage,
504     DWORD* pdwStubPhase);
505 HRESULT STDMETHODCALLTYPE IBDA_NetworkProvider_GetTuningSpace_Proxy(
506     IBDA_NetworkProvider* This,
507     GUID *pguidTuingSpace);
508 void __RPC_STUB IBDA_NetworkProvider_GetTuningSpace_Stub(
509     IRpcStubBuffer* This,
510     IRpcChannelBuffer* pRpcChannelBuffer,
511     PRPC_MESSAGE pRpcMessage,
512     DWORD* pdwStubPhase);
513 HRESULT STDMETHODCALLTYPE IBDA_NetworkProvider_RegisterDeviceFilter_Proxy(
514     IBDA_NetworkProvider* This,
515     IUnknown *pUnkFilterControl,
516     ULONG *ppvRegisitrationContext);
517 void __RPC_STUB IBDA_NetworkProvider_RegisterDeviceFilter_Stub(
518     IRpcStubBuffer* This,
519     IRpcChannelBuffer* pRpcChannelBuffer,
520     PRPC_MESSAGE pRpcMessage,
521     DWORD* pdwStubPhase);
522 HRESULT STDMETHODCALLTYPE IBDA_NetworkProvider_UnRegisterDeviceFilter_Proxy(
523     IBDA_NetworkProvider* This,
524     ULONG pvRegistrationContext);
525 void __RPC_STUB IBDA_NetworkProvider_UnRegisterDeviceFilter_Stub(
526     IRpcStubBuffer* This,
527     IRpcChannelBuffer* pRpcChannelBuffer,
528     PRPC_MESSAGE pRpcMessage,
529     DWORD* pdwStubPhase);
530 
531 #endif  /* __IBDA_NetworkProvider_INTERFACE_DEFINED__ */
532 
533 /*****************************************************************************
534  * IBDA_EthernetFilter interface
535  */
536 #ifndef __IBDA_EthernetFilter_INTERFACE_DEFINED__
537 #define __IBDA_EthernetFilter_INTERFACE_DEFINED__
538 
539 DEFINE_GUID(IID_IBDA_EthernetFilter, 0x71985f43, 0x1ca1, 0x11d3, 0x9c,0xc8, 0x00,0xc0,0x4f,0x79,0x71,0xe0);
540 #if defined(__cplusplus) && !defined(CINTERFACE)
541 MIDL_INTERFACE("71985f43-1ca1-11d3-9cc8-00c04f7971e0")
542 IBDA_EthernetFilter : public IUnknown
543 {
544     virtual HRESULT STDMETHODCALLTYPE GetMulticastListSize(
545         ULONG *pulcbAddresses) = 0;
546 
547     virtual HRESULT STDMETHODCALLTYPE PutMulticastList(
548         ULONG ulcbAddresses,
549         BYTE pAddressList[]) = 0;
550 
551     virtual HRESULT STDMETHODCALLTYPE GetMulticastList(
552         ULONG *pulcbAddresses,
553         BYTE pAddressList[]) = 0;
554 
555     virtual HRESULT STDMETHODCALLTYPE PutMulticastMode(
556         ULONG ulModeMask) = 0;
557 
558     virtual HRESULT STDMETHODCALLTYPE GetMulticastMode(
559         ULONG *pulModeMask) = 0;
560 
561 };
562 #ifdef __CRT_UUID_DECL
563 __CRT_UUID_DECL(IBDA_EthernetFilter, 0x71985f43, 0x1ca1, 0x11d3, 0x9c,0xc8, 0x00,0xc0,0x4f,0x79,0x71,0xe0)
564 #endif
565 #else
566 typedef struct IBDA_EthernetFilterVtbl {
567     BEGIN_INTERFACE
568 
569     /*** IUnknown methods ***/
570     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
571         IBDA_EthernetFilter* This,
572         REFIID riid,
573         void **ppvObject);
574 
575     ULONG (STDMETHODCALLTYPE *AddRef)(
576         IBDA_EthernetFilter* This);
577 
578     ULONG (STDMETHODCALLTYPE *Release)(
579         IBDA_EthernetFilter* This);
580 
581     /*** IBDA_EthernetFilter methods ***/
582     HRESULT (STDMETHODCALLTYPE *GetMulticastListSize)(
583         IBDA_EthernetFilter* This,
584         ULONG *pulcbAddresses);
585 
586     HRESULT (STDMETHODCALLTYPE *PutMulticastList)(
587         IBDA_EthernetFilter* This,
588         ULONG ulcbAddresses,
589         BYTE pAddressList[]);
590 
591     HRESULT (STDMETHODCALLTYPE *GetMulticastList)(
592         IBDA_EthernetFilter* This,
593         ULONG *pulcbAddresses,
594         BYTE pAddressList[]);
595 
596     HRESULT (STDMETHODCALLTYPE *PutMulticastMode)(
597         IBDA_EthernetFilter* This,
598         ULONG ulModeMask);
599 
600     HRESULT (STDMETHODCALLTYPE *GetMulticastMode)(
601         IBDA_EthernetFilter* This,
602         ULONG *pulModeMask);
603 
604     END_INTERFACE
605 } IBDA_EthernetFilterVtbl;
606 interface IBDA_EthernetFilter {
607     CONST_VTBL IBDA_EthernetFilterVtbl* lpVtbl;
608 };
609 
610 #ifdef COBJMACROS
611 #ifndef WIDL_C_INLINE_WRAPPERS
612 /*** IUnknown methods ***/
613 #define IBDA_EthernetFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
614 #define IBDA_EthernetFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
615 #define IBDA_EthernetFilter_Release(This) (This)->lpVtbl->Release(This)
616 /*** IBDA_EthernetFilter methods ***/
617 #define IBDA_EthernetFilter_GetMulticastListSize(This,pulcbAddresses) (This)->lpVtbl->GetMulticastListSize(This,pulcbAddresses)
618 #define IBDA_EthernetFilter_PutMulticastList(This,ulcbAddresses,pAddressList) (This)->lpVtbl->PutMulticastList(This,ulcbAddresses,pAddressList)
619 #define IBDA_EthernetFilter_GetMulticastList(This,pulcbAddresses,pAddressList) (This)->lpVtbl->GetMulticastList(This,pulcbAddresses,pAddressList)
620 #define IBDA_EthernetFilter_PutMulticastMode(This,ulModeMask) (This)->lpVtbl->PutMulticastMode(This,ulModeMask)
621 #define IBDA_EthernetFilter_GetMulticastMode(This,pulModeMask) (This)->lpVtbl->GetMulticastMode(This,pulModeMask)
622 #else
623 /*** IUnknown methods ***/
624 static FORCEINLINE HRESULT IBDA_EthernetFilter_QueryInterface(IBDA_EthernetFilter* This,REFIID riid,void **ppvObject) {
625     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
626 }
627 static FORCEINLINE ULONG IBDA_EthernetFilter_AddRef(IBDA_EthernetFilter* This) {
628     return This->lpVtbl->AddRef(This);
629 }
630 static FORCEINLINE ULONG IBDA_EthernetFilter_Release(IBDA_EthernetFilter* This) {
631     return This->lpVtbl->Release(This);
632 }
633 /*** IBDA_EthernetFilter methods ***/
634 static FORCEINLINE HRESULT IBDA_EthernetFilter_GetMulticastListSize(IBDA_EthernetFilter* This,ULONG *pulcbAddresses) {
635     return This->lpVtbl->GetMulticastListSize(This,pulcbAddresses);
636 }
637 static FORCEINLINE HRESULT IBDA_EthernetFilter_PutMulticastList(IBDA_EthernetFilter* This,ULONG ulcbAddresses,BYTE pAddressList[]) {
638     return This->lpVtbl->PutMulticastList(This,ulcbAddresses,pAddressList);
639 }
640 static FORCEINLINE HRESULT IBDA_EthernetFilter_GetMulticastList(IBDA_EthernetFilter* This,ULONG *pulcbAddresses,BYTE pAddressList[]) {
641     return This->lpVtbl->GetMulticastList(This,pulcbAddresses,pAddressList);
642 }
643 static FORCEINLINE HRESULT IBDA_EthernetFilter_PutMulticastMode(IBDA_EthernetFilter* This,ULONG ulModeMask) {
644     return This->lpVtbl->PutMulticastMode(This,ulModeMask);
645 }
646 static FORCEINLINE HRESULT IBDA_EthernetFilter_GetMulticastMode(IBDA_EthernetFilter* This,ULONG *pulModeMask) {
647     return This->lpVtbl->GetMulticastMode(This,pulModeMask);
648 }
649 #endif
650 #endif
651 
652 #endif
653 
654 HRESULT STDMETHODCALLTYPE IBDA_EthernetFilter_GetMulticastListSize_Proxy(
655     IBDA_EthernetFilter* This,
656     ULONG *pulcbAddresses);
657 void __RPC_STUB IBDA_EthernetFilter_GetMulticastListSize_Stub(
658     IRpcStubBuffer* This,
659     IRpcChannelBuffer* pRpcChannelBuffer,
660     PRPC_MESSAGE pRpcMessage,
661     DWORD* pdwStubPhase);
662 HRESULT STDMETHODCALLTYPE IBDA_EthernetFilter_PutMulticastList_Proxy(
663     IBDA_EthernetFilter* This,
664     ULONG ulcbAddresses,
665     BYTE pAddressList[]);
666 void __RPC_STUB IBDA_EthernetFilter_PutMulticastList_Stub(
667     IRpcStubBuffer* This,
668     IRpcChannelBuffer* pRpcChannelBuffer,
669     PRPC_MESSAGE pRpcMessage,
670     DWORD* pdwStubPhase);
671 HRESULT STDMETHODCALLTYPE IBDA_EthernetFilter_GetMulticastList_Proxy(
672     IBDA_EthernetFilter* This,
673     ULONG *pulcbAddresses,
674     BYTE pAddressList[]);
675 void __RPC_STUB IBDA_EthernetFilter_GetMulticastList_Stub(
676     IRpcStubBuffer* This,
677     IRpcChannelBuffer* pRpcChannelBuffer,
678     PRPC_MESSAGE pRpcMessage,
679     DWORD* pdwStubPhase);
680 HRESULT STDMETHODCALLTYPE IBDA_EthernetFilter_PutMulticastMode_Proxy(
681     IBDA_EthernetFilter* This,
682     ULONG ulModeMask);
683 void __RPC_STUB IBDA_EthernetFilter_PutMulticastMode_Stub(
684     IRpcStubBuffer* This,
685     IRpcChannelBuffer* pRpcChannelBuffer,
686     PRPC_MESSAGE pRpcMessage,
687     DWORD* pdwStubPhase);
688 HRESULT STDMETHODCALLTYPE IBDA_EthernetFilter_GetMulticastMode_Proxy(
689     IBDA_EthernetFilter* This,
690     ULONG *pulModeMask);
691 void __RPC_STUB IBDA_EthernetFilter_GetMulticastMode_Stub(
692     IRpcStubBuffer* This,
693     IRpcChannelBuffer* pRpcChannelBuffer,
694     PRPC_MESSAGE pRpcMessage,
695     DWORD* pdwStubPhase);
696 
697 #endif  /* __IBDA_EthernetFilter_INTERFACE_DEFINED__ */
698 
699 /*****************************************************************************
700  * IBDA_IPV4Filter interface
701  */
702 #ifndef __IBDA_IPV4Filter_INTERFACE_DEFINED__
703 #define __IBDA_IPV4Filter_INTERFACE_DEFINED__
704 
705 DEFINE_GUID(IID_IBDA_IPV4Filter, 0x71985f44, 0x1ca1, 0x11d3, 0x9c,0xc8, 0x00,0xc0,0x4f,0x79,0x71,0xe0);
706 #if defined(__cplusplus) && !defined(CINTERFACE)
707 MIDL_INTERFACE("71985f44-1ca1-11d3-9cc8-00c04f7971e0")
708 IBDA_IPV4Filter : public IUnknown
709 {
710     virtual HRESULT STDMETHODCALLTYPE GetMulticastListSize(
711         ULONG *pulcbAddresses) = 0;
712 
713     virtual HRESULT STDMETHODCALLTYPE PutMulticastList(
714         ULONG ulcbAddresses,
715         BYTE pAddressList[]) = 0;
716 
717     virtual HRESULT STDMETHODCALLTYPE GetMulticastList(
718         ULONG *pulcbAddresses,
719         BYTE pAddressList[]) = 0;
720 
721     virtual HRESULT STDMETHODCALLTYPE PutMulticastMode(
722         ULONG ulModeMask) = 0;
723 
724     virtual HRESULT STDMETHODCALLTYPE GetMulticastMode(
725         ULONG *pulModeMask) = 0;
726 
727 };
728 #ifdef __CRT_UUID_DECL
729 __CRT_UUID_DECL(IBDA_IPV4Filter, 0x71985f44, 0x1ca1, 0x11d3, 0x9c,0xc8, 0x00,0xc0,0x4f,0x79,0x71,0xe0)
730 #endif
731 #else
732 typedef struct IBDA_IPV4FilterVtbl {
733     BEGIN_INTERFACE
734 
735     /*** IUnknown methods ***/
736     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
737         IBDA_IPV4Filter* This,
738         REFIID riid,
739         void **ppvObject);
740 
741     ULONG (STDMETHODCALLTYPE *AddRef)(
742         IBDA_IPV4Filter* This);
743 
744     ULONG (STDMETHODCALLTYPE *Release)(
745         IBDA_IPV4Filter* This);
746 
747     /*** IBDA_IPV4Filter methods ***/
748     HRESULT (STDMETHODCALLTYPE *GetMulticastListSize)(
749         IBDA_IPV4Filter* This,
750         ULONG *pulcbAddresses);
751 
752     HRESULT (STDMETHODCALLTYPE *PutMulticastList)(
753         IBDA_IPV4Filter* This,
754         ULONG ulcbAddresses,
755         BYTE pAddressList[]);
756 
757     HRESULT (STDMETHODCALLTYPE *GetMulticastList)(
758         IBDA_IPV4Filter* This,
759         ULONG *pulcbAddresses,
760         BYTE pAddressList[]);
761 
762     HRESULT (STDMETHODCALLTYPE *PutMulticastMode)(
763         IBDA_IPV4Filter* This,
764         ULONG ulModeMask);
765 
766     HRESULT (STDMETHODCALLTYPE *GetMulticastMode)(
767         IBDA_IPV4Filter* This,
768         ULONG *pulModeMask);
769 
770     END_INTERFACE
771 } IBDA_IPV4FilterVtbl;
772 interface IBDA_IPV4Filter {
773     CONST_VTBL IBDA_IPV4FilterVtbl* lpVtbl;
774 };
775 
776 #ifdef COBJMACROS
777 #ifndef WIDL_C_INLINE_WRAPPERS
778 /*** IUnknown methods ***/
779 #define IBDA_IPV4Filter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
780 #define IBDA_IPV4Filter_AddRef(This) (This)->lpVtbl->AddRef(This)
781 #define IBDA_IPV4Filter_Release(This) (This)->lpVtbl->Release(This)
782 /*** IBDA_IPV4Filter methods ***/
783 #define IBDA_IPV4Filter_GetMulticastListSize(This,pulcbAddresses) (This)->lpVtbl->GetMulticastListSize(This,pulcbAddresses)
784 #define IBDA_IPV4Filter_PutMulticastList(This,ulcbAddresses,pAddressList) (This)->lpVtbl->PutMulticastList(This,ulcbAddresses,pAddressList)
785 #define IBDA_IPV4Filter_GetMulticastList(This,pulcbAddresses,pAddressList) (This)->lpVtbl->GetMulticastList(This,pulcbAddresses,pAddressList)
786 #define IBDA_IPV4Filter_PutMulticastMode(This,ulModeMask) (This)->lpVtbl->PutMulticastMode(This,ulModeMask)
787 #define IBDA_IPV4Filter_GetMulticastMode(This,pulModeMask) (This)->lpVtbl->GetMulticastMode(This,pulModeMask)
788 #else
789 /*** IUnknown methods ***/
790 static FORCEINLINE HRESULT IBDA_IPV4Filter_QueryInterface(IBDA_IPV4Filter* This,REFIID riid,void **ppvObject) {
791     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
792 }
793 static FORCEINLINE ULONG IBDA_IPV4Filter_AddRef(IBDA_IPV4Filter* This) {
794     return This->lpVtbl->AddRef(This);
795 }
796 static FORCEINLINE ULONG IBDA_IPV4Filter_Release(IBDA_IPV4Filter* This) {
797     return This->lpVtbl->Release(This);
798 }
799 /*** IBDA_IPV4Filter methods ***/
800 static FORCEINLINE HRESULT IBDA_IPV4Filter_GetMulticastListSize(IBDA_IPV4Filter* This,ULONG *pulcbAddresses) {
801     return This->lpVtbl->GetMulticastListSize(This,pulcbAddresses);
802 }
803 static FORCEINLINE HRESULT IBDA_IPV4Filter_PutMulticastList(IBDA_IPV4Filter* This,ULONG ulcbAddresses,BYTE pAddressList[]) {
804     return This->lpVtbl->PutMulticastList(This,ulcbAddresses,pAddressList);
805 }
806 static FORCEINLINE HRESULT IBDA_IPV4Filter_GetMulticastList(IBDA_IPV4Filter* This,ULONG *pulcbAddresses,BYTE pAddressList[]) {
807     return This->lpVtbl->GetMulticastList(This,pulcbAddresses,pAddressList);
808 }
809 static FORCEINLINE HRESULT IBDA_IPV4Filter_PutMulticastMode(IBDA_IPV4Filter* This,ULONG ulModeMask) {
810     return This->lpVtbl->PutMulticastMode(This,ulModeMask);
811 }
812 static FORCEINLINE HRESULT IBDA_IPV4Filter_GetMulticastMode(IBDA_IPV4Filter* This,ULONG *pulModeMask) {
813     return This->lpVtbl->GetMulticastMode(This,pulModeMask);
814 }
815 #endif
816 #endif
817 
818 #endif
819 
820 HRESULT STDMETHODCALLTYPE IBDA_IPV4Filter_GetMulticastListSize_Proxy(
821     IBDA_IPV4Filter* This,
822     ULONG *pulcbAddresses);
823 void __RPC_STUB IBDA_IPV4Filter_GetMulticastListSize_Stub(
824     IRpcStubBuffer* This,
825     IRpcChannelBuffer* pRpcChannelBuffer,
826     PRPC_MESSAGE pRpcMessage,
827     DWORD* pdwStubPhase);
828 HRESULT STDMETHODCALLTYPE IBDA_IPV4Filter_PutMulticastList_Proxy(
829     IBDA_IPV4Filter* This,
830     ULONG ulcbAddresses,
831     BYTE pAddressList[]);
832 void __RPC_STUB IBDA_IPV4Filter_PutMulticastList_Stub(
833     IRpcStubBuffer* This,
834     IRpcChannelBuffer* pRpcChannelBuffer,
835     PRPC_MESSAGE pRpcMessage,
836     DWORD* pdwStubPhase);
837 HRESULT STDMETHODCALLTYPE IBDA_IPV4Filter_GetMulticastList_Proxy(
838     IBDA_IPV4Filter* This,
839     ULONG *pulcbAddresses,
840     BYTE pAddressList[]);
841 void __RPC_STUB IBDA_IPV4Filter_GetMulticastList_Stub(
842     IRpcStubBuffer* This,
843     IRpcChannelBuffer* pRpcChannelBuffer,
844     PRPC_MESSAGE pRpcMessage,
845     DWORD* pdwStubPhase);
846 HRESULT STDMETHODCALLTYPE IBDA_IPV4Filter_PutMulticastMode_Proxy(
847     IBDA_IPV4Filter* This,
848     ULONG ulModeMask);
849 void __RPC_STUB IBDA_IPV4Filter_PutMulticastMode_Stub(
850     IRpcStubBuffer* This,
851     IRpcChannelBuffer* pRpcChannelBuffer,
852     PRPC_MESSAGE pRpcMessage,
853     DWORD* pdwStubPhase);
854 HRESULT STDMETHODCALLTYPE IBDA_IPV4Filter_GetMulticastMode_Proxy(
855     IBDA_IPV4Filter* This,
856     ULONG *pulModeMask);
857 void __RPC_STUB IBDA_IPV4Filter_GetMulticastMode_Stub(
858     IRpcStubBuffer* This,
859     IRpcChannelBuffer* pRpcChannelBuffer,
860     PRPC_MESSAGE pRpcMessage,
861     DWORD* pdwStubPhase);
862 
863 #endif  /* __IBDA_IPV4Filter_INTERFACE_DEFINED__ */
864 
865 /*****************************************************************************
866  * IBDA_IPV6Filter interface
867  */
868 #ifndef __IBDA_IPV6Filter_INTERFACE_DEFINED__
869 #define __IBDA_IPV6Filter_INTERFACE_DEFINED__
870 
871 DEFINE_GUID(IID_IBDA_IPV6Filter, 0xe1785a74, 0x2a23, 0x4fb3, 0x92,0x45, 0xa8,0xf8,0x80,0x17,0xef,0x33);
872 #if defined(__cplusplus) && !defined(CINTERFACE)
873 MIDL_INTERFACE("e1785a74-2a23-4fb3-9245-a8f88017ef33")
874 IBDA_IPV6Filter : public IUnknown
875 {
876     virtual HRESULT STDMETHODCALLTYPE GetMulticastListSize(
877         ULONG *pulcbAddresses) = 0;
878 
879     virtual HRESULT STDMETHODCALLTYPE PutMulticastList(
880         ULONG ulcbAddresses,
881         BYTE pAddressList[]) = 0;
882 
883     virtual HRESULT STDMETHODCALLTYPE GetMulticastList(
884         ULONG *pulcbAddresses,
885         BYTE pAddressList[]) = 0;
886 
887     virtual HRESULT STDMETHODCALLTYPE PutMulticastMode(
888         ULONG ulModeMask) = 0;
889 
890     virtual HRESULT STDMETHODCALLTYPE GetMulticastMode(
891         ULONG *pulModeMask) = 0;
892 
893 };
894 #ifdef __CRT_UUID_DECL
895 __CRT_UUID_DECL(IBDA_IPV6Filter, 0xe1785a74, 0x2a23, 0x4fb3, 0x92,0x45, 0xa8,0xf8,0x80,0x17,0xef,0x33)
896 #endif
897 #else
898 typedef struct IBDA_IPV6FilterVtbl {
899     BEGIN_INTERFACE
900 
901     /*** IUnknown methods ***/
902     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
903         IBDA_IPV6Filter* This,
904         REFIID riid,
905         void **ppvObject);
906 
907     ULONG (STDMETHODCALLTYPE *AddRef)(
908         IBDA_IPV6Filter* This);
909 
910     ULONG (STDMETHODCALLTYPE *Release)(
911         IBDA_IPV6Filter* This);
912 
913     /*** IBDA_IPV6Filter methods ***/
914     HRESULT (STDMETHODCALLTYPE *GetMulticastListSize)(
915         IBDA_IPV6Filter* This,
916         ULONG *pulcbAddresses);
917 
918     HRESULT (STDMETHODCALLTYPE *PutMulticastList)(
919         IBDA_IPV6Filter* This,
920         ULONG ulcbAddresses,
921         BYTE pAddressList[]);
922 
923     HRESULT (STDMETHODCALLTYPE *GetMulticastList)(
924         IBDA_IPV6Filter* This,
925         ULONG *pulcbAddresses,
926         BYTE pAddressList[]);
927 
928     HRESULT (STDMETHODCALLTYPE *PutMulticastMode)(
929         IBDA_IPV6Filter* This,
930         ULONG ulModeMask);
931 
932     HRESULT (STDMETHODCALLTYPE *GetMulticastMode)(
933         IBDA_IPV6Filter* This,
934         ULONG *pulModeMask);
935 
936     END_INTERFACE
937 } IBDA_IPV6FilterVtbl;
938 interface IBDA_IPV6Filter {
939     CONST_VTBL IBDA_IPV6FilterVtbl* lpVtbl;
940 };
941 
942 #ifdef COBJMACROS
943 #ifndef WIDL_C_INLINE_WRAPPERS
944 /*** IUnknown methods ***/
945 #define IBDA_IPV6Filter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
946 #define IBDA_IPV6Filter_AddRef(This) (This)->lpVtbl->AddRef(This)
947 #define IBDA_IPV6Filter_Release(This) (This)->lpVtbl->Release(This)
948 /*** IBDA_IPV6Filter methods ***/
949 #define IBDA_IPV6Filter_GetMulticastListSize(This,pulcbAddresses) (This)->lpVtbl->GetMulticastListSize(This,pulcbAddresses)
950 #define IBDA_IPV6Filter_PutMulticastList(This,ulcbAddresses,pAddressList) (This)->lpVtbl->PutMulticastList(This,ulcbAddresses,pAddressList)
951 #define IBDA_IPV6Filter_GetMulticastList(This,pulcbAddresses,pAddressList) (This)->lpVtbl->GetMulticastList(This,pulcbAddresses,pAddressList)
952 #define IBDA_IPV6Filter_PutMulticastMode(This,ulModeMask) (This)->lpVtbl->PutMulticastMode(This,ulModeMask)
953 #define IBDA_IPV6Filter_GetMulticastMode(This,pulModeMask) (This)->lpVtbl->GetMulticastMode(This,pulModeMask)
954 #else
955 /*** IUnknown methods ***/
956 static FORCEINLINE HRESULT IBDA_IPV6Filter_QueryInterface(IBDA_IPV6Filter* This,REFIID riid,void **ppvObject) {
957     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
958 }
959 static FORCEINLINE ULONG IBDA_IPV6Filter_AddRef(IBDA_IPV6Filter* This) {
960     return This->lpVtbl->AddRef(This);
961 }
962 static FORCEINLINE ULONG IBDA_IPV6Filter_Release(IBDA_IPV6Filter* This) {
963     return This->lpVtbl->Release(This);
964 }
965 /*** IBDA_IPV6Filter methods ***/
966 static FORCEINLINE HRESULT IBDA_IPV6Filter_GetMulticastListSize(IBDA_IPV6Filter* This,ULONG *pulcbAddresses) {
967     return This->lpVtbl->GetMulticastListSize(This,pulcbAddresses);
968 }
969 static FORCEINLINE HRESULT IBDA_IPV6Filter_PutMulticastList(IBDA_IPV6Filter* This,ULONG ulcbAddresses,BYTE pAddressList[]) {
970     return This->lpVtbl->PutMulticastList(This,ulcbAddresses,pAddressList);
971 }
972 static FORCEINLINE HRESULT IBDA_IPV6Filter_GetMulticastList(IBDA_IPV6Filter* This,ULONG *pulcbAddresses,BYTE pAddressList[]) {
973     return This->lpVtbl->GetMulticastList(This,pulcbAddresses,pAddressList);
974 }
975 static FORCEINLINE HRESULT IBDA_IPV6Filter_PutMulticastMode(IBDA_IPV6Filter* This,ULONG ulModeMask) {
976     return This->lpVtbl->PutMulticastMode(This,ulModeMask);
977 }
978 static FORCEINLINE HRESULT IBDA_IPV6Filter_GetMulticastMode(IBDA_IPV6Filter* This,ULONG *pulModeMask) {
979     return This->lpVtbl->GetMulticastMode(This,pulModeMask);
980 }
981 #endif
982 #endif
983 
984 #endif
985 
986 HRESULT STDMETHODCALLTYPE IBDA_IPV6Filter_GetMulticastListSize_Proxy(
987     IBDA_IPV6Filter* This,
988     ULONG *pulcbAddresses);
989 void __RPC_STUB IBDA_IPV6Filter_GetMulticastListSize_Stub(
990     IRpcStubBuffer* This,
991     IRpcChannelBuffer* pRpcChannelBuffer,
992     PRPC_MESSAGE pRpcMessage,
993     DWORD* pdwStubPhase);
994 HRESULT STDMETHODCALLTYPE IBDA_IPV6Filter_PutMulticastList_Proxy(
995     IBDA_IPV6Filter* This,
996     ULONG ulcbAddresses,
997     BYTE pAddressList[]);
998 void __RPC_STUB IBDA_IPV6Filter_PutMulticastList_Stub(
999     IRpcStubBuffer* This,
1000     IRpcChannelBuffer* pRpcChannelBuffer,
1001     PRPC_MESSAGE pRpcMessage,
1002     DWORD* pdwStubPhase);
1003 HRESULT STDMETHODCALLTYPE IBDA_IPV6Filter_GetMulticastList_Proxy(
1004     IBDA_IPV6Filter* This,
1005     ULONG *pulcbAddresses,
1006     BYTE pAddressList[]);
1007 void __RPC_STUB IBDA_IPV6Filter_GetMulticastList_Stub(
1008     IRpcStubBuffer* This,
1009     IRpcChannelBuffer* pRpcChannelBuffer,
1010     PRPC_MESSAGE pRpcMessage,
1011     DWORD* pdwStubPhase);
1012 HRESULT STDMETHODCALLTYPE IBDA_IPV6Filter_PutMulticastMode_Proxy(
1013     IBDA_IPV6Filter* This,
1014     ULONG ulModeMask);
1015 void __RPC_STUB IBDA_IPV6Filter_PutMulticastMode_Stub(
1016     IRpcStubBuffer* This,
1017     IRpcChannelBuffer* pRpcChannelBuffer,
1018     PRPC_MESSAGE pRpcMessage,
1019     DWORD* pdwStubPhase);
1020 HRESULT STDMETHODCALLTYPE IBDA_IPV6Filter_GetMulticastMode_Proxy(
1021     IBDA_IPV6Filter* This,
1022     ULONG *pulModeMask);
1023 void __RPC_STUB IBDA_IPV6Filter_GetMulticastMode_Stub(
1024     IRpcStubBuffer* This,
1025     IRpcChannelBuffer* pRpcChannelBuffer,
1026     PRPC_MESSAGE pRpcMessage,
1027     DWORD* pdwStubPhase);
1028 
1029 #endif  /* __IBDA_IPV6Filter_INTERFACE_DEFINED__ */
1030 
1031 /*****************************************************************************
1032  * IBDA_DeviceControl interface
1033  */
1034 #ifndef __IBDA_DeviceControl_INTERFACE_DEFINED__
1035 #define __IBDA_DeviceControl_INTERFACE_DEFINED__
1036 
1037 DEFINE_GUID(IID_IBDA_DeviceControl, 0xfd0a5af3, 0xb41d, 0x11d2, 0x9c,0x95, 0x00,0xc0,0x4f,0x79,0x71,0xe0);
1038 #if defined(__cplusplus) && !defined(CINTERFACE)
1039 MIDL_INTERFACE("fd0a5af3-b41d-11d2-9c95-00c04f7971e0")
1040 IBDA_DeviceControl : public IUnknown
1041 {
1042     virtual HRESULT STDMETHODCALLTYPE StartChanges(
1043         ) = 0;
1044 
1045     virtual HRESULT STDMETHODCALLTYPE CheckChanges(
1046         ) = 0;
1047 
1048     virtual HRESULT STDMETHODCALLTYPE CommitChanges(
1049         ) = 0;
1050 
1051     virtual HRESULT STDMETHODCALLTYPE GetChangeState(
1052         ULONG *pState) = 0;
1053 
1054 };
1055 #ifdef __CRT_UUID_DECL
1056 __CRT_UUID_DECL(IBDA_DeviceControl, 0xfd0a5af3, 0xb41d, 0x11d2, 0x9c,0x95, 0x00,0xc0,0x4f,0x79,0x71,0xe0)
1057 #endif
1058 #else
1059 typedef struct IBDA_DeviceControlVtbl {
1060     BEGIN_INTERFACE
1061 
1062     /*** IUnknown methods ***/
1063     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1064         IBDA_DeviceControl* This,
1065         REFIID riid,
1066         void **ppvObject);
1067 
1068     ULONG (STDMETHODCALLTYPE *AddRef)(
1069         IBDA_DeviceControl* This);
1070 
1071     ULONG (STDMETHODCALLTYPE *Release)(
1072         IBDA_DeviceControl* This);
1073 
1074     /*** IBDA_DeviceControl methods ***/
1075     HRESULT (STDMETHODCALLTYPE *StartChanges)(
1076         IBDA_DeviceControl* This);
1077 
1078     HRESULT (STDMETHODCALLTYPE *CheckChanges)(
1079         IBDA_DeviceControl* This);
1080 
1081     HRESULT (STDMETHODCALLTYPE *CommitChanges)(
1082         IBDA_DeviceControl* This);
1083 
1084     HRESULT (STDMETHODCALLTYPE *GetChangeState)(
1085         IBDA_DeviceControl* This,
1086         ULONG *pState);
1087 
1088     END_INTERFACE
1089 } IBDA_DeviceControlVtbl;
1090 interface IBDA_DeviceControl {
1091     CONST_VTBL IBDA_DeviceControlVtbl* lpVtbl;
1092 };
1093 
1094 #ifdef COBJMACROS
1095 #ifndef WIDL_C_INLINE_WRAPPERS
1096 /*** IUnknown methods ***/
1097 #define IBDA_DeviceControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1098 #define IBDA_DeviceControl_AddRef(This) (This)->lpVtbl->AddRef(This)
1099 #define IBDA_DeviceControl_Release(This) (This)->lpVtbl->Release(This)
1100 /*** IBDA_DeviceControl methods ***/
1101 #define IBDA_DeviceControl_StartChanges(This) (This)->lpVtbl->StartChanges(This)
1102 #define IBDA_DeviceControl_CheckChanges(This) (This)->lpVtbl->CheckChanges(This)
1103 #define IBDA_DeviceControl_CommitChanges(This) (This)->lpVtbl->CommitChanges(This)
1104 #define IBDA_DeviceControl_GetChangeState(This,pState) (This)->lpVtbl->GetChangeState(This,pState)
1105 #else
1106 /*** IUnknown methods ***/
1107 static FORCEINLINE HRESULT IBDA_DeviceControl_QueryInterface(IBDA_DeviceControl* This,REFIID riid,void **ppvObject) {
1108     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1109 }
1110 static FORCEINLINE ULONG IBDA_DeviceControl_AddRef(IBDA_DeviceControl* This) {
1111     return This->lpVtbl->AddRef(This);
1112 }
1113 static FORCEINLINE ULONG IBDA_DeviceControl_Release(IBDA_DeviceControl* This) {
1114     return This->lpVtbl->Release(This);
1115 }
1116 /*** IBDA_DeviceControl methods ***/
1117 static FORCEINLINE HRESULT IBDA_DeviceControl_StartChanges(IBDA_DeviceControl* This) {
1118     return This->lpVtbl->StartChanges(This);
1119 }
1120 static FORCEINLINE HRESULT IBDA_DeviceControl_CheckChanges(IBDA_DeviceControl* This) {
1121     return This->lpVtbl->CheckChanges(This);
1122 }
1123 static FORCEINLINE HRESULT IBDA_DeviceControl_CommitChanges(IBDA_DeviceControl* This) {
1124     return This->lpVtbl->CommitChanges(This);
1125 }
1126 static FORCEINLINE HRESULT IBDA_DeviceControl_GetChangeState(IBDA_DeviceControl* This,ULONG *pState) {
1127     return This->lpVtbl->GetChangeState(This,pState);
1128 }
1129 #endif
1130 #endif
1131 
1132 #endif
1133 
1134 HRESULT STDMETHODCALLTYPE IBDA_DeviceControl_StartChanges_Proxy(
1135     IBDA_DeviceControl* This);
1136 void __RPC_STUB IBDA_DeviceControl_StartChanges_Stub(
1137     IRpcStubBuffer* This,
1138     IRpcChannelBuffer* pRpcChannelBuffer,
1139     PRPC_MESSAGE pRpcMessage,
1140     DWORD* pdwStubPhase);
1141 HRESULT STDMETHODCALLTYPE IBDA_DeviceControl_CheckChanges_Proxy(
1142     IBDA_DeviceControl* This);
1143 void __RPC_STUB IBDA_DeviceControl_CheckChanges_Stub(
1144     IRpcStubBuffer* This,
1145     IRpcChannelBuffer* pRpcChannelBuffer,
1146     PRPC_MESSAGE pRpcMessage,
1147     DWORD* pdwStubPhase);
1148 HRESULT STDMETHODCALLTYPE IBDA_DeviceControl_CommitChanges_Proxy(
1149     IBDA_DeviceControl* This);
1150 void __RPC_STUB IBDA_DeviceControl_CommitChanges_Stub(
1151     IRpcStubBuffer* This,
1152     IRpcChannelBuffer* pRpcChannelBuffer,
1153     PRPC_MESSAGE pRpcMessage,
1154     DWORD* pdwStubPhase);
1155 HRESULT STDMETHODCALLTYPE IBDA_DeviceControl_GetChangeState_Proxy(
1156     IBDA_DeviceControl* This,
1157     ULONG *pState);
1158 void __RPC_STUB IBDA_DeviceControl_GetChangeState_Stub(
1159     IRpcStubBuffer* This,
1160     IRpcChannelBuffer* pRpcChannelBuffer,
1161     PRPC_MESSAGE pRpcMessage,
1162     DWORD* pdwStubPhase);
1163 
1164 #endif  /* __IBDA_DeviceControl_INTERFACE_DEFINED__ */
1165 
1166 /*****************************************************************************
1167  * IBDA_PinControl interface
1168  */
1169 #ifndef __IBDA_PinControl_INTERFACE_DEFINED__
1170 #define __IBDA_PinControl_INTERFACE_DEFINED__
1171 
1172 DEFINE_GUID(IID_IBDA_PinControl, 0x0ded49d5, 0xa8b7, 0x4d5d, 0x97,0xa1, 0x12,0xb0,0xc1,0x95,0x87,0x4d);
1173 #if defined(__cplusplus) && !defined(CINTERFACE)
1174 MIDL_INTERFACE("0ded49d5-a8b7-4d5d-97a1-12b0c195874d")
1175 IBDA_PinControl : public IUnknown
1176 {
1177     virtual HRESULT STDMETHODCALLTYPE GetPinID(
1178         ULONG *pulPinID) = 0;
1179 
1180     virtual HRESULT STDMETHODCALLTYPE GetPinType(
1181         ULONG *pulPinType) = 0;
1182 
1183     virtual HRESULT STDMETHODCALLTYPE RegistrationContext(
1184         ULONG *pulRegistrationCtx) = 0;
1185 
1186 };
1187 #ifdef __CRT_UUID_DECL
1188 __CRT_UUID_DECL(IBDA_PinControl, 0x0ded49d5, 0xa8b7, 0x4d5d, 0x97,0xa1, 0x12,0xb0,0xc1,0x95,0x87,0x4d)
1189 #endif
1190 #else
1191 typedef struct IBDA_PinControlVtbl {
1192     BEGIN_INTERFACE
1193 
1194     /*** IUnknown methods ***/
1195     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1196         IBDA_PinControl* This,
1197         REFIID riid,
1198         void **ppvObject);
1199 
1200     ULONG (STDMETHODCALLTYPE *AddRef)(
1201         IBDA_PinControl* This);
1202 
1203     ULONG (STDMETHODCALLTYPE *Release)(
1204         IBDA_PinControl* This);
1205 
1206     /*** IBDA_PinControl methods ***/
1207     HRESULT (STDMETHODCALLTYPE *GetPinID)(
1208         IBDA_PinControl* This,
1209         ULONG *pulPinID);
1210 
1211     HRESULT (STDMETHODCALLTYPE *GetPinType)(
1212         IBDA_PinControl* This,
1213         ULONG *pulPinType);
1214 
1215     HRESULT (STDMETHODCALLTYPE *RegistrationContext)(
1216         IBDA_PinControl* This,
1217         ULONG *pulRegistrationCtx);
1218 
1219     END_INTERFACE
1220 } IBDA_PinControlVtbl;
1221 interface IBDA_PinControl {
1222     CONST_VTBL IBDA_PinControlVtbl* lpVtbl;
1223 };
1224 
1225 #ifdef COBJMACROS
1226 #ifndef WIDL_C_INLINE_WRAPPERS
1227 /*** IUnknown methods ***/
1228 #define IBDA_PinControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1229 #define IBDA_PinControl_AddRef(This) (This)->lpVtbl->AddRef(This)
1230 #define IBDA_PinControl_Release(This) (This)->lpVtbl->Release(This)
1231 /*** IBDA_PinControl methods ***/
1232 #define IBDA_PinControl_GetPinID(This,pulPinID) (This)->lpVtbl->GetPinID(This,pulPinID)
1233 #define IBDA_PinControl_GetPinType(This,pulPinType) (This)->lpVtbl->GetPinType(This,pulPinType)
1234 #define IBDA_PinControl_RegistrationContext(This,pulRegistrationCtx) (This)->lpVtbl->RegistrationContext(This,pulRegistrationCtx)
1235 #else
1236 /*** IUnknown methods ***/
1237 static FORCEINLINE HRESULT IBDA_PinControl_QueryInterface(IBDA_PinControl* This,REFIID riid,void **ppvObject) {
1238     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1239 }
1240 static FORCEINLINE ULONG IBDA_PinControl_AddRef(IBDA_PinControl* This) {
1241     return This->lpVtbl->AddRef(This);
1242 }
1243 static FORCEINLINE ULONG IBDA_PinControl_Release(IBDA_PinControl* This) {
1244     return This->lpVtbl->Release(This);
1245 }
1246 /*** IBDA_PinControl methods ***/
1247 static FORCEINLINE HRESULT IBDA_PinControl_GetPinID(IBDA_PinControl* This,ULONG *pulPinID) {
1248     return This->lpVtbl->GetPinID(This,pulPinID);
1249 }
1250 static FORCEINLINE HRESULT IBDA_PinControl_GetPinType(IBDA_PinControl* This,ULONG *pulPinType) {
1251     return This->lpVtbl->GetPinType(This,pulPinType);
1252 }
1253 static FORCEINLINE HRESULT IBDA_PinControl_RegistrationContext(IBDA_PinControl* This,ULONG *pulRegistrationCtx) {
1254     return This->lpVtbl->RegistrationContext(This,pulRegistrationCtx);
1255 }
1256 #endif
1257 #endif
1258 
1259 #endif
1260 
1261 HRESULT STDMETHODCALLTYPE IBDA_PinControl_GetPinID_Proxy(
1262     IBDA_PinControl* This,
1263     ULONG *pulPinID);
1264 void __RPC_STUB IBDA_PinControl_GetPinID_Stub(
1265     IRpcStubBuffer* This,
1266     IRpcChannelBuffer* pRpcChannelBuffer,
1267     PRPC_MESSAGE pRpcMessage,
1268     DWORD* pdwStubPhase);
1269 HRESULT STDMETHODCALLTYPE IBDA_PinControl_GetPinType_Proxy(
1270     IBDA_PinControl* This,
1271     ULONG *pulPinType);
1272 void __RPC_STUB IBDA_PinControl_GetPinType_Stub(
1273     IRpcStubBuffer* This,
1274     IRpcChannelBuffer* pRpcChannelBuffer,
1275     PRPC_MESSAGE pRpcMessage,
1276     DWORD* pdwStubPhase);
1277 HRESULT STDMETHODCALLTYPE IBDA_PinControl_RegistrationContext_Proxy(
1278     IBDA_PinControl* This,
1279     ULONG *pulRegistrationCtx);
1280 void __RPC_STUB IBDA_PinControl_RegistrationContext_Stub(
1281     IRpcStubBuffer* This,
1282     IRpcChannelBuffer* pRpcChannelBuffer,
1283     PRPC_MESSAGE pRpcMessage,
1284     DWORD* pdwStubPhase);
1285 
1286 #endif  /* __IBDA_PinControl_INTERFACE_DEFINED__ */
1287 
1288 /*****************************************************************************
1289  * IBDA_SignalProperties interface
1290  */
1291 #ifndef __IBDA_SignalProperties_INTERFACE_DEFINED__
1292 #define __IBDA_SignalProperties_INTERFACE_DEFINED__
1293 
1294 DEFINE_GUID(IID_IBDA_SignalProperties, 0xd2f1644b, 0xb409, 0x11d2, 0xbc,0x69, 0x00,0xa0,0xc9,0xee,0x9e,0x16);
1295 #if defined(__cplusplus) && !defined(CINTERFACE)
1296 MIDL_INTERFACE("d2f1644b-b409-11d2-bc69-00a0c9ee9e16")
1297 IBDA_SignalProperties : public IUnknown
1298 {
1299     virtual HRESULT STDMETHODCALLTYPE PutNetworkType(
1300         REFGUID guidNetworkType) = 0;
1301 
1302     virtual HRESULT STDMETHODCALLTYPE GetNetworkType(
1303         GUID *pguidNetworkType) = 0;
1304 
1305     virtual HRESULT STDMETHODCALLTYPE PutSignalSource(
1306         ULONG ulSignalSource) = 0;
1307 
1308     virtual HRESULT STDMETHODCALLTYPE GetSignalSource(
1309         ULONG *pulSignalSource) = 0;
1310 
1311     virtual HRESULT STDMETHODCALLTYPE PutTuningSpace(
1312         REFGUID guidTuningSpace) = 0;
1313 
1314     virtual HRESULT STDMETHODCALLTYPE GetTuningSpace(
1315         GUID *pguidTuingSpace) = 0;
1316 
1317 };
1318 #ifdef __CRT_UUID_DECL
1319 __CRT_UUID_DECL(IBDA_SignalProperties, 0xd2f1644b, 0xb409, 0x11d2, 0xbc,0x69, 0x00,0xa0,0xc9,0xee,0x9e,0x16)
1320 #endif
1321 #else
1322 typedef struct IBDA_SignalPropertiesVtbl {
1323     BEGIN_INTERFACE
1324 
1325     /*** IUnknown methods ***/
1326     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1327         IBDA_SignalProperties* This,
1328         REFIID riid,
1329         void **ppvObject);
1330 
1331     ULONG (STDMETHODCALLTYPE *AddRef)(
1332         IBDA_SignalProperties* This);
1333 
1334     ULONG (STDMETHODCALLTYPE *Release)(
1335         IBDA_SignalProperties* This);
1336 
1337     /*** IBDA_SignalProperties methods ***/
1338     HRESULT (STDMETHODCALLTYPE *PutNetworkType)(
1339         IBDA_SignalProperties* This,
1340         REFGUID guidNetworkType);
1341 
1342     HRESULT (STDMETHODCALLTYPE *GetNetworkType)(
1343         IBDA_SignalProperties* This,
1344         GUID *pguidNetworkType);
1345 
1346     HRESULT (STDMETHODCALLTYPE *PutSignalSource)(
1347         IBDA_SignalProperties* This,
1348         ULONG ulSignalSource);
1349 
1350     HRESULT (STDMETHODCALLTYPE *GetSignalSource)(
1351         IBDA_SignalProperties* This,
1352         ULONG *pulSignalSource);
1353 
1354     HRESULT (STDMETHODCALLTYPE *PutTuningSpace)(
1355         IBDA_SignalProperties* This,
1356         REFGUID guidTuningSpace);
1357 
1358     HRESULT (STDMETHODCALLTYPE *GetTuningSpace)(
1359         IBDA_SignalProperties* This,
1360         GUID *pguidTuingSpace);
1361 
1362     END_INTERFACE
1363 } IBDA_SignalPropertiesVtbl;
1364 interface IBDA_SignalProperties {
1365     CONST_VTBL IBDA_SignalPropertiesVtbl* lpVtbl;
1366 };
1367 
1368 #ifdef COBJMACROS
1369 #ifndef WIDL_C_INLINE_WRAPPERS
1370 /*** IUnknown methods ***/
1371 #define IBDA_SignalProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1372 #define IBDA_SignalProperties_AddRef(This) (This)->lpVtbl->AddRef(This)
1373 #define IBDA_SignalProperties_Release(This) (This)->lpVtbl->Release(This)
1374 /*** IBDA_SignalProperties methods ***/
1375 #define IBDA_SignalProperties_PutNetworkType(This,guidNetworkType) (This)->lpVtbl->PutNetworkType(This,guidNetworkType)
1376 #define IBDA_SignalProperties_GetNetworkType(This,pguidNetworkType) (This)->lpVtbl->GetNetworkType(This,pguidNetworkType)
1377 #define IBDA_SignalProperties_PutSignalSource(This,ulSignalSource) (This)->lpVtbl->PutSignalSource(This,ulSignalSource)
1378 #define IBDA_SignalProperties_GetSignalSource(This,pulSignalSource) (This)->lpVtbl->GetSignalSource(This,pulSignalSource)
1379 #define IBDA_SignalProperties_PutTuningSpace(This,guidTuningSpace) (This)->lpVtbl->PutTuningSpace(This,guidTuningSpace)
1380 #define IBDA_SignalProperties_GetTuningSpace(This,pguidTuingSpace) (This)->lpVtbl->GetTuningSpace(This,pguidTuingSpace)
1381 #else
1382 /*** IUnknown methods ***/
1383 static FORCEINLINE HRESULT IBDA_SignalProperties_QueryInterface(IBDA_SignalProperties* This,REFIID riid,void **ppvObject) {
1384     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1385 }
1386 static FORCEINLINE ULONG IBDA_SignalProperties_AddRef(IBDA_SignalProperties* This) {
1387     return This->lpVtbl->AddRef(This);
1388 }
1389 static FORCEINLINE ULONG IBDA_SignalProperties_Release(IBDA_SignalProperties* This) {
1390     return This->lpVtbl->Release(This);
1391 }
1392 /*** IBDA_SignalProperties methods ***/
1393 static FORCEINLINE HRESULT IBDA_SignalProperties_PutNetworkType(IBDA_SignalProperties* This,REFGUID guidNetworkType) {
1394     return This->lpVtbl->PutNetworkType(This,guidNetworkType);
1395 }
1396 static FORCEINLINE HRESULT IBDA_SignalProperties_GetNetworkType(IBDA_SignalProperties* This,GUID *pguidNetworkType) {
1397     return This->lpVtbl->GetNetworkType(This,pguidNetworkType);
1398 }
1399 static FORCEINLINE HRESULT IBDA_SignalProperties_PutSignalSource(IBDA_SignalProperties* This,ULONG ulSignalSource) {
1400     return This->lpVtbl->PutSignalSource(This,ulSignalSource);
1401 }
1402 static FORCEINLINE HRESULT IBDA_SignalProperties_GetSignalSource(IBDA_SignalProperties* This,ULONG *pulSignalSource) {
1403     return This->lpVtbl->GetSignalSource(This,pulSignalSource);
1404 }
1405 static FORCEINLINE HRESULT IBDA_SignalProperties_PutTuningSpace(IBDA_SignalProperties* This,REFGUID guidTuningSpace) {
1406     return This->lpVtbl->PutTuningSpace(This,guidTuningSpace);
1407 }
1408 static FORCEINLINE HRESULT IBDA_SignalProperties_GetTuningSpace(IBDA_SignalProperties* This,GUID *pguidTuingSpace) {
1409     return This->lpVtbl->GetTuningSpace(This,pguidTuingSpace);
1410 }
1411 #endif
1412 #endif
1413 
1414 #endif
1415 
1416 HRESULT STDMETHODCALLTYPE IBDA_SignalProperties_PutNetworkType_Proxy(
1417     IBDA_SignalProperties* This,
1418     REFGUID guidNetworkType);
1419 void __RPC_STUB IBDA_SignalProperties_PutNetworkType_Stub(
1420     IRpcStubBuffer* This,
1421     IRpcChannelBuffer* pRpcChannelBuffer,
1422     PRPC_MESSAGE pRpcMessage,
1423     DWORD* pdwStubPhase);
1424 HRESULT STDMETHODCALLTYPE IBDA_SignalProperties_GetNetworkType_Proxy(
1425     IBDA_SignalProperties* This,
1426     GUID *pguidNetworkType);
1427 void __RPC_STUB IBDA_SignalProperties_GetNetworkType_Stub(
1428     IRpcStubBuffer* This,
1429     IRpcChannelBuffer* pRpcChannelBuffer,
1430     PRPC_MESSAGE pRpcMessage,
1431     DWORD* pdwStubPhase);
1432 HRESULT STDMETHODCALLTYPE IBDA_SignalProperties_PutSignalSource_Proxy(
1433     IBDA_SignalProperties* This,
1434     ULONG ulSignalSource);
1435 void __RPC_STUB IBDA_SignalProperties_PutSignalSource_Stub(
1436     IRpcStubBuffer* This,
1437     IRpcChannelBuffer* pRpcChannelBuffer,
1438     PRPC_MESSAGE pRpcMessage,
1439     DWORD* pdwStubPhase);
1440 HRESULT STDMETHODCALLTYPE IBDA_SignalProperties_GetSignalSource_Proxy(
1441     IBDA_SignalProperties* This,
1442     ULONG *pulSignalSource);
1443 void __RPC_STUB IBDA_SignalProperties_GetSignalSource_Stub(
1444     IRpcStubBuffer* This,
1445     IRpcChannelBuffer* pRpcChannelBuffer,
1446     PRPC_MESSAGE pRpcMessage,
1447     DWORD* pdwStubPhase);
1448 HRESULT STDMETHODCALLTYPE IBDA_SignalProperties_PutTuningSpace_Proxy(
1449     IBDA_SignalProperties* This,
1450     REFGUID guidTuningSpace);
1451 void __RPC_STUB IBDA_SignalProperties_PutTuningSpace_Stub(
1452     IRpcStubBuffer* This,
1453     IRpcChannelBuffer* pRpcChannelBuffer,
1454     PRPC_MESSAGE pRpcMessage,
1455     DWORD* pdwStubPhase);
1456 HRESULT STDMETHODCALLTYPE IBDA_SignalProperties_GetTuningSpace_Proxy(
1457     IBDA_SignalProperties* This,
1458     GUID *pguidTuingSpace);
1459 void __RPC_STUB IBDA_SignalProperties_GetTuningSpace_Stub(
1460     IRpcStubBuffer* This,
1461     IRpcChannelBuffer* pRpcChannelBuffer,
1462     PRPC_MESSAGE pRpcMessage,
1463     DWORD* pdwStubPhase);
1464 
1465 #endif  /* __IBDA_SignalProperties_INTERFACE_DEFINED__ */
1466 
1467 /*****************************************************************************
1468  * IBDA_SignalStatistics interface
1469  */
1470 #ifndef __IBDA_SignalStatistics_INTERFACE_DEFINED__
1471 #define __IBDA_SignalStatistics_INTERFACE_DEFINED__
1472 
1473 DEFINE_GUID(IID_IBDA_SignalStatistics, 0x1347d106, 0xcf3a, 0x428a, 0xa5,0xcb, 0xac,0x0d,0x9a,0x2a,0x43,0x38);
1474 #if defined(__cplusplus) && !defined(CINTERFACE)
1475 MIDL_INTERFACE("1347d106-cf3a-428a-a5cb-ac0d9a2a4338")
1476 IBDA_SignalStatistics : public IUnknown
1477 {
1478     virtual HRESULT STDMETHODCALLTYPE put_SignalStrength(
1479         LONG lDbStrength) = 0;
1480 
1481     virtual HRESULT STDMETHODCALLTYPE get_SignalStrength(
1482         LONG *plDbStrength) = 0;
1483 
1484     virtual HRESULT STDMETHODCALLTYPE put_SignalQuality(
1485         LONG lPercentQuality) = 0;
1486 
1487     virtual HRESULT STDMETHODCALLTYPE get_SignalQuality(
1488         LONG *plPercentQuality) = 0;
1489 
1490     virtual HRESULT STDMETHODCALLTYPE put_SignalPresent(
1491         BOOLEAN fPresent) = 0;
1492 
1493     virtual HRESULT STDMETHODCALLTYPE get_SignalPresent(
1494         BOOLEAN *pfPresent) = 0;
1495 
1496     virtual HRESULT STDMETHODCALLTYPE put_SignalLocked(
1497         BOOLEAN fLocked) = 0;
1498 
1499     virtual HRESULT STDMETHODCALLTYPE get_SignalLocked(
1500         BOOLEAN *pfLocked) = 0;
1501 
1502     virtual HRESULT STDMETHODCALLTYPE put_SampleTime(
1503         LONG lmsSampleTime) = 0;
1504 
1505     virtual HRESULT STDMETHODCALLTYPE get_SampleTime(
1506         LONG *plmsSampleTime) = 0;
1507 
1508 };
1509 #ifdef __CRT_UUID_DECL
1510 __CRT_UUID_DECL(IBDA_SignalStatistics, 0x1347d106, 0xcf3a, 0x428a, 0xa5,0xcb, 0xac,0x0d,0x9a,0x2a,0x43,0x38)
1511 #endif
1512 #else
1513 typedef struct IBDA_SignalStatisticsVtbl {
1514     BEGIN_INTERFACE
1515 
1516     /*** IUnknown methods ***/
1517     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1518         IBDA_SignalStatistics* This,
1519         REFIID riid,
1520         void **ppvObject);
1521 
1522     ULONG (STDMETHODCALLTYPE *AddRef)(
1523         IBDA_SignalStatistics* This);
1524 
1525     ULONG (STDMETHODCALLTYPE *Release)(
1526         IBDA_SignalStatistics* This);
1527 
1528     /*** IBDA_SignalStatistics methods ***/
1529     HRESULT (STDMETHODCALLTYPE *put_SignalStrength)(
1530         IBDA_SignalStatistics* This,
1531         LONG lDbStrength);
1532 
1533     HRESULT (STDMETHODCALLTYPE *get_SignalStrength)(
1534         IBDA_SignalStatistics* This,
1535         LONG *plDbStrength);
1536 
1537     HRESULT (STDMETHODCALLTYPE *put_SignalQuality)(
1538         IBDA_SignalStatistics* This,
1539         LONG lPercentQuality);
1540 
1541     HRESULT (STDMETHODCALLTYPE *get_SignalQuality)(
1542         IBDA_SignalStatistics* This,
1543         LONG *plPercentQuality);
1544 
1545     HRESULT (STDMETHODCALLTYPE *put_SignalPresent)(
1546         IBDA_SignalStatistics* This,
1547         BOOLEAN fPresent);
1548 
1549     HRESULT (STDMETHODCALLTYPE *get_SignalPresent)(
1550         IBDA_SignalStatistics* This,
1551         BOOLEAN *pfPresent);
1552 
1553     HRESULT (STDMETHODCALLTYPE *put_SignalLocked)(
1554         IBDA_SignalStatistics* This,
1555         BOOLEAN fLocked);
1556 
1557     HRESULT (STDMETHODCALLTYPE *get_SignalLocked)(
1558         IBDA_SignalStatistics* This,
1559         BOOLEAN *pfLocked);
1560 
1561     HRESULT (STDMETHODCALLTYPE *put_SampleTime)(
1562         IBDA_SignalStatistics* This,
1563         LONG lmsSampleTime);
1564 
1565     HRESULT (STDMETHODCALLTYPE *get_SampleTime)(
1566         IBDA_SignalStatistics* This,
1567         LONG *plmsSampleTime);
1568 
1569     END_INTERFACE
1570 } IBDA_SignalStatisticsVtbl;
1571 interface IBDA_SignalStatistics {
1572     CONST_VTBL IBDA_SignalStatisticsVtbl* lpVtbl;
1573 };
1574 
1575 #ifdef COBJMACROS
1576 #ifndef WIDL_C_INLINE_WRAPPERS
1577 /*** IUnknown methods ***/
1578 #define IBDA_SignalStatistics_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1579 #define IBDA_SignalStatistics_AddRef(This) (This)->lpVtbl->AddRef(This)
1580 #define IBDA_SignalStatistics_Release(This) (This)->lpVtbl->Release(This)
1581 /*** IBDA_SignalStatistics methods ***/
1582 #define IBDA_SignalStatistics_put_SignalStrength(This,lDbStrength) (This)->lpVtbl->put_SignalStrength(This,lDbStrength)
1583 #define IBDA_SignalStatistics_get_SignalStrength(This,plDbStrength) (This)->lpVtbl->get_SignalStrength(This,plDbStrength)
1584 #define IBDA_SignalStatistics_put_SignalQuality(This,lPercentQuality) (This)->lpVtbl->put_SignalQuality(This,lPercentQuality)
1585 #define IBDA_SignalStatistics_get_SignalQuality(This,plPercentQuality) (This)->lpVtbl->get_SignalQuality(This,plPercentQuality)
1586 #define IBDA_SignalStatistics_put_SignalPresent(This,fPresent) (This)->lpVtbl->put_SignalPresent(This,fPresent)
1587 #define IBDA_SignalStatistics_get_SignalPresent(This,pfPresent) (This)->lpVtbl->get_SignalPresent(This,pfPresent)
1588 #define IBDA_SignalStatistics_put_SignalLocked(This,fLocked) (This)->lpVtbl->put_SignalLocked(This,fLocked)
1589 #define IBDA_SignalStatistics_get_SignalLocked(This,pfLocked) (This)->lpVtbl->get_SignalLocked(This,pfLocked)
1590 #define IBDA_SignalStatistics_put_SampleTime(This,lmsSampleTime) (This)->lpVtbl->put_SampleTime(This,lmsSampleTime)
1591 #define IBDA_SignalStatistics_get_SampleTime(This,plmsSampleTime) (This)->lpVtbl->get_SampleTime(This,plmsSampleTime)
1592 #else
1593 /*** IUnknown methods ***/
1594 static FORCEINLINE HRESULT IBDA_SignalStatistics_QueryInterface(IBDA_SignalStatistics* This,REFIID riid,void **ppvObject) {
1595     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1596 }
1597 static FORCEINLINE ULONG IBDA_SignalStatistics_AddRef(IBDA_SignalStatistics* This) {
1598     return This->lpVtbl->AddRef(This);
1599 }
1600 static FORCEINLINE ULONG IBDA_SignalStatistics_Release(IBDA_SignalStatistics* This) {
1601     return This->lpVtbl->Release(This);
1602 }
1603 /*** IBDA_SignalStatistics methods ***/
1604 static FORCEINLINE HRESULT IBDA_SignalStatistics_put_SignalStrength(IBDA_SignalStatistics* This,LONG lDbStrength) {
1605     return This->lpVtbl->put_SignalStrength(This,lDbStrength);
1606 }
1607 static FORCEINLINE HRESULT IBDA_SignalStatistics_get_SignalStrength(IBDA_SignalStatistics* This,LONG *plDbStrength) {
1608     return This->lpVtbl->get_SignalStrength(This,plDbStrength);
1609 }
1610 static FORCEINLINE HRESULT IBDA_SignalStatistics_put_SignalQuality(IBDA_SignalStatistics* This,LONG lPercentQuality) {
1611     return This->lpVtbl->put_SignalQuality(This,lPercentQuality);
1612 }
1613 static FORCEINLINE HRESULT IBDA_SignalStatistics_get_SignalQuality(IBDA_SignalStatistics* This,LONG *plPercentQuality) {
1614     return This->lpVtbl->get_SignalQuality(This,plPercentQuality);
1615 }
1616 static FORCEINLINE HRESULT IBDA_SignalStatistics_put_SignalPresent(IBDA_SignalStatistics* This,BOOLEAN fPresent) {
1617     return This->lpVtbl->put_SignalPresent(This,fPresent);
1618 }
1619 static FORCEINLINE HRESULT IBDA_SignalStatistics_get_SignalPresent(IBDA_SignalStatistics* This,BOOLEAN *pfPresent) {
1620     return This->lpVtbl->get_SignalPresent(This,pfPresent);
1621 }
1622 static FORCEINLINE HRESULT IBDA_SignalStatistics_put_SignalLocked(IBDA_SignalStatistics* This,BOOLEAN fLocked) {
1623     return This->lpVtbl->put_SignalLocked(This,fLocked);
1624 }
1625 static FORCEINLINE HRESULT IBDA_SignalStatistics_get_SignalLocked(IBDA_SignalStatistics* This,BOOLEAN *pfLocked) {
1626     return This->lpVtbl->get_SignalLocked(This,pfLocked);
1627 }
1628 static FORCEINLINE HRESULT IBDA_SignalStatistics_put_SampleTime(IBDA_SignalStatistics* This,LONG lmsSampleTime) {
1629     return This->lpVtbl->put_SampleTime(This,lmsSampleTime);
1630 }
1631 static FORCEINLINE HRESULT IBDA_SignalStatistics_get_SampleTime(IBDA_SignalStatistics* This,LONG *plmsSampleTime) {
1632     return This->lpVtbl->get_SampleTime(This,plmsSampleTime);
1633 }
1634 #endif
1635 #endif
1636 
1637 #endif
1638 
1639 HRESULT STDMETHODCALLTYPE IBDA_SignalStatistics_put_SignalStrength_Proxy(
1640     IBDA_SignalStatistics* This,
1641     LONG lDbStrength);
1642 void __RPC_STUB IBDA_SignalStatistics_put_SignalStrength_Stub(
1643     IRpcStubBuffer* This,
1644     IRpcChannelBuffer* pRpcChannelBuffer,
1645     PRPC_MESSAGE pRpcMessage,
1646     DWORD* pdwStubPhase);
1647 HRESULT STDMETHODCALLTYPE IBDA_SignalStatistics_get_SignalStrength_Proxy(
1648     IBDA_SignalStatistics* This,
1649     LONG *plDbStrength);
1650 void __RPC_STUB IBDA_SignalStatistics_get_SignalStrength_Stub(
1651     IRpcStubBuffer* This,
1652     IRpcChannelBuffer* pRpcChannelBuffer,
1653     PRPC_MESSAGE pRpcMessage,
1654     DWORD* pdwStubPhase);
1655 HRESULT STDMETHODCALLTYPE IBDA_SignalStatistics_put_SignalQuality_Proxy(
1656     IBDA_SignalStatistics* This,
1657     LONG lPercentQuality);
1658 void __RPC_STUB IBDA_SignalStatistics_put_SignalQuality_Stub(
1659     IRpcStubBuffer* This,
1660     IRpcChannelBuffer* pRpcChannelBuffer,
1661     PRPC_MESSAGE pRpcMessage,
1662     DWORD* pdwStubPhase);
1663 HRESULT STDMETHODCALLTYPE IBDA_SignalStatistics_get_SignalQuality_Proxy(
1664     IBDA_SignalStatistics* This,
1665     LONG *plPercentQuality);
1666 void __RPC_STUB IBDA_SignalStatistics_get_SignalQuality_Stub(
1667     IRpcStubBuffer* This,
1668     IRpcChannelBuffer* pRpcChannelBuffer,
1669     PRPC_MESSAGE pRpcMessage,
1670     DWORD* pdwStubPhase);
1671 HRESULT STDMETHODCALLTYPE IBDA_SignalStatistics_put_SignalPresent_Proxy(
1672     IBDA_SignalStatistics* This,
1673     BOOLEAN fPresent);
1674 void __RPC_STUB IBDA_SignalStatistics_put_SignalPresent_Stub(
1675     IRpcStubBuffer* This,
1676     IRpcChannelBuffer* pRpcChannelBuffer,
1677     PRPC_MESSAGE pRpcMessage,
1678     DWORD* pdwStubPhase);
1679 HRESULT STDMETHODCALLTYPE IBDA_SignalStatistics_get_SignalPresent_Proxy(
1680     IBDA_SignalStatistics* This,
1681     BOOLEAN *pfPresent);
1682 void __RPC_STUB IBDA_SignalStatistics_get_SignalPresent_Stub(
1683     IRpcStubBuffer* This,
1684     IRpcChannelBuffer* pRpcChannelBuffer,
1685     PRPC_MESSAGE pRpcMessage,
1686     DWORD* pdwStubPhase);
1687 HRESULT STDMETHODCALLTYPE IBDA_SignalStatistics_put_SignalLocked_Proxy(
1688     IBDA_SignalStatistics* This,
1689     BOOLEAN fLocked);
1690 void __RPC_STUB IBDA_SignalStatistics_put_SignalLocked_Stub(
1691     IRpcStubBuffer* This,
1692     IRpcChannelBuffer* pRpcChannelBuffer,
1693     PRPC_MESSAGE pRpcMessage,
1694     DWORD* pdwStubPhase);
1695 HRESULT STDMETHODCALLTYPE IBDA_SignalStatistics_get_SignalLocked_Proxy(
1696     IBDA_SignalStatistics* This,
1697     BOOLEAN *pfLocked);
1698 void __RPC_STUB IBDA_SignalStatistics_get_SignalLocked_Stub(
1699     IRpcStubBuffer* This,
1700     IRpcChannelBuffer* pRpcChannelBuffer,
1701     PRPC_MESSAGE pRpcMessage,
1702     DWORD* pdwStubPhase);
1703 HRESULT STDMETHODCALLTYPE IBDA_SignalStatistics_put_SampleTime_Proxy(
1704     IBDA_SignalStatistics* This,
1705     LONG lmsSampleTime);
1706 void __RPC_STUB IBDA_SignalStatistics_put_SampleTime_Stub(
1707     IRpcStubBuffer* This,
1708     IRpcChannelBuffer* pRpcChannelBuffer,
1709     PRPC_MESSAGE pRpcMessage,
1710     DWORD* pdwStubPhase);
1711 HRESULT STDMETHODCALLTYPE IBDA_SignalStatistics_get_SampleTime_Proxy(
1712     IBDA_SignalStatistics* This,
1713     LONG *plmsSampleTime);
1714 void __RPC_STUB IBDA_SignalStatistics_get_SampleTime_Stub(
1715     IRpcStubBuffer* This,
1716     IRpcChannelBuffer* pRpcChannelBuffer,
1717     PRPC_MESSAGE pRpcMessage,
1718     DWORD* pdwStubPhase);
1719 
1720 #endif  /* __IBDA_SignalStatistics_INTERFACE_DEFINED__ */
1721 
1722 /*****************************************************************************
1723  * IBDA_Topology interface
1724  */
1725 #ifndef __IBDA_Topology_INTERFACE_DEFINED__
1726 #define __IBDA_Topology_INTERFACE_DEFINED__
1727 
1728 DEFINE_GUID(IID_IBDA_Topology, 0x79b56888, 0x7fea, 0x4690, 0xb4,0x5d, 0x38,0xfd,0x3c,0x78,0x49,0xbe);
1729 #if defined(__cplusplus) && !defined(CINTERFACE)
1730 MIDL_INTERFACE("79b56888-7fea-4690-b45d-38fd3c7849be")
1731 IBDA_Topology : public IUnknown
1732 {
1733     virtual HRESULT STDMETHODCALLTYPE GetNodeTypes(
1734         ULONG *pulcNodeTypes,
1735         ULONG ulcNodeTypesMax,
1736         ULONG rgulNodeTypes[]) = 0;
1737 
1738     virtual HRESULT STDMETHODCALLTYPE GetNodeDescriptors(
1739         ULONG *ulcNodeDescriptors,
1740         ULONG ulcNodeDescriptorsMax,
1741         BDANODE_DESCRIPTOR rgNodeDescriptors[]) = 0;
1742 
1743     virtual HRESULT STDMETHODCALLTYPE GetNodeInterfaces(
1744         ULONG ulNodeType,
1745         ULONG *pulcInterfaces,
1746         ULONG ulcInterfacesMax,
1747         GUID rgguidInterfaces[]) = 0;
1748 
1749     virtual HRESULT STDMETHODCALLTYPE GetPinTypes(
1750         ULONG *pulcPinTypes,
1751         ULONG ulcPinTypesMax,
1752         ULONG rgulPinTypes[]) = 0;
1753 
1754     virtual HRESULT STDMETHODCALLTYPE GetTemplateConnections(
1755         ULONG *pulcConnections,
1756         ULONG ulcConnectionsMax,
1757         BDA_TEMPLATE_CONNECTION rgConnections[]) = 0;
1758 
1759     virtual HRESULT STDMETHODCALLTYPE CreatePin(
1760         ULONG ulPinType,
1761         ULONG *pulPinId) = 0;
1762 
1763     virtual HRESULT STDMETHODCALLTYPE DeletePin(
1764         ULONG ulPinId) = 0;
1765 
1766     virtual HRESULT STDMETHODCALLTYPE SetMediaType(
1767         ULONG ulPinId,
1768         AM_MEDIA_TYPE *pMediaType) = 0;
1769 
1770     virtual HRESULT STDMETHODCALLTYPE SetMedium(
1771         ULONG ulPinId,
1772         REGPINMEDIUM *pMedium) = 0;
1773 
1774     virtual HRESULT STDMETHODCALLTYPE CreateTopology(
1775         ULONG ulInputPinId,
1776         ULONG ulOutputPinId) = 0;
1777 
1778     virtual HRESULT STDMETHODCALLTYPE GetControlNode(
1779         ULONG ulInputPinId,
1780         ULONG ulOutputPinId,
1781         ULONG ulNodeType,
1782         IUnknown **ppControlNode) = 0;
1783 
1784 };
1785 #ifdef __CRT_UUID_DECL
1786 __CRT_UUID_DECL(IBDA_Topology, 0x79b56888, 0x7fea, 0x4690, 0xb4,0x5d, 0x38,0xfd,0x3c,0x78,0x49,0xbe)
1787 #endif
1788 #else
1789 typedef struct IBDA_TopologyVtbl {
1790     BEGIN_INTERFACE
1791 
1792     /*** IUnknown methods ***/
1793     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1794         IBDA_Topology* This,
1795         REFIID riid,
1796         void **ppvObject);
1797 
1798     ULONG (STDMETHODCALLTYPE *AddRef)(
1799         IBDA_Topology* This);
1800 
1801     ULONG (STDMETHODCALLTYPE *Release)(
1802         IBDA_Topology* This);
1803 
1804     /*** IBDA_Topology methods ***/
1805     HRESULT (STDMETHODCALLTYPE *GetNodeTypes)(
1806         IBDA_Topology* This,
1807         ULONG *pulcNodeTypes,
1808         ULONG ulcNodeTypesMax,
1809         ULONG rgulNodeTypes[]);
1810 
1811     HRESULT (STDMETHODCALLTYPE *GetNodeDescriptors)(
1812         IBDA_Topology* This,
1813         ULONG *ulcNodeDescriptors,
1814         ULONG ulcNodeDescriptorsMax,
1815         BDANODE_DESCRIPTOR rgNodeDescriptors[]);
1816 
1817     HRESULT (STDMETHODCALLTYPE *GetNodeInterfaces)(
1818         IBDA_Topology* This,
1819         ULONG ulNodeType,
1820         ULONG *pulcInterfaces,
1821         ULONG ulcInterfacesMax,
1822         GUID rgguidInterfaces[]);
1823 
1824     HRESULT (STDMETHODCALLTYPE *GetPinTypes)(
1825         IBDA_Topology* This,
1826         ULONG *pulcPinTypes,
1827         ULONG ulcPinTypesMax,
1828         ULONG rgulPinTypes[]);
1829 
1830     HRESULT (STDMETHODCALLTYPE *GetTemplateConnections)(
1831         IBDA_Topology* This,
1832         ULONG *pulcConnections,
1833         ULONG ulcConnectionsMax,
1834         BDA_TEMPLATE_CONNECTION rgConnections[]);
1835 
1836     HRESULT (STDMETHODCALLTYPE *CreatePin)(
1837         IBDA_Topology* This,
1838         ULONG ulPinType,
1839         ULONG *pulPinId);
1840 
1841     HRESULT (STDMETHODCALLTYPE *DeletePin)(
1842         IBDA_Topology* This,
1843         ULONG ulPinId);
1844 
1845     HRESULT (STDMETHODCALLTYPE *SetMediaType)(
1846         IBDA_Topology* This,
1847         ULONG ulPinId,
1848         AM_MEDIA_TYPE *pMediaType);
1849 
1850     HRESULT (STDMETHODCALLTYPE *SetMedium)(
1851         IBDA_Topology* This,
1852         ULONG ulPinId,
1853         REGPINMEDIUM *pMedium);
1854 
1855     HRESULT (STDMETHODCALLTYPE *CreateTopology)(
1856         IBDA_Topology* This,
1857         ULONG ulInputPinId,
1858         ULONG ulOutputPinId);
1859 
1860     HRESULT (STDMETHODCALLTYPE *GetControlNode)(
1861         IBDA_Topology* This,
1862         ULONG ulInputPinId,
1863         ULONG ulOutputPinId,
1864         ULONG ulNodeType,
1865         IUnknown **ppControlNode);
1866 
1867     END_INTERFACE
1868 } IBDA_TopologyVtbl;
1869 interface IBDA_Topology {
1870     CONST_VTBL IBDA_TopologyVtbl* lpVtbl;
1871 };
1872 
1873 #ifdef COBJMACROS
1874 #ifndef WIDL_C_INLINE_WRAPPERS
1875 /*** IUnknown methods ***/
1876 #define IBDA_Topology_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1877 #define IBDA_Topology_AddRef(This) (This)->lpVtbl->AddRef(This)
1878 #define IBDA_Topology_Release(This) (This)->lpVtbl->Release(This)
1879 /*** IBDA_Topology methods ***/
1880 #define IBDA_Topology_GetNodeTypes(This,pulcNodeTypes,ulcNodeTypesMax,rgulNodeTypes) (This)->lpVtbl->GetNodeTypes(This,pulcNodeTypes,ulcNodeTypesMax,rgulNodeTypes)
1881 #define IBDA_Topology_GetNodeDescriptors(This,ulcNodeDescriptors,ulcNodeDescriptorsMax,rgNodeDescriptors) (This)->lpVtbl->GetNodeDescriptors(This,ulcNodeDescriptors,ulcNodeDescriptorsMax,rgNodeDescriptors)
1882 #define IBDA_Topology_GetNodeInterfaces(This,ulNodeType,pulcInterfaces,ulcInterfacesMax,rgguidInterfaces) (This)->lpVtbl->GetNodeInterfaces(This,ulNodeType,pulcInterfaces,ulcInterfacesMax,rgguidInterfaces)
1883 #define IBDA_Topology_GetPinTypes(This,pulcPinTypes,ulcPinTypesMax,rgulPinTypes) (This)->lpVtbl->GetPinTypes(This,pulcPinTypes,ulcPinTypesMax,rgulPinTypes)
1884 #define IBDA_Topology_GetTemplateConnections(This,pulcConnections,ulcConnectionsMax,rgConnections) (This)->lpVtbl->GetTemplateConnections(This,pulcConnections,ulcConnectionsMax,rgConnections)
1885 #define IBDA_Topology_CreatePin(This,ulPinType,pulPinId) (This)->lpVtbl->CreatePin(This,ulPinType,pulPinId)
1886 #define IBDA_Topology_DeletePin(This,ulPinId) (This)->lpVtbl->DeletePin(This,ulPinId)
1887 #define IBDA_Topology_SetMediaType(This,ulPinId,pMediaType) (This)->lpVtbl->SetMediaType(This,ulPinId,pMediaType)
1888 #define IBDA_Topology_SetMedium(This,ulPinId,pMedium) (This)->lpVtbl->SetMedium(This,ulPinId,pMedium)
1889 #define IBDA_Topology_CreateTopology(This,ulInputPinId,ulOutputPinId) (This)->lpVtbl->CreateTopology(This,ulInputPinId,ulOutputPinId)
1890 #define IBDA_Topology_GetControlNode(This,ulInputPinId,ulOutputPinId,ulNodeType,ppControlNode) (This)->lpVtbl->GetControlNode(This,ulInputPinId,ulOutputPinId,ulNodeType,ppControlNode)
1891 #else
1892 /*** IUnknown methods ***/
1893 static FORCEINLINE HRESULT IBDA_Topology_QueryInterface(IBDA_Topology* This,REFIID riid,void **ppvObject) {
1894     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1895 }
1896 static FORCEINLINE ULONG IBDA_Topology_AddRef(IBDA_Topology* This) {
1897     return This->lpVtbl->AddRef(This);
1898 }
1899 static FORCEINLINE ULONG IBDA_Topology_Release(IBDA_Topology* This) {
1900     return This->lpVtbl->Release(This);
1901 }
1902 /*** IBDA_Topology methods ***/
1903 static FORCEINLINE HRESULT IBDA_Topology_GetNodeTypes(IBDA_Topology* This,ULONG *pulcNodeTypes,ULONG ulcNodeTypesMax,ULONG rgulNodeTypes[]) {
1904     return This->lpVtbl->GetNodeTypes(This,pulcNodeTypes,ulcNodeTypesMax,rgulNodeTypes);
1905 }
1906 static FORCEINLINE HRESULT IBDA_Topology_GetNodeDescriptors(IBDA_Topology* This,ULONG *ulcNodeDescriptors,ULONG ulcNodeDescriptorsMax,BDANODE_DESCRIPTOR rgNodeDescriptors[]) {
1907     return This->lpVtbl->GetNodeDescriptors(This,ulcNodeDescriptors,ulcNodeDescriptorsMax,rgNodeDescriptors);
1908 }
1909 static FORCEINLINE HRESULT IBDA_Topology_GetNodeInterfaces(IBDA_Topology* This,ULONG ulNodeType,ULONG *pulcInterfaces,ULONG ulcInterfacesMax,GUID rgguidInterfaces[]) {
1910     return This->lpVtbl->GetNodeInterfaces(This,ulNodeType,pulcInterfaces,ulcInterfacesMax,rgguidInterfaces);
1911 }
1912 static FORCEINLINE HRESULT IBDA_Topology_GetPinTypes(IBDA_Topology* This,ULONG *pulcPinTypes,ULONG ulcPinTypesMax,ULONG rgulPinTypes[]) {
1913     return This->lpVtbl->GetPinTypes(This,pulcPinTypes,ulcPinTypesMax,rgulPinTypes);
1914 }
1915 static FORCEINLINE HRESULT IBDA_Topology_GetTemplateConnections(IBDA_Topology* This,ULONG *pulcConnections,ULONG ulcConnectionsMax,BDA_TEMPLATE_CONNECTION rgConnections[]) {
1916     return This->lpVtbl->GetTemplateConnections(This,pulcConnections,ulcConnectionsMax,rgConnections);
1917 }
1918 static FORCEINLINE HRESULT IBDA_Topology_CreatePin(IBDA_Topology* This,ULONG ulPinType,ULONG *pulPinId) {
1919     return This->lpVtbl->CreatePin(This,ulPinType,pulPinId);
1920 }
1921 static FORCEINLINE HRESULT IBDA_Topology_DeletePin(IBDA_Topology* This,ULONG ulPinId) {
1922     return This->lpVtbl->DeletePin(This,ulPinId);
1923 }
1924 static FORCEINLINE HRESULT IBDA_Topology_SetMediaType(IBDA_Topology* This,ULONG ulPinId,AM_MEDIA_TYPE *pMediaType) {
1925     return This->lpVtbl->SetMediaType(This,ulPinId,pMediaType);
1926 }
1927 static FORCEINLINE HRESULT IBDA_Topology_SetMedium(IBDA_Topology* This,ULONG ulPinId,REGPINMEDIUM *pMedium) {
1928     return This->lpVtbl->SetMedium(This,ulPinId,pMedium);
1929 }
1930 static FORCEINLINE HRESULT IBDA_Topology_CreateTopology(IBDA_Topology* This,ULONG ulInputPinId,ULONG ulOutputPinId) {
1931     return This->lpVtbl->CreateTopology(This,ulInputPinId,ulOutputPinId);
1932 }
1933 static FORCEINLINE HRESULT IBDA_Topology_GetControlNode(IBDA_Topology* This,ULONG ulInputPinId,ULONG ulOutputPinId,ULONG ulNodeType,IUnknown **ppControlNode) {
1934     return This->lpVtbl->GetControlNode(This,ulInputPinId,ulOutputPinId,ulNodeType,ppControlNode);
1935 }
1936 #endif
1937 #endif
1938 
1939 #endif
1940 
1941 HRESULT STDMETHODCALLTYPE IBDA_Topology_GetNodeTypes_Proxy(
1942     IBDA_Topology* This,
1943     ULONG *pulcNodeTypes,
1944     ULONG ulcNodeTypesMax,
1945     ULONG rgulNodeTypes[]);
1946 void __RPC_STUB IBDA_Topology_GetNodeTypes_Stub(
1947     IRpcStubBuffer* This,
1948     IRpcChannelBuffer* pRpcChannelBuffer,
1949     PRPC_MESSAGE pRpcMessage,
1950     DWORD* pdwStubPhase);
1951 HRESULT STDMETHODCALLTYPE IBDA_Topology_GetNodeDescriptors_Proxy(
1952     IBDA_Topology* This,
1953     ULONG *ulcNodeDescriptors,
1954     ULONG ulcNodeDescriptorsMax,
1955     BDANODE_DESCRIPTOR rgNodeDescriptors[]);
1956 void __RPC_STUB IBDA_Topology_GetNodeDescriptors_Stub(
1957     IRpcStubBuffer* This,
1958     IRpcChannelBuffer* pRpcChannelBuffer,
1959     PRPC_MESSAGE pRpcMessage,
1960     DWORD* pdwStubPhase);
1961 HRESULT STDMETHODCALLTYPE IBDA_Topology_GetNodeInterfaces_Proxy(
1962     IBDA_Topology* This,
1963     ULONG ulNodeType,
1964     ULONG *pulcInterfaces,
1965     ULONG ulcInterfacesMax,
1966     GUID rgguidInterfaces[]);
1967 void __RPC_STUB IBDA_Topology_GetNodeInterfaces_Stub(
1968     IRpcStubBuffer* This,
1969     IRpcChannelBuffer* pRpcChannelBuffer,
1970     PRPC_MESSAGE pRpcMessage,
1971     DWORD* pdwStubPhase);
1972 HRESULT STDMETHODCALLTYPE IBDA_Topology_GetPinTypes_Proxy(
1973     IBDA_Topology* This,
1974     ULONG *pulcPinTypes,
1975     ULONG ulcPinTypesMax,
1976     ULONG rgulPinTypes[]);
1977 void __RPC_STUB IBDA_Topology_GetPinTypes_Stub(
1978     IRpcStubBuffer* This,
1979     IRpcChannelBuffer* pRpcChannelBuffer,
1980     PRPC_MESSAGE pRpcMessage,
1981     DWORD* pdwStubPhase);
1982 HRESULT STDMETHODCALLTYPE IBDA_Topology_GetTemplateConnections_Proxy(
1983     IBDA_Topology* This,
1984     ULONG *pulcConnections,
1985     ULONG ulcConnectionsMax,
1986     BDA_TEMPLATE_CONNECTION rgConnections[]);
1987 void __RPC_STUB IBDA_Topology_GetTemplateConnections_Stub(
1988     IRpcStubBuffer* This,
1989     IRpcChannelBuffer* pRpcChannelBuffer,
1990     PRPC_MESSAGE pRpcMessage,
1991     DWORD* pdwStubPhase);
1992 HRESULT STDMETHODCALLTYPE IBDA_Topology_CreatePin_Proxy(
1993     IBDA_Topology* This,
1994     ULONG ulPinType,
1995     ULONG *pulPinId);
1996 void __RPC_STUB IBDA_Topology_CreatePin_Stub(
1997     IRpcStubBuffer* This,
1998     IRpcChannelBuffer* pRpcChannelBuffer,
1999     PRPC_MESSAGE pRpcMessage,
2000     DWORD* pdwStubPhase);
2001 HRESULT STDMETHODCALLTYPE IBDA_Topology_DeletePin_Proxy(
2002     IBDA_Topology* This,
2003     ULONG ulPinId);
2004 void __RPC_STUB IBDA_Topology_DeletePin_Stub(
2005     IRpcStubBuffer* This,
2006     IRpcChannelBuffer* pRpcChannelBuffer,
2007     PRPC_MESSAGE pRpcMessage,
2008     DWORD* pdwStubPhase);
2009 HRESULT STDMETHODCALLTYPE IBDA_Topology_SetMediaType_Proxy(
2010     IBDA_Topology* This,
2011     ULONG ulPinId,
2012     AM_MEDIA_TYPE *pMediaType);
2013 void __RPC_STUB IBDA_Topology_SetMediaType_Stub(
2014     IRpcStubBuffer* This,
2015     IRpcChannelBuffer* pRpcChannelBuffer,
2016     PRPC_MESSAGE pRpcMessage,
2017     DWORD* pdwStubPhase);
2018 HRESULT STDMETHODCALLTYPE IBDA_Topology_SetMedium_Proxy(
2019     IBDA_Topology* This,
2020     ULONG ulPinId,
2021     REGPINMEDIUM *pMedium);
2022 void __RPC_STUB IBDA_Topology_SetMedium_Stub(
2023     IRpcStubBuffer* This,
2024     IRpcChannelBuffer* pRpcChannelBuffer,
2025     PRPC_MESSAGE pRpcMessage,
2026     DWORD* pdwStubPhase);
2027 HRESULT STDMETHODCALLTYPE IBDA_Topology_CreateTopology_Proxy(
2028     IBDA_Topology* This,
2029     ULONG ulInputPinId,
2030     ULONG ulOutputPinId);
2031 void __RPC_STUB IBDA_Topology_CreateTopology_Stub(
2032     IRpcStubBuffer* This,
2033     IRpcChannelBuffer* pRpcChannelBuffer,
2034     PRPC_MESSAGE pRpcMessage,
2035     DWORD* pdwStubPhase);
2036 HRESULT STDMETHODCALLTYPE IBDA_Topology_GetControlNode_Proxy(
2037     IBDA_Topology* This,
2038     ULONG ulInputPinId,
2039     ULONG ulOutputPinId,
2040     ULONG ulNodeType,
2041     IUnknown **ppControlNode);
2042 void __RPC_STUB IBDA_Topology_GetControlNode_Stub(
2043     IRpcStubBuffer* This,
2044     IRpcChannelBuffer* pRpcChannelBuffer,
2045     PRPC_MESSAGE pRpcMessage,
2046     DWORD* pdwStubPhase);
2047 
2048 #endif  /* __IBDA_Topology_INTERFACE_DEFINED__ */
2049 
2050 /*****************************************************************************
2051  * IBDA_VoidTransform interface
2052  */
2053 #ifndef __IBDA_VoidTransform_INTERFACE_DEFINED__
2054 #define __IBDA_VoidTransform_INTERFACE_DEFINED__
2055 
2056 DEFINE_GUID(IID_IBDA_VoidTransform, 0x71985f46, 0x1ca1, 0x11d3, 0x9c,0xc8, 0x00,0xc0,0x4f,0x79,0x71,0xe0);
2057 #if defined(__cplusplus) && !defined(CINTERFACE)
2058 MIDL_INTERFACE("71985f46-1ca1-11d3-9cc8-00c04f7971e0")
2059 IBDA_VoidTransform : public IUnknown
2060 {
2061     virtual HRESULT STDMETHODCALLTYPE Start(
2062         ) = 0;
2063 
2064     virtual HRESULT STDMETHODCALLTYPE Stop(
2065         ) = 0;
2066 
2067 };
2068 #ifdef __CRT_UUID_DECL
2069 __CRT_UUID_DECL(IBDA_VoidTransform, 0x71985f46, 0x1ca1, 0x11d3, 0x9c,0xc8, 0x00,0xc0,0x4f,0x79,0x71,0xe0)
2070 #endif
2071 #else
2072 typedef struct IBDA_VoidTransformVtbl {
2073     BEGIN_INTERFACE
2074 
2075     /*** IUnknown methods ***/
2076     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2077         IBDA_VoidTransform* This,
2078         REFIID riid,
2079         void **ppvObject);
2080 
2081     ULONG (STDMETHODCALLTYPE *AddRef)(
2082         IBDA_VoidTransform* This);
2083 
2084     ULONG (STDMETHODCALLTYPE *Release)(
2085         IBDA_VoidTransform* This);
2086 
2087     /*** IBDA_VoidTransform methods ***/
2088     HRESULT (STDMETHODCALLTYPE *Start)(
2089         IBDA_VoidTransform* This);
2090 
2091     HRESULT (STDMETHODCALLTYPE *Stop)(
2092         IBDA_VoidTransform* This);
2093 
2094     END_INTERFACE
2095 } IBDA_VoidTransformVtbl;
2096 interface IBDA_VoidTransform {
2097     CONST_VTBL IBDA_VoidTransformVtbl* lpVtbl;
2098 };
2099 
2100 #ifdef COBJMACROS
2101 #ifndef WIDL_C_INLINE_WRAPPERS
2102 /*** IUnknown methods ***/
2103 #define IBDA_VoidTransform_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2104 #define IBDA_VoidTransform_AddRef(This) (This)->lpVtbl->AddRef(This)
2105 #define IBDA_VoidTransform_Release(This) (This)->lpVtbl->Release(This)
2106 /*** IBDA_VoidTransform methods ***/
2107 #define IBDA_VoidTransform_Start(This) (This)->lpVtbl->Start(This)
2108 #define IBDA_VoidTransform_Stop(This) (This)->lpVtbl->Stop(This)
2109 #else
2110 /*** IUnknown methods ***/
2111 static FORCEINLINE HRESULT IBDA_VoidTransform_QueryInterface(IBDA_VoidTransform* This,REFIID riid,void **ppvObject) {
2112     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2113 }
2114 static FORCEINLINE ULONG IBDA_VoidTransform_AddRef(IBDA_VoidTransform* This) {
2115     return This->lpVtbl->AddRef(This);
2116 }
2117 static FORCEINLINE ULONG IBDA_VoidTransform_Release(IBDA_VoidTransform* This) {
2118     return This->lpVtbl->Release(This);
2119 }
2120 /*** IBDA_VoidTransform methods ***/
2121 static FORCEINLINE HRESULT IBDA_VoidTransform_Start(IBDA_VoidTransform* This) {
2122     return This->lpVtbl->Start(This);
2123 }
2124 static FORCEINLINE HRESULT IBDA_VoidTransform_Stop(IBDA_VoidTransform* This) {
2125     return This->lpVtbl->Stop(This);
2126 }
2127 #endif
2128 #endif
2129 
2130 #endif
2131 
2132 HRESULT STDMETHODCALLTYPE IBDA_VoidTransform_Start_Proxy(
2133     IBDA_VoidTransform* This);
2134 void __RPC_STUB IBDA_VoidTransform_Start_Stub(
2135     IRpcStubBuffer* This,
2136     IRpcChannelBuffer* pRpcChannelBuffer,
2137     PRPC_MESSAGE pRpcMessage,
2138     DWORD* pdwStubPhase);
2139 HRESULT STDMETHODCALLTYPE IBDA_VoidTransform_Stop_Proxy(
2140     IBDA_VoidTransform* This);
2141 void __RPC_STUB IBDA_VoidTransform_Stop_Stub(
2142     IRpcStubBuffer* This,
2143     IRpcChannelBuffer* pRpcChannelBuffer,
2144     PRPC_MESSAGE pRpcMessage,
2145     DWORD* pdwStubPhase);
2146 
2147 #endif  /* __IBDA_VoidTransform_INTERFACE_DEFINED__ */
2148 
2149 /*****************************************************************************
2150  * IBDA_NullTransform interface
2151  */
2152 #ifndef __IBDA_NullTransform_INTERFACE_DEFINED__
2153 #define __IBDA_NullTransform_INTERFACE_DEFINED__
2154 
2155 DEFINE_GUID(IID_IBDA_NullTransform, 0xddf15b0d, 0xbd25, 0x11d2, 0x9c,0xa0, 0x00,0xc0,0x4f,0x79,0x71,0xe0);
2156 #if defined(__cplusplus) && !defined(CINTERFACE)
2157 MIDL_INTERFACE("ddf15b0d-bd25-11d2-9ca0-00c04f7971e0")
2158 IBDA_NullTransform : public IUnknown
2159 {
2160     virtual HRESULT STDMETHODCALLTYPE Start(
2161         ) = 0;
2162 
2163     virtual HRESULT STDMETHODCALLTYPE Stop(
2164         ) = 0;
2165 
2166 };
2167 #ifdef __CRT_UUID_DECL
2168 __CRT_UUID_DECL(IBDA_NullTransform, 0xddf15b0d, 0xbd25, 0x11d2, 0x9c,0xa0, 0x00,0xc0,0x4f,0x79,0x71,0xe0)
2169 #endif
2170 #else
2171 typedef struct IBDA_NullTransformVtbl {
2172     BEGIN_INTERFACE
2173 
2174     /*** IUnknown methods ***/
2175     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2176         IBDA_NullTransform* This,
2177         REFIID riid,
2178         void **ppvObject);
2179 
2180     ULONG (STDMETHODCALLTYPE *AddRef)(
2181         IBDA_NullTransform* This);
2182 
2183     ULONG (STDMETHODCALLTYPE *Release)(
2184         IBDA_NullTransform* This);
2185 
2186     /*** IBDA_NullTransform methods ***/
2187     HRESULT (STDMETHODCALLTYPE *Start)(
2188         IBDA_NullTransform* This);
2189 
2190     HRESULT (STDMETHODCALLTYPE *Stop)(
2191         IBDA_NullTransform* This);
2192 
2193     END_INTERFACE
2194 } IBDA_NullTransformVtbl;
2195 interface IBDA_NullTransform {
2196     CONST_VTBL IBDA_NullTransformVtbl* lpVtbl;
2197 };
2198 
2199 #ifdef COBJMACROS
2200 #ifndef WIDL_C_INLINE_WRAPPERS
2201 /*** IUnknown methods ***/
2202 #define IBDA_NullTransform_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2203 #define IBDA_NullTransform_AddRef(This) (This)->lpVtbl->AddRef(This)
2204 #define IBDA_NullTransform_Release(This) (This)->lpVtbl->Release(This)
2205 /*** IBDA_NullTransform methods ***/
2206 #define IBDA_NullTransform_Start(This) (This)->lpVtbl->Start(This)
2207 #define IBDA_NullTransform_Stop(This) (This)->lpVtbl->Stop(This)
2208 #else
2209 /*** IUnknown methods ***/
2210 static FORCEINLINE HRESULT IBDA_NullTransform_QueryInterface(IBDA_NullTransform* This,REFIID riid,void **ppvObject) {
2211     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2212 }
2213 static FORCEINLINE ULONG IBDA_NullTransform_AddRef(IBDA_NullTransform* This) {
2214     return This->lpVtbl->AddRef(This);
2215 }
2216 static FORCEINLINE ULONG IBDA_NullTransform_Release(IBDA_NullTransform* This) {
2217     return This->lpVtbl->Release(This);
2218 }
2219 /*** IBDA_NullTransform methods ***/
2220 static FORCEINLINE HRESULT IBDA_NullTransform_Start(IBDA_NullTransform* This) {
2221     return This->lpVtbl->Start(This);
2222 }
2223 static FORCEINLINE HRESULT IBDA_NullTransform_Stop(IBDA_NullTransform* This) {
2224     return This->lpVtbl->Stop(This);
2225 }
2226 #endif
2227 #endif
2228 
2229 #endif
2230 
2231 HRESULT STDMETHODCALLTYPE IBDA_NullTransform_Start_Proxy(
2232     IBDA_NullTransform* This);
2233 void __RPC_STUB IBDA_NullTransform_Start_Stub(
2234     IRpcStubBuffer* This,
2235     IRpcChannelBuffer* pRpcChannelBuffer,
2236     PRPC_MESSAGE pRpcMessage,
2237     DWORD* pdwStubPhase);
2238 HRESULT STDMETHODCALLTYPE IBDA_NullTransform_Stop_Proxy(
2239     IBDA_NullTransform* This);
2240 void __RPC_STUB IBDA_NullTransform_Stop_Stub(
2241     IRpcStubBuffer* This,
2242     IRpcChannelBuffer* pRpcChannelBuffer,
2243     PRPC_MESSAGE pRpcMessage,
2244     DWORD* pdwStubPhase);
2245 
2246 #endif  /* __IBDA_NullTransform_INTERFACE_DEFINED__ */
2247 
2248 /*****************************************************************************
2249  * IBDA_FrequencyFilter interface
2250  */
2251 #ifndef __IBDA_FrequencyFilter_INTERFACE_DEFINED__
2252 #define __IBDA_FrequencyFilter_INTERFACE_DEFINED__
2253 
2254 DEFINE_GUID(IID_IBDA_FrequencyFilter, 0x71985f47, 0x1ca1, 0x11d3, 0x9c,0xc8, 0x00,0xc0,0x4f,0x79,0x71,0xe0);
2255 #if defined(__cplusplus) && !defined(CINTERFACE)
2256 MIDL_INTERFACE("71985f47-1ca1-11d3-9cc8-00c04f7971e0")
2257 IBDA_FrequencyFilter : public IUnknown
2258 {
2259     virtual HRESULT STDMETHODCALLTYPE put_Autotune(
2260         ULONG ulTransponder) = 0;
2261 
2262     virtual HRESULT STDMETHODCALLTYPE get_Autotune(
2263         ULONG *pulTransponder) = 0;
2264 
2265     virtual HRESULT STDMETHODCALLTYPE put_Frequency(
2266         ULONG ulFrequency) = 0;
2267 
2268     virtual HRESULT STDMETHODCALLTYPE get_Frequency(
2269         ULONG *pulFrequency) = 0;
2270 
2271     virtual HRESULT STDMETHODCALLTYPE put_Polarity(
2272         Polarisation Polarity) = 0;
2273 
2274     virtual HRESULT STDMETHODCALLTYPE get_Polarity(
2275         Polarisation *pPolarity) = 0;
2276 
2277     virtual HRESULT STDMETHODCALLTYPE put_Range(
2278         ULONG ulRange) = 0;
2279 
2280     virtual HRESULT STDMETHODCALLTYPE get_Range(
2281         ULONG *pulRange) = 0;
2282 
2283     virtual HRESULT STDMETHODCALLTYPE put_Bandwidth(
2284         ULONG ulBandwidth) = 0;
2285 
2286     virtual HRESULT STDMETHODCALLTYPE get_Bandwidth(
2287         ULONG *pulBandwidth) = 0;
2288 
2289     virtual HRESULT STDMETHODCALLTYPE put_FrequencyMultiplier(
2290         ULONG ulMultiplier) = 0;
2291 
2292     virtual HRESULT STDMETHODCALLTYPE get_FrequencyMultiplier(
2293         ULONG *pulMultiplier) = 0;
2294 
2295 };
2296 #ifdef __CRT_UUID_DECL
2297 __CRT_UUID_DECL(IBDA_FrequencyFilter, 0x71985f47, 0x1ca1, 0x11d3, 0x9c,0xc8, 0x00,0xc0,0x4f,0x79,0x71,0xe0)
2298 #endif
2299 #else
2300 typedef struct IBDA_FrequencyFilterVtbl {
2301     BEGIN_INTERFACE
2302 
2303     /*** IUnknown methods ***/
2304     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2305         IBDA_FrequencyFilter* This,
2306         REFIID riid,
2307         void **ppvObject);
2308 
2309     ULONG (STDMETHODCALLTYPE *AddRef)(
2310         IBDA_FrequencyFilter* This);
2311 
2312     ULONG (STDMETHODCALLTYPE *Release)(
2313         IBDA_FrequencyFilter* This);
2314 
2315     /*** IBDA_FrequencyFilter methods ***/
2316     HRESULT (STDMETHODCALLTYPE *put_Autotune)(
2317         IBDA_FrequencyFilter* This,
2318         ULONG ulTransponder);
2319 
2320     HRESULT (STDMETHODCALLTYPE *get_Autotune)(
2321         IBDA_FrequencyFilter* This,
2322         ULONG *pulTransponder);
2323 
2324     HRESULT (STDMETHODCALLTYPE *put_Frequency)(
2325         IBDA_FrequencyFilter* This,
2326         ULONG ulFrequency);
2327 
2328     HRESULT (STDMETHODCALLTYPE *get_Frequency)(
2329         IBDA_FrequencyFilter* This,
2330         ULONG *pulFrequency);
2331 
2332     HRESULT (STDMETHODCALLTYPE *put_Polarity)(
2333         IBDA_FrequencyFilter* This,
2334         Polarisation Polarity);
2335 
2336     HRESULT (STDMETHODCALLTYPE *get_Polarity)(
2337         IBDA_FrequencyFilter* This,
2338         Polarisation *pPolarity);
2339 
2340     HRESULT (STDMETHODCALLTYPE *put_Range)(
2341         IBDA_FrequencyFilter* This,
2342         ULONG ulRange);
2343 
2344     HRESULT (STDMETHODCALLTYPE *get_Range)(
2345         IBDA_FrequencyFilter* This,
2346         ULONG *pulRange);
2347 
2348     HRESULT (STDMETHODCALLTYPE *put_Bandwidth)(
2349         IBDA_FrequencyFilter* This,
2350         ULONG ulBandwidth);
2351 
2352     HRESULT (STDMETHODCALLTYPE *get_Bandwidth)(
2353         IBDA_FrequencyFilter* This,
2354         ULONG *pulBandwidth);
2355 
2356     HRESULT (STDMETHODCALLTYPE *put_FrequencyMultiplier)(
2357         IBDA_FrequencyFilter* This,
2358         ULONG ulMultiplier);
2359 
2360     HRESULT (STDMETHODCALLTYPE *get_FrequencyMultiplier)(
2361         IBDA_FrequencyFilter* This,
2362         ULONG *pulMultiplier);
2363 
2364     END_INTERFACE
2365 } IBDA_FrequencyFilterVtbl;
2366 interface IBDA_FrequencyFilter {
2367     CONST_VTBL IBDA_FrequencyFilterVtbl* lpVtbl;
2368 };
2369 
2370 #ifdef COBJMACROS
2371 #ifndef WIDL_C_INLINE_WRAPPERS
2372 /*** IUnknown methods ***/
2373 #define IBDA_FrequencyFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2374 #define IBDA_FrequencyFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
2375 #define IBDA_FrequencyFilter_Release(This) (This)->lpVtbl->Release(This)
2376 /*** IBDA_FrequencyFilter methods ***/
2377 #define IBDA_FrequencyFilter_put_Autotune(This,ulTransponder) (This)->lpVtbl->put_Autotune(This,ulTransponder)
2378 #define IBDA_FrequencyFilter_get_Autotune(This,pulTransponder) (This)->lpVtbl->get_Autotune(This,pulTransponder)
2379 #define IBDA_FrequencyFilter_put_Frequency(This,ulFrequency) (This)->lpVtbl->put_Frequency(This,ulFrequency)
2380 #define IBDA_FrequencyFilter_get_Frequency(This,pulFrequency) (This)->lpVtbl->get_Frequency(This,pulFrequency)
2381 #define IBDA_FrequencyFilter_put_Polarity(This,Polarity) (This)->lpVtbl->put_Polarity(This,Polarity)
2382 #define IBDA_FrequencyFilter_get_Polarity(This,pPolarity) (This)->lpVtbl->get_Polarity(This,pPolarity)
2383 #define IBDA_FrequencyFilter_put_Range(This,ulRange) (This)->lpVtbl->put_Range(This,ulRange)
2384 #define IBDA_FrequencyFilter_get_Range(This,pulRange) (This)->lpVtbl->get_Range(This,pulRange)
2385 #define IBDA_FrequencyFilter_put_Bandwidth(This,ulBandwidth) (This)->lpVtbl->put_Bandwidth(This,ulBandwidth)
2386 #define IBDA_FrequencyFilter_get_Bandwidth(This,pulBandwidth) (This)->lpVtbl->get_Bandwidth(This,pulBandwidth)
2387 #define IBDA_FrequencyFilter_put_FrequencyMultiplier(This,ulMultiplier) (This)->lpVtbl->put_FrequencyMultiplier(This,ulMultiplier)
2388 #define IBDA_FrequencyFilter_get_FrequencyMultiplier(This,pulMultiplier) (This)->lpVtbl->get_FrequencyMultiplier(This,pulMultiplier)
2389 #else
2390 /*** IUnknown methods ***/
2391 static FORCEINLINE HRESULT IBDA_FrequencyFilter_QueryInterface(IBDA_FrequencyFilter* This,REFIID riid,void **ppvObject) {
2392     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2393 }
2394 static FORCEINLINE ULONG IBDA_FrequencyFilter_AddRef(IBDA_FrequencyFilter* This) {
2395     return This->lpVtbl->AddRef(This);
2396 }
2397 static FORCEINLINE ULONG IBDA_FrequencyFilter_Release(IBDA_FrequencyFilter* This) {
2398     return This->lpVtbl->Release(This);
2399 }
2400 /*** IBDA_FrequencyFilter methods ***/
2401 static FORCEINLINE HRESULT IBDA_FrequencyFilter_put_Autotune(IBDA_FrequencyFilter* This,ULONG ulTransponder) {
2402     return This->lpVtbl->put_Autotune(This,ulTransponder);
2403 }
2404 static FORCEINLINE HRESULT IBDA_FrequencyFilter_get_Autotune(IBDA_FrequencyFilter* This,ULONG *pulTransponder) {
2405     return This->lpVtbl->get_Autotune(This,pulTransponder);
2406 }
2407 static FORCEINLINE HRESULT IBDA_FrequencyFilter_put_Frequency(IBDA_FrequencyFilter* This,ULONG ulFrequency) {
2408     return This->lpVtbl->put_Frequency(This,ulFrequency);
2409 }
2410 static FORCEINLINE HRESULT IBDA_FrequencyFilter_get_Frequency(IBDA_FrequencyFilter* This,ULONG *pulFrequency) {
2411     return This->lpVtbl->get_Frequency(This,pulFrequency);
2412 }
2413 static FORCEINLINE HRESULT IBDA_FrequencyFilter_put_Polarity(IBDA_FrequencyFilter* This,Polarisation Polarity) {
2414     return This->lpVtbl->put_Polarity(This,Polarity);
2415 }
2416 static FORCEINLINE HRESULT IBDA_FrequencyFilter_get_Polarity(IBDA_FrequencyFilter* This,Polarisation *pPolarity) {
2417     return This->lpVtbl->get_Polarity(This,pPolarity);
2418 }
2419 static FORCEINLINE HRESULT IBDA_FrequencyFilter_put_Range(IBDA_FrequencyFilter* This,ULONG ulRange) {
2420     return This->lpVtbl->put_Range(This,ulRange);
2421 }
2422 static FORCEINLINE HRESULT IBDA_FrequencyFilter_get_Range(IBDA_FrequencyFilter* This,ULONG *pulRange) {
2423     return This->lpVtbl->get_Range(This,pulRange);
2424 }
2425 static FORCEINLINE HRESULT IBDA_FrequencyFilter_put_Bandwidth(IBDA_FrequencyFilter* This,ULONG ulBandwidth) {
2426     return This->lpVtbl->put_Bandwidth(This,ulBandwidth);
2427 }
2428 static FORCEINLINE HRESULT IBDA_FrequencyFilter_get_Bandwidth(IBDA_FrequencyFilter* This,ULONG *pulBandwidth) {
2429     return This->lpVtbl->get_Bandwidth(This,pulBandwidth);
2430 }
2431 static FORCEINLINE HRESULT IBDA_FrequencyFilter_put_FrequencyMultiplier(IBDA_FrequencyFilter* This,ULONG ulMultiplier) {
2432     return This->lpVtbl->put_FrequencyMultiplier(This,ulMultiplier);
2433 }
2434 static FORCEINLINE HRESULT IBDA_FrequencyFilter_get_FrequencyMultiplier(IBDA_FrequencyFilter* This,ULONG *pulMultiplier) {
2435     return This->lpVtbl->get_FrequencyMultiplier(This,pulMultiplier);
2436 }
2437 #endif
2438 #endif
2439 
2440 #endif
2441 
2442 HRESULT STDMETHODCALLTYPE IBDA_FrequencyFilter_put_Autotune_Proxy(
2443     IBDA_FrequencyFilter* This,
2444     ULONG ulTransponder);
2445 void __RPC_STUB IBDA_FrequencyFilter_put_Autotune_Stub(
2446     IRpcStubBuffer* This,
2447     IRpcChannelBuffer* pRpcChannelBuffer,
2448     PRPC_MESSAGE pRpcMessage,
2449     DWORD* pdwStubPhase);
2450 HRESULT STDMETHODCALLTYPE IBDA_FrequencyFilter_get_Autotune_Proxy(
2451     IBDA_FrequencyFilter* This,
2452     ULONG *pulTransponder);
2453 void __RPC_STUB IBDA_FrequencyFilter_get_Autotune_Stub(
2454     IRpcStubBuffer* This,
2455     IRpcChannelBuffer* pRpcChannelBuffer,
2456     PRPC_MESSAGE pRpcMessage,
2457     DWORD* pdwStubPhase);
2458 HRESULT STDMETHODCALLTYPE IBDA_FrequencyFilter_put_Frequency_Proxy(
2459     IBDA_FrequencyFilter* This,
2460     ULONG ulFrequency);
2461 void __RPC_STUB IBDA_FrequencyFilter_put_Frequency_Stub(
2462     IRpcStubBuffer* This,
2463     IRpcChannelBuffer* pRpcChannelBuffer,
2464     PRPC_MESSAGE pRpcMessage,
2465     DWORD* pdwStubPhase);
2466 HRESULT STDMETHODCALLTYPE IBDA_FrequencyFilter_get_Frequency_Proxy(
2467     IBDA_FrequencyFilter* This,
2468     ULONG *pulFrequency);
2469 void __RPC_STUB IBDA_FrequencyFilter_get_Frequency_Stub(
2470     IRpcStubBuffer* This,
2471     IRpcChannelBuffer* pRpcChannelBuffer,
2472     PRPC_MESSAGE pRpcMessage,
2473     DWORD* pdwStubPhase);
2474 HRESULT STDMETHODCALLTYPE IBDA_FrequencyFilter_put_Polarity_Proxy(
2475     IBDA_FrequencyFilter* This,
2476     Polarisation Polarity);
2477 void __RPC_STUB IBDA_FrequencyFilter_put_Polarity_Stub(
2478     IRpcStubBuffer* This,
2479     IRpcChannelBuffer* pRpcChannelBuffer,
2480     PRPC_MESSAGE pRpcMessage,
2481     DWORD* pdwStubPhase);
2482 HRESULT STDMETHODCALLTYPE IBDA_FrequencyFilter_get_Polarity_Proxy(
2483     IBDA_FrequencyFilter* This,
2484     Polarisation *pPolarity);
2485 void __RPC_STUB IBDA_FrequencyFilter_get_Polarity_Stub(
2486     IRpcStubBuffer* This,
2487     IRpcChannelBuffer* pRpcChannelBuffer,
2488     PRPC_MESSAGE pRpcMessage,
2489     DWORD* pdwStubPhase);
2490 HRESULT STDMETHODCALLTYPE IBDA_FrequencyFilter_put_Range_Proxy(
2491     IBDA_FrequencyFilter* This,
2492     ULONG ulRange);
2493 void __RPC_STUB IBDA_FrequencyFilter_put_Range_Stub(
2494     IRpcStubBuffer* This,
2495     IRpcChannelBuffer* pRpcChannelBuffer,
2496     PRPC_MESSAGE pRpcMessage,
2497     DWORD* pdwStubPhase);
2498 HRESULT STDMETHODCALLTYPE IBDA_FrequencyFilter_get_Range_Proxy(
2499     IBDA_FrequencyFilter* This,
2500     ULONG *pulRange);
2501 void __RPC_STUB IBDA_FrequencyFilter_get_Range_Stub(
2502     IRpcStubBuffer* This,
2503     IRpcChannelBuffer* pRpcChannelBuffer,
2504     PRPC_MESSAGE pRpcMessage,
2505     DWORD* pdwStubPhase);
2506 HRESULT STDMETHODCALLTYPE IBDA_FrequencyFilter_put_Bandwidth_Proxy(
2507     IBDA_FrequencyFilter* This,
2508     ULONG ulBandwidth);
2509 void __RPC_STUB IBDA_FrequencyFilter_put_Bandwidth_Stub(
2510     IRpcStubBuffer* This,
2511     IRpcChannelBuffer* pRpcChannelBuffer,
2512     PRPC_MESSAGE pRpcMessage,
2513     DWORD* pdwStubPhase);
2514 HRESULT STDMETHODCALLTYPE IBDA_FrequencyFilter_get_Bandwidth_Proxy(
2515     IBDA_FrequencyFilter* This,
2516     ULONG *pulBandwidth);
2517 void __RPC_STUB IBDA_FrequencyFilter_get_Bandwidth_Stub(
2518     IRpcStubBuffer* This,
2519     IRpcChannelBuffer* pRpcChannelBuffer,
2520     PRPC_MESSAGE pRpcMessage,
2521     DWORD* pdwStubPhase);
2522 HRESULT STDMETHODCALLTYPE IBDA_FrequencyFilter_put_FrequencyMultiplier_Proxy(
2523     IBDA_FrequencyFilter* This,
2524     ULONG ulMultiplier);
2525 void __RPC_STUB IBDA_FrequencyFilter_put_FrequencyMultiplier_Stub(
2526     IRpcStubBuffer* This,
2527     IRpcChannelBuffer* pRpcChannelBuffer,
2528     PRPC_MESSAGE pRpcMessage,
2529     DWORD* pdwStubPhase);
2530 HRESULT STDMETHODCALLTYPE IBDA_FrequencyFilter_get_FrequencyMultiplier_Proxy(
2531     IBDA_FrequencyFilter* This,
2532     ULONG *pulMultiplier);
2533 void __RPC_STUB IBDA_FrequencyFilter_get_FrequencyMultiplier_Stub(
2534     IRpcStubBuffer* This,
2535     IRpcChannelBuffer* pRpcChannelBuffer,
2536     PRPC_MESSAGE pRpcMessage,
2537     DWORD* pdwStubPhase);
2538 
2539 #endif  /* __IBDA_FrequencyFilter_INTERFACE_DEFINED__ */
2540 
2541 /*****************************************************************************
2542  * IBDA_LNBInfo interface
2543  */
2544 #ifndef __IBDA_LNBInfo_INTERFACE_DEFINED__
2545 #define __IBDA_LNBInfo_INTERFACE_DEFINED__
2546 
2547 DEFINE_GUID(IID_IBDA_LNBInfo, 0x992cf102, 0x49f9, 0x4719, 0xa6,0x64, 0xc4,0xf2,0x3e,0x24,0x08,0xf4);
2548 #if defined(__cplusplus) && !defined(CINTERFACE)
2549 MIDL_INTERFACE("992cf102-49f9-4719-a664-c4f23e2408f4")
2550 IBDA_LNBInfo : public IUnknown
2551 {
2552     virtual HRESULT STDMETHODCALLTYPE put_LocalOscilatorFrequencyLowBand(
2553         ULONG ulLOFLow) = 0;
2554 
2555     virtual HRESULT STDMETHODCALLTYPE get_LocalOscilatorFrequencyLowBand(
2556         ULONG *pulLOFLow) = 0;
2557 
2558     virtual HRESULT STDMETHODCALLTYPE put_LocalOscilatorFrequencyHighBand(
2559         ULONG ulLOFHigh) = 0;
2560 
2561     virtual HRESULT STDMETHODCALLTYPE get_LocalOscilatorFrequencyHighBand(
2562         ULONG *pulLOFHigh) = 0;
2563 
2564     virtual HRESULT STDMETHODCALLTYPE put_HighLowSwitchFrequency(
2565         ULONG ulSwitchFrequency) = 0;
2566 
2567     virtual HRESULT STDMETHODCALLTYPE get_HighLowSwitchFrequency(
2568         ULONG *pulSwitchFrequency) = 0;
2569 
2570 };
2571 #ifdef __CRT_UUID_DECL
2572 __CRT_UUID_DECL(IBDA_LNBInfo, 0x992cf102, 0x49f9, 0x4719, 0xa6,0x64, 0xc4,0xf2,0x3e,0x24,0x08,0xf4)
2573 #endif
2574 #else
2575 typedef struct IBDA_LNBInfoVtbl {
2576     BEGIN_INTERFACE
2577 
2578     /*** IUnknown methods ***/
2579     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2580         IBDA_LNBInfo* This,
2581         REFIID riid,
2582         void **ppvObject);
2583 
2584     ULONG (STDMETHODCALLTYPE *AddRef)(
2585         IBDA_LNBInfo* This);
2586 
2587     ULONG (STDMETHODCALLTYPE *Release)(
2588         IBDA_LNBInfo* This);
2589 
2590     /*** IBDA_LNBInfo methods ***/
2591     HRESULT (STDMETHODCALLTYPE *put_LocalOscilatorFrequencyLowBand)(
2592         IBDA_LNBInfo* This,
2593         ULONG ulLOFLow);
2594 
2595     HRESULT (STDMETHODCALLTYPE *get_LocalOscilatorFrequencyLowBand)(
2596         IBDA_LNBInfo* This,
2597         ULONG *pulLOFLow);
2598 
2599     HRESULT (STDMETHODCALLTYPE *put_LocalOscilatorFrequencyHighBand)(
2600         IBDA_LNBInfo* This,
2601         ULONG ulLOFHigh);
2602 
2603     HRESULT (STDMETHODCALLTYPE *get_LocalOscilatorFrequencyHighBand)(
2604         IBDA_LNBInfo* This,
2605         ULONG *pulLOFHigh);
2606 
2607     HRESULT (STDMETHODCALLTYPE *put_HighLowSwitchFrequency)(
2608         IBDA_LNBInfo* This,
2609         ULONG ulSwitchFrequency);
2610 
2611     HRESULT (STDMETHODCALLTYPE *get_HighLowSwitchFrequency)(
2612         IBDA_LNBInfo* This,
2613         ULONG *pulSwitchFrequency);
2614 
2615     END_INTERFACE
2616 } IBDA_LNBInfoVtbl;
2617 interface IBDA_LNBInfo {
2618     CONST_VTBL IBDA_LNBInfoVtbl* lpVtbl;
2619 };
2620 
2621 #ifdef COBJMACROS
2622 #ifndef WIDL_C_INLINE_WRAPPERS
2623 /*** IUnknown methods ***/
2624 #define IBDA_LNBInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2625 #define IBDA_LNBInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
2626 #define IBDA_LNBInfo_Release(This) (This)->lpVtbl->Release(This)
2627 /*** IBDA_LNBInfo methods ***/
2628 #define IBDA_LNBInfo_put_LocalOscilatorFrequencyLowBand(This,ulLOFLow) (This)->lpVtbl->put_LocalOscilatorFrequencyLowBand(This,ulLOFLow)
2629 #define IBDA_LNBInfo_get_LocalOscilatorFrequencyLowBand(This,pulLOFLow) (This)->lpVtbl->get_LocalOscilatorFrequencyLowBand(This,pulLOFLow)
2630 #define IBDA_LNBInfo_put_LocalOscilatorFrequencyHighBand(This,ulLOFHigh) (This)->lpVtbl->put_LocalOscilatorFrequencyHighBand(This,ulLOFHigh)
2631 #define IBDA_LNBInfo_get_LocalOscilatorFrequencyHighBand(This,pulLOFHigh) (This)->lpVtbl->get_LocalOscilatorFrequencyHighBand(This,pulLOFHigh)
2632 #define IBDA_LNBInfo_put_HighLowSwitchFrequency(This,ulSwitchFrequency) (This)->lpVtbl->put_HighLowSwitchFrequency(This,ulSwitchFrequency)
2633 #define IBDA_LNBInfo_get_HighLowSwitchFrequency(This,pulSwitchFrequency) (This)->lpVtbl->get_HighLowSwitchFrequency(This,pulSwitchFrequency)
2634 #else
2635 /*** IUnknown methods ***/
2636 static FORCEINLINE HRESULT IBDA_LNBInfo_QueryInterface(IBDA_LNBInfo* This,REFIID riid,void **ppvObject) {
2637     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2638 }
2639 static FORCEINLINE ULONG IBDA_LNBInfo_AddRef(IBDA_LNBInfo* This) {
2640     return This->lpVtbl->AddRef(This);
2641 }
2642 static FORCEINLINE ULONG IBDA_LNBInfo_Release(IBDA_LNBInfo* This) {
2643     return This->lpVtbl->Release(This);
2644 }
2645 /*** IBDA_LNBInfo methods ***/
2646 static FORCEINLINE HRESULT IBDA_LNBInfo_put_LocalOscilatorFrequencyLowBand(IBDA_LNBInfo* This,ULONG ulLOFLow) {
2647     return This->lpVtbl->put_LocalOscilatorFrequencyLowBand(This,ulLOFLow);
2648 }
2649 static FORCEINLINE HRESULT IBDA_LNBInfo_get_LocalOscilatorFrequencyLowBand(IBDA_LNBInfo* This,ULONG *pulLOFLow) {
2650     return This->lpVtbl->get_LocalOscilatorFrequencyLowBand(This,pulLOFLow);
2651 }
2652 static FORCEINLINE HRESULT IBDA_LNBInfo_put_LocalOscilatorFrequencyHighBand(IBDA_LNBInfo* This,ULONG ulLOFHigh) {
2653     return This->lpVtbl->put_LocalOscilatorFrequencyHighBand(This,ulLOFHigh);
2654 }
2655 static FORCEINLINE HRESULT IBDA_LNBInfo_get_LocalOscilatorFrequencyHighBand(IBDA_LNBInfo* This,ULONG *pulLOFHigh) {
2656     return This->lpVtbl->get_LocalOscilatorFrequencyHighBand(This,pulLOFHigh);
2657 }
2658 static FORCEINLINE HRESULT IBDA_LNBInfo_put_HighLowSwitchFrequency(IBDA_LNBInfo* This,ULONG ulSwitchFrequency) {
2659     return This->lpVtbl->put_HighLowSwitchFrequency(This,ulSwitchFrequency);
2660 }
2661 static FORCEINLINE HRESULT IBDA_LNBInfo_get_HighLowSwitchFrequency(IBDA_LNBInfo* This,ULONG *pulSwitchFrequency) {
2662     return This->lpVtbl->get_HighLowSwitchFrequency(This,pulSwitchFrequency);
2663 }
2664 #endif
2665 #endif
2666 
2667 #endif
2668 
2669 HRESULT STDMETHODCALLTYPE IBDA_LNBInfo_put_LocalOscilatorFrequencyLowBand_Proxy(
2670     IBDA_LNBInfo* This,
2671     ULONG ulLOFLow);
2672 void __RPC_STUB IBDA_LNBInfo_put_LocalOscilatorFrequencyLowBand_Stub(
2673     IRpcStubBuffer* This,
2674     IRpcChannelBuffer* pRpcChannelBuffer,
2675     PRPC_MESSAGE pRpcMessage,
2676     DWORD* pdwStubPhase);
2677 HRESULT STDMETHODCALLTYPE IBDA_LNBInfo_get_LocalOscilatorFrequencyLowBand_Proxy(
2678     IBDA_LNBInfo* This,
2679     ULONG *pulLOFLow);
2680 void __RPC_STUB IBDA_LNBInfo_get_LocalOscilatorFrequencyLowBand_Stub(
2681     IRpcStubBuffer* This,
2682     IRpcChannelBuffer* pRpcChannelBuffer,
2683     PRPC_MESSAGE pRpcMessage,
2684     DWORD* pdwStubPhase);
2685 HRESULT STDMETHODCALLTYPE IBDA_LNBInfo_put_LocalOscilatorFrequencyHighBand_Proxy(
2686     IBDA_LNBInfo* This,
2687     ULONG ulLOFHigh);
2688 void __RPC_STUB IBDA_LNBInfo_put_LocalOscilatorFrequencyHighBand_Stub(
2689     IRpcStubBuffer* This,
2690     IRpcChannelBuffer* pRpcChannelBuffer,
2691     PRPC_MESSAGE pRpcMessage,
2692     DWORD* pdwStubPhase);
2693 HRESULT STDMETHODCALLTYPE IBDA_LNBInfo_get_LocalOscilatorFrequencyHighBand_Proxy(
2694     IBDA_LNBInfo* This,
2695     ULONG *pulLOFHigh);
2696 void __RPC_STUB IBDA_LNBInfo_get_LocalOscilatorFrequencyHighBand_Stub(
2697     IRpcStubBuffer* This,
2698     IRpcChannelBuffer* pRpcChannelBuffer,
2699     PRPC_MESSAGE pRpcMessage,
2700     DWORD* pdwStubPhase);
2701 HRESULT STDMETHODCALLTYPE IBDA_LNBInfo_put_HighLowSwitchFrequency_Proxy(
2702     IBDA_LNBInfo* This,
2703     ULONG ulSwitchFrequency);
2704 void __RPC_STUB IBDA_LNBInfo_put_HighLowSwitchFrequency_Stub(
2705     IRpcStubBuffer* This,
2706     IRpcChannelBuffer* pRpcChannelBuffer,
2707     PRPC_MESSAGE pRpcMessage,
2708     DWORD* pdwStubPhase);
2709 HRESULT STDMETHODCALLTYPE IBDA_LNBInfo_get_HighLowSwitchFrequency_Proxy(
2710     IBDA_LNBInfo* This,
2711     ULONG *pulSwitchFrequency);
2712 void __RPC_STUB IBDA_LNBInfo_get_HighLowSwitchFrequency_Stub(
2713     IRpcStubBuffer* This,
2714     IRpcChannelBuffer* pRpcChannelBuffer,
2715     PRPC_MESSAGE pRpcMessage,
2716     DWORD* pdwStubPhase);
2717 
2718 #endif  /* __IBDA_LNBInfo_INTERFACE_DEFINED__ */
2719 
2720 /*****************************************************************************
2721  * IBDA_DiseqCommand interface
2722  */
2723 #ifndef __IBDA_DiseqCommand_INTERFACE_DEFINED__
2724 #define __IBDA_DiseqCommand_INTERFACE_DEFINED__
2725 
2726 DEFINE_GUID(IID_IBDA_DiseqCommand, 0xf84e2ab0, 0x3c6b, 0x45e3, 0xa0,0xfc, 0x86,0x69,0xd4,0xb8,0x1f,0x11);
2727 #if defined(__cplusplus) && !defined(CINTERFACE)
2728 MIDL_INTERFACE("f84e2ab0-3c6b-45e3-a0fc-8669d4b81f11")
2729 IBDA_DiseqCommand : public IUnknown
2730 {
2731     virtual HRESULT STDMETHODCALLTYPE put_EnableDiseqCommands(
2732         BOOLEAN bEnable) = 0;
2733 
2734     virtual HRESULT STDMETHODCALLTYPE put_DiseqLNBSource(
2735         ULONG ulLNBSource) = 0;
2736 
2737     virtual HRESULT STDMETHODCALLTYPE put_DiseqUseToneBurst(
2738         BOOLEAN bUseToneBurst) = 0;
2739 
2740     virtual HRESULT STDMETHODCALLTYPE put_DiseqRepeats(
2741         ULONG ulRepeats) = 0;
2742 
2743     virtual HRESULT STDMETHODCALLTYPE put_DiseqSendCommand(
2744         ULONG ulRequestId,
2745         ULONG ulcbCommandLen,
2746         BYTE *pbCommand) = 0;
2747 
2748     virtual HRESULT STDMETHODCALLTYPE get_DiseqResponse(
2749         ULONG ulRequestId,
2750         ULONG *pulcbResponseLen,
2751         BYTE pbResponse[]) = 0;
2752 
2753 };
2754 #ifdef __CRT_UUID_DECL
2755 __CRT_UUID_DECL(IBDA_DiseqCommand, 0xf84e2ab0, 0x3c6b, 0x45e3, 0xa0,0xfc, 0x86,0x69,0xd4,0xb8,0x1f,0x11)
2756 #endif
2757 #else
2758 typedef struct IBDA_DiseqCommandVtbl {
2759     BEGIN_INTERFACE
2760 
2761     /*** IUnknown methods ***/
2762     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2763         IBDA_DiseqCommand* This,
2764         REFIID riid,
2765         void **ppvObject);
2766 
2767     ULONG (STDMETHODCALLTYPE *AddRef)(
2768         IBDA_DiseqCommand* This);
2769 
2770     ULONG (STDMETHODCALLTYPE *Release)(
2771         IBDA_DiseqCommand* This);
2772 
2773     /*** IBDA_DiseqCommand methods ***/
2774     HRESULT (STDMETHODCALLTYPE *put_EnableDiseqCommands)(
2775         IBDA_DiseqCommand* This,
2776         BOOLEAN bEnable);
2777 
2778     HRESULT (STDMETHODCALLTYPE *put_DiseqLNBSource)(
2779         IBDA_DiseqCommand* This,
2780         ULONG ulLNBSource);
2781 
2782     HRESULT (STDMETHODCALLTYPE *put_DiseqUseToneBurst)(
2783         IBDA_DiseqCommand* This,
2784         BOOLEAN bUseToneBurst);
2785 
2786     HRESULT (STDMETHODCALLTYPE *put_DiseqRepeats)(
2787         IBDA_DiseqCommand* This,
2788         ULONG ulRepeats);
2789 
2790     HRESULT (STDMETHODCALLTYPE *put_DiseqSendCommand)(
2791         IBDA_DiseqCommand* This,
2792         ULONG ulRequestId,
2793         ULONG ulcbCommandLen,
2794         BYTE *pbCommand);
2795 
2796     HRESULT (STDMETHODCALLTYPE *get_DiseqResponse)(
2797         IBDA_DiseqCommand* This,
2798         ULONG ulRequestId,
2799         ULONG *pulcbResponseLen,
2800         BYTE pbResponse[]);
2801 
2802     END_INTERFACE
2803 } IBDA_DiseqCommandVtbl;
2804 interface IBDA_DiseqCommand {
2805     CONST_VTBL IBDA_DiseqCommandVtbl* lpVtbl;
2806 };
2807 
2808 #ifdef COBJMACROS
2809 #ifndef WIDL_C_INLINE_WRAPPERS
2810 /*** IUnknown methods ***/
2811 #define IBDA_DiseqCommand_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2812 #define IBDA_DiseqCommand_AddRef(This) (This)->lpVtbl->AddRef(This)
2813 #define IBDA_DiseqCommand_Release(This) (This)->lpVtbl->Release(This)
2814 /*** IBDA_DiseqCommand methods ***/
2815 #define IBDA_DiseqCommand_put_EnableDiseqCommands(This,bEnable) (This)->lpVtbl->put_EnableDiseqCommands(This,bEnable)
2816 #define IBDA_DiseqCommand_put_DiseqLNBSource(This,ulLNBSource) (This)->lpVtbl->put_DiseqLNBSource(This,ulLNBSource)
2817 #define IBDA_DiseqCommand_put_DiseqUseToneBurst(This,bUseToneBurst) (This)->lpVtbl->put_DiseqUseToneBurst(This,bUseToneBurst)
2818 #define IBDA_DiseqCommand_put_DiseqRepeats(This,ulRepeats) (This)->lpVtbl->put_DiseqRepeats(This,ulRepeats)
2819 #define IBDA_DiseqCommand_put_DiseqSendCommand(This,ulRequestId,ulcbCommandLen,pbCommand) (This)->lpVtbl->put_DiseqSendCommand(This,ulRequestId,ulcbCommandLen,pbCommand)
2820 #define IBDA_DiseqCommand_get_DiseqResponse(This,ulRequestId,pulcbResponseLen,pbResponse) (This)->lpVtbl->get_DiseqResponse(This,ulRequestId,pulcbResponseLen,pbResponse)
2821 #else
2822 /*** IUnknown methods ***/
2823 static FORCEINLINE HRESULT IBDA_DiseqCommand_QueryInterface(IBDA_DiseqCommand* This,REFIID riid,void **ppvObject) {
2824     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2825 }
2826 static FORCEINLINE ULONG IBDA_DiseqCommand_AddRef(IBDA_DiseqCommand* This) {
2827     return This->lpVtbl->AddRef(This);
2828 }
2829 static FORCEINLINE ULONG IBDA_DiseqCommand_Release(IBDA_DiseqCommand* This) {
2830     return This->lpVtbl->Release(This);
2831 }
2832 /*** IBDA_DiseqCommand methods ***/
2833 static FORCEINLINE HRESULT IBDA_DiseqCommand_put_EnableDiseqCommands(IBDA_DiseqCommand* This,BOOLEAN bEnable) {
2834     return This->lpVtbl->put_EnableDiseqCommands(This,bEnable);
2835 }
2836 static FORCEINLINE HRESULT IBDA_DiseqCommand_put_DiseqLNBSource(IBDA_DiseqCommand* This,ULONG ulLNBSource) {
2837     return This->lpVtbl->put_DiseqLNBSource(This,ulLNBSource);
2838 }
2839 static FORCEINLINE HRESULT IBDA_DiseqCommand_put_DiseqUseToneBurst(IBDA_DiseqCommand* This,BOOLEAN bUseToneBurst) {
2840     return This->lpVtbl->put_DiseqUseToneBurst(This,bUseToneBurst);
2841 }
2842 static FORCEINLINE HRESULT IBDA_DiseqCommand_put_DiseqRepeats(IBDA_DiseqCommand* This,ULONG ulRepeats) {
2843     return This->lpVtbl->put_DiseqRepeats(This,ulRepeats);
2844 }
2845 static FORCEINLINE HRESULT IBDA_DiseqCommand_put_DiseqSendCommand(IBDA_DiseqCommand* This,ULONG ulRequestId,ULONG ulcbCommandLen,BYTE *pbCommand) {
2846     return This->lpVtbl->put_DiseqSendCommand(This,ulRequestId,ulcbCommandLen,pbCommand);
2847 }
2848 static FORCEINLINE HRESULT IBDA_DiseqCommand_get_DiseqResponse(IBDA_DiseqCommand* This,ULONG ulRequestId,ULONG *pulcbResponseLen,BYTE pbResponse[]) {
2849     return This->lpVtbl->get_DiseqResponse(This,ulRequestId,pulcbResponseLen,pbResponse);
2850 }
2851 #endif
2852 #endif
2853 
2854 #endif
2855 
2856 HRESULT STDMETHODCALLTYPE IBDA_DiseqCommand_put_EnableDiseqCommands_Proxy(
2857     IBDA_DiseqCommand* This,
2858     BOOLEAN bEnable);
2859 void __RPC_STUB IBDA_DiseqCommand_put_EnableDiseqCommands_Stub(
2860     IRpcStubBuffer* This,
2861     IRpcChannelBuffer* pRpcChannelBuffer,
2862     PRPC_MESSAGE pRpcMessage,
2863     DWORD* pdwStubPhase);
2864 HRESULT STDMETHODCALLTYPE IBDA_DiseqCommand_put_DiseqLNBSource_Proxy(
2865     IBDA_DiseqCommand* This,
2866     ULONG ulLNBSource);
2867 void __RPC_STUB IBDA_DiseqCommand_put_DiseqLNBSource_Stub(
2868     IRpcStubBuffer* This,
2869     IRpcChannelBuffer* pRpcChannelBuffer,
2870     PRPC_MESSAGE pRpcMessage,
2871     DWORD* pdwStubPhase);
2872 HRESULT STDMETHODCALLTYPE IBDA_DiseqCommand_put_DiseqUseToneBurst_Proxy(
2873     IBDA_DiseqCommand* This,
2874     BOOLEAN bUseToneBurst);
2875 void __RPC_STUB IBDA_DiseqCommand_put_DiseqUseToneBurst_Stub(
2876     IRpcStubBuffer* This,
2877     IRpcChannelBuffer* pRpcChannelBuffer,
2878     PRPC_MESSAGE pRpcMessage,
2879     DWORD* pdwStubPhase);
2880 HRESULT STDMETHODCALLTYPE IBDA_DiseqCommand_put_DiseqRepeats_Proxy(
2881     IBDA_DiseqCommand* This,
2882     ULONG ulRepeats);
2883 void __RPC_STUB IBDA_DiseqCommand_put_DiseqRepeats_Stub(
2884     IRpcStubBuffer* This,
2885     IRpcChannelBuffer* pRpcChannelBuffer,
2886     PRPC_MESSAGE pRpcMessage,
2887     DWORD* pdwStubPhase);
2888 HRESULT STDMETHODCALLTYPE IBDA_DiseqCommand_put_DiseqSendCommand_Proxy(
2889     IBDA_DiseqCommand* This,
2890     ULONG ulRequestId,
2891     ULONG ulcbCommandLen,
2892     BYTE *pbCommand);
2893 void __RPC_STUB IBDA_DiseqCommand_put_DiseqSendCommand_Stub(
2894     IRpcStubBuffer* This,
2895     IRpcChannelBuffer* pRpcChannelBuffer,
2896     PRPC_MESSAGE pRpcMessage,
2897     DWORD* pdwStubPhase);
2898 HRESULT STDMETHODCALLTYPE IBDA_DiseqCommand_get_DiseqResponse_Proxy(
2899     IBDA_DiseqCommand* This,
2900     ULONG ulRequestId,
2901     ULONG *pulcbResponseLen,
2902     BYTE pbResponse[]);
2903 void __RPC_STUB IBDA_DiseqCommand_get_DiseqResponse_Stub(
2904     IRpcStubBuffer* This,
2905     IRpcChannelBuffer* pRpcChannelBuffer,
2906     PRPC_MESSAGE pRpcMessage,
2907     DWORD* pdwStubPhase);
2908 
2909 #endif  /* __IBDA_DiseqCommand_INTERFACE_DEFINED__ */
2910 
2911 /*****************************************************************************
2912  * IBDA_AutoDemodulate interface
2913  */
2914 #ifndef __IBDA_AutoDemodulate_INTERFACE_DEFINED__
2915 #define __IBDA_AutoDemodulate_INTERFACE_DEFINED__
2916 
2917 DEFINE_GUID(IID_IBDA_AutoDemodulate, 0xddf15b12, 0xbd25, 0x11d2, 0x9c,0xa0, 0x00,0xc0,0x4f,0x79,0x71,0xe0);
2918 #if defined(__cplusplus) && !defined(CINTERFACE)
2919 MIDL_INTERFACE("ddf15b12-bd25-11d2-9ca0-00c04f7971e0")
2920 IBDA_AutoDemodulate : public IUnknown
2921 {
2922     virtual HRESULT STDMETHODCALLTYPE put_AutoDemodulate(
2923         ) = 0;
2924 
2925 };
2926 #ifdef __CRT_UUID_DECL
2927 __CRT_UUID_DECL(IBDA_AutoDemodulate, 0xddf15b12, 0xbd25, 0x11d2, 0x9c,0xa0, 0x00,0xc0,0x4f,0x79,0x71,0xe0)
2928 #endif
2929 #else
2930 typedef struct IBDA_AutoDemodulateVtbl {
2931     BEGIN_INTERFACE
2932 
2933     /*** IUnknown methods ***/
2934     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2935         IBDA_AutoDemodulate* This,
2936         REFIID riid,
2937         void **ppvObject);
2938 
2939     ULONG (STDMETHODCALLTYPE *AddRef)(
2940         IBDA_AutoDemodulate* This);
2941 
2942     ULONG (STDMETHODCALLTYPE *Release)(
2943         IBDA_AutoDemodulate* This);
2944 
2945     /*** IBDA_AutoDemodulate methods ***/
2946     HRESULT (STDMETHODCALLTYPE *put_AutoDemodulate)(
2947         IBDA_AutoDemodulate* This);
2948 
2949     END_INTERFACE
2950 } IBDA_AutoDemodulateVtbl;
2951 interface IBDA_AutoDemodulate {
2952     CONST_VTBL IBDA_AutoDemodulateVtbl* lpVtbl;
2953 };
2954 
2955 #ifdef COBJMACROS
2956 #ifndef WIDL_C_INLINE_WRAPPERS
2957 /*** IUnknown methods ***/
2958 #define IBDA_AutoDemodulate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2959 #define IBDA_AutoDemodulate_AddRef(This) (This)->lpVtbl->AddRef(This)
2960 #define IBDA_AutoDemodulate_Release(This) (This)->lpVtbl->Release(This)
2961 /*** IBDA_AutoDemodulate methods ***/
2962 #define IBDA_AutoDemodulate_put_AutoDemodulate(This) (This)->lpVtbl->put_AutoDemodulate(This)
2963 #else
2964 /*** IUnknown methods ***/
2965 static FORCEINLINE HRESULT IBDA_AutoDemodulate_QueryInterface(IBDA_AutoDemodulate* This,REFIID riid,void **ppvObject) {
2966     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2967 }
2968 static FORCEINLINE ULONG IBDA_AutoDemodulate_AddRef(IBDA_AutoDemodulate* This) {
2969     return This->lpVtbl->AddRef(This);
2970 }
2971 static FORCEINLINE ULONG IBDA_AutoDemodulate_Release(IBDA_AutoDemodulate* This) {
2972     return This->lpVtbl->Release(This);
2973 }
2974 /*** IBDA_AutoDemodulate methods ***/
2975 static FORCEINLINE HRESULT IBDA_AutoDemodulate_put_AutoDemodulate(IBDA_AutoDemodulate* This) {
2976     return This->lpVtbl->put_AutoDemodulate(This);
2977 }
2978 #endif
2979 #endif
2980 
2981 #endif
2982 
2983 HRESULT STDMETHODCALLTYPE IBDA_AutoDemodulate_put_AutoDemodulate_Proxy(
2984     IBDA_AutoDemodulate* This);
2985 void __RPC_STUB IBDA_AutoDemodulate_put_AutoDemodulate_Stub(
2986     IRpcStubBuffer* This,
2987     IRpcChannelBuffer* pRpcChannelBuffer,
2988     PRPC_MESSAGE pRpcMessage,
2989     DWORD* pdwStubPhase);
2990 
2991 #endif  /* __IBDA_AutoDemodulate_INTERFACE_DEFINED__ */
2992 
2993 /*****************************************************************************
2994  * IBDA_AutoDemodulateEx interface
2995  */
2996 #ifndef __IBDA_AutoDemodulateEx_INTERFACE_DEFINED__
2997 #define __IBDA_AutoDemodulateEx_INTERFACE_DEFINED__
2998 
2999 DEFINE_GUID(IID_IBDA_AutoDemodulateEx, 0x34518d13, 0x1182, 0x48e6, 0xb2,0x8f, 0xb2,0x49,0x87,0x78,0x73,0x26);
3000 #if defined(__cplusplus) && !defined(CINTERFACE)
3001 MIDL_INTERFACE("34518d13-1182-48e6-b28f-b24987787326")
3002 IBDA_AutoDemodulateEx : public IBDA_AutoDemodulate
3003 {
3004     virtual HRESULT STDMETHODCALLTYPE get_SupportedDeviceNodeTypes(
3005         ULONG ulcDeviceNodeTypesMax,
3006         ULONG *pulcDeviceNodeTypes,
3007         GUID *pguidDeviceNodeTypes) = 0;
3008 
3009     virtual HRESULT STDMETHODCALLTYPE get_SupportedVideoFormats(
3010         ULONG *pulAMTunerModeType,
3011         ULONG *pulAnalogVideoStandard) = 0;
3012 
3013     virtual HRESULT STDMETHODCALLTYPE get_AuxInputCount(
3014         ULONG *pulCompositeCount,
3015         ULONG *pulSvideoCount) = 0;
3016 
3017 };
3018 #ifdef __CRT_UUID_DECL
3019 __CRT_UUID_DECL(IBDA_AutoDemodulateEx, 0x34518d13, 0x1182, 0x48e6, 0xb2,0x8f, 0xb2,0x49,0x87,0x78,0x73,0x26)
3020 #endif
3021 #else
3022 typedef struct IBDA_AutoDemodulateExVtbl {
3023     BEGIN_INTERFACE
3024 
3025     /*** IUnknown methods ***/
3026     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3027         IBDA_AutoDemodulateEx* This,
3028         REFIID riid,
3029         void **ppvObject);
3030 
3031     ULONG (STDMETHODCALLTYPE *AddRef)(
3032         IBDA_AutoDemodulateEx* This);
3033 
3034     ULONG (STDMETHODCALLTYPE *Release)(
3035         IBDA_AutoDemodulateEx* This);
3036 
3037     /*** IBDA_AutoDemodulate methods ***/
3038     HRESULT (STDMETHODCALLTYPE *put_AutoDemodulate)(
3039         IBDA_AutoDemodulateEx* This);
3040 
3041     /*** IBDA_AutoDemodulateEx methods ***/
3042     HRESULT (STDMETHODCALLTYPE *get_SupportedDeviceNodeTypes)(
3043         IBDA_AutoDemodulateEx* This,
3044         ULONG ulcDeviceNodeTypesMax,
3045         ULONG *pulcDeviceNodeTypes,
3046         GUID *pguidDeviceNodeTypes);
3047 
3048     HRESULT (STDMETHODCALLTYPE *get_SupportedVideoFormats)(
3049         IBDA_AutoDemodulateEx* This,
3050         ULONG *pulAMTunerModeType,
3051         ULONG *pulAnalogVideoStandard);
3052 
3053     HRESULT (STDMETHODCALLTYPE *get_AuxInputCount)(
3054         IBDA_AutoDemodulateEx* This,
3055         ULONG *pulCompositeCount,
3056         ULONG *pulSvideoCount);
3057 
3058     END_INTERFACE
3059 } IBDA_AutoDemodulateExVtbl;
3060 interface IBDA_AutoDemodulateEx {
3061     CONST_VTBL IBDA_AutoDemodulateExVtbl* lpVtbl;
3062 };
3063 
3064 #ifdef COBJMACROS
3065 #ifndef WIDL_C_INLINE_WRAPPERS
3066 /*** IUnknown methods ***/
3067 #define IBDA_AutoDemodulateEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3068 #define IBDA_AutoDemodulateEx_AddRef(This) (This)->lpVtbl->AddRef(This)
3069 #define IBDA_AutoDemodulateEx_Release(This) (This)->lpVtbl->Release(This)
3070 /*** IBDA_AutoDemodulate methods ***/
3071 #define IBDA_AutoDemodulateEx_put_AutoDemodulate(This) (This)->lpVtbl->put_AutoDemodulate(This)
3072 /*** IBDA_AutoDemodulateEx methods ***/
3073 #define IBDA_AutoDemodulateEx_get_SupportedDeviceNodeTypes(This,ulcDeviceNodeTypesMax,pulcDeviceNodeTypes,pguidDeviceNodeTypes) (This)->lpVtbl->get_SupportedDeviceNodeTypes(This,ulcDeviceNodeTypesMax,pulcDeviceNodeTypes,pguidDeviceNodeTypes)
3074 #define IBDA_AutoDemodulateEx_get_SupportedVideoFormats(This,pulAMTunerModeType,pulAnalogVideoStandard) (This)->lpVtbl->get_SupportedVideoFormats(This,pulAMTunerModeType,pulAnalogVideoStandard)
3075 #define IBDA_AutoDemodulateEx_get_AuxInputCount(This,pulCompositeCount,pulSvideoCount) (This)->lpVtbl->get_AuxInputCount(This,pulCompositeCount,pulSvideoCount)
3076 #else
3077 /*** IUnknown methods ***/
3078 static FORCEINLINE HRESULT IBDA_AutoDemodulateEx_QueryInterface(IBDA_AutoDemodulateEx* This,REFIID riid,void **ppvObject) {
3079     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3080 }
3081 static FORCEINLINE ULONG IBDA_AutoDemodulateEx_AddRef(IBDA_AutoDemodulateEx* This) {
3082     return This->lpVtbl->AddRef(This);
3083 }
3084 static FORCEINLINE ULONG IBDA_AutoDemodulateEx_Release(IBDA_AutoDemodulateEx* This) {
3085     return This->lpVtbl->Release(This);
3086 }
3087 /*** IBDA_AutoDemodulate methods ***/
3088 static FORCEINLINE HRESULT IBDA_AutoDemodulateEx_put_AutoDemodulate(IBDA_AutoDemodulateEx* This) {
3089     return This->lpVtbl->put_AutoDemodulate(This);
3090 }
3091 /*** IBDA_AutoDemodulateEx methods ***/
3092 static FORCEINLINE HRESULT IBDA_AutoDemodulateEx_get_SupportedDeviceNodeTypes(IBDA_AutoDemodulateEx* This,ULONG ulcDeviceNodeTypesMax,ULONG *pulcDeviceNodeTypes,GUID *pguidDeviceNodeTypes) {
3093     return This->lpVtbl->get_SupportedDeviceNodeTypes(This,ulcDeviceNodeTypesMax,pulcDeviceNodeTypes,pguidDeviceNodeTypes);
3094 }
3095 static FORCEINLINE HRESULT IBDA_AutoDemodulateEx_get_SupportedVideoFormats(IBDA_AutoDemodulateEx* This,ULONG *pulAMTunerModeType,ULONG *pulAnalogVideoStandard) {
3096     return This->lpVtbl->get_SupportedVideoFormats(This,pulAMTunerModeType,pulAnalogVideoStandard);
3097 }
3098 static FORCEINLINE HRESULT IBDA_AutoDemodulateEx_get_AuxInputCount(IBDA_AutoDemodulateEx* This,ULONG *pulCompositeCount,ULONG *pulSvideoCount) {
3099     return This->lpVtbl->get_AuxInputCount(This,pulCompositeCount,pulSvideoCount);
3100 }
3101 #endif
3102 #endif
3103 
3104 #endif
3105 
3106 HRESULT STDMETHODCALLTYPE IBDA_AutoDemodulateEx_get_SupportedDeviceNodeTypes_Proxy(
3107     IBDA_AutoDemodulateEx* This,
3108     ULONG ulcDeviceNodeTypesMax,
3109     ULONG *pulcDeviceNodeTypes,
3110     GUID *pguidDeviceNodeTypes);
3111 void __RPC_STUB IBDA_AutoDemodulateEx_get_SupportedDeviceNodeTypes_Stub(
3112     IRpcStubBuffer* This,
3113     IRpcChannelBuffer* pRpcChannelBuffer,
3114     PRPC_MESSAGE pRpcMessage,
3115     DWORD* pdwStubPhase);
3116 HRESULT STDMETHODCALLTYPE IBDA_AutoDemodulateEx_get_SupportedVideoFormats_Proxy(
3117     IBDA_AutoDemodulateEx* This,
3118     ULONG *pulAMTunerModeType,
3119     ULONG *pulAnalogVideoStandard);
3120 void __RPC_STUB IBDA_AutoDemodulateEx_get_SupportedVideoFormats_Stub(
3121     IRpcStubBuffer* This,
3122     IRpcChannelBuffer* pRpcChannelBuffer,
3123     PRPC_MESSAGE pRpcMessage,
3124     DWORD* pdwStubPhase);
3125 HRESULT STDMETHODCALLTYPE IBDA_AutoDemodulateEx_get_AuxInputCount_Proxy(
3126     IBDA_AutoDemodulateEx* This,
3127     ULONG *pulCompositeCount,
3128     ULONG *pulSvideoCount);
3129 void __RPC_STUB IBDA_AutoDemodulateEx_get_AuxInputCount_Stub(
3130     IRpcStubBuffer* This,
3131     IRpcChannelBuffer* pRpcChannelBuffer,
3132     PRPC_MESSAGE pRpcMessage,
3133     DWORD* pdwStubPhase);
3134 
3135 #endif  /* __IBDA_AutoDemodulateEx_INTERFACE_DEFINED__ */
3136 
3137 /*****************************************************************************
3138  * IBDA_DigitalDemodulator interface
3139  */
3140 #ifndef __IBDA_DigitalDemodulator_INTERFACE_DEFINED__
3141 #define __IBDA_DigitalDemodulator_INTERFACE_DEFINED__
3142 
3143 DEFINE_GUID(IID_IBDA_DigitalDemodulator, 0xef30f379, 0x985b, 0x4d10, 0xb6,0x40, 0xa7,0x9d,0x5e,0x04,0xe1,0xe0);
3144 #if defined(__cplusplus) && !defined(CINTERFACE)
3145 MIDL_INTERFACE("ef30f379-985b-4d10-b640-a79d5e04e1e0")
3146 IBDA_DigitalDemodulator : public IUnknown
3147 {
3148     virtual HRESULT STDMETHODCALLTYPE put_ModulationType(
3149         ModulationType *pModulationType) = 0;
3150 
3151     virtual HRESULT STDMETHODCALLTYPE get_ModulationType(
3152         ModulationType *pModulationType) = 0;
3153 
3154     virtual HRESULT STDMETHODCALLTYPE put_InnerFECMethod(
3155         FECMethod *pFECMethod) = 0;
3156 
3157     virtual HRESULT STDMETHODCALLTYPE get_InnerFECMethod(
3158         FECMethod *pFECMethod) = 0;
3159 
3160     virtual HRESULT STDMETHODCALLTYPE put_InnerFECRate(
3161         BinaryConvolutionCodeRate *pFECRate) = 0;
3162 
3163     virtual HRESULT STDMETHODCALLTYPE get_InnerFECRate(
3164         BinaryConvolutionCodeRate *pFECRate) = 0;
3165 
3166     virtual HRESULT STDMETHODCALLTYPE put_OuterFECMethod(
3167         FECMethod *pFECMethod) = 0;
3168 
3169     virtual HRESULT STDMETHODCALLTYPE get_OuterFECMethod(
3170         FECMethod *pFECMethod) = 0;
3171 
3172     virtual HRESULT STDMETHODCALLTYPE put_OuterFECRate(
3173         BinaryConvolutionCodeRate *pFECRate) = 0;
3174 
3175     virtual HRESULT STDMETHODCALLTYPE get_OuterFECRate(
3176         BinaryConvolutionCodeRate *pFECRate) = 0;
3177 
3178     virtual HRESULT STDMETHODCALLTYPE put_SymbolRate(
3179         ULONG *pSymbolRate) = 0;
3180 
3181     virtual HRESULT STDMETHODCALLTYPE get_SymbolRate(
3182         ULONG *pSymbolRate) = 0;
3183 
3184     virtual HRESULT STDMETHODCALLTYPE put_SpectralInversion(
3185         SpectralInversion *pSpectralInversion) = 0;
3186 
3187     virtual HRESULT STDMETHODCALLTYPE get_SpectralInversion(
3188         SpectralInversion *pSpectralInversion) = 0;
3189 
3190 };
3191 #ifdef __CRT_UUID_DECL
3192 __CRT_UUID_DECL(IBDA_DigitalDemodulator, 0xef30f379, 0x985b, 0x4d10, 0xb6,0x40, 0xa7,0x9d,0x5e,0x04,0xe1,0xe0)
3193 #endif
3194 #else
3195 typedef struct IBDA_DigitalDemodulatorVtbl {
3196     BEGIN_INTERFACE
3197 
3198     /*** IUnknown methods ***/
3199     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3200         IBDA_DigitalDemodulator* This,
3201         REFIID riid,
3202         void **ppvObject);
3203 
3204     ULONG (STDMETHODCALLTYPE *AddRef)(
3205         IBDA_DigitalDemodulator* This);
3206 
3207     ULONG (STDMETHODCALLTYPE *Release)(
3208         IBDA_DigitalDemodulator* This);
3209 
3210     /*** IBDA_DigitalDemodulator methods ***/
3211     HRESULT (STDMETHODCALLTYPE *put_ModulationType)(
3212         IBDA_DigitalDemodulator* This,
3213         ModulationType *pModulationType);
3214 
3215     HRESULT (STDMETHODCALLTYPE *get_ModulationType)(
3216         IBDA_DigitalDemodulator* This,
3217         ModulationType *pModulationType);
3218 
3219     HRESULT (STDMETHODCALLTYPE *put_InnerFECMethod)(
3220         IBDA_DigitalDemodulator* This,
3221         FECMethod *pFECMethod);
3222 
3223     HRESULT (STDMETHODCALLTYPE *get_InnerFECMethod)(
3224         IBDA_DigitalDemodulator* This,
3225         FECMethod *pFECMethod);
3226 
3227     HRESULT (STDMETHODCALLTYPE *put_InnerFECRate)(
3228         IBDA_DigitalDemodulator* This,
3229         BinaryConvolutionCodeRate *pFECRate);
3230 
3231     HRESULT (STDMETHODCALLTYPE *get_InnerFECRate)(
3232         IBDA_DigitalDemodulator* This,
3233         BinaryConvolutionCodeRate *pFECRate);
3234 
3235     HRESULT (STDMETHODCALLTYPE *put_OuterFECMethod)(
3236         IBDA_DigitalDemodulator* This,
3237         FECMethod *pFECMethod);
3238 
3239     HRESULT (STDMETHODCALLTYPE *get_OuterFECMethod)(
3240         IBDA_DigitalDemodulator* This,
3241         FECMethod *pFECMethod);
3242 
3243     HRESULT (STDMETHODCALLTYPE *put_OuterFECRate)(
3244         IBDA_DigitalDemodulator* This,
3245         BinaryConvolutionCodeRate *pFECRate);
3246 
3247     HRESULT (STDMETHODCALLTYPE *get_OuterFECRate)(
3248         IBDA_DigitalDemodulator* This,
3249         BinaryConvolutionCodeRate *pFECRate);
3250 
3251     HRESULT (STDMETHODCALLTYPE *put_SymbolRate)(
3252         IBDA_DigitalDemodulator* This,
3253         ULONG *pSymbolRate);
3254 
3255     HRESULT (STDMETHODCALLTYPE *get_SymbolRate)(
3256         IBDA_DigitalDemodulator* This,
3257         ULONG *pSymbolRate);
3258 
3259     HRESULT (STDMETHODCALLTYPE *put_SpectralInversion)(
3260         IBDA_DigitalDemodulator* This,
3261         SpectralInversion *pSpectralInversion);
3262 
3263     HRESULT (STDMETHODCALLTYPE *get_SpectralInversion)(
3264         IBDA_DigitalDemodulator* This,
3265         SpectralInversion *pSpectralInversion);
3266 
3267     END_INTERFACE
3268 } IBDA_DigitalDemodulatorVtbl;
3269 interface IBDA_DigitalDemodulator {
3270     CONST_VTBL IBDA_DigitalDemodulatorVtbl* lpVtbl;
3271 };
3272 
3273 #ifdef COBJMACROS
3274 #ifndef WIDL_C_INLINE_WRAPPERS
3275 /*** IUnknown methods ***/
3276 #define IBDA_DigitalDemodulator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3277 #define IBDA_DigitalDemodulator_AddRef(This) (This)->lpVtbl->AddRef(This)
3278 #define IBDA_DigitalDemodulator_Release(This) (This)->lpVtbl->Release(This)
3279 /*** IBDA_DigitalDemodulator methods ***/
3280 #define IBDA_DigitalDemodulator_put_ModulationType(This,pModulationType) (This)->lpVtbl->put_ModulationType(This,pModulationType)
3281 #define IBDA_DigitalDemodulator_get_ModulationType(This,pModulationType) (This)->lpVtbl->get_ModulationType(This,pModulationType)
3282 #define IBDA_DigitalDemodulator_put_InnerFECMethod(This,pFECMethod) (This)->lpVtbl->put_InnerFECMethod(This,pFECMethod)
3283 #define IBDA_DigitalDemodulator_get_InnerFECMethod(This,pFECMethod) (This)->lpVtbl->get_InnerFECMethod(This,pFECMethod)
3284 #define IBDA_DigitalDemodulator_put_InnerFECRate(This,pFECRate) (This)->lpVtbl->put_InnerFECRate(This,pFECRate)
3285 #define IBDA_DigitalDemodulator_get_InnerFECRate(This,pFECRate) (This)->lpVtbl->get_InnerFECRate(This,pFECRate)
3286 #define IBDA_DigitalDemodulator_put_OuterFECMethod(This,pFECMethod) (This)->lpVtbl->put_OuterFECMethod(This,pFECMethod)
3287 #define IBDA_DigitalDemodulator_get_OuterFECMethod(This,pFECMethod) (This)->lpVtbl->get_OuterFECMethod(This,pFECMethod)
3288 #define IBDA_DigitalDemodulator_put_OuterFECRate(This,pFECRate) (This)->lpVtbl->put_OuterFECRate(This,pFECRate)
3289 #define IBDA_DigitalDemodulator_get_OuterFECRate(This,pFECRate) (This)->lpVtbl->get_OuterFECRate(This,pFECRate)
3290 #define IBDA_DigitalDemodulator_put_SymbolRate(This,pSymbolRate) (This)->lpVtbl->put_SymbolRate(This,pSymbolRate)
3291 #define IBDA_DigitalDemodulator_get_SymbolRate(This,pSymbolRate) (This)->lpVtbl->get_SymbolRate(This,pSymbolRate)
3292 #define IBDA_DigitalDemodulator_put_SpectralInversion(This,pSpectralInversion) (This)->lpVtbl->put_SpectralInversion(This,pSpectralInversion)
3293 #define IBDA_DigitalDemodulator_get_SpectralInversion(This,pSpectralInversion) (This)->lpVtbl->get_SpectralInversion(This,pSpectralInversion)
3294 #else
3295 /*** IUnknown methods ***/
3296 static FORCEINLINE HRESULT IBDA_DigitalDemodulator_QueryInterface(IBDA_DigitalDemodulator* This,REFIID riid,void **ppvObject) {
3297     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3298 }
3299 static FORCEINLINE ULONG IBDA_DigitalDemodulator_AddRef(IBDA_DigitalDemodulator* This) {
3300     return This->lpVtbl->AddRef(This);
3301 }
3302 static FORCEINLINE ULONG IBDA_DigitalDemodulator_Release(IBDA_DigitalDemodulator* This) {
3303     return This->lpVtbl->Release(This);
3304 }
3305 /*** IBDA_DigitalDemodulator methods ***/
3306 static FORCEINLINE HRESULT IBDA_DigitalDemodulator_put_ModulationType(IBDA_DigitalDemodulator* This,ModulationType *pModulationType) {
3307     return This->lpVtbl->put_ModulationType(This,pModulationType);
3308 }
3309 static FORCEINLINE HRESULT IBDA_DigitalDemodulator_get_ModulationType(IBDA_DigitalDemodulator* This,ModulationType *pModulationType) {
3310     return This->lpVtbl->get_ModulationType(This,pModulationType);
3311 }
3312 static FORCEINLINE HRESULT IBDA_DigitalDemodulator_put_InnerFECMethod(IBDA_DigitalDemodulator* This,FECMethod *pFECMethod) {
3313     return This->lpVtbl->put_InnerFECMethod(This,pFECMethod);
3314 }
3315 static FORCEINLINE HRESULT IBDA_DigitalDemodulator_get_InnerFECMethod(IBDA_DigitalDemodulator* This,FECMethod *pFECMethod) {
3316     return This->lpVtbl->get_InnerFECMethod(This,pFECMethod);
3317 }
3318 static FORCEINLINE HRESULT IBDA_DigitalDemodulator_put_InnerFECRate(IBDA_DigitalDemodulator* This,BinaryConvolutionCodeRate *pFECRate) {
3319     return This->lpVtbl->put_InnerFECRate(This,pFECRate);
3320 }
3321 static FORCEINLINE HRESULT IBDA_DigitalDemodulator_get_InnerFECRate(IBDA_DigitalDemodulator* This,BinaryConvolutionCodeRate *pFECRate) {
3322     return This->lpVtbl->get_InnerFECRate(This,pFECRate);
3323 }
3324 static FORCEINLINE HRESULT IBDA_DigitalDemodulator_put_OuterFECMethod(IBDA_DigitalDemodulator* This,FECMethod *pFECMethod) {
3325     return This->lpVtbl->put_OuterFECMethod(This,pFECMethod);
3326 }
3327 static FORCEINLINE HRESULT IBDA_DigitalDemodulator_get_OuterFECMethod(IBDA_DigitalDemodulator* This,FECMethod *pFECMethod) {
3328     return This->lpVtbl->get_OuterFECMethod(This,pFECMethod);
3329 }
3330 static FORCEINLINE HRESULT IBDA_DigitalDemodulator_put_OuterFECRate(IBDA_DigitalDemodulator* This,BinaryConvolutionCodeRate *pFECRate) {
3331     return This->lpVtbl->put_OuterFECRate(This,pFECRate);
3332 }
3333 static FORCEINLINE HRESULT IBDA_DigitalDemodulator_get_OuterFECRate(IBDA_DigitalDemodulator* This,BinaryConvolutionCodeRate *pFECRate) {
3334     return This->lpVtbl->get_OuterFECRate(This,pFECRate);
3335 }
3336 static FORCEINLINE HRESULT IBDA_DigitalDemodulator_put_SymbolRate(IBDA_DigitalDemodulator* This,ULONG *pSymbolRate) {
3337     return This->lpVtbl->put_SymbolRate(This,pSymbolRate);
3338 }
3339 static FORCEINLINE HRESULT IBDA_DigitalDemodulator_get_SymbolRate(IBDA_DigitalDemodulator* This,ULONG *pSymbolRate) {
3340     return This->lpVtbl->get_SymbolRate(This,pSymbolRate);
3341 }
3342 static FORCEINLINE HRESULT IBDA_DigitalDemodulator_put_SpectralInversion(IBDA_DigitalDemodulator* This,SpectralInversion *pSpectralInversion) {
3343     return This->lpVtbl->put_SpectralInversion(This,pSpectralInversion);
3344 }
3345 static FORCEINLINE HRESULT IBDA_DigitalDemodulator_get_SpectralInversion(IBDA_DigitalDemodulator* This,SpectralInversion *pSpectralInversion) {
3346     return This->lpVtbl->get_SpectralInversion(This,pSpectralInversion);
3347 }
3348 #endif
3349 #endif
3350 
3351 #endif
3352 
3353 HRESULT STDMETHODCALLTYPE IBDA_DigitalDemodulator_put_ModulationType_Proxy(
3354     IBDA_DigitalDemodulator* This,
3355     ModulationType *pModulationType);
3356 void __RPC_STUB IBDA_DigitalDemodulator_put_ModulationType_Stub(
3357     IRpcStubBuffer* This,
3358     IRpcChannelBuffer* pRpcChannelBuffer,
3359     PRPC_MESSAGE pRpcMessage,
3360     DWORD* pdwStubPhase);
3361 HRESULT STDMETHODCALLTYPE IBDA_DigitalDemodulator_get_ModulationType_Proxy(
3362     IBDA_DigitalDemodulator* This,
3363     ModulationType *pModulationType);
3364 void __RPC_STUB IBDA_DigitalDemodulator_get_ModulationType_Stub(
3365     IRpcStubBuffer* This,
3366     IRpcChannelBuffer* pRpcChannelBuffer,
3367     PRPC_MESSAGE pRpcMessage,
3368     DWORD* pdwStubPhase);
3369 HRESULT STDMETHODCALLTYPE IBDA_DigitalDemodulator_put_InnerFECMethod_Proxy(
3370     IBDA_DigitalDemodulator* This,
3371     FECMethod *pFECMethod);
3372 void __RPC_STUB IBDA_DigitalDemodulator_put_InnerFECMethod_Stub(
3373     IRpcStubBuffer* This,
3374     IRpcChannelBuffer* pRpcChannelBuffer,
3375     PRPC_MESSAGE pRpcMessage,
3376     DWORD* pdwStubPhase);
3377 HRESULT STDMETHODCALLTYPE IBDA_DigitalDemodulator_get_InnerFECMethod_Proxy(
3378     IBDA_DigitalDemodulator* This,
3379     FECMethod *pFECMethod);
3380 void __RPC_STUB IBDA_DigitalDemodulator_get_InnerFECMethod_Stub(
3381     IRpcStubBuffer* This,
3382     IRpcChannelBuffer* pRpcChannelBuffer,
3383     PRPC_MESSAGE pRpcMessage,
3384     DWORD* pdwStubPhase);
3385 HRESULT STDMETHODCALLTYPE IBDA_DigitalDemodulator_put_InnerFECRate_Proxy(
3386     IBDA_DigitalDemodulator* This,
3387     BinaryConvolutionCodeRate *pFECRate);
3388 void __RPC_STUB IBDA_DigitalDemodulator_put_InnerFECRate_Stub(
3389     IRpcStubBuffer* This,
3390     IRpcChannelBuffer* pRpcChannelBuffer,
3391     PRPC_MESSAGE pRpcMessage,
3392     DWORD* pdwStubPhase);
3393 HRESULT STDMETHODCALLTYPE IBDA_DigitalDemodulator_get_InnerFECRate_Proxy(
3394     IBDA_DigitalDemodulator* This,
3395     BinaryConvolutionCodeRate *pFECRate);
3396 void __RPC_STUB IBDA_DigitalDemodulator_get_InnerFECRate_Stub(
3397     IRpcStubBuffer* This,
3398     IRpcChannelBuffer* pRpcChannelBuffer,
3399     PRPC_MESSAGE pRpcMessage,
3400     DWORD* pdwStubPhase);
3401 HRESULT STDMETHODCALLTYPE IBDA_DigitalDemodulator_put_OuterFECMethod_Proxy(
3402     IBDA_DigitalDemodulator* This,
3403     FECMethod *pFECMethod);
3404 void __RPC_STUB IBDA_DigitalDemodulator_put_OuterFECMethod_Stub(
3405     IRpcStubBuffer* This,
3406     IRpcChannelBuffer* pRpcChannelBuffer,
3407     PRPC_MESSAGE pRpcMessage,
3408     DWORD* pdwStubPhase);
3409 HRESULT STDMETHODCALLTYPE IBDA_DigitalDemodulator_get_OuterFECMethod_Proxy(
3410     IBDA_DigitalDemodulator* This,
3411     FECMethod *pFECMethod);
3412 void __RPC_STUB IBDA_DigitalDemodulator_get_OuterFECMethod_Stub(
3413     IRpcStubBuffer* This,
3414     IRpcChannelBuffer* pRpcChannelBuffer,
3415     PRPC_MESSAGE pRpcMessage,
3416     DWORD* pdwStubPhase);
3417 HRESULT STDMETHODCALLTYPE IBDA_DigitalDemodulator_put_OuterFECRate_Proxy(
3418     IBDA_DigitalDemodulator* This,
3419     BinaryConvolutionCodeRate *pFECRate);
3420 void __RPC_STUB IBDA_DigitalDemodulator_put_OuterFECRate_Stub(
3421     IRpcStubBuffer* This,
3422     IRpcChannelBuffer* pRpcChannelBuffer,
3423     PRPC_MESSAGE pRpcMessage,
3424     DWORD* pdwStubPhase);
3425 HRESULT STDMETHODCALLTYPE IBDA_DigitalDemodulator_get_OuterFECRate_Proxy(
3426     IBDA_DigitalDemodulator* This,
3427     BinaryConvolutionCodeRate *pFECRate);
3428 void __RPC_STUB IBDA_DigitalDemodulator_get_OuterFECRate_Stub(
3429     IRpcStubBuffer* This,
3430     IRpcChannelBuffer* pRpcChannelBuffer,
3431     PRPC_MESSAGE pRpcMessage,
3432     DWORD* pdwStubPhase);
3433 HRESULT STDMETHODCALLTYPE IBDA_DigitalDemodulator_put_SymbolRate_Proxy(
3434     IBDA_DigitalDemodulator* This,
3435     ULONG *pSymbolRate);
3436 void __RPC_STUB IBDA_DigitalDemodulator_put_SymbolRate_Stub(
3437     IRpcStubBuffer* This,
3438     IRpcChannelBuffer* pRpcChannelBuffer,
3439     PRPC_MESSAGE pRpcMessage,
3440     DWORD* pdwStubPhase);
3441 HRESULT STDMETHODCALLTYPE IBDA_DigitalDemodulator_get_SymbolRate_Proxy(
3442     IBDA_DigitalDemodulator* This,
3443     ULONG *pSymbolRate);
3444 void __RPC_STUB IBDA_DigitalDemodulator_get_SymbolRate_Stub(
3445     IRpcStubBuffer* This,
3446     IRpcChannelBuffer* pRpcChannelBuffer,
3447     PRPC_MESSAGE pRpcMessage,
3448     DWORD* pdwStubPhase);
3449 HRESULT STDMETHODCALLTYPE IBDA_DigitalDemodulator_put_SpectralInversion_Proxy(
3450     IBDA_DigitalDemodulator* This,
3451     SpectralInversion *pSpectralInversion);
3452 void __RPC_STUB IBDA_DigitalDemodulator_put_SpectralInversion_Stub(
3453     IRpcStubBuffer* This,
3454     IRpcChannelBuffer* pRpcChannelBuffer,
3455     PRPC_MESSAGE pRpcMessage,
3456     DWORD* pdwStubPhase);
3457 HRESULT STDMETHODCALLTYPE IBDA_DigitalDemodulator_get_SpectralInversion_Proxy(
3458     IBDA_DigitalDemodulator* This,
3459     SpectralInversion *pSpectralInversion);
3460 void __RPC_STUB IBDA_DigitalDemodulator_get_SpectralInversion_Stub(
3461     IRpcStubBuffer* This,
3462     IRpcChannelBuffer* pRpcChannelBuffer,
3463     PRPC_MESSAGE pRpcMessage,
3464     DWORD* pdwStubPhase);
3465 
3466 #endif  /* __IBDA_DigitalDemodulator_INTERFACE_DEFINED__ */
3467 
3468 /*****************************************************************************
3469  * IBDA_DigitalDemodulator2 interface
3470  */
3471 #ifndef __IBDA_DigitalDemodulator2_INTERFACE_DEFINED__
3472 #define __IBDA_DigitalDemodulator2_INTERFACE_DEFINED__
3473 
3474 DEFINE_GUID(IID_IBDA_DigitalDemodulator2, 0x525ed3ee, 0x5cf3, 0x4e1e, 0x9a,0x06, 0x53,0x68,0xa8,0x4f,0x9a,0x6e);
3475 #if defined(__cplusplus) && !defined(CINTERFACE)
3476 MIDL_INTERFACE("525ed3ee-5cf3-4e1e-9a06-5368a84f9a6e")
3477 IBDA_DigitalDemodulator2 : public IBDA_DigitalDemodulator
3478 {
3479     virtual HRESULT STDMETHODCALLTYPE put_GuardInterval(
3480         GuardInterval *pGuardInterval) = 0;
3481 
3482     virtual HRESULT STDMETHODCALLTYPE get_GuardInterval(
3483         GuardInterval *pGuardInterval) = 0;
3484 
3485     virtual HRESULT STDMETHODCALLTYPE put_TransmissionMode(
3486         TransmissionMode *pTransmissionMode) = 0;
3487 
3488     virtual HRESULT STDMETHODCALLTYPE get_TransmissionMode(
3489         TransmissionMode *pTransmissionMode) = 0;
3490 
3491     virtual HRESULT STDMETHODCALLTYPE put_RollOff(
3492         RollOff *pRollOff) = 0;
3493 
3494     virtual HRESULT STDMETHODCALLTYPE get_RollOff(
3495         RollOff *pRollOff) = 0;
3496 
3497     virtual HRESULT STDMETHODCALLTYPE put_Pilot(
3498         Pilot *pPilot) = 0;
3499 
3500     virtual HRESULT STDMETHODCALLTYPE get_Pilot(
3501         Pilot *pPilot) = 0;
3502 
3503 };
3504 #ifdef __CRT_UUID_DECL
3505 __CRT_UUID_DECL(IBDA_DigitalDemodulator2, 0x525ed3ee, 0x5cf3, 0x4e1e, 0x9a,0x06, 0x53,0x68,0xa8,0x4f,0x9a,0x6e)
3506 #endif
3507 #else
3508 typedef struct IBDA_DigitalDemodulator2Vtbl {
3509     BEGIN_INTERFACE
3510 
3511     /*** IUnknown methods ***/
3512     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3513         IBDA_DigitalDemodulator2* This,
3514         REFIID riid,
3515         void **ppvObject);
3516 
3517     ULONG (STDMETHODCALLTYPE *AddRef)(
3518         IBDA_DigitalDemodulator2* This);
3519 
3520     ULONG (STDMETHODCALLTYPE *Release)(
3521         IBDA_DigitalDemodulator2* This);
3522 
3523     /*** IBDA_DigitalDemodulator methods ***/
3524     HRESULT (STDMETHODCALLTYPE *put_ModulationType)(
3525         IBDA_DigitalDemodulator2* This,
3526         ModulationType *pModulationType);
3527 
3528     HRESULT (STDMETHODCALLTYPE *get_ModulationType)(
3529         IBDA_DigitalDemodulator2* This,
3530         ModulationType *pModulationType);
3531 
3532     HRESULT (STDMETHODCALLTYPE *put_InnerFECMethod)(
3533         IBDA_DigitalDemodulator2* This,
3534         FECMethod *pFECMethod);
3535 
3536     HRESULT (STDMETHODCALLTYPE *get_InnerFECMethod)(
3537         IBDA_DigitalDemodulator2* This,
3538         FECMethod *pFECMethod);
3539 
3540     HRESULT (STDMETHODCALLTYPE *put_InnerFECRate)(
3541         IBDA_DigitalDemodulator2* This,
3542         BinaryConvolutionCodeRate *pFECRate);
3543 
3544     HRESULT (STDMETHODCALLTYPE *get_InnerFECRate)(
3545         IBDA_DigitalDemodulator2* This,
3546         BinaryConvolutionCodeRate *pFECRate);
3547 
3548     HRESULT (STDMETHODCALLTYPE *put_OuterFECMethod)(
3549         IBDA_DigitalDemodulator2* This,
3550         FECMethod *pFECMethod);
3551 
3552     HRESULT (STDMETHODCALLTYPE *get_OuterFECMethod)(
3553         IBDA_DigitalDemodulator2* This,
3554         FECMethod *pFECMethod);
3555 
3556     HRESULT (STDMETHODCALLTYPE *put_OuterFECRate)(
3557         IBDA_DigitalDemodulator2* This,
3558         BinaryConvolutionCodeRate *pFECRate);
3559 
3560     HRESULT (STDMETHODCALLTYPE *get_OuterFECRate)(
3561         IBDA_DigitalDemodulator2* This,
3562         BinaryConvolutionCodeRate *pFECRate);
3563 
3564     HRESULT (STDMETHODCALLTYPE *put_SymbolRate)(
3565         IBDA_DigitalDemodulator2* This,
3566         ULONG *pSymbolRate);
3567 
3568     HRESULT (STDMETHODCALLTYPE *get_SymbolRate)(
3569         IBDA_DigitalDemodulator2* This,
3570         ULONG *pSymbolRate);
3571 
3572     HRESULT (STDMETHODCALLTYPE *put_SpectralInversion)(
3573         IBDA_DigitalDemodulator2* This,
3574         SpectralInversion *pSpectralInversion);
3575 
3576     HRESULT (STDMETHODCALLTYPE *get_SpectralInversion)(
3577         IBDA_DigitalDemodulator2* This,
3578         SpectralInversion *pSpectralInversion);
3579 
3580     /*** IBDA_DigitalDemodulator2 methods ***/
3581     HRESULT (STDMETHODCALLTYPE *put_GuardInterval)(
3582         IBDA_DigitalDemodulator2* This,
3583         GuardInterval *pGuardInterval);
3584 
3585     HRESULT (STDMETHODCALLTYPE *get_GuardInterval)(
3586         IBDA_DigitalDemodulator2* This,
3587         GuardInterval *pGuardInterval);
3588 
3589     HRESULT (STDMETHODCALLTYPE *put_TransmissionMode)(
3590         IBDA_DigitalDemodulator2* This,
3591         TransmissionMode *pTransmissionMode);
3592 
3593     HRESULT (STDMETHODCALLTYPE *get_TransmissionMode)(
3594         IBDA_DigitalDemodulator2* This,
3595         TransmissionMode *pTransmissionMode);
3596 
3597     HRESULT (STDMETHODCALLTYPE *put_RollOff)(
3598         IBDA_DigitalDemodulator2* This,
3599         RollOff *pRollOff);
3600 
3601     HRESULT (STDMETHODCALLTYPE *get_RollOff)(
3602         IBDA_DigitalDemodulator2* This,
3603         RollOff *pRollOff);
3604 
3605     HRESULT (STDMETHODCALLTYPE *put_Pilot)(
3606         IBDA_DigitalDemodulator2* This,
3607         Pilot *pPilot);
3608 
3609     HRESULT (STDMETHODCALLTYPE *get_Pilot)(
3610         IBDA_DigitalDemodulator2* This,
3611         Pilot *pPilot);
3612 
3613     END_INTERFACE
3614 } IBDA_DigitalDemodulator2Vtbl;
3615 interface IBDA_DigitalDemodulator2 {
3616     CONST_VTBL IBDA_DigitalDemodulator2Vtbl* lpVtbl;
3617 };
3618 
3619 #ifdef COBJMACROS
3620 #ifndef WIDL_C_INLINE_WRAPPERS
3621 /*** IUnknown methods ***/
3622 #define IBDA_DigitalDemodulator2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3623 #define IBDA_DigitalDemodulator2_AddRef(This) (This)->lpVtbl->AddRef(This)
3624 #define IBDA_DigitalDemodulator2_Release(This) (This)->lpVtbl->Release(This)
3625 /*** IBDA_DigitalDemodulator methods ***/
3626 #define IBDA_DigitalDemodulator2_put_ModulationType(This,pModulationType) (This)->lpVtbl->put_ModulationType(This,pModulationType)
3627 #define IBDA_DigitalDemodulator2_get_ModulationType(This,pModulationType) (This)->lpVtbl->get_ModulationType(This,pModulationType)
3628 #define IBDA_DigitalDemodulator2_put_InnerFECMethod(This,pFECMethod) (This)->lpVtbl->put_InnerFECMethod(This,pFECMethod)
3629 #define IBDA_DigitalDemodulator2_get_InnerFECMethod(This,pFECMethod) (This)->lpVtbl->get_InnerFECMethod(This,pFECMethod)
3630 #define IBDA_DigitalDemodulator2_put_InnerFECRate(This,pFECRate) (This)->lpVtbl->put_InnerFECRate(This,pFECRate)
3631 #define IBDA_DigitalDemodulator2_get_InnerFECRate(This,pFECRate) (This)->lpVtbl->get_InnerFECRate(This,pFECRate)
3632 #define IBDA_DigitalDemodulator2_put_OuterFECMethod(This,pFECMethod) (This)->lpVtbl->put_OuterFECMethod(This,pFECMethod)
3633 #define IBDA_DigitalDemodulator2_get_OuterFECMethod(This,pFECMethod) (This)->lpVtbl->get_OuterFECMethod(This,pFECMethod)
3634 #define IBDA_DigitalDemodulator2_put_OuterFECRate(This,pFECRate) (This)->lpVtbl->put_OuterFECRate(This,pFECRate)
3635 #define IBDA_DigitalDemodulator2_get_OuterFECRate(This,pFECRate) (This)->lpVtbl->get_OuterFECRate(This,pFECRate)
3636 #define IBDA_DigitalDemodulator2_put_SymbolRate(This,pSymbolRate) (This)->lpVtbl->put_SymbolRate(This,pSymbolRate)
3637 #define IBDA_DigitalDemodulator2_get_SymbolRate(This,pSymbolRate) (This)->lpVtbl->get_SymbolRate(This,pSymbolRate)
3638 #define IBDA_DigitalDemodulator2_put_SpectralInversion(This,pSpectralInversion) (This)->lpVtbl->put_SpectralInversion(This,pSpectralInversion)
3639 #define IBDA_DigitalDemodulator2_get_SpectralInversion(This,pSpectralInversion) (This)->lpVtbl->get_SpectralInversion(This,pSpectralInversion)
3640 /*** IBDA_DigitalDemodulator2 methods ***/
3641 #define IBDA_DigitalDemodulator2_put_GuardInterval(This,pGuardInterval) (This)->lpVtbl->put_GuardInterval(This,pGuardInterval)
3642 #define IBDA_DigitalDemodulator2_get_GuardInterval(This,pGuardInterval) (This)->lpVtbl->get_GuardInterval(This,pGuardInterval)
3643 #define IBDA_DigitalDemodulator2_put_TransmissionMode(This,pTransmissionMode) (This)->lpVtbl->put_TransmissionMode(This,pTransmissionMode)
3644 #define IBDA_DigitalDemodulator2_get_TransmissionMode(This,pTransmissionMode) (This)->lpVtbl->get_TransmissionMode(This,pTransmissionMode)
3645 #define IBDA_DigitalDemodulator2_put_RollOff(This,pRollOff) (This)->lpVtbl->put_RollOff(This,pRollOff)
3646 #define IBDA_DigitalDemodulator2_get_RollOff(This,pRollOff) (This)->lpVtbl->get_RollOff(This,pRollOff)
3647 #define IBDA_DigitalDemodulator2_put_Pilot(This,pPilot) (This)->lpVtbl->put_Pilot(This,pPilot)
3648 #define IBDA_DigitalDemodulator2_get_Pilot(This,pPilot) (This)->lpVtbl->get_Pilot(This,pPilot)
3649 #else
3650 /*** IUnknown methods ***/
3651 static FORCEINLINE HRESULT IBDA_DigitalDemodulator2_QueryInterface(IBDA_DigitalDemodulator2* This,REFIID riid,void **ppvObject) {
3652     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3653 }
3654 static FORCEINLINE ULONG IBDA_DigitalDemodulator2_AddRef(IBDA_DigitalDemodulator2* This) {
3655     return This->lpVtbl->AddRef(This);
3656 }
3657 static FORCEINLINE ULONG IBDA_DigitalDemodulator2_Release(IBDA_DigitalDemodulator2* This) {
3658     return This->lpVtbl->Release(This);
3659 }
3660 /*** IBDA_DigitalDemodulator methods ***/
3661 static FORCEINLINE HRESULT IBDA_DigitalDemodulator2_put_ModulationType(IBDA_DigitalDemodulator2* This,ModulationType *pModulationType) {
3662     return This->lpVtbl->put_ModulationType(This,pModulationType);
3663 }
3664 static FORCEINLINE HRESULT IBDA_DigitalDemodulator2_get_ModulationType(IBDA_DigitalDemodulator2* This,ModulationType *pModulationType) {
3665     return This->lpVtbl->get_ModulationType(This,pModulationType);
3666 }
3667 static FORCEINLINE HRESULT IBDA_DigitalDemodulator2_put_InnerFECMethod(IBDA_DigitalDemodulator2* This,FECMethod *pFECMethod) {
3668     return This->lpVtbl->put_InnerFECMethod(This,pFECMethod);
3669 }
3670 static FORCEINLINE HRESULT IBDA_DigitalDemodulator2_get_InnerFECMethod(IBDA_DigitalDemodulator2* This,FECMethod *pFECMethod) {
3671     return This->lpVtbl->get_InnerFECMethod(This,pFECMethod);
3672 }
3673 static FORCEINLINE HRESULT IBDA_DigitalDemodulator2_put_InnerFECRate(IBDA_DigitalDemodulator2* This,BinaryConvolutionCodeRate *pFECRate) {
3674     return This->lpVtbl->put_InnerFECRate(This,pFECRate);
3675 }
3676 static FORCEINLINE HRESULT IBDA_DigitalDemodulator2_get_InnerFECRate(IBDA_DigitalDemodulator2* This,BinaryConvolutionCodeRate *pFECRate) {
3677     return This->lpVtbl->get_InnerFECRate(This,pFECRate);
3678 }
3679 static FORCEINLINE HRESULT IBDA_DigitalDemodulator2_put_OuterFECMethod(IBDA_DigitalDemodulator2* This,FECMethod *pFECMethod) {
3680     return This->lpVtbl->put_OuterFECMethod(This,pFECMethod);
3681 }
3682 static FORCEINLINE HRESULT IBDA_DigitalDemodulator2_get_OuterFECMethod(IBDA_DigitalDemodulator2* This,FECMethod *pFECMethod) {
3683     return This->lpVtbl->get_OuterFECMethod(This,pFECMethod);
3684 }
3685 static FORCEINLINE HRESULT IBDA_DigitalDemodulator2_put_OuterFECRate(IBDA_DigitalDemodulator2* This,BinaryConvolutionCodeRate *pFECRate) {
3686     return This->lpVtbl->put_OuterFECRate(This,pFECRate);
3687 }
3688 static FORCEINLINE HRESULT IBDA_DigitalDemodulator2_get_OuterFECRate(IBDA_DigitalDemodulator2* This,BinaryConvolutionCodeRate *pFECRate) {
3689     return This->lpVtbl->get_OuterFECRate(This,pFECRate);
3690 }
3691 static FORCEINLINE HRESULT IBDA_DigitalDemodulator2_put_SymbolRate(IBDA_DigitalDemodulator2* This,ULONG *pSymbolRate) {
3692     return This->lpVtbl->put_SymbolRate(This,pSymbolRate);
3693 }
3694 static FORCEINLINE HRESULT IBDA_DigitalDemodulator2_get_SymbolRate(IBDA_DigitalDemodulator2* This,ULONG *pSymbolRate) {
3695     return This->lpVtbl->get_SymbolRate(This,pSymbolRate);
3696 }
3697 static FORCEINLINE HRESULT IBDA_DigitalDemodulator2_put_SpectralInversion(IBDA_DigitalDemodulator2* This,SpectralInversion *pSpectralInversion) {
3698     return This->lpVtbl->put_SpectralInversion(This,pSpectralInversion);
3699 }
3700 static FORCEINLINE HRESULT IBDA_DigitalDemodulator2_get_SpectralInversion(IBDA_DigitalDemodulator2* This,SpectralInversion *pSpectralInversion) {
3701     return This->lpVtbl->get_SpectralInversion(This,pSpectralInversion);
3702 }
3703 /*** IBDA_DigitalDemodulator2 methods ***/
3704 static FORCEINLINE HRESULT IBDA_DigitalDemodulator2_put_GuardInterval(IBDA_DigitalDemodulator2* This,GuardInterval *pGuardInterval) {
3705     return This->lpVtbl->put_GuardInterval(This,pGuardInterval);
3706 }
3707 static FORCEINLINE HRESULT IBDA_DigitalDemodulator2_get_GuardInterval(IBDA_DigitalDemodulator2* This,GuardInterval *pGuardInterval) {
3708     return This->lpVtbl->get_GuardInterval(This,pGuardInterval);
3709 }
3710 static FORCEINLINE HRESULT IBDA_DigitalDemodulator2_put_TransmissionMode(IBDA_DigitalDemodulator2* This,TransmissionMode *pTransmissionMode) {
3711     return This->lpVtbl->put_TransmissionMode(This,pTransmissionMode);
3712 }
3713 static FORCEINLINE HRESULT IBDA_DigitalDemodulator2_get_TransmissionMode(IBDA_DigitalDemodulator2* This,TransmissionMode *pTransmissionMode) {
3714     return This->lpVtbl->get_TransmissionMode(This,pTransmissionMode);
3715 }
3716 static FORCEINLINE HRESULT IBDA_DigitalDemodulator2_put_RollOff(IBDA_DigitalDemodulator2* This,RollOff *pRollOff) {
3717     return This->lpVtbl->put_RollOff(This,pRollOff);
3718 }
3719 static FORCEINLINE HRESULT IBDA_DigitalDemodulator2_get_RollOff(IBDA_DigitalDemodulator2* This,RollOff *pRollOff) {
3720     return This->lpVtbl->get_RollOff(This,pRollOff);
3721 }
3722 static FORCEINLINE HRESULT IBDA_DigitalDemodulator2_put_Pilot(IBDA_DigitalDemodulator2* This,Pilot *pPilot) {
3723     return This->lpVtbl->put_Pilot(This,pPilot);
3724 }
3725 static FORCEINLINE HRESULT IBDA_DigitalDemodulator2_get_Pilot(IBDA_DigitalDemodulator2* This,Pilot *pPilot) {
3726     return This->lpVtbl->get_Pilot(This,pPilot);
3727 }
3728 #endif
3729 #endif
3730 
3731 #endif
3732 
3733 HRESULT STDMETHODCALLTYPE IBDA_DigitalDemodulator2_put_GuardInterval_Proxy(
3734     IBDA_DigitalDemodulator2* This,
3735     GuardInterval *pGuardInterval);
3736 void __RPC_STUB IBDA_DigitalDemodulator2_put_GuardInterval_Stub(
3737     IRpcStubBuffer* This,
3738     IRpcChannelBuffer* pRpcChannelBuffer,
3739     PRPC_MESSAGE pRpcMessage,
3740     DWORD* pdwStubPhase);
3741 HRESULT STDMETHODCALLTYPE IBDA_DigitalDemodulator2_get_GuardInterval_Proxy(
3742     IBDA_DigitalDemodulator2* This,
3743     GuardInterval *pGuardInterval);
3744 void __RPC_STUB IBDA_DigitalDemodulator2_get_GuardInterval_Stub(
3745     IRpcStubBuffer* This,
3746     IRpcChannelBuffer* pRpcChannelBuffer,
3747     PRPC_MESSAGE pRpcMessage,
3748     DWORD* pdwStubPhase);
3749 HRESULT STDMETHODCALLTYPE IBDA_DigitalDemodulator2_put_TransmissionMode_Proxy(
3750     IBDA_DigitalDemodulator2* This,
3751     TransmissionMode *pTransmissionMode);
3752 void __RPC_STUB IBDA_DigitalDemodulator2_put_TransmissionMode_Stub(
3753     IRpcStubBuffer* This,
3754     IRpcChannelBuffer* pRpcChannelBuffer,
3755     PRPC_MESSAGE pRpcMessage,
3756     DWORD* pdwStubPhase);
3757 HRESULT STDMETHODCALLTYPE IBDA_DigitalDemodulator2_get_TransmissionMode_Proxy(
3758     IBDA_DigitalDemodulator2* This,
3759     TransmissionMode *pTransmissionMode);
3760 void __RPC_STUB IBDA_DigitalDemodulator2_get_TransmissionMode_Stub(
3761     IRpcStubBuffer* This,
3762     IRpcChannelBuffer* pRpcChannelBuffer,
3763     PRPC_MESSAGE pRpcMessage,
3764     DWORD* pdwStubPhase);
3765 HRESULT STDMETHODCALLTYPE IBDA_DigitalDemodulator2_put_RollOff_Proxy(
3766     IBDA_DigitalDemodulator2* This,
3767     RollOff *pRollOff);
3768 void __RPC_STUB IBDA_DigitalDemodulator2_put_RollOff_Stub(
3769     IRpcStubBuffer* This,
3770     IRpcChannelBuffer* pRpcChannelBuffer,
3771     PRPC_MESSAGE pRpcMessage,
3772     DWORD* pdwStubPhase);
3773 HRESULT STDMETHODCALLTYPE IBDA_DigitalDemodulator2_get_RollOff_Proxy(
3774     IBDA_DigitalDemodulator2* This,
3775     RollOff *pRollOff);
3776 void __RPC_STUB IBDA_DigitalDemodulator2_get_RollOff_Stub(
3777     IRpcStubBuffer* This,
3778     IRpcChannelBuffer* pRpcChannelBuffer,
3779     PRPC_MESSAGE pRpcMessage,
3780     DWORD* pdwStubPhase);
3781 HRESULT STDMETHODCALLTYPE IBDA_DigitalDemodulator2_put_Pilot_Proxy(
3782     IBDA_DigitalDemodulator2* This,
3783     Pilot *pPilot);
3784 void __RPC_STUB IBDA_DigitalDemodulator2_put_Pilot_Stub(
3785     IRpcStubBuffer* This,
3786     IRpcChannelBuffer* pRpcChannelBuffer,
3787     PRPC_MESSAGE pRpcMessage,
3788     DWORD* pdwStubPhase);
3789 HRESULT STDMETHODCALLTYPE IBDA_DigitalDemodulator2_get_Pilot_Proxy(
3790     IBDA_DigitalDemodulator2* This,
3791     Pilot *pPilot);
3792 void __RPC_STUB IBDA_DigitalDemodulator2_get_Pilot_Stub(
3793     IRpcStubBuffer* This,
3794     IRpcChannelBuffer* pRpcChannelBuffer,
3795     PRPC_MESSAGE pRpcMessage,
3796     DWORD* pdwStubPhase);
3797 
3798 #endif  /* __IBDA_DigitalDemodulator2_INTERFACE_DEFINED__ */
3799 
3800 /*****************************************************************************
3801  * IBDA_DigitalDemodulator3 interface
3802  */
3803 #ifndef __IBDA_DigitalDemodulator3_INTERFACE_DEFINED__
3804 #define __IBDA_DigitalDemodulator3_INTERFACE_DEFINED__
3805 
3806 DEFINE_GUID(IID_IBDA_DigitalDemodulator3, 0x13f19604, 0x7d32, 0x4359, 0x93,0xa2, 0xa0,0x52,0x05,0xd9,0x0a,0xc9);
3807 #if defined(__cplusplus) && !defined(CINTERFACE)
3808 MIDL_INTERFACE("13f19604-7d32-4359-93a2-a05205d90ac9")
3809 IBDA_DigitalDemodulator3 : public IBDA_DigitalDemodulator2
3810 {
3811     virtual HRESULT STDMETHODCALLTYPE put_SignalTimeouts(
3812         BDA_SIGNAL_TIMEOUTS *pSignalTimeouts) = 0;
3813 
3814     virtual HRESULT STDMETHODCALLTYPE get_SignalTimeouts(
3815         BDA_SIGNAL_TIMEOUTS *pSignalTimeouts) = 0;
3816 
3817     virtual HRESULT STDMETHODCALLTYPE put_PLPNumber(
3818         ULONG *pPLPNumber) = 0;
3819 
3820     virtual HRESULT STDMETHODCALLTYPE get_PLPNumber(
3821         ULONG *pPLPNumber) = 0;
3822 
3823 };
3824 #ifdef __CRT_UUID_DECL
3825 __CRT_UUID_DECL(IBDA_DigitalDemodulator3, 0x13f19604, 0x7d32, 0x4359, 0x93,0xa2, 0xa0,0x52,0x05,0xd9,0x0a,0xc9)
3826 #endif
3827 #else
3828 typedef struct IBDA_DigitalDemodulator3Vtbl {
3829     BEGIN_INTERFACE
3830 
3831     /*** IUnknown methods ***/
3832     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3833         IBDA_DigitalDemodulator3* This,
3834         REFIID riid,
3835         void **ppvObject);
3836 
3837     ULONG (STDMETHODCALLTYPE *AddRef)(
3838         IBDA_DigitalDemodulator3* This);
3839 
3840     ULONG (STDMETHODCALLTYPE *Release)(
3841         IBDA_DigitalDemodulator3* This);
3842 
3843     /*** IBDA_DigitalDemodulator methods ***/
3844     HRESULT (STDMETHODCALLTYPE *put_ModulationType)(
3845         IBDA_DigitalDemodulator3* This,
3846         ModulationType *pModulationType);
3847 
3848     HRESULT (STDMETHODCALLTYPE *get_ModulationType)(
3849         IBDA_DigitalDemodulator3* This,
3850         ModulationType *pModulationType);
3851 
3852     HRESULT (STDMETHODCALLTYPE *put_InnerFECMethod)(
3853         IBDA_DigitalDemodulator3* This,
3854         FECMethod *pFECMethod);
3855 
3856     HRESULT (STDMETHODCALLTYPE *get_InnerFECMethod)(
3857         IBDA_DigitalDemodulator3* This,
3858         FECMethod *pFECMethod);
3859 
3860     HRESULT (STDMETHODCALLTYPE *put_InnerFECRate)(
3861         IBDA_DigitalDemodulator3* This,
3862         BinaryConvolutionCodeRate *pFECRate);
3863 
3864     HRESULT (STDMETHODCALLTYPE *get_InnerFECRate)(
3865         IBDA_DigitalDemodulator3* This,
3866         BinaryConvolutionCodeRate *pFECRate);
3867 
3868     HRESULT (STDMETHODCALLTYPE *put_OuterFECMethod)(
3869         IBDA_DigitalDemodulator3* This,
3870         FECMethod *pFECMethod);
3871 
3872     HRESULT (STDMETHODCALLTYPE *get_OuterFECMethod)(
3873         IBDA_DigitalDemodulator3* This,
3874         FECMethod *pFECMethod);
3875 
3876     HRESULT (STDMETHODCALLTYPE *put_OuterFECRate)(
3877         IBDA_DigitalDemodulator3* This,
3878         BinaryConvolutionCodeRate *pFECRate);
3879 
3880     HRESULT (STDMETHODCALLTYPE *get_OuterFECRate)(
3881         IBDA_DigitalDemodulator3* This,
3882         BinaryConvolutionCodeRate *pFECRate);
3883 
3884     HRESULT (STDMETHODCALLTYPE *put_SymbolRate)(
3885         IBDA_DigitalDemodulator3* This,
3886         ULONG *pSymbolRate);
3887 
3888     HRESULT (STDMETHODCALLTYPE *get_SymbolRate)(
3889         IBDA_DigitalDemodulator3* This,
3890         ULONG *pSymbolRate);
3891 
3892     HRESULT (STDMETHODCALLTYPE *put_SpectralInversion)(
3893         IBDA_DigitalDemodulator3* This,
3894         SpectralInversion *pSpectralInversion);
3895 
3896     HRESULT (STDMETHODCALLTYPE *get_SpectralInversion)(
3897         IBDA_DigitalDemodulator3* This,
3898         SpectralInversion *pSpectralInversion);
3899 
3900     /*** IBDA_DigitalDemodulator2 methods ***/
3901     HRESULT (STDMETHODCALLTYPE *put_GuardInterval)(
3902         IBDA_DigitalDemodulator3* This,
3903         GuardInterval *pGuardInterval);
3904 
3905     HRESULT (STDMETHODCALLTYPE *get_GuardInterval)(
3906         IBDA_DigitalDemodulator3* This,
3907         GuardInterval *pGuardInterval);
3908 
3909     HRESULT (STDMETHODCALLTYPE *put_TransmissionMode)(
3910         IBDA_DigitalDemodulator3* This,
3911         TransmissionMode *pTransmissionMode);
3912 
3913     HRESULT (STDMETHODCALLTYPE *get_TransmissionMode)(
3914         IBDA_DigitalDemodulator3* This,
3915         TransmissionMode *pTransmissionMode);
3916 
3917     HRESULT (STDMETHODCALLTYPE *put_RollOff)(
3918         IBDA_DigitalDemodulator3* This,
3919         RollOff *pRollOff);
3920 
3921     HRESULT (STDMETHODCALLTYPE *get_RollOff)(
3922         IBDA_DigitalDemodulator3* This,
3923         RollOff *pRollOff);
3924 
3925     HRESULT (STDMETHODCALLTYPE *put_Pilot)(
3926         IBDA_DigitalDemodulator3* This,
3927         Pilot *pPilot);
3928 
3929     HRESULT (STDMETHODCALLTYPE *get_Pilot)(
3930         IBDA_DigitalDemodulator3* This,
3931         Pilot *pPilot);
3932 
3933     /*** IBDA_DigitalDemodulator3 methods ***/
3934     HRESULT (STDMETHODCALLTYPE *put_SignalTimeouts)(
3935         IBDA_DigitalDemodulator3* This,
3936         BDA_SIGNAL_TIMEOUTS *pSignalTimeouts);
3937 
3938     HRESULT (STDMETHODCALLTYPE *get_SignalTimeouts)(
3939         IBDA_DigitalDemodulator3* This,
3940         BDA_SIGNAL_TIMEOUTS *pSignalTimeouts);
3941 
3942     HRESULT (STDMETHODCALLTYPE *put_PLPNumber)(
3943         IBDA_DigitalDemodulator3* This,
3944         ULONG *pPLPNumber);
3945 
3946     HRESULT (STDMETHODCALLTYPE *get_PLPNumber)(
3947         IBDA_DigitalDemodulator3* This,
3948         ULONG *pPLPNumber);
3949 
3950     END_INTERFACE
3951 } IBDA_DigitalDemodulator3Vtbl;
3952 interface IBDA_DigitalDemodulator3 {
3953     CONST_VTBL IBDA_DigitalDemodulator3Vtbl* lpVtbl;
3954 };
3955 
3956 #ifdef COBJMACROS
3957 #ifndef WIDL_C_INLINE_WRAPPERS
3958 /*** IUnknown methods ***/
3959 #define IBDA_DigitalDemodulator3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3960 #define IBDA_DigitalDemodulator3_AddRef(This) (This)->lpVtbl->AddRef(This)
3961 #define IBDA_DigitalDemodulator3_Release(This) (This)->lpVtbl->Release(This)
3962 /*** IBDA_DigitalDemodulator methods ***/
3963 #define IBDA_DigitalDemodulator3_put_ModulationType(This,pModulationType) (This)->lpVtbl->put_ModulationType(This,pModulationType)
3964 #define IBDA_DigitalDemodulator3_get_ModulationType(This,pModulationType) (This)->lpVtbl->get_ModulationType(This,pModulationType)
3965 #define IBDA_DigitalDemodulator3_put_InnerFECMethod(This,pFECMethod) (This)->lpVtbl->put_InnerFECMethod(This,pFECMethod)
3966 #define IBDA_DigitalDemodulator3_get_InnerFECMethod(This,pFECMethod) (This)->lpVtbl->get_InnerFECMethod(This,pFECMethod)
3967 #define IBDA_DigitalDemodulator3_put_InnerFECRate(This,pFECRate) (This)->lpVtbl->put_InnerFECRate(This,pFECRate)
3968 #define IBDA_DigitalDemodulator3_get_InnerFECRate(This,pFECRate) (This)->lpVtbl->get_InnerFECRate(This,pFECRate)
3969 #define IBDA_DigitalDemodulator3_put_OuterFECMethod(This,pFECMethod) (This)->lpVtbl->put_OuterFECMethod(This,pFECMethod)
3970 #define IBDA_DigitalDemodulator3_get_OuterFECMethod(This,pFECMethod) (This)->lpVtbl->get_OuterFECMethod(This,pFECMethod)
3971 #define IBDA_DigitalDemodulator3_put_OuterFECRate(This,pFECRate) (This)->lpVtbl->put_OuterFECRate(This,pFECRate)
3972 #define IBDA_DigitalDemodulator3_get_OuterFECRate(This,pFECRate) (This)->lpVtbl->get_OuterFECRate(This,pFECRate)
3973 #define IBDA_DigitalDemodulator3_put_SymbolRate(This,pSymbolRate) (This)->lpVtbl->put_SymbolRate(This,pSymbolRate)
3974 #define IBDA_DigitalDemodulator3_get_SymbolRate(This,pSymbolRate) (This)->lpVtbl->get_SymbolRate(This,pSymbolRate)
3975 #define IBDA_DigitalDemodulator3_put_SpectralInversion(This,pSpectralInversion) (This)->lpVtbl->put_SpectralInversion(This,pSpectralInversion)
3976 #define IBDA_DigitalDemodulator3_get_SpectralInversion(This,pSpectralInversion) (This)->lpVtbl->get_SpectralInversion(This,pSpectralInversion)
3977 /*** IBDA_DigitalDemodulator2 methods ***/
3978 #define IBDA_DigitalDemodulator3_put_GuardInterval(This,pGuardInterval) (This)->lpVtbl->put_GuardInterval(This,pGuardInterval)
3979 #define IBDA_DigitalDemodulator3_get_GuardInterval(This,pGuardInterval) (This)->lpVtbl->get_GuardInterval(This,pGuardInterval)
3980 #define IBDA_DigitalDemodulator3_put_TransmissionMode(This,pTransmissionMode) (This)->lpVtbl->put_TransmissionMode(This,pTransmissionMode)
3981 #define IBDA_DigitalDemodulator3_get_TransmissionMode(This,pTransmissionMode) (This)->lpVtbl->get_TransmissionMode(This,pTransmissionMode)
3982 #define IBDA_DigitalDemodulator3_put_RollOff(This,pRollOff) (This)->lpVtbl->put_RollOff(This,pRollOff)
3983 #define IBDA_DigitalDemodulator3_get_RollOff(This,pRollOff) (This)->lpVtbl->get_RollOff(This,pRollOff)
3984 #define IBDA_DigitalDemodulator3_put_Pilot(This,pPilot) (This)->lpVtbl->put_Pilot(This,pPilot)
3985 #define IBDA_DigitalDemodulator3_get_Pilot(This,pPilot) (This)->lpVtbl->get_Pilot(This,pPilot)
3986 /*** IBDA_DigitalDemodulator3 methods ***/
3987 #define IBDA_DigitalDemodulator3_put_SignalTimeouts(This,pSignalTimeouts) (This)->lpVtbl->put_SignalTimeouts(This,pSignalTimeouts)
3988 #define IBDA_DigitalDemodulator3_get_SignalTimeouts(This,pSignalTimeouts) (This)->lpVtbl->get_SignalTimeouts(This,pSignalTimeouts)
3989 #define IBDA_DigitalDemodulator3_put_PLPNumber(This,pPLPNumber) (This)->lpVtbl->put_PLPNumber(This,pPLPNumber)
3990 #define IBDA_DigitalDemodulator3_get_PLPNumber(This,pPLPNumber) (This)->lpVtbl->get_PLPNumber(This,pPLPNumber)
3991 #else
3992 /*** IUnknown methods ***/
3993 static FORCEINLINE HRESULT IBDA_DigitalDemodulator3_QueryInterface(IBDA_DigitalDemodulator3* This,REFIID riid,void **ppvObject) {
3994     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3995 }
3996 static FORCEINLINE ULONG IBDA_DigitalDemodulator3_AddRef(IBDA_DigitalDemodulator3* This) {
3997     return This->lpVtbl->AddRef(This);
3998 }
3999 static FORCEINLINE ULONG IBDA_DigitalDemodulator3_Release(IBDA_DigitalDemodulator3* This) {
4000     return This->lpVtbl->Release(This);
4001 }
4002 /*** IBDA_DigitalDemodulator methods ***/
4003 static FORCEINLINE HRESULT IBDA_DigitalDemodulator3_put_ModulationType(IBDA_DigitalDemodulator3* This,ModulationType *pModulationType) {
4004     return This->lpVtbl->put_ModulationType(This,pModulationType);
4005 }
4006 static FORCEINLINE HRESULT IBDA_DigitalDemodulator3_get_ModulationType(IBDA_DigitalDemodulator3* This,ModulationType *pModulationType) {
4007     return This->lpVtbl->get_ModulationType(This,pModulationType);
4008 }
4009 static FORCEINLINE HRESULT IBDA_DigitalDemodulator3_put_InnerFECMethod(IBDA_DigitalDemodulator3* This,FECMethod *pFECMethod) {
4010     return This->lpVtbl->put_InnerFECMethod(This,pFECMethod);
4011 }
4012 static FORCEINLINE HRESULT IBDA_DigitalDemodulator3_get_InnerFECMethod(IBDA_DigitalDemodulator3* This,FECMethod *pFECMethod) {
4013     return This->lpVtbl->get_InnerFECMethod(This,pFECMethod);
4014 }
4015 static FORCEINLINE HRESULT IBDA_DigitalDemodulator3_put_InnerFECRate(IBDA_DigitalDemodulator3* This,BinaryConvolutionCodeRate *pFECRate) {
4016     return This->lpVtbl->put_InnerFECRate(This,pFECRate);
4017 }
4018 static FORCEINLINE HRESULT IBDA_DigitalDemodulator3_get_InnerFECRate(IBDA_DigitalDemodulator3* This,BinaryConvolutionCodeRate *pFECRate) {
4019     return This->lpVtbl->get_InnerFECRate(This,pFECRate);
4020 }
4021 static FORCEINLINE HRESULT IBDA_DigitalDemodulator3_put_OuterFECMethod(IBDA_DigitalDemodulator3* This,FECMethod *pFECMethod) {
4022     return This->lpVtbl->put_OuterFECMethod(This,pFECMethod);
4023 }
4024 static FORCEINLINE HRESULT IBDA_DigitalDemodulator3_get_OuterFECMethod(IBDA_DigitalDemodulator3* This,FECMethod *pFECMethod) {
4025     return This->lpVtbl->get_OuterFECMethod(This,pFECMethod);
4026 }
4027 static FORCEINLINE HRESULT IBDA_DigitalDemodulator3_put_OuterFECRate(IBDA_DigitalDemodulator3* This,BinaryConvolutionCodeRate *pFECRate) {
4028     return This->lpVtbl->put_OuterFECRate(This,pFECRate);
4029 }
4030 static FORCEINLINE HRESULT IBDA_DigitalDemodulator3_get_OuterFECRate(IBDA_DigitalDemodulator3* This,BinaryConvolutionCodeRate *pFECRate) {
4031     return This->lpVtbl->get_OuterFECRate(This,pFECRate);
4032 }
4033 static FORCEINLINE HRESULT IBDA_DigitalDemodulator3_put_SymbolRate(IBDA_DigitalDemodulator3* This,ULONG *pSymbolRate) {
4034     return This->lpVtbl->put_SymbolRate(This,pSymbolRate);
4035 }
4036 static FORCEINLINE HRESULT IBDA_DigitalDemodulator3_get_SymbolRate(IBDA_DigitalDemodulator3* This,ULONG *pSymbolRate) {
4037     return This->lpVtbl->get_SymbolRate(This,pSymbolRate);
4038 }
4039 static FORCEINLINE HRESULT IBDA_DigitalDemodulator3_put_SpectralInversion(IBDA_DigitalDemodulator3* This,SpectralInversion *pSpectralInversion) {
4040     return This->lpVtbl->put_SpectralInversion(This,pSpectralInversion);
4041 }
4042 static FORCEINLINE HRESULT IBDA_DigitalDemodulator3_get_SpectralInversion(IBDA_DigitalDemodulator3* This,SpectralInversion *pSpectralInversion) {
4043     return This->lpVtbl->get_SpectralInversion(This,pSpectralInversion);
4044 }
4045 /*** IBDA_DigitalDemodulator2 methods ***/
4046 static FORCEINLINE HRESULT IBDA_DigitalDemodulator3_put_GuardInterval(IBDA_DigitalDemodulator3* This,GuardInterval *pGuardInterval) {
4047     return This->lpVtbl->put_GuardInterval(This,pGuardInterval);
4048 }
4049 static FORCEINLINE HRESULT IBDA_DigitalDemodulator3_get_GuardInterval(IBDA_DigitalDemodulator3* This,GuardInterval *pGuardInterval) {
4050     return This->lpVtbl->get_GuardInterval(This,pGuardInterval);
4051 }
4052 static FORCEINLINE HRESULT IBDA_DigitalDemodulator3_put_TransmissionMode(IBDA_DigitalDemodulator3* This,TransmissionMode *pTransmissionMode) {
4053     return This->lpVtbl->put_TransmissionMode(This,pTransmissionMode);
4054 }
4055 static FORCEINLINE HRESULT IBDA_DigitalDemodulator3_get_TransmissionMode(IBDA_DigitalDemodulator3* This,TransmissionMode *pTransmissionMode) {
4056     return This->lpVtbl->get_TransmissionMode(This,pTransmissionMode);
4057 }
4058 static FORCEINLINE HRESULT IBDA_DigitalDemodulator3_put_RollOff(IBDA_DigitalDemodulator3* This,RollOff *pRollOff) {
4059     return This->lpVtbl->put_RollOff(This,pRollOff);
4060 }
4061 static FORCEINLINE HRESULT IBDA_DigitalDemodulator3_get_RollOff(IBDA_DigitalDemodulator3* This,RollOff *pRollOff) {
4062     return This->lpVtbl->get_RollOff(This,pRollOff);
4063 }
4064 static FORCEINLINE HRESULT IBDA_DigitalDemodulator3_put_Pilot(IBDA_DigitalDemodulator3* This,Pilot *pPilot) {
4065     return This->lpVtbl->put_Pilot(This,pPilot);
4066 }
4067 static FORCEINLINE HRESULT IBDA_DigitalDemodulator3_get_Pilot(IBDA_DigitalDemodulator3* This,Pilot *pPilot) {
4068     return This->lpVtbl->get_Pilot(This,pPilot);
4069 }
4070 /*** IBDA_DigitalDemodulator3 methods ***/
4071 static FORCEINLINE HRESULT IBDA_DigitalDemodulator3_put_SignalTimeouts(IBDA_DigitalDemodulator3* This,BDA_SIGNAL_TIMEOUTS *pSignalTimeouts) {
4072     return This->lpVtbl->put_SignalTimeouts(This,pSignalTimeouts);
4073 }
4074 static FORCEINLINE HRESULT IBDA_DigitalDemodulator3_get_SignalTimeouts(IBDA_DigitalDemodulator3* This,BDA_SIGNAL_TIMEOUTS *pSignalTimeouts) {
4075     return This->lpVtbl->get_SignalTimeouts(This,pSignalTimeouts);
4076 }
4077 static FORCEINLINE HRESULT IBDA_DigitalDemodulator3_put_PLPNumber(IBDA_DigitalDemodulator3* This,ULONG *pPLPNumber) {
4078     return This->lpVtbl->put_PLPNumber(This,pPLPNumber);
4079 }
4080 static FORCEINLINE HRESULT IBDA_DigitalDemodulator3_get_PLPNumber(IBDA_DigitalDemodulator3* This,ULONG *pPLPNumber) {
4081     return This->lpVtbl->get_PLPNumber(This,pPLPNumber);
4082 }
4083 #endif
4084 #endif
4085 
4086 #endif
4087 
4088 HRESULT STDMETHODCALLTYPE IBDA_DigitalDemodulator3_put_SignalTimeouts_Proxy(
4089     IBDA_DigitalDemodulator3* This,
4090     BDA_SIGNAL_TIMEOUTS *pSignalTimeouts);
4091 void __RPC_STUB IBDA_DigitalDemodulator3_put_SignalTimeouts_Stub(
4092     IRpcStubBuffer* This,
4093     IRpcChannelBuffer* pRpcChannelBuffer,
4094     PRPC_MESSAGE pRpcMessage,
4095     DWORD* pdwStubPhase);
4096 HRESULT STDMETHODCALLTYPE IBDA_DigitalDemodulator3_get_SignalTimeouts_Proxy(
4097     IBDA_DigitalDemodulator3* This,
4098     BDA_SIGNAL_TIMEOUTS *pSignalTimeouts);
4099 void __RPC_STUB IBDA_DigitalDemodulator3_get_SignalTimeouts_Stub(
4100     IRpcStubBuffer* This,
4101     IRpcChannelBuffer* pRpcChannelBuffer,
4102     PRPC_MESSAGE pRpcMessage,
4103     DWORD* pdwStubPhase);
4104 HRESULT STDMETHODCALLTYPE IBDA_DigitalDemodulator3_put_PLPNumber_Proxy(
4105     IBDA_DigitalDemodulator3* This,
4106     ULONG *pPLPNumber);
4107 void __RPC_STUB IBDA_DigitalDemodulator3_put_PLPNumber_Stub(
4108     IRpcStubBuffer* This,
4109     IRpcChannelBuffer* pRpcChannelBuffer,
4110     PRPC_MESSAGE pRpcMessage,
4111     DWORD* pdwStubPhase);
4112 HRESULT STDMETHODCALLTYPE IBDA_DigitalDemodulator3_get_PLPNumber_Proxy(
4113     IBDA_DigitalDemodulator3* This,
4114     ULONG *pPLPNumber);
4115 void __RPC_STUB IBDA_DigitalDemodulator3_get_PLPNumber_Stub(
4116     IRpcStubBuffer* This,
4117     IRpcChannelBuffer* pRpcChannelBuffer,
4118     PRPC_MESSAGE pRpcMessage,
4119     DWORD* pdwStubPhase);
4120 
4121 #endif  /* __IBDA_DigitalDemodulator3_INTERFACE_DEFINED__ */
4122 
4123 /*****************************************************************************
4124  * ICCSubStreamFiltering interface
4125  */
4126 #ifndef __ICCSubStreamFiltering_INTERFACE_DEFINED__
4127 #define __ICCSubStreamFiltering_INTERFACE_DEFINED__
4128 
4129 DEFINE_GUID(IID_ICCSubStreamFiltering, 0x4b2bd7ea, 0x8347, 0x467b, 0x8d,0xbf, 0x62,0xf7,0x84,0x92,0x9c,0xc3);
4130 #if defined(__cplusplus) && !defined(CINTERFACE)
4131 MIDL_INTERFACE("4b2bd7ea-8347-467b-8dbf-62f784929cc3")
4132 ICCSubStreamFiltering : public IUnknown
4133 {
4134     virtual HRESULT STDMETHODCALLTYPE get_SubstreamTypes(
4135         LONG *pTypes) = 0;
4136 
4137     virtual HRESULT STDMETHODCALLTYPE put_SubstreamTypes(
4138         LONG Types) = 0;
4139 
4140 };
4141 #ifdef __CRT_UUID_DECL
4142 __CRT_UUID_DECL(ICCSubStreamFiltering, 0x4b2bd7ea, 0x8347, 0x467b, 0x8d,0xbf, 0x62,0xf7,0x84,0x92,0x9c,0xc3)
4143 #endif
4144 #else
4145 typedef struct ICCSubStreamFilteringVtbl {
4146     BEGIN_INTERFACE
4147 
4148     /*** IUnknown methods ***/
4149     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4150         ICCSubStreamFiltering* This,
4151         REFIID riid,
4152         void **ppvObject);
4153 
4154     ULONG (STDMETHODCALLTYPE *AddRef)(
4155         ICCSubStreamFiltering* This);
4156 
4157     ULONG (STDMETHODCALLTYPE *Release)(
4158         ICCSubStreamFiltering* This);
4159 
4160     /*** ICCSubStreamFiltering methods ***/
4161     HRESULT (STDMETHODCALLTYPE *get_SubstreamTypes)(
4162         ICCSubStreamFiltering* This,
4163         LONG *pTypes);
4164 
4165     HRESULT (STDMETHODCALLTYPE *put_SubstreamTypes)(
4166         ICCSubStreamFiltering* This,
4167         LONG Types);
4168 
4169     END_INTERFACE
4170 } ICCSubStreamFilteringVtbl;
4171 interface ICCSubStreamFiltering {
4172     CONST_VTBL ICCSubStreamFilteringVtbl* lpVtbl;
4173 };
4174 
4175 #ifdef COBJMACROS
4176 #ifndef WIDL_C_INLINE_WRAPPERS
4177 /*** IUnknown methods ***/
4178 #define ICCSubStreamFiltering_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4179 #define ICCSubStreamFiltering_AddRef(This) (This)->lpVtbl->AddRef(This)
4180 #define ICCSubStreamFiltering_Release(This) (This)->lpVtbl->Release(This)
4181 /*** ICCSubStreamFiltering methods ***/
4182 #define ICCSubStreamFiltering_get_SubstreamTypes(This,pTypes) (This)->lpVtbl->get_SubstreamTypes(This,pTypes)
4183 #define ICCSubStreamFiltering_put_SubstreamTypes(This,Types) (This)->lpVtbl->put_SubstreamTypes(This,Types)
4184 #else
4185 /*** IUnknown methods ***/
4186 static FORCEINLINE HRESULT ICCSubStreamFiltering_QueryInterface(ICCSubStreamFiltering* This,REFIID riid,void **ppvObject) {
4187     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4188 }
4189 static FORCEINLINE ULONG ICCSubStreamFiltering_AddRef(ICCSubStreamFiltering* This) {
4190     return This->lpVtbl->AddRef(This);
4191 }
4192 static FORCEINLINE ULONG ICCSubStreamFiltering_Release(ICCSubStreamFiltering* This) {
4193     return This->lpVtbl->Release(This);
4194 }
4195 /*** ICCSubStreamFiltering methods ***/
4196 static FORCEINLINE HRESULT ICCSubStreamFiltering_get_SubstreamTypes(ICCSubStreamFiltering* This,LONG *pTypes) {
4197     return This->lpVtbl->get_SubstreamTypes(This,pTypes);
4198 }
4199 static FORCEINLINE HRESULT ICCSubStreamFiltering_put_SubstreamTypes(ICCSubStreamFiltering* This,LONG Types) {
4200     return This->lpVtbl->put_SubstreamTypes(This,Types);
4201 }
4202 #endif
4203 #endif
4204 
4205 #endif
4206 
4207 HRESULT STDMETHODCALLTYPE ICCSubStreamFiltering_get_SubstreamTypes_Proxy(
4208     ICCSubStreamFiltering* This,
4209     LONG *pTypes);
4210 void __RPC_STUB ICCSubStreamFiltering_get_SubstreamTypes_Stub(
4211     IRpcStubBuffer* This,
4212     IRpcChannelBuffer* pRpcChannelBuffer,
4213     PRPC_MESSAGE pRpcMessage,
4214     DWORD* pdwStubPhase);
4215 HRESULT STDMETHODCALLTYPE ICCSubStreamFiltering_put_SubstreamTypes_Proxy(
4216     ICCSubStreamFiltering* This,
4217     LONG Types);
4218 void __RPC_STUB ICCSubStreamFiltering_put_SubstreamTypes_Stub(
4219     IRpcStubBuffer* This,
4220     IRpcChannelBuffer* pRpcChannelBuffer,
4221     PRPC_MESSAGE pRpcMessage,
4222     DWORD* pdwStubPhase);
4223 
4224 #endif  /* __ICCSubStreamFiltering_INTERFACE_DEFINED__ */
4225 
4226 /*****************************************************************************
4227  * IBDA_IPSinkControl interface
4228  */
4229 #ifndef __IBDA_IPSinkControl_INTERFACE_DEFINED__
4230 #define __IBDA_IPSinkControl_INTERFACE_DEFINED__
4231 
4232 DEFINE_GUID(IID_IBDA_IPSinkControl, 0x3f4dc8e2, 0x4050, 0x11d3, 0x8f,0x4b, 0x00,0xc0,0x4f,0x79,0x71,0xe2);
4233 #if defined(__cplusplus) && !defined(CINTERFACE)
4234 MIDL_INTERFACE("3f4dc8e2-4050-11d3-8f4b-00c04f7971e2")
4235 IBDA_IPSinkControl : public IUnknown
4236 {
4237     virtual HRESULT STDMETHODCALLTYPE GetMulticastList(
4238         ULONG *pulcbSize,
4239         BYTE **pbBuffer) = 0;
4240 
4241     virtual HRESULT STDMETHODCALLTYPE GetAdapterIPAddress(
4242         ULONG *pulcbSize,
4243         BYTE **pbBuffer) = 0;
4244 
4245 };
4246 #ifdef __CRT_UUID_DECL
4247 __CRT_UUID_DECL(IBDA_IPSinkControl, 0x3f4dc8e2, 0x4050, 0x11d3, 0x8f,0x4b, 0x00,0xc0,0x4f,0x79,0x71,0xe2)
4248 #endif
4249 #else
4250 typedef struct IBDA_IPSinkControlVtbl {
4251     BEGIN_INTERFACE
4252 
4253     /*** IUnknown methods ***/
4254     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4255         IBDA_IPSinkControl* This,
4256         REFIID riid,
4257         void **ppvObject);
4258 
4259     ULONG (STDMETHODCALLTYPE *AddRef)(
4260         IBDA_IPSinkControl* This);
4261 
4262     ULONG (STDMETHODCALLTYPE *Release)(
4263         IBDA_IPSinkControl* This);
4264 
4265     /*** IBDA_IPSinkControl methods ***/
4266     HRESULT (STDMETHODCALLTYPE *GetMulticastList)(
4267         IBDA_IPSinkControl* This,
4268         ULONG *pulcbSize,
4269         BYTE **pbBuffer);
4270 
4271     HRESULT (STDMETHODCALLTYPE *GetAdapterIPAddress)(
4272         IBDA_IPSinkControl* This,
4273         ULONG *pulcbSize,
4274         BYTE **pbBuffer);
4275 
4276     END_INTERFACE
4277 } IBDA_IPSinkControlVtbl;
4278 interface IBDA_IPSinkControl {
4279     CONST_VTBL IBDA_IPSinkControlVtbl* lpVtbl;
4280 };
4281 
4282 #ifdef COBJMACROS
4283 #ifndef WIDL_C_INLINE_WRAPPERS
4284 /*** IUnknown methods ***/
4285 #define IBDA_IPSinkControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4286 #define IBDA_IPSinkControl_AddRef(This) (This)->lpVtbl->AddRef(This)
4287 #define IBDA_IPSinkControl_Release(This) (This)->lpVtbl->Release(This)
4288 /*** IBDA_IPSinkControl methods ***/
4289 #define IBDA_IPSinkControl_GetMulticastList(This,pulcbSize,pbBuffer) (This)->lpVtbl->GetMulticastList(This,pulcbSize,pbBuffer)
4290 #define IBDA_IPSinkControl_GetAdapterIPAddress(This,pulcbSize,pbBuffer) (This)->lpVtbl->GetAdapterIPAddress(This,pulcbSize,pbBuffer)
4291 #else
4292 /*** IUnknown methods ***/
4293 static FORCEINLINE HRESULT IBDA_IPSinkControl_QueryInterface(IBDA_IPSinkControl* This,REFIID riid,void **ppvObject) {
4294     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4295 }
4296 static FORCEINLINE ULONG IBDA_IPSinkControl_AddRef(IBDA_IPSinkControl* This) {
4297     return This->lpVtbl->AddRef(This);
4298 }
4299 static FORCEINLINE ULONG IBDA_IPSinkControl_Release(IBDA_IPSinkControl* This) {
4300     return This->lpVtbl->Release(This);
4301 }
4302 /*** IBDA_IPSinkControl methods ***/
4303 static FORCEINLINE HRESULT IBDA_IPSinkControl_GetMulticastList(IBDA_IPSinkControl* This,ULONG *pulcbSize,BYTE **pbBuffer) {
4304     return This->lpVtbl->GetMulticastList(This,pulcbSize,pbBuffer);
4305 }
4306 static FORCEINLINE HRESULT IBDA_IPSinkControl_GetAdapterIPAddress(IBDA_IPSinkControl* This,ULONG *pulcbSize,BYTE **pbBuffer) {
4307     return This->lpVtbl->GetAdapterIPAddress(This,pulcbSize,pbBuffer);
4308 }
4309 #endif
4310 #endif
4311 
4312 #endif
4313 
4314 HRESULT STDMETHODCALLTYPE IBDA_IPSinkControl_GetMulticastList_Proxy(
4315     IBDA_IPSinkControl* This,
4316     ULONG *pulcbSize,
4317     BYTE **pbBuffer);
4318 void __RPC_STUB IBDA_IPSinkControl_GetMulticastList_Stub(
4319     IRpcStubBuffer* This,
4320     IRpcChannelBuffer* pRpcChannelBuffer,
4321     PRPC_MESSAGE pRpcMessage,
4322     DWORD* pdwStubPhase);
4323 HRESULT STDMETHODCALLTYPE IBDA_IPSinkControl_GetAdapterIPAddress_Proxy(
4324     IBDA_IPSinkControl* This,
4325     ULONG *pulcbSize,
4326     BYTE **pbBuffer);
4327 void __RPC_STUB IBDA_IPSinkControl_GetAdapterIPAddress_Stub(
4328     IRpcStubBuffer* This,
4329     IRpcChannelBuffer* pRpcChannelBuffer,
4330     PRPC_MESSAGE pRpcMessage,
4331     DWORD* pdwStubPhase);
4332 
4333 #endif  /* __IBDA_IPSinkControl_INTERFACE_DEFINED__ */
4334 
4335 /*****************************************************************************
4336  * IBDA_IPSinkInfo interface
4337  */
4338 #ifndef __IBDA_IPSinkInfo_INTERFACE_DEFINED__
4339 #define __IBDA_IPSinkInfo_INTERFACE_DEFINED__
4340 
4341 DEFINE_GUID(IID_IBDA_IPSinkInfo, 0xa750108f, 0x492e, 0x4d51, 0x95,0xf7, 0x64,0x9b,0x23,0xff,0x7a,0xd7);
4342 #if defined(__cplusplus) && !defined(CINTERFACE)
4343 MIDL_INTERFACE("a750108f-492e-4d51-95f7-649b23ff7ad7")
4344 IBDA_IPSinkInfo : public IUnknown
4345 {
4346     virtual HRESULT STDMETHODCALLTYPE get_MulticastList(
4347         ULONG *pulcbAddresses,
4348         BYTE **ppbAddressList) = 0;
4349 
4350     virtual HRESULT STDMETHODCALLTYPE get_AdapterIPAddress(
4351         BSTR *pbstrBuffer) = 0;
4352 
4353     virtual HRESULT STDMETHODCALLTYPE get_AdapterDescription(
4354         BSTR *pbstrBuffer) = 0;
4355 
4356 };
4357 #ifdef __CRT_UUID_DECL
4358 __CRT_UUID_DECL(IBDA_IPSinkInfo, 0xa750108f, 0x492e, 0x4d51, 0x95,0xf7, 0x64,0x9b,0x23,0xff,0x7a,0xd7)
4359 #endif
4360 #else
4361 typedef struct IBDA_IPSinkInfoVtbl {
4362     BEGIN_INTERFACE
4363 
4364     /*** IUnknown methods ***/
4365     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4366         IBDA_IPSinkInfo* This,
4367         REFIID riid,
4368         void **ppvObject);
4369 
4370     ULONG (STDMETHODCALLTYPE *AddRef)(
4371         IBDA_IPSinkInfo* This);
4372 
4373     ULONG (STDMETHODCALLTYPE *Release)(
4374         IBDA_IPSinkInfo* This);
4375 
4376     /*** IBDA_IPSinkInfo methods ***/
4377     HRESULT (STDMETHODCALLTYPE *get_MulticastList)(
4378         IBDA_IPSinkInfo* This,
4379         ULONG *pulcbAddresses,
4380         BYTE **ppbAddressList);
4381 
4382     HRESULT (STDMETHODCALLTYPE *get_AdapterIPAddress)(
4383         IBDA_IPSinkInfo* This,
4384         BSTR *pbstrBuffer);
4385 
4386     HRESULT (STDMETHODCALLTYPE *get_AdapterDescription)(
4387         IBDA_IPSinkInfo* This,
4388         BSTR *pbstrBuffer);
4389 
4390     END_INTERFACE
4391 } IBDA_IPSinkInfoVtbl;
4392 interface IBDA_IPSinkInfo {
4393     CONST_VTBL IBDA_IPSinkInfoVtbl* lpVtbl;
4394 };
4395 
4396 #ifdef COBJMACROS
4397 #ifndef WIDL_C_INLINE_WRAPPERS
4398 /*** IUnknown methods ***/
4399 #define IBDA_IPSinkInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4400 #define IBDA_IPSinkInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
4401 #define IBDA_IPSinkInfo_Release(This) (This)->lpVtbl->Release(This)
4402 /*** IBDA_IPSinkInfo methods ***/
4403 #define IBDA_IPSinkInfo_get_MulticastList(This,pulcbAddresses,ppbAddressList) (This)->lpVtbl->get_MulticastList(This,pulcbAddresses,ppbAddressList)
4404 #define IBDA_IPSinkInfo_get_AdapterIPAddress(This,pbstrBuffer) (This)->lpVtbl->get_AdapterIPAddress(This,pbstrBuffer)
4405 #define IBDA_IPSinkInfo_get_AdapterDescription(This,pbstrBuffer) (This)->lpVtbl->get_AdapterDescription(This,pbstrBuffer)
4406 #else
4407 /*** IUnknown methods ***/
4408 static FORCEINLINE HRESULT IBDA_IPSinkInfo_QueryInterface(IBDA_IPSinkInfo* This,REFIID riid,void **ppvObject) {
4409     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4410 }
4411 static FORCEINLINE ULONG IBDA_IPSinkInfo_AddRef(IBDA_IPSinkInfo* This) {
4412     return This->lpVtbl->AddRef(This);
4413 }
4414 static FORCEINLINE ULONG IBDA_IPSinkInfo_Release(IBDA_IPSinkInfo* This) {
4415     return This->lpVtbl->Release(This);
4416 }
4417 /*** IBDA_IPSinkInfo methods ***/
4418 static FORCEINLINE HRESULT IBDA_IPSinkInfo_get_MulticastList(IBDA_IPSinkInfo* This,ULONG *pulcbAddresses,BYTE **ppbAddressList) {
4419     return This->lpVtbl->get_MulticastList(This,pulcbAddresses,ppbAddressList);
4420 }
4421 static FORCEINLINE HRESULT IBDA_IPSinkInfo_get_AdapterIPAddress(IBDA_IPSinkInfo* This,BSTR *pbstrBuffer) {
4422     return This->lpVtbl->get_AdapterIPAddress(This,pbstrBuffer);
4423 }
4424 static FORCEINLINE HRESULT IBDA_IPSinkInfo_get_AdapterDescription(IBDA_IPSinkInfo* This,BSTR *pbstrBuffer) {
4425     return This->lpVtbl->get_AdapterDescription(This,pbstrBuffer);
4426 }
4427 #endif
4428 #endif
4429 
4430 #endif
4431 
4432 HRESULT STDMETHODCALLTYPE IBDA_IPSinkInfo_get_MulticastList_Proxy(
4433     IBDA_IPSinkInfo* This,
4434     ULONG *pulcbAddresses,
4435     BYTE **ppbAddressList);
4436 void __RPC_STUB IBDA_IPSinkInfo_get_MulticastList_Stub(
4437     IRpcStubBuffer* This,
4438     IRpcChannelBuffer* pRpcChannelBuffer,
4439     PRPC_MESSAGE pRpcMessage,
4440     DWORD* pdwStubPhase);
4441 HRESULT STDMETHODCALLTYPE IBDA_IPSinkInfo_get_AdapterIPAddress_Proxy(
4442     IBDA_IPSinkInfo* This,
4443     BSTR *pbstrBuffer);
4444 void __RPC_STUB IBDA_IPSinkInfo_get_AdapterIPAddress_Stub(
4445     IRpcStubBuffer* This,
4446     IRpcChannelBuffer* pRpcChannelBuffer,
4447     PRPC_MESSAGE pRpcMessage,
4448     DWORD* pdwStubPhase);
4449 HRESULT STDMETHODCALLTYPE IBDA_IPSinkInfo_get_AdapterDescription_Proxy(
4450     IBDA_IPSinkInfo* This,
4451     BSTR *pbstrBuffer);
4452 void __RPC_STUB IBDA_IPSinkInfo_get_AdapterDescription_Stub(
4453     IRpcStubBuffer* This,
4454     IRpcChannelBuffer* pRpcChannelBuffer,
4455     PRPC_MESSAGE pRpcMessage,
4456     DWORD* pdwStubPhase);
4457 
4458 #endif  /* __IBDA_IPSinkInfo_INTERFACE_DEFINED__ */
4459 
4460 /*****************************************************************************
4461  * IEnumPIDMap interface
4462  */
4463 #ifndef __IEnumPIDMap_INTERFACE_DEFINED__
4464 #define __IEnumPIDMap_INTERFACE_DEFINED__
4465 
4466 DEFINE_GUID(IID_IEnumPIDMap, 0xafb6c2a2, 0x2c41, 0x11d3, 0x8a,0x60, 0x00,0x00,0xf8,0x1e,0x0e,0x4a);
4467 #if defined(__cplusplus) && !defined(CINTERFACE)
4468 MIDL_INTERFACE("afb6c2a2-2c41-11d3-8a60-0000f81e0e4a")
4469 IEnumPIDMap : public IUnknown
4470 {
4471     virtual HRESULT STDMETHODCALLTYPE Next(
4472         ULONG cRequest,
4473         PID_MAP *pPIDMap,
4474         ULONG *pcReceived) = 0;
4475 
4476     virtual HRESULT STDMETHODCALLTYPE Skip(
4477         ULONG cRecords) = 0;
4478 
4479     virtual HRESULT STDMETHODCALLTYPE Reset(
4480         ) = 0;
4481 
4482     virtual HRESULT STDMETHODCALLTYPE Clone(
4483         IEnumPIDMap **ppIEnumPIDMap) = 0;
4484 
4485 };
4486 #ifdef __CRT_UUID_DECL
4487 __CRT_UUID_DECL(IEnumPIDMap, 0xafb6c2a2, 0x2c41, 0x11d3, 0x8a,0x60, 0x00,0x00,0xf8,0x1e,0x0e,0x4a)
4488 #endif
4489 #else
4490 typedef struct IEnumPIDMapVtbl {
4491     BEGIN_INTERFACE
4492 
4493     /*** IUnknown methods ***/
4494     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4495         IEnumPIDMap* This,
4496         REFIID riid,
4497         void **ppvObject);
4498 
4499     ULONG (STDMETHODCALLTYPE *AddRef)(
4500         IEnumPIDMap* This);
4501 
4502     ULONG (STDMETHODCALLTYPE *Release)(
4503         IEnumPIDMap* This);
4504 
4505     /*** IEnumPIDMap methods ***/
4506     HRESULT (STDMETHODCALLTYPE *Next)(
4507         IEnumPIDMap* This,
4508         ULONG cRequest,
4509         PID_MAP *pPIDMap,
4510         ULONG *pcReceived);
4511 
4512     HRESULT (STDMETHODCALLTYPE *Skip)(
4513         IEnumPIDMap* This,
4514         ULONG cRecords);
4515 
4516     HRESULT (STDMETHODCALLTYPE *Reset)(
4517         IEnumPIDMap* This);
4518 
4519     HRESULT (STDMETHODCALLTYPE *Clone)(
4520         IEnumPIDMap* This,
4521         IEnumPIDMap **ppIEnumPIDMap);
4522 
4523     END_INTERFACE
4524 } IEnumPIDMapVtbl;
4525 interface IEnumPIDMap {
4526     CONST_VTBL IEnumPIDMapVtbl* lpVtbl;
4527 };
4528 
4529 #ifdef COBJMACROS
4530 #ifndef WIDL_C_INLINE_WRAPPERS
4531 /*** IUnknown methods ***/
4532 #define IEnumPIDMap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4533 #define IEnumPIDMap_AddRef(This) (This)->lpVtbl->AddRef(This)
4534 #define IEnumPIDMap_Release(This) (This)->lpVtbl->Release(This)
4535 /*** IEnumPIDMap methods ***/
4536 #define IEnumPIDMap_Next(This,cRequest,pPIDMap,pcReceived) (This)->lpVtbl->Next(This,cRequest,pPIDMap,pcReceived)
4537 #define IEnumPIDMap_Skip(This,cRecords) (This)->lpVtbl->Skip(This,cRecords)
4538 #define IEnumPIDMap_Reset(This) (This)->lpVtbl->Reset(This)
4539 #define IEnumPIDMap_Clone(This,ppIEnumPIDMap) (This)->lpVtbl->Clone(This,ppIEnumPIDMap)
4540 #else
4541 /*** IUnknown methods ***/
4542 static FORCEINLINE HRESULT IEnumPIDMap_QueryInterface(IEnumPIDMap* This,REFIID riid,void **ppvObject) {
4543     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4544 }
4545 static FORCEINLINE ULONG IEnumPIDMap_AddRef(IEnumPIDMap* This) {
4546     return This->lpVtbl->AddRef(This);
4547 }
4548 static FORCEINLINE ULONG IEnumPIDMap_Release(IEnumPIDMap* This) {
4549     return This->lpVtbl->Release(This);
4550 }
4551 /*** IEnumPIDMap methods ***/
4552 static FORCEINLINE HRESULT IEnumPIDMap_Next(IEnumPIDMap* This,ULONG cRequest,PID_MAP *pPIDMap,ULONG *pcReceived) {
4553     return This->lpVtbl->Next(This,cRequest,pPIDMap,pcReceived);
4554 }
4555 static FORCEINLINE HRESULT IEnumPIDMap_Skip(IEnumPIDMap* This,ULONG cRecords) {
4556     return This->lpVtbl->Skip(This,cRecords);
4557 }
4558 static FORCEINLINE HRESULT IEnumPIDMap_Reset(IEnumPIDMap* This) {
4559     return This->lpVtbl->Reset(This);
4560 }
4561 static FORCEINLINE HRESULT IEnumPIDMap_Clone(IEnumPIDMap* This,IEnumPIDMap **ppIEnumPIDMap) {
4562     return This->lpVtbl->Clone(This,ppIEnumPIDMap);
4563 }
4564 #endif
4565 #endif
4566 
4567 #endif
4568 
4569 HRESULT STDMETHODCALLTYPE IEnumPIDMap_Next_Proxy(
4570     IEnumPIDMap* This,
4571     ULONG cRequest,
4572     PID_MAP *pPIDMap,
4573     ULONG *pcReceived);
4574 void __RPC_STUB IEnumPIDMap_Next_Stub(
4575     IRpcStubBuffer* This,
4576     IRpcChannelBuffer* pRpcChannelBuffer,
4577     PRPC_MESSAGE pRpcMessage,
4578     DWORD* pdwStubPhase);
4579 HRESULT STDMETHODCALLTYPE IEnumPIDMap_Skip_Proxy(
4580     IEnumPIDMap* This,
4581     ULONG cRecords);
4582 void __RPC_STUB IEnumPIDMap_Skip_Stub(
4583     IRpcStubBuffer* This,
4584     IRpcChannelBuffer* pRpcChannelBuffer,
4585     PRPC_MESSAGE pRpcMessage,
4586     DWORD* pdwStubPhase);
4587 HRESULT STDMETHODCALLTYPE IEnumPIDMap_Reset_Proxy(
4588     IEnumPIDMap* This);
4589 void __RPC_STUB IEnumPIDMap_Reset_Stub(
4590     IRpcStubBuffer* This,
4591     IRpcChannelBuffer* pRpcChannelBuffer,
4592     PRPC_MESSAGE pRpcMessage,
4593     DWORD* pdwStubPhase);
4594 HRESULT STDMETHODCALLTYPE IEnumPIDMap_Clone_Proxy(
4595     IEnumPIDMap* This,
4596     IEnumPIDMap **ppIEnumPIDMap);
4597 void __RPC_STUB IEnumPIDMap_Clone_Stub(
4598     IRpcStubBuffer* This,
4599     IRpcChannelBuffer* pRpcChannelBuffer,
4600     PRPC_MESSAGE pRpcMessage,
4601     DWORD* pdwStubPhase);
4602 
4603 #endif  /* __IEnumPIDMap_INTERFACE_DEFINED__ */
4604 
4605 /*****************************************************************************
4606  * IMPEG2PIDMap interface
4607  */
4608 #ifndef __IMPEG2PIDMap_INTERFACE_DEFINED__
4609 #define __IMPEG2PIDMap_INTERFACE_DEFINED__
4610 
4611 DEFINE_GUID(IID_IMPEG2PIDMap, 0xafb6c2a1, 0x2c41, 0x11d3, 0x8a,0x60, 0x00,0x00,0xf8,0x1e,0x0e,0x4a);
4612 #if defined(__cplusplus) && !defined(CINTERFACE)
4613 MIDL_INTERFACE("afb6c2a1-2c41-11d3-8a60-0000f81e0e4a")
4614 IMPEG2PIDMap : public IUnknown
4615 {
4616     virtual HRESULT STDMETHODCALLTYPE MapPID(
4617         ULONG culPID,
4618         ULONG *pulPID,
4619         MEDIA_SAMPLE_CONTENT MediaSampleContent) = 0;
4620 
4621     virtual HRESULT STDMETHODCALLTYPE UnmapPID(
4622         ULONG culPID,
4623         ULONG *pulPID) = 0;
4624 
4625     virtual HRESULT STDMETHODCALLTYPE EnumPIDMap(
4626         IEnumPIDMap **pIEnumPIDMap) = 0;
4627 
4628 };
4629 #ifdef __CRT_UUID_DECL
4630 __CRT_UUID_DECL(IMPEG2PIDMap, 0xafb6c2a1, 0x2c41, 0x11d3, 0x8a,0x60, 0x00,0x00,0xf8,0x1e,0x0e,0x4a)
4631 #endif
4632 #else
4633 typedef struct IMPEG2PIDMapVtbl {
4634     BEGIN_INTERFACE
4635 
4636     /*** IUnknown methods ***/
4637     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4638         IMPEG2PIDMap* This,
4639         REFIID riid,
4640         void **ppvObject);
4641 
4642     ULONG (STDMETHODCALLTYPE *AddRef)(
4643         IMPEG2PIDMap* This);
4644 
4645     ULONG (STDMETHODCALLTYPE *Release)(
4646         IMPEG2PIDMap* This);
4647 
4648     /*** IMPEG2PIDMap methods ***/
4649     HRESULT (STDMETHODCALLTYPE *MapPID)(
4650         IMPEG2PIDMap* This,
4651         ULONG culPID,
4652         ULONG *pulPID,
4653         MEDIA_SAMPLE_CONTENT MediaSampleContent);
4654 
4655     HRESULT (STDMETHODCALLTYPE *UnmapPID)(
4656         IMPEG2PIDMap* This,
4657         ULONG culPID,
4658         ULONG *pulPID);
4659 
4660     HRESULT (STDMETHODCALLTYPE *EnumPIDMap)(
4661         IMPEG2PIDMap* This,
4662         IEnumPIDMap **pIEnumPIDMap);
4663 
4664     END_INTERFACE
4665 } IMPEG2PIDMapVtbl;
4666 interface IMPEG2PIDMap {
4667     CONST_VTBL IMPEG2PIDMapVtbl* lpVtbl;
4668 };
4669 
4670 #ifdef COBJMACROS
4671 #ifndef WIDL_C_INLINE_WRAPPERS
4672 /*** IUnknown methods ***/
4673 #define IMPEG2PIDMap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4674 #define IMPEG2PIDMap_AddRef(This) (This)->lpVtbl->AddRef(This)
4675 #define IMPEG2PIDMap_Release(This) (This)->lpVtbl->Release(This)
4676 /*** IMPEG2PIDMap methods ***/
4677 #define IMPEG2PIDMap_MapPID(This,culPID,pulPID,MediaSampleContent) (This)->lpVtbl->MapPID(This,culPID,pulPID,MediaSampleContent)
4678 #define IMPEG2PIDMap_UnmapPID(This,culPID,pulPID) (This)->lpVtbl->UnmapPID(This,culPID,pulPID)
4679 #define IMPEG2PIDMap_EnumPIDMap(This,pIEnumPIDMap) (This)->lpVtbl->EnumPIDMap(This,pIEnumPIDMap)
4680 #else
4681 /*** IUnknown methods ***/
4682 static FORCEINLINE HRESULT IMPEG2PIDMap_QueryInterface(IMPEG2PIDMap* This,REFIID riid,void **ppvObject) {
4683     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4684 }
4685 static FORCEINLINE ULONG IMPEG2PIDMap_AddRef(IMPEG2PIDMap* This) {
4686     return This->lpVtbl->AddRef(This);
4687 }
4688 static FORCEINLINE ULONG IMPEG2PIDMap_Release(IMPEG2PIDMap* This) {
4689     return This->lpVtbl->Release(This);
4690 }
4691 /*** IMPEG2PIDMap methods ***/
4692 static FORCEINLINE HRESULT IMPEG2PIDMap_MapPID(IMPEG2PIDMap* This,ULONG culPID,ULONG *pulPID,MEDIA_SAMPLE_CONTENT MediaSampleContent) {
4693     return This->lpVtbl->MapPID(This,culPID,pulPID,MediaSampleContent);
4694 }
4695 static FORCEINLINE HRESULT IMPEG2PIDMap_UnmapPID(IMPEG2PIDMap* This,ULONG culPID,ULONG *pulPID) {
4696     return This->lpVtbl->UnmapPID(This,culPID,pulPID);
4697 }
4698 static FORCEINLINE HRESULT IMPEG2PIDMap_EnumPIDMap(IMPEG2PIDMap* This,IEnumPIDMap **pIEnumPIDMap) {
4699     return This->lpVtbl->EnumPIDMap(This,pIEnumPIDMap);
4700 }
4701 #endif
4702 #endif
4703 
4704 #endif
4705 
4706 HRESULT STDMETHODCALLTYPE IMPEG2PIDMap_MapPID_Proxy(
4707     IMPEG2PIDMap* This,
4708     ULONG culPID,
4709     ULONG *pulPID,
4710     MEDIA_SAMPLE_CONTENT MediaSampleContent);
4711 void __RPC_STUB IMPEG2PIDMap_MapPID_Stub(
4712     IRpcStubBuffer* This,
4713     IRpcChannelBuffer* pRpcChannelBuffer,
4714     PRPC_MESSAGE pRpcMessage,
4715     DWORD* pdwStubPhase);
4716 HRESULT STDMETHODCALLTYPE IMPEG2PIDMap_UnmapPID_Proxy(
4717     IMPEG2PIDMap* This,
4718     ULONG culPID,
4719     ULONG *pulPID);
4720 void __RPC_STUB IMPEG2PIDMap_UnmapPID_Stub(
4721     IRpcStubBuffer* This,
4722     IRpcChannelBuffer* pRpcChannelBuffer,
4723     PRPC_MESSAGE pRpcMessage,
4724     DWORD* pdwStubPhase);
4725 HRESULT STDMETHODCALLTYPE IMPEG2PIDMap_EnumPIDMap_Proxy(
4726     IMPEG2PIDMap* This,
4727     IEnumPIDMap **pIEnumPIDMap);
4728 void __RPC_STUB IMPEG2PIDMap_EnumPIDMap_Stub(
4729     IRpcStubBuffer* This,
4730     IRpcChannelBuffer* pRpcChannelBuffer,
4731     PRPC_MESSAGE pRpcMessage,
4732     DWORD* pdwStubPhase);
4733 
4734 #endif  /* __IMPEG2PIDMap_INTERFACE_DEFINED__ */
4735 
4736 /*****************************************************************************
4737  * IFrequencyMap interface
4738  */
4739 #ifndef __IFrequencyMap_INTERFACE_DEFINED__
4740 #define __IFrequencyMap_INTERFACE_DEFINED__
4741 
4742 DEFINE_GUID(IID_IFrequencyMap, 0x06fb45c1, 0x693c, 0x4ea7, 0xb7,0x9f, 0x7a,0x6a,0x54,0xd8,0xde,0xf2);
4743 #if defined(__cplusplus) && !defined(CINTERFACE)
4744 MIDL_INTERFACE("06fb45c1-693c-4ea7-b79f-7a6a54d8def2")
4745 IFrequencyMap : public IUnknown
4746 {
4747     virtual HRESULT STDMETHODCALLTYPE get_FrequencyMapping(
4748         ULONG *ulCount,
4749         ULONG **ppulList) = 0;
4750 
4751     virtual HRESULT STDMETHODCALLTYPE put_FrequencyMapping(
4752         ULONG ulCount,
4753         ULONG pList[]) = 0;
4754 
4755     virtual HRESULT STDMETHODCALLTYPE get_CountryCode(
4756         ULONG *pulCountryCode) = 0;
4757 
4758     virtual HRESULT STDMETHODCALLTYPE put_CountryCode(
4759         ULONG ulCountryCode) = 0;
4760 
4761     virtual HRESULT STDMETHODCALLTYPE get_DefaultFrequencyMapping(
4762         ULONG ulCountryCode,
4763         ULONG *pulCount,
4764         ULONG **ppulList) = 0;
4765 
4766     virtual HRESULT STDMETHODCALLTYPE get_CountryCodeList(
4767         ULONG *pulCount,
4768         ULONG **ppulList) = 0;
4769 
4770 };
4771 #ifdef __CRT_UUID_DECL
4772 __CRT_UUID_DECL(IFrequencyMap, 0x06fb45c1, 0x693c, 0x4ea7, 0xb7,0x9f, 0x7a,0x6a,0x54,0xd8,0xde,0xf2)
4773 #endif
4774 #else
4775 typedef struct IFrequencyMapVtbl {
4776     BEGIN_INTERFACE
4777 
4778     /*** IUnknown methods ***/
4779     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4780         IFrequencyMap* This,
4781         REFIID riid,
4782         void **ppvObject);
4783 
4784     ULONG (STDMETHODCALLTYPE *AddRef)(
4785         IFrequencyMap* This);
4786 
4787     ULONG (STDMETHODCALLTYPE *Release)(
4788         IFrequencyMap* This);
4789 
4790     /*** IFrequencyMap methods ***/
4791     HRESULT (STDMETHODCALLTYPE *get_FrequencyMapping)(
4792         IFrequencyMap* This,
4793         ULONG *ulCount,
4794         ULONG **ppulList);
4795 
4796     HRESULT (STDMETHODCALLTYPE *put_FrequencyMapping)(
4797         IFrequencyMap* This,
4798         ULONG ulCount,
4799         ULONG pList[]);
4800 
4801     HRESULT (STDMETHODCALLTYPE *get_CountryCode)(
4802         IFrequencyMap* This,
4803         ULONG *pulCountryCode);
4804 
4805     HRESULT (STDMETHODCALLTYPE *put_CountryCode)(
4806         IFrequencyMap* This,
4807         ULONG ulCountryCode);
4808 
4809     HRESULT (STDMETHODCALLTYPE *get_DefaultFrequencyMapping)(
4810         IFrequencyMap* This,
4811         ULONG ulCountryCode,
4812         ULONG *pulCount,
4813         ULONG **ppulList);
4814 
4815     HRESULT (STDMETHODCALLTYPE *get_CountryCodeList)(
4816         IFrequencyMap* This,
4817         ULONG *pulCount,
4818         ULONG **ppulList);
4819 
4820     END_INTERFACE
4821 } IFrequencyMapVtbl;
4822 interface IFrequencyMap {
4823     CONST_VTBL IFrequencyMapVtbl* lpVtbl;
4824 };
4825 
4826 #ifdef COBJMACROS
4827 #ifndef WIDL_C_INLINE_WRAPPERS
4828 /*** IUnknown methods ***/
4829 #define IFrequencyMap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4830 #define IFrequencyMap_AddRef(This) (This)->lpVtbl->AddRef(This)
4831 #define IFrequencyMap_Release(This) (This)->lpVtbl->Release(This)
4832 /*** IFrequencyMap methods ***/
4833 #define IFrequencyMap_get_FrequencyMapping(This,ulCount,ppulList) (This)->lpVtbl->get_FrequencyMapping(This,ulCount,ppulList)
4834 #define IFrequencyMap_put_FrequencyMapping(This,ulCount,pList) (This)->lpVtbl->put_FrequencyMapping(This,ulCount,pList)
4835 #define IFrequencyMap_get_CountryCode(This,pulCountryCode) (This)->lpVtbl->get_CountryCode(This,pulCountryCode)
4836 #define IFrequencyMap_put_CountryCode(This,ulCountryCode) (This)->lpVtbl->put_CountryCode(This,ulCountryCode)
4837 #define IFrequencyMap_get_DefaultFrequencyMapping(This,ulCountryCode,pulCount,ppulList) (This)->lpVtbl->get_DefaultFrequencyMapping(This,ulCountryCode,pulCount,ppulList)
4838 #define IFrequencyMap_get_CountryCodeList(This,pulCount,ppulList) (This)->lpVtbl->get_CountryCodeList(This,pulCount,ppulList)
4839 #else
4840 /*** IUnknown methods ***/
4841 static FORCEINLINE HRESULT IFrequencyMap_QueryInterface(IFrequencyMap* This,REFIID riid,void **ppvObject) {
4842     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4843 }
4844 static FORCEINLINE ULONG IFrequencyMap_AddRef(IFrequencyMap* This) {
4845     return This->lpVtbl->AddRef(This);
4846 }
4847 static FORCEINLINE ULONG IFrequencyMap_Release(IFrequencyMap* This) {
4848     return This->lpVtbl->Release(This);
4849 }
4850 /*** IFrequencyMap methods ***/
4851 static FORCEINLINE HRESULT IFrequencyMap_get_FrequencyMapping(IFrequencyMap* This,ULONG *ulCount,ULONG **ppulList) {
4852     return This->lpVtbl->get_FrequencyMapping(This,ulCount,ppulList);
4853 }
4854 static FORCEINLINE HRESULT IFrequencyMap_put_FrequencyMapping(IFrequencyMap* This,ULONG ulCount,ULONG pList[]) {
4855     return This->lpVtbl->put_FrequencyMapping(This,ulCount,pList);
4856 }
4857 static FORCEINLINE HRESULT IFrequencyMap_get_CountryCode(IFrequencyMap* This,ULONG *pulCountryCode) {
4858     return This->lpVtbl->get_CountryCode(This,pulCountryCode);
4859 }
4860 static FORCEINLINE HRESULT IFrequencyMap_put_CountryCode(IFrequencyMap* This,ULONG ulCountryCode) {
4861     return This->lpVtbl->put_CountryCode(This,ulCountryCode);
4862 }
4863 static FORCEINLINE HRESULT IFrequencyMap_get_DefaultFrequencyMapping(IFrequencyMap* This,ULONG ulCountryCode,ULONG *pulCount,ULONG **ppulList) {
4864     return This->lpVtbl->get_DefaultFrequencyMapping(This,ulCountryCode,pulCount,ppulList);
4865 }
4866 static FORCEINLINE HRESULT IFrequencyMap_get_CountryCodeList(IFrequencyMap* This,ULONG *pulCount,ULONG **ppulList) {
4867     return This->lpVtbl->get_CountryCodeList(This,pulCount,ppulList);
4868 }
4869 #endif
4870 #endif
4871 
4872 #endif
4873 
4874 HRESULT STDMETHODCALLTYPE IFrequencyMap_get_FrequencyMapping_Proxy(
4875     IFrequencyMap* This,
4876     ULONG *ulCount,
4877     ULONG **ppulList);
4878 void __RPC_STUB IFrequencyMap_get_FrequencyMapping_Stub(
4879     IRpcStubBuffer* This,
4880     IRpcChannelBuffer* pRpcChannelBuffer,
4881     PRPC_MESSAGE pRpcMessage,
4882     DWORD* pdwStubPhase);
4883 HRESULT STDMETHODCALLTYPE IFrequencyMap_put_FrequencyMapping_Proxy(
4884     IFrequencyMap* This,
4885     ULONG ulCount,
4886     ULONG pList[]);
4887 void __RPC_STUB IFrequencyMap_put_FrequencyMapping_Stub(
4888     IRpcStubBuffer* This,
4889     IRpcChannelBuffer* pRpcChannelBuffer,
4890     PRPC_MESSAGE pRpcMessage,
4891     DWORD* pdwStubPhase);
4892 HRESULT STDMETHODCALLTYPE IFrequencyMap_get_CountryCode_Proxy(
4893     IFrequencyMap* This,
4894     ULONG *pulCountryCode);
4895 void __RPC_STUB IFrequencyMap_get_CountryCode_Stub(
4896     IRpcStubBuffer* This,
4897     IRpcChannelBuffer* pRpcChannelBuffer,
4898     PRPC_MESSAGE pRpcMessage,
4899     DWORD* pdwStubPhase);
4900 HRESULT STDMETHODCALLTYPE IFrequencyMap_put_CountryCode_Proxy(
4901     IFrequencyMap* This,
4902     ULONG ulCountryCode);
4903 void __RPC_STUB IFrequencyMap_put_CountryCode_Stub(
4904     IRpcStubBuffer* This,
4905     IRpcChannelBuffer* pRpcChannelBuffer,
4906     PRPC_MESSAGE pRpcMessage,
4907     DWORD* pdwStubPhase);
4908 HRESULT STDMETHODCALLTYPE IFrequencyMap_get_DefaultFrequencyMapping_Proxy(
4909     IFrequencyMap* This,
4910     ULONG ulCountryCode,
4911     ULONG *pulCount,
4912     ULONG **ppulList);
4913 void __RPC_STUB IFrequencyMap_get_DefaultFrequencyMapping_Stub(
4914     IRpcStubBuffer* This,
4915     IRpcChannelBuffer* pRpcChannelBuffer,
4916     PRPC_MESSAGE pRpcMessage,
4917     DWORD* pdwStubPhase);
4918 HRESULT STDMETHODCALLTYPE IFrequencyMap_get_CountryCodeList_Proxy(
4919     IFrequencyMap* This,
4920     ULONG *pulCount,
4921     ULONG **ppulList);
4922 void __RPC_STUB IFrequencyMap_get_CountryCodeList_Stub(
4923     IRpcStubBuffer* This,
4924     IRpcChannelBuffer* pRpcChannelBuffer,
4925     PRPC_MESSAGE pRpcMessage,
4926     DWORD* pdwStubPhase);
4927 
4928 #endif  /* __IFrequencyMap_INTERFACE_DEFINED__ */
4929 
4930 /*****************************************************************************
4931  * IBDA_EasMessage interface
4932  */
4933 #ifndef __IBDA_EasMessage_INTERFACE_DEFINED__
4934 #define __IBDA_EasMessage_INTERFACE_DEFINED__
4935 
4936 DEFINE_GUID(IID_IBDA_EasMessage, 0xd806973d, 0x3ebe, 0x46de, 0x8f,0xbb, 0x63,0x58,0xfe,0x78,0x42,0x08);
4937 #if defined(__cplusplus) && !defined(CINTERFACE)
4938 MIDL_INTERFACE("d806973d-3ebe-46de-8fbb-6358fe784208")
4939 IBDA_EasMessage : public IUnknown
4940 {
4941     virtual HRESULT STDMETHODCALLTYPE get_EasMessage(
4942         ULONG ulEventID,
4943         IUnknown **ppEASObject) = 0;
4944 
4945 };
4946 #ifdef __CRT_UUID_DECL
4947 __CRT_UUID_DECL(IBDA_EasMessage, 0xd806973d, 0x3ebe, 0x46de, 0x8f,0xbb, 0x63,0x58,0xfe,0x78,0x42,0x08)
4948 #endif
4949 #else
4950 typedef struct IBDA_EasMessageVtbl {
4951     BEGIN_INTERFACE
4952 
4953     /*** IUnknown methods ***/
4954     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4955         IBDA_EasMessage* This,
4956         REFIID riid,
4957         void **ppvObject);
4958 
4959     ULONG (STDMETHODCALLTYPE *AddRef)(
4960         IBDA_EasMessage* This);
4961 
4962     ULONG (STDMETHODCALLTYPE *Release)(
4963         IBDA_EasMessage* This);
4964 
4965     /*** IBDA_EasMessage methods ***/
4966     HRESULT (STDMETHODCALLTYPE *get_EasMessage)(
4967         IBDA_EasMessage* This,
4968         ULONG ulEventID,
4969         IUnknown **ppEASObject);
4970 
4971     END_INTERFACE
4972 } IBDA_EasMessageVtbl;
4973 interface IBDA_EasMessage {
4974     CONST_VTBL IBDA_EasMessageVtbl* lpVtbl;
4975 };
4976 
4977 #ifdef COBJMACROS
4978 #ifndef WIDL_C_INLINE_WRAPPERS
4979 /*** IUnknown methods ***/
4980 #define IBDA_EasMessage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4981 #define IBDA_EasMessage_AddRef(This) (This)->lpVtbl->AddRef(This)
4982 #define IBDA_EasMessage_Release(This) (This)->lpVtbl->Release(This)
4983 /*** IBDA_EasMessage methods ***/
4984 #define IBDA_EasMessage_get_EasMessage(This,ulEventID,ppEASObject) (This)->lpVtbl->get_EasMessage(This,ulEventID,ppEASObject)
4985 #else
4986 /*** IUnknown methods ***/
4987 static FORCEINLINE HRESULT IBDA_EasMessage_QueryInterface(IBDA_EasMessage* This,REFIID riid,void **ppvObject) {
4988     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4989 }
4990 static FORCEINLINE ULONG IBDA_EasMessage_AddRef(IBDA_EasMessage* This) {
4991     return This->lpVtbl->AddRef(This);
4992 }
4993 static FORCEINLINE ULONG IBDA_EasMessage_Release(IBDA_EasMessage* This) {
4994     return This->lpVtbl->Release(This);
4995 }
4996 /*** IBDA_EasMessage methods ***/
4997 static FORCEINLINE HRESULT IBDA_EasMessage_get_EasMessage(IBDA_EasMessage* This,ULONG ulEventID,IUnknown **ppEASObject) {
4998     return This->lpVtbl->get_EasMessage(This,ulEventID,ppEASObject);
4999 }
5000 #endif
5001 #endif
5002 
5003 #endif
5004 
5005 HRESULT STDMETHODCALLTYPE IBDA_EasMessage_get_EasMessage_Proxy(
5006     IBDA_EasMessage* This,
5007     ULONG ulEventID,
5008     IUnknown **ppEASObject);
5009 void __RPC_STUB IBDA_EasMessage_get_EasMessage_Stub(
5010     IRpcStubBuffer* This,
5011     IRpcChannelBuffer* pRpcChannelBuffer,
5012     PRPC_MESSAGE pRpcMessage,
5013     DWORD* pdwStubPhase);
5014 
5015 #endif  /* __IBDA_EasMessage_INTERFACE_DEFINED__ */
5016 
5017 /*****************************************************************************
5018  * IBDA_TransportStreamInfo interface
5019  */
5020 #ifndef __IBDA_TransportStreamInfo_INTERFACE_DEFINED__
5021 #define __IBDA_TransportStreamInfo_INTERFACE_DEFINED__
5022 
5023 DEFINE_GUID(IID_IBDA_TransportStreamInfo, 0x8e882535, 0x5f86, 0x47ab, 0x86,0xcf, 0xc2,0x81,0xa7,0x2a,0x05,0x49);
5024 #if defined(__cplusplus) && !defined(CINTERFACE)
5025 MIDL_INTERFACE("8e882535-5f86-47ab-86cf-c281a72a0549")
5026 IBDA_TransportStreamInfo : public IUnknown
5027 {
5028     virtual HRESULT STDMETHODCALLTYPE get_PatTableTickCount(
5029         ULONG *pPatTickCount) = 0;
5030 
5031 };
5032 #ifdef __CRT_UUID_DECL
5033 __CRT_UUID_DECL(IBDA_TransportStreamInfo, 0x8e882535, 0x5f86, 0x47ab, 0x86,0xcf, 0xc2,0x81,0xa7,0x2a,0x05,0x49)
5034 #endif
5035 #else
5036 typedef struct IBDA_TransportStreamInfoVtbl {
5037     BEGIN_INTERFACE
5038 
5039     /*** IUnknown methods ***/
5040     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5041         IBDA_TransportStreamInfo* This,
5042         REFIID riid,
5043         void **ppvObject);
5044 
5045     ULONG (STDMETHODCALLTYPE *AddRef)(
5046         IBDA_TransportStreamInfo* This);
5047 
5048     ULONG (STDMETHODCALLTYPE *Release)(
5049         IBDA_TransportStreamInfo* This);
5050 
5051     /*** IBDA_TransportStreamInfo methods ***/
5052     HRESULT (STDMETHODCALLTYPE *get_PatTableTickCount)(
5053         IBDA_TransportStreamInfo* This,
5054         ULONG *pPatTickCount);
5055 
5056     END_INTERFACE
5057 } IBDA_TransportStreamInfoVtbl;
5058 interface IBDA_TransportStreamInfo {
5059     CONST_VTBL IBDA_TransportStreamInfoVtbl* lpVtbl;
5060 };
5061 
5062 #ifdef COBJMACROS
5063 #ifndef WIDL_C_INLINE_WRAPPERS
5064 /*** IUnknown methods ***/
5065 #define IBDA_TransportStreamInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5066 #define IBDA_TransportStreamInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
5067 #define IBDA_TransportStreamInfo_Release(This) (This)->lpVtbl->Release(This)
5068 /*** IBDA_TransportStreamInfo methods ***/
5069 #define IBDA_TransportStreamInfo_get_PatTableTickCount(This,pPatTickCount) (This)->lpVtbl->get_PatTableTickCount(This,pPatTickCount)
5070 #else
5071 /*** IUnknown methods ***/
5072 static FORCEINLINE HRESULT IBDA_TransportStreamInfo_QueryInterface(IBDA_TransportStreamInfo* This,REFIID riid,void **ppvObject) {
5073     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5074 }
5075 static FORCEINLINE ULONG IBDA_TransportStreamInfo_AddRef(IBDA_TransportStreamInfo* This) {
5076     return This->lpVtbl->AddRef(This);
5077 }
5078 static FORCEINLINE ULONG IBDA_TransportStreamInfo_Release(IBDA_TransportStreamInfo* This) {
5079     return This->lpVtbl->Release(This);
5080 }
5081 /*** IBDA_TransportStreamInfo methods ***/
5082 static FORCEINLINE HRESULT IBDA_TransportStreamInfo_get_PatTableTickCount(IBDA_TransportStreamInfo* This,ULONG *pPatTickCount) {
5083     return This->lpVtbl->get_PatTableTickCount(This,pPatTickCount);
5084 }
5085 #endif
5086 #endif
5087 
5088 #endif
5089 
5090 HRESULT STDMETHODCALLTYPE IBDA_TransportStreamInfo_get_PatTableTickCount_Proxy(
5091     IBDA_TransportStreamInfo* This,
5092     ULONG *pPatTickCount);
5093 void __RPC_STUB IBDA_TransportStreamInfo_get_PatTableTickCount_Stub(
5094     IRpcStubBuffer* This,
5095     IRpcChannelBuffer* pRpcChannelBuffer,
5096     PRPC_MESSAGE pRpcMessage,
5097     DWORD* pdwStubPhase);
5098 
5099 #endif  /* __IBDA_TransportStreamInfo_INTERFACE_DEFINED__ */
5100 
5101 /*****************************************************************************
5102  * IBDA_ConditionalAccess interface
5103  */
5104 #ifndef __IBDA_ConditionalAccess_INTERFACE_DEFINED__
5105 #define __IBDA_ConditionalAccess_INTERFACE_DEFINED__
5106 
5107 DEFINE_GUID(IID_IBDA_ConditionalAccess, 0xcd51f1e0, 0x7be9, 0x4123, 0x84,0x82, 0xa2,0xa7,0x96,0xc0,0xa6,0xb0);
5108 #if defined(__cplusplus) && !defined(CINTERFACE)
5109 MIDL_INTERFACE("cd51f1e0-7be9-4123-8482-a2a796c0a6b0")
5110 IBDA_ConditionalAccess : public IUnknown
5111 {
5112     virtual HRESULT STDMETHODCALLTYPE get_SmartCardStatus(
5113         SmartCardStatusType *pCardStatus,
5114         SmartCardAssociationType *pCardAssociation,
5115         BSTR *pbstrCardError,
5116         VARIANT_BOOL *pfOOBLocked) = 0;
5117 
5118     virtual HRESULT STDMETHODCALLTYPE get_SmartCardInfo(
5119         BSTR *pbstrCardName,
5120         BSTR *pbstrCardManufacturer,
5121         VARIANT_BOOL *pfDaylightSavings,
5122         BYTE *pbyRatingRegion,
5123         LONG *plTimeZoneOffsetMinutes,
5124         BSTR *pbstrLanguage,
5125         EALocationCodeType *pEALocationCode) = 0;
5126 
5127     virtual HRESULT STDMETHODCALLTYPE get_SmartCardApplications(
5128         ULONG *pulcApplications,
5129         ULONG ulcApplicationsMax,
5130         SmartCardApplication rgApplications[]) = 0;
5131 
5132     virtual HRESULT STDMETHODCALLTYPE get_Entitlement(
5133         USHORT usVirtualChannel,
5134         EntitlementType *pEntitlement) = 0;
5135 
5136     virtual HRESULT STDMETHODCALLTYPE TuneByChannel(
5137         USHORT usVirtualChannel) = 0;
5138 
5139     virtual HRESULT STDMETHODCALLTYPE SetProgram(
5140         USHORT usProgramNumber) = 0;
5141 
5142     virtual HRESULT STDMETHODCALLTYPE AddProgram(
5143         USHORT usProgramNumber) = 0;
5144 
5145     virtual HRESULT STDMETHODCALLTYPE RemoveProgram(
5146         USHORT usProgramNumber) = 0;
5147 
5148     virtual HRESULT STDMETHODCALLTYPE GetModuleUI(
5149         BYTE byDialogNumber,
5150         BSTR *pbstrURL) = 0;
5151 
5152     virtual HRESULT STDMETHODCALLTYPE InformUIClosed(
5153         BYTE byDialogNumber,
5154         UICloseReasonType CloseReason) = 0;
5155 
5156 };
5157 #ifdef __CRT_UUID_DECL
5158 __CRT_UUID_DECL(IBDA_ConditionalAccess, 0xcd51f1e0, 0x7be9, 0x4123, 0x84,0x82, 0xa2,0xa7,0x96,0xc0,0xa6,0xb0)
5159 #endif
5160 #else
5161 typedef struct IBDA_ConditionalAccessVtbl {
5162     BEGIN_INTERFACE
5163 
5164     /*** IUnknown methods ***/
5165     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5166         IBDA_ConditionalAccess* This,
5167         REFIID riid,
5168         void **ppvObject);
5169 
5170     ULONG (STDMETHODCALLTYPE *AddRef)(
5171         IBDA_ConditionalAccess* This);
5172 
5173     ULONG (STDMETHODCALLTYPE *Release)(
5174         IBDA_ConditionalAccess* This);
5175 
5176     /*** IBDA_ConditionalAccess methods ***/
5177     HRESULT (STDMETHODCALLTYPE *get_SmartCardStatus)(
5178         IBDA_ConditionalAccess* This,
5179         SmartCardStatusType *pCardStatus,
5180         SmartCardAssociationType *pCardAssociation,
5181         BSTR *pbstrCardError,
5182         VARIANT_BOOL *pfOOBLocked);
5183 
5184     HRESULT (STDMETHODCALLTYPE *get_SmartCardInfo)(
5185         IBDA_ConditionalAccess* This,
5186         BSTR *pbstrCardName,
5187         BSTR *pbstrCardManufacturer,
5188         VARIANT_BOOL *pfDaylightSavings,
5189         BYTE *pbyRatingRegion,
5190         LONG *plTimeZoneOffsetMinutes,
5191         BSTR *pbstrLanguage,
5192         EALocationCodeType *pEALocationCode);
5193 
5194     HRESULT (STDMETHODCALLTYPE *get_SmartCardApplications)(
5195         IBDA_ConditionalAccess* This,
5196         ULONG *pulcApplications,
5197         ULONG ulcApplicationsMax,
5198         SmartCardApplication rgApplications[]);
5199 
5200     HRESULT (STDMETHODCALLTYPE *get_Entitlement)(
5201         IBDA_ConditionalAccess* This,
5202         USHORT usVirtualChannel,
5203         EntitlementType *pEntitlement);
5204 
5205     HRESULT (STDMETHODCALLTYPE *TuneByChannel)(
5206         IBDA_ConditionalAccess* This,
5207         USHORT usVirtualChannel);
5208 
5209     HRESULT (STDMETHODCALLTYPE *SetProgram)(
5210         IBDA_ConditionalAccess* This,
5211         USHORT usProgramNumber);
5212 
5213     HRESULT (STDMETHODCALLTYPE *AddProgram)(
5214         IBDA_ConditionalAccess* This,
5215         USHORT usProgramNumber);
5216 
5217     HRESULT (STDMETHODCALLTYPE *RemoveProgram)(
5218         IBDA_ConditionalAccess* This,
5219         USHORT usProgramNumber);
5220 
5221     HRESULT (STDMETHODCALLTYPE *GetModuleUI)(
5222         IBDA_ConditionalAccess* This,
5223         BYTE byDialogNumber,
5224         BSTR *pbstrURL);
5225 
5226     HRESULT (STDMETHODCALLTYPE *InformUIClosed)(
5227         IBDA_ConditionalAccess* This,
5228         BYTE byDialogNumber,
5229         UICloseReasonType CloseReason);
5230 
5231     END_INTERFACE
5232 } IBDA_ConditionalAccessVtbl;
5233 interface IBDA_ConditionalAccess {
5234     CONST_VTBL IBDA_ConditionalAccessVtbl* lpVtbl;
5235 };
5236 
5237 #ifdef COBJMACROS
5238 #ifndef WIDL_C_INLINE_WRAPPERS
5239 /*** IUnknown methods ***/
5240 #define IBDA_ConditionalAccess_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5241 #define IBDA_ConditionalAccess_AddRef(This) (This)->lpVtbl->AddRef(This)
5242 #define IBDA_ConditionalAccess_Release(This) (This)->lpVtbl->Release(This)
5243 /*** IBDA_ConditionalAccess methods ***/
5244 #define IBDA_ConditionalAccess_get_SmartCardStatus(This,pCardStatus,pCardAssociation,pbstrCardError,pfOOBLocked) (This)->lpVtbl->get_SmartCardStatus(This,pCardStatus,pCardAssociation,pbstrCardError,pfOOBLocked)
5245 #define IBDA_ConditionalAccess_get_SmartCardInfo(This,pbstrCardName,pbstrCardManufacturer,pfDaylightSavings,pbyRatingRegion,plTimeZoneOffsetMinutes,pbstrLanguage,pEALocationCode) (This)->lpVtbl->get_SmartCardInfo(This,pbstrCardName,pbstrCardManufacturer,pfDaylightSavings,pbyRatingRegion,plTimeZoneOffsetMinutes,pbstrLanguage,pEALocationCode)
5246 #define IBDA_ConditionalAccess_get_SmartCardApplications(This,pulcApplications,ulcApplicationsMax,rgApplications) (This)->lpVtbl->get_SmartCardApplications(This,pulcApplications,ulcApplicationsMax,rgApplications)
5247 #define IBDA_ConditionalAccess_get_Entitlement(This,usVirtualChannel,pEntitlement) (This)->lpVtbl->get_Entitlement(This,usVirtualChannel,pEntitlement)
5248 #define IBDA_ConditionalAccess_TuneByChannel(This,usVirtualChannel) (This)->lpVtbl->TuneByChannel(This,usVirtualChannel)
5249 #define IBDA_ConditionalAccess_SetProgram(This,usProgramNumber) (This)->lpVtbl->SetProgram(This,usProgramNumber)
5250 #define IBDA_ConditionalAccess_AddProgram(This,usProgramNumber) (This)->lpVtbl->AddProgram(This,usProgramNumber)
5251 #define IBDA_ConditionalAccess_RemoveProgram(This,usProgramNumber) (This)->lpVtbl->RemoveProgram(This,usProgramNumber)
5252 #define IBDA_ConditionalAccess_GetModuleUI(This,byDialogNumber,pbstrURL) (This)->lpVtbl->GetModuleUI(This,byDialogNumber,pbstrURL)
5253 #define IBDA_ConditionalAccess_InformUIClosed(This,byDialogNumber,CloseReason) (This)->lpVtbl->InformUIClosed(This,byDialogNumber,CloseReason)
5254 #else
5255 /*** IUnknown methods ***/
5256 static FORCEINLINE HRESULT IBDA_ConditionalAccess_QueryInterface(IBDA_ConditionalAccess* This,REFIID riid,void **ppvObject) {
5257     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5258 }
5259 static FORCEINLINE ULONG IBDA_ConditionalAccess_AddRef(IBDA_ConditionalAccess* This) {
5260     return This->lpVtbl->AddRef(This);
5261 }
5262 static FORCEINLINE ULONG IBDA_ConditionalAccess_Release(IBDA_ConditionalAccess* This) {
5263     return This->lpVtbl->Release(This);
5264 }
5265 /*** IBDA_ConditionalAccess methods ***/
5266 static FORCEINLINE HRESULT IBDA_ConditionalAccess_get_SmartCardStatus(IBDA_ConditionalAccess* This,SmartCardStatusType *pCardStatus,SmartCardAssociationType *pCardAssociation,BSTR *pbstrCardError,VARIANT_BOOL *pfOOBLocked) {
5267     return This->lpVtbl->get_SmartCardStatus(This,pCardStatus,pCardAssociation,pbstrCardError,pfOOBLocked);
5268 }
5269 static FORCEINLINE HRESULT IBDA_ConditionalAccess_get_SmartCardInfo(IBDA_ConditionalAccess* This,BSTR *pbstrCardName,BSTR *pbstrCardManufacturer,VARIANT_BOOL *pfDaylightSavings,BYTE *pbyRatingRegion,LONG *plTimeZoneOffsetMinutes,BSTR *pbstrLanguage,EALocationCodeType *pEALocationCode) {
5270     return This->lpVtbl->get_SmartCardInfo(This,pbstrCardName,pbstrCardManufacturer,pfDaylightSavings,pbyRatingRegion,plTimeZoneOffsetMinutes,pbstrLanguage,pEALocationCode);
5271 }
5272 static FORCEINLINE HRESULT IBDA_ConditionalAccess_get_SmartCardApplications(IBDA_ConditionalAccess* This,ULONG *pulcApplications,ULONG ulcApplicationsMax,SmartCardApplication rgApplications[]) {
5273     return This->lpVtbl->get_SmartCardApplications(This,pulcApplications,ulcApplicationsMax,rgApplications);
5274 }
5275 static FORCEINLINE HRESULT IBDA_ConditionalAccess_get_Entitlement(IBDA_ConditionalAccess* This,USHORT usVirtualChannel,EntitlementType *pEntitlement) {
5276     return This->lpVtbl->get_Entitlement(This,usVirtualChannel,pEntitlement);
5277 }
5278 static FORCEINLINE HRESULT IBDA_ConditionalAccess_TuneByChannel(IBDA_ConditionalAccess* This,USHORT usVirtualChannel) {
5279     return This->lpVtbl->TuneByChannel(This,usVirtualChannel);
5280 }
5281 static FORCEINLINE HRESULT IBDA_ConditionalAccess_SetProgram(IBDA_ConditionalAccess* This,USHORT usProgramNumber) {
5282     return This->lpVtbl->SetProgram(This,usProgramNumber);
5283 }
5284 static FORCEINLINE HRESULT IBDA_ConditionalAccess_AddProgram(IBDA_ConditionalAccess* This,USHORT usProgramNumber) {
5285     return This->lpVtbl->AddProgram(This,usProgramNumber);
5286 }
5287 static FORCEINLINE HRESULT IBDA_ConditionalAccess_RemoveProgram(IBDA_ConditionalAccess* This,USHORT usProgramNumber) {
5288     return This->lpVtbl->RemoveProgram(This,usProgramNumber);
5289 }
5290 static FORCEINLINE HRESULT IBDA_ConditionalAccess_GetModuleUI(IBDA_ConditionalAccess* This,BYTE byDialogNumber,BSTR *pbstrURL) {
5291     return This->lpVtbl->GetModuleUI(This,byDialogNumber,pbstrURL);
5292 }
5293 static FORCEINLINE HRESULT IBDA_ConditionalAccess_InformUIClosed(IBDA_ConditionalAccess* This,BYTE byDialogNumber,UICloseReasonType CloseReason) {
5294     return This->lpVtbl->InformUIClosed(This,byDialogNumber,CloseReason);
5295 }
5296 #endif
5297 #endif
5298 
5299 #endif
5300 
5301 HRESULT STDMETHODCALLTYPE IBDA_ConditionalAccess_get_SmartCardStatus_Proxy(
5302     IBDA_ConditionalAccess* This,
5303     SmartCardStatusType *pCardStatus,
5304     SmartCardAssociationType *pCardAssociation,
5305     BSTR *pbstrCardError,
5306     VARIANT_BOOL *pfOOBLocked);
5307 void __RPC_STUB IBDA_ConditionalAccess_get_SmartCardStatus_Stub(
5308     IRpcStubBuffer* This,
5309     IRpcChannelBuffer* pRpcChannelBuffer,
5310     PRPC_MESSAGE pRpcMessage,
5311     DWORD* pdwStubPhase);
5312 HRESULT STDMETHODCALLTYPE IBDA_ConditionalAccess_get_SmartCardInfo_Proxy(
5313     IBDA_ConditionalAccess* This,
5314     BSTR *pbstrCardName,
5315     BSTR *pbstrCardManufacturer,
5316     VARIANT_BOOL *pfDaylightSavings,
5317     BYTE *pbyRatingRegion,
5318     LONG *plTimeZoneOffsetMinutes,
5319     BSTR *pbstrLanguage,
5320     EALocationCodeType *pEALocationCode);
5321 void __RPC_STUB IBDA_ConditionalAccess_get_SmartCardInfo_Stub(
5322     IRpcStubBuffer* This,
5323     IRpcChannelBuffer* pRpcChannelBuffer,
5324     PRPC_MESSAGE pRpcMessage,
5325     DWORD* pdwStubPhase);
5326 HRESULT STDMETHODCALLTYPE IBDA_ConditionalAccess_get_SmartCardApplications_Proxy(
5327     IBDA_ConditionalAccess* This,
5328     ULONG *pulcApplications,
5329     ULONG ulcApplicationsMax,
5330     SmartCardApplication rgApplications[]);
5331 void __RPC_STUB IBDA_ConditionalAccess_get_SmartCardApplications_Stub(
5332     IRpcStubBuffer* This,
5333     IRpcChannelBuffer* pRpcChannelBuffer,
5334     PRPC_MESSAGE pRpcMessage,
5335     DWORD* pdwStubPhase);
5336 HRESULT STDMETHODCALLTYPE IBDA_ConditionalAccess_get_Entitlement_Proxy(
5337     IBDA_ConditionalAccess* This,
5338     USHORT usVirtualChannel,
5339     EntitlementType *pEntitlement);
5340 void __RPC_STUB IBDA_ConditionalAccess_get_Entitlement_Stub(
5341     IRpcStubBuffer* This,
5342     IRpcChannelBuffer* pRpcChannelBuffer,
5343     PRPC_MESSAGE pRpcMessage,
5344     DWORD* pdwStubPhase);
5345 HRESULT STDMETHODCALLTYPE IBDA_ConditionalAccess_TuneByChannel_Proxy(
5346     IBDA_ConditionalAccess* This,
5347     USHORT usVirtualChannel);
5348 void __RPC_STUB IBDA_ConditionalAccess_TuneByChannel_Stub(
5349     IRpcStubBuffer* This,
5350     IRpcChannelBuffer* pRpcChannelBuffer,
5351     PRPC_MESSAGE pRpcMessage,
5352     DWORD* pdwStubPhase);
5353 HRESULT STDMETHODCALLTYPE IBDA_ConditionalAccess_SetProgram_Proxy(
5354     IBDA_ConditionalAccess* This,
5355     USHORT usProgramNumber);
5356 void __RPC_STUB IBDA_ConditionalAccess_SetProgram_Stub(
5357     IRpcStubBuffer* This,
5358     IRpcChannelBuffer* pRpcChannelBuffer,
5359     PRPC_MESSAGE pRpcMessage,
5360     DWORD* pdwStubPhase);
5361 HRESULT STDMETHODCALLTYPE IBDA_ConditionalAccess_AddProgram_Proxy(
5362     IBDA_ConditionalAccess* This,
5363     USHORT usProgramNumber);
5364 void __RPC_STUB IBDA_ConditionalAccess_AddProgram_Stub(
5365     IRpcStubBuffer* This,
5366     IRpcChannelBuffer* pRpcChannelBuffer,
5367     PRPC_MESSAGE pRpcMessage,
5368     DWORD* pdwStubPhase);
5369 HRESULT STDMETHODCALLTYPE IBDA_ConditionalAccess_RemoveProgram_Proxy(
5370     IBDA_ConditionalAccess* This,
5371     USHORT usProgramNumber);
5372 void __RPC_STUB IBDA_ConditionalAccess_RemoveProgram_Stub(
5373     IRpcStubBuffer* This,
5374     IRpcChannelBuffer* pRpcChannelBuffer,
5375     PRPC_MESSAGE pRpcMessage,
5376     DWORD* pdwStubPhase);
5377 HRESULT STDMETHODCALLTYPE IBDA_ConditionalAccess_GetModuleUI_Proxy(
5378     IBDA_ConditionalAccess* This,
5379     BYTE byDialogNumber,
5380     BSTR *pbstrURL);
5381 void __RPC_STUB IBDA_ConditionalAccess_GetModuleUI_Stub(
5382     IRpcStubBuffer* This,
5383     IRpcChannelBuffer* pRpcChannelBuffer,
5384     PRPC_MESSAGE pRpcMessage,
5385     DWORD* pdwStubPhase);
5386 HRESULT STDMETHODCALLTYPE IBDA_ConditionalAccess_InformUIClosed_Proxy(
5387     IBDA_ConditionalAccess* This,
5388     BYTE byDialogNumber,
5389     UICloseReasonType CloseReason);
5390 void __RPC_STUB IBDA_ConditionalAccess_InformUIClosed_Stub(
5391     IRpcStubBuffer* This,
5392     IRpcChannelBuffer* pRpcChannelBuffer,
5393     PRPC_MESSAGE pRpcMessage,
5394     DWORD* pdwStubPhase);
5395 
5396 #endif  /* __IBDA_ConditionalAccess_INTERFACE_DEFINED__ */
5397 
5398 /*****************************************************************************
5399  * IBDA_DiagnosticProperties interface
5400  */
5401 #ifndef __IBDA_DiagnosticProperties_INTERFACE_DEFINED__
5402 #define __IBDA_DiagnosticProperties_INTERFACE_DEFINED__
5403 
5404 DEFINE_GUID(IID_IBDA_DiagnosticProperties, 0x20e80cb5, 0xc543, 0x4c1b, 0x8e,0xb3, 0x49,0xe7,0x19,0xee,0xe7,0xd4);
5405 #if defined(__cplusplus) && !defined(CINTERFACE)
5406 MIDL_INTERFACE("20e80cb5-c543-4c1b-8eb3-49e719eee7d4")
5407 IBDA_DiagnosticProperties : public IPropertyBag
5408 {
5409 };
5410 #ifdef __CRT_UUID_DECL
5411 __CRT_UUID_DECL(IBDA_DiagnosticProperties, 0x20e80cb5, 0xc543, 0x4c1b, 0x8e,0xb3, 0x49,0xe7,0x19,0xee,0xe7,0xd4)
5412 #endif
5413 #else
5414 typedef struct IBDA_DiagnosticPropertiesVtbl {
5415     BEGIN_INTERFACE
5416 
5417     /*** IUnknown methods ***/
5418     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5419         IBDA_DiagnosticProperties* This,
5420         REFIID riid,
5421         void **ppvObject);
5422 
5423     ULONG (STDMETHODCALLTYPE *AddRef)(
5424         IBDA_DiagnosticProperties* This);
5425 
5426     ULONG (STDMETHODCALLTYPE *Release)(
5427         IBDA_DiagnosticProperties* This);
5428 
5429     /*** IPropertyBag methods ***/
5430     HRESULT (STDMETHODCALLTYPE *Read)(
5431         IBDA_DiagnosticProperties* This,
5432         LPCOLESTR pszPropName,
5433         VARIANT *pVar,
5434         IErrorLog *pErrorLog);
5435 
5436     HRESULT (STDMETHODCALLTYPE *Write)(
5437         IBDA_DiagnosticProperties* This,
5438         LPCOLESTR pszPropName,
5439         VARIANT *pVar);
5440 
5441     END_INTERFACE
5442 } IBDA_DiagnosticPropertiesVtbl;
5443 interface IBDA_DiagnosticProperties {
5444     CONST_VTBL IBDA_DiagnosticPropertiesVtbl* lpVtbl;
5445 };
5446 
5447 #ifdef COBJMACROS
5448 #ifndef WIDL_C_INLINE_WRAPPERS
5449 /*** IUnknown methods ***/
5450 #define IBDA_DiagnosticProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5451 #define IBDA_DiagnosticProperties_AddRef(This) (This)->lpVtbl->AddRef(This)
5452 #define IBDA_DiagnosticProperties_Release(This) (This)->lpVtbl->Release(This)
5453 /*** IPropertyBag methods ***/
5454 #define IBDA_DiagnosticProperties_Read(This,pszPropName,pVar,pErrorLog) (This)->lpVtbl->Read(This,pszPropName,pVar,pErrorLog)
5455 #define IBDA_DiagnosticProperties_Write(This,pszPropName,pVar) (This)->lpVtbl->Write(This,pszPropName,pVar)
5456 #else
5457 /*** IUnknown methods ***/
5458 static FORCEINLINE HRESULT IBDA_DiagnosticProperties_QueryInterface(IBDA_DiagnosticProperties* This,REFIID riid,void **ppvObject) {
5459     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5460 }
5461 static FORCEINLINE ULONG IBDA_DiagnosticProperties_AddRef(IBDA_DiagnosticProperties* This) {
5462     return This->lpVtbl->AddRef(This);
5463 }
5464 static FORCEINLINE ULONG IBDA_DiagnosticProperties_Release(IBDA_DiagnosticProperties* This) {
5465     return This->lpVtbl->Release(This);
5466 }
5467 /*** IPropertyBag methods ***/
5468 static FORCEINLINE HRESULT IBDA_DiagnosticProperties_Read(IBDA_DiagnosticProperties* This,LPCOLESTR pszPropName,VARIANT *pVar,IErrorLog *pErrorLog) {
5469     return This->lpVtbl->Read(This,pszPropName,pVar,pErrorLog);
5470 }
5471 static FORCEINLINE HRESULT IBDA_DiagnosticProperties_Write(IBDA_DiagnosticProperties* This,LPCOLESTR pszPropName,VARIANT *pVar) {
5472     return This->lpVtbl->Write(This,pszPropName,pVar);
5473 }
5474 #endif
5475 #endif
5476 
5477 #endif
5478 
5479 
5480 #endif  /* __IBDA_DiagnosticProperties_INTERFACE_DEFINED__ */
5481 
5482 /*****************************************************************************
5483  * IBDA_DRM interface
5484  */
5485 #ifndef __IBDA_DRM_INTERFACE_DEFINED__
5486 #define __IBDA_DRM_INTERFACE_DEFINED__
5487 
5488 DEFINE_GUID(IID_IBDA_DRM, 0xf98d88b0, 0x1992, 0x4cd6, 0xa6,0xd9, 0xb9,0xaf,0xab,0x99,0x33,0x0d);
5489 #if defined(__cplusplus) && !defined(CINTERFACE)
5490 MIDL_INTERFACE("f98d88b0-1992-4cd6-a6d9-b9afab99330d")
5491 IBDA_DRM : public IUnknown
5492 {
5493     virtual HRESULT STDMETHODCALLTYPE GetDRMPairingStatus(
5494         DWORD *pdwStatus,
5495         HRESULT *phError) = 0;
5496 
5497     virtual HRESULT STDMETHODCALLTYPE PerformDRMPairing(
5498         WINBOOL fSync) = 0;
5499 
5500 };
5501 #ifdef __CRT_UUID_DECL
5502 __CRT_UUID_DECL(IBDA_DRM, 0xf98d88b0, 0x1992, 0x4cd6, 0xa6,0xd9, 0xb9,0xaf,0xab,0x99,0x33,0x0d)
5503 #endif
5504 #else
5505 typedef struct IBDA_DRMVtbl {
5506     BEGIN_INTERFACE
5507 
5508     /*** IUnknown methods ***/
5509     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5510         IBDA_DRM* This,
5511         REFIID riid,
5512         void **ppvObject);
5513 
5514     ULONG (STDMETHODCALLTYPE *AddRef)(
5515         IBDA_DRM* This);
5516 
5517     ULONG (STDMETHODCALLTYPE *Release)(
5518         IBDA_DRM* This);
5519 
5520     /*** IBDA_DRM methods ***/
5521     HRESULT (STDMETHODCALLTYPE *GetDRMPairingStatus)(
5522         IBDA_DRM* This,
5523         DWORD *pdwStatus,
5524         HRESULT *phError);
5525 
5526     HRESULT (STDMETHODCALLTYPE *PerformDRMPairing)(
5527         IBDA_DRM* This,
5528         WINBOOL fSync);
5529 
5530     END_INTERFACE
5531 } IBDA_DRMVtbl;
5532 interface IBDA_DRM {
5533     CONST_VTBL IBDA_DRMVtbl* lpVtbl;
5534 };
5535 
5536 #ifdef COBJMACROS
5537 #ifndef WIDL_C_INLINE_WRAPPERS
5538 /*** IUnknown methods ***/
5539 #define IBDA_DRM_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5540 #define IBDA_DRM_AddRef(This) (This)->lpVtbl->AddRef(This)
5541 #define IBDA_DRM_Release(This) (This)->lpVtbl->Release(This)
5542 /*** IBDA_DRM methods ***/
5543 #define IBDA_DRM_GetDRMPairingStatus(This,pdwStatus,phError) (This)->lpVtbl->GetDRMPairingStatus(This,pdwStatus,phError)
5544 #define IBDA_DRM_PerformDRMPairing(This,fSync) (This)->lpVtbl->PerformDRMPairing(This,fSync)
5545 #else
5546 /*** IUnknown methods ***/
5547 static FORCEINLINE HRESULT IBDA_DRM_QueryInterface(IBDA_DRM* This,REFIID riid,void **ppvObject) {
5548     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5549 }
5550 static FORCEINLINE ULONG IBDA_DRM_AddRef(IBDA_DRM* This) {
5551     return This->lpVtbl->AddRef(This);
5552 }
5553 static FORCEINLINE ULONG IBDA_DRM_Release(IBDA_DRM* This) {
5554     return This->lpVtbl->Release(This);
5555 }
5556 /*** IBDA_DRM methods ***/
5557 static FORCEINLINE HRESULT IBDA_DRM_GetDRMPairingStatus(IBDA_DRM* This,DWORD *pdwStatus,HRESULT *phError) {
5558     return This->lpVtbl->GetDRMPairingStatus(This,pdwStatus,phError);
5559 }
5560 static FORCEINLINE HRESULT IBDA_DRM_PerformDRMPairing(IBDA_DRM* This,WINBOOL fSync) {
5561     return This->lpVtbl->PerformDRMPairing(This,fSync);
5562 }
5563 #endif
5564 #endif
5565 
5566 #endif
5567 
5568 HRESULT STDMETHODCALLTYPE IBDA_DRM_GetDRMPairingStatus_Proxy(
5569     IBDA_DRM* This,
5570     DWORD *pdwStatus,
5571     HRESULT *phError);
5572 void __RPC_STUB IBDA_DRM_GetDRMPairingStatus_Stub(
5573     IRpcStubBuffer* This,
5574     IRpcChannelBuffer* pRpcChannelBuffer,
5575     PRPC_MESSAGE pRpcMessage,
5576     DWORD* pdwStubPhase);
5577 HRESULT STDMETHODCALLTYPE IBDA_DRM_PerformDRMPairing_Proxy(
5578     IBDA_DRM* This,
5579     WINBOOL fSync);
5580 void __RPC_STUB IBDA_DRM_PerformDRMPairing_Stub(
5581     IRpcStubBuffer* This,
5582     IRpcChannelBuffer* pRpcChannelBuffer,
5583     PRPC_MESSAGE pRpcMessage,
5584     DWORD* pdwStubPhase);
5585 
5586 #endif  /* __IBDA_DRM_INTERFACE_DEFINED__ */
5587 
5588 /*****************************************************************************
5589  * IBDA_NameValueService interface
5590  */
5591 #ifndef __IBDA_NameValueService_INTERFACE_DEFINED__
5592 #define __IBDA_NameValueService_INTERFACE_DEFINED__
5593 
5594 DEFINE_GUID(IID_IBDA_NameValueService, 0x7f0b3150, 0x7b81, 0x4ad4, 0x98,0xe3, 0x7e,0x90,0x97,0x09,0x43,0x01);
5595 #if defined(__cplusplus) && !defined(CINTERFACE)
5596 MIDL_INTERFACE("7f0b3150-7b81-4ad4-98e3-7e9097094301")
5597 IBDA_NameValueService : public IUnknown
5598 {
5599     virtual HRESULT STDMETHODCALLTYPE GetValueNameByIndex(
5600         ULONG ulIndex,
5601         BSTR *pbstrName) = 0;
5602 
5603     virtual HRESULT STDMETHODCALLTYPE GetValue(
5604         BSTR bstrName,
5605         BSTR bstrLanguage,
5606         BSTR *pbstrValue) = 0;
5607 
5608     virtual HRESULT STDMETHODCALLTYPE SetValue(
5609         ULONG ulDialogRequest,
5610         BSTR bstrLanguage,
5611         BSTR bstrName,
5612         BSTR bstrValue,
5613         ULONG ulReserved) = 0;
5614 
5615 };
5616 #ifdef __CRT_UUID_DECL
5617 __CRT_UUID_DECL(IBDA_NameValueService, 0x7f0b3150, 0x7b81, 0x4ad4, 0x98,0xe3, 0x7e,0x90,0x97,0x09,0x43,0x01)
5618 #endif
5619 #else
5620 typedef struct IBDA_NameValueServiceVtbl {
5621     BEGIN_INTERFACE
5622 
5623     /*** IUnknown methods ***/
5624     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5625         IBDA_NameValueService* This,
5626         REFIID riid,
5627         void **ppvObject);
5628 
5629     ULONG (STDMETHODCALLTYPE *AddRef)(
5630         IBDA_NameValueService* This);
5631 
5632     ULONG (STDMETHODCALLTYPE *Release)(
5633         IBDA_NameValueService* This);
5634 
5635     /*** IBDA_NameValueService methods ***/
5636     HRESULT (STDMETHODCALLTYPE *GetValueNameByIndex)(
5637         IBDA_NameValueService* This,
5638         ULONG ulIndex,
5639         BSTR *pbstrName);
5640 
5641     HRESULT (STDMETHODCALLTYPE *GetValue)(
5642         IBDA_NameValueService* This,
5643         BSTR bstrName,
5644         BSTR bstrLanguage,
5645         BSTR *pbstrValue);
5646 
5647     HRESULT (STDMETHODCALLTYPE *SetValue)(
5648         IBDA_NameValueService* This,
5649         ULONG ulDialogRequest,
5650         BSTR bstrLanguage,
5651         BSTR bstrName,
5652         BSTR bstrValue,
5653         ULONG ulReserved);
5654 
5655     END_INTERFACE
5656 } IBDA_NameValueServiceVtbl;
5657 interface IBDA_NameValueService {
5658     CONST_VTBL IBDA_NameValueServiceVtbl* lpVtbl;
5659 };
5660 
5661 #ifdef COBJMACROS
5662 #ifndef WIDL_C_INLINE_WRAPPERS
5663 /*** IUnknown methods ***/
5664 #define IBDA_NameValueService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5665 #define IBDA_NameValueService_AddRef(This) (This)->lpVtbl->AddRef(This)
5666 #define IBDA_NameValueService_Release(This) (This)->lpVtbl->Release(This)
5667 /*** IBDA_NameValueService methods ***/
5668 #define IBDA_NameValueService_GetValueNameByIndex(This,ulIndex,pbstrName) (This)->lpVtbl->GetValueNameByIndex(This,ulIndex,pbstrName)
5669 #define IBDA_NameValueService_GetValue(This,bstrName,bstrLanguage,pbstrValue) (This)->lpVtbl->GetValue(This,bstrName,bstrLanguage,pbstrValue)
5670 #define IBDA_NameValueService_SetValue(This,ulDialogRequest,bstrLanguage,bstrName,bstrValue,ulReserved) (This)->lpVtbl->SetValue(This,ulDialogRequest,bstrLanguage,bstrName,bstrValue,ulReserved)
5671 #else
5672 /*** IUnknown methods ***/
5673 static FORCEINLINE HRESULT IBDA_NameValueService_QueryInterface(IBDA_NameValueService* This,REFIID riid,void **ppvObject) {
5674     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5675 }
5676 static FORCEINLINE ULONG IBDA_NameValueService_AddRef(IBDA_NameValueService* This) {
5677     return This->lpVtbl->AddRef(This);
5678 }
5679 static FORCEINLINE ULONG IBDA_NameValueService_Release(IBDA_NameValueService* This) {
5680     return This->lpVtbl->Release(This);
5681 }
5682 /*** IBDA_NameValueService methods ***/
5683 static FORCEINLINE HRESULT IBDA_NameValueService_GetValueNameByIndex(IBDA_NameValueService* This,ULONG ulIndex,BSTR *pbstrName) {
5684     return This->lpVtbl->GetValueNameByIndex(This,ulIndex,pbstrName);
5685 }
5686 static FORCEINLINE HRESULT IBDA_NameValueService_GetValue(IBDA_NameValueService* This,BSTR bstrName,BSTR bstrLanguage,BSTR *pbstrValue) {
5687     return This->lpVtbl->GetValue(This,bstrName,bstrLanguage,pbstrValue);
5688 }
5689 static FORCEINLINE HRESULT IBDA_NameValueService_SetValue(IBDA_NameValueService* This,ULONG ulDialogRequest,BSTR bstrLanguage,BSTR bstrName,BSTR bstrValue,ULONG ulReserved) {
5690     return This->lpVtbl->SetValue(This,ulDialogRequest,bstrLanguage,bstrName,bstrValue,ulReserved);
5691 }
5692 #endif
5693 #endif
5694 
5695 #endif
5696 
5697 HRESULT STDMETHODCALLTYPE IBDA_NameValueService_GetValueNameByIndex_Proxy(
5698     IBDA_NameValueService* This,
5699     ULONG ulIndex,
5700     BSTR *pbstrName);
5701 void __RPC_STUB IBDA_NameValueService_GetValueNameByIndex_Stub(
5702     IRpcStubBuffer* This,
5703     IRpcChannelBuffer* pRpcChannelBuffer,
5704     PRPC_MESSAGE pRpcMessage,
5705     DWORD* pdwStubPhase);
5706 HRESULT STDMETHODCALLTYPE IBDA_NameValueService_GetValue_Proxy(
5707     IBDA_NameValueService* This,
5708     BSTR bstrName,
5709     BSTR bstrLanguage,
5710     BSTR *pbstrValue);
5711 void __RPC_STUB IBDA_NameValueService_GetValue_Stub(
5712     IRpcStubBuffer* This,
5713     IRpcChannelBuffer* pRpcChannelBuffer,
5714     PRPC_MESSAGE pRpcMessage,
5715     DWORD* pdwStubPhase);
5716 HRESULT STDMETHODCALLTYPE IBDA_NameValueService_SetValue_Proxy(
5717     IBDA_NameValueService* This,
5718     ULONG ulDialogRequest,
5719     BSTR bstrLanguage,
5720     BSTR bstrName,
5721     BSTR bstrValue,
5722     ULONG ulReserved);
5723 void __RPC_STUB IBDA_NameValueService_SetValue_Stub(
5724     IRpcStubBuffer* This,
5725     IRpcChannelBuffer* pRpcChannelBuffer,
5726     PRPC_MESSAGE pRpcMessage,
5727     DWORD* pdwStubPhase);
5728 
5729 #endif  /* __IBDA_NameValueService_INTERFACE_DEFINED__ */
5730 
5731 /*****************************************************************************
5732  * IBDA_ConditionalAccessEx interface
5733  */
5734 #ifndef __IBDA_ConditionalAccessEx_INTERFACE_DEFINED__
5735 #define __IBDA_ConditionalAccessEx_INTERFACE_DEFINED__
5736 
5737 DEFINE_GUID(IID_IBDA_ConditionalAccessEx, 0x497c3418, 0x23cb, 0x44ba, 0xbb,0x62, 0x76,0x9f,0x50,0x6f,0xce,0xa7);
5738 #if defined(__cplusplus) && !defined(CINTERFACE)
5739 MIDL_INTERFACE("497c3418-23cb-44ba-bb62-769f506fcea7")
5740 IBDA_ConditionalAccessEx : public IUnknown
5741 {
5742     virtual HRESULT STDMETHODCALLTYPE CheckEntitlementToken(
5743         ULONG ulDialogRequest,
5744         BSTR bstrLanguage,
5745         BDA_CONDITIONALACCESS_REQUESTTYPE RequestType,
5746         ULONG ulcbEntitlementTokenLen,
5747         BYTE *pbEntitlementToken,
5748         ULONG *pulDescrambleStatus) = 0;
5749 
5750     virtual HRESULT STDMETHODCALLTYPE SetCaptureToken(
5751         ULONG ulcbCaptureTokenLen,
5752         BYTE *pbCaptureToken) = 0;
5753 
5754     virtual HRESULT STDMETHODCALLTYPE OpenBroadcastMmi(
5755         ULONG ulDialogRequest,
5756         BSTR bstrLanguage,
5757         ULONG EventId) = 0;
5758 
5759     virtual HRESULT STDMETHODCALLTYPE CloseMmiDialog(
5760         ULONG ulDialogRequest,
5761         BSTR bstrLanguage,
5762         ULONG ulDialogNumber,
5763         BDA_CONDITIONALACCESS_MMICLOSEREASON ReasonCode,
5764         ULONG *pulSessionResult) = 0;
5765 
5766     virtual HRESULT STDMETHODCALLTYPE CreateDialogRequestNumber(
5767         ULONG *pulDialogRequestNumber) = 0;
5768 
5769 };
5770 #ifdef __CRT_UUID_DECL
5771 __CRT_UUID_DECL(IBDA_ConditionalAccessEx, 0x497c3418, 0x23cb, 0x44ba, 0xbb,0x62, 0x76,0x9f,0x50,0x6f,0xce,0xa7)
5772 #endif
5773 #else
5774 typedef struct IBDA_ConditionalAccessExVtbl {
5775     BEGIN_INTERFACE
5776 
5777     /*** IUnknown methods ***/
5778     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5779         IBDA_ConditionalAccessEx* This,
5780         REFIID riid,
5781         void **ppvObject);
5782 
5783     ULONG (STDMETHODCALLTYPE *AddRef)(
5784         IBDA_ConditionalAccessEx* This);
5785 
5786     ULONG (STDMETHODCALLTYPE *Release)(
5787         IBDA_ConditionalAccessEx* This);
5788 
5789     /*** IBDA_ConditionalAccessEx methods ***/
5790     HRESULT (STDMETHODCALLTYPE *CheckEntitlementToken)(
5791         IBDA_ConditionalAccessEx* This,
5792         ULONG ulDialogRequest,
5793         BSTR bstrLanguage,
5794         BDA_CONDITIONALACCESS_REQUESTTYPE RequestType,
5795         ULONG ulcbEntitlementTokenLen,
5796         BYTE *pbEntitlementToken,
5797         ULONG *pulDescrambleStatus);
5798 
5799     HRESULT (STDMETHODCALLTYPE *SetCaptureToken)(
5800         IBDA_ConditionalAccessEx* This,
5801         ULONG ulcbCaptureTokenLen,
5802         BYTE *pbCaptureToken);
5803 
5804     HRESULT (STDMETHODCALLTYPE *OpenBroadcastMmi)(
5805         IBDA_ConditionalAccessEx* This,
5806         ULONG ulDialogRequest,
5807         BSTR bstrLanguage,
5808         ULONG EventId);
5809 
5810     HRESULT (STDMETHODCALLTYPE *CloseMmiDialog)(
5811         IBDA_ConditionalAccessEx* This,
5812         ULONG ulDialogRequest,
5813         BSTR bstrLanguage,
5814         ULONG ulDialogNumber,
5815         BDA_CONDITIONALACCESS_MMICLOSEREASON ReasonCode,
5816         ULONG *pulSessionResult);
5817 
5818     HRESULT (STDMETHODCALLTYPE *CreateDialogRequestNumber)(
5819         IBDA_ConditionalAccessEx* This,
5820         ULONG *pulDialogRequestNumber);
5821 
5822     END_INTERFACE
5823 } IBDA_ConditionalAccessExVtbl;
5824 interface IBDA_ConditionalAccessEx {
5825     CONST_VTBL IBDA_ConditionalAccessExVtbl* lpVtbl;
5826 };
5827 
5828 #ifdef COBJMACROS
5829 #ifndef WIDL_C_INLINE_WRAPPERS
5830 /*** IUnknown methods ***/
5831 #define IBDA_ConditionalAccessEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5832 #define IBDA_ConditionalAccessEx_AddRef(This) (This)->lpVtbl->AddRef(This)
5833 #define IBDA_ConditionalAccessEx_Release(This) (This)->lpVtbl->Release(This)
5834 /*** IBDA_ConditionalAccessEx methods ***/
5835 #define IBDA_ConditionalAccessEx_CheckEntitlementToken(This,ulDialogRequest,bstrLanguage,RequestType,ulcbEntitlementTokenLen,pbEntitlementToken,pulDescrambleStatus) (This)->lpVtbl->CheckEntitlementToken(This,ulDialogRequest,bstrLanguage,RequestType,ulcbEntitlementTokenLen,pbEntitlementToken,pulDescrambleStatus)
5836 #define IBDA_ConditionalAccessEx_SetCaptureToken(This,ulcbCaptureTokenLen,pbCaptureToken) (This)->lpVtbl->SetCaptureToken(This,ulcbCaptureTokenLen,pbCaptureToken)
5837 #define IBDA_ConditionalAccessEx_OpenBroadcastMmi(This,ulDialogRequest,bstrLanguage,EventId) (This)->lpVtbl->OpenBroadcastMmi(This,ulDialogRequest,bstrLanguage,EventId)
5838 #define IBDA_ConditionalAccessEx_CloseMmiDialog(This,ulDialogRequest,bstrLanguage,ulDialogNumber,ReasonCode,pulSessionResult) (This)->lpVtbl->CloseMmiDialog(This,ulDialogRequest,bstrLanguage,ulDialogNumber,ReasonCode,pulSessionResult)
5839 #define IBDA_ConditionalAccessEx_CreateDialogRequestNumber(This,pulDialogRequestNumber) (This)->lpVtbl->CreateDialogRequestNumber(This,pulDialogRequestNumber)
5840 #else
5841 /*** IUnknown methods ***/
5842 static FORCEINLINE HRESULT IBDA_ConditionalAccessEx_QueryInterface(IBDA_ConditionalAccessEx* This,REFIID riid,void **ppvObject) {
5843     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5844 }
5845 static FORCEINLINE ULONG IBDA_ConditionalAccessEx_AddRef(IBDA_ConditionalAccessEx* This) {
5846     return This->lpVtbl->AddRef(This);
5847 }
5848 static FORCEINLINE ULONG IBDA_ConditionalAccessEx_Release(IBDA_ConditionalAccessEx* This) {
5849     return This->lpVtbl->Release(This);
5850 }
5851 /*** IBDA_ConditionalAccessEx methods ***/
5852 static FORCEINLINE HRESULT IBDA_ConditionalAccessEx_CheckEntitlementToken(IBDA_ConditionalAccessEx* This,ULONG ulDialogRequest,BSTR bstrLanguage,BDA_CONDITIONALACCESS_REQUESTTYPE RequestType,ULONG ulcbEntitlementTokenLen,BYTE *pbEntitlementToken,ULONG *pulDescrambleStatus) {
5853     return This->lpVtbl->CheckEntitlementToken(This,ulDialogRequest,bstrLanguage,RequestType,ulcbEntitlementTokenLen,pbEntitlementToken,pulDescrambleStatus);
5854 }
5855 static FORCEINLINE HRESULT IBDA_ConditionalAccessEx_SetCaptureToken(IBDA_ConditionalAccessEx* This,ULONG ulcbCaptureTokenLen,BYTE *pbCaptureToken) {
5856     return This->lpVtbl->SetCaptureToken(This,ulcbCaptureTokenLen,pbCaptureToken);
5857 }
5858 static FORCEINLINE HRESULT IBDA_ConditionalAccessEx_OpenBroadcastMmi(IBDA_ConditionalAccessEx* This,ULONG ulDialogRequest,BSTR bstrLanguage,ULONG EventId) {
5859     return This->lpVtbl->OpenBroadcastMmi(This,ulDialogRequest,bstrLanguage,EventId);
5860 }
5861 static FORCEINLINE HRESULT IBDA_ConditionalAccessEx_CloseMmiDialog(IBDA_ConditionalAccessEx* This,ULONG ulDialogRequest,BSTR bstrLanguage,ULONG ulDialogNumber,BDA_CONDITIONALACCESS_MMICLOSEREASON ReasonCode,ULONG *pulSessionResult) {
5862     return This->lpVtbl->CloseMmiDialog(This,ulDialogRequest,bstrLanguage,ulDialogNumber,ReasonCode,pulSessionResult);
5863 }
5864 static FORCEINLINE HRESULT IBDA_ConditionalAccessEx_CreateDialogRequestNumber(IBDA_ConditionalAccessEx* This,ULONG *pulDialogRequestNumber) {
5865     return This->lpVtbl->CreateDialogRequestNumber(This,pulDialogRequestNumber);
5866 }
5867 #endif
5868 #endif
5869 
5870 #endif
5871 
5872 HRESULT STDMETHODCALLTYPE IBDA_ConditionalAccessEx_CheckEntitlementToken_Proxy(
5873     IBDA_ConditionalAccessEx* This,
5874     ULONG ulDialogRequest,
5875     BSTR bstrLanguage,
5876     BDA_CONDITIONALACCESS_REQUESTTYPE RequestType,
5877     ULONG ulcbEntitlementTokenLen,
5878     BYTE *pbEntitlementToken,
5879     ULONG *pulDescrambleStatus);
5880 void __RPC_STUB IBDA_ConditionalAccessEx_CheckEntitlementToken_Stub(
5881     IRpcStubBuffer* This,
5882     IRpcChannelBuffer* pRpcChannelBuffer,
5883     PRPC_MESSAGE pRpcMessage,
5884     DWORD* pdwStubPhase);
5885 HRESULT STDMETHODCALLTYPE IBDA_ConditionalAccessEx_SetCaptureToken_Proxy(
5886     IBDA_ConditionalAccessEx* This,
5887     ULONG ulcbCaptureTokenLen,
5888     BYTE *pbCaptureToken);
5889 void __RPC_STUB IBDA_ConditionalAccessEx_SetCaptureToken_Stub(
5890     IRpcStubBuffer* This,
5891     IRpcChannelBuffer* pRpcChannelBuffer,
5892     PRPC_MESSAGE pRpcMessage,
5893     DWORD* pdwStubPhase);
5894 HRESULT STDMETHODCALLTYPE IBDA_ConditionalAccessEx_OpenBroadcastMmi_Proxy(
5895     IBDA_ConditionalAccessEx* This,
5896     ULONG ulDialogRequest,
5897     BSTR bstrLanguage,
5898     ULONG EventId);
5899 void __RPC_STUB IBDA_ConditionalAccessEx_OpenBroadcastMmi_Stub(
5900     IRpcStubBuffer* This,
5901     IRpcChannelBuffer* pRpcChannelBuffer,
5902     PRPC_MESSAGE pRpcMessage,
5903     DWORD* pdwStubPhase);
5904 HRESULT STDMETHODCALLTYPE IBDA_ConditionalAccessEx_CloseMmiDialog_Proxy(
5905     IBDA_ConditionalAccessEx* This,
5906     ULONG ulDialogRequest,
5907     BSTR bstrLanguage,
5908     ULONG ulDialogNumber,
5909     BDA_CONDITIONALACCESS_MMICLOSEREASON ReasonCode,
5910     ULONG *pulSessionResult);
5911 void __RPC_STUB IBDA_ConditionalAccessEx_CloseMmiDialog_Stub(
5912     IRpcStubBuffer* This,
5913     IRpcChannelBuffer* pRpcChannelBuffer,
5914     PRPC_MESSAGE pRpcMessage,
5915     DWORD* pdwStubPhase);
5916 HRESULT STDMETHODCALLTYPE IBDA_ConditionalAccessEx_CreateDialogRequestNumber_Proxy(
5917     IBDA_ConditionalAccessEx* This,
5918     ULONG *pulDialogRequestNumber);
5919 void __RPC_STUB IBDA_ConditionalAccessEx_CreateDialogRequestNumber_Stub(
5920     IRpcStubBuffer* This,
5921     IRpcChannelBuffer* pRpcChannelBuffer,
5922     PRPC_MESSAGE pRpcMessage,
5923     DWORD* pdwStubPhase);
5924 
5925 #endif  /* __IBDA_ConditionalAccessEx_INTERFACE_DEFINED__ */
5926 
5927 /*****************************************************************************
5928  * IBDA_ISDBConditionalAccess interface
5929  */
5930 #ifndef __IBDA_ISDBConditionalAccess_INTERFACE_DEFINED__
5931 #define __IBDA_ISDBConditionalAccess_INTERFACE_DEFINED__
5932 
5933 DEFINE_GUID(IID_IBDA_ISDBConditionalAccess, 0x5e68c627, 0x16c2, 0x4e6c, 0xb1,0xe2, 0xd0,0x01,0x70,0xcd,0xaa,0x0f);
5934 #if defined(__cplusplus) && !defined(CINTERFACE)
5935 MIDL_INTERFACE("5e68c627-16c2-4e6c-b1e2-d00170cdaa0f")
5936 IBDA_ISDBConditionalAccess : public IUnknown
5937 {
5938     virtual HRESULT STDMETHODCALLTYPE SetIsdbCasRequest(
5939         ULONG ulRequestId,
5940         ULONG ulcbRequestBufferLen,
5941         BYTE *pbRequestBuffer) = 0;
5942 
5943 };
5944 #ifdef __CRT_UUID_DECL
5945 __CRT_UUID_DECL(IBDA_ISDBConditionalAccess, 0x5e68c627, 0x16c2, 0x4e6c, 0xb1,0xe2, 0xd0,0x01,0x70,0xcd,0xaa,0x0f)
5946 #endif
5947 #else
5948 typedef struct IBDA_ISDBConditionalAccessVtbl {
5949     BEGIN_INTERFACE
5950 
5951     /*** IUnknown methods ***/
5952     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5953         IBDA_ISDBConditionalAccess* This,
5954         REFIID riid,
5955         void **ppvObject);
5956 
5957     ULONG (STDMETHODCALLTYPE *AddRef)(
5958         IBDA_ISDBConditionalAccess* This);
5959 
5960     ULONG (STDMETHODCALLTYPE *Release)(
5961         IBDA_ISDBConditionalAccess* This);
5962 
5963     /*** IBDA_ISDBConditionalAccess methods ***/
5964     HRESULT (STDMETHODCALLTYPE *SetIsdbCasRequest)(
5965         IBDA_ISDBConditionalAccess* This,
5966         ULONG ulRequestId,
5967         ULONG ulcbRequestBufferLen,
5968         BYTE *pbRequestBuffer);
5969 
5970     END_INTERFACE
5971 } IBDA_ISDBConditionalAccessVtbl;
5972 interface IBDA_ISDBConditionalAccess {
5973     CONST_VTBL IBDA_ISDBConditionalAccessVtbl* lpVtbl;
5974 };
5975 
5976 #ifdef COBJMACROS
5977 #ifndef WIDL_C_INLINE_WRAPPERS
5978 /*** IUnknown methods ***/
5979 #define IBDA_ISDBConditionalAccess_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5980 #define IBDA_ISDBConditionalAccess_AddRef(This) (This)->lpVtbl->AddRef(This)
5981 #define IBDA_ISDBConditionalAccess_Release(This) (This)->lpVtbl->Release(This)
5982 /*** IBDA_ISDBConditionalAccess methods ***/
5983 #define IBDA_ISDBConditionalAccess_SetIsdbCasRequest(This,ulRequestId,ulcbRequestBufferLen,pbRequestBuffer) (This)->lpVtbl->SetIsdbCasRequest(This,ulRequestId,ulcbRequestBufferLen,pbRequestBuffer)
5984 #else
5985 /*** IUnknown methods ***/
5986 static FORCEINLINE HRESULT IBDA_ISDBConditionalAccess_QueryInterface(IBDA_ISDBConditionalAccess* This,REFIID riid,void **ppvObject) {
5987     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5988 }
5989 static FORCEINLINE ULONG IBDA_ISDBConditionalAccess_AddRef(IBDA_ISDBConditionalAccess* This) {
5990     return This->lpVtbl->AddRef(This);
5991 }
5992 static FORCEINLINE ULONG IBDA_ISDBConditionalAccess_Release(IBDA_ISDBConditionalAccess* This) {
5993     return This->lpVtbl->Release(This);
5994 }
5995 /*** IBDA_ISDBConditionalAccess methods ***/
5996 static FORCEINLINE HRESULT IBDA_ISDBConditionalAccess_SetIsdbCasRequest(IBDA_ISDBConditionalAccess* This,ULONG ulRequestId,ULONG ulcbRequestBufferLen,BYTE *pbRequestBuffer) {
5997     return This->lpVtbl->SetIsdbCasRequest(This,ulRequestId,ulcbRequestBufferLen,pbRequestBuffer);
5998 }
5999 #endif
6000 #endif
6001 
6002 #endif
6003 
6004 HRESULT STDMETHODCALLTYPE IBDA_ISDBConditionalAccess_SetIsdbCasRequest_Proxy(
6005     IBDA_ISDBConditionalAccess* This,
6006     ULONG ulRequestId,
6007     ULONG ulcbRequestBufferLen,
6008     BYTE *pbRequestBuffer);
6009 void __RPC_STUB IBDA_ISDBConditionalAccess_SetIsdbCasRequest_Stub(
6010     IRpcStubBuffer* This,
6011     IRpcChannelBuffer* pRpcChannelBuffer,
6012     PRPC_MESSAGE pRpcMessage,
6013     DWORD* pdwStubPhase);
6014 
6015 #endif  /* __IBDA_ISDBConditionalAccess_INTERFACE_DEFINED__ */
6016 
6017 /*****************************************************************************
6018  * IBDA_EventingService interface
6019  */
6020 #ifndef __IBDA_EventingService_INTERFACE_DEFINED__
6021 #define __IBDA_EventingService_INTERFACE_DEFINED__
6022 
6023 DEFINE_GUID(IID_IBDA_EventingService, 0x207c413f, 0x00dc, 0x4c61, 0xba,0xd6, 0x6f,0xee,0x1f,0xf0,0x70,0x64);
6024 #if defined(__cplusplus) && !defined(CINTERFACE)
6025 MIDL_INTERFACE("207c413f-00dc-4c61-bad6-6fee1ff07064")
6026 IBDA_EventingService : public IUnknown
6027 {
6028     virtual HRESULT STDMETHODCALLTYPE CompleteEvent(
6029         ULONG ulEventID,
6030         ULONG ulEventResult) = 0;
6031 
6032 };
6033 #ifdef __CRT_UUID_DECL
6034 __CRT_UUID_DECL(IBDA_EventingService, 0x207c413f, 0x00dc, 0x4c61, 0xba,0xd6, 0x6f,0xee,0x1f,0xf0,0x70,0x64)
6035 #endif
6036 #else
6037 typedef struct IBDA_EventingServiceVtbl {
6038     BEGIN_INTERFACE
6039 
6040     /*** IUnknown methods ***/
6041     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6042         IBDA_EventingService* This,
6043         REFIID riid,
6044         void **ppvObject);
6045 
6046     ULONG (STDMETHODCALLTYPE *AddRef)(
6047         IBDA_EventingService* This);
6048 
6049     ULONG (STDMETHODCALLTYPE *Release)(
6050         IBDA_EventingService* This);
6051 
6052     /*** IBDA_EventingService methods ***/
6053     HRESULT (STDMETHODCALLTYPE *CompleteEvent)(
6054         IBDA_EventingService* This,
6055         ULONG ulEventID,
6056         ULONG ulEventResult);
6057 
6058     END_INTERFACE
6059 } IBDA_EventingServiceVtbl;
6060 interface IBDA_EventingService {
6061     CONST_VTBL IBDA_EventingServiceVtbl* lpVtbl;
6062 };
6063 
6064 #ifdef COBJMACROS
6065 #ifndef WIDL_C_INLINE_WRAPPERS
6066 /*** IUnknown methods ***/
6067 #define IBDA_EventingService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6068 #define IBDA_EventingService_AddRef(This) (This)->lpVtbl->AddRef(This)
6069 #define IBDA_EventingService_Release(This) (This)->lpVtbl->Release(This)
6070 /*** IBDA_EventingService methods ***/
6071 #define IBDA_EventingService_CompleteEvent(This,ulEventID,ulEventResult) (This)->lpVtbl->CompleteEvent(This,ulEventID,ulEventResult)
6072 #else
6073 /*** IUnknown methods ***/
6074 static FORCEINLINE HRESULT IBDA_EventingService_QueryInterface(IBDA_EventingService* This,REFIID riid,void **ppvObject) {
6075     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6076 }
6077 static FORCEINLINE ULONG IBDA_EventingService_AddRef(IBDA_EventingService* This) {
6078     return This->lpVtbl->AddRef(This);
6079 }
6080 static FORCEINLINE ULONG IBDA_EventingService_Release(IBDA_EventingService* This) {
6081     return This->lpVtbl->Release(This);
6082 }
6083 /*** IBDA_EventingService methods ***/
6084 static FORCEINLINE HRESULT IBDA_EventingService_CompleteEvent(IBDA_EventingService* This,ULONG ulEventID,ULONG ulEventResult) {
6085     return This->lpVtbl->CompleteEvent(This,ulEventID,ulEventResult);
6086 }
6087 #endif
6088 #endif
6089 
6090 #endif
6091 
6092 HRESULT STDMETHODCALLTYPE IBDA_EventingService_CompleteEvent_Proxy(
6093     IBDA_EventingService* This,
6094     ULONG ulEventID,
6095     ULONG ulEventResult);
6096 void __RPC_STUB IBDA_EventingService_CompleteEvent_Stub(
6097     IRpcStubBuffer* This,
6098     IRpcChannelBuffer* pRpcChannelBuffer,
6099     PRPC_MESSAGE pRpcMessage,
6100     DWORD* pdwStubPhase);
6101 
6102 #endif  /* __IBDA_EventingService_INTERFACE_DEFINED__ */
6103 
6104 /*****************************************************************************
6105  * IBDA_AUX interface
6106  */
6107 #ifndef __IBDA_AUX_INTERFACE_DEFINED__
6108 #define __IBDA_AUX_INTERFACE_DEFINED__
6109 
6110 DEFINE_GUID(IID_IBDA_AUX, 0x7def4c09, 0x6e66, 0x4567, 0xa8,0x19, 0xf0,0xe1,0x7f,0x4a,0x81,0xab);
6111 #if defined(__cplusplus) && !defined(CINTERFACE)
6112 MIDL_INTERFACE("7def4c09-6e66-4567-a819-f0e17f4a81ab")
6113 IBDA_AUX : public IUnknown
6114 {
6115     virtual HRESULT STDMETHODCALLTYPE QueryCapabilities(
6116         DWORD *pdwNumAuxInputsBSTR) = 0;
6117 
6118     virtual HRESULT STDMETHODCALLTYPE EnumCapability(
6119         DWORD dwIndex,
6120         DWORD *dwInputID,
6121         GUID *pConnectorType,
6122         DWORD *ConnTypeNum,
6123         DWORD *NumVideoStds,
6124         ULONGLONG *AnalogStds) = 0;
6125 
6126 };
6127 #ifdef __CRT_UUID_DECL
6128 __CRT_UUID_DECL(IBDA_AUX, 0x7def4c09, 0x6e66, 0x4567, 0xa8,0x19, 0xf0,0xe1,0x7f,0x4a,0x81,0xab)
6129 #endif
6130 #else
6131 typedef struct IBDA_AUXVtbl {
6132     BEGIN_INTERFACE
6133 
6134     /*** IUnknown methods ***/
6135     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6136         IBDA_AUX* This,
6137         REFIID riid,
6138         void **ppvObject);
6139 
6140     ULONG (STDMETHODCALLTYPE *AddRef)(
6141         IBDA_AUX* This);
6142 
6143     ULONG (STDMETHODCALLTYPE *Release)(
6144         IBDA_AUX* This);
6145 
6146     /*** IBDA_AUX methods ***/
6147     HRESULT (STDMETHODCALLTYPE *QueryCapabilities)(
6148         IBDA_AUX* This,
6149         DWORD *pdwNumAuxInputsBSTR);
6150 
6151     HRESULT (STDMETHODCALLTYPE *EnumCapability)(
6152         IBDA_AUX* This,
6153         DWORD dwIndex,
6154         DWORD *dwInputID,
6155         GUID *pConnectorType,
6156         DWORD *ConnTypeNum,
6157         DWORD *NumVideoStds,
6158         ULONGLONG *AnalogStds);
6159 
6160     END_INTERFACE
6161 } IBDA_AUXVtbl;
6162 interface IBDA_AUX {
6163     CONST_VTBL IBDA_AUXVtbl* lpVtbl;
6164 };
6165 
6166 #ifdef COBJMACROS
6167 #ifndef WIDL_C_INLINE_WRAPPERS
6168 /*** IUnknown methods ***/
6169 #define IBDA_AUX_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6170 #define IBDA_AUX_AddRef(This) (This)->lpVtbl->AddRef(This)
6171 #define IBDA_AUX_Release(This) (This)->lpVtbl->Release(This)
6172 /*** IBDA_AUX methods ***/
6173 #define IBDA_AUX_QueryCapabilities(This,pdwNumAuxInputsBSTR) (This)->lpVtbl->QueryCapabilities(This,pdwNumAuxInputsBSTR)
6174 #define IBDA_AUX_EnumCapability(This,dwIndex,dwInputID,pConnectorType,ConnTypeNum,NumVideoStds,AnalogStds) (This)->lpVtbl->EnumCapability(This,dwIndex,dwInputID,pConnectorType,ConnTypeNum,NumVideoStds,AnalogStds)
6175 #else
6176 /*** IUnknown methods ***/
6177 static FORCEINLINE HRESULT IBDA_AUX_QueryInterface(IBDA_AUX* This,REFIID riid,void **ppvObject) {
6178     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6179 }
6180 static FORCEINLINE ULONG IBDA_AUX_AddRef(IBDA_AUX* This) {
6181     return This->lpVtbl->AddRef(This);
6182 }
6183 static FORCEINLINE ULONG IBDA_AUX_Release(IBDA_AUX* This) {
6184     return This->lpVtbl->Release(This);
6185 }
6186 /*** IBDA_AUX methods ***/
6187 static FORCEINLINE HRESULT IBDA_AUX_QueryCapabilities(IBDA_AUX* This,DWORD *pdwNumAuxInputsBSTR) {
6188     return This->lpVtbl->QueryCapabilities(This,pdwNumAuxInputsBSTR);
6189 }
6190 static FORCEINLINE HRESULT IBDA_AUX_EnumCapability(IBDA_AUX* This,DWORD dwIndex,DWORD *dwInputID,GUID *pConnectorType,DWORD *ConnTypeNum,DWORD *NumVideoStds,ULONGLONG *AnalogStds) {
6191     return This->lpVtbl->EnumCapability(This,dwIndex,dwInputID,pConnectorType,ConnTypeNum,NumVideoStds,AnalogStds);
6192 }
6193 #endif
6194 #endif
6195 
6196 #endif
6197 
6198 HRESULT STDMETHODCALLTYPE IBDA_AUX_QueryCapabilities_Proxy(
6199     IBDA_AUX* This,
6200     DWORD *pdwNumAuxInputsBSTR);
6201 void __RPC_STUB IBDA_AUX_QueryCapabilities_Stub(
6202     IRpcStubBuffer* This,
6203     IRpcChannelBuffer* pRpcChannelBuffer,
6204     PRPC_MESSAGE pRpcMessage,
6205     DWORD* pdwStubPhase);
6206 HRESULT STDMETHODCALLTYPE IBDA_AUX_EnumCapability_Proxy(
6207     IBDA_AUX* This,
6208     DWORD dwIndex,
6209     DWORD *dwInputID,
6210     GUID *pConnectorType,
6211     DWORD *ConnTypeNum,
6212     DWORD *NumVideoStds,
6213     ULONGLONG *AnalogStds);
6214 void __RPC_STUB IBDA_AUX_EnumCapability_Stub(
6215     IRpcStubBuffer* This,
6216     IRpcChannelBuffer* pRpcChannelBuffer,
6217     PRPC_MESSAGE pRpcMessage,
6218     DWORD* pdwStubPhase);
6219 
6220 #endif  /* __IBDA_AUX_INTERFACE_DEFINED__ */
6221 
6222 /*****************************************************************************
6223  * IBDA_Encoder interface
6224  */
6225 #ifndef __IBDA_Encoder_INTERFACE_DEFINED__
6226 #define __IBDA_Encoder_INTERFACE_DEFINED__
6227 
6228 DEFINE_GUID(IID_IBDA_Encoder, 0x3a8bad59, 0x59fe, 0x4559, 0xa0,0xba, 0x39,0x6c,0xfa,0xa9,0x8a,0xe3);
6229 #if defined(__cplusplus) && !defined(CINTERFACE)
6230 MIDL_INTERFACE("3a8bad59-59fe-4559-a0ba-396cfaa98ae3")
6231 IBDA_Encoder : public IUnknown
6232 {
6233     virtual HRESULT STDMETHODCALLTYPE QueryCapabilities(
6234         DWORD *NumAudioFmts,
6235         DWORD *NumVideoFmts) = 0;
6236 
6237     virtual HRESULT STDMETHODCALLTYPE EnumAudioCapability(
6238         DWORD FmtIndex,
6239         DWORD *MethodID,
6240         DWORD *AlgorithmType,
6241         DWORD *SamplingRate,
6242         DWORD *BitDepth,
6243         DWORD *NumChannels) = 0;
6244 
6245     virtual HRESULT STDMETHODCALLTYPE EnumVideoCapability(
6246         DWORD FmtIndex,
6247         DWORD *MethodID,
6248         DWORD *AlgorithmType,
6249         DWORD *VerticalSize,
6250         DWORD *HorizontalSize,
6251         DWORD *AspectRatio,
6252         DWORD *FrameRateCode,
6253         DWORD *ProgressiveSequence) = 0;
6254 
6255     virtual HRESULT STDMETHODCALLTYPE SetParameters(
6256         DWORD AudioBitrateMode,
6257         DWORD AudioBitrate,
6258         DWORD AudioMethodID,
6259         DWORD AudioProgram,
6260         DWORD VideoBitrateMode,
6261         DWORD VideoBitrate,
6262         DWORD VideoMethodID) = 0;
6263 
6264     virtual HRESULT STDMETHODCALLTYPE GetState(
6265         DWORD *AudioBitrateMax,
6266         DWORD *AudioBitrateMin,
6267         DWORD *AudioBitrateMode,
6268         DWORD *AudioBitrateStepping,
6269         DWORD *AudioBitrate,
6270         DWORD *AudioMethodID,
6271         DWORD *AvailableAudioPrograms,
6272         DWORD *AudioProgram,
6273         DWORD *VideoBitrateMax,
6274         DWORD *VideoBitrateMin,
6275         DWORD *VideoBitrateMode,
6276         DWORD *VideoBitrate,
6277         DWORD *VideoBitrateStepping,
6278         DWORD *VideoMethodID,
6279         DWORD *SignalSourceID,
6280         ULONGLONG *SignalFormat,
6281         WINBOOL *SignalLock,
6282         LONG *SignalLevel,
6283         DWORD *SignalToNoiseRatio) = 0;
6284 
6285 };
6286 #ifdef __CRT_UUID_DECL
6287 __CRT_UUID_DECL(IBDA_Encoder, 0x3a8bad59, 0x59fe, 0x4559, 0xa0,0xba, 0x39,0x6c,0xfa,0xa9,0x8a,0xe3)
6288 #endif
6289 #else
6290 typedef struct IBDA_EncoderVtbl {
6291     BEGIN_INTERFACE
6292 
6293     /*** IUnknown methods ***/
6294     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6295         IBDA_Encoder* This,
6296         REFIID riid,
6297         void **ppvObject);
6298 
6299     ULONG (STDMETHODCALLTYPE *AddRef)(
6300         IBDA_Encoder* This);
6301 
6302     ULONG (STDMETHODCALLTYPE *Release)(
6303         IBDA_Encoder* This);
6304 
6305     /*** IBDA_Encoder methods ***/
6306     HRESULT (STDMETHODCALLTYPE *QueryCapabilities)(
6307         IBDA_Encoder* This,
6308         DWORD *NumAudioFmts,
6309         DWORD *NumVideoFmts);
6310 
6311     HRESULT (STDMETHODCALLTYPE *EnumAudioCapability)(
6312         IBDA_Encoder* This,
6313         DWORD FmtIndex,
6314         DWORD *MethodID,
6315         DWORD *AlgorithmType,
6316         DWORD *SamplingRate,
6317         DWORD *BitDepth,
6318         DWORD *NumChannels);
6319 
6320     HRESULT (STDMETHODCALLTYPE *EnumVideoCapability)(
6321         IBDA_Encoder* This,
6322         DWORD FmtIndex,
6323         DWORD *MethodID,
6324         DWORD *AlgorithmType,
6325         DWORD *VerticalSize,
6326         DWORD *HorizontalSize,
6327         DWORD *AspectRatio,
6328         DWORD *FrameRateCode,
6329         DWORD *ProgressiveSequence);
6330 
6331     HRESULT (STDMETHODCALLTYPE *SetParameters)(
6332         IBDA_Encoder* This,
6333         DWORD AudioBitrateMode,
6334         DWORD AudioBitrate,
6335         DWORD AudioMethodID,
6336         DWORD AudioProgram,
6337         DWORD VideoBitrateMode,
6338         DWORD VideoBitrate,
6339         DWORD VideoMethodID);
6340 
6341     HRESULT (STDMETHODCALLTYPE *GetState)(
6342         IBDA_Encoder* This,
6343         DWORD *AudioBitrateMax,
6344         DWORD *AudioBitrateMin,
6345         DWORD *AudioBitrateMode,
6346         DWORD *AudioBitrateStepping,
6347         DWORD *AudioBitrate,
6348         DWORD *AudioMethodID,
6349         DWORD *AvailableAudioPrograms,
6350         DWORD *AudioProgram,
6351         DWORD *VideoBitrateMax,
6352         DWORD *VideoBitrateMin,
6353         DWORD *VideoBitrateMode,
6354         DWORD *VideoBitrate,
6355         DWORD *VideoBitrateStepping,
6356         DWORD *VideoMethodID,
6357         DWORD *SignalSourceID,
6358         ULONGLONG *SignalFormat,
6359         WINBOOL *SignalLock,
6360         LONG *SignalLevel,
6361         DWORD *SignalToNoiseRatio);
6362 
6363     END_INTERFACE
6364 } IBDA_EncoderVtbl;
6365 interface IBDA_Encoder {
6366     CONST_VTBL IBDA_EncoderVtbl* lpVtbl;
6367 };
6368 
6369 #ifdef COBJMACROS
6370 #ifndef WIDL_C_INLINE_WRAPPERS
6371 /*** IUnknown methods ***/
6372 #define IBDA_Encoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6373 #define IBDA_Encoder_AddRef(This) (This)->lpVtbl->AddRef(This)
6374 #define IBDA_Encoder_Release(This) (This)->lpVtbl->Release(This)
6375 /*** IBDA_Encoder methods ***/
6376 #define IBDA_Encoder_QueryCapabilities(This,NumAudioFmts,NumVideoFmts) (This)->lpVtbl->QueryCapabilities(This,NumAudioFmts,NumVideoFmts)
6377 #define IBDA_Encoder_EnumAudioCapability(This,FmtIndex,MethodID,AlgorithmType,SamplingRate,BitDepth,NumChannels) (This)->lpVtbl->EnumAudioCapability(This,FmtIndex,MethodID,AlgorithmType,SamplingRate,BitDepth,NumChannels)
6378 #define IBDA_Encoder_EnumVideoCapability(This,FmtIndex,MethodID,AlgorithmType,VerticalSize,HorizontalSize,AspectRatio,FrameRateCode,ProgressiveSequence) (This)->lpVtbl->EnumVideoCapability(This,FmtIndex,MethodID,AlgorithmType,VerticalSize,HorizontalSize,AspectRatio,FrameRateCode,ProgressiveSequence)
6379 #define IBDA_Encoder_SetParameters(This,AudioBitrateMode,AudioBitrate,AudioMethodID,AudioProgram,VideoBitrateMode,VideoBitrate,VideoMethodID) (This)->lpVtbl->SetParameters(This,AudioBitrateMode,AudioBitrate,AudioMethodID,AudioProgram,VideoBitrateMode,VideoBitrate,VideoMethodID)
6380 #define IBDA_Encoder_GetState(This,AudioBitrateMax,AudioBitrateMin,AudioBitrateMode,AudioBitrateStepping,AudioBitrate,AudioMethodID,AvailableAudioPrograms,AudioProgram,VideoBitrateMax,VideoBitrateMin,VideoBitrateMode,VideoBitrate,VideoBitrateStepping,VideoMethodID,SignalSourceID,SignalFormat,SignalLock,SignalLevel,SignalToNoiseRatio) (This)->lpVtbl->GetState(This,AudioBitrateMax,AudioBitrateMin,AudioBitrateMode,AudioBitrateStepping,AudioBitrate,AudioMethodID,AvailableAudioPrograms,AudioProgram,VideoBitrateMax,VideoBitrateMin,VideoBitrateMode,VideoBitrate,VideoBitrateStepping,VideoMethodID,SignalSourceID,SignalFormat,SignalLock,SignalLevel,SignalToNoiseRatio)
6381 #else
6382 /*** IUnknown methods ***/
6383 static FORCEINLINE HRESULT IBDA_Encoder_QueryInterface(IBDA_Encoder* This,REFIID riid,void **ppvObject) {
6384     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6385 }
6386 static FORCEINLINE ULONG IBDA_Encoder_AddRef(IBDA_Encoder* This) {
6387     return This->lpVtbl->AddRef(This);
6388 }
6389 static FORCEINLINE ULONG IBDA_Encoder_Release(IBDA_Encoder* This) {
6390     return This->lpVtbl->Release(This);
6391 }
6392 /*** IBDA_Encoder methods ***/
6393 static FORCEINLINE HRESULT IBDA_Encoder_QueryCapabilities(IBDA_Encoder* This,DWORD *NumAudioFmts,DWORD *NumVideoFmts) {
6394     return This->lpVtbl->QueryCapabilities(This,NumAudioFmts,NumVideoFmts);
6395 }
6396 static FORCEINLINE HRESULT IBDA_Encoder_EnumAudioCapability(IBDA_Encoder* This,DWORD FmtIndex,DWORD *MethodID,DWORD *AlgorithmType,DWORD *SamplingRate,DWORD *BitDepth,DWORD *NumChannels) {
6397     return This->lpVtbl->EnumAudioCapability(This,FmtIndex,MethodID,AlgorithmType,SamplingRate,BitDepth,NumChannels);
6398 }
6399 static FORCEINLINE HRESULT IBDA_Encoder_EnumVideoCapability(IBDA_Encoder* This,DWORD FmtIndex,DWORD *MethodID,DWORD *AlgorithmType,DWORD *VerticalSize,DWORD *HorizontalSize,DWORD *AspectRatio,DWORD *FrameRateCode,DWORD *ProgressiveSequence) {
6400     return This->lpVtbl->EnumVideoCapability(This,FmtIndex,MethodID,AlgorithmType,VerticalSize,HorizontalSize,AspectRatio,FrameRateCode,ProgressiveSequence);
6401 }
6402 static FORCEINLINE HRESULT IBDA_Encoder_SetParameters(IBDA_Encoder* This,DWORD AudioBitrateMode,DWORD AudioBitrate,DWORD AudioMethodID,DWORD AudioProgram,DWORD VideoBitrateMode,DWORD VideoBitrate,DWORD VideoMethodID) {
6403     return This->lpVtbl->SetParameters(This,AudioBitrateMode,AudioBitrate,AudioMethodID,AudioProgram,VideoBitrateMode,VideoBitrate,VideoMethodID);
6404 }
6405 static FORCEINLINE HRESULT IBDA_Encoder_GetState(IBDA_Encoder* This,DWORD *AudioBitrateMax,DWORD *AudioBitrateMin,DWORD *AudioBitrateMode,DWORD *AudioBitrateStepping,DWORD *AudioBitrate,DWORD *AudioMethodID,DWORD *AvailableAudioPrograms,DWORD *AudioProgram,DWORD *VideoBitrateMax,DWORD *VideoBitrateMin,DWORD *VideoBitrateMode,DWORD *VideoBitrate,DWORD *VideoBitrateStepping,DWORD *VideoMethodID,DWORD *SignalSourceID,ULONGLONG *SignalFormat,WINBOOL *SignalLock,LONG *SignalLevel,DWORD *SignalToNoiseRatio) {
6406     return This->lpVtbl->GetState(This,AudioBitrateMax,AudioBitrateMin,AudioBitrateMode,AudioBitrateStepping,AudioBitrate,AudioMethodID,AvailableAudioPrograms,AudioProgram,VideoBitrateMax,VideoBitrateMin,VideoBitrateMode,VideoBitrate,VideoBitrateStepping,VideoMethodID,SignalSourceID,SignalFormat,SignalLock,SignalLevel,SignalToNoiseRatio);
6407 }
6408 #endif
6409 #endif
6410 
6411 #endif
6412 
6413 HRESULT STDMETHODCALLTYPE IBDA_Encoder_QueryCapabilities_Proxy(
6414     IBDA_Encoder* This,
6415     DWORD *NumAudioFmts,
6416     DWORD *NumVideoFmts);
6417 void __RPC_STUB IBDA_Encoder_QueryCapabilities_Stub(
6418     IRpcStubBuffer* This,
6419     IRpcChannelBuffer* pRpcChannelBuffer,
6420     PRPC_MESSAGE pRpcMessage,
6421     DWORD* pdwStubPhase);
6422 HRESULT STDMETHODCALLTYPE IBDA_Encoder_EnumAudioCapability_Proxy(
6423     IBDA_Encoder* This,
6424     DWORD FmtIndex,
6425     DWORD *MethodID,
6426     DWORD *AlgorithmType,
6427     DWORD *SamplingRate,
6428     DWORD *BitDepth,
6429     DWORD *NumChannels);
6430 void __RPC_STUB IBDA_Encoder_EnumAudioCapability_Stub(
6431     IRpcStubBuffer* This,
6432     IRpcChannelBuffer* pRpcChannelBuffer,
6433     PRPC_MESSAGE pRpcMessage,
6434     DWORD* pdwStubPhase);
6435 HRESULT STDMETHODCALLTYPE IBDA_Encoder_EnumVideoCapability_Proxy(
6436     IBDA_Encoder* This,
6437     DWORD FmtIndex,
6438     DWORD *MethodID,
6439     DWORD *AlgorithmType,
6440     DWORD *VerticalSize,
6441     DWORD *HorizontalSize,
6442     DWORD *AspectRatio,
6443     DWORD *FrameRateCode,
6444     DWORD *ProgressiveSequence);
6445 void __RPC_STUB IBDA_Encoder_EnumVideoCapability_Stub(
6446     IRpcStubBuffer* This,
6447     IRpcChannelBuffer* pRpcChannelBuffer,
6448     PRPC_MESSAGE pRpcMessage,
6449     DWORD* pdwStubPhase);
6450 HRESULT STDMETHODCALLTYPE IBDA_Encoder_SetParameters_Proxy(
6451     IBDA_Encoder* This,
6452     DWORD AudioBitrateMode,
6453     DWORD AudioBitrate,
6454     DWORD AudioMethodID,
6455     DWORD AudioProgram,
6456     DWORD VideoBitrateMode,
6457     DWORD VideoBitrate,
6458     DWORD VideoMethodID);
6459 void __RPC_STUB IBDA_Encoder_SetParameters_Stub(
6460     IRpcStubBuffer* This,
6461     IRpcChannelBuffer* pRpcChannelBuffer,
6462     PRPC_MESSAGE pRpcMessage,
6463     DWORD* pdwStubPhase);
6464 HRESULT STDMETHODCALLTYPE IBDA_Encoder_GetState_Proxy(
6465     IBDA_Encoder* This,
6466     DWORD *AudioBitrateMax,
6467     DWORD *AudioBitrateMin,
6468     DWORD *AudioBitrateMode,
6469     DWORD *AudioBitrateStepping,
6470     DWORD *AudioBitrate,
6471     DWORD *AudioMethodID,
6472     DWORD *AvailableAudioPrograms,
6473     DWORD *AudioProgram,
6474     DWORD *VideoBitrateMax,
6475     DWORD *VideoBitrateMin,
6476     DWORD *VideoBitrateMode,
6477     DWORD *VideoBitrate,
6478     DWORD *VideoBitrateStepping,
6479     DWORD *VideoMethodID,
6480     DWORD *SignalSourceID,
6481     ULONGLONG *SignalFormat,
6482     WINBOOL *SignalLock,
6483     LONG *SignalLevel,
6484     DWORD *SignalToNoiseRatio);
6485 void __RPC_STUB IBDA_Encoder_GetState_Stub(
6486     IRpcStubBuffer* This,
6487     IRpcChannelBuffer* pRpcChannelBuffer,
6488     PRPC_MESSAGE pRpcMessage,
6489     DWORD* pdwStubPhase);
6490 
6491 #endif  /* __IBDA_Encoder_INTERFACE_DEFINED__ */
6492 
6493 /*****************************************************************************
6494  * IBDA_FDC interface
6495  */
6496 #ifndef __IBDA_FDC_INTERFACE_DEFINED__
6497 #define __IBDA_FDC_INTERFACE_DEFINED__
6498 
6499 DEFINE_GUID(IID_IBDA_FDC, 0x138adc7e, 0x58ae, 0x437f, 0xb0,0xb4, 0xc9,0xfe,0x19,0xd5,0xb4,0xac);
6500 #if defined(__cplusplus) && !defined(CINTERFACE)
6501 MIDL_INTERFACE("138adc7e-58ae-437f-b0b4-c9fe19d5b4ac")
6502 IBDA_FDC : public IUnknown
6503 {
6504     virtual HRESULT STDMETHODCALLTYPE GetStatus(
6505         DWORD *CurrentBitrate,
6506         WINBOOL *CarrierLock,
6507         DWORD *CurrentFrequency,
6508         WINBOOL *CurrentSpectrumInversion,
6509         BSTR *CurrentPIDList,
6510         BSTR *CurrentTIDList,
6511         WINBOOL *Overflow) = 0;
6512 
6513     virtual HRESULT STDMETHODCALLTYPE RequestTables(
6514         BSTR TableIDs) = 0;
6515 
6516     virtual HRESULT STDMETHODCALLTYPE AddPid(
6517         BSTR PidsToAdd,
6518         DWORD *RemainingFilterEntries) = 0;
6519 
6520     virtual HRESULT STDMETHODCALLTYPE RemovePid(
6521         BSTR PidsToRemove) = 0;
6522 
6523     virtual HRESULT STDMETHODCALLTYPE AddTid(
6524         BSTR TidsToAdd,
6525         BSTR *CurrentTidList) = 0;
6526 
6527     virtual HRESULT STDMETHODCALLTYPE RemoveTid(
6528         BSTR TidsToRemove) = 0;
6529 
6530     virtual HRESULT STDMETHODCALLTYPE GetTableSection(
6531         DWORD *Pid,
6532         DWORD MaxBufferSize,
6533         DWORD *ActualSize,
6534         BYTE *SecBuffer) = 0;
6535 
6536 };
6537 #ifdef __CRT_UUID_DECL
6538 __CRT_UUID_DECL(IBDA_FDC, 0x138adc7e, 0x58ae, 0x437f, 0xb0,0xb4, 0xc9,0xfe,0x19,0xd5,0xb4,0xac)
6539 #endif
6540 #else
6541 typedef struct IBDA_FDCVtbl {
6542     BEGIN_INTERFACE
6543 
6544     /*** IUnknown methods ***/
6545     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6546         IBDA_FDC* This,
6547         REFIID riid,
6548         void **ppvObject);
6549 
6550     ULONG (STDMETHODCALLTYPE *AddRef)(
6551         IBDA_FDC* This);
6552 
6553     ULONG (STDMETHODCALLTYPE *Release)(
6554         IBDA_FDC* This);
6555 
6556     /*** IBDA_FDC methods ***/
6557     HRESULT (STDMETHODCALLTYPE *GetStatus)(
6558         IBDA_FDC* This,
6559         DWORD *CurrentBitrate,
6560         WINBOOL *CarrierLock,
6561         DWORD *CurrentFrequency,
6562         WINBOOL *CurrentSpectrumInversion,
6563         BSTR *CurrentPIDList,
6564         BSTR *CurrentTIDList,
6565         WINBOOL *Overflow);
6566 
6567     HRESULT (STDMETHODCALLTYPE *RequestTables)(
6568         IBDA_FDC* This,
6569         BSTR TableIDs);
6570 
6571     HRESULT (STDMETHODCALLTYPE *AddPid)(
6572         IBDA_FDC* This,
6573         BSTR PidsToAdd,
6574         DWORD *RemainingFilterEntries);
6575 
6576     HRESULT (STDMETHODCALLTYPE *RemovePid)(
6577         IBDA_FDC* This,
6578         BSTR PidsToRemove);
6579 
6580     HRESULT (STDMETHODCALLTYPE *AddTid)(
6581         IBDA_FDC* This,
6582         BSTR TidsToAdd,
6583         BSTR *CurrentTidList);
6584 
6585     HRESULT (STDMETHODCALLTYPE *RemoveTid)(
6586         IBDA_FDC* This,
6587         BSTR TidsToRemove);
6588 
6589     HRESULT (STDMETHODCALLTYPE *GetTableSection)(
6590         IBDA_FDC* This,
6591         DWORD *Pid,
6592         DWORD MaxBufferSize,
6593         DWORD *ActualSize,
6594         BYTE *SecBuffer);
6595 
6596     END_INTERFACE
6597 } IBDA_FDCVtbl;
6598 interface IBDA_FDC {
6599     CONST_VTBL IBDA_FDCVtbl* lpVtbl;
6600 };
6601 
6602 #ifdef COBJMACROS
6603 #ifndef WIDL_C_INLINE_WRAPPERS
6604 /*** IUnknown methods ***/
6605 #define IBDA_FDC_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6606 #define IBDA_FDC_AddRef(This) (This)->lpVtbl->AddRef(This)
6607 #define IBDA_FDC_Release(This) (This)->lpVtbl->Release(This)
6608 /*** IBDA_FDC methods ***/
6609 #define IBDA_FDC_GetStatus(This,CurrentBitrate,CarrierLock,CurrentFrequency,CurrentSpectrumInversion,CurrentPIDList,CurrentTIDList,Overflow) (This)->lpVtbl->GetStatus(This,CurrentBitrate,CarrierLock,CurrentFrequency,CurrentSpectrumInversion,CurrentPIDList,CurrentTIDList,Overflow)
6610 #define IBDA_FDC_RequestTables(This,TableIDs) (This)->lpVtbl->RequestTables(This,TableIDs)
6611 #define IBDA_FDC_AddPid(This,PidsToAdd,RemainingFilterEntries) (This)->lpVtbl->AddPid(This,PidsToAdd,RemainingFilterEntries)
6612 #define IBDA_FDC_RemovePid(This,PidsToRemove) (This)->lpVtbl->RemovePid(This,PidsToRemove)
6613 #define IBDA_FDC_AddTid(This,TidsToAdd,CurrentTidList) (This)->lpVtbl->AddTid(This,TidsToAdd,CurrentTidList)
6614 #define IBDA_FDC_RemoveTid(This,TidsToRemove) (This)->lpVtbl->RemoveTid(This,TidsToRemove)
6615 #define IBDA_FDC_GetTableSection(This,Pid,MaxBufferSize,ActualSize,SecBuffer) (This)->lpVtbl->GetTableSection(This,Pid,MaxBufferSize,ActualSize,SecBuffer)
6616 #else
6617 /*** IUnknown methods ***/
6618 static FORCEINLINE HRESULT IBDA_FDC_QueryInterface(IBDA_FDC* This,REFIID riid,void **ppvObject) {
6619     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6620 }
6621 static FORCEINLINE ULONG IBDA_FDC_AddRef(IBDA_FDC* This) {
6622     return This->lpVtbl->AddRef(This);
6623 }
6624 static FORCEINLINE ULONG IBDA_FDC_Release(IBDA_FDC* This) {
6625     return This->lpVtbl->Release(This);
6626 }
6627 /*** IBDA_FDC methods ***/
6628 static FORCEINLINE HRESULT IBDA_FDC_GetStatus(IBDA_FDC* This,DWORD *CurrentBitrate,WINBOOL *CarrierLock,DWORD *CurrentFrequency,WINBOOL *CurrentSpectrumInversion,BSTR *CurrentPIDList,BSTR *CurrentTIDList,WINBOOL *Overflow) {
6629     return This->lpVtbl->GetStatus(This,CurrentBitrate,CarrierLock,CurrentFrequency,CurrentSpectrumInversion,CurrentPIDList,CurrentTIDList,Overflow);
6630 }
6631 static FORCEINLINE HRESULT IBDA_FDC_RequestTables(IBDA_FDC* This,BSTR TableIDs) {
6632     return This->lpVtbl->RequestTables(This,TableIDs);
6633 }
6634 static FORCEINLINE HRESULT IBDA_FDC_AddPid(IBDA_FDC* This,BSTR PidsToAdd,DWORD *RemainingFilterEntries) {
6635     return This->lpVtbl->AddPid(This,PidsToAdd,RemainingFilterEntries);
6636 }
6637 static FORCEINLINE HRESULT IBDA_FDC_RemovePid(IBDA_FDC* This,BSTR PidsToRemove) {
6638     return This->lpVtbl->RemovePid(This,PidsToRemove);
6639 }
6640 static FORCEINLINE HRESULT IBDA_FDC_AddTid(IBDA_FDC* This,BSTR TidsToAdd,BSTR *CurrentTidList) {
6641     return This->lpVtbl->AddTid(This,TidsToAdd,CurrentTidList);
6642 }
6643 static FORCEINLINE HRESULT IBDA_FDC_RemoveTid(IBDA_FDC* This,BSTR TidsToRemove) {
6644     return This->lpVtbl->RemoveTid(This,TidsToRemove);
6645 }
6646 static FORCEINLINE HRESULT IBDA_FDC_GetTableSection(IBDA_FDC* This,DWORD *Pid,DWORD MaxBufferSize,DWORD *ActualSize,BYTE *SecBuffer) {
6647     return This->lpVtbl->GetTableSection(This,Pid,MaxBufferSize,ActualSize,SecBuffer);
6648 }
6649 #endif
6650 #endif
6651 
6652 #endif
6653 
6654 HRESULT STDMETHODCALLTYPE IBDA_FDC_GetStatus_Proxy(
6655     IBDA_FDC* This,
6656     DWORD *CurrentBitrate,
6657     WINBOOL *CarrierLock,
6658     DWORD *CurrentFrequency,
6659     WINBOOL *CurrentSpectrumInversion,
6660     BSTR *CurrentPIDList,
6661     BSTR *CurrentTIDList,
6662     WINBOOL *Overflow);
6663 void __RPC_STUB IBDA_FDC_GetStatus_Stub(
6664     IRpcStubBuffer* This,
6665     IRpcChannelBuffer* pRpcChannelBuffer,
6666     PRPC_MESSAGE pRpcMessage,
6667     DWORD* pdwStubPhase);
6668 HRESULT STDMETHODCALLTYPE IBDA_FDC_RequestTables_Proxy(
6669     IBDA_FDC* This,
6670     BSTR TableIDs);
6671 void __RPC_STUB IBDA_FDC_RequestTables_Stub(
6672     IRpcStubBuffer* This,
6673     IRpcChannelBuffer* pRpcChannelBuffer,
6674     PRPC_MESSAGE pRpcMessage,
6675     DWORD* pdwStubPhase);
6676 HRESULT STDMETHODCALLTYPE IBDA_FDC_AddPid_Proxy(
6677     IBDA_FDC* This,
6678     BSTR PidsToAdd,
6679     DWORD *RemainingFilterEntries);
6680 void __RPC_STUB IBDA_FDC_AddPid_Stub(
6681     IRpcStubBuffer* This,
6682     IRpcChannelBuffer* pRpcChannelBuffer,
6683     PRPC_MESSAGE pRpcMessage,
6684     DWORD* pdwStubPhase);
6685 HRESULT STDMETHODCALLTYPE IBDA_FDC_RemovePid_Proxy(
6686     IBDA_FDC* This,
6687     BSTR PidsToRemove);
6688 void __RPC_STUB IBDA_FDC_RemovePid_Stub(
6689     IRpcStubBuffer* This,
6690     IRpcChannelBuffer* pRpcChannelBuffer,
6691     PRPC_MESSAGE pRpcMessage,
6692     DWORD* pdwStubPhase);
6693 HRESULT STDMETHODCALLTYPE IBDA_FDC_AddTid_Proxy(
6694     IBDA_FDC* This,
6695     BSTR TidsToAdd,
6696     BSTR *CurrentTidList);
6697 void __RPC_STUB IBDA_FDC_AddTid_Stub(
6698     IRpcStubBuffer* This,
6699     IRpcChannelBuffer* pRpcChannelBuffer,
6700     PRPC_MESSAGE pRpcMessage,
6701     DWORD* pdwStubPhase);
6702 HRESULT STDMETHODCALLTYPE IBDA_FDC_RemoveTid_Proxy(
6703     IBDA_FDC* This,
6704     BSTR TidsToRemove);
6705 void __RPC_STUB IBDA_FDC_RemoveTid_Stub(
6706     IRpcStubBuffer* This,
6707     IRpcChannelBuffer* pRpcChannelBuffer,
6708     PRPC_MESSAGE pRpcMessage,
6709     DWORD* pdwStubPhase);
6710 HRESULT STDMETHODCALLTYPE IBDA_FDC_GetTableSection_Proxy(
6711     IBDA_FDC* This,
6712     DWORD *Pid,
6713     DWORD MaxBufferSize,
6714     DWORD *ActualSize,
6715     BYTE *SecBuffer);
6716 void __RPC_STUB IBDA_FDC_GetTableSection_Stub(
6717     IRpcStubBuffer* This,
6718     IRpcChannelBuffer* pRpcChannelBuffer,
6719     PRPC_MESSAGE pRpcMessage,
6720     DWORD* pdwStubPhase);
6721 
6722 #endif  /* __IBDA_FDC_INTERFACE_DEFINED__ */
6723 
6724 /*****************************************************************************
6725  * IBDA_GuideDataDeliveryService interface
6726  */
6727 #ifndef __IBDA_GuideDataDeliveryService_INTERFACE_DEFINED__
6728 #define __IBDA_GuideDataDeliveryService_INTERFACE_DEFINED__
6729 
6730 DEFINE_GUID(IID_IBDA_GuideDataDeliveryService, 0xc0afcb73, 0x23e7, 0x4bc6, 0xba,0xfa, 0xfd,0xc1,0x67,0xb4,0x71,0x9f);
6731 #if defined(__cplusplus) && !defined(CINTERFACE)
6732 MIDL_INTERFACE("c0afcb73-23e7-4bc6-bafa-fdc167b4719f")
6733 IBDA_GuideDataDeliveryService : public IUnknown
6734 {
6735     virtual HRESULT STDMETHODCALLTYPE GetGuideDataType(
6736         GUID *pguidDataType) = 0;
6737 
6738     virtual HRESULT STDMETHODCALLTYPE GetGuideData(
6739         ULONG *pulcbBufferLen,
6740         BYTE *pbBuffer,
6741         ULONG *pulGuideDataPercentageProgress) = 0;
6742 
6743     virtual HRESULT STDMETHODCALLTYPE RequestGuideDataUpdate(
6744         ) = 0;
6745 
6746     virtual HRESULT STDMETHODCALLTYPE GetTuneXmlFromServiceIdx(
6747         ULONG64 ul64ServiceIdx,
6748         BSTR *pbstrTuneXml) = 0;
6749 
6750     virtual HRESULT STDMETHODCALLTYPE GetServices(
6751         ULONG *pulcbBufferLen,
6752         BYTE *pbBuffer) = 0;
6753 
6754     virtual HRESULT STDMETHODCALLTYPE GetServiceInfoFromTuneXml(
6755         BSTR bstrTuneXml,
6756         BSTR *pbstrServiceDescription) = 0;
6757 
6758 };
6759 #ifdef __CRT_UUID_DECL
6760 __CRT_UUID_DECL(IBDA_GuideDataDeliveryService, 0xc0afcb73, 0x23e7, 0x4bc6, 0xba,0xfa, 0xfd,0xc1,0x67,0xb4,0x71,0x9f)
6761 #endif
6762 #else
6763 typedef struct IBDA_GuideDataDeliveryServiceVtbl {
6764     BEGIN_INTERFACE
6765 
6766     /*** IUnknown methods ***/
6767     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6768         IBDA_GuideDataDeliveryService* This,
6769         REFIID riid,
6770         void **ppvObject);
6771 
6772     ULONG (STDMETHODCALLTYPE *AddRef)(
6773         IBDA_GuideDataDeliveryService* This);
6774 
6775     ULONG (STDMETHODCALLTYPE *Release)(
6776         IBDA_GuideDataDeliveryService* This);
6777 
6778     /*** IBDA_GuideDataDeliveryService methods ***/
6779     HRESULT (STDMETHODCALLTYPE *GetGuideDataType)(
6780         IBDA_GuideDataDeliveryService* This,
6781         GUID *pguidDataType);
6782 
6783     HRESULT (STDMETHODCALLTYPE *GetGuideData)(
6784         IBDA_GuideDataDeliveryService* This,
6785         ULONG *pulcbBufferLen,
6786         BYTE *pbBuffer,
6787         ULONG *pulGuideDataPercentageProgress);
6788 
6789     HRESULT (STDMETHODCALLTYPE *RequestGuideDataUpdate)(
6790         IBDA_GuideDataDeliveryService* This);
6791 
6792     HRESULT (STDMETHODCALLTYPE *GetTuneXmlFromServiceIdx)(
6793         IBDA_GuideDataDeliveryService* This,
6794         ULONG64 ul64ServiceIdx,
6795         BSTR *pbstrTuneXml);
6796 
6797     HRESULT (STDMETHODCALLTYPE *GetServices)(
6798         IBDA_GuideDataDeliveryService* This,
6799         ULONG *pulcbBufferLen,
6800         BYTE *pbBuffer);
6801 
6802     HRESULT (STDMETHODCALLTYPE *GetServiceInfoFromTuneXml)(
6803         IBDA_GuideDataDeliveryService* This,
6804         BSTR bstrTuneXml,
6805         BSTR *pbstrServiceDescription);
6806 
6807     END_INTERFACE
6808 } IBDA_GuideDataDeliveryServiceVtbl;
6809 interface IBDA_GuideDataDeliveryService {
6810     CONST_VTBL IBDA_GuideDataDeliveryServiceVtbl* lpVtbl;
6811 };
6812 
6813 #ifdef COBJMACROS
6814 #ifndef WIDL_C_INLINE_WRAPPERS
6815 /*** IUnknown methods ***/
6816 #define IBDA_GuideDataDeliveryService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6817 #define IBDA_GuideDataDeliveryService_AddRef(This) (This)->lpVtbl->AddRef(This)
6818 #define IBDA_GuideDataDeliveryService_Release(This) (This)->lpVtbl->Release(This)
6819 /*** IBDA_GuideDataDeliveryService methods ***/
6820 #define IBDA_GuideDataDeliveryService_GetGuideDataType(This,pguidDataType) (This)->lpVtbl->GetGuideDataType(This,pguidDataType)
6821 #define IBDA_GuideDataDeliveryService_GetGuideData(This,pulcbBufferLen,pbBuffer,pulGuideDataPercentageProgress) (This)->lpVtbl->GetGuideData(This,pulcbBufferLen,pbBuffer,pulGuideDataPercentageProgress)
6822 #define IBDA_GuideDataDeliveryService_RequestGuideDataUpdate(This) (This)->lpVtbl->RequestGuideDataUpdate(This)
6823 #define IBDA_GuideDataDeliveryService_GetTuneXmlFromServiceIdx(This,ul64ServiceIdx,pbstrTuneXml) (This)->lpVtbl->GetTuneXmlFromServiceIdx(This,ul64ServiceIdx,pbstrTuneXml)
6824 #define IBDA_GuideDataDeliveryService_GetServices(This,pulcbBufferLen,pbBuffer) (This)->lpVtbl->GetServices(This,pulcbBufferLen,pbBuffer)
6825 #define IBDA_GuideDataDeliveryService_GetServiceInfoFromTuneXml(This,bstrTuneXml,pbstrServiceDescription) (This)->lpVtbl->GetServiceInfoFromTuneXml(This,bstrTuneXml,pbstrServiceDescription)
6826 #else
6827 /*** IUnknown methods ***/
6828 static FORCEINLINE HRESULT IBDA_GuideDataDeliveryService_QueryInterface(IBDA_GuideDataDeliveryService* This,REFIID riid,void **ppvObject) {
6829     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6830 }
6831 static FORCEINLINE ULONG IBDA_GuideDataDeliveryService_AddRef(IBDA_GuideDataDeliveryService* This) {
6832     return This->lpVtbl->AddRef(This);
6833 }
6834 static FORCEINLINE ULONG IBDA_GuideDataDeliveryService_Release(IBDA_GuideDataDeliveryService* This) {
6835     return This->lpVtbl->Release(This);
6836 }
6837 /*** IBDA_GuideDataDeliveryService methods ***/
6838 static FORCEINLINE HRESULT IBDA_GuideDataDeliveryService_GetGuideDataType(IBDA_GuideDataDeliveryService* This,GUID *pguidDataType) {
6839     return This->lpVtbl->GetGuideDataType(This,pguidDataType);
6840 }
6841 static FORCEINLINE HRESULT IBDA_GuideDataDeliveryService_GetGuideData(IBDA_GuideDataDeliveryService* This,ULONG *pulcbBufferLen,BYTE *pbBuffer,ULONG *pulGuideDataPercentageProgress) {
6842     return This->lpVtbl->GetGuideData(This,pulcbBufferLen,pbBuffer,pulGuideDataPercentageProgress);
6843 }
6844 static FORCEINLINE HRESULT IBDA_GuideDataDeliveryService_RequestGuideDataUpdate(IBDA_GuideDataDeliveryService* This) {
6845     return This->lpVtbl->RequestGuideDataUpdate(This);
6846 }
6847 static FORCEINLINE HRESULT IBDA_GuideDataDeliveryService_GetTuneXmlFromServiceIdx(IBDA_GuideDataDeliveryService* This,ULONG64 ul64ServiceIdx,BSTR *pbstrTuneXml) {
6848     return This->lpVtbl->GetTuneXmlFromServiceIdx(This,ul64ServiceIdx,pbstrTuneXml);
6849 }
6850 static FORCEINLINE HRESULT IBDA_GuideDataDeliveryService_GetServices(IBDA_GuideDataDeliveryService* This,ULONG *pulcbBufferLen,BYTE *pbBuffer) {
6851     return This->lpVtbl->GetServices(This,pulcbBufferLen,pbBuffer);
6852 }
6853 static FORCEINLINE HRESULT IBDA_GuideDataDeliveryService_GetServiceInfoFromTuneXml(IBDA_GuideDataDeliveryService* This,BSTR bstrTuneXml,BSTR *pbstrServiceDescription) {
6854     return This->lpVtbl->GetServiceInfoFromTuneXml(This,bstrTuneXml,pbstrServiceDescription);
6855 }
6856 #endif
6857 #endif
6858 
6859 #endif
6860 
6861 HRESULT STDMETHODCALLTYPE IBDA_GuideDataDeliveryService_GetGuideDataType_Proxy(
6862     IBDA_GuideDataDeliveryService* This,
6863     GUID *pguidDataType);
6864 void __RPC_STUB IBDA_GuideDataDeliveryService_GetGuideDataType_Stub(
6865     IRpcStubBuffer* This,
6866     IRpcChannelBuffer* pRpcChannelBuffer,
6867     PRPC_MESSAGE pRpcMessage,
6868     DWORD* pdwStubPhase);
6869 HRESULT STDMETHODCALLTYPE IBDA_GuideDataDeliveryService_GetGuideData_Proxy(
6870     IBDA_GuideDataDeliveryService* This,
6871     ULONG *pulcbBufferLen,
6872     BYTE *pbBuffer,
6873     ULONG *pulGuideDataPercentageProgress);
6874 void __RPC_STUB IBDA_GuideDataDeliveryService_GetGuideData_Stub(
6875     IRpcStubBuffer* This,
6876     IRpcChannelBuffer* pRpcChannelBuffer,
6877     PRPC_MESSAGE pRpcMessage,
6878     DWORD* pdwStubPhase);
6879 HRESULT STDMETHODCALLTYPE IBDA_GuideDataDeliveryService_RequestGuideDataUpdate_Proxy(
6880     IBDA_GuideDataDeliveryService* This);
6881 void __RPC_STUB IBDA_GuideDataDeliveryService_RequestGuideDataUpdate_Stub(
6882     IRpcStubBuffer* This,
6883     IRpcChannelBuffer* pRpcChannelBuffer,
6884     PRPC_MESSAGE pRpcMessage,
6885     DWORD* pdwStubPhase);
6886 HRESULT STDMETHODCALLTYPE IBDA_GuideDataDeliveryService_GetTuneXmlFromServiceIdx_Proxy(
6887     IBDA_GuideDataDeliveryService* This,
6888     ULONG64 ul64ServiceIdx,
6889     BSTR *pbstrTuneXml);
6890 void __RPC_STUB IBDA_GuideDataDeliveryService_GetTuneXmlFromServiceIdx_Stub(
6891     IRpcStubBuffer* This,
6892     IRpcChannelBuffer* pRpcChannelBuffer,
6893     PRPC_MESSAGE pRpcMessage,
6894     DWORD* pdwStubPhase);
6895 HRESULT STDMETHODCALLTYPE IBDA_GuideDataDeliveryService_GetServices_Proxy(
6896     IBDA_GuideDataDeliveryService* This,
6897     ULONG *pulcbBufferLen,
6898     BYTE *pbBuffer);
6899 void __RPC_STUB IBDA_GuideDataDeliveryService_GetServices_Stub(
6900     IRpcStubBuffer* This,
6901     IRpcChannelBuffer* pRpcChannelBuffer,
6902     PRPC_MESSAGE pRpcMessage,
6903     DWORD* pdwStubPhase);
6904 HRESULT STDMETHODCALLTYPE IBDA_GuideDataDeliveryService_GetServiceInfoFromTuneXml_Proxy(
6905     IBDA_GuideDataDeliveryService* This,
6906     BSTR bstrTuneXml,
6907     BSTR *pbstrServiceDescription);
6908 void __RPC_STUB IBDA_GuideDataDeliveryService_GetServiceInfoFromTuneXml_Stub(
6909     IRpcStubBuffer* This,
6910     IRpcChannelBuffer* pRpcChannelBuffer,
6911     PRPC_MESSAGE pRpcMessage,
6912     DWORD* pdwStubPhase);
6913 
6914 #endif  /* __IBDA_GuideDataDeliveryService_INTERFACE_DEFINED__ */
6915 
6916 /*****************************************************************************
6917  * IBDA_DRMService interface
6918  */
6919 #ifndef __IBDA_DRMService_INTERFACE_DEFINED__
6920 #define __IBDA_DRMService_INTERFACE_DEFINED__
6921 
6922 DEFINE_GUID(IID_IBDA_DRMService, 0xbff6b5bb, 0xb0ae, 0x484c, 0x9d,0xca, 0x73,0x52,0x8f,0xb0,0xb4,0x6e);
6923 #if defined(__cplusplus) && !defined(CINTERFACE)
6924 MIDL_INTERFACE("bff6b5bb-b0ae-484c-9dca-73528fb0b46e")
6925 IBDA_DRMService : public IUnknown
6926 {
6927     virtual HRESULT STDMETHODCALLTYPE SetDRM(
6928         GUID *puuidNewDrm) = 0;
6929 
6930     virtual HRESULT STDMETHODCALLTYPE GetDRMStatus(
6931         BSTR *pbstrDrmUuidList,
6932         GUID *DrmUuid) = 0;
6933 
6934 };
6935 #ifdef __CRT_UUID_DECL
6936 __CRT_UUID_DECL(IBDA_DRMService, 0xbff6b5bb, 0xb0ae, 0x484c, 0x9d,0xca, 0x73,0x52,0x8f,0xb0,0xb4,0x6e)
6937 #endif
6938 #else
6939 typedef struct IBDA_DRMServiceVtbl {
6940     BEGIN_INTERFACE
6941 
6942     /*** IUnknown methods ***/
6943     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6944         IBDA_DRMService* This,
6945         REFIID riid,
6946         void **ppvObject);
6947 
6948     ULONG (STDMETHODCALLTYPE *AddRef)(
6949         IBDA_DRMService* This);
6950 
6951     ULONG (STDMETHODCALLTYPE *Release)(
6952         IBDA_DRMService* This);
6953 
6954     /*** IBDA_DRMService methods ***/
6955     HRESULT (STDMETHODCALLTYPE *SetDRM)(
6956         IBDA_DRMService* This,
6957         GUID *puuidNewDrm);
6958 
6959     HRESULT (STDMETHODCALLTYPE *GetDRMStatus)(
6960         IBDA_DRMService* This,
6961         BSTR *pbstrDrmUuidList,
6962         GUID *DrmUuid);
6963 
6964     END_INTERFACE
6965 } IBDA_DRMServiceVtbl;
6966 interface IBDA_DRMService {
6967     CONST_VTBL IBDA_DRMServiceVtbl* lpVtbl;
6968 };
6969 
6970 #ifdef COBJMACROS
6971 #ifndef WIDL_C_INLINE_WRAPPERS
6972 /*** IUnknown methods ***/
6973 #define IBDA_DRMService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6974 #define IBDA_DRMService_AddRef(This) (This)->lpVtbl->AddRef(This)
6975 #define IBDA_DRMService_Release(This) (This)->lpVtbl->Release(This)
6976 /*** IBDA_DRMService methods ***/
6977 #define IBDA_DRMService_SetDRM(This,puuidNewDrm) (This)->lpVtbl->SetDRM(This,puuidNewDrm)
6978 #define IBDA_DRMService_GetDRMStatus(This,pbstrDrmUuidList,DrmUuid) (This)->lpVtbl->GetDRMStatus(This,pbstrDrmUuidList,DrmUuid)
6979 #else
6980 /*** IUnknown methods ***/
6981 static FORCEINLINE HRESULT IBDA_DRMService_QueryInterface(IBDA_DRMService* This,REFIID riid,void **ppvObject) {
6982     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6983 }
6984 static FORCEINLINE ULONG IBDA_DRMService_AddRef(IBDA_DRMService* This) {
6985     return This->lpVtbl->AddRef(This);
6986 }
6987 static FORCEINLINE ULONG IBDA_DRMService_Release(IBDA_DRMService* This) {
6988     return This->lpVtbl->Release(This);
6989 }
6990 /*** IBDA_DRMService methods ***/
6991 static FORCEINLINE HRESULT IBDA_DRMService_SetDRM(IBDA_DRMService* This,GUID *puuidNewDrm) {
6992     return This->lpVtbl->SetDRM(This,puuidNewDrm);
6993 }
6994 static FORCEINLINE HRESULT IBDA_DRMService_GetDRMStatus(IBDA_DRMService* This,BSTR *pbstrDrmUuidList,GUID *DrmUuid) {
6995     return This->lpVtbl->GetDRMStatus(This,pbstrDrmUuidList,DrmUuid);
6996 }
6997 #endif
6998 #endif
6999 
7000 #endif
7001 
7002 HRESULT STDMETHODCALLTYPE IBDA_DRMService_SetDRM_Proxy(
7003     IBDA_DRMService* This,
7004     GUID *puuidNewDrm);
7005 void __RPC_STUB IBDA_DRMService_SetDRM_Stub(
7006     IRpcStubBuffer* This,
7007     IRpcChannelBuffer* pRpcChannelBuffer,
7008     PRPC_MESSAGE pRpcMessage,
7009     DWORD* pdwStubPhase);
7010 HRESULT STDMETHODCALLTYPE IBDA_DRMService_GetDRMStatus_Proxy(
7011     IBDA_DRMService* This,
7012     BSTR *pbstrDrmUuidList,
7013     GUID *DrmUuid);
7014 void __RPC_STUB IBDA_DRMService_GetDRMStatus_Stub(
7015     IRpcStubBuffer* This,
7016     IRpcChannelBuffer* pRpcChannelBuffer,
7017     PRPC_MESSAGE pRpcMessage,
7018     DWORD* pdwStubPhase);
7019 
7020 #endif  /* __IBDA_DRMService_INTERFACE_DEFINED__ */
7021 
7022 /*****************************************************************************
7023  * IBDA_WMDRMSession interface
7024  */
7025 #ifndef __IBDA_WMDRMSession_INTERFACE_DEFINED__
7026 #define __IBDA_WMDRMSession_INTERFACE_DEFINED__
7027 
7028 DEFINE_GUID(IID_IBDA_WMDRMSession, 0x4be6fa3d, 0x07cd, 0x4139, 0x8b,0x80, 0x8c,0x18,0xba,0x3a,0xec,0x88);
7029 #if defined(__cplusplus) && !defined(CINTERFACE)
7030 MIDL_INTERFACE("4be6fa3d-07cd-4139-8b80-8c18ba3aec88")
7031 IBDA_WMDRMSession : public IUnknown
7032 {
7033     virtual HRESULT STDMETHODCALLTYPE GetStatus(
7034         ULONG *MaxCaptureToken,
7035         ULONG *MaxStreamingPid,
7036         ULONG *MaxLicense,
7037         ULONG *MinSecurityLevel,
7038         ULONG *RevInfoSequenceNumber,
7039         ULONGLONG *RevInfoIssuedTime,
7040         ULONG *RevInfoTTL,
7041         ULONG *RevListVersion,
7042         ULONG *ulState) = 0;
7043 
7044     virtual HRESULT STDMETHODCALLTYPE SetRevInfo(
7045         ULONG ulRevInfoLen,
7046         BYTE *pbRevInfo) = 0;
7047 
7048     virtual HRESULT STDMETHODCALLTYPE SetCrl(
7049         ULONG ulCrlLen,
7050         BYTE *pbCrlLen) = 0;
7051 
7052     virtual HRESULT STDMETHODCALLTYPE TransactMessage(
7053         ULONG ulcbRequest,
7054         BYTE *pbRequest,
7055         ULONG *pulcbResponse,
7056         BYTE *pbResponse) = 0;
7057 
7058     virtual HRESULT STDMETHODCALLTYPE GetLicense(
7059         GUID *uuidKey,
7060         ULONG *pulPackageLen,
7061         BYTE *pbPackage) = 0;
7062 
7063     virtual HRESULT STDMETHODCALLTYPE ReissueLicense(
7064         GUID *uuidKey) = 0;
7065 
7066     virtual HRESULT STDMETHODCALLTYPE RenewLicense(
7067         ULONG ulInXmrLicenseLen,
7068         BYTE *pbInXmrLicense,
7069         ULONG ulEntitlementTokenLen,
7070         BYTE *pbEntitlementToken,
7071         ULONG *pulDescrambleStatus,
7072         ULONG *pulOutXmrLicenseLen,
7073         BYTE *pbOutXmrLicense) = 0;
7074 
7075     virtual HRESULT STDMETHODCALLTYPE GetKeyInfo(
7076         ULONG *pulKeyInfoLen,
7077         BYTE *pbKeyInfo) = 0;
7078 
7079 };
7080 #ifdef __CRT_UUID_DECL
7081 __CRT_UUID_DECL(IBDA_WMDRMSession, 0x4be6fa3d, 0x07cd, 0x4139, 0x8b,0x80, 0x8c,0x18,0xba,0x3a,0xec,0x88)
7082 #endif
7083 #else
7084 typedef struct IBDA_WMDRMSessionVtbl {
7085     BEGIN_INTERFACE
7086 
7087     /*** IUnknown methods ***/
7088     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7089         IBDA_WMDRMSession* This,
7090         REFIID riid,
7091         void **ppvObject);
7092 
7093     ULONG (STDMETHODCALLTYPE *AddRef)(
7094         IBDA_WMDRMSession* This);
7095 
7096     ULONG (STDMETHODCALLTYPE *Release)(
7097         IBDA_WMDRMSession* This);
7098 
7099     /*** IBDA_WMDRMSession methods ***/
7100     HRESULT (STDMETHODCALLTYPE *GetStatus)(
7101         IBDA_WMDRMSession* This,
7102         ULONG *MaxCaptureToken,
7103         ULONG *MaxStreamingPid,
7104         ULONG *MaxLicense,
7105         ULONG *MinSecurityLevel,
7106         ULONG *RevInfoSequenceNumber,
7107         ULONGLONG *RevInfoIssuedTime,
7108         ULONG *RevInfoTTL,
7109         ULONG *RevListVersion,
7110         ULONG *ulState);
7111 
7112     HRESULT (STDMETHODCALLTYPE *SetRevInfo)(
7113         IBDA_WMDRMSession* This,
7114         ULONG ulRevInfoLen,
7115         BYTE *pbRevInfo);
7116 
7117     HRESULT (STDMETHODCALLTYPE *SetCrl)(
7118         IBDA_WMDRMSession* This,
7119         ULONG ulCrlLen,
7120         BYTE *pbCrlLen);
7121 
7122     HRESULT (STDMETHODCALLTYPE *TransactMessage)(
7123         IBDA_WMDRMSession* This,
7124         ULONG ulcbRequest,
7125         BYTE *pbRequest,
7126         ULONG *pulcbResponse,
7127         BYTE *pbResponse);
7128 
7129     HRESULT (STDMETHODCALLTYPE *GetLicense)(
7130         IBDA_WMDRMSession* This,
7131         GUID *uuidKey,
7132         ULONG *pulPackageLen,
7133         BYTE *pbPackage);
7134 
7135     HRESULT (STDMETHODCALLTYPE *ReissueLicense)(
7136         IBDA_WMDRMSession* This,
7137         GUID *uuidKey);
7138 
7139     HRESULT (STDMETHODCALLTYPE *RenewLicense)(
7140         IBDA_WMDRMSession* This,
7141         ULONG ulInXmrLicenseLen,
7142         BYTE *pbInXmrLicense,
7143         ULONG ulEntitlementTokenLen,
7144         BYTE *pbEntitlementToken,
7145         ULONG *pulDescrambleStatus,
7146         ULONG *pulOutXmrLicenseLen,
7147         BYTE *pbOutXmrLicense);
7148 
7149     HRESULT (STDMETHODCALLTYPE *GetKeyInfo)(
7150         IBDA_WMDRMSession* This,
7151         ULONG *pulKeyInfoLen,
7152         BYTE *pbKeyInfo);
7153 
7154     END_INTERFACE
7155 } IBDA_WMDRMSessionVtbl;
7156 interface IBDA_WMDRMSession {
7157     CONST_VTBL IBDA_WMDRMSessionVtbl* lpVtbl;
7158 };
7159 
7160 #ifdef COBJMACROS
7161 #ifndef WIDL_C_INLINE_WRAPPERS
7162 /*** IUnknown methods ***/
7163 #define IBDA_WMDRMSession_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7164 #define IBDA_WMDRMSession_AddRef(This) (This)->lpVtbl->AddRef(This)
7165 #define IBDA_WMDRMSession_Release(This) (This)->lpVtbl->Release(This)
7166 /*** IBDA_WMDRMSession methods ***/
7167 #define IBDA_WMDRMSession_GetStatus(This,MaxCaptureToken,MaxStreamingPid,MaxLicense,MinSecurityLevel,RevInfoSequenceNumber,RevInfoIssuedTime,RevInfoTTL,RevListVersion,ulState) (This)->lpVtbl->GetStatus(This,MaxCaptureToken,MaxStreamingPid,MaxLicense,MinSecurityLevel,RevInfoSequenceNumber,RevInfoIssuedTime,RevInfoTTL,RevListVersion,ulState)
7168 #define IBDA_WMDRMSession_SetRevInfo(This,ulRevInfoLen,pbRevInfo) (This)->lpVtbl->SetRevInfo(This,ulRevInfoLen,pbRevInfo)
7169 #define IBDA_WMDRMSession_SetCrl(This,ulCrlLen,pbCrlLen) (This)->lpVtbl->SetCrl(This,ulCrlLen,pbCrlLen)
7170 #define IBDA_WMDRMSession_TransactMessage(This,ulcbRequest,pbRequest,pulcbResponse,pbResponse) (This)->lpVtbl->TransactMessage(This,ulcbRequest,pbRequest,pulcbResponse,pbResponse)
7171 #define IBDA_WMDRMSession_GetLicense(This,uuidKey,pulPackageLen,pbPackage) (This)->lpVtbl->GetLicense(This,uuidKey,pulPackageLen,pbPackage)
7172 #define IBDA_WMDRMSession_ReissueLicense(This,uuidKey) (This)->lpVtbl->ReissueLicense(This,uuidKey)
7173 #define IBDA_WMDRMSession_RenewLicense(This,ulInXmrLicenseLen,pbInXmrLicense,ulEntitlementTokenLen,pbEntitlementToken,pulDescrambleStatus,pulOutXmrLicenseLen,pbOutXmrLicense) (This)->lpVtbl->RenewLicense(This,ulInXmrLicenseLen,pbInXmrLicense,ulEntitlementTokenLen,pbEntitlementToken,pulDescrambleStatus,pulOutXmrLicenseLen,pbOutXmrLicense)
7174 #define IBDA_WMDRMSession_GetKeyInfo(This,pulKeyInfoLen,pbKeyInfo) (This)->lpVtbl->GetKeyInfo(This,pulKeyInfoLen,pbKeyInfo)
7175 #else
7176 /*** IUnknown methods ***/
7177 static FORCEINLINE HRESULT IBDA_WMDRMSession_QueryInterface(IBDA_WMDRMSession* This,REFIID riid,void **ppvObject) {
7178     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7179 }
7180 static FORCEINLINE ULONG IBDA_WMDRMSession_AddRef(IBDA_WMDRMSession* This) {
7181     return This->lpVtbl->AddRef(This);
7182 }
7183 static FORCEINLINE ULONG IBDA_WMDRMSession_Release(IBDA_WMDRMSession* This) {
7184     return This->lpVtbl->Release(This);
7185 }
7186 /*** IBDA_WMDRMSession methods ***/
7187 static FORCEINLINE HRESULT IBDA_WMDRMSession_GetStatus(IBDA_WMDRMSession* This,ULONG *MaxCaptureToken,ULONG *MaxStreamingPid,ULONG *MaxLicense,ULONG *MinSecurityLevel,ULONG *RevInfoSequenceNumber,ULONGLONG *RevInfoIssuedTime,ULONG *RevInfoTTL,ULONG *RevListVersion,ULONG *ulState) {
7188     return This->lpVtbl->GetStatus(This,MaxCaptureToken,MaxStreamingPid,MaxLicense,MinSecurityLevel,RevInfoSequenceNumber,RevInfoIssuedTime,RevInfoTTL,RevListVersion,ulState);
7189 }
7190 static FORCEINLINE HRESULT IBDA_WMDRMSession_SetRevInfo(IBDA_WMDRMSession* This,ULONG ulRevInfoLen,BYTE *pbRevInfo) {
7191     return This->lpVtbl->SetRevInfo(This,ulRevInfoLen,pbRevInfo);
7192 }
7193 static FORCEINLINE HRESULT IBDA_WMDRMSession_SetCrl(IBDA_WMDRMSession* This,ULONG ulCrlLen,BYTE *pbCrlLen) {
7194     return This->lpVtbl->SetCrl(This,ulCrlLen,pbCrlLen);
7195 }
7196 static FORCEINLINE HRESULT IBDA_WMDRMSession_TransactMessage(IBDA_WMDRMSession* This,ULONG ulcbRequest,BYTE *pbRequest,ULONG *pulcbResponse,BYTE *pbResponse) {
7197     return This->lpVtbl->TransactMessage(This,ulcbRequest,pbRequest,pulcbResponse,pbResponse);
7198 }
7199 static FORCEINLINE HRESULT IBDA_WMDRMSession_GetLicense(IBDA_WMDRMSession* This,GUID *uuidKey,ULONG *pulPackageLen,BYTE *pbPackage) {
7200     return This->lpVtbl->GetLicense(This,uuidKey,pulPackageLen,pbPackage);
7201 }
7202 static FORCEINLINE HRESULT IBDA_WMDRMSession_ReissueLicense(IBDA_WMDRMSession* This,GUID *uuidKey) {
7203     return This->lpVtbl->ReissueLicense(This,uuidKey);
7204 }
7205 static FORCEINLINE HRESULT IBDA_WMDRMSession_RenewLicense(IBDA_WMDRMSession* This,ULONG ulInXmrLicenseLen,BYTE *pbInXmrLicense,ULONG ulEntitlementTokenLen,BYTE *pbEntitlementToken,ULONG *pulDescrambleStatus,ULONG *pulOutXmrLicenseLen,BYTE *pbOutXmrLicense) {
7206     return This->lpVtbl->RenewLicense(This,ulInXmrLicenseLen,pbInXmrLicense,ulEntitlementTokenLen,pbEntitlementToken,pulDescrambleStatus,pulOutXmrLicenseLen,pbOutXmrLicense);
7207 }
7208 static FORCEINLINE HRESULT IBDA_WMDRMSession_GetKeyInfo(IBDA_WMDRMSession* This,ULONG *pulKeyInfoLen,BYTE *pbKeyInfo) {
7209     return This->lpVtbl->GetKeyInfo(This,pulKeyInfoLen,pbKeyInfo);
7210 }
7211 #endif
7212 #endif
7213 
7214 #endif
7215 
7216 HRESULT STDMETHODCALLTYPE IBDA_WMDRMSession_GetStatus_Proxy(
7217     IBDA_WMDRMSession* This,
7218     ULONG *MaxCaptureToken,
7219     ULONG *MaxStreamingPid,
7220     ULONG *MaxLicense,
7221     ULONG *MinSecurityLevel,
7222     ULONG *RevInfoSequenceNumber,
7223     ULONGLONG *RevInfoIssuedTime,
7224     ULONG *RevInfoTTL,
7225     ULONG *RevListVersion,
7226     ULONG *ulState);
7227 void __RPC_STUB IBDA_WMDRMSession_GetStatus_Stub(
7228     IRpcStubBuffer* This,
7229     IRpcChannelBuffer* pRpcChannelBuffer,
7230     PRPC_MESSAGE pRpcMessage,
7231     DWORD* pdwStubPhase);
7232 HRESULT STDMETHODCALLTYPE IBDA_WMDRMSession_SetRevInfo_Proxy(
7233     IBDA_WMDRMSession* This,
7234     ULONG ulRevInfoLen,
7235     BYTE *pbRevInfo);
7236 void __RPC_STUB IBDA_WMDRMSession_SetRevInfo_Stub(
7237     IRpcStubBuffer* This,
7238     IRpcChannelBuffer* pRpcChannelBuffer,
7239     PRPC_MESSAGE pRpcMessage,
7240     DWORD* pdwStubPhase);
7241 HRESULT STDMETHODCALLTYPE IBDA_WMDRMSession_SetCrl_Proxy(
7242     IBDA_WMDRMSession* This,
7243     ULONG ulCrlLen,
7244     BYTE *pbCrlLen);
7245 void __RPC_STUB IBDA_WMDRMSession_SetCrl_Stub(
7246     IRpcStubBuffer* This,
7247     IRpcChannelBuffer* pRpcChannelBuffer,
7248     PRPC_MESSAGE pRpcMessage,
7249     DWORD* pdwStubPhase);
7250 HRESULT STDMETHODCALLTYPE IBDA_WMDRMSession_TransactMessage_Proxy(
7251     IBDA_WMDRMSession* This,
7252     ULONG ulcbRequest,
7253     BYTE *pbRequest,
7254     ULONG *pulcbResponse,
7255     BYTE *pbResponse);
7256 void __RPC_STUB IBDA_WMDRMSession_TransactMessage_Stub(
7257     IRpcStubBuffer* This,
7258     IRpcChannelBuffer* pRpcChannelBuffer,
7259     PRPC_MESSAGE pRpcMessage,
7260     DWORD* pdwStubPhase);
7261 HRESULT STDMETHODCALLTYPE IBDA_WMDRMSession_GetLicense_Proxy(
7262     IBDA_WMDRMSession* This,
7263     GUID *uuidKey,
7264     ULONG *pulPackageLen,
7265     BYTE *pbPackage);
7266 void __RPC_STUB IBDA_WMDRMSession_GetLicense_Stub(
7267     IRpcStubBuffer* This,
7268     IRpcChannelBuffer* pRpcChannelBuffer,
7269     PRPC_MESSAGE pRpcMessage,
7270     DWORD* pdwStubPhase);
7271 HRESULT STDMETHODCALLTYPE IBDA_WMDRMSession_ReissueLicense_Proxy(
7272     IBDA_WMDRMSession* This,
7273     GUID *uuidKey);
7274 void __RPC_STUB IBDA_WMDRMSession_ReissueLicense_Stub(
7275     IRpcStubBuffer* This,
7276     IRpcChannelBuffer* pRpcChannelBuffer,
7277     PRPC_MESSAGE pRpcMessage,
7278     DWORD* pdwStubPhase);
7279 HRESULT STDMETHODCALLTYPE IBDA_WMDRMSession_RenewLicense_Proxy(
7280     IBDA_WMDRMSession* This,
7281     ULONG ulInXmrLicenseLen,
7282     BYTE *pbInXmrLicense,
7283     ULONG ulEntitlementTokenLen,
7284     BYTE *pbEntitlementToken,
7285     ULONG *pulDescrambleStatus,
7286     ULONG *pulOutXmrLicenseLen,
7287     BYTE *pbOutXmrLicense);
7288 void __RPC_STUB IBDA_WMDRMSession_RenewLicense_Stub(
7289     IRpcStubBuffer* This,
7290     IRpcChannelBuffer* pRpcChannelBuffer,
7291     PRPC_MESSAGE pRpcMessage,
7292     DWORD* pdwStubPhase);
7293 HRESULT STDMETHODCALLTYPE IBDA_WMDRMSession_GetKeyInfo_Proxy(
7294     IBDA_WMDRMSession* This,
7295     ULONG *pulKeyInfoLen,
7296     BYTE *pbKeyInfo);
7297 void __RPC_STUB IBDA_WMDRMSession_GetKeyInfo_Stub(
7298     IRpcStubBuffer* This,
7299     IRpcChannelBuffer* pRpcChannelBuffer,
7300     PRPC_MESSAGE pRpcMessage,
7301     DWORD* pdwStubPhase);
7302 
7303 #endif  /* __IBDA_WMDRMSession_INTERFACE_DEFINED__ */
7304 
7305 /*****************************************************************************
7306  * IBDA_WMDRMTuner interface
7307  */
7308 #ifndef __IBDA_WMDRMTuner_INTERFACE_DEFINED__
7309 #define __IBDA_WMDRMTuner_INTERFACE_DEFINED__
7310 
7311 DEFINE_GUID(IID_IBDA_WMDRMTuner, 0x86d979cf, 0xa8a7, 0x4f94, 0xb5,0xfb, 0x14,0xc0,0xac,0xa6,0x8f,0xe6);
7312 #if defined(__cplusplus) && !defined(CINTERFACE)
7313 MIDL_INTERFACE("86d979cf-a8a7-4f94-b5fb-14c0aca68fe6")
7314 IBDA_WMDRMTuner : public IUnknown
7315 {
7316     virtual HRESULT STDMETHODCALLTYPE PurchaseEntitlement(
7317         ULONG ulDialogRequest,
7318         BSTR bstrLanguage,
7319         ULONG ulPurchaseTokenLen,
7320         BYTE *pbPurchaseToken,
7321         ULONG *pulDescrambleStatus,
7322         ULONG *pulCaptureTokenLen,
7323         BYTE *pbCaptureToken) = 0;
7324 
7325     virtual HRESULT STDMETHODCALLTYPE CancelCaptureToken(
7326         ULONG ulCaptureTokenLen,
7327         BYTE *pbCaptureToken) = 0;
7328 
7329     virtual HRESULT STDMETHODCALLTYPE SetPidProtection(
7330         ULONG ulPid,
7331         GUID *uuidKey) = 0;
7332 
7333     virtual HRESULT STDMETHODCALLTYPE GetPidProtection(
7334         ULONG pulPid,
7335         GUID *uuidKey) = 0;
7336 
7337     virtual HRESULT STDMETHODCALLTYPE SetSyncValue(
7338         ULONG ulSyncValue) = 0;
7339 
7340     virtual HRESULT STDMETHODCALLTYPE GetStartCodeProfile(
7341         ULONG *pulStartCodeProfileLen,
7342         BYTE *pbStartCodeProfile) = 0;
7343 
7344 };
7345 #ifdef __CRT_UUID_DECL
7346 __CRT_UUID_DECL(IBDA_WMDRMTuner, 0x86d979cf, 0xa8a7, 0x4f94, 0xb5,0xfb, 0x14,0xc0,0xac,0xa6,0x8f,0xe6)
7347 #endif
7348 #else
7349 typedef struct IBDA_WMDRMTunerVtbl {
7350     BEGIN_INTERFACE
7351 
7352     /*** IUnknown methods ***/
7353     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7354         IBDA_WMDRMTuner* This,
7355         REFIID riid,
7356         void **ppvObject);
7357 
7358     ULONG (STDMETHODCALLTYPE *AddRef)(
7359         IBDA_WMDRMTuner* This);
7360 
7361     ULONG (STDMETHODCALLTYPE *Release)(
7362         IBDA_WMDRMTuner* This);
7363 
7364     /*** IBDA_WMDRMTuner methods ***/
7365     HRESULT (STDMETHODCALLTYPE *PurchaseEntitlement)(
7366         IBDA_WMDRMTuner* This,
7367         ULONG ulDialogRequest,
7368         BSTR bstrLanguage,
7369         ULONG ulPurchaseTokenLen,
7370         BYTE *pbPurchaseToken,
7371         ULONG *pulDescrambleStatus,
7372         ULONG *pulCaptureTokenLen,
7373         BYTE *pbCaptureToken);
7374 
7375     HRESULT (STDMETHODCALLTYPE *CancelCaptureToken)(
7376         IBDA_WMDRMTuner* This,
7377         ULONG ulCaptureTokenLen,
7378         BYTE *pbCaptureToken);
7379 
7380     HRESULT (STDMETHODCALLTYPE *SetPidProtection)(
7381         IBDA_WMDRMTuner* This,
7382         ULONG ulPid,
7383         GUID *uuidKey);
7384 
7385     HRESULT (STDMETHODCALLTYPE *GetPidProtection)(
7386         IBDA_WMDRMTuner* This,
7387         ULONG pulPid,
7388         GUID *uuidKey);
7389 
7390     HRESULT (STDMETHODCALLTYPE *SetSyncValue)(
7391         IBDA_WMDRMTuner* This,
7392         ULONG ulSyncValue);
7393 
7394     HRESULT (STDMETHODCALLTYPE *GetStartCodeProfile)(
7395         IBDA_WMDRMTuner* This,
7396         ULONG *pulStartCodeProfileLen,
7397         BYTE *pbStartCodeProfile);
7398 
7399     END_INTERFACE
7400 } IBDA_WMDRMTunerVtbl;
7401 interface IBDA_WMDRMTuner {
7402     CONST_VTBL IBDA_WMDRMTunerVtbl* lpVtbl;
7403 };
7404 
7405 #ifdef COBJMACROS
7406 #ifndef WIDL_C_INLINE_WRAPPERS
7407 /*** IUnknown methods ***/
7408 #define IBDA_WMDRMTuner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7409 #define IBDA_WMDRMTuner_AddRef(This) (This)->lpVtbl->AddRef(This)
7410 #define IBDA_WMDRMTuner_Release(This) (This)->lpVtbl->Release(This)
7411 /*** IBDA_WMDRMTuner methods ***/
7412 #define IBDA_WMDRMTuner_PurchaseEntitlement(This,ulDialogRequest,bstrLanguage,ulPurchaseTokenLen,pbPurchaseToken,pulDescrambleStatus,pulCaptureTokenLen,pbCaptureToken) (This)->lpVtbl->PurchaseEntitlement(This,ulDialogRequest,bstrLanguage,ulPurchaseTokenLen,pbPurchaseToken,pulDescrambleStatus,pulCaptureTokenLen,pbCaptureToken)
7413 #define IBDA_WMDRMTuner_CancelCaptureToken(This,ulCaptureTokenLen,pbCaptureToken) (This)->lpVtbl->CancelCaptureToken(This,ulCaptureTokenLen,pbCaptureToken)
7414 #define IBDA_WMDRMTuner_SetPidProtection(This,ulPid,uuidKey) (This)->lpVtbl->SetPidProtection(This,ulPid,uuidKey)
7415 #define IBDA_WMDRMTuner_GetPidProtection(This,pulPid,uuidKey) (This)->lpVtbl->GetPidProtection(This,pulPid,uuidKey)
7416 #define IBDA_WMDRMTuner_SetSyncValue(This,ulSyncValue) (This)->lpVtbl->SetSyncValue(This,ulSyncValue)
7417 #define IBDA_WMDRMTuner_GetStartCodeProfile(This,pulStartCodeProfileLen,pbStartCodeProfile) (This)->lpVtbl->GetStartCodeProfile(This,pulStartCodeProfileLen,pbStartCodeProfile)
7418 #else
7419 /*** IUnknown methods ***/
7420 static FORCEINLINE HRESULT IBDA_WMDRMTuner_QueryInterface(IBDA_WMDRMTuner* This,REFIID riid,void **ppvObject) {
7421     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7422 }
7423 static FORCEINLINE ULONG IBDA_WMDRMTuner_AddRef(IBDA_WMDRMTuner* This) {
7424     return This->lpVtbl->AddRef(This);
7425 }
7426 static FORCEINLINE ULONG IBDA_WMDRMTuner_Release(IBDA_WMDRMTuner* This) {
7427     return This->lpVtbl->Release(This);
7428 }
7429 /*** IBDA_WMDRMTuner methods ***/
7430 static FORCEINLINE HRESULT IBDA_WMDRMTuner_PurchaseEntitlement(IBDA_WMDRMTuner* This,ULONG ulDialogRequest,BSTR bstrLanguage,ULONG ulPurchaseTokenLen,BYTE *pbPurchaseToken,ULONG *pulDescrambleStatus,ULONG *pulCaptureTokenLen,BYTE *pbCaptureToken) {
7431     return This->lpVtbl->PurchaseEntitlement(This,ulDialogRequest,bstrLanguage,ulPurchaseTokenLen,pbPurchaseToken,pulDescrambleStatus,pulCaptureTokenLen,pbCaptureToken);
7432 }
7433 static FORCEINLINE HRESULT IBDA_WMDRMTuner_CancelCaptureToken(IBDA_WMDRMTuner* This,ULONG ulCaptureTokenLen,BYTE *pbCaptureToken) {
7434     return This->lpVtbl->CancelCaptureToken(This,ulCaptureTokenLen,pbCaptureToken);
7435 }
7436 static FORCEINLINE HRESULT IBDA_WMDRMTuner_SetPidProtection(IBDA_WMDRMTuner* This,ULONG ulPid,GUID *uuidKey) {
7437     return This->lpVtbl->SetPidProtection(This,ulPid,uuidKey);
7438 }
7439 static FORCEINLINE HRESULT IBDA_WMDRMTuner_GetPidProtection(IBDA_WMDRMTuner* This,ULONG pulPid,GUID *uuidKey) {
7440     return This->lpVtbl->GetPidProtection(This,pulPid,uuidKey);
7441 }
7442 static FORCEINLINE HRESULT IBDA_WMDRMTuner_SetSyncValue(IBDA_WMDRMTuner* This,ULONG ulSyncValue) {
7443     return This->lpVtbl->SetSyncValue(This,ulSyncValue);
7444 }
7445 static FORCEINLINE HRESULT IBDA_WMDRMTuner_GetStartCodeProfile(IBDA_WMDRMTuner* This,ULONG *pulStartCodeProfileLen,BYTE *pbStartCodeProfile) {
7446     return This->lpVtbl->GetStartCodeProfile(This,pulStartCodeProfileLen,pbStartCodeProfile);
7447 }
7448 #endif
7449 #endif
7450 
7451 #endif
7452 
7453 HRESULT STDMETHODCALLTYPE IBDA_WMDRMTuner_PurchaseEntitlement_Proxy(
7454     IBDA_WMDRMTuner* This,
7455     ULONG ulDialogRequest,
7456     BSTR bstrLanguage,
7457     ULONG ulPurchaseTokenLen,
7458     BYTE *pbPurchaseToken,
7459     ULONG *pulDescrambleStatus,
7460     ULONG *pulCaptureTokenLen,
7461     BYTE *pbCaptureToken);
7462 void __RPC_STUB IBDA_WMDRMTuner_PurchaseEntitlement_Stub(
7463     IRpcStubBuffer* This,
7464     IRpcChannelBuffer* pRpcChannelBuffer,
7465     PRPC_MESSAGE pRpcMessage,
7466     DWORD* pdwStubPhase);
7467 HRESULT STDMETHODCALLTYPE IBDA_WMDRMTuner_CancelCaptureToken_Proxy(
7468     IBDA_WMDRMTuner* This,
7469     ULONG ulCaptureTokenLen,
7470     BYTE *pbCaptureToken);
7471 void __RPC_STUB IBDA_WMDRMTuner_CancelCaptureToken_Stub(
7472     IRpcStubBuffer* This,
7473     IRpcChannelBuffer* pRpcChannelBuffer,
7474     PRPC_MESSAGE pRpcMessage,
7475     DWORD* pdwStubPhase);
7476 HRESULT STDMETHODCALLTYPE IBDA_WMDRMTuner_SetPidProtection_Proxy(
7477     IBDA_WMDRMTuner* This,
7478     ULONG ulPid,
7479     GUID *uuidKey);
7480 void __RPC_STUB IBDA_WMDRMTuner_SetPidProtection_Stub(
7481     IRpcStubBuffer* This,
7482     IRpcChannelBuffer* pRpcChannelBuffer,
7483     PRPC_MESSAGE pRpcMessage,
7484     DWORD* pdwStubPhase);
7485 HRESULT STDMETHODCALLTYPE IBDA_WMDRMTuner_GetPidProtection_Proxy(
7486     IBDA_WMDRMTuner* This,
7487     ULONG pulPid,
7488     GUID *uuidKey);
7489 void __RPC_STUB IBDA_WMDRMTuner_GetPidProtection_Stub(
7490     IRpcStubBuffer* This,
7491     IRpcChannelBuffer* pRpcChannelBuffer,
7492     PRPC_MESSAGE pRpcMessage,
7493     DWORD* pdwStubPhase);
7494 HRESULT STDMETHODCALLTYPE IBDA_WMDRMTuner_SetSyncValue_Proxy(
7495     IBDA_WMDRMTuner* This,
7496     ULONG ulSyncValue);
7497 void __RPC_STUB IBDA_WMDRMTuner_SetSyncValue_Stub(
7498     IRpcStubBuffer* This,
7499     IRpcChannelBuffer* pRpcChannelBuffer,
7500     PRPC_MESSAGE pRpcMessage,
7501     DWORD* pdwStubPhase);
7502 HRESULT STDMETHODCALLTYPE IBDA_WMDRMTuner_GetStartCodeProfile_Proxy(
7503     IBDA_WMDRMTuner* This,
7504     ULONG *pulStartCodeProfileLen,
7505     BYTE *pbStartCodeProfile);
7506 void __RPC_STUB IBDA_WMDRMTuner_GetStartCodeProfile_Stub(
7507     IRpcStubBuffer* This,
7508     IRpcChannelBuffer* pRpcChannelBuffer,
7509     PRPC_MESSAGE pRpcMessage,
7510     DWORD* pdwStubPhase);
7511 
7512 #endif  /* __IBDA_WMDRMTuner_INTERFACE_DEFINED__ */
7513 
7514 /*****************************************************************************
7515  * IBDA_DRIDRMService interface
7516  */
7517 #ifndef __IBDA_DRIDRMService_INTERFACE_DEFINED__
7518 #define __IBDA_DRIDRMService_INTERFACE_DEFINED__
7519 
7520 DEFINE_GUID(IID_IBDA_DRIDRMService, 0x1f9bc2a5, 0x44a3, 0x4c52, 0xaa,0xb1, 0x0b,0xbc,0xe5,0xa1,0x38,0x1d);
7521 #if defined(__cplusplus) && !defined(CINTERFACE)
7522 MIDL_INTERFACE("1f9bc2a5-44a3-4c52-aab1-0bbce5a1381d")
7523 IBDA_DRIDRMService : public IUnknown
7524 {
7525     virtual HRESULT STDMETHODCALLTYPE SetDRM(
7526         BSTR bstrNewDrm) = 0;
7527 
7528     virtual HRESULT STDMETHODCALLTYPE GetDRMStatus(
7529         BSTR *pbstrDrmUuidList,
7530         GUID *DrmUuid) = 0;
7531 
7532     virtual HRESULT STDMETHODCALLTYPE GetPairingStatus(
7533         BDA_DrmPairingError *penumPairingStatus) = 0;
7534 
7535 };
7536 #ifdef __CRT_UUID_DECL
7537 __CRT_UUID_DECL(IBDA_DRIDRMService, 0x1f9bc2a5, 0x44a3, 0x4c52, 0xaa,0xb1, 0x0b,0xbc,0xe5,0xa1,0x38,0x1d)
7538 #endif
7539 #else
7540 typedef struct IBDA_DRIDRMServiceVtbl {
7541     BEGIN_INTERFACE
7542 
7543     /*** IUnknown methods ***/
7544     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7545         IBDA_DRIDRMService* This,
7546         REFIID riid,
7547         void **ppvObject);
7548 
7549     ULONG (STDMETHODCALLTYPE *AddRef)(
7550         IBDA_DRIDRMService* This);
7551 
7552     ULONG (STDMETHODCALLTYPE *Release)(
7553         IBDA_DRIDRMService* This);
7554 
7555     /*** IBDA_DRIDRMService methods ***/
7556     HRESULT (STDMETHODCALLTYPE *SetDRM)(
7557         IBDA_DRIDRMService* This,
7558         BSTR bstrNewDrm);
7559 
7560     HRESULT (STDMETHODCALLTYPE *GetDRMStatus)(
7561         IBDA_DRIDRMService* This,
7562         BSTR *pbstrDrmUuidList,
7563         GUID *DrmUuid);
7564 
7565     HRESULT (STDMETHODCALLTYPE *GetPairingStatus)(
7566         IBDA_DRIDRMService* This,
7567         BDA_DrmPairingError *penumPairingStatus);
7568 
7569     END_INTERFACE
7570 } IBDA_DRIDRMServiceVtbl;
7571 interface IBDA_DRIDRMService {
7572     CONST_VTBL IBDA_DRIDRMServiceVtbl* lpVtbl;
7573 };
7574 
7575 #ifdef COBJMACROS
7576 #ifndef WIDL_C_INLINE_WRAPPERS
7577 /*** IUnknown methods ***/
7578 #define IBDA_DRIDRMService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7579 #define IBDA_DRIDRMService_AddRef(This) (This)->lpVtbl->AddRef(This)
7580 #define IBDA_DRIDRMService_Release(This) (This)->lpVtbl->Release(This)
7581 /*** IBDA_DRIDRMService methods ***/
7582 #define IBDA_DRIDRMService_SetDRM(This,bstrNewDrm) (This)->lpVtbl->SetDRM(This,bstrNewDrm)
7583 #define IBDA_DRIDRMService_GetDRMStatus(This,pbstrDrmUuidList,DrmUuid) (This)->lpVtbl->GetDRMStatus(This,pbstrDrmUuidList,DrmUuid)
7584 #define IBDA_DRIDRMService_GetPairingStatus(This,penumPairingStatus) (This)->lpVtbl->GetPairingStatus(This,penumPairingStatus)
7585 #else
7586 /*** IUnknown methods ***/
7587 static FORCEINLINE HRESULT IBDA_DRIDRMService_QueryInterface(IBDA_DRIDRMService* This,REFIID riid,void **ppvObject) {
7588     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7589 }
7590 static FORCEINLINE ULONG IBDA_DRIDRMService_AddRef(IBDA_DRIDRMService* This) {
7591     return This->lpVtbl->AddRef(This);
7592 }
7593 static FORCEINLINE ULONG IBDA_DRIDRMService_Release(IBDA_DRIDRMService* This) {
7594     return This->lpVtbl->Release(This);
7595 }
7596 /*** IBDA_DRIDRMService methods ***/
7597 static FORCEINLINE HRESULT IBDA_DRIDRMService_SetDRM(IBDA_DRIDRMService* This,BSTR bstrNewDrm) {
7598     return This->lpVtbl->SetDRM(This,bstrNewDrm);
7599 }
7600 static FORCEINLINE HRESULT IBDA_DRIDRMService_GetDRMStatus(IBDA_DRIDRMService* This,BSTR *pbstrDrmUuidList,GUID *DrmUuid) {
7601     return This->lpVtbl->GetDRMStatus(This,pbstrDrmUuidList,DrmUuid);
7602 }
7603 static FORCEINLINE HRESULT IBDA_DRIDRMService_GetPairingStatus(IBDA_DRIDRMService* This,BDA_DrmPairingError *penumPairingStatus) {
7604     return This->lpVtbl->GetPairingStatus(This,penumPairingStatus);
7605 }
7606 #endif
7607 #endif
7608 
7609 #endif
7610 
7611 HRESULT STDMETHODCALLTYPE IBDA_DRIDRMService_SetDRM_Proxy(
7612     IBDA_DRIDRMService* This,
7613     BSTR bstrNewDrm);
7614 void __RPC_STUB IBDA_DRIDRMService_SetDRM_Stub(
7615     IRpcStubBuffer* This,
7616     IRpcChannelBuffer* pRpcChannelBuffer,
7617     PRPC_MESSAGE pRpcMessage,
7618     DWORD* pdwStubPhase);
7619 HRESULT STDMETHODCALLTYPE IBDA_DRIDRMService_GetDRMStatus_Proxy(
7620     IBDA_DRIDRMService* This,
7621     BSTR *pbstrDrmUuidList,
7622     GUID *DrmUuid);
7623 void __RPC_STUB IBDA_DRIDRMService_GetDRMStatus_Stub(
7624     IRpcStubBuffer* This,
7625     IRpcChannelBuffer* pRpcChannelBuffer,
7626     PRPC_MESSAGE pRpcMessage,
7627     DWORD* pdwStubPhase);
7628 HRESULT STDMETHODCALLTYPE IBDA_DRIDRMService_GetPairingStatus_Proxy(
7629     IBDA_DRIDRMService* This,
7630     BDA_DrmPairingError *penumPairingStatus);
7631 void __RPC_STUB IBDA_DRIDRMService_GetPairingStatus_Stub(
7632     IRpcStubBuffer* This,
7633     IRpcChannelBuffer* pRpcChannelBuffer,
7634     PRPC_MESSAGE pRpcMessage,
7635     DWORD* pdwStubPhase);
7636 
7637 #endif  /* __IBDA_DRIDRMService_INTERFACE_DEFINED__ */
7638 
7639 /*****************************************************************************
7640  * IBDA_DRIWMDRMSession interface
7641  */
7642 #ifndef __IBDA_DRIWMDRMSession_INTERFACE_DEFINED__
7643 #define __IBDA_DRIWMDRMSession_INTERFACE_DEFINED__
7644 
7645 DEFINE_GUID(IID_IBDA_DRIWMDRMSession, 0x05c690f8, 0x56db, 0x4bb2, 0xb0,0x53, 0x79,0xc1,0x20,0x98,0xbb,0x26);
7646 #if defined(__cplusplus) && !defined(CINTERFACE)
7647 MIDL_INTERFACE("05c690f8-56db-4bb2-b053-79c12098bb26")
7648 IBDA_DRIWMDRMSession : public IUnknown
7649 {
7650     virtual HRESULT STDMETHODCALLTYPE AcknowledgeLicense(
7651         HRESULT hrLicenseAck) = 0;
7652 
7653     virtual HRESULT STDMETHODCALLTYPE ProcessLicenseChallenge(
7654         DWORD dwcbLicenseMessage,
7655         BYTE *pbLicenseMessage,
7656         DWORD *pdwcbLicenseResponse,
7657         BYTE **ppbLicenseResponse) = 0;
7658 
7659     virtual HRESULT STDMETHODCALLTYPE ProcessRegistrationChallenge(
7660         DWORD dwcbRegistrationMessage,
7661         BYTE *pbRegistrationMessage,
7662         DWORD *pdwcbRegistrationResponse,
7663         BYTE **ppbRegistrationResponse) = 0;
7664 
7665     virtual HRESULT STDMETHODCALLTYPE SetRevInfo(
7666         DWORD dwRevInfoLen,
7667         BYTE *pbRevInfo,
7668         DWORD *pdwResponse) = 0;
7669 
7670     virtual HRESULT STDMETHODCALLTYPE SetCrl(
7671         DWORD dwCrlLen,
7672         BYTE *pbCrlLen,
7673         DWORD *pdwResponse) = 0;
7674 
7675     virtual HRESULT STDMETHODCALLTYPE GetHMSAssociationData(
7676         ) = 0;
7677 
7678     virtual HRESULT STDMETHODCALLTYPE GetLastCardeaError(
7679         DWORD *pdwError) = 0;
7680 
7681 };
7682 #ifdef __CRT_UUID_DECL
7683 __CRT_UUID_DECL(IBDA_DRIWMDRMSession, 0x05c690f8, 0x56db, 0x4bb2, 0xb0,0x53, 0x79,0xc1,0x20,0x98,0xbb,0x26)
7684 #endif
7685 #else
7686 typedef struct IBDA_DRIWMDRMSessionVtbl {
7687     BEGIN_INTERFACE
7688 
7689     /*** IUnknown methods ***/
7690     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7691         IBDA_DRIWMDRMSession* This,
7692         REFIID riid,
7693         void **ppvObject);
7694 
7695     ULONG (STDMETHODCALLTYPE *AddRef)(
7696         IBDA_DRIWMDRMSession* This);
7697 
7698     ULONG (STDMETHODCALLTYPE *Release)(
7699         IBDA_DRIWMDRMSession* This);
7700 
7701     /*** IBDA_DRIWMDRMSession methods ***/
7702     HRESULT (STDMETHODCALLTYPE *AcknowledgeLicense)(
7703         IBDA_DRIWMDRMSession* This,
7704         HRESULT hrLicenseAck);
7705 
7706     HRESULT (STDMETHODCALLTYPE *ProcessLicenseChallenge)(
7707         IBDA_DRIWMDRMSession* This,
7708         DWORD dwcbLicenseMessage,
7709         BYTE *pbLicenseMessage,
7710         DWORD *pdwcbLicenseResponse,
7711         BYTE **ppbLicenseResponse);
7712 
7713     HRESULT (STDMETHODCALLTYPE *ProcessRegistrationChallenge)(
7714         IBDA_DRIWMDRMSession* This,
7715         DWORD dwcbRegistrationMessage,
7716         BYTE *pbRegistrationMessage,
7717         DWORD *pdwcbRegistrationResponse,
7718         BYTE **ppbRegistrationResponse);
7719 
7720     HRESULT (STDMETHODCALLTYPE *SetRevInfo)(
7721         IBDA_DRIWMDRMSession* This,
7722         DWORD dwRevInfoLen,
7723         BYTE *pbRevInfo,
7724         DWORD *pdwResponse);
7725 
7726     HRESULT (STDMETHODCALLTYPE *SetCrl)(
7727         IBDA_DRIWMDRMSession* This,
7728         DWORD dwCrlLen,
7729         BYTE *pbCrlLen,
7730         DWORD *pdwResponse);
7731 
7732     HRESULT (STDMETHODCALLTYPE *GetHMSAssociationData)(
7733         IBDA_DRIWMDRMSession* This);
7734 
7735     HRESULT (STDMETHODCALLTYPE *GetLastCardeaError)(
7736         IBDA_DRIWMDRMSession* This,
7737         DWORD *pdwError);
7738 
7739     END_INTERFACE
7740 } IBDA_DRIWMDRMSessionVtbl;
7741 interface IBDA_DRIWMDRMSession {
7742     CONST_VTBL IBDA_DRIWMDRMSessionVtbl* lpVtbl;
7743 };
7744 
7745 #ifdef COBJMACROS
7746 #ifndef WIDL_C_INLINE_WRAPPERS
7747 /*** IUnknown methods ***/
7748 #define IBDA_DRIWMDRMSession_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7749 #define IBDA_DRIWMDRMSession_AddRef(This) (This)->lpVtbl->AddRef(This)
7750 #define IBDA_DRIWMDRMSession_Release(This) (This)->lpVtbl->Release(This)
7751 /*** IBDA_DRIWMDRMSession methods ***/
7752 #define IBDA_DRIWMDRMSession_AcknowledgeLicense(This,hrLicenseAck) (This)->lpVtbl->AcknowledgeLicense(This,hrLicenseAck)
7753 #define IBDA_DRIWMDRMSession_ProcessLicenseChallenge(This,dwcbLicenseMessage,pbLicenseMessage,pdwcbLicenseResponse,ppbLicenseResponse) (This)->lpVtbl->ProcessLicenseChallenge(This,dwcbLicenseMessage,pbLicenseMessage,pdwcbLicenseResponse,ppbLicenseResponse)
7754 #define IBDA_DRIWMDRMSession_ProcessRegistrationChallenge(This,dwcbRegistrationMessage,pbRegistrationMessage,pdwcbRegistrationResponse,ppbRegistrationResponse) (This)->lpVtbl->ProcessRegistrationChallenge(This,dwcbRegistrationMessage,pbRegistrationMessage,pdwcbRegistrationResponse,ppbRegistrationResponse)
7755 #define IBDA_DRIWMDRMSession_SetRevInfo(This,dwRevInfoLen,pbRevInfo,pdwResponse) (This)->lpVtbl->SetRevInfo(This,dwRevInfoLen,pbRevInfo,pdwResponse)
7756 #define IBDA_DRIWMDRMSession_SetCrl(This,dwCrlLen,pbCrlLen,pdwResponse) (This)->lpVtbl->SetCrl(This,dwCrlLen,pbCrlLen,pdwResponse)
7757 #define IBDA_DRIWMDRMSession_GetHMSAssociationData(This) (This)->lpVtbl->GetHMSAssociationData(This)
7758 #define IBDA_DRIWMDRMSession_GetLastCardeaError(This,pdwError) (This)->lpVtbl->GetLastCardeaError(This,pdwError)
7759 #else
7760 /*** IUnknown methods ***/
7761 static FORCEINLINE HRESULT IBDA_DRIWMDRMSession_QueryInterface(IBDA_DRIWMDRMSession* This,REFIID riid,void **ppvObject) {
7762     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7763 }
7764 static FORCEINLINE ULONG IBDA_DRIWMDRMSession_AddRef(IBDA_DRIWMDRMSession* This) {
7765     return This->lpVtbl->AddRef(This);
7766 }
7767 static FORCEINLINE ULONG IBDA_DRIWMDRMSession_Release(IBDA_DRIWMDRMSession* This) {
7768     return This->lpVtbl->Release(This);
7769 }
7770 /*** IBDA_DRIWMDRMSession methods ***/
7771 static FORCEINLINE HRESULT IBDA_DRIWMDRMSession_AcknowledgeLicense(IBDA_DRIWMDRMSession* This,HRESULT hrLicenseAck) {
7772     return This->lpVtbl->AcknowledgeLicense(This,hrLicenseAck);
7773 }
7774 static FORCEINLINE HRESULT IBDA_DRIWMDRMSession_ProcessLicenseChallenge(IBDA_DRIWMDRMSession* This,DWORD dwcbLicenseMessage,BYTE *pbLicenseMessage,DWORD *pdwcbLicenseResponse,BYTE **ppbLicenseResponse) {
7775     return This->lpVtbl->ProcessLicenseChallenge(This,dwcbLicenseMessage,pbLicenseMessage,pdwcbLicenseResponse,ppbLicenseResponse);
7776 }
7777 static FORCEINLINE HRESULT IBDA_DRIWMDRMSession_ProcessRegistrationChallenge(IBDA_DRIWMDRMSession* This,DWORD dwcbRegistrationMessage,BYTE *pbRegistrationMessage,DWORD *pdwcbRegistrationResponse,BYTE **ppbRegistrationResponse) {
7778     return This->lpVtbl->ProcessRegistrationChallenge(This,dwcbRegistrationMessage,pbRegistrationMessage,pdwcbRegistrationResponse,ppbRegistrationResponse);
7779 }
7780 static FORCEINLINE HRESULT IBDA_DRIWMDRMSession_SetRevInfo(IBDA_DRIWMDRMSession* This,DWORD dwRevInfoLen,BYTE *pbRevInfo,DWORD *pdwResponse) {
7781     return This->lpVtbl->SetRevInfo(This,dwRevInfoLen,pbRevInfo,pdwResponse);
7782 }
7783 static FORCEINLINE HRESULT IBDA_DRIWMDRMSession_SetCrl(IBDA_DRIWMDRMSession* This,DWORD dwCrlLen,BYTE *pbCrlLen,DWORD *pdwResponse) {
7784     return This->lpVtbl->SetCrl(This,dwCrlLen,pbCrlLen,pdwResponse);
7785 }
7786 static FORCEINLINE HRESULT IBDA_DRIWMDRMSession_GetHMSAssociationData(IBDA_DRIWMDRMSession* This) {
7787     return This->lpVtbl->GetHMSAssociationData(This);
7788 }
7789 static FORCEINLINE HRESULT IBDA_DRIWMDRMSession_GetLastCardeaError(IBDA_DRIWMDRMSession* This,DWORD *pdwError) {
7790     return This->lpVtbl->GetLastCardeaError(This,pdwError);
7791 }
7792 #endif
7793 #endif
7794 
7795 #endif
7796 
7797 HRESULT STDMETHODCALLTYPE IBDA_DRIWMDRMSession_AcknowledgeLicense_Proxy(
7798     IBDA_DRIWMDRMSession* This,
7799     HRESULT hrLicenseAck);
7800 void __RPC_STUB IBDA_DRIWMDRMSession_AcknowledgeLicense_Stub(
7801     IRpcStubBuffer* This,
7802     IRpcChannelBuffer* pRpcChannelBuffer,
7803     PRPC_MESSAGE pRpcMessage,
7804     DWORD* pdwStubPhase);
7805 HRESULT STDMETHODCALLTYPE IBDA_DRIWMDRMSession_ProcessLicenseChallenge_Proxy(
7806     IBDA_DRIWMDRMSession* This,
7807     DWORD dwcbLicenseMessage,
7808     BYTE *pbLicenseMessage,
7809     DWORD *pdwcbLicenseResponse,
7810     BYTE **ppbLicenseResponse);
7811 void __RPC_STUB IBDA_DRIWMDRMSession_ProcessLicenseChallenge_Stub(
7812     IRpcStubBuffer* This,
7813     IRpcChannelBuffer* pRpcChannelBuffer,
7814     PRPC_MESSAGE pRpcMessage,
7815     DWORD* pdwStubPhase);
7816 HRESULT STDMETHODCALLTYPE IBDA_DRIWMDRMSession_ProcessRegistrationChallenge_Proxy(
7817     IBDA_DRIWMDRMSession* This,
7818     DWORD dwcbRegistrationMessage,
7819     BYTE *pbRegistrationMessage,
7820     DWORD *pdwcbRegistrationResponse,
7821     BYTE **ppbRegistrationResponse);
7822 void __RPC_STUB IBDA_DRIWMDRMSession_ProcessRegistrationChallenge_Stub(
7823     IRpcStubBuffer* This,
7824     IRpcChannelBuffer* pRpcChannelBuffer,
7825     PRPC_MESSAGE pRpcMessage,
7826     DWORD* pdwStubPhase);
7827 HRESULT STDMETHODCALLTYPE IBDA_DRIWMDRMSession_SetRevInfo_Proxy(
7828     IBDA_DRIWMDRMSession* This,
7829     DWORD dwRevInfoLen,
7830     BYTE *pbRevInfo,
7831     DWORD *pdwResponse);
7832 void __RPC_STUB IBDA_DRIWMDRMSession_SetRevInfo_Stub(
7833     IRpcStubBuffer* This,
7834     IRpcChannelBuffer* pRpcChannelBuffer,
7835     PRPC_MESSAGE pRpcMessage,
7836     DWORD* pdwStubPhase);
7837 HRESULT STDMETHODCALLTYPE IBDA_DRIWMDRMSession_SetCrl_Proxy(
7838     IBDA_DRIWMDRMSession* This,
7839     DWORD dwCrlLen,
7840     BYTE *pbCrlLen,
7841     DWORD *pdwResponse);
7842 void __RPC_STUB IBDA_DRIWMDRMSession_SetCrl_Stub(
7843     IRpcStubBuffer* This,
7844     IRpcChannelBuffer* pRpcChannelBuffer,
7845     PRPC_MESSAGE pRpcMessage,
7846     DWORD* pdwStubPhase);
7847 HRESULT STDMETHODCALLTYPE IBDA_DRIWMDRMSession_GetHMSAssociationData_Proxy(
7848     IBDA_DRIWMDRMSession* This);
7849 void __RPC_STUB IBDA_DRIWMDRMSession_GetHMSAssociationData_Stub(
7850     IRpcStubBuffer* This,
7851     IRpcChannelBuffer* pRpcChannelBuffer,
7852     PRPC_MESSAGE pRpcMessage,
7853     DWORD* pdwStubPhase);
7854 HRESULT STDMETHODCALLTYPE IBDA_DRIWMDRMSession_GetLastCardeaError_Proxy(
7855     IBDA_DRIWMDRMSession* This,
7856     DWORD *pdwError);
7857 void __RPC_STUB IBDA_DRIWMDRMSession_GetLastCardeaError_Stub(
7858     IRpcStubBuffer* This,
7859     IRpcChannelBuffer* pRpcChannelBuffer,
7860     PRPC_MESSAGE pRpcMessage,
7861     DWORD* pdwStubPhase);
7862 
7863 #endif  /* __IBDA_DRIWMDRMSession_INTERFACE_DEFINED__ */
7864 
7865 /*****************************************************************************
7866  * IBDA_MUX interface
7867  */
7868 #ifndef __IBDA_MUX_INTERFACE_DEFINED__
7869 #define __IBDA_MUX_INTERFACE_DEFINED__
7870 
7871 DEFINE_GUID(IID_IBDA_MUX, 0x942aafec, 0x4c05, 0x4c74, 0xb8,0xeb, 0x87,0x06,0xc2,0xa4,0x94,0x3f);
7872 #if defined(__cplusplus) && !defined(CINTERFACE)
7873 MIDL_INTERFACE("942aafec-4c05-4c74-b8eb-8706c2a4943f")
7874 IBDA_MUX : public IUnknown
7875 {
7876     virtual HRESULT STDMETHODCALLTYPE SetPidList(
7877         ULONG ulPidListCount,
7878         BDA_MUX_PIDLISTITEM *pbPidListBuffer) = 0;
7879 
7880     virtual HRESULT STDMETHODCALLTYPE GetPidList(
7881         ULONG *pulPidListCount,
7882         BDA_MUX_PIDLISTITEM *pbPidListBuffer) = 0;
7883 
7884 };
7885 #ifdef __CRT_UUID_DECL
7886 __CRT_UUID_DECL(IBDA_MUX, 0x942aafec, 0x4c05, 0x4c74, 0xb8,0xeb, 0x87,0x06,0xc2,0xa4,0x94,0x3f)
7887 #endif
7888 #else
7889 typedef struct IBDA_MUXVtbl {
7890     BEGIN_INTERFACE
7891 
7892     /*** IUnknown methods ***/
7893     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7894         IBDA_MUX* This,
7895         REFIID riid,
7896         void **ppvObject);
7897 
7898     ULONG (STDMETHODCALLTYPE *AddRef)(
7899         IBDA_MUX* This);
7900 
7901     ULONG (STDMETHODCALLTYPE *Release)(
7902         IBDA_MUX* This);
7903 
7904     /*** IBDA_MUX methods ***/
7905     HRESULT (STDMETHODCALLTYPE *SetPidList)(
7906         IBDA_MUX* This,
7907         ULONG ulPidListCount,
7908         BDA_MUX_PIDLISTITEM *pbPidListBuffer);
7909 
7910     HRESULT (STDMETHODCALLTYPE *GetPidList)(
7911         IBDA_MUX* This,
7912         ULONG *pulPidListCount,
7913         BDA_MUX_PIDLISTITEM *pbPidListBuffer);
7914 
7915     END_INTERFACE
7916 } IBDA_MUXVtbl;
7917 interface IBDA_MUX {
7918     CONST_VTBL IBDA_MUXVtbl* lpVtbl;
7919 };
7920 
7921 #ifdef COBJMACROS
7922 #ifndef WIDL_C_INLINE_WRAPPERS
7923 /*** IUnknown methods ***/
7924 #define IBDA_MUX_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7925 #define IBDA_MUX_AddRef(This) (This)->lpVtbl->AddRef(This)
7926 #define IBDA_MUX_Release(This) (This)->lpVtbl->Release(This)
7927 /*** IBDA_MUX methods ***/
7928 #define IBDA_MUX_SetPidList(This,ulPidListCount,pbPidListBuffer) (This)->lpVtbl->SetPidList(This,ulPidListCount,pbPidListBuffer)
7929 #define IBDA_MUX_GetPidList(This,pulPidListCount,pbPidListBuffer) (This)->lpVtbl->GetPidList(This,pulPidListCount,pbPidListBuffer)
7930 #else
7931 /*** IUnknown methods ***/
7932 static FORCEINLINE HRESULT IBDA_MUX_QueryInterface(IBDA_MUX* This,REFIID riid,void **ppvObject) {
7933     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7934 }
7935 static FORCEINLINE ULONG IBDA_MUX_AddRef(IBDA_MUX* This) {
7936     return This->lpVtbl->AddRef(This);
7937 }
7938 static FORCEINLINE ULONG IBDA_MUX_Release(IBDA_MUX* This) {
7939     return This->lpVtbl->Release(This);
7940 }
7941 /*** IBDA_MUX methods ***/
7942 static FORCEINLINE HRESULT IBDA_MUX_SetPidList(IBDA_MUX* This,ULONG ulPidListCount,BDA_MUX_PIDLISTITEM *pbPidListBuffer) {
7943     return This->lpVtbl->SetPidList(This,ulPidListCount,pbPidListBuffer);
7944 }
7945 static FORCEINLINE HRESULT IBDA_MUX_GetPidList(IBDA_MUX* This,ULONG *pulPidListCount,BDA_MUX_PIDLISTITEM *pbPidListBuffer) {
7946     return This->lpVtbl->GetPidList(This,pulPidListCount,pbPidListBuffer);
7947 }
7948 #endif
7949 #endif
7950 
7951 #endif
7952 
7953 HRESULT STDMETHODCALLTYPE IBDA_MUX_SetPidList_Proxy(
7954     IBDA_MUX* This,
7955     ULONG ulPidListCount,
7956     BDA_MUX_PIDLISTITEM *pbPidListBuffer);
7957 void __RPC_STUB IBDA_MUX_SetPidList_Stub(
7958     IRpcStubBuffer* This,
7959     IRpcChannelBuffer* pRpcChannelBuffer,
7960     PRPC_MESSAGE pRpcMessage,
7961     DWORD* pdwStubPhase);
7962 HRESULT STDMETHODCALLTYPE IBDA_MUX_GetPidList_Proxy(
7963     IBDA_MUX* This,
7964     ULONG *pulPidListCount,
7965     BDA_MUX_PIDLISTITEM *pbPidListBuffer);
7966 void __RPC_STUB IBDA_MUX_GetPidList_Stub(
7967     IRpcStubBuffer* This,
7968     IRpcChannelBuffer* pRpcChannelBuffer,
7969     PRPC_MESSAGE pRpcMessage,
7970     DWORD* pdwStubPhase);
7971 
7972 #endif  /* __IBDA_MUX_INTERFACE_DEFINED__ */
7973 
7974 /*****************************************************************************
7975  * IBDA_TransportStreamSelector interface
7976  */
7977 #ifndef __IBDA_TransportStreamSelector_INTERFACE_DEFINED__
7978 #define __IBDA_TransportStreamSelector_INTERFACE_DEFINED__
7979 
7980 DEFINE_GUID(IID_IBDA_TransportStreamSelector, 0x1dcfafe9, 0xb45e, 0x41b3, 0xbb,0x2a, 0x56,0x1e,0xb1,0x29,0xae,0x98);
7981 #if defined(__cplusplus) && !defined(CINTERFACE)
7982 MIDL_INTERFACE("1dcfafe9-b45e-41b3-bb2a-561eb129ae98")
7983 IBDA_TransportStreamSelector : public IUnknown
7984 {
7985     virtual HRESULT STDMETHODCALLTYPE SetTSID(
7986         USHORT usTSID) = 0;
7987 
7988     virtual HRESULT STDMETHODCALLTYPE GetTSInformation(
7989         ULONG *pulTSInformationBufferLen,
7990         BYTE *pbTSInformationBuffer) = 0;
7991 
7992 };
7993 #ifdef __CRT_UUID_DECL
7994 __CRT_UUID_DECL(IBDA_TransportStreamSelector, 0x1dcfafe9, 0xb45e, 0x41b3, 0xbb,0x2a, 0x56,0x1e,0xb1,0x29,0xae,0x98)
7995 #endif
7996 #else
7997 typedef struct IBDA_TransportStreamSelectorVtbl {
7998     BEGIN_INTERFACE
7999 
8000     /*** IUnknown methods ***/
8001     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8002         IBDA_TransportStreamSelector* This,
8003         REFIID riid,
8004         void **ppvObject);
8005 
8006     ULONG (STDMETHODCALLTYPE *AddRef)(
8007         IBDA_TransportStreamSelector* This);
8008 
8009     ULONG (STDMETHODCALLTYPE *Release)(
8010         IBDA_TransportStreamSelector* This);
8011 
8012     /*** IBDA_TransportStreamSelector methods ***/
8013     HRESULT (STDMETHODCALLTYPE *SetTSID)(
8014         IBDA_TransportStreamSelector* This,
8015         USHORT usTSID);
8016 
8017     HRESULT (STDMETHODCALLTYPE *GetTSInformation)(
8018         IBDA_TransportStreamSelector* This,
8019         ULONG *pulTSInformationBufferLen,
8020         BYTE *pbTSInformationBuffer);
8021 
8022     END_INTERFACE
8023 } IBDA_TransportStreamSelectorVtbl;
8024 interface IBDA_TransportStreamSelector {
8025     CONST_VTBL IBDA_TransportStreamSelectorVtbl* lpVtbl;
8026 };
8027 
8028 #ifdef COBJMACROS
8029 #ifndef WIDL_C_INLINE_WRAPPERS
8030 /*** IUnknown methods ***/
8031 #define IBDA_TransportStreamSelector_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8032 #define IBDA_TransportStreamSelector_AddRef(This) (This)->lpVtbl->AddRef(This)
8033 #define IBDA_TransportStreamSelector_Release(This) (This)->lpVtbl->Release(This)
8034 /*** IBDA_TransportStreamSelector methods ***/
8035 #define IBDA_TransportStreamSelector_SetTSID(This,usTSID) (This)->lpVtbl->SetTSID(This,usTSID)
8036 #define IBDA_TransportStreamSelector_GetTSInformation(This,pulTSInformationBufferLen,pbTSInformationBuffer) (This)->lpVtbl->GetTSInformation(This,pulTSInformationBufferLen,pbTSInformationBuffer)
8037 #else
8038 /*** IUnknown methods ***/
8039 static FORCEINLINE HRESULT IBDA_TransportStreamSelector_QueryInterface(IBDA_TransportStreamSelector* This,REFIID riid,void **ppvObject) {
8040     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8041 }
8042 static FORCEINLINE ULONG IBDA_TransportStreamSelector_AddRef(IBDA_TransportStreamSelector* This) {
8043     return This->lpVtbl->AddRef(This);
8044 }
8045 static FORCEINLINE ULONG IBDA_TransportStreamSelector_Release(IBDA_TransportStreamSelector* This) {
8046     return This->lpVtbl->Release(This);
8047 }
8048 /*** IBDA_TransportStreamSelector methods ***/
8049 static FORCEINLINE HRESULT IBDA_TransportStreamSelector_SetTSID(IBDA_TransportStreamSelector* This,USHORT usTSID) {
8050     return This->lpVtbl->SetTSID(This,usTSID);
8051 }
8052 static FORCEINLINE HRESULT IBDA_TransportStreamSelector_GetTSInformation(IBDA_TransportStreamSelector* This,ULONG *pulTSInformationBufferLen,BYTE *pbTSInformationBuffer) {
8053     return This->lpVtbl->GetTSInformation(This,pulTSInformationBufferLen,pbTSInformationBuffer);
8054 }
8055 #endif
8056 #endif
8057 
8058 #endif
8059 
8060 HRESULT STDMETHODCALLTYPE IBDA_TransportStreamSelector_SetTSID_Proxy(
8061     IBDA_TransportStreamSelector* This,
8062     USHORT usTSID);
8063 void __RPC_STUB IBDA_TransportStreamSelector_SetTSID_Stub(
8064     IRpcStubBuffer* This,
8065     IRpcChannelBuffer* pRpcChannelBuffer,
8066     PRPC_MESSAGE pRpcMessage,
8067     DWORD* pdwStubPhase);
8068 HRESULT STDMETHODCALLTYPE IBDA_TransportStreamSelector_GetTSInformation_Proxy(
8069     IBDA_TransportStreamSelector* This,
8070     ULONG *pulTSInformationBufferLen,
8071     BYTE *pbTSInformationBuffer);
8072 void __RPC_STUB IBDA_TransportStreamSelector_GetTSInformation_Stub(
8073     IRpcStubBuffer* This,
8074     IRpcChannelBuffer* pRpcChannelBuffer,
8075     PRPC_MESSAGE pRpcMessage,
8076     DWORD* pdwStubPhase);
8077 
8078 #endif  /* __IBDA_TransportStreamSelector_INTERFACE_DEFINED__ */
8079 
8080 /*****************************************************************************
8081  * IBDA_UserActivityService interface
8082  */
8083 #ifndef __IBDA_UserActivityService_INTERFACE_DEFINED__
8084 #define __IBDA_UserActivityService_INTERFACE_DEFINED__
8085 
8086 DEFINE_GUID(IID_IBDA_UserActivityService, 0x53b14189, 0xe478, 0x4b7a, 0xa1,0xff, 0x50,0x6d,0xb4,0xb9,0x9d,0xfe);
8087 #if defined(__cplusplus) && !defined(CINTERFACE)
8088 MIDL_INTERFACE("53b14189-e478-4b7a-a1ff-506db4b99dfe")
8089 IBDA_UserActivityService : public IUnknown
8090 {
8091     virtual HRESULT STDMETHODCALLTYPE SetCurrentTunerUseReason(
8092         DWORD dwUseReason) = 0;
8093 
8094     virtual HRESULT STDMETHODCALLTYPE GetUserActivityInterval(
8095         DWORD *pdwActivityInterval) = 0;
8096 
8097     virtual HRESULT STDMETHODCALLTYPE UserActivityDetected(
8098         ) = 0;
8099 
8100 };
8101 #ifdef __CRT_UUID_DECL
8102 __CRT_UUID_DECL(IBDA_UserActivityService, 0x53b14189, 0xe478, 0x4b7a, 0xa1,0xff, 0x50,0x6d,0xb4,0xb9,0x9d,0xfe)
8103 #endif
8104 #else
8105 typedef struct IBDA_UserActivityServiceVtbl {
8106     BEGIN_INTERFACE
8107 
8108     /*** IUnknown methods ***/
8109     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8110         IBDA_UserActivityService* This,
8111         REFIID riid,
8112         void **ppvObject);
8113 
8114     ULONG (STDMETHODCALLTYPE *AddRef)(
8115         IBDA_UserActivityService* This);
8116 
8117     ULONG (STDMETHODCALLTYPE *Release)(
8118         IBDA_UserActivityService* This);
8119 
8120     /*** IBDA_UserActivityService methods ***/
8121     HRESULT (STDMETHODCALLTYPE *SetCurrentTunerUseReason)(
8122         IBDA_UserActivityService* This,
8123         DWORD dwUseReason);
8124 
8125     HRESULT (STDMETHODCALLTYPE *GetUserActivityInterval)(
8126         IBDA_UserActivityService* This,
8127         DWORD *pdwActivityInterval);
8128 
8129     HRESULT (STDMETHODCALLTYPE *UserActivityDetected)(
8130         IBDA_UserActivityService* This);
8131 
8132     END_INTERFACE
8133 } IBDA_UserActivityServiceVtbl;
8134 interface IBDA_UserActivityService {
8135     CONST_VTBL IBDA_UserActivityServiceVtbl* lpVtbl;
8136 };
8137 
8138 #ifdef COBJMACROS
8139 #ifndef WIDL_C_INLINE_WRAPPERS
8140 /*** IUnknown methods ***/
8141 #define IBDA_UserActivityService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8142 #define IBDA_UserActivityService_AddRef(This) (This)->lpVtbl->AddRef(This)
8143 #define IBDA_UserActivityService_Release(This) (This)->lpVtbl->Release(This)
8144 /*** IBDA_UserActivityService methods ***/
8145 #define IBDA_UserActivityService_SetCurrentTunerUseReason(This,dwUseReason) (This)->lpVtbl->SetCurrentTunerUseReason(This,dwUseReason)
8146 #define IBDA_UserActivityService_GetUserActivityInterval(This,pdwActivityInterval) (This)->lpVtbl->GetUserActivityInterval(This,pdwActivityInterval)
8147 #define IBDA_UserActivityService_UserActivityDetected(This) (This)->lpVtbl->UserActivityDetected(This)
8148 #else
8149 /*** IUnknown methods ***/
8150 static FORCEINLINE HRESULT IBDA_UserActivityService_QueryInterface(IBDA_UserActivityService* This,REFIID riid,void **ppvObject) {
8151     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8152 }
8153 static FORCEINLINE ULONG IBDA_UserActivityService_AddRef(IBDA_UserActivityService* This) {
8154     return This->lpVtbl->AddRef(This);
8155 }
8156 static FORCEINLINE ULONG IBDA_UserActivityService_Release(IBDA_UserActivityService* This) {
8157     return This->lpVtbl->Release(This);
8158 }
8159 /*** IBDA_UserActivityService methods ***/
8160 static FORCEINLINE HRESULT IBDA_UserActivityService_SetCurrentTunerUseReason(IBDA_UserActivityService* This,DWORD dwUseReason) {
8161     return This->lpVtbl->SetCurrentTunerUseReason(This,dwUseReason);
8162 }
8163 static FORCEINLINE HRESULT IBDA_UserActivityService_GetUserActivityInterval(IBDA_UserActivityService* This,DWORD *pdwActivityInterval) {
8164     return This->lpVtbl->GetUserActivityInterval(This,pdwActivityInterval);
8165 }
8166 static FORCEINLINE HRESULT IBDA_UserActivityService_UserActivityDetected(IBDA_UserActivityService* This) {
8167     return This->lpVtbl->UserActivityDetected(This);
8168 }
8169 #endif
8170 #endif
8171 
8172 #endif
8173 
8174 HRESULT STDMETHODCALLTYPE IBDA_UserActivityService_SetCurrentTunerUseReason_Proxy(
8175     IBDA_UserActivityService* This,
8176     DWORD dwUseReason);
8177 void __RPC_STUB IBDA_UserActivityService_SetCurrentTunerUseReason_Stub(
8178     IRpcStubBuffer* This,
8179     IRpcChannelBuffer* pRpcChannelBuffer,
8180     PRPC_MESSAGE pRpcMessage,
8181     DWORD* pdwStubPhase);
8182 HRESULT STDMETHODCALLTYPE IBDA_UserActivityService_GetUserActivityInterval_Proxy(
8183     IBDA_UserActivityService* This,
8184     DWORD *pdwActivityInterval);
8185 void __RPC_STUB IBDA_UserActivityService_GetUserActivityInterval_Stub(
8186     IRpcStubBuffer* This,
8187     IRpcChannelBuffer* pRpcChannelBuffer,
8188     PRPC_MESSAGE pRpcMessage,
8189     DWORD* pdwStubPhase);
8190 HRESULT STDMETHODCALLTYPE IBDA_UserActivityService_UserActivityDetected_Proxy(
8191     IBDA_UserActivityService* This);
8192 void __RPC_STUB IBDA_UserActivityService_UserActivityDetected_Stub(
8193     IRpcStubBuffer* This,
8194     IRpcChannelBuffer* pRpcChannelBuffer,
8195     PRPC_MESSAGE pRpcMessage,
8196     DWORD* pdwStubPhase);
8197 
8198 #endif  /* __IBDA_UserActivityService_INTERFACE_DEFINED__ */
8199 
8200 #define SID_BDA_EasMessage __uuidof (IBDA_EasMessage)
8201 #define SID_BDA_TransportStreamInfo __uuidof (IBDA_TransportStreamInfo)
8202 #define SID_BDA_ConditionalAccess __uuidof (IBDA_ConditionalAccess)
8203 #define SID_BDA_DiagnosticProperties __uuidof (IBDA_DiagnosticProperties)
8204 #define SID_BDA_DRM __uuidof (IBDA_DRM)
8205 #define SID_BDA_NameValueService __uuidof (IBDA_NameValueService)
8206 #define SID_BDA_ConditionalAccessEx __uuidof (IBDA_ConditionalAccessEx)
8207 #define SID_BDA_ISDBConditionalAccess __uuidof (IBDA_ISDBConditionalAccess)
8208 #define SID_BDA_EventingService __uuidof (IBDA_EventingService)
8209 #define SID_BDA_AUX __uuidof (IBDA_AUX)
8210 #define SID_BDA_Encoder __uuidof (IBDA_Encoder)
8211 #define SID_BDA_FDC __uuidof (IBDA_FDC
8212 #define SID_BDA_GuideDataDeliveryService  __uuidof (IBDA_GuideDataDeliveryService)
8213 #define SID_BDA_DRMService __uuidof (IBDA_DRMService)
8214 #define SID_BDA_WMDRMSession __uuidof (IBDA_WMDRMSession)
8215 #define SID_BDA_WMDRMTuner __uuidof (IBDA_WMDRMTuner)
8216 #define SID_BDA_DRIDRMService __uuidof (IBDA_DRIDRMService)
8217 #define SID_BDA_DRIWMDRMSession __uuidof (IBDA_DRIWMDRMSession)
8218 #define SID_BDA_MUX __uuidof (IBDA_MUX)
8219 #define SID_BDA_TransportStreamSelector __uuidof (IBDA_TransportStreamSelector)
8220 #define SID_BDA_UserActivityService __uuidof (IBDA_UserActivityService)
8221 
8222 DEFINE_GUID(CLSID_PBDA_Encoder_DATA_TYPE, 0x728fd6bc, 0x5546, 0x4716, 0xb1, 0x03, 0xf8, 0x99, 0xf5, 0xa1, 0xfa, 0x68);
8223 DEFINE_GUID(CLSID_PBDA_FDC_DATA_TYPE, 0xe7dbf9a0, 0x22ab, 0x4047, 0x8e, 0x67, 0xef, 0x9a, 0xd5, 0x4, 0xe7, 0x29);
8224 DEFINE_GUID(CLSID_PBDA_GDDS_DATA_TYPE, 0xC80C0DF3, 0x6052, 0x4c16, 0x9F, 0x56, 0xC4, 0x4C, 0x21, 0xF7, 0x3C, 0x45);
8225 DEFINE_GUID(PBDA_AUX_CONNECTOR_TYPE_SVideo, 0xa0e905f4,0x24c9,0x4a54, 0xb7, 0x61, 0x21, 0x33, 0x55, 0xef, 0xc1, 0x3A);
8226 DEFINE_GUID(PBDA_AUX_CONNECTOR_TYPE_Composite, 0xf6298b4c,0xc725,0x4d42, 0x84, 0x9b, 0x41, 0x0b, 0xbb, 0x14, 0xea, 0x62);
8227 DEFINE_GUID(CLSID_PBDA_AUX_DATA_TYPE, 0xfd456373, 0x3323, 0x4090, 0xad, 0xca, 0x8e, 0xd4, 0x5f, 0x55, 0xcf, 0x10);
8228 #endif
8229 /* Begin additional prototypes for all interfaces */
8230 
8231 ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
8232 unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
8233 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
8234 void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
8235 
8236 /* End additional prototypes */
8237 
8238 #ifdef __cplusplus
8239 }
8240 #endif
8241 
8242 #endif /* __bdaiface_h__ */
8243