master
   1/*** Autogenerated by WIDL 10.4 from include/bdaiface.idl - Do not edit ***/
   2
   3#ifdef _WIN32
   4#ifndef __REQUIRED_RPCNDR_H_VERSION__
   5#define __REQUIRED_RPCNDR_H_VERSION__ 475
   6#endif
   7#include <rpc.h>
   8#include <rpcndr.h>
   9#endif
  10
  11#ifndef COM_NO_WINDOWS_H
  12#include <windows.h>
  13#include <ole2.h>
  14#endif
  15
  16#ifndef __bdaiface_h__
  17#define __bdaiface_h__
  18
  19/* Forward declarations */
  20
  21#ifndef __IBDA_NetworkProvider_FWD_DEFINED__
  22#define __IBDA_NetworkProvider_FWD_DEFINED__
  23typedef interface IBDA_NetworkProvider IBDA_NetworkProvider;
  24#ifdef __cplusplus
  25interface IBDA_NetworkProvider;
  26#endif /* __cplusplus */
  27#endif
  28
  29#ifndef __IBDA_EthernetFilter_FWD_DEFINED__
  30#define __IBDA_EthernetFilter_FWD_DEFINED__
  31typedef interface IBDA_EthernetFilter IBDA_EthernetFilter;
  32#ifdef __cplusplus
  33interface IBDA_EthernetFilter;
  34#endif /* __cplusplus */
  35#endif
  36
  37#ifndef __IBDA_IPV4Filter_FWD_DEFINED__
  38#define __IBDA_IPV4Filter_FWD_DEFINED__
  39typedef interface IBDA_IPV4Filter IBDA_IPV4Filter;
  40#ifdef __cplusplus
  41interface IBDA_IPV4Filter;
  42#endif /* __cplusplus */
  43#endif
  44
  45#ifndef __IBDA_IPV6Filter_FWD_DEFINED__
  46#define __IBDA_IPV6Filter_FWD_DEFINED__
  47typedef interface IBDA_IPV6Filter IBDA_IPV6Filter;
  48#ifdef __cplusplus
  49interface IBDA_IPV6Filter;
  50#endif /* __cplusplus */
  51#endif
  52
  53#ifndef __IBDA_DeviceControl_FWD_DEFINED__
  54#define __IBDA_DeviceControl_FWD_DEFINED__
  55typedef interface IBDA_DeviceControl IBDA_DeviceControl;
  56#ifdef __cplusplus
  57interface IBDA_DeviceControl;
  58#endif /* __cplusplus */
  59#endif
  60
  61#ifndef __IBDA_PinControl_FWD_DEFINED__
  62#define __IBDA_PinControl_FWD_DEFINED__
  63typedef interface IBDA_PinControl IBDA_PinControl;
  64#ifdef __cplusplus
  65interface IBDA_PinControl;
  66#endif /* __cplusplus */
  67#endif
  68
  69#ifndef __IBDA_SignalProperties_FWD_DEFINED__
  70#define __IBDA_SignalProperties_FWD_DEFINED__
  71typedef interface IBDA_SignalProperties IBDA_SignalProperties;
  72#ifdef __cplusplus
  73interface IBDA_SignalProperties;
  74#endif /* __cplusplus */
  75#endif
  76
  77#ifndef __IBDA_SignalStatistics_FWD_DEFINED__
  78#define __IBDA_SignalStatistics_FWD_DEFINED__
  79typedef interface IBDA_SignalStatistics IBDA_SignalStatistics;
  80#ifdef __cplusplus
  81interface IBDA_SignalStatistics;
  82#endif /* __cplusplus */
  83#endif
  84
  85#ifndef __IBDA_Topology_FWD_DEFINED__
  86#define __IBDA_Topology_FWD_DEFINED__
  87typedef interface IBDA_Topology IBDA_Topology;
  88#ifdef __cplusplus
  89interface IBDA_Topology;
  90#endif /* __cplusplus */
  91#endif
  92
  93#ifndef __IBDA_VoidTransform_FWD_DEFINED__
  94#define __IBDA_VoidTransform_FWD_DEFINED__
  95typedef interface IBDA_VoidTransform IBDA_VoidTransform;
  96#ifdef __cplusplus
  97interface IBDA_VoidTransform;
  98#endif /* __cplusplus */
  99#endif
 100
 101#ifndef __IBDA_NullTransform_FWD_DEFINED__
 102#define __IBDA_NullTransform_FWD_DEFINED__
 103typedef interface IBDA_NullTransform IBDA_NullTransform;
 104#ifdef __cplusplus
 105interface IBDA_NullTransform;
 106#endif /* __cplusplus */
 107#endif
 108
 109#ifndef __IBDA_FrequencyFilter_FWD_DEFINED__
 110#define __IBDA_FrequencyFilter_FWD_DEFINED__
 111typedef interface IBDA_FrequencyFilter IBDA_FrequencyFilter;
 112#ifdef __cplusplus
 113interface IBDA_FrequencyFilter;
 114#endif /* __cplusplus */
 115#endif
 116
 117#ifndef __IBDA_LNBInfo_FWD_DEFINED__
 118#define __IBDA_LNBInfo_FWD_DEFINED__
 119typedef interface IBDA_LNBInfo IBDA_LNBInfo;
 120#ifdef __cplusplus
 121interface IBDA_LNBInfo;
 122#endif /* __cplusplus */
 123#endif
 124
 125#ifndef __IBDA_DiseqCommand_FWD_DEFINED__
 126#define __IBDA_DiseqCommand_FWD_DEFINED__
 127typedef interface IBDA_DiseqCommand IBDA_DiseqCommand;
 128#ifdef __cplusplus
 129interface IBDA_DiseqCommand;
 130#endif /* __cplusplus */
 131#endif
 132
 133#ifndef __IBDA_AutoDemodulate_FWD_DEFINED__
 134#define __IBDA_AutoDemodulate_FWD_DEFINED__
 135typedef interface IBDA_AutoDemodulate IBDA_AutoDemodulate;
 136#ifdef __cplusplus
 137interface IBDA_AutoDemodulate;
 138#endif /* __cplusplus */
 139#endif
 140
 141#ifndef __IBDA_AutoDemodulateEx_FWD_DEFINED__
 142#define __IBDA_AutoDemodulateEx_FWD_DEFINED__
 143typedef interface IBDA_AutoDemodulateEx IBDA_AutoDemodulateEx;
 144#ifdef __cplusplus
 145interface IBDA_AutoDemodulateEx;
 146#endif /* __cplusplus */
 147#endif
 148
 149#ifndef __IBDA_DigitalDemodulator_FWD_DEFINED__
 150#define __IBDA_DigitalDemodulator_FWD_DEFINED__
 151typedef interface IBDA_DigitalDemodulator IBDA_DigitalDemodulator;
 152#ifdef __cplusplus
 153interface IBDA_DigitalDemodulator;
 154#endif /* __cplusplus */
 155#endif
 156
 157#ifndef __IBDA_DigitalDemodulator2_FWD_DEFINED__
 158#define __IBDA_DigitalDemodulator2_FWD_DEFINED__
 159typedef interface IBDA_DigitalDemodulator2 IBDA_DigitalDemodulator2;
 160#ifdef __cplusplus
 161interface IBDA_DigitalDemodulator2;
 162#endif /* __cplusplus */
 163#endif
 164
 165#ifndef __IBDA_DigitalDemodulator3_FWD_DEFINED__
 166#define __IBDA_DigitalDemodulator3_FWD_DEFINED__
 167typedef interface IBDA_DigitalDemodulator3 IBDA_DigitalDemodulator3;
 168#ifdef __cplusplus
 169interface IBDA_DigitalDemodulator3;
 170#endif /* __cplusplus */
 171#endif
 172
 173#ifndef __ICCSubStreamFiltering_FWD_DEFINED__
 174#define __ICCSubStreamFiltering_FWD_DEFINED__
 175typedef interface ICCSubStreamFiltering ICCSubStreamFiltering;
 176#ifdef __cplusplus
 177interface ICCSubStreamFiltering;
 178#endif /* __cplusplus */
 179#endif
 180
 181#ifndef __IBDA_IPSinkControl_FWD_DEFINED__
 182#define __IBDA_IPSinkControl_FWD_DEFINED__
 183typedef interface IBDA_IPSinkControl IBDA_IPSinkControl;
 184#ifdef __cplusplus
 185interface IBDA_IPSinkControl;
 186#endif /* __cplusplus */
 187#endif
 188
 189#ifndef __IBDA_IPSinkInfo_FWD_DEFINED__
 190#define __IBDA_IPSinkInfo_FWD_DEFINED__
 191typedef interface IBDA_IPSinkInfo IBDA_IPSinkInfo;
 192#ifdef __cplusplus
 193interface IBDA_IPSinkInfo;
 194#endif /* __cplusplus */
 195#endif
 196
 197#ifndef __IEnumPIDMap_FWD_DEFINED__
 198#define __IEnumPIDMap_FWD_DEFINED__
 199typedef interface IEnumPIDMap IEnumPIDMap;
 200#ifdef __cplusplus
 201interface IEnumPIDMap;
 202#endif /* __cplusplus */
 203#endif
 204
 205#ifndef __IMPEG2PIDMap_FWD_DEFINED__
 206#define __IMPEG2PIDMap_FWD_DEFINED__
 207typedef interface IMPEG2PIDMap IMPEG2PIDMap;
 208#ifdef __cplusplus
 209interface IMPEG2PIDMap;
 210#endif /* __cplusplus */
 211#endif
 212
 213#ifndef __IFrequencyMap_FWD_DEFINED__
 214#define __IFrequencyMap_FWD_DEFINED__
 215typedef interface IFrequencyMap IFrequencyMap;
 216#ifdef __cplusplus
 217interface IFrequencyMap;
 218#endif /* __cplusplus */
 219#endif
 220
 221#ifndef __IBDA_EasMessage_FWD_DEFINED__
 222#define __IBDA_EasMessage_FWD_DEFINED__
 223typedef interface IBDA_EasMessage IBDA_EasMessage;
 224#ifdef __cplusplus
 225interface IBDA_EasMessage;
 226#endif /* __cplusplus */
 227#endif
 228
 229#ifndef __IBDA_TransportStreamInfo_FWD_DEFINED__
 230#define __IBDA_TransportStreamInfo_FWD_DEFINED__
 231typedef interface IBDA_TransportStreamInfo IBDA_TransportStreamInfo;
 232#ifdef __cplusplus
 233interface IBDA_TransportStreamInfo;
 234#endif /* __cplusplus */
 235#endif
 236
 237#ifndef __IBDA_ConditionalAccess_FWD_DEFINED__
 238#define __IBDA_ConditionalAccess_FWD_DEFINED__
 239typedef interface IBDA_ConditionalAccess IBDA_ConditionalAccess;
 240#ifdef __cplusplus
 241interface IBDA_ConditionalAccess;
 242#endif /* __cplusplus */
 243#endif
 244
 245#ifndef __IBDA_DiagnosticProperties_FWD_DEFINED__
 246#define __IBDA_DiagnosticProperties_FWD_DEFINED__
 247typedef interface IBDA_DiagnosticProperties IBDA_DiagnosticProperties;
 248#ifdef __cplusplus
 249interface IBDA_DiagnosticProperties;
 250#endif /* __cplusplus */
 251#endif
 252
 253#ifndef __IBDA_DRM_FWD_DEFINED__
 254#define __IBDA_DRM_FWD_DEFINED__
 255typedef interface IBDA_DRM IBDA_DRM;
 256#ifdef __cplusplus
 257interface IBDA_DRM;
 258#endif /* __cplusplus */
 259#endif
 260
 261#ifndef __IBDA_NameValueService_FWD_DEFINED__
 262#define __IBDA_NameValueService_FWD_DEFINED__
 263typedef interface IBDA_NameValueService IBDA_NameValueService;
 264#ifdef __cplusplus
 265interface IBDA_NameValueService;
 266#endif /* __cplusplus */
 267#endif
 268
 269#ifndef __IBDA_ConditionalAccessEx_FWD_DEFINED__
 270#define __IBDA_ConditionalAccessEx_FWD_DEFINED__
 271typedef interface IBDA_ConditionalAccessEx IBDA_ConditionalAccessEx;
 272#ifdef __cplusplus
 273interface IBDA_ConditionalAccessEx;
 274#endif /* __cplusplus */
 275#endif
 276
 277#ifndef __IBDA_ISDBConditionalAccess_FWD_DEFINED__
 278#define __IBDA_ISDBConditionalAccess_FWD_DEFINED__
 279typedef interface IBDA_ISDBConditionalAccess IBDA_ISDBConditionalAccess;
 280#ifdef __cplusplus
 281interface IBDA_ISDBConditionalAccess;
 282#endif /* __cplusplus */
 283#endif
 284
 285#ifndef __IBDA_EventingService_FWD_DEFINED__
 286#define __IBDA_EventingService_FWD_DEFINED__
 287typedef interface IBDA_EventingService IBDA_EventingService;
 288#ifdef __cplusplus
 289interface IBDA_EventingService;
 290#endif /* __cplusplus */
 291#endif
 292
 293#ifndef __IBDA_AUX_FWD_DEFINED__
 294#define __IBDA_AUX_FWD_DEFINED__
 295typedef interface IBDA_AUX IBDA_AUX;
 296#ifdef __cplusplus
 297interface IBDA_AUX;
 298#endif /* __cplusplus */
 299#endif
 300
 301#ifndef __IBDA_Encoder_FWD_DEFINED__
 302#define __IBDA_Encoder_FWD_DEFINED__
 303typedef interface IBDA_Encoder IBDA_Encoder;
 304#ifdef __cplusplus
 305interface IBDA_Encoder;
 306#endif /* __cplusplus */
 307#endif
 308
 309#ifndef __IBDA_FDC_FWD_DEFINED__
 310#define __IBDA_FDC_FWD_DEFINED__
 311typedef interface IBDA_FDC IBDA_FDC;
 312#ifdef __cplusplus
 313interface IBDA_FDC;
 314#endif /* __cplusplus */
 315#endif
 316
 317#ifndef __IBDA_GuideDataDeliveryService_FWD_DEFINED__
 318#define __IBDA_GuideDataDeliveryService_FWD_DEFINED__
 319typedef interface IBDA_GuideDataDeliveryService IBDA_GuideDataDeliveryService;
 320#ifdef __cplusplus
 321interface IBDA_GuideDataDeliveryService;
 322#endif /* __cplusplus */
 323#endif
 324
 325#ifndef __IBDA_DRMService_FWD_DEFINED__
 326#define __IBDA_DRMService_FWD_DEFINED__
 327typedef interface IBDA_DRMService IBDA_DRMService;
 328#ifdef __cplusplus
 329interface IBDA_DRMService;
 330#endif /* __cplusplus */
 331#endif
 332
 333#ifndef __IBDA_WMDRMSession_FWD_DEFINED__
 334#define __IBDA_WMDRMSession_FWD_DEFINED__
 335typedef interface IBDA_WMDRMSession IBDA_WMDRMSession;
 336#ifdef __cplusplus
 337interface IBDA_WMDRMSession;
 338#endif /* __cplusplus */
 339#endif
 340
 341#ifndef __IBDA_WMDRMTuner_FWD_DEFINED__
 342#define __IBDA_WMDRMTuner_FWD_DEFINED__
 343typedef interface IBDA_WMDRMTuner IBDA_WMDRMTuner;
 344#ifdef __cplusplus
 345interface IBDA_WMDRMTuner;
 346#endif /* __cplusplus */
 347#endif
 348
 349#ifndef __IBDA_DRIDRMService_FWD_DEFINED__
 350#define __IBDA_DRIDRMService_FWD_DEFINED__
 351typedef interface IBDA_DRIDRMService IBDA_DRIDRMService;
 352#ifdef __cplusplus
 353interface IBDA_DRIDRMService;
 354#endif /* __cplusplus */
 355#endif
 356
 357#ifndef __IBDA_DRIWMDRMSession_FWD_DEFINED__
 358#define __IBDA_DRIWMDRMSession_FWD_DEFINED__
 359typedef interface IBDA_DRIWMDRMSession IBDA_DRIWMDRMSession;
 360#ifdef __cplusplus
 361interface IBDA_DRIWMDRMSession;
 362#endif /* __cplusplus */
 363#endif
 364
 365#ifndef __IBDA_MUX_FWD_DEFINED__
 366#define __IBDA_MUX_FWD_DEFINED__
 367typedef interface IBDA_MUX IBDA_MUX;
 368#ifdef __cplusplus
 369interface IBDA_MUX;
 370#endif /* __cplusplus */
 371#endif
 372
 373#ifndef __IBDA_TransportStreamSelector_FWD_DEFINED__
 374#define __IBDA_TransportStreamSelector_FWD_DEFINED__
 375typedef interface IBDA_TransportStreamSelector IBDA_TransportStreamSelector;
 376#ifdef __cplusplus
 377interface IBDA_TransportStreamSelector;
 378#endif /* __cplusplus */
 379#endif
 380
 381#ifndef __IBDA_UserActivityService_FWD_DEFINED__
 382#define __IBDA_UserActivityService_FWD_DEFINED__
 383typedef interface IBDA_UserActivityService IBDA_UserActivityService;
 384#ifdef __cplusplus
 385interface IBDA_UserActivityService;
 386#endif /* __cplusplus */
 387#endif
 388
 389/* Headers for imported files */
 390
 391#include <unknwn.h>
 392#include <strmif.h>
 393#include <bdatypes.h>
 394
 395#ifdef __cplusplus
 396extern "C" {
 397#endif
 398
 399#include <winapifamily.h>
 400
 401#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
 402typedef enum SmartCardStatusType {
 403    CardInserted = 0,
 404    CardRemoved = 1,
 405    CardError = 2,
 406    CardDataChanged = 3,
 407    CardFirmwareUpgrade = 4
 408} SmartCardStatusType;
 409typedef enum SmartCardAssociationType {
 410    NotAssociated = 0,
 411    Associated = 1,
 412    AssociationUnknown = 2
 413} SmartCardAssociationType;
 414typedef enum LocationCodeSchemeType {
 415    SCTE_18 = 0
 416} LocationCodeSchemeType;
 417typedef enum EntitlementType {
 418    Entitled = 0,
 419    NotEntitled = 1,
 420    TechnicalFailure = 2
 421} EntitlementType;
 422typedef enum UICloseReasonType {
 423    NotReady = 0,
 424    UserClosed = 1,
 425    SystemClosed = 2,
 426    DeviceClosed = 3,
 427    ErrorClosed = 4
 428} UICloseReasonType;
 429typedef enum BDA_DrmPairingError {
 430    BDA_DrmPairing_Succeeded = 0,
 431    BDA_DrmPairing_HardwareFailure = 1,
 432    BDA_DrmPairing_NeedRevocationData = 2,
 433    BDA_DrmPairing_NeedIndiv = 3,
 434    BDA_DrmPairing_Other = 4,
 435    BDA_DrmPairing_DrmInitFailed = 5,
 436    BDA_DrmPairing_DrmNotPaired = 6,
 437    BDA_DrmPairing_DrmRePairSoon = 7,
 438    BDA_DrmPairing_Aborted = 8,
 439    BDA_DrmPairing_NeedSDKUpdate = 9
 440} BDA_DrmPairingError;
 441typedef struct EALocationCodeType {
 442    LocationCodeSchemeType LocationCodeScheme;
 443    BYTE state_code;
 444    BYTE county_subdivision;
 445    WORD county_code;
 446} EALocationCodeType;
 447typedef struct SmartCardApplication {
 448    ApplicationTypeType ApplicationType;
 449    USHORT ApplicationVersion;
 450    BSTR pbstrApplicationName;
 451    BSTR pbstrApplicationURL;
 452} SmartCardApplication;
 453
 454#define PBDA_Encoder_Audio_AlgorithmType_MPEG1LayerII 0x0
 455#define PBDA_Encoder_Audio_AlgorithmType_AC3 0x1
 456
 457#define PBDA_Encoder_Video_MPEG2PartII 0x0
 458#define PBDA_Encoder_Video_MPEG4Part10 0x1
 459
 460#define PBDA_Encoder_Video_AVC 0x1
 461#define PBDA_Encoder_Video_H264 0x1
 462
 463#define PBDA_Encoder_BitrateMode_Constant 1
 464#define PBDA_Encoder_BitrateMode_Variable 2
 465#define PBDA_Encoder_BitrateMode_Average 3
 466typedef enum __WIDL_bdaiface_generated_name_00000017 {
 467    KSPROPERTY_IPSINK_MULTICASTLIST = 0,
 468    KSPROPERTY_IPSINK_ADAPTER_DESCRIPTION = 1,
 469    KSPROPERTY_IPSINK_ADAPTER_ADDRESS = 2
 470} KSPROPERTY_IPSINK;
 471/*****************************************************************************
 472 * IBDA_NetworkProvider interface
 473 */
 474#ifndef __IBDA_NetworkProvider_INTERFACE_DEFINED__
 475#define __IBDA_NetworkProvider_INTERFACE_DEFINED__
 476
 477DEFINE_GUID(IID_IBDA_NetworkProvider, 0xfd501041, 0x8ebe, 0x11ce, 0x81,0x83, 0x00,0xaa,0x00,0x57,0x7d,0xa2);
 478#if defined(__cplusplus) && !defined(CINTERFACE)
 479MIDL_INTERFACE("fd501041-8ebe-11ce-8183-00aa00577da2")
 480IBDA_NetworkProvider : public IUnknown
 481{
 482    virtual HRESULT STDMETHODCALLTYPE PutSignalSource(
 483        ULONG ulSignalSource) = 0;
 484
 485    virtual HRESULT STDMETHODCALLTYPE GetSignalSource(
 486        ULONG *pulSignalSource) = 0;
 487
 488    virtual HRESULT STDMETHODCALLTYPE GetNetworkType(
 489        GUID *pguidNetworkType) = 0;
 490
 491    virtual HRESULT STDMETHODCALLTYPE PutTuningSpace(
 492        REFGUID guidTuningSpace) = 0;
 493
 494    virtual HRESULT STDMETHODCALLTYPE GetTuningSpace(
 495        GUID *pguidTuingSpace) = 0;
 496
 497    virtual HRESULT STDMETHODCALLTYPE RegisterDeviceFilter(
 498        IUnknown *pUnkFilterControl,
 499        ULONG *ppvRegisitrationContext) = 0;
 500
 501    virtual HRESULT STDMETHODCALLTYPE UnRegisterDeviceFilter(
 502        ULONG pvRegistrationContext) = 0;
 503
 504};
 505#ifdef __CRT_UUID_DECL
 506__CRT_UUID_DECL(IBDA_NetworkProvider, 0xfd501041, 0x8ebe, 0x11ce, 0x81,0x83, 0x00,0xaa,0x00,0x57,0x7d,0xa2)
 507#endif
 508#else
 509typedef struct IBDA_NetworkProviderVtbl {
 510    BEGIN_INTERFACE
 511
 512    /*** IUnknown methods ***/
 513    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 514        IBDA_NetworkProvider *This,
 515        REFIID riid,
 516        void **ppvObject);
 517
 518    ULONG (STDMETHODCALLTYPE *AddRef)(
 519        IBDA_NetworkProvider *This);
 520
 521    ULONG (STDMETHODCALLTYPE *Release)(
 522        IBDA_NetworkProvider *This);
 523
 524    /*** IBDA_NetworkProvider methods ***/
 525    HRESULT (STDMETHODCALLTYPE *PutSignalSource)(
 526        IBDA_NetworkProvider *This,
 527        ULONG ulSignalSource);
 528
 529    HRESULT (STDMETHODCALLTYPE *GetSignalSource)(
 530        IBDA_NetworkProvider *This,
 531        ULONG *pulSignalSource);
 532
 533    HRESULT (STDMETHODCALLTYPE *GetNetworkType)(
 534        IBDA_NetworkProvider *This,
 535        GUID *pguidNetworkType);
 536
 537    HRESULT (STDMETHODCALLTYPE *PutTuningSpace)(
 538        IBDA_NetworkProvider *This,
 539        REFGUID guidTuningSpace);
 540
 541    HRESULT (STDMETHODCALLTYPE *GetTuningSpace)(
 542        IBDA_NetworkProvider *This,
 543        GUID *pguidTuingSpace);
 544
 545    HRESULT (STDMETHODCALLTYPE *RegisterDeviceFilter)(
 546        IBDA_NetworkProvider *This,
 547        IUnknown *pUnkFilterControl,
 548        ULONG *ppvRegisitrationContext);
 549
 550    HRESULT (STDMETHODCALLTYPE *UnRegisterDeviceFilter)(
 551        IBDA_NetworkProvider *This,
 552        ULONG pvRegistrationContext);
 553
 554    END_INTERFACE
 555} IBDA_NetworkProviderVtbl;
 556
 557interface IBDA_NetworkProvider {
 558    CONST_VTBL IBDA_NetworkProviderVtbl* lpVtbl;
 559};
 560
 561#ifdef COBJMACROS
 562#ifndef WIDL_C_INLINE_WRAPPERS
 563/*** IUnknown methods ***/
 564#define IBDA_NetworkProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 565#define IBDA_NetworkProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
 566#define IBDA_NetworkProvider_Release(This) (This)->lpVtbl->Release(This)
 567/*** IBDA_NetworkProvider methods ***/
 568#define IBDA_NetworkProvider_PutSignalSource(This,ulSignalSource) (This)->lpVtbl->PutSignalSource(This,ulSignalSource)
 569#define IBDA_NetworkProvider_GetSignalSource(This,pulSignalSource) (This)->lpVtbl->GetSignalSource(This,pulSignalSource)
 570#define IBDA_NetworkProvider_GetNetworkType(This,pguidNetworkType) (This)->lpVtbl->GetNetworkType(This,pguidNetworkType)
 571#define IBDA_NetworkProvider_PutTuningSpace(This,guidTuningSpace) (This)->lpVtbl->PutTuningSpace(This,guidTuningSpace)
 572#define IBDA_NetworkProvider_GetTuningSpace(This,pguidTuingSpace) (This)->lpVtbl->GetTuningSpace(This,pguidTuingSpace)
 573#define IBDA_NetworkProvider_RegisterDeviceFilter(This,pUnkFilterControl,ppvRegisitrationContext) (This)->lpVtbl->RegisterDeviceFilter(This,pUnkFilterControl,ppvRegisitrationContext)
 574#define IBDA_NetworkProvider_UnRegisterDeviceFilter(This,pvRegistrationContext) (This)->lpVtbl->UnRegisterDeviceFilter(This,pvRegistrationContext)
 575#else
 576/*** IUnknown methods ***/
 577static inline HRESULT IBDA_NetworkProvider_QueryInterface(IBDA_NetworkProvider* This,REFIID riid,void **ppvObject) {
 578    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 579}
 580static inline ULONG IBDA_NetworkProvider_AddRef(IBDA_NetworkProvider* This) {
 581    return This->lpVtbl->AddRef(This);
 582}
 583static inline ULONG IBDA_NetworkProvider_Release(IBDA_NetworkProvider* This) {
 584    return This->lpVtbl->Release(This);
 585}
 586/*** IBDA_NetworkProvider methods ***/
 587static inline HRESULT IBDA_NetworkProvider_PutSignalSource(IBDA_NetworkProvider* This,ULONG ulSignalSource) {
 588    return This->lpVtbl->PutSignalSource(This,ulSignalSource);
 589}
 590static inline HRESULT IBDA_NetworkProvider_GetSignalSource(IBDA_NetworkProvider* This,ULONG *pulSignalSource) {
 591    return This->lpVtbl->GetSignalSource(This,pulSignalSource);
 592}
 593static inline HRESULT IBDA_NetworkProvider_GetNetworkType(IBDA_NetworkProvider* This,GUID *pguidNetworkType) {
 594    return This->lpVtbl->GetNetworkType(This,pguidNetworkType);
 595}
 596static inline HRESULT IBDA_NetworkProvider_PutTuningSpace(IBDA_NetworkProvider* This,REFGUID guidTuningSpace) {
 597    return This->lpVtbl->PutTuningSpace(This,guidTuningSpace);
 598}
 599static inline HRESULT IBDA_NetworkProvider_GetTuningSpace(IBDA_NetworkProvider* This,GUID *pguidTuingSpace) {
 600    return This->lpVtbl->GetTuningSpace(This,pguidTuingSpace);
 601}
 602static inline HRESULT IBDA_NetworkProvider_RegisterDeviceFilter(IBDA_NetworkProvider* This,IUnknown *pUnkFilterControl,ULONG *ppvRegisitrationContext) {
 603    return This->lpVtbl->RegisterDeviceFilter(This,pUnkFilterControl,ppvRegisitrationContext);
 604}
 605static inline HRESULT IBDA_NetworkProvider_UnRegisterDeviceFilter(IBDA_NetworkProvider* This,ULONG pvRegistrationContext) {
 606    return This->lpVtbl->UnRegisterDeviceFilter(This,pvRegistrationContext);
 607}
 608#endif
 609#endif
 610
 611#endif
 612
 613
 614#endif  /* __IBDA_NetworkProvider_INTERFACE_DEFINED__ */
 615
 616/*****************************************************************************
 617 * IBDA_EthernetFilter interface
 618 */
 619#ifndef __IBDA_EthernetFilter_INTERFACE_DEFINED__
 620#define __IBDA_EthernetFilter_INTERFACE_DEFINED__
 621
 622DEFINE_GUID(IID_IBDA_EthernetFilter, 0x71985f43, 0x1ca1, 0x11d3, 0x9c,0xc8, 0x00,0xc0,0x4f,0x79,0x71,0xe0);
 623#if defined(__cplusplus) && !defined(CINTERFACE)
 624MIDL_INTERFACE("71985f43-1ca1-11d3-9cc8-00c04f7971e0")
 625IBDA_EthernetFilter : public IUnknown
 626{
 627    virtual HRESULT STDMETHODCALLTYPE GetMulticastListSize(
 628        ULONG *pulcbAddresses) = 0;
 629
 630    virtual HRESULT STDMETHODCALLTYPE PutMulticastList(
 631        ULONG ulcbAddresses,
 632        BYTE pAddressList[]) = 0;
 633
 634    virtual HRESULT STDMETHODCALLTYPE GetMulticastList(
 635        ULONG *pulcbAddresses,
 636        BYTE pAddressList[]) = 0;
 637
 638    virtual HRESULT STDMETHODCALLTYPE PutMulticastMode(
 639        ULONG ulModeMask) = 0;
 640
 641    virtual HRESULT STDMETHODCALLTYPE GetMulticastMode(
 642        ULONG *pulModeMask) = 0;
 643
 644};
 645#ifdef __CRT_UUID_DECL
 646__CRT_UUID_DECL(IBDA_EthernetFilter, 0x71985f43, 0x1ca1, 0x11d3, 0x9c,0xc8, 0x00,0xc0,0x4f,0x79,0x71,0xe0)
 647#endif
 648#else
 649typedef struct IBDA_EthernetFilterVtbl {
 650    BEGIN_INTERFACE
 651
 652    /*** IUnknown methods ***/
 653    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 654        IBDA_EthernetFilter *This,
 655        REFIID riid,
 656        void **ppvObject);
 657
 658    ULONG (STDMETHODCALLTYPE *AddRef)(
 659        IBDA_EthernetFilter *This);
 660
 661    ULONG (STDMETHODCALLTYPE *Release)(
 662        IBDA_EthernetFilter *This);
 663
 664    /*** IBDA_EthernetFilter methods ***/
 665    HRESULT (STDMETHODCALLTYPE *GetMulticastListSize)(
 666        IBDA_EthernetFilter *This,
 667        ULONG *pulcbAddresses);
 668
 669    HRESULT (STDMETHODCALLTYPE *PutMulticastList)(
 670        IBDA_EthernetFilter *This,
 671        ULONG ulcbAddresses,
 672        BYTE pAddressList[]);
 673
 674    HRESULT (STDMETHODCALLTYPE *GetMulticastList)(
 675        IBDA_EthernetFilter *This,
 676        ULONG *pulcbAddresses,
 677        BYTE pAddressList[]);
 678
 679    HRESULT (STDMETHODCALLTYPE *PutMulticastMode)(
 680        IBDA_EthernetFilter *This,
 681        ULONG ulModeMask);
 682
 683    HRESULT (STDMETHODCALLTYPE *GetMulticastMode)(
 684        IBDA_EthernetFilter *This,
 685        ULONG *pulModeMask);
 686
 687    END_INTERFACE
 688} IBDA_EthernetFilterVtbl;
 689
 690interface IBDA_EthernetFilter {
 691    CONST_VTBL IBDA_EthernetFilterVtbl* lpVtbl;
 692};
 693
 694#ifdef COBJMACROS
 695#ifndef WIDL_C_INLINE_WRAPPERS
 696/*** IUnknown methods ***/
 697#define IBDA_EthernetFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 698#define IBDA_EthernetFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
 699#define IBDA_EthernetFilter_Release(This) (This)->lpVtbl->Release(This)
 700/*** IBDA_EthernetFilter methods ***/
 701#define IBDA_EthernetFilter_GetMulticastListSize(This,pulcbAddresses) (This)->lpVtbl->GetMulticastListSize(This,pulcbAddresses)
 702#define IBDA_EthernetFilter_PutMulticastList(This,ulcbAddresses,pAddressList) (This)->lpVtbl->PutMulticastList(This,ulcbAddresses,pAddressList)
 703#define IBDA_EthernetFilter_GetMulticastList(This,pulcbAddresses,pAddressList) (This)->lpVtbl->GetMulticastList(This,pulcbAddresses,pAddressList)
 704#define IBDA_EthernetFilter_PutMulticastMode(This,ulModeMask) (This)->lpVtbl->PutMulticastMode(This,ulModeMask)
 705#define IBDA_EthernetFilter_GetMulticastMode(This,pulModeMask) (This)->lpVtbl->GetMulticastMode(This,pulModeMask)
 706#else
 707/*** IUnknown methods ***/
 708static inline HRESULT IBDA_EthernetFilter_QueryInterface(IBDA_EthernetFilter* This,REFIID riid,void **ppvObject) {
 709    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 710}
 711static inline ULONG IBDA_EthernetFilter_AddRef(IBDA_EthernetFilter* This) {
 712    return This->lpVtbl->AddRef(This);
 713}
 714static inline ULONG IBDA_EthernetFilter_Release(IBDA_EthernetFilter* This) {
 715    return This->lpVtbl->Release(This);
 716}
 717/*** IBDA_EthernetFilter methods ***/
 718static inline HRESULT IBDA_EthernetFilter_GetMulticastListSize(IBDA_EthernetFilter* This,ULONG *pulcbAddresses) {
 719    return This->lpVtbl->GetMulticastListSize(This,pulcbAddresses);
 720}
 721static inline HRESULT IBDA_EthernetFilter_PutMulticastList(IBDA_EthernetFilter* This,ULONG ulcbAddresses,BYTE pAddressList[]) {
 722    return This->lpVtbl->PutMulticastList(This,ulcbAddresses,pAddressList);
 723}
 724static inline HRESULT IBDA_EthernetFilter_GetMulticastList(IBDA_EthernetFilter* This,ULONG *pulcbAddresses,BYTE pAddressList[]) {
 725    return This->lpVtbl->GetMulticastList(This,pulcbAddresses,pAddressList);
 726}
 727static inline HRESULT IBDA_EthernetFilter_PutMulticastMode(IBDA_EthernetFilter* This,ULONG ulModeMask) {
 728    return This->lpVtbl->PutMulticastMode(This,ulModeMask);
 729}
 730static inline HRESULT IBDA_EthernetFilter_GetMulticastMode(IBDA_EthernetFilter* This,ULONG *pulModeMask) {
 731    return This->lpVtbl->GetMulticastMode(This,pulModeMask);
 732}
 733#endif
 734#endif
 735
 736#endif
 737
 738
 739#endif  /* __IBDA_EthernetFilter_INTERFACE_DEFINED__ */
 740
 741/*****************************************************************************
 742 * IBDA_IPV4Filter interface
 743 */
 744#ifndef __IBDA_IPV4Filter_INTERFACE_DEFINED__
 745#define __IBDA_IPV4Filter_INTERFACE_DEFINED__
 746
 747DEFINE_GUID(IID_IBDA_IPV4Filter, 0x71985f44, 0x1ca1, 0x11d3, 0x9c,0xc8, 0x00,0xc0,0x4f,0x79,0x71,0xe0);
 748#if defined(__cplusplus) && !defined(CINTERFACE)
 749MIDL_INTERFACE("71985f44-1ca1-11d3-9cc8-00c04f7971e0")
 750IBDA_IPV4Filter : public IUnknown
 751{
 752    virtual HRESULT STDMETHODCALLTYPE GetMulticastListSize(
 753        ULONG *pulcbAddresses) = 0;
 754
 755    virtual HRESULT STDMETHODCALLTYPE PutMulticastList(
 756        ULONG ulcbAddresses,
 757        BYTE pAddressList[]) = 0;
 758
 759    virtual HRESULT STDMETHODCALLTYPE GetMulticastList(
 760        ULONG *pulcbAddresses,
 761        BYTE pAddressList[]) = 0;
 762
 763    virtual HRESULT STDMETHODCALLTYPE PutMulticastMode(
 764        ULONG ulModeMask) = 0;
 765
 766    virtual HRESULT STDMETHODCALLTYPE GetMulticastMode(
 767        ULONG *pulModeMask) = 0;
 768
 769};
 770#ifdef __CRT_UUID_DECL
 771__CRT_UUID_DECL(IBDA_IPV4Filter, 0x71985f44, 0x1ca1, 0x11d3, 0x9c,0xc8, 0x00,0xc0,0x4f,0x79,0x71,0xe0)
 772#endif
 773#else
 774typedef struct IBDA_IPV4FilterVtbl {
 775    BEGIN_INTERFACE
 776
 777    /*** IUnknown methods ***/
 778    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 779        IBDA_IPV4Filter *This,
 780        REFIID riid,
 781        void **ppvObject);
 782
 783    ULONG (STDMETHODCALLTYPE *AddRef)(
 784        IBDA_IPV4Filter *This);
 785
 786    ULONG (STDMETHODCALLTYPE *Release)(
 787        IBDA_IPV4Filter *This);
 788
 789    /*** IBDA_IPV4Filter methods ***/
 790    HRESULT (STDMETHODCALLTYPE *GetMulticastListSize)(
 791        IBDA_IPV4Filter *This,
 792        ULONG *pulcbAddresses);
 793
 794    HRESULT (STDMETHODCALLTYPE *PutMulticastList)(
 795        IBDA_IPV4Filter *This,
 796        ULONG ulcbAddresses,
 797        BYTE pAddressList[]);
 798
 799    HRESULT (STDMETHODCALLTYPE *GetMulticastList)(
 800        IBDA_IPV4Filter *This,
 801        ULONG *pulcbAddresses,
 802        BYTE pAddressList[]);
 803
 804    HRESULT (STDMETHODCALLTYPE *PutMulticastMode)(
 805        IBDA_IPV4Filter *This,
 806        ULONG ulModeMask);
 807
 808    HRESULT (STDMETHODCALLTYPE *GetMulticastMode)(
 809        IBDA_IPV4Filter *This,
 810        ULONG *pulModeMask);
 811
 812    END_INTERFACE
 813} IBDA_IPV4FilterVtbl;
 814
 815interface IBDA_IPV4Filter {
 816    CONST_VTBL IBDA_IPV4FilterVtbl* lpVtbl;
 817};
 818
 819#ifdef COBJMACROS
 820#ifndef WIDL_C_INLINE_WRAPPERS
 821/*** IUnknown methods ***/
 822#define IBDA_IPV4Filter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 823#define IBDA_IPV4Filter_AddRef(This) (This)->lpVtbl->AddRef(This)
 824#define IBDA_IPV4Filter_Release(This) (This)->lpVtbl->Release(This)
 825/*** IBDA_IPV4Filter methods ***/
 826#define IBDA_IPV4Filter_GetMulticastListSize(This,pulcbAddresses) (This)->lpVtbl->GetMulticastListSize(This,pulcbAddresses)
 827#define IBDA_IPV4Filter_PutMulticastList(This,ulcbAddresses,pAddressList) (This)->lpVtbl->PutMulticastList(This,ulcbAddresses,pAddressList)
 828#define IBDA_IPV4Filter_GetMulticastList(This,pulcbAddresses,pAddressList) (This)->lpVtbl->GetMulticastList(This,pulcbAddresses,pAddressList)
 829#define IBDA_IPV4Filter_PutMulticastMode(This,ulModeMask) (This)->lpVtbl->PutMulticastMode(This,ulModeMask)
 830#define IBDA_IPV4Filter_GetMulticastMode(This,pulModeMask) (This)->lpVtbl->GetMulticastMode(This,pulModeMask)
 831#else
 832/*** IUnknown methods ***/
 833static inline HRESULT IBDA_IPV4Filter_QueryInterface(IBDA_IPV4Filter* This,REFIID riid,void **ppvObject) {
 834    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 835}
 836static inline ULONG IBDA_IPV4Filter_AddRef(IBDA_IPV4Filter* This) {
 837    return This->lpVtbl->AddRef(This);
 838}
 839static inline ULONG IBDA_IPV4Filter_Release(IBDA_IPV4Filter* This) {
 840    return This->lpVtbl->Release(This);
 841}
 842/*** IBDA_IPV4Filter methods ***/
 843static inline HRESULT IBDA_IPV4Filter_GetMulticastListSize(IBDA_IPV4Filter* This,ULONG *pulcbAddresses) {
 844    return This->lpVtbl->GetMulticastListSize(This,pulcbAddresses);
 845}
 846static inline HRESULT IBDA_IPV4Filter_PutMulticastList(IBDA_IPV4Filter* This,ULONG ulcbAddresses,BYTE pAddressList[]) {
 847    return This->lpVtbl->PutMulticastList(This,ulcbAddresses,pAddressList);
 848}
 849static inline HRESULT IBDA_IPV4Filter_GetMulticastList(IBDA_IPV4Filter* This,ULONG *pulcbAddresses,BYTE pAddressList[]) {
 850    return This->lpVtbl->GetMulticastList(This,pulcbAddresses,pAddressList);
 851}
 852static inline HRESULT IBDA_IPV4Filter_PutMulticastMode(IBDA_IPV4Filter* This,ULONG ulModeMask) {
 853    return This->lpVtbl->PutMulticastMode(This,ulModeMask);
 854}
 855static inline HRESULT IBDA_IPV4Filter_GetMulticastMode(IBDA_IPV4Filter* This,ULONG *pulModeMask) {
 856    return This->lpVtbl->GetMulticastMode(This,pulModeMask);
 857}
 858#endif
 859#endif
 860
 861#endif
 862
 863
 864#endif  /* __IBDA_IPV4Filter_INTERFACE_DEFINED__ */
 865
 866/*****************************************************************************
 867 * IBDA_IPV6Filter interface
 868 */
 869#ifndef __IBDA_IPV6Filter_INTERFACE_DEFINED__
 870#define __IBDA_IPV6Filter_INTERFACE_DEFINED__
 871
 872DEFINE_GUID(IID_IBDA_IPV6Filter, 0xe1785a74, 0x2a23, 0x4fb3, 0x92,0x45, 0xa8,0xf8,0x80,0x17,0xef,0x33);
 873#if defined(__cplusplus) && !defined(CINTERFACE)
 874MIDL_INTERFACE("e1785a74-2a23-4fb3-9245-a8f88017ef33")
 875IBDA_IPV6Filter : public IUnknown
 876{
 877    virtual HRESULT STDMETHODCALLTYPE GetMulticastListSize(
 878        ULONG *pulcbAddresses) = 0;
 879
 880    virtual HRESULT STDMETHODCALLTYPE PutMulticastList(
 881        ULONG ulcbAddresses,
 882        BYTE pAddressList[]) = 0;
 883
 884    virtual HRESULT STDMETHODCALLTYPE GetMulticastList(
 885        ULONG *pulcbAddresses,
 886        BYTE pAddressList[]) = 0;
 887
 888    virtual HRESULT STDMETHODCALLTYPE PutMulticastMode(
 889        ULONG ulModeMask) = 0;
 890
 891    virtual HRESULT STDMETHODCALLTYPE GetMulticastMode(
 892        ULONG *pulModeMask) = 0;
 893
 894};
 895#ifdef __CRT_UUID_DECL
 896__CRT_UUID_DECL(IBDA_IPV6Filter, 0xe1785a74, 0x2a23, 0x4fb3, 0x92,0x45, 0xa8,0xf8,0x80,0x17,0xef,0x33)
 897#endif
 898#else
 899typedef struct IBDA_IPV6FilterVtbl {
 900    BEGIN_INTERFACE
 901
 902    /*** IUnknown methods ***/
 903    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 904        IBDA_IPV6Filter *This,
 905        REFIID riid,
 906        void **ppvObject);
 907
 908    ULONG (STDMETHODCALLTYPE *AddRef)(
 909        IBDA_IPV6Filter *This);
 910
 911    ULONG (STDMETHODCALLTYPE *Release)(
 912        IBDA_IPV6Filter *This);
 913
 914    /*** IBDA_IPV6Filter methods ***/
 915    HRESULT (STDMETHODCALLTYPE *GetMulticastListSize)(
 916        IBDA_IPV6Filter *This,
 917        ULONG *pulcbAddresses);
 918
 919    HRESULT (STDMETHODCALLTYPE *PutMulticastList)(
 920        IBDA_IPV6Filter *This,
 921        ULONG ulcbAddresses,
 922        BYTE pAddressList[]);
 923
 924    HRESULT (STDMETHODCALLTYPE *GetMulticastList)(
 925        IBDA_IPV6Filter *This,
 926        ULONG *pulcbAddresses,
 927        BYTE pAddressList[]);
 928
 929    HRESULT (STDMETHODCALLTYPE *PutMulticastMode)(
 930        IBDA_IPV6Filter *This,
 931        ULONG ulModeMask);
 932
 933    HRESULT (STDMETHODCALLTYPE *GetMulticastMode)(
 934        IBDA_IPV6Filter *This,
 935        ULONG *pulModeMask);
 936
 937    END_INTERFACE
 938} IBDA_IPV6FilterVtbl;
 939
 940interface IBDA_IPV6Filter {
 941    CONST_VTBL IBDA_IPV6FilterVtbl* lpVtbl;
 942};
 943
 944#ifdef COBJMACROS
 945#ifndef WIDL_C_INLINE_WRAPPERS
 946/*** IUnknown methods ***/
 947#define IBDA_IPV6Filter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 948#define IBDA_IPV6Filter_AddRef(This) (This)->lpVtbl->AddRef(This)
 949#define IBDA_IPV6Filter_Release(This) (This)->lpVtbl->Release(This)
 950/*** IBDA_IPV6Filter methods ***/
 951#define IBDA_IPV6Filter_GetMulticastListSize(This,pulcbAddresses) (This)->lpVtbl->GetMulticastListSize(This,pulcbAddresses)
 952#define IBDA_IPV6Filter_PutMulticastList(This,ulcbAddresses,pAddressList) (This)->lpVtbl->PutMulticastList(This,ulcbAddresses,pAddressList)
 953#define IBDA_IPV6Filter_GetMulticastList(This,pulcbAddresses,pAddressList) (This)->lpVtbl->GetMulticastList(This,pulcbAddresses,pAddressList)
 954#define IBDA_IPV6Filter_PutMulticastMode(This,ulModeMask) (This)->lpVtbl->PutMulticastMode(This,ulModeMask)
 955#define IBDA_IPV6Filter_GetMulticastMode(This,pulModeMask) (This)->lpVtbl->GetMulticastMode(This,pulModeMask)
 956#else
 957/*** IUnknown methods ***/
 958static inline HRESULT IBDA_IPV6Filter_QueryInterface(IBDA_IPV6Filter* This,REFIID riid,void **ppvObject) {
 959    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 960}
 961static inline ULONG IBDA_IPV6Filter_AddRef(IBDA_IPV6Filter* This) {
 962    return This->lpVtbl->AddRef(This);
 963}
 964static inline ULONG IBDA_IPV6Filter_Release(IBDA_IPV6Filter* This) {
 965    return This->lpVtbl->Release(This);
 966}
 967/*** IBDA_IPV6Filter methods ***/
 968static inline HRESULT IBDA_IPV6Filter_GetMulticastListSize(IBDA_IPV6Filter* This,ULONG *pulcbAddresses) {
 969    return This->lpVtbl->GetMulticastListSize(This,pulcbAddresses);
 970}
 971static inline HRESULT IBDA_IPV6Filter_PutMulticastList(IBDA_IPV6Filter* This,ULONG ulcbAddresses,BYTE pAddressList[]) {
 972    return This->lpVtbl->PutMulticastList(This,ulcbAddresses,pAddressList);
 973}
 974static inline HRESULT IBDA_IPV6Filter_GetMulticastList(IBDA_IPV6Filter* This,ULONG *pulcbAddresses,BYTE pAddressList[]) {
 975    return This->lpVtbl->GetMulticastList(This,pulcbAddresses,pAddressList);
 976}
 977static inline HRESULT IBDA_IPV6Filter_PutMulticastMode(IBDA_IPV6Filter* This,ULONG ulModeMask) {
 978    return This->lpVtbl->PutMulticastMode(This,ulModeMask);
 979}
 980static inline HRESULT IBDA_IPV6Filter_GetMulticastMode(IBDA_IPV6Filter* This,ULONG *pulModeMask) {
 981    return This->lpVtbl->GetMulticastMode(This,pulModeMask);
 982}
 983#endif
 984#endif
 985
 986#endif
 987
 988
 989#endif  /* __IBDA_IPV6Filter_INTERFACE_DEFINED__ */
 990
 991/*****************************************************************************
 992 * IBDA_DeviceControl interface
 993 */
 994#ifndef __IBDA_DeviceControl_INTERFACE_DEFINED__
 995#define __IBDA_DeviceControl_INTERFACE_DEFINED__
 996
 997DEFINE_GUID(IID_IBDA_DeviceControl, 0xfd0a5af3, 0xb41d, 0x11d2, 0x9c,0x95, 0x00,0xc0,0x4f,0x79,0x71,0xe0);
 998#if defined(__cplusplus) && !defined(CINTERFACE)
 999MIDL_INTERFACE("fd0a5af3-b41d-11d2-9c95-00c04f7971e0")
1000IBDA_DeviceControl : public IUnknown
1001{
1002    virtual HRESULT STDMETHODCALLTYPE StartChanges(
1003        ) = 0;
1004
1005    virtual HRESULT STDMETHODCALLTYPE CheckChanges(
1006        ) = 0;
1007
1008    virtual HRESULT STDMETHODCALLTYPE CommitChanges(
1009        ) = 0;
1010
1011    virtual HRESULT STDMETHODCALLTYPE GetChangeState(
1012        ULONG *pState) = 0;
1013
1014};
1015#ifdef __CRT_UUID_DECL
1016__CRT_UUID_DECL(IBDA_DeviceControl, 0xfd0a5af3, 0xb41d, 0x11d2, 0x9c,0x95, 0x00,0xc0,0x4f,0x79,0x71,0xe0)
1017#endif
1018#else
1019typedef struct IBDA_DeviceControlVtbl {
1020    BEGIN_INTERFACE
1021
1022    /*** IUnknown methods ***/
1023    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1024        IBDA_DeviceControl *This,
1025        REFIID riid,
1026        void **ppvObject);
1027
1028    ULONG (STDMETHODCALLTYPE *AddRef)(
1029        IBDA_DeviceControl *This);
1030
1031    ULONG (STDMETHODCALLTYPE *Release)(
1032        IBDA_DeviceControl *This);
1033
1034    /*** IBDA_DeviceControl methods ***/
1035    HRESULT (STDMETHODCALLTYPE *StartChanges)(
1036        IBDA_DeviceControl *This);
1037
1038    HRESULT (STDMETHODCALLTYPE *CheckChanges)(
1039        IBDA_DeviceControl *This);
1040
1041    HRESULT (STDMETHODCALLTYPE *CommitChanges)(
1042        IBDA_DeviceControl *This);
1043
1044    HRESULT (STDMETHODCALLTYPE *GetChangeState)(
1045        IBDA_DeviceControl *This,
1046        ULONG *pState);
1047
1048    END_INTERFACE
1049} IBDA_DeviceControlVtbl;
1050
1051interface IBDA_DeviceControl {
1052    CONST_VTBL IBDA_DeviceControlVtbl* lpVtbl;
1053};
1054
1055#ifdef COBJMACROS
1056#ifndef WIDL_C_INLINE_WRAPPERS
1057/*** IUnknown methods ***/
1058#define IBDA_DeviceControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1059#define IBDA_DeviceControl_AddRef(This) (This)->lpVtbl->AddRef(This)
1060#define IBDA_DeviceControl_Release(This) (This)->lpVtbl->Release(This)
1061/*** IBDA_DeviceControl methods ***/
1062#define IBDA_DeviceControl_StartChanges(This) (This)->lpVtbl->StartChanges(This)
1063#define IBDA_DeviceControl_CheckChanges(This) (This)->lpVtbl->CheckChanges(This)
1064#define IBDA_DeviceControl_CommitChanges(This) (This)->lpVtbl->CommitChanges(This)
1065#define IBDA_DeviceControl_GetChangeState(This,pState) (This)->lpVtbl->GetChangeState(This,pState)
1066#else
1067/*** IUnknown methods ***/
1068static inline HRESULT IBDA_DeviceControl_QueryInterface(IBDA_DeviceControl* This,REFIID riid,void **ppvObject) {
1069    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1070}
1071static inline ULONG IBDA_DeviceControl_AddRef(IBDA_DeviceControl* This) {
1072    return This->lpVtbl->AddRef(This);
1073}
1074static inline ULONG IBDA_DeviceControl_Release(IBDA_DeviceControl* This) {
1075    return This->lpVtbl->Release(This);
1076}
1077/*** IBDA_DeviceControl methods ***/
1078static inline HRESULT IBDA_DeviceControl_StartChanges(IBDA_DeviceControl* This) {
1079    return This->lpVtbl->StartChanges(This);
1080}
1081static inline HRESULT IBDA_DeviceControl_CheckChanges(IBDA_DeviceControl* This) {
1082    return This->lpVtbl->CheckChanges(This);
1083}
1084static inline HRESULT IBDA_DeviceControl_CommitChanges(IBDA_DeviceControl* This) {
1085    return This->lpVtbl->CommitChanges(This);
1086}
1087static inline HRESULT IBDA_DeviceControl_GetChangeState(IBDA_DeviceControl* This,ULONG *pState) {
1088    return This->lpVtbl->GetChangeState(This,pState);
1089}
1090#endif
1091#endif
1092
1093#endif
1094
1095
1096#endif  /* __IBDA_DeviceControl_INTERFACE_DEFINED__ */
1097
1098/*****************************************************************************
1099 * IBDA_PinControl interface
1100 */
1101#ifndef __IBDA_PinControl_INTERFACE_DEFINED__
1102#define __IBDA_PinControl_INTERFACE_DEFINED__
1103
1104DEFINE_GUID(IID_IBDA_PinControl, 0x0ded49d5, 0xa8b7, 0x4d5d, 0x97,0xa1, 0x12,0xb0,0xc1,0x95,0x87,0x4d);
1105#if defined(__cplusplus) && !defined(CINTERFACE)
1106MIDL_INTERFACE("0ded49d5-a8b7-4d5d-97a1-12b0c195874d")
1107IBDA_PinControl : public IUnknown
1108{
1109    virtual HRESULT STDMETHODCALLTYPE GetPinID(
1110        ULONG *pulPinID) = 0;
1111
1112    virtual HRESULT STDMETHODCALLTYPE GetPinType(
1113        ULONG *pulPinType) = 0;
1114
1115    virtual HRESULT STDMETHODCALLTYPE RegistrationContext(
1116        ULONG *pulRegistrationCtx) = 0;
1117
1118};
1119#ifdef __CRT_UUID_DECL
1120__CRT_UUID_DECL(IBDA_PinControl, 0x0ded49d5, 0xa8b7, 0x4d5d, 0x97,0xa1, 0x12,0xb0,0xc1,0x95,0x87,0x4d)
1121#endif
1122#else
1123typedef struct IBDA_PinControlVtbl {
1124    BEGIN_INTERFACE
1125
1126    /*** IUnknown methods ***/
1127    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1128        IBDA_PinControl *This,
1129        REFIID riid,
1130        void **ppvObject);
1131
1132    ULONG (STDMETHODCALLTYPE *AddRef)(
1133        IBDA_PinControl *This);
1134
1135    ULONG (STDMETHODCALLTYPE *Release)(
1136        IBDA_PinControl *This);
1137
1138    /*** IBDA_PinControl methods ***/
1139    HRESULT (STDMETHODCALLTYPE *GetPinID)(
1140        IBDA_PinControl *This,
1141        ULONG *pulPinID);
1142
1143    HRESULT (STDMETHODCALLTYPE *GetPinType)(
1144        IBDA_PinControl *This,
1145        ULONG *pulPinType);
1146
1147    HRESULT (STDMETHODCALLTYPE *RegistrationContext)(
1148        IBDA_PinControl *This,
1149        ULONG *pulRegistrationCtx);
1150
1151    END_INTERFACE
1152} IBDA_PinControlVtbl;
1153
1154interface IBDA_PinControl {
1155    CONST_VTBL IBDA_PinControlVtbl* lpVtbl;
1156};
1157
1158#ifdef COBJMACROS
1159#ifndef WIDL_C_INLINE_WRAPPERS
1160/*** IUnknown methods ***/
1161#define IBDA_PinControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1162#define IBDA_PinControl_AddRef(This) (This)->lpVtbl->AddRef(This)
1163#define IBDA_PinControl_Release(This) (This)->lpVtbl->Release(This)
1164/*** IBDA_PinControl methods ***/
1165#define IBDA_PinControl_GetPinID(This,pulPinID) (This)->lpVtbl->GetPinID(This,pulPinID)
1166#define IBDA_PinControl_GetPinType(This,pulPinType) (This)->lpVtbl->GetPinType(This,pulPinType)
1167#define IBDA_PinControl_RegistrationContext(This,pulRegistrationCtx) (This)->lpVtbl->RegistrationContext(This,pulRegistrationCtx)
1168#else
1169/*** IUnknown methods ***/
1170static inline HRESULT IBDA_PinControl_QueryInterface(IBDA_PinControl* This,REFIID riid,void **ppvObject) {
1171    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1172}
1173static inline ULONG IBDA_PinControl_AddRef(IBDA_PinControl* This) {
1174    return This->lpVtbl->AddRef(This);
1175}
1176static inline ULONG IBDA_PinControl_Release(IBDA_PinControl* This) {
1177    return This->lpVtbl->Release(This);
1178}
1179/*** IBDA_PinControl methods ***/
1180static inline HRESULT IBDA_PinControl_GetPinID(IBDA_PinControl* This,ULONG *pulPinID) {
1181    return This->lpVtbl->GetPinID(This,pulPinID);
1182}
1183static inline HRESULT IBDA_PinControl_GetPinType(IBDA_PinControl* This,ULONG *pulPinType) {
1184    return This->lpVtbl->GetPinType(This,pulPinType);
1185}
1186static inline HRESULT IBDA_PinControl_RegistrationContext(IBDA_PinControl* This,ULONG *pulRegistrationCtx) {
1187    return This->lpVtbl->RegistrationContext(This,pulRegistrationCtx);
1188}
1189#endif
1190#endif
1191
1192#endif
1193
1194
1195#endif  /* __IBDA_PinControl_INTERFACE_DEFINED__ */
1196
1197/*****************************************************************************
1198 * IBDA_SignalProperties interface
1199 */
1200#ifndef __IBDA_SignalProperties_INTERFACE_DEFINED__
1201#define __IBDA_SignalProperties_INTERFACE_DEFINED__
1202
1203DEFINE_GUID(IID_IBDA_SignalProperties, 0xd2f1644b, 0xb409, 0x11d2, 0xbc,0x69, 0x00,0xa0,0xc9,0xee,0x9e,0x16);
1204#if defined(__cplusplus) && !defined(CINTERFACE)
1205MIDL_INTERFACE("d2f1644b-b409-11d2-bc69-00a0c9ee9e16")
1206IBDA_SignalProperties : public IUnknown
1207{
1208    virtual HRESULT STDMETHODCALLTYPE PutNetworkType(
1209        REFGUID guidNetworkType) = 0;
1210
1211    virtual HRESULT STDMETHODCALLTYPE GetNetworkType(
1212        GUID *pguidNetworkType) = 0;
1213
1214    virtual HRESULT STDMETHODCALLTYPE PutSignalSource(
1215        ULONG ulSignalSource) = 0;
1216
1217    virtual HRESULT STDMETHODCALLTYPE GetSignalSource(
1218        ULONG *pulSignalSource) = 0;
1219
1220    virtual HRESULT STDMETHODCALLTYPE PutTuningSpace(
1221        REFGUID guidTuningSpace) = 0;
1222
1223    virtual HRESULT STDMETHODCALLTYPE GetTuningSpace(
1224        GUID *pguidTuingSpace) = 0;
1225
1226};
1227#ifdef __CRT_UUID_DECL
1228__CRT_UUID_DECL(IBDA_SignalProperties, 0xd2f1644b, 0xb409, 0x11d2, 0xbc,0x69, 0x00,0xa0,0xc9,0xee,0x9e,0x16)
1229#endif
1230#else
1231typedef struct IBDA_SignalPropertiesVtbl {
1232    BEGIN_INTERFACE
1233
1234    /*** IUnknown methods ***/
1235    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1236        IBDA_SignalProperties *This,
1237        REFIID riid,
1238        void **ppvObject);
1239
1240    ULONG (STDMETHODCALLTYPE *AddRef)(
1241        IBDA_SignalProperties *This);
1242
1243    ULONG (STDMETHODCALLTYPE *Release)(
1244        IBDA_SignalProperties *This);
1245
1246    /*** IBDA_SignalProperties methods ***/
1247    HRESULT (STDMETHODCALLTYPE *PutNetworkType)(
1248        IBDA_SignalProperties *This,
1249        REFGUID guidNetworkType);
1250
1251    HRESULT (STDMETHODCALLTYPE *GetNetworkType)(
1252        IBDA_SignalProperties *This,
1253        GUID *pguidNetworkType);
1254
1255    HRESULT (STDMETHODCALLTYPE *PutSignalSource)(
1256        IBDA_SignalProperties *This,
1257        ULONG ulSignalSource);
1258
1259    HRESULT (STDMETHODCALLTYPE *GetSignalSource)(
1260        IBDA_SignalProperties *This,
1261        ULONG *pulSignalSource);
1262
1263    HRESULT (STDMETHODCALLTYPE *PutTuningSpace)(
1264        IBDA_SignalProperties *This,
1265        REFGUID guidTuningSpace);
1266
1267    HRESULT (STDMETHODCALLTYPE *GetTuningSpace)(
1268        IBDA_SignalProperties *This,
1269        GUID *pguidTuingSpace);
1270
1271    END_INTERFACE
1272} IBDA_SignalPropertiesVtbl;
1273
1274interface IBDA_SignalProperties {
1275    CONST_VTBL IBDA_SignalPropertiesVtbl* lpVtbl;
1276};
1277
1278#ifdef COBJMACROS
1279#ifndef WIDL_C_INLINE_WRAPPERS
1280/*** IUnknown methods ***/
1281#define IBDA_SignalProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1282#define IBDA_SignalProperties_AddRef(This) (This)->lpVtbl->AddRef(This)
1283#define IBDA_SignalProperties_Release(This) (This)->lpVtbl->Release(This)
1284/*** IBDA_SignalProperties methods ***/
1285#define IBDA_SignalProperties_PutNetworkType(This,guidNetworkType) (This)->lpVtbl->PutNetworkType(This,guidNetworkType)
1286#define IBDA_SignalProperties_GetNetworkType(This,pguidNetworkType) (This)->lpVtbl->GetNetworkType(This,pguidNetworkType)
1287#define IBDA_SignalProperties_PutSignalSource(This,ulSignalSource) (This)->lpVtbl->PutSignalSource(This,ulSignalSource)
1288#define IBDA_SignalProperties_GetSignalSource(This,pulSignalSource) (This)->lpVtbl->GetSignalSource(This,pulSignalSource)
1289#define IBDA_SignalProperties_PutTuningSpace(This,guidTuningSpace) (This)->lpVtbl->PutTuningSpace(This,guidTuningSpace)
1290#define IBDA_SignalProperties_GetTuningSpace(This,pguidTuingSpace) (This)->lpVtbl->GetTuningSpace(This,pguidTuingSpace)
1291#else
1292/*** IUnknown methods ***/
1293static inline HRESULT IBDA_SignalProperties_QueryInterface(IBDA_SignalProperties* This,REFIID riid,void **ppvObject) {
1294    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1295}
1296static inline ULONG IBDA_SignalProperties_AddRef(IBDA_SignalProperties* This) {
1297    return This->lpVtbl->AddRef(This);
1298}
1299static inline ULONG IBDA_SignalProperties_Release(IBDA_SignalProperties* This) {
1300    return This->lpVtbl->Release(This);
1301}
1302/*** IBDA_SignalProperties methods ***/
1303static inline HRESULT IBDA_SignalProperties_PutNetworkType(IBDA_SignalProperties* This,REFGUID guidNetworkType) {
1304    return This->lpVtbl->PutNetworkType(This,guidNetworkType);
1305}
1306static inline HRESULT IBDA_SignalProperties_GetNetworkType(IBDA_SignalProperties* This,GUID *pguidNetworkType) {
1307    return This->lpVtbl->GetNetworkType(This,pguidNetworkType);
1308}
1309static inline HRESULT IBDA_SignalProperties_PutSignalSource(IBDA_SignalProperties* This,ULONG ulSignalSource) {
1310    return This->lpVtbl->PutSignalSource(This,ulSignalSource);
1311}
1312static inline HRESULT IBDA_SignalProperties_GetSignalSource(IBDA_SignalProperties* This,ULONG *pulSignalSource) {
1313    return This->lpVtbl->GetSignalSource(This,pulSignalSource);
1314}
1315static inline HRESULT IBDA_SignalProperties_PutTuningSpace(IBDA_SignalProperties* This,REFGUID guidTuningSpace) {
1316    return This->lpVtbl->PutTuningSpace(This,guidTuningSpace);
1317}
1318static inline HRESULT IBDA_SignalProperties_GetTuningSpace(IBDA_SignalProperties* This,GUID *pguidTuingSpace) {
1319    return This->lpVtbl->GetTuningSpace(This,pguidTuingSpace);
1320}
1321#endif
1322#endif
1323
1324#endif
1325
1326
1327#endif  /* __IBDA_SignalProperties_INTERFACE_DEFINED__ */
1328
1329/*****************************************************************************
1330 * IBDA_SignalStatistics interface
1331 */
1332#ifndef __IBDA_SignalStatistics_INTERFACE_DEFINED__
1333#define __IBDA_SignalStatistics_INTERFACE_DEFINED__
1334
1335DEFINE_GUID(IID_IBDA_SignalStatistics, 0x1347d106, 0xcf3a, 0x428a, 0xa5,0xcb, 0xac,0x0d,0x9a,0x2a,0x43,0x38);
1336#if defined(__cplusplus) && !defined(CINTERFACE)
1337MIDL_INTERFACE("1347d106-cf3a-428a-a5cb-ac0d9a2a4338")
1338IBDA_SignalStatistics : public IUnknown
1339{
1340    virtual HRESULT STDMETHODCALLTYPE put_SignalStrength(
1341        LONG lDbStrength) = 0;
1342
1343    virtual HRESULT STDMETHODCALLTYPE get_SignalStrength(
1344        LONG *plDbStrength) = 0;
1345
1346    virtual HRESULT STDMETHODCALLTYPE put_SignalQuality(
1347        LONG lPercentQuality) = 0;
1348
1349    virtual HRESULT STDMETHODCALLTYPE get_SignalQuality(
1350        LONG *plPercentQuality) = 0;
1351
1352    virtual HRESULT STDMETHODCALLTYPE put_SignalPresent(
1353        BOOLEAN fPresent) = 0;
1354
1355    virtual HRESULT STDMETHODCALLTYPE get_SignalPresent(
1356        BOOLEAN *pfPresent) = 0;
1357
1358    virtual HRESULT STDMETHODCALLTYPE put_SignalLocked(
1359        BOOLEAN fLocked) = 0;
1360
1361    virtual HRESULT STDMETHODCALLTYPE get_SignalLocked(
1362        BOOLEAN *pfLocked) = 0;
1363
1364    virtual HRESULT STDMETHODCALLTYPE put_SampleTime(
1365        LONG lmsSampleTime) = 0;
1366
1367    virtual HRESULT STDMETHODCALLTYPE get_SampleTime(
1368        LONG *plmsSampleTime) = 0;
1369
1370};
1371#ifdef __CRT_UUID_DECL
1372__CRT_UUID_DECL(IBDA_SignalStatistics, 0x1347d106, 0xcf3a, 0x428a, 0xa5,0xcb, 0xac,0x0d,0x9a,0x2a,0x43,0x38)
1373#endif
1374#else
1375typedef struct IBDA_SignalStatisticsVtbl {
1376    BEGIN_INTERFACE
1377
1378    /*** IUnknown methods ***/
1379    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1380        IBDA_SignalStatistics *This,
1381        REFIID riid,
1382        void **ppvObject);
1383
1384    ULONG (STDMETHODCALLTYPE *AddRef)(
1385        IBDA_SignalStatistics *This);
1386
1387    ULONG (STDMETHODCALLTYPE *Release)(
1388        IBDA_SignalStatistics *This);
1389
1390    /*** IBDA_SignalStatistics methods ***/
1391    HRESULT (STDMETHODCALLTYPE *put_SignalStrength)(
1392        IBDA_SignalStatistics *This,
1393        LONG lDbStrength);
1394
1395    HRESULT (STDMETHODCALLTYPE *get_SignalStrength)(
1396        IBDA_SignalStatistics *This,
1397        LONG *plDbStrength);
1398
1399    HRESULT (STDMETHODCALLTYPE *put_SignalQuality)(
1400        IBDA_SignalStatistics *This,
1401        LONG lPercentQuality);
1402
1403    HRESULT (STDMETHODCALLTYPE *get_SignalQuality)(
1404        IBDA_SignalStatistics *This,
1405        LONG *plPercentQuality);
1406
1407    HRESULT (STDMETHODCALLTYPE *put_SignalPresent)(
1408        IBDA_SignalStatistics *This,
1409        BOOLEAN fPresent);
1410
1411    HRESULT (STDMETHODCALLTYPE *get_SignalPresent)(
1412        IBDA_SignalStatistics *This,
1413        BOOLEAN *pfPresent);
1414
1415    HRESULT (STDMETHODCALLTYPE *put_SignalLocked)(
1416        IBDA_SignalStatistics *This,
1417        BOOLEAN fLocked);
1418
1419    HRESULT (STDMETHODCALLTYPE *get_SignalLocked)(
1420        IBDA_SignalStatistics *This,
1421        BOOLEAN *pfLocked);
1422
1423    HRESULT (STDMETHODCALLTYPE *put_SampleTime)(
1424        IBDA_SignalStatistics *This,
1425        LONG lmsSampleTime);
1426
1427    HRESULT (STDMETHODCALLTYPE *get_SampleTime)(
1428        IBDA_SignalStatistics *This,
1429        LONG *plmsSampleTime);
1430
1431    END_INTERFACE
1432} IBDA_SignalStatisticsVtbl;
1433
1434interface IBDA_SignalStatistics {
1435    CONST_VTBL IBDA_SignalStatisticsVtbl* lpVtbl;
1436};
1437
1438#ifdef COBJMACROS
1439#ifndef WIDL_C_INLINE_WRAPPERS
1440/*** IUnknown methods ***/
1441#define IBDA_SignalStatistics_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1442#define IBDA_SignalStatistics_AddRef(This) (This)->lpVtbl->AddRef(This)
1443#define IBDA_SignalStatistics_Release(This) (This)->lpVtbl->Release(This)
1444/*** IBDA_SignalStatistics methods ***/
1445#define IBDA_SignalStatistics_put_SignalStrength(This,lDbStrength) (This)->lpVtbl->put_SignalStrength(This,lDbStrength)
1446#define IBDA_SignalStatistics_get_SignalStrength(This,plDbStrength) (This)->lpVtbl->get_SignalStrength(This,plDbStrength)
1447#define IBDA_SignalStatistics_put_SignalQuality(This,lPercentQuality) (This)->lpVtbl->put_SignalQuality(This,lPercentQuality)
1448#define IBDA_SignalStatistics_get_SignalQuality(This,plPercentQuality) (This)->lpVtbl->get_SignalQuality(This,plPercentQuality)
1449#define IBDA_SignalStatistics_put_SignalPresent(This,fPresent) (This)->lpVtbl->put_SignalPresent(This,fPresent)
1450#define IBDA_SignalStatistics_get_SignalPresent(This,pfPresent) (This)->lpVtbl->get_SignalPresent(This,pfPresent)
1451#define IBDA_SignalStatistics_put_SignalLocked(This,fLocked) (This)->lpVtbl->put_SignalLocked(This,fLocked)
1452#define IBDA_SignalStatistics_get_SignalLocked(This,pfLocked) (This)->lpVtbl->get_SignalLocked(This,pfLocked)
1453#define IBDA_SignalStatistics_put_SampleTime(This,lmsSampleTime) (This)->lpVtbl->put_SampleTime(This,lmsSampleTime)
1454#define IBDA_SignalStatistics_get_SampleTime(This,plmsSampleTime) (This)->lpVtbl->get_SampleTime(This,plmsSampleTime)
1455#else
1456/*** IUnknown methods ***/
1457static inline HRESULT IBDA_SignalStatistics_QueryInterface(IBDA_SignalStatistics* This,REFIID riid,void **ppvObject) {
1458    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1459}
1460static inline ULONG IBDA_SignalStatistics_AddRef(IBDA_SignalStatistics* This) {
1461    return This->lpVtbl->AddRef(This);
1462}
1463static inline ULONG IBDA_SignalStatistics_Release(IBDA_SignalStatistics* This) {
1464    return This->lpVtbl->Release(This);
1465}
1466/*** IBDA_SignalStatistics methods ***/
1467static inline HRESULT IBDA_SignalStatistics_put_SignalStrength(IBDA_SignalStatistics* This,LONG lDbStrength) {
1468    return This->lpVtbl->put_SignalStrength(This,lDbStrength);
1469}
1470static inline HRESULT IBDA_SignalStatistics_get_SignalStrength(IBDA_SignalStatistics* This,LONG *plDbStrength) {
1471    return This->lpVtbl->get_SignalStrength(This,plDbStrength);
1472}
1473static inline HRESULT IBDA_SignalStatistics_put_SignalQuality(IBDA_SignalStatistics* This,LONG lPercentQuality) {
1474    return This->lpVtbl->put_SignalQuality(This,lPercentQuality);
1475}
1476static inline HRESULT IBDA_SignalStatistics_get_SignalQuality(IBDA_SignalStatistics* This,LONG *plPercentQuality) {
1477    return This->lpVtbl->get_SignalQuality(This,plPercentQuality);
1478}
1479static inline HRESULT IBDA_SignalStatistics_put_SignalPresent(IBDA_SignalStatistics* This,BOOLEAN fPresent) {
1480    return This->lpVtbl->put_SignalPresent(This,fPresent);
1481}
1482static inline HRESULT IBDA_SignalStatistics_get_SignalPresent(IBDA_SignalStatistics* This,BOOLEAN *pfPresent) {
1483    return This->lpVtbl->get_SignalPresent(This,pfPresent);
1484}
1485static inline HRESULT IBDA_SignalStatistics_put_SignalLocked(IBDA_SignalStatistics* This,BOOLEAN fLocked) {
1486    return This->lpVtbl->put_SignalLocked(This,fLocked);
1487}
1488static inline HRESULT IBDA_SignalStatistics_get_SignalLocked(IBDA_SignalStatistics* This,BOOLEAN *pfLocked) {
1489    return This->lpVtbl->get_SignalLocked(This,pfLocked);
1490}
1491static inline HRESULT IBDA_SignalStatistics_put_SampleTime(IBDA_SignalStatistics* This,LONG lmsSampleTime) {
1492    return This->lpVtbl->put_SampleTime(This,lmsSampleTime);
1493}
1494static inline HRESULT IBDA_SignalStatistics_get_SampleTime(IBDA_SignalStatistics* This,LONG *plmsSampleTime) {
1495    return This->lpVtbl->get_SampleTime(This,plmsSampleTime);
1496}
1497#endif
1498#endif
1499
1500#endif
1501
1502
1503#endif  /* __IBDA_SignalStatistics_INTERFACE_DEFINED__ */
1504
1505/*****************************************************************************
1506 * IBDA_Topology interface
1507 */
1508#ifndef __IBDA_Topology_INTERFACE_DEFINED__
1509#define __IBDA_Topology_INTERFACE_DEFINED__
1510
1511DEFINE_GUID(IID_IBDA_Topology, 0x79b56888, 0x7fea, 0x4690, 0xb4,0x5d, 0x38,0xfd,0x3c,0x78,0x49,0xbe);
1512#if defined(__cplusplus) && !defined(CINTERFACE)
1513MIDL_INTERFACE("79b56888-7fea-4690-b45d-38fd3c7849be")
1514IBDA_Topology : public IUnknown
1515{
1516    virtual HRESULT STDMETHODCALLTYPE GetNodeTypes(
1517        ULONG *pulcNodeTypes,
1518        ULONG ulcNodeTypesMax,
1519        ULONG rgulNodeTypes[]) = 0;
1520
1521    virtual HRESULT STDMETHODCALLTYPE GetNodeDescriptors(
1522        ULONG *ulcNodeDescriptors,
1523        ULONG ulcNodeDescriptorsMax,
1524        BDANODE_DESCRIPTOR rgNodeDescriptors[]) = 0;
1525
1526    virtual HRESULT STDMETHODCALLTYPE GetNodeInterfaces(
1527        ULONG ulNodeType,
1528        ULONG *pulcInterfaces,
1529        ULONG ulcInterfacesMax,
1530        GUID rgguidInterfaces[]) = 0;
1531
1532    virtual HRESULT STDMETHODCALLTYPE GetPinTypes(
1533        ULONG *pulcPinTypes,
1534        ULONG ulcPinTypesMax,
1535        ULONG rgulPinTypes[]) = 0;
1536
1537    virtual HRESULT STDMETHODCALLTYPE GetTemplateConnections(
1538        ULONG *pulcConnections,
1539        ULONG ulcConnectionsMax,
1540        BDA_TEMPLATE_CONNECTION rgConnections[]) = 0;
1541
1542    virtual HRESULT STDMETHODCALLTYPE CreatePin(
1543        ULONG ulPinType,
1544        ULONG *pulPinId) = 0;
1545
1546    virtual HRESULT STDMETHODCALLTYPE DeletePin(
1547        ULONG ulPinId) = 0;
1548
1549    virtual HRESULT STDMETHODCALLTYPE SetMediaType(
1550        ULONG ulPinId,
1551        AM_MEDIA_TYPE *pMediaType) = 0;
1552
1553    virtual HRESULT STDMETHODCALLTYPE SetMedium(
1554        ULONG ulPinId,
1555        REGPINMEDIUM *pMedium) = 0;
1556
1557    virtual HRESULT STDMETHODCALLTYPE CreateTopology(
1558        ULONG ulInputPinId,
1559        ULONG ulOutputPinId) = 0;
1560
1561    virtual HRESULT STDMETHODCALLTYPE GetControlNode(
1562        ULONG ulInputPinId,
1563        ULONG ulOutputPinId,
1564        ULONG ulNodeType,
1565        IUnknown **ppControlNode) = 0;
1566
1567};
1568#ifdef __CRT_UUID_DECL
1569__CRT_UUID_DECL(IBDA_Topology, 0x79b56888, 0x7fea, 0x4690, 0xb4,0x5d, 0x38,0xfd,0x3c,0x78,0x49,0xbe)
1570#endif
1571#else
1572typedef struct IBDA_TopologyVtbl {
1573    BEGIN_INTERFACE
1574
1575    /*** IUnknown methods ***/
1576    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1577        IBDA_Topology *This,
1578        REFIID riid,
1579        void **ppvObject);
1580
1581    ULONG (STDMETHODCALLTYPE *AddRef)(
1582        IBDA_Topology *This);
1583
1584    ULONG (STDMETHODCALLTYPE *Release)(
1585        IBDA_Topology *This);
1586
1587    /*** IBDA_Topology methods ***/
1588    HRESULT (STDMETHODCALLTYPE *GetNodeTypes)(
1589        IBDA_Topology *This,
1590        ULONG *pulcNodeTypes,
1591        ULONG ulcNodeTypesMax,
1592        ULONG rgulNodeTypes[]);
1593
1594    HRESULT (STDMETHODCALLTYPE *GetNodeDescriptors)(
1595        IBDA_Topology *This,
1596        ULONG *ulcNodeDescriptors,
1597        ULONG ulcNodeDescriptorsMax,
1598        BDANODE_DESCRIPTOR rgNodeDescriptors[]);
1599
1600    HRESULT (STDMETHODCALLTYPE *GetNodeInterfaces)(
1601        IBDA_Topology *This,
1602        ULONG ulNodeType,
1603        ULONG *pulcInterfaces,
1604        ULONG ulcInterfacesMax,
1605        GUID rgguidInterfaces[]);
1606
1607    HRESULT (STDMETHODCALLTYPE *GetPinTypes)(
1608        IBDA_Topology *This,
1609        ULONG *pulcPinTypes,
1610        ULONG ulcPinTypesMax,
1611        ULONG rgulPinTypes[]);
1612
1613    HRESULT (STDMETHODCALLTYPE *GetTemplateConnections)(
1614        IBDA_Topology *This,
1615        ULONG *pulcConnections,
1616        ULONG ulcConnectionsMax,
1617        BDA_TEMPLATE_CONNECTION rgConnections[]);
1618
1619    HRESULT (STDMETHODCALLTYPE *CreatePin)(
1620        IBDA_Topology *This,
1621        ULONG ulPinType,
1622        ULONG *pulPinId);
1623
1624    HRESULT (STDMETHODCALLTYPE *DeletePin)(
1625        IBDA_Topology *This,
1626        ULONG ulPinId);
1627
1628    HRESULT (STDMETHODCALLTYPE *SetMediaType)(
1629        IBDA_Topology *This,
1630        ULONG ulPinId,
1631        AM_MEDIA_TYPE *pMediaType);
1632
1633    HRESULT (STDMETHODCALLTYPE *SetMedium)(
1634        IBDA_Topology *This,
1635        ULONG ulPinId,
1636        REGPINMEDIUM *pMedium);
1637
1638    HRESULT (STDMETHODCALLTYPE *CreateTopology)(
1639        IBDA_Topology *This,
1640        ULONG ulInputPinId,
1641        ULONG ulOutputPinId);
1642
1643    HRESULT (STDMETHODCALLTYPE *GetControlNode)(
1644        IBDA_Topology *This,
1645        ULONG ulInputPinId,
1646        ULONG ulOutputPinId,
1647        ULONG ulNodeType,
1648        IUnknown **ppControlNode);
1649
1650    END_INTERFACE
1651} IBDA_TopologyVtbl;
1652
1653interface IBDA_Topology {
1654    CONST_VTBL IBDA_TopologyVtbl* lpVtbl;
1655};
1656
1657#ifdef COBJMACROS
1658#ifndef WIDL_C_INLINE_WRAPPERS
1659/*** IUnknown methods ***/
1660#define IBDA_Topology_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1661#define IBDA_Topology_AddRef(This) (This)->lpVtbl->AddRef(This)
1662#define IBDA_Topology_Release(This) (This)->lpVtbl->Release(This)
1663/*** IBDA_Topology methods ***/
1664#define IBDA_Topology_GetNodeTypes(This,pulcNodeTypes,ulcNodeTypesMax,rgulNodeTypes) (This)->lpVtbl->GetNodeTypes(This,pulcNodeTypes,ulcNodeTypesMax,rgulNodeTypes)
1665#define IBDA_Topology_GetNodeDescriptors(This,ulcNodeDescriptors,ulcNodeDescriptorsMax,rgNodeDescriptors) (This)->lpVtbl->GetNodeDescriptors(This,ulcNodeDescriptors,ulcNodeDescriptorsMax,rgNodeDescriptors)
1666#define IBDA_Topology_GetNodeInterfaces(This,ulNodeType,pulcInterfaces,ulcInterfacesMax,rgguidInterfaces) (This)->lpVtbl->GetNodeInterfaces(This,ulNodeType,pulcInterfaces,ulcInterfacesMax,rgguidInterfaces)
1667#define IBDA_Topology_GetPinTypes(This,pulcPinTypes,ulcPinTypesMax,rgulPinTypes) (This)->lpVtbl->GetPinTypes(This,pulcPinTypes,ulcPinTypesMax,rgulPinTypes)
1668#define IBDA_Topology_GetTemplateConnections(This,pulcConnections,ulcConnectionsMax,rgConnections) (This)->lpVtbl->GetTemplateConnections(This,pulcConnections,ulcConnectionsMax,rgConnections)
1669#define IBDA_Topology_CreatePin(This,ulPinType,pulPinId) (This)->lpVtbl->CreatePin(This,ulPinType,pulPinId)
1670#define IBDA_Topology_DeletePin(This,ulPinId) (This)->lpVtbl->DeletePin(This,ulPinId)
1671#define IBDA_Topology_SetMediaType(This,ulPinId,pMediaType) (This)->lpVtbl->SetMediaType(This,ulPinId,pMediaType)
1672#define IBDA_Topology_SetMedium(This,ulPinId,pMedium) (This)->lpVtbl->SetMedium(This,ulPinId,pMedium)
1673#define IBDA_Topology_CreateTopology(This,ulInputPinId,ulOutputPinId) (This)->lpVtbl->CreateTopology(This,ulInputPinId,ulOutputPinId)
1674#define IBDA_Topology_GetControlNode(This,ulInputPinId,ulOutputPinId,ulNodeType,ppControlNode) (This)->lpVtbl->GetControlNode(This,ulInputPinId,ulOutputPinId,ulNodeType,ppControlNode)
1675#else
1676/*** IUnknown methods ***/
1677static inline HRESULT IBDA_Topology_QueryInterface(IBDA_Topology* This,REFIID riid,void **ppvObject) {
1678    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1679}
1680static inline ULONG IBDA_Topology_AddRef(IBDA_Topology* This) {
1681    return This->lpVtbl->AddRef(This);
1682}
1683static inline ULONG IBDA_Topology_Release(IBDA_Topology* This) {
1684    return This->lpVtbl->Release(This);
1685}
1686/*** IBDA_Topology methods ***/
1687static inline HRESULT IBDA_Topology_GetNodeTypes(IBDA_Topology* This,ULONG *pulcNodeTypes,ULONG ulcNodeTypesMax,ULONG rgulNodeTypes[]) {
1688    return This->lpVtbl->GetNodeTypes(This,pulcNodeTypes,ulcNodeTypesMax,rgulNodeTypes);
1689}
1690static inline HRESULT IBDA_Topology_GetNodeDescriptors(IBDA_Topology* This,ULONG *ulcNodeDescriptors,ULONG ulcNodeDescriptorsMax,BDANODE_DESCRIPTOR rgNodeDescriptors[]) {
1691    return This->lpVtbl->GetNodeDescriptors(This,ulcNodeDescriptors,ulcNodeDescriptorsMax,rgNodeDescriptors);
1692}
1693static inline HRESULT IBDA_Topology_GetNodeInterfaces(IBDA_Topology* This,ULONG ulNodeType,ULONG *pulcInterfaces,ULONG ulcInterfacesMax,GUID rgguidInterfaces[]) {
1694    return This->lpVtbl->GetNodeInterfaces(This,ulNodeType,pulcInterfaces,ulcInterfacesMax,rgguidInterfaces);
1695}
1696static inline HRESULT IBDA_Topology_GetPinTypes(IBDA_Topology* This,ULONG *pulcPinTypes,ULONG ulcPinTypesMax,ULONG rgulPinTypes[]) {
1697    return This->lpVtbl->GetPinTypes(This,pulcPinTypes,ulcPinTypesMax,rgulPinTypes);
1698}
1699static inline HRESULT IBDA_Topology_GetTemplateConnections(IBDA_Topology* This,ULONG *pulcConnections,ULONG ulcConnectionsMax,BDA_TEMPLATE_CONNECTION rgConnections[]) {
1700    return This->lpVtbl->GetTemplateConnections(This,pulcConnections,ulcConnectionsMax,rgConnections);
1701}
1702static inline HRESULT IBDA_Topology_CreatePin(IBDA_Topology* This,ULONG ulPinType,ULONG *pulPinId) {
1703    return This->lpVtbl->CreatePin(This,ulPinType,pulPinId);
1704}
1705static inline HRESULT IBDA_Topology_DeletePin(IBDA_Topology* This,ULONG ulPinId) {
1706    return This->lpVtbl->DeletePin(This,ulPinId);
1707}
1708static inline HRESULT IBDA_Topology_SetMediaType(IBDA_Topology* This,ULONG ulPinId,AM_MEDIA_TYPE *pMediaType) {
1709    return This->lpVtbl->SetMediaType(This,ulPinId,pMediaType);
1710}
1711static inline HRESULT IBDA_Topology_SetMedium(IBDA_Topology* This,ULONG ulPinId,REGPINMEDIUM *pMedium) {
1712    return This->lpVtbl->SetMedium(This,ulPinId,pMedium);
1713}
1714static inline HRESULT IBDA_Topology_CreateTopology(IBDA_Topology* This,ULONG ulInputPinId,ULONG ulOutputPinId) {
1715    return This->lpVtbl->CreateTopology(This,ulInputPinId,ulOutputPinId);
1716}
1717static inline HRESULT IBDA_Topology_GetControlNode(IBDA_Topology* This,ULONG ulInputPinId,ULONG ulOutputPinId,ULONG ulNodeType,IUnknown **ppControlNode) {
1718    return This->lpVtbl->GetControlNode(This,ulInputPinId,ulOutputPinId,ulNodeType,ppControlNode);
1719}
1720#endif
1721#endif
1722
1723#endif
1724
1725
1726#endif  /* __IBDA_Topology_INTERFACE_DEFINED__ */
1727
1728/*****************************************************************************
1729 * IBDA_VoidTransform interface
1730 */
1731#ifndef __IBDA_VoidTransform_INTERFACE_DEFINED__
1732#define __IBDA_VoidTransform_INTERFACE_DEFINED__
1733
1734DEFINE_GUID(IID_IBDA_VoidTransform, 0x71985f46, 0x1ca1, 0x11d3, 0x9c,0xc8, 0x00,0xc0,0x4f,0x79,0x71,0xe0);
1735#if defined(__cplusplus) && !defined(CINTERFACE)
1736MIDL_INTERFACE("71985f46-1ca1-11d3-9cc8-00c04f7971e0")
1737IBDA_VoidTransform : public IUnknown
1738{
1739    virtual HRESULT STDMETHODCALLTYPE Start(
1740        ) = 0;
1741
1742    virtual HRESULT STDMETHODCALLTYPE Stop(
1743        ) = 0;
1744
1745};
1746#ifdef __CRT_UUID_DECL
1747__CRT_UUID_DECL(IBDA_VoidTransform, 0x71985f46, 0x1ca1, 0x11d3, 0x9c,0xc8, 0x00,0xc0,0x4f,0x79,0x71,0xe0)
1748#endif
1749#else
1750typedef struct IBDA_VoidTransformVtbl {
1751    BEGIN_INTERFACE
1752
1753    /*** IUnknown methods ***/
1754    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1755        IBDA_VoidTransform *This,
1756        REFIID riid,
1757        void **ppvObject);
1758
1759    ULONG (STDMETHODCALLTYPE *AddRef)(
1760        IBDA_VoidTransform *This);
1761
1762    ULONG (STDMETHODCALLTYPE *Release)(
1763        IBDA_VoidTransform *This);
1764
1765    /*** IBDA_VoidTransform methods ***/
1766    HRESULT (STDMETHODCALLTYPE *Start)(
1767        IBDA_VoidTransform *This);
1768
1769    HRESULT (STDMETHODCALLTYPE *Stop)(
1770        IBDA_VoidTransform *This);
1771
1772    END_INTERFACE
1773} IBDA_VoidTransformVtbl;
1774
1775interface IBDA_VoidTransform {
1776    CONST_VTBL IBDA_VoidTransformVtbl* lpVtbl;
1777};
1778
1779#ifdef COBJMACROS
1780#ifndef WIDL_C_INLINE_WRAPPERS
1781/*** IUnknown methods ***/
1782#define IBDA_VoidTransform_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1783#define IBDA_VoidTransform_AddRef(This) (This)->lpVtbl->AddRef(This)
1784#define IBDA_VoidTransform_Release(This) (This)->lpVtbl->Release(This)
1785/*** IBDA_VoidTransform methods ***/
1786#define IBDA_VoidTransform_Start(This) (This)->lpVtbl->Start(This)
1787#define IBDA_VoidTransform_Stop(This) (This)->lpVtbl->Stop(This)
1788#else
1789/*** IUnknown methods ***/
1790static inline HRESULT IBDA_VoidTransform_QueryInterface(IBDA_VoidTransform* This,REFIID riid,void **ppvObject) {
1791    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1792}
1793static inline ULONG IBDA_VoidTransform_AddRef(IBDA_VoidTransform* This) {
1794    return This->lpVtbl->AddRef(This);
1795}
1796static inline ULONG IBDA_VoidTransform_Release(IBDA_VoidTransform* This) {
1797    return This->lpVtbl->Release(This);
1798}
1799/*** IBDA_VoidTransform methods ***/
1800static inline HRESULT IBDA_VoidTransform_Start(IBDA_VoidTransform* This) {
1801    return This->lpVtbl->Start(This);
1802}
1803static inline HRESULT IBDA_VoidTransform_Stop(IBDA_VoidTransform* This) {
1804    return This->lpVtbl->Stop(This);
1805}
1806#endif
1807#endif
1808
1809#endif
1810
1811
1812#endif  /* __IBDA_VoidTransform_INTERFACE_DEFINED__ */
1813
1814/*****************************************************************************
1815 * IBDA_NullTransform interface
1816 */
1817#ifndef __IBDA_NullTransform_INTERFACE_DEFINED__
1818#define __IBDA_NullTransform_INTERFACE_DEFINED__
1819
1820DEFINE_GUID(IID_IBDA_NullTransform, 0xddf15b0d, 0xbd25, 0x11d2, 0x9c,0xa0, 0x00,0xc0,0x4f,0x79,0x71,0xe0);
1821#if defined(__cplusplus) && !defined(CINTERFACE)
1822MIDL_INTERFACE("ddf15b0d-bd25-11d2-9ca0-00c04f7971e0")
1823IBDA_NullTransform : public IUnknown
1824{
1825    virtual HRESULT STDMETHODCALLTYPE Start(
1826        ) = 0;
1827
1828    virtual HRESULT STDMETHODCALLTYPE Stop(
1829        ) = 0;
1830
1831};
1832#ifdef __CRT_UUID_DECL
1833__CRT_UUID_DECL(IBDA_NullTransform, 0xddf15b0d, 0xbd25, 0x11d2, 0x9c,0xa0, 0x00,0xc0,0x4f,0x79,0x71,0xe0)
1834#endif
1835#else
1836typedef struct IBDA_NullTransformVtbl {
1837    BEGIN_INTERFACE
1838
1839    /*** IUnknown methods ***/
1840    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1841        IBDA_NullTransform *This,
1842        REFIID riid,
1843        void **ppvObject);
1844
1845    ULONG (STDMETHODCALLTYPE *AddRef)(
1846        IBDA_NullTransform *This);
1847
1848    ULONG (STDMETHODCALLTYPE *Release)(
1849        IBDA_NullTransform *This);
1850
1851    /*** IBDA_NullTransform methods ***/
1852    HRESULT (STDMETHODCALLTYPE *Start)(
1853        IBDA_NullTransform *This);
1854
1855    HRESULT (STDMETHODCALLTYPE *Stop)(
1856        IBDA_NullTransform *This);
1857
1858    END_INTERFACE
1859} IBDA_NullTransformVtbl;
1860
1861interface IBDA_NullTransform {
1862    CONST_VTBL IBDA_NullTransformVtbl* lpVtbl;
1863};
1864
1865#ifdef COBJMACROS
1866#ifndef WIDL_C_INLINE_WRAPPERS
1867/*** IUnknown methods ***/
1868#define IBDA_NullTransform_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1869#define IBDA_NullTransform_AddRef(This) (This)->lpVtbl->AddRef(This)
1870#define IBDA_NullTransform_Release(This) (This)->lpVtbl->Release(This)
1871/*** IBDA_NullTransform methods ***/
1872#define IBDA_NullTransform_Start(This) (This)->lpVtbl->Start(This)
1873#define IBDA_NullTransform_Stop(This) (This)->lpVtbl->Stop(This)
1874#else
1875/*** IUnknown methods ***/
1876static inline HRESULT IBDA_NullTransform_QueryInterface(IBDA_NullTransform* This,REFIID riid,void **ppvObject) {
1877    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1878}
1879static inline ULONG IBDA_NullTransform_AddRef(IBDA_NullTransform* This) {
1880    return This->lpVtbl->AddRef(This);
1881}
1882static inline ULONG IBDA_NullTransform_Release(IBDA_NullTransform* This) {
1883    return This->lpVtbl->Release(This);
1884}
1885/*** IBDA_NullTransform methods ***/
1886static inline HRESULT IBDA_NullTransform_Start(IBDA_NullTransform* This) {
1887    return This->lpVtbl->Start(This);
1888}
1889static inline HRESULT IBDA_NullTransform_Stop(IBDA_NullTransform* This) {
1890    return This->lpVtbl->Stop(This);
1891}
1892#endif
1893#endif
1894
1895#endif
1896
1897
1898#endif  /* __IBDA_NullTransform_INTERFACE_DEFINED__ */
1899
1900/*****************************************************************************
1901 * IBDA_FrequencyFilter interface
1902 */
1903#ifndef __IBDA_FrequencyFilter_INTERFACE_DEFINED__
1904#define __IBDA_FrequencyFilter_INTERFACE_DEFINED__
1905
1906DEFINE_GUID(IID_IBDA_FrequencyFilter, 0x71985f47, 0x1ca1, 0x11d3, 0x9c,0xc8, 0x00,0xc0,0x4f,0x79,0x71,0xe0);
1907#if defined(__cplusplus) && !defined(CINTERFACE)
1908MIDL_INTERFACE("71985f47-1ca1-11d3-9cc8-00c04f7971e0")
1909IBDA_FrequencyFilter : public IUnknown
1910{
1911    virtual HRESULT STDMETHODCALLTYPE put_Autotune(
1912        ULONG ulTransponder) = 0;
1913
1914    virtual HRESULT STDMETHODCALLTYPE get_Autotune(
1915        ULONG *pulTransponder) = 0;
1916
1917    virtual HRESULT STDMETHODCALLTYPE put_Frequency(
1918        ULONG ulFrequency) = 0;
1919
1920    virtual HRESULT STDMETHODCALLTYPE get_Frequency(
1921        ULONG *pulFrequency) = 0;
1922
1923    virtual HRESULT STDMETHODCALLTYPE put_Polarity(
1924        Polarisation Polarity) = 0;
1925
1926    virtual HRESULT STDMETHODCALLTYPE get_Polarity(
1927        Polarisation *pPolarity) = 0;
1928
1929    virtual HRESULT STDMETHODCALLTYPE put_Range(
1930        ULONG ulRange) = 0;
1931
1932    virtual HRESULT STDMETHODCALLTYPE get_Range(
1933        ULONG *pulRange) = 0;
1934
1935    virtual HRESULT STDMETHODCALLTYPE put_Bandwidth(
1936        ULONG ulBandwidth) = 0;
1937
1938    virtual HRESULT STDMETHODCALLTYPE get_Bandwidth(
1939        ULONG *pulBandwidth) = 0;
1940
1941    virtual HRESULT STDMETHODCALLTYPE put_FrequencyMultiplier(
1942        ULONG ulMultiplier) = 0;
1943
1944    virtual HRESULT STDMETHODCALLTYPE get_FrequencyMultiplier(
1945        ULONG *pulMultiplier) = 0;
1946
1947};
1948#ifdef __CRT_UUID_DECL
1949__CRT_UUID_DECL(IBDA_FrequencyFilter, 0x71985f47, 0x1ca1, 0x11d3, 0x9c,0xc8, 0x00,0xc0,0x4f,0x79,0x71,0xe0)
1950#endif
1951#else
1952typedef struct IBDA_FrequencyFilterVtbl {
1953    BEGIN_INTERFACE
1954
1955    /*** IUnknown methods ***/
1956    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1957        IBDA_FrequencyFilter *This,
1958        REFIID riid,
1959        void **ppvObject);
1960
1961    ULONG (STDMETHODCALLTYPE *AddRef)(
1962        IBDA_FrequencyFilter *This);
1963
1964    ULONG (STDMETHODCALLTYPE *Release)(
1965        IBDA_FrequencyFilter *This);
1966
1967    /*** IBDA_FrequencyFilter methods ***/
1968    HRESULT (STDMETHODCALLTYPE *put_Autotune)(
1969        IBDA_FrequencyFilter *This,
1970        ULONG ulTransponder);
1971
1972    HRESULT (STDMETHODCALLTYPE *get_Autotune)(
1973        IBDA_FrequencyFilter *This,
1974        ULONG *pulTransponder);
1975
1976    HRESULT (STDMETHODCALLTYPE *put_Frequency)(
1977        IBDA_FrequencyFilter *This,
1978        ULONG ulFrequency);
1979
1980    HRESULT (STDMETHODCALLTYPE *get_Frequency)(
1981        IBDA_FrequencyFilter *This,
1982        ULONG *pulFrequency);
1983
1984    HRESULT (STDMETHODCALLTYPE *put_Polarity)(
1985        IBDA_FrequencyFilter *This,
1986        Polarisation Polarity);
1987
1988    HRESULT (STDMETHODCALLTYPE *get_Polarity)(
1989        IBDA_FrequencyFilter *This,
1990        Polarisation *pPolarity);
1991
1992    HRESULT (STDMETHODCALLTYPE *put_Range)(
1993        IBDA_FrequencyFilter *This,
1994        ULONG ulRange);
1995
1996    HRESULT (STDMETHODCALLTYPE *get_Range)(
1997        IBDA_FrequencyFilter *This,
1998        ULONG *pulRange);
1999
2000    HRESULT (STDMETHODCALLTYPE *put_Bandwidth)(
2001        IBDA_FrequencyFilter *This,
2002        ULONG ulBandwidth);
2003
2004    HRESULT (STDMETHODCALLTYPE *get_Bandwidth)(
2005        IBDA_FrequencyFilter *This,
2006        ULONG *pulBandwidth);
2007
2008    HRESULT (STDMETHODCALLTYPE *put_FrequencyMultiplier)(
2009        IBDA_FrequencyFilter *This,
2010        ULONG ulMultiplier);
2011
2012    HRESULT (STDMETHODCALLTYPE *get_FrequencyMultiplier)(
2013        IBDA_FrequencyFilter *This,
2014        ULONG *pulMultiplier);
2015
2016    END_INTERFACE
2017} IBDA_FrequencyFilterVtbl;
2018
2019interface IBDA_FrequencyFilter {
2020    CONST_VTBL IBDA_FrequencyFilterVtbl* lpVtbl;
2021};
2022
2023#ifdef COBJMACROS
2024#ifndef WIDL_C_INLINE_WRAPPERS
2025/*** IUnknown methods ***/
2026#define IBDA_FrequencyFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2027#define IBDA_FrequencyFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
2028#define IBDA_FrequencyFilter_Release(This) (This)->lpVtbl->Release(This)
2029/*** IBDA_FrequencyFilter methods ***/
2030#define IBDA_FrequencyFilter_put_Autotune(This,ulTransponder) (This)->lpVtbl->put_Autotune(This,ulTransponder)
2031#define IBDA_FrequencyFilter_get_Autotune(This,pulTransponder) (This)->lpVtbl->get_Autotune(This,pulTransponder)
2032#define IBDA_FrequencyFilter_put_Frequency(This,ulFrequency) (This)->lpVtbl->put_Frequency(This,ulFrequency)
2033#define IBDA_FrequencyFilter_get_Frequency(This,pulFrequency) (This)->lpVtbl->get_Frequency(This,pulFrequency)
2034#define IBDA_FrequencyFilter_put_Polarity(This,Polarity) (This)->lpVtbl->put_Polarity(This,Polarity)
2035#define IBDA_FrequencyFilter_get_Polarity(This,pPolarity) (This)->lpVtbl->get_Polarity(This,pPolarity)
2036#define IBDA_FrequencyFilter_put_Range(This,ulRange) (This)->lpVtbl->put_Range(This,ulRange)
2037#define IBDA_FrequencyFilter_get_Range(This,pulRange) (This)->lpVtbl->get_Range(This,pulRange)
2038#define IBDA_FrequencyFilter_put_Bandwidth(This,ulBandwidth) (This)->lpVtbl->put_Bandwidth(This,ulBandwidth)
2039#define IBDA_FrequencyFilter_get_Bandwidth(This,pulBandwidth) (This)->lpVtbl->get_Bandwidth(This,pulBandwidth)
2040#define IBDA_FrequencyFilter_put_FrequencyMultiplier(This,ulMultiplier) (This)->lpVtbl->put_FrequencyMultiplier(This,ulMultiplier)
2041#define IBDA_FrequencyFilter_get_FrequencyMultiplier(This,pulMultiplier) (This)->lpVtbl->get_FrequencyMultiplier(This,pulMultiplier)
2042#else
2043/*** IUnknown methods ***/
2044static inline HRESULT IBDA_FrequencyFilter_QueryInterface(IBDA_FrequencyFilter* This,REFIID riid,void **ppvObject) {
2045    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2046}
2047static inline ULONG IBDA_FrequencyFilter_AddRef(IBDA_FrequencyFilter* This) {
2048    return This->lpVtbl->AddRef(This);
2049}
2050static inline ULONG IBDA_FrequencyFilter_Release(IBDA_FrequencyFilter* This) {
2051    return This->lpVtbl->Release(This);
2052}
2053/*** IBDA_FrequencyFilter methods ***/
2054static inline HRESULT IBDA_FrequencyFilter_put_Autotune(IBDA_FrequencyFilter* This,ULONG ulTransponder) {
2055    return This->lpVtbl->put_Autotune(This,ulTransponder);
2056}
2057static inline HRESULT IBDA_FrequencyFilter_get_Autotune(IBDA_FrequencyFilter* This,ULONG *pulTransponder) {
2058    return This->lpVtbl->get_Autotune(This,pulTransponder);
2059}
2060static inline HRESULT IBDA_FrequencyFilter_put_Frequency(IBDA_FrequencyFilter* This,ULONG ulFrequency) {
2061    return This->lpVtbl->put_Frequency(This,ulFrequency);
2062}
2063static inline HRESULT IBDA_FrequencyFilter_get_Frequency(IBDA_FrequencyFilter* This,ULONG *pulFrequency) {
2064    return This->lpVtbl->get_Frequency(This,pulFrequency);
2065}
2066static inline HRESULT IBDA_FrequencyFilter_put_Polarity(IBDA_FrequencyFilter* This,Polarisation Polarity) {
2067    return This->lpVtbl->put_Polarity(This,Polarity);
2068}
2069static inline HRESULT IBDA_FrequencyFilter_get_Polarity(IBDA_FrequencyFilter* This,Polarisation *pPolarity) {
2070    return This->lpVtbl->get_Polarity(This,pPolarity);
2071}
2072static inline HRESULT IBDA_FrequencyFilter_put_Range(IBDA_FrequencyFilter* This,ULONG ulRange) {
2073    return This->lpVtbl->put_Range(This,ulRange);
2074}
2075static inline HRESULT IBDA_FrequencyFilter_get_Range(IBDA_FrequencyFilter* This,ULONG *pulRange) {
2076    return This->lpVtbl->get_Range(This,pulRange);
2077}
2078static inline HRESULT IBDA_FrequencyFilter_put_Bandwidth(IBDA_FrequencyFilter* This,ULONG ulBandwidth) {
2079    return This->lpVtbl->put_Bandwidth(This,ulBandwidth);
2080}
2081static inline HRESULT IBDA_FrequencyFilter_get_Bandwidth(IBDA_FrequencyFilter* This,ULONG *pulBandwidth) {
2082    return This->lpVtbl->get_Bandwidth(This,pulBandwidth);
2083}
2084static inline HRESULT IBDA_FrequencyFilter_put_FrequencyMultiplier(IBDA_FrequencyFilter* This,ULONG ulMultiplier) {
2085    return This->lpVtbl->put_FrequencyMultiplier(This,ulMultiplier);
2086}
2087static inline HRESULT IBDA_FrequencyFilter_get_FrequencyMultiplier(IBDA_FrequencyFilter* This,ULONG *pulMultiplier) {
2088    return This->lpVtbl->get_FrequencyMultiplier(This,pulMultiplier);
2089}
2090#endif
2091#endif
2092
2093#endif
2094
2095
2096#endif  /* __IBDA_FrequencyFilter_INTERFACE_DEFINED__ */
2097
2098/*****************************************************************************
2099 * IBDA_LNBInfo interface
2100 */
2101#ifndef __IBDA_LNBInfo_INTERFACE_DEFINED__
2102#define __IBDA_LNBInfo_INTERFACE_DEFINED__
2103
2104DEFINE_GUID(IID_IBDA_LNBInfo, 0x992cf102, 0x49f9, 0x4719, 0xa6,0x64, 0xc4,0xf2,0x3e,0x24,0x08,0xf4);
2105#if defined(__cplusplus) && !defined(CINTERFACE)
2106MIDL_INTERFACE("992cf102-49f9-4719-a664-c4f23e2408f4")
2107IBDA_LNBInfo : public IUnknown
2108{
2109    virtual HRESULT STDMETHODCALLTYPE put_LocalOscilatorFrequencyLowBand(
2110        ULONG ulLOFLow) = 0;
2111
2112    virtual HRESULT STDMETHODCALLTYPE get_LocalOscilatorFrequencyLowBand(
2113        ULONG *pulLOFLow) = 0;
2114
2115    virtual HRESULT STDMETHODCALLTYPE put_LocalOscilatorFrequencyHighBand(
2116        ULONG ulLOFHigh) = 0;
2117
2118    virtual HRESULT STDMETHODCALLTYPE get_LocalOscilatorFrequencyHighBand(
2119        ULONG *pulLOFHigh) = 0;
2120
2121    virtual HRESULT STDMETHODCALLTYPE put_HighLowSwitchFrequency(
2122        ULONG ulSwitchFrequency) = 0;
2123
2124    virtual HRESULT STDMETHODCALLTYPE get_HighLowSwitchFrequency(
2125        ULONG *pulSwitchFrequency) = 0;
2126
2127};
2128#ifdef __CRT_UUID_DECL
2129__CRT_UUID_DECL(IBDA_LNBInfo, 0x992cf102, 0x49f9, 0x4719, 0xa6,0x64, 0xc4,0xf2,0x3e,0x24,0x08,0xf4)
2130#endif
2131#else
2132typedef struct IBDA_LNBInfoVtbl {
2133    BEGIN_INTERFACE
2134
2135    /*** IUnknown methods ***/
2136    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2137        IBDA_LNBInfo *This,
2138        REFIID riid,
2139        void **ppvObject);
2140
2141    ULONG (STDMETHODCALLTYPE *AddRef)(
2142        IBDA_LNBInfo *This);
2143
2144    ULONG (STDMETHODCALLTYPE *Release)(
2145        IBDA_LNBInfo *This);
2146
2147    /*** IBDA_LNBInfo methods ***/
2148    HRESULT (STDMETHODCALLTYPE *put_LocalOscilatorFrequencyLowBand)(
2149        IBDA_LNBInfo *This,
2150        ULONG ulLOFLow);
2151
2152    HRESULT (STDMETHODCALLTYPE *get_LocalOscilatorFrequencyLowBand)(
2153        IBDA_LNBInfo *This,
2154        ULONG *pulLOFLow);
2155
2156    HRESULT (STDMETHODCALLTYPE *put_LocalOscilatorFrequencyHighBand)(
2157        IBDA_LNBInfo *This,
2158        ULONG ulLOFHigh);
2159
2160    HRESULT (STDMETHODCALLTYPE *get_LocalOscilatorFrequencyHighBand)(
2161        IBDA_LNBInfo *This,
2162        ULONG *pulLOFHigh);
2163
2164    HRESULT (STDMETHODCALLTYPE *put_HighLowSwitchFrequency)(
2165        IBDA_LNBInfo *This,
2166        ULONG ulSwitchFrequency);
2167
2168    HRESULT (STDMETHODCALLTYPE *get_HighLowSwitchFrequency)(
2169        IBDA_LNBInfo *This,
2170        ULONG *pulSwitchFrequency);
2171
2172    END_INTERFACE
2173} IBDA_LNBInfoVtbl;
2174
2175interface IBDA_LNBInfo {
2176    CONST_VTBL IBDA_LNBInfoVtbl* lpVtbl;
2177};
2178
2179#ifdef COBJMACROS
2180#ifndef WIDL_C_INLINE_WRAPPERS
2181/*** IUnknown methods ***/
2182#define IBDA_LNBInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2183#define IBDA_LNBInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
2184#define IBDA_LNBInfo_Release(This) (This)->lpVtbl->Release(This)
2185/*** IBDA_LNBInfo methods ***/
2186#define IBDA_LNBInfo_put_LocalOscilatorFrequencyLowBand(This,ulLOFLow) (This)->lpVtbl->put_LocalOscilatorFrequencyLowBand(This,ulLOFLow)
2187#define IBDA_LNBInfo_get_LocalOscilatorFrequencyLowBand(This,pulLOFLow) (This)->lpVtbl->get_LocalOscilatorFrequencyLowBand(This,pulLOFLow)
2188#define IBDA_LNBInfo_put_LocalOscilatorFrequencyHighBand(This,ulLOFHigh) (This)->lpVtbl->put_LocalOscilatorFrequencyHighBand(This,ulLOFHigh)
2189#define IBDA_LNBInfo_get_LocalOscilatorFrequencyHighBand(This,pulLOFHigh) (This)->lpVtbl->get_LocalOscilatorFrequencyHighBand(This,pulLOFHigh)
2190#define IBDA_LNBInfo_put_HighLowSwitchFrequency(This,ulSwitchFrequency) (This)->lpVtbl->put_HighLowSwitchFrequency(This,ulSwitchFrequency)
2191#define IBDA_LNBInfo_get_HighLowSwitchFrequency(This,pulSwitchFrequency) (This)->lpVtbl->get_HighLowSwitchFrequency(This,pulSwitchFrequency)
2192#else
2193/*** IUnknown methods ***/
2194static inline HRESULT IBDA_LNBInfo_QueryInterface(IBDA_LNBInfo* This,REFIID riid,void **ppvObject) {
2195    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2196}
2197static inline ULONG IBDA_LNBInfo_AddRef(IBDA_LNBInfo* This) {
2198    return This->lpVtbl->AddRef(This);
2199}
2200static inline ULONG IBDA_LNBInfo_Release(IBDA_LNBInfo* This) {
2201    return This->lpVtbl->Release(This);
2202}
2203/*** IBDA_LNBInfo methods ***/
2204static inline HRESULT IBDA_LNBInfo_put_LocalOscilatorFrequencyLowBand(IBDA_LNBInfo* This,ULONG ulLOFLow) {
2205    return This->lpVtbl->put_LocalOscilatorFrequencyLowBand(This,ulLOFLow);
2206}
2207static inline HRESULT IBDA_LNBInfo_get_LocalOscilatorFrequencyLowBand(IBDA_LNBInfo* This,ULONG *pulLOFLow) {
2208    return This->lpVtbl->get_LocalOscilatorFrequencyLowBand(This,pulLOFLow);
2209}
2210static inline HRESULT IBDA_LNBInfo_put_LocalOscilatorFrequencyHighBand(IBDA_LNBInfo* This,ULONG ulLOFHigh) {
2211    return This->lpVtbl->put_LocalOscilatorFrequencyHighBand(This,ulLOFHigh);
2212}
2213static inline HRESULT IBDA_LNBInfo_get_LocalOscilatorFrequencyHighBand(IBDA_LNBInfo* This,ULONG *pulLOFHigh) {
2214    return This->lpVtbl->get_LocalOscilatorFrequencyHighBand(This,pulLOFHigh);
2215}
2216static inline HRESULT IBDA_LNBInfo_put_HighLowSwitchFrequency(IBDA_LNBInfo* This,ULONG ulSwitchFrequency) {
2217    return This->lpVtbl->put_HighLowSwitchFrequency(This,ulSwitchFrequency);
2218}
2219static inline HRESULT IBDA_LNBInfo_get_HighLowSwitchFrequency(IBDA_LNBInfo* This,ULONG *pulSwitchFrequency) {
2220    return This->lpVtbl->get_HighLowSwitchFrequency(This,pulSwitchFrequency);
2221}
2222#endif
2223#endif
2224
2225#endif
2226
2227
2228#endif  /* __IBDA_LNBInfo_INTERFACE_DEFINED__ */
2229
2230/*****************************************************************************
2231 * IBDA_DiseqCommand interface
2232 */
2233#ifndef __IBDA_DiseqCommand_INTERFACE_DEFINED__
2234#define __IBDA_DiseqCommand_INTERFACE_DEFINED__
2235
2236DEFINE_GUID(IID_IBDA_DiseqCommand, 0xf84e2ab0, 0x3c6b, 0x45e3, 0xa0,0xfc, 0x86,0x69,0xd4,0xb8,0x1f,0x11);
2237#if defined(__cplusplus) && !defined(CINTERFACE)
2238MIDL_INTERFACE("f84e2ab0-3c6b-45e3-a0fc-8669d4b81f11")
2239IBDA_DiseqCommand : public IUnknown
2240{
2241    virtual HRESULT STDMETHODCALLTYPE put_EnableDiseqCommands(
2242        BOOLEAN bEnable) = 0;
2243
2244    virtual HRESULT STDMETHODCALLTYPE put_DiseqLNBSource(
2245        ULONG ulLNBSource) = 0;
2246
2247    virtual HRESULT STDMETHODCALLTYPE put_DiseqUseToneBurst(
2248        BOOLEAN bUseToneBurst) = 0;
2249
2250    virtual HRESULT STDMETHODCALLTYPE put_DiseqRepeats(
2251        ULONG ulRepeats) = 0;
2252
2253    virtual HRESULT STDMETHODCALLTYPE put_DiseqSendCommand(
2254        ULONG ulRequestId,
2255        ULONG ulcbCommandLen,
2256        BYTE *pbCommand) = 0;
2257
2258    virtual HRESULT STDMETHODCALLTYPE get_DiseqResponse(
2259        ULONG ulRequestId,
2260        ULONG *pulcbResponseLen,
2261        BYTE pbResponse[]) = 0;
2262
2263};
2264#ifdef __CRT_UUID_DECL
2265__CRT_UUID_DECL(IBDA_DiseqCommand, 0xf84e2ab0, 0x3c6b, 0x45e3, 0xa0,0xfc, 0x86,0x69,0xd4,0xb8,0x1f,0x11)
2266#endif
2267#else
2268typedef struct IBDA_DiseqCommandVtbl {
2269    BEGIN_INTERFACE
2270
2271    /*** IUnknown methods ***/
2272    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2273        IBDA_DiseqCommand *This,
2274        REFIID riid,
2275        void **ppvObject);
2276
2277    ULONG (STDMETHODCALLTYPE *AddRef)(
2278        IBDA_DiseqCommand *This);
2279
2280    ULONG (STDMETHODCALLTYPE *Release)(
2281        IBDA_DiseqCommand *This);
2282
2283    /*** IBDA_DiseqCommand methods ***/
2284    HRESULT (STDMETHODCALLTYPE *put_EnableDiseqCommands)(
2285        IBDA_DiseqCommand *This,
2286        BOOLEAN bEnable);
2287
2288    HRESULT (STDMETHODCALLTYPE *put_DiseqLNBSource)(
2289        IBDA_DiseqCommand *This,
2290        ULONG ulLNBSource);
2291
2292    HRESULT (STDMETHODCALLTYPE *put_DiseqUseToneBurst)(
2293        IBDA_DiseqCommand *This,
2294        BOOLEAN bUseToneBurst);
2295
2296    HRESULT (STDMETHODCALLTYPE *put_DiseqRepeats)(
2297        IBDA_DiseqCommand *This,
2298        ULONG ulRepeats);
2299
2300    HRESULT (STDMETHODCALLTYPE *put_DiseqSendCommand)(
2301        IBDA_DiseqCommand *This,
2302        ULONG ulRequestId,
2303        ULONG ulcbCommandLen,
2304        BYTE *pbCommand);
2305
2306    HRESULT (STDMETHODCALLTYPE *get_DiseqResponse)(
2307        IBDA_DiseqCommand *This,
2308        ULONG ulRequestId,
2309        ULONG *pulcbResponseLen,
2310        BYTE pbResponse[]);
2311
2312    END_INTERFACE
2313} IBDA_DiseqCommandVtbl;
2314
2315interface IBDA_DiseqCommand {
2316    CONST_VTBL IBDA_DiseqCommandVtbl* lpVtbl;
2317};
2318
2319#ifdef COBJMACROS
2320#ifndef WIDL_C_INLINE_WRAPPERS
2321/*** IUnknown methods ***/
2322#define IBDA_DiseqCommand_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2323#define IBDA_DiseqCommand_AddRef(This) (This)->lpVtbl->AddRef(This)
2324#define IBDA_DiseqCommand_Release(This) (This)->lpVtbl->Release(This)
2325/*** IBDA_DiseqCommand methods ***/
2326#define IBDA_DiseqCommand_put_EnableDiseqCommands(This,bEnable) (This)->lpVtbl->put_EnableDiseqCommands(This,bEnable)
2327#define IBDA_DiseqCommand_put_DiseqLNBSource(This,ulLNBSource) (This)->lpVtbl->put_DiseqLNBSource(This,ulLNBSource)
2328#define IBDA_DiseqCommand_put_DiseqUseToneBurst(This,bUseToneBurst) (This)->lpVtbl->put_DiseqUseToneBurst(This,bUseToneBurst)
2329#define IBDA_DiseqCommand_put_DiseqRepeats(This,ulRepeats) (This)->lpVtbl->put_DiseqRepeats(This,ulRepeats)
2330#define IBDA_DiseqCommand_put_DiseqSendCommand(This,ulRequestId,ulcbCommandLen,pbCommand) (This)->lpVtbl->put_DiseqSendCommand(This,ulRequestId,ulcbCommandLen,pbCommand)
2331#define IBDA_DiseqCommand_get_DiseqResponse(This,ulRequestId,pulcbResponseLen,pbResponse) (This)->lpVtbl->get_DiseqResponse(This,ulRequestId,pulcbResponseLen,pbResponse)
2332#else
2333/*** IUnknown methods ***/
2334static inline HRESULT IBDA_DiseqCommand_QueryInterface(IBDA_DiseqCommand* This,REFIID riid,void **ppvObject) {
2335    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2336}
2337static inline ULONG IBDA_DiseqCommand_AddRef(IBDA_DiseqCommand* This) {
2338    return This->lpVtbl->AddRef(This);
2339}
2340static inline ULONG IBDA_DiseqCommand_Release(IBDA_DiseqCommand* This) {
2341    return This->lpVtbl->Release(This);
2342}
2343/*** IBDA_DiseqCommand methods ***/
2344static inline HRESULT IBDA_DiseqCommand_put_EnableDiseqCommands(IBDA_DiseqCommand* This,BOOLEAN bEnable) {
2345    return This->lpVtbl->put_EnableDiseqCommands(This,bEnable);
2346}
2347static inline HRESULT IBDA_DiseqCommand_put_DiseqLNBSource(IBDA_DiseqCommand* This,ULONG ulLNBSource) {
2348    return This->lpVtbl->put_DiseqLNBSource(This,ulLNBSource);
2349}
2350static inline HRESULT IBDA_DiseqCommand_put_DiseqUseToneBurst(IBDA_DiseqCommand* This,BOOLEAN bUseToneBurst) {
2351    return This->lpVtbl->put_DiseqUseToneBurst(This,bUseToneBurst);
2352}
2353static inline HRESULT IBDA_DiseqCommand_put_DiseqRepeats(IBDA_DiseqCommand* This,ULONG ulRepeats) {
2354    return This->lpVtbl->put_DiseqRepeats(This,ulRepeats);
2355}
2356static inline HRESULT IBDA_DiseqCommand_put_DiseqSendCommand(IBDA_DiseqCommand* This,ULONG ulRequestId,ULONG ulcbCommandLen,BYTE *pbCommand) {
2357    return This->lpVtbl->put_DiseqSendCommand(This,ulRequestId,ulcbCommandLen,pbCommand);
2358}
2359static inline HRESULT IBDA_DiseqCommand_get_DiseqResponse(IBDA_DiseqCommand* This,ULONG ulRequestId,ULONG *pulcbResponseLen,BYTE pbResponse[]) {
2360    return This->lpVtbl->get_DiseqResponse(This,ulRequestId,pulcbResponseLen,pbResponse);
2361}
2362#endif
2363#endif
2364
2365#endif
2366
2367
2368#endif  /* __IBDA_DiseqCommand_INTERFACE_DEFINED__ */
2369
2370/*****************************************************************************
2371 * IBDA_AutoDemodulate interface
2372 */
2373#ifndef __IBDA_AutoDemodulate_INTERFACE_DEFINED__
2374#define __IBDA_AutoDemodulate_INTERFACE_DEFINED__
2375
2376DEFINE_GUID(IID_IBDA_AutoDemodulate, 0xddf15b12, 0xbd25, 0x11d2, 0x9c,0xa0, 0x00,0xc0,0x4f,0x79,0x71,0xe0);
2377#if defined(__cplusplus) && !defined(CINTERFACE)
2378MIDL_INTERFACE("ddf15b12-bd25-11d2-9ca0-00c04f7971e0")
2379IBDA_AutoDemodulate : public IUnknown
2380{
2381    virtual HRESULT STDMETHODCALLTYPE put_AutoDemodulate(
2382        ) = 0;
2383
2384};
2385#ifdef __CRT_UUID_DECL
2386__CRT_UUID_DECL(IBDA_AutoDemodulate, 0xddf15b12, 0xbd25, 0x11d2, 0x9c,0xa0, 0x00,0xc0,0x4f,0x79,0x71,0xe0)
2387#endif
2388#else
2389typedef struct IBDA_AutoDemodulateVtbl {
2390    BEGIN_INTERFACE
2391
2392    /*** IUnknown methods ***/
2393    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2394        IBDA_AutoDemodulate *This,
2395        REFIID riid,
2396        void **ppvObject);
2397
2398    ULONG (STDMETHODCALLTYPE *AddRef)(
2399        IBDA_AutoDemodulate *This);
2400
2401    ULONG (STDMETHODCALLTYPE *Release)(
2402        IBDA_AutoDemodulate *This);
2403
2404    /*** IBDA_AutoDemodulate methods ***/
2405    HRESULT (STDMETHODCALLTYPE *put_AutoDemodulate)(
2406        IBDA_AutoDemodulate *This);
2407
2408    END_INTERFACE
2409} IBDA_AutoDemodulateVtbl;
2410
2411interface IBDA_AutoDemodulate {
2412    CONST_VTBL IBDA_AutoDemodulateVtbl* lpVtbl;
2413};
2414
2415#ifdef COBJMACROS
2416#ifndef WIDL_C_INLINE_WRAPPERS
2417/*** IUnknown methods ***/
2418#define IBDA_AutoDemodulate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2419#define IBDA_AutoDemodulate_AddRef(This) (This)->lpVtbl->AddRef(This)
2420#define IBDA_AutoDemodulate_Release(This) (This)->lpVtbl->Release(This)
2421/*** IBDA_AutoDemodulate methods ***/
2422#define IBDA_AutoDemodulate_put_AutoDemodulate(This) (This)->lpVtbl->put_AutoDemodulate(This)
2423#else
2424/*** IUnknown methods ***/
2425static inline HRESULT IBDA_AutoDemodulate_QueryInterface(IBDA_AutoDemodulate* This,REFIID riid,void **ppvObject) {
2426    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2427}
2428static inline ULONG IBDA_AutoDemodulate_AddRef(IBDA_AutoDemodulate* This) {
2429    return This->lpVtbl->AddRef(This);
2430}
2431static inline ULONG IBDA_AutoDemodulate_Release(IBDA_AutoDemodulate* This) {
2432    return This->lpVtbl->Release(This);
2433}
2434/*** IBDA_AutoDemodulate methods ***/
2435static inline HRESULT IBDA_AutoDemodulate_put_AutoDemodulate(IBDA_AutoDemodulate* This) {
2436    return This->lpVtbl->put_AutoDemodulate(This);
2437}
2438#endif
2439#endif
2440
2441#endif
2442
2443
2444#endif  /* __IBDA_AutoDemodulate_INTERFACE_DEFINED__ */
2445
2446/*****************************************************************************
2447 * IBDA_AutoDemodulateEx interface
2448 */
2449#ifndef __IBDA_AutoDemodulateEx_INTERFACE_DEFINED__
2450#define __IBDA_AutoDemodulateEx_INTERFACE_DEFINED__
2451
2452DEFINE_GUID(IID_IBDA_AutoDemodulateEx, 0x34518d13, 0x1182, 0x48e6, 0xb2,0x8f, 0xb2,0x49,0x87,0x78,0x73,0x26);
2453#if defined(__cplusplus) && !defined(CINTERFACE)
2454MIDL_INTERFACE("34518d13-1182-48e6-b28f-b24987787326")
2455IBDA_AutoDemodulateEx : public IBDA_AutoDemodulate
2456{
2457    virtual HRESULT STDMETHODCALLTYPE get_SupportedDeviceNodeTypes(
2458        ULONG ulcDeviceNodeTypesMax,
2459        ULONG *pulcDeviceNodeTypes,
2460        GUID *pguidDeviceNodeTypes) = 0;
2461
2462    virtual HRESULT STDMETHODCALLTYPE get_SupportedVideoFormats(
2463        ULONG *pulAMTunerModeType,
2464        ULONG *pulAnalogVideoStandard) = 0;
2465
2466    virtual HRESULT STDMETHODCALLTYPE get_AuxInputCount(
2467        ULONG *pulCompositeCount,
2468        ULONG *pulSvideoCount) = 0;
2469
2470};
2471#ifdef __CRT_UUID_DECL
2472__CRT_UUID_DECL(IBDA_AutoDemodulateEx, 0x34518d13, 0x1182, 0x48e6, 0xb2,0x8f, 0xb2,0x49,0x87,0x78,0x73,0x26)
2473#endif
2474#else
2475typedef struct IBDA_AutoDemodulateExVtbl {
2476    BEGIN_INTERFACE
2477
2478    /*** IUnknown methods ***/
2479    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2480        IBDA_AutoDemodulateEx *This,
2481        REFIID riid,
2482        void **ppvObject);
2483
2484    ULONG (STDMETHODCALLTYPE *AddRef)(
2485        IBDA_AutoDemodulateEx *This);
2486
2487    ULONG (STDMETHODCALLTYPE *Release)(
2488        IBDA_AutoDemodulateEx *This);
2489
2490    /*** IBDA_AutoDemodulate methods ***/
2491    HRESULT (STDMETHODCALLTYPE *put_AutoDemodulate)(
2492        IBDA_AutoDemodulateEx *This);
2493
2494    /*** IBDA_AutoDemodulateEx methods ***/
2495    HRESULT (STDMETHODCALLTYPE *get_SupportedDeviceNodeTypes)(
2496        IBDA_AutoDemodulateEx *This,
2497        ULONG ulcDeviceNodeTypesMax,
2498        ULONG *pulcDeviceNodeTypes,
2499        GUID *pguidDeviceNodeTypes);
2500
2501    HRESULT (STDMETHODCALLTYPE *get_SupportedVideoFormats)(
2502        IBDA_AutoDemodulateEx *This,
2503        ULONG *pulAMTunerModeType,
2504        ULONG *pulAnalogVideoStandard);
2505
2506    HRESULT (STDMETHODCALLTYPE *get_AuxInputCount)(
2507        IBDA_AutoDemodulateEx *This,
2508        ULONG *pulCompositeCount,
2509        ULONG *pulSvideoCount);
2510
2511    END_INTERFACE
2512} IBDA_AutoDemodulateExVtbl;
2513
2514interface IBDA_AutoDemodulateEx {
2515    CONST_VTBL IBDA_AutoDemodulateExVtbl* lpVtbl;
2516};
2517
2518#ifdef COBJMACROS
2519#ifndef WIDL_C_INLINE_WRAPPERS
2520/*** IUnknown methods ***/
2521#define IBDA_AutoDemodulateEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2522#define IBDA_AutoDemodulateEx_AddRef(This) (This)->lpVtbl->AddRef(This)
2523#define IBDA_AutoDemodulateEx_Release(This) (This)->lpVtbl->Release(This)
2524/*** IBDA_AutoDemodulate methods ***/
2525#define IBDA_AutoDemodulateEx_put_AutoDemodulate(This) (This)->lpVtbl->put_AutoDemodulate(This)
2526/*** IBDA_AutoDemodulateEx methods ***/
2527#define IBDA_AutoDemodulateEx_get_SupportedDeviceNodeTypes(This,ulcDeviceNodeTypesMax,pulcDeviceNodeTypes,pguidDeviceNodeTypes) (This)->lpVtbl->get_SupportedDeviceNodeTypes(This,ulcDeviceNodeTypesMax,pulcDeviceNodeTypes,pguidDeviceNodeTypes)
2528#define IBDA_AutoDemodulateEx_get_SupportedVideoFormats(This,pulAMTunerModeType,pulAnalogVideoStandard) (This)->lpVtbl->get_SupportedVideoFormats(This,pulAMTunerModeType,pulAnalogVideoStandard)
2529#define IBDA_AutoDemodulateEx_get_AuxInputCount(This,pulCompositeCount,pulSvideoCount) (This)->lpVtbl->get_AuxInputCount(This,pulCompositeCount,pulSvideoCount)
2530#else
2531/*** IUnknown methods ***/
2532static inline HRESULT IBDA_AutoDemodulateEx_QueryInterface(IBDA_AutoDemodulateEx* This,REFIID riid,void **ppvObject) {
2533    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2534}
2535static inline ULONG IBDA_AutoDemodulateEx_AddRef(IBDA_AutoDemodulateEx* This) {
2536    return This->lpVtbl->AddRef(This);
2537}
2538static inline ULONG IBDA_AutoDemodulateEx_Release(IBDA_AutoDemodulateEx* This) {
2539    return This->lpVtbl->Release(This);
2540}
2541/*** IBDA_AutoDemodulate methods ***/
2542static inline HRESULT IBDA_AutoDemodulateEx_put_AutoDemodulate(IBDA_AutoDemodulateEx* This) {
2543    return This->lpVtbl->put_AutoDemodulate(This);
2544}
2545/*** IBDA_AutoDemodulateEx methods ***/
2546static inline HRESULT IBDA_AutoDemodulateEx_get_SupportedDeviceNodeTypes(IBDA_AutoDemodulateEx* This,ULONG ulcDeviceNodeTypesMax,ULONG *pulcDeviceNodeTypes,GUID *pguidDeviceNodeTypes) {
2547    return This->lpVtbl->get_SupportedDeviceNodeTypes(This,ulcDeviceNodeTypesMax,pulcDeviceNodeTypes,pguidDeviceNodeTypes);
2548}
2549static inline HRESULT IBDA_AutoDemodulateEx_get_SupportedVideoFormats(IBDA_AutoDemodulateEx* This,ULONG *pulAMTunerModeType,ULONG *pulAnalogVideoStandard) {
2550    return This->lpVtbl->get_SupportedVideoFormats(This,pulAMTunerModeType,pulAnalogVideoStandard);
2551}
2552static inline HRESULT IBDA_AutoDemodulateEx_get_AuxInputCount(IBDA_AutoDemodulateEx* This,ULONG *pulCompositeCount,ULONG *pulSvideoCount) {
2553    return This->lpVtbl->get_AuxInputCount(This,pulCompositeCount,pulSvideoCount);
2554}
2555#endif
2556#endif
2557
2558#endif
2559
2560
2561#endif  /* __IBDA_AutoDemodulateEx_INTERFACE_DEFINED__ */
2562
2563/*****************************************************************************
2564 * IBDA_DigitalDemodulator interface
2565 */
2566#ifndef __IBDA_DigitalDemodulator_INTERFACE_DEFINED__
2567#define __IBDA_DigitalDemodulator_INTERFACE_DEFINED__
2568
2569DEFINE_GUID(IID_IBDA_DigitalDemodulator, 0xef30f379, 0x985b, 0x4d10, 0xb6,0x40, 0xa7,0x9d,0x5e,0x04,0xe1,0xe0);
2570#if defined(__cplusplus) && !defined(CINTERFACE)
2571MIDL_INTERFACE("ef30f379-985b-4d10-b640-a79d5e04e1e0")
2572IBDA_DigitalDemodulator : public IUnknown
2573{
2574    virtual HRESULT STDMETHODCALLTYPE put_ModulationType(
2575        ModulationType *pModulationType) = 0;
2576
2577    virtual HRESULT STDMETHODCALLTYPE get_ModulationType(
2578        ModulationType *pModulationType) = 0;
2579
2580    virtual HRESULT STDMETHODCALLTYPE put_InnerFECMethod(
2581        FECMethod *pFECMethod) = 0;
2582
2583    virtual HRESULT STDMETHODCALLTYPE get_InnerFECMethod(
2584        FECMethod *pFECMethod) = 0;
2585
2586    virtual HRESULT STDMETHODCALLTYPE put_InnerFECRate(
2587        BinaryConvolutionCodeRate *pFECRate) = 0;
2588
2589    virtual HRESULT STDMETHODCALLTYPE get_InnerFECRate(
2590        BinaryConvolutionCodeRate *pFECRate) = 0;
2591
2592    virtual HRESULT STDMETHODCALLTYPE put_OuterFECMethod(
2593        FECMethod *pFECMethod) = 0;
2594
2595    virtual HRESULT STDMETHODCALLTYPE get_OuterFECMethod(
2596        FECMethod *pFECMethod) = 0;
2597
2598    virtual HRESULT STDMETHODCALLTYPE put_OuterFECRate(
2599        BinaryConvolutionCodeRate *pFECRate) = 0;
2600
2601    virtual HRESULT STDMETHODCALLTYPE get_OuterFECRate(
2602        BinaryConvolutionCodeRate *pFECRate) = 0;
2603
2604    virtual HRESULT STDMETHODCALLTYPE put_SymbolRate(
2605        ULONG *pSymbolRate) = 0;
2606
2607    virtual HRESULT STDMETHODCALLTYPE get_SymbolRate(
2608        ULONG *pSymbolRate) = 0;
2609
2610    virtual HRESULT STDMETHODCALLTYPE put_SpectralInversion(
2611        SpectralInversion *pSpectralInversion) = 0;
2612
2613    virtual HRESULT STDMETHODCALLTYPE get_SpectralInversion(
2614        SpectralInversion *pSpectralInversion) = 0;
2615
2616};
2617#ifdef __CRT_UUID_DECL
2618__CRT_UUID_DECL(IBDA_DigitalDemodulator, 0xef30f379, 0x985b, 0x4d10, 0xb6,0x40, 0xa7,0x9d,0x5e,0x04,0xe1,0xe0)
2619#endif
2620#else
2621typedef struct IBDA_DigitalDemodulatorVtbl {
2622    BEGIN_INTERFACE
2623
2624    /*** IUnknown methods ***/
2625    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2626        IBDA_DigitalDemodulator *This,
2627        REFIID riid,
2628        void **ppvObject);
2629
2630    ULONG (STDMETHODCALLTYPE *AddRef)(
2631        IBDA_DigitalDemodulator *This);
2632
2633    ULONG (STDMETHODCALLTYPE *Release)(
2634        IBDA_DigitalDemodulator *This);
2635
2636    /*** IBDA_DigitalDemodulator methods ***/
2637    HRESULT (STDMETHODCALLTYPE *put_ModulationType)(
2638        IBDA_DigitalDemodulator *This,
2639        ModulationType *pModulationType);
2640
2641    HRESULT (STDMETHODCALLTYPE *get_ModulationType)(
2642        IBDA_DigitalDemodulator *This,
2643        ModulationType *pModulationType);
2644
2645    HRESULT (STDMETHODCALLTYPE *put_InnerFECMethod)(
2646        IBDA_DigitalDemodulator *This,
2647        FECMethod *pFECMethod);
2648
2649    HRESULT (STDMETHODCALLTYPE *get_InnerFECMethod)(
2650        IBDA_DigitalDemodulator *This,
2651        FECMethod *pFECMethod);
2652
2653    HRESULT (STDMETHODCALLTYPE *put_InnerFECRate)(
2654        IBDA_DigitalDemodulator *This,
2655        BinaryConvolutionCodeRate *pFECRate);
2656
2657    HRESULT (STDMETHODCALLTYPE *get_InnerFECRate)(
2658        IBDA_DigitalDemodulator *This,
2659        BinaryConvolutionCodeRate *pFECRate);
2660
2661    HRESULT (STDMETHODCALLTYPE *put_OuterFECMethod)(
2662        IBDA_DigitalDemodulator *This,
2663        FECMethod *pFECMethod);
2664
2665    HRESULT (STDMETHODCALLTYPE *get_OuterFECMethod)(
2666        IBDA_DigitalDemodulator *This,
2667        FECMethod *pFECMethod);
2668
2669    HRESULT (STDMETHODCALLTYPE *put_OuterFECRate)(
2670        IBDA_DigitalDemodulator *This,
2671        BinaryConvolutionCodeRate *pFECRate);
2672
2673    HRESULT (STDMETHODCALLTYPE *get_OuterFECRate)(
2674        IBDA_DigitalDemodulator *This,
2675        BinaryConvolutionCodeRate *pFECRate);
2676
2677    HRESULT (STDMETHODCALLTYPE *put_SymbolRate)(
2678        IBDA_DigitalDemodulator *This,
2679        ULONG *pSymbolRate);
2680
2681    HRESULT (STDMETHODCALLTYPE *get_SymbolRate)(
2682        IBDA_DigitalDemodulator *This,
2683        ULONG *pSymbolRate);
2684
2685    HRESULT (STDMETHODCALLTYPE *put_SpectralInversion)(
2686        IBDA_DigitalDemodulator *This,
2687        SpectralInversion *pSpectralInversion);
2688
2689    HRESULT (STDMETHODCALLTYPE *get_SpectralInversion)(
2690        IBDA_DigitalDemodulator *This,
2691        SpectralInversion *pSpectralInversion);
2692
2693    END_INTERFACE
2694} IBDA_DigitalDemodulatorVtbl;
2695
2696interface IBDA_DigitalDemodulator {
2697    CONST_VTBL IBDA_DigitalDemodulatorVtbl* lpVtbl;
2698};
2699
2700#ifdef COBJMACROS
2701#ifndef WIDL_C_INLINE_WRAPPERS
2702/*** IUnknown methods ***/
2703#define IBDA_DigitalDemodulator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2704#define IBDA_DigitalDemodulator_AddRef(This) (This)->lpVtbl->AddRef(This)
2705#define IBDA_DigitalDemodulator_Release(This) (This)->lpVtbl->Release(This)
2706/*** IBDA_DigitalDemodulator methods ***/
2707#define IBDA_DigitalDemodulator_put_ModulationType(This,pModulationType) (This)->lpVtbl->put_ModulationType(This,pModulationType)
2708#define IBDA_DigitalDemodulator_get_ModulationType(This,pModulationType) (This)->lpVtbl->get_ModulationType(This,pModulationType)
2709#define IBDA_DigitalDemodulator_put_InnerFECMethod(This,pFECMethod) (This)->lpVtbl->put_InnerFECMethod(This,pFECMethod)
2710#define IBDA_DigitalDemodulator_get_InnerFECMethod(This,pFECMethod) (This)->lpVtbl->get_InnerFECMethod(This,pFECMethod)
2711#define IBDA_DigitalDemodulator_put_InnerFECRate(This,pFECRate) (This)->lpVtbl->put_InnerFECRate(This,pFECRate)
2712#define IBDA_DigitalDemodulator_get_InnerFECRate(This,pFECRate) (This)->lpVtbl->get_InnerFECRate(This,pFECRate)
2713#define IBDA_DigitalDemodulator_put_OuterFECMethod(This,pFECMethod) (This)->lpVtbl->put_OuterFECMethod(This,pFECMethod)
2714#define IBDA_DigitalDemodulator_get_OuterFECMethod(This,pFECMethod) (This)->lpVtbl->get_OuterFECMethod(This,pFECMethod)
2715#define IBDA_DigitalDemodulator_put_OuterFECRate(This,pFECRate) (This)->lpVtbl->put_OuterFECRate(This,pFECRate)
2716#define IBDA_DigitalDemodulator_get_OuterFECRate(This,pFECRate) (This)->lpVtbl->get_OuterFECRate(This,pFECRate)
2717#define IBDA_DigitalDemodulator_put_SymbolRate(This,pSymbolRate) (This)->lpVtbl->put_SymbolRate(This,pSymbolRate)
2718#define IBDA_DigitalDemodulator_get_SymbolRate(This,pSymbolRate) (This)->lpVtbl->get_SymbolRate(This,pSymbolRate)
2719#define IBDA_DigitalDemodulator_put_SpectralInversion(This,pSpectralInversion) (This)->lpVtbl->put_SpectralInversion(This,pSpectralInversion)
2720#define IBDA_DigitalDemodulator_get_SpectralInversion(This,pSpectralInversion) (This)->lpVtbl->get_SpectralInversion(This,pSpectralInversion)
2721#else
2722/*** IUnknown methods ***/
2723static inline HRESULT IBDA_DigitalDemodulator_QueryInterface(IBDA_DigitalDemodulator* This,REFIID riid,void **ppvObject) {
2724    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2725}
2726static inline ULONG IBDA_DigitalDemodulator_AddRef(IBDA_DigitalDemodulator* This) {
2727    return This->lpVtbl->AddRef(This);
2728}
2729static inline ULONG IBDA_DigitalDemodulator_Release(IBDA_DigitalDemodulator* This) {
2730    return This->lpVtbl->Release(This);
2731}
2732/*** IBDA_DigitalDemodulator methods ***/
2733static inline HRESULT IBDA_DigitalDemodulator_put_ModulationType(IBDA_DigitalDemodulator* This,ModulationType *pModulationType) {
2734    return This->lpVtbl->put_ModulationType(This,pModulationType);
2735}
2736static inline HRESULT IBDA_DigitalDemodulator_get_ModulationType(IBDA_DigitalDemodulator* This,ModulationType *pModulationType) {
2737    return This->lpVtbl->get_ModulationType(This,pModulationType);
2738}
2739static inline HRESULT IBDA_DigitalDemodulator_put_InnerFECMethod(IBDA_DigitalDemodulator* This,FECMethod *pFECMethod) {
2740    return This->lpVtbl->put_InnerFECMethod(This,pFECMethod);
2741}
2742static inline HRESULT IBDA_DigitalDemodulator_get_InnerFECMethod(IBDA_DigitalDemodulator* This,FECMethod *pFECMethod) {
2743    return This->lpVtbl->get_InnerFECMethod(This,pFECMethod);
2744}
2745static inline HRESULT IBDA_DigitalDemodulator_put_InnerFECRate(IBDA_DigitalDemodulator* This,BinaryConvolutionCodeRate *pFECRate) {
2746    return This->lpVtbl->put_InnerFECRate(This,pFECRate);
2747}
2748static inline HRESULT IBDA_DigitalDemodulator_get_InnerFECRate(IBDA_DigitalDemodulator* This,BinaryConvolutionCodeRate *pFECRate) {
2749    return This->lpVtbl->get_InnerFECRate(This,pFECRate);
2750}
2751static inline HRESULT IBDA_DigitalDemodulator_put_OuterFECMethod(IBDA_DigitalDemodulator* This,FECMethod *pFECMethod) {
2752    return This->lpVtbl->put_OuterFECMethod(This,pFECMethod);
2753}
2754static inline HRESULT IBDA_DigitalDemodulator_get_OuterFECMethod(IBDA_DigitalDemodulator* This,FECMethod *pFECMethod) {
2755    return This->lpVtbl->get_OuterFECMethod(This,pFECMethod);
2756}
2757static inline HRESULT IBDA_DigitalDemodulator_put_OuterFECRate(IBDA_DigitalDemodulator* This,BinaryConvolutionCodeRate *pFECRate) {
2758    return This->lpVtbl->put_OuterFECRate(This,pFECRate);
2759}
2760static inline HRESULT IBDA_DigitalDemodulator_get_OuterFECRate(IBDA_DigitalDemodulator* This,BinaryConvolutionCodeRate *pFECRate) {
2761    return This->lpVtbl->get_OuterFECRate(This,pFECRate);
2762}
2763static inline HRESULT IBDA_DigitalDemodulator_put_SymbolRate(IBDA_DigitalDemodulator* This,ULONG *pSymbolRate) {
2764    return This->lpVtbl->put_SymbolRate(This,pSymbolRate);
2765}
2766static inline HRESULT IBDA_DigitalDemodulator_get_SymbolRate(IBDA_DigitalDemodulator* This,ULONG *pSymbolRate) {
2767    return This->lpVtbl->get_SymbolRate(This,pSymbolRate);
2768}
2769static inline HRESULT IBDA_DigitalDemodulator_put_SpectralInversion(IBDA_DigitalDemodulator* This,SpectralInversion *pSpectralInversion) {
2770    return This->lpVtbl->put_SpectralInversion(This,pSpectralInversion);
2771}
2772static inline HRESULT IBDA_DigitalDemodulator_get_SpectralInversion(IBDA_DigitalDemodulator* This,SpectralInversion *pSpectralInversion) {
2773    return This->lpVtbl->get_SpectralInversion(This,pSpectralInversion);
2774}
2775#endif
2776#endif
2777
2778#endif
2779
2780
2781#endif  /* __IBDA_DigitalDemodulator_INTERFACE_DEFINED__ */
2782
2783/*****************************************************************************
2784 * IBDA_DigitalDemodulator2 interface
2785 */
2786#ifndef __IBDA_DigitalDemodulator2_INTERFACE_DEFINED__
2787#define __IBDA_DigitalDemodulator2_INTERFACE_DEFINED__
2788
2789DEFINE_GUID(IID_IBDA_DigitalDemodulator2, 0x525ed3ee, 0x5cf3, 0x4e1e, 0x9a,0x06, 0x53,0x68,0xa8,0x4f,0x9a,0x6e);
2790#if defined(__cplusplus) && !defined(CINTERFACE)
2791MIDL_INTERFACE("525ed3ee-5cf3-4e1e-9a06-5368a84f9a6e")
2792IBDA_DigitalDemodulator2 : public IBDA_DigitalDemodulator
2793{
2794    virtual HRESULT STDMETHODCALLTYPE put_GuardInterval(
2795        GuardInterval *pGuardInterval) = 0;
2796
2797    virtual HRESULT STDMETHODCALLTYPE get_GuardInterval(
2798        GuardInterval *pGuardInterval) = 0;
2799
2800    virtual HRESULT STDMETHODCALLTYPE put_TransmissionMode(
2801        TransmissionMode *pTransmissionMode) = 0;
2802
2803    virtual HRESULT STDMETHODCALLTYPE get_TransmissionMode(
2804        TransmissionMode *pTransmissionMode) = 0;
2805
2806    virtual HRESULT STDMETHODCALLTYPE put_RollOff(
2807        RollOff *pRollOff) = 0;
2808
2809    virtual HRESULT STDMETHODCALLTYPE get_RollOff(
2810        RollOff *pRollOff) = 0;
2811
2812    virtual HRESULT STDMETHODCALLTYPE put_Pilot(
2813        Pilot *pPilot) = 0;
2814
2815    virtual HRESULT STDMETHODCALLTYPE get_Pilot(
2816        Pilot *pPilot) = 0;
2817
2818};
2819#ifdef __CRT_UUID_DECL
2820__CRT_UUID_DECL(IBDA_DigitalDemodulator2, 0x525ed3ee, 0x5cf3, 0x4e1e, 0x9a,0x06, 0x53,0x68,0xa8,0x4f,0x9a,0x6e)
2821#endif
2822#else
2823typedef struct IBDA_DigitalDemodulator2Vtbl {
2824    BEGIN_INTERFACE
2825
2826    /*** IUnknown methods ***/
2827    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2828        IBDA_DigitalDemodulator2 *This,
2829        REFIID riid,
2830        void **ppvObject);
2831
2832    ULONG (STDMETHODCALLTYPE *AddRef)(
2833        IBDA_DigitalDemodulator2 *This);
2834
2835    ULONG (STDMETHODCALLTYPE *Release)(
2836        IBDA_DigitalDemodulator2 *This);
2837
2838    /*** IBDA_DigitalDemodulator methods ***/
2839    HRESULT (STDMETHODCALLTYPE *put_ModulationType)(
2840        IBDA_DigitalDemodulator2 *This,
2841        ModulationType *pModulationType);
2842
2843    HRESULT (STDMETHODCALLTYPE *get_ModulationType)(
2844        IBDA_DigitalDemodulator2 *This,
2845        ModulationType *pModulationType);
2846
2847    HRESULT (STDMETHODCALLTYPE *put_InnerFECMethod)(
2848        IBDA_DigitalDemodulator2 *This,
2849        FECMethod *pFECMethod);
2850
2851    HRESULT (STDMETHODCALLTYPE *get_InnerFECMethod)(
2852        IBDA_DigitalDemodulator2 *This,
2853        FECMethod *pFECMethod);
2854
2855    HRESULT (STDMETHODCALLTYPE *put_InnerFECRate)(
2856        IBDA_DigitalDemodulator2 *This,
2857        BinaryConvolutionCodeRate *pFECRate);
2858
2859    HRESULT (STDMETHODCALLTYPE *get_InnerFECRate)(
2860        IBDA_DigitalDemodulator2 *This,
2861        BinaryConvolutionCodeRate *pFECRate);
2862
2863    HRESULT (STDMETHODCALLTYPE *put_OuterFECMethod)(
2864        IBDA_DigitalDemodulator2 *This,
2865        FECMethod *pFECMethod);
2866
2867    HRESULT (STDMETHODCALLTYPE *get_OuterFECMethod)(
2868        IBDA_DigitalDemodulator2 *This,
2869        FECMethod *pFECMethod);
2870
2871    HRESULT (STDMETHODCALLTYPE *put_OuterFECRate)(
2872        IBDA_DigitalDemodulator2 *This,
2873        BinaryConvolutionCodeRate *pFECRate);
2874
2875    HRESULT (STDMETHODCALLTYPE *get_OuterFECRate)(
2876        IBDA_DigitalDemodulator2 *This,
2877        BinaryConvolutionCodeRate *pFECRate);
2878
2879    HRESULT (STDMETHODCALLTYPE *put_SymbolRate)(
2880        IBDA_DigitalDemodulator2 *This,
2881        ULONG *pSymbolRate);
2882
2883    HRESULT (STDMETHODCALLTYPE *get_SymbolRate)(
2884        IBDA_DigitalDemodulator2 *This,
2885        ULONG *pSymbolRate);
2886
2887    HRESULT (STDMETHODCALLTYPE *put_SpectralInversion)(
2888        IBDA_DigitalDemodulator2 *This,
2889        SpectralInversion *pSpectralInversion);
2890
2891    HRESULT (STDMETHODCALLTYPE *get_SpectralInversion)(
2892        IBDA_DigitalDemodulator2 *This,
2893        SpectralInversion *pSpectralInversion);
2894
2895    /*** IBDA_DigitalDemodulator2 methods ***/
2896    HRESULT (STDMETHODCALLTYPE *put_GuardInterval)(
2897        IBDA_DigitalDemodulator2 *This,
2898        GuardInterval *pGuardInterval);
2899
2900    HRESULT (STDMETHODCALLTYPE *get_GuardInterval)(
2901        IBDA_DigitalDemodulator2 *This,
2902        GuardInterval *pGuardInterval);
2903
2904    HRESULT (STDMETHODCALLTYPE *put_TransmissionMode)(
2905        IBDA_DigitalDemodulator2 *This,
2906        TransmissionMode *pTransmissionMode);
2907
2908    HRESULT (STDMETHODCALLTYPE *get_TransmissionMode)(
2909        IBDA_DigitalDemodulator2 *This,
2910        TransmissionMode *pTransmissionMode);
2911
2912    HRESULT (STDMETHODCALLTYPE *put_RollOff)(
2913        IBDA_DigitalDemodulator2 *This,
2914        RollOff *pRollOff);
2915
2916    HRESULT (STDMETHODCALLTYPE *get_RollOff)(
2917        IBDA_DigitalDemodulator2 *This,
2918        RollOff *pRollOff);
2919
2920    HRESULT (STDMETHODCALLTYPE *put_Pilot)(
2921        IBDA_DigitalDemodulator2 *This,
2922        Pilot *pPilot);
2923
2924    HRESULT (STDMETHODCALLTYPE *get_Pilot)(
2925        IBDA_DigitalDemodulator2 *This,
2926        Pilot *pPilot);
2927
2928    END_INTERFACE
2929} IBDA_DigitalDemodulator2Vtbl;
2930
2931interface IBDA_DigitalDemodulator2 {
2932    CONST_VTBL IBDA_DigitalDemodulator2Vtbl* lpVtbl;
2933};
2934
2935#ifdef COBJMACROS
2936#ifndef WIDL_C_INLINE_WRAPPERS
2937/*** IUnknown methods ***/
2938#define IBDA_DigitalDemodulator2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2939#define IBDA_DigitalDemodulator2_AddRef(This) (This)->lpVtbl->AddRef(This)
2940#define IBDA_DigitalDemodulator2_Release(This) (This)->lpVtbl->Release(This)
2941/*** IBDA_DigitalDemodulator methods ***/
2942#define IBDA_DigitalDemodulator2_put_ModulationType(This,pModulationType) (This)->lpVtbl->put_ModulationType(This,pModulationType)
2943#define IBDA_DigitalDemodulator2_get_ModulationType(This,pModulationType) (This)->lpVtbl->get_ModulationType(This,pModulationType)
2944#define IBDA_DigitalDemodulator2_put_InnerFECMethod(This,pFECMethod) (This)->lpVtbl->put_InnerFECMethod(This,pFECMethod)
2945#define IBDA_DigitalDemodulator2_get_InnerFECMethod(This,pFECMethod) (This)->lpVtbl->get_InnerFECMethod(This,pFECMethod)
2946#define IBDA_DigitalDemodulator2_put_InnerFECRate(This,pFECRate) (This)->lpVtbl->put_InnerFECRate(This,pFECRate)
2947#define IBDA_DigitalDemodulator2_get_InnerFECRate(This,pFECRate) (This)->lpVtbl->get_InnerFECRate(This,pFECRate)
2948#define IBDA_DigitalDemodulator2_put_OuterFECMethod(This,pFECMethod) (This)->lpVtbl->put_OuterFECMethod(This,pFECMethod)
2949#define IBDA_DigitalDemodulator2_get_OuterFECMethod(This,pFECMethod) (This)->lpVtbl->get_OuterFECMethod(This,pFECMethod)
2950#define IBDA_DigitalDemodulator2_put_OuterFECRate(This,pFECRate) (This)->lpVtbl->put_OuterFECRate(This,pFECRate)
2951#define IBDA_DigitalDemodulator2_get_OuterFECRate(This,pFECRate) (This)->lpVtbl->get_OuterFECRate(This,pFECRate)
2952#define IBDA_DigitalDemodulator2_put_SymbolRate(This,pSymbolRate) (This)->lpVtbl->put_SymbolRate(This,pSymbolRate)
2953#define IBDA_DigitalDemodulator2_get_SymbolRate(This,pSymbolRate) (This)->lpVtbl->get_SymbolRate(This,pSymbolRate)
2954#define IBDA_DigitalDemodulator2_put_SpectralInversion(This,pSpectralInversion) (This)->lpVtbl->put_SpectralInversion(This,pSpectralInversion)
2955#define IBDA_DigitalDemodulator2_get_SpectralInversion(This,pSpectralInversion) (This)->lpVtbl->get_SpectralInversion(This,pSpectralInversion)
2956/*** IBDA_DigitalDemodulator2 methods ***/
2957#define IBDA_DigitalDemodulator2_put_GuardInterval(This,pGuardInterval) (This)->lpVtbl->put_GuardInterval(This,pGuardInterval)
2958#define IBDA_DigitalDemodulator2_get_GuardInterval(This,pGuardInterval) (This)->lpVtbl->get_GuardInterval(This,pGuardInterval)
2959#define IBDA_DigitalDemodulator2_put_TransmissionMode(This,pTransmissionMode) (This)->lpVtbl->put_TransmissionMode(This,pTransmissionMode)
2960#define IBDA_DigitalDemodulator2_get_TransmissionMode(This,pTransmissionMode) (This)->lpVtbl->get_TransmissionMode(This,pTransmissionMode)
2961#define IBDA_DigitalDemodulator2_put_RollOff(This,pRollOff) (This)->lpVtbl->put_RollOff(This,pRollOff)
2962#define IBDA_DigitalDemodulator2_get_RollOff(This,pRollOff) (This)->lpVtbl->get_RollOff(This,pRollOff)
2963#define IBDA_DigitalDemodulator2_put_Pilot(This,pPilot) (This)->lpVtbl->put_Pilot(This,pPilot)
2964#define IBDA_DigitalDemodulator2_get_Pilot(This,pPilot) (This)->lpVtbl->get_Pilot(This,pPilot)
2965#else
2966/*** IUnknown methods ***/
2967static inline HRESULT IBDA_DigitalDemodulator2_QueryInterface(IBDA_DigitalDemodulator2* This,REFIID riid,void **ppvObject) {
2968    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2969}
2970static inline ULONG IBDA_DigitalDemodulator2_AddRef(IBDA_DigitalDemodulator2* This) {
2971    return This->lpVtbl->AddRef(This);
2972}
2973static inline ULONG IBDA_DigitalDemodulator2_Release(IBDA_DigitalDemodulator2* This) {
2974    return This->lpVtbl->Release(This);
2975}
2976/*** IBDA_DigitalDemodulator methods ***/
2977static inline HRESULT IBDA_DigitalDemodulator2_put_ModulationType(IBDA_DigitalDemodulator2* This,ModulationType *pModulationType) {
2978    return This->lpVtbl->put_ModulationType(This,pModulationType);
2979}
2980static inline HRESULT IBDA_DigitalDemodulator2_get_ModulationType(IBDA_DigitalDemodulator2* This,ModulationType *pModulationType) {
2981    return This->lpVtbl->get_ModulationType(This,pModulationType);
2982}
2983static inline HRESULT IBDA_DigitalDemodulator2_put_InnerFECMethod(IBDA_DigitalDemodulator2* This,FECMethod *pFECMethod) {
2984    return This->lpVtbl->put_InnerFECMethod(This,pFECMethod);
2985}
2986static inline HRESULT IBDA_DigitalDemodulator2_get_InnerFECMethod(IBDA_DigitalDemodulator2* This,FECMethod *pFECMethod) {
2987    return This->lpVtbl->get_InnerFECMethod(This,pFECMethod);
2988}
2989static inline HRESULT IBDA_DigitalDemodulator2_put_InnerFECRate(IBDA_DigitalDemodulator2* This,BinaryConvolutionCodeRate *pFECRate) {
2990    return This->lpVtbl->put_InnerFECRate(This,pFECRate);
2991}
2992static inline HRESULT IBDA_DigitalDemodulator2_get_InnerFECRate(IBDA_DigitalDemodulator2* This,BinaryConvolutionCodeRate *pFECRate) {
2993    return This->lpVtbl->get_InnerFECRate(This,pFECRate);
2994}
2995static inline HRESULT IBDA_DigitalDemodulator2_put_OuterFECMethod(IBDA_DigitalDemodulator2* This,FECMethod *pFECMethod) {
2996    return This->lpVtbl->put_OuterFECMethod(This,pFECMethod);
2997}
2998static inline HRESULT IBDA_DigitalDemodulator2_get_OuterFECMethod(IBDA_DigitalDemodulator2* This,FECMethod *pFECMethod) {
2999    return This->lpVtbl->get_OuterFECMethod(This,pFECMethod);
3000}
3001static inline HRESULT IBDA_DigitalDemodulator2_put_OuterFECRate(IBDA_DigitalDemodulator2* This,BinaryConvolutionCodeRate *pFECRate) {
3002    return This->lpVtbl->put_OuterFECRate(This,pFECRate);
3003}
3004static inline HRESULT IBDA_DigitalDemodulator2_get_OuterFECRate(IBDA_DigitalDemodulator2* This,BinaryConvolutionCodeRate *pFECRate) {
3005    return This->lpVtbl->get_OuterFECRate(This,pFECRate);
3006}
3007static inline HRESULT IBDA_DigitalDemodulator2_put_SymbolRate(IBDA_DigitalDemodulator2* This,ULONG *pSymbolRate) {
3008    return This->lpVtbl->put_SymbolRate(This,pSymbolRate);
3009}
3010static inline HRESULT IBDA_DigitalDemodulator2_get_SymbolRate(IBDA_DigitalDemodulator2* This,ULONG *pSymbolRate) {
3011    return This->lpVtbl->get_SymbolRate(This,pSymbolRate);
3012}
3013static inline HRESULT IBDA_DigitalDemodulator2_put_SpectralInversion(IBDA_DigitalDemodulator2* This,SpectralInversion *pSpectralInversion) {
3014    return This->lpVtbl->put_SpectralInversion(This,pSpectralInversion);
3015}
3016static inline HRESULT IBDA_DigitalDemodulator2_get_SpectralInversion(IBDA_DigitalDemodulator2* This,SpectralInversion *pSpectralInversion) {
3017    return This->lpVtbl->get_SpectralInversion(This,pSpectralInversion);
3018}
3019/*** IBDA_DigitalDemodulator2 methods ***/
3020static inline HRESULT IBDA_DigitalDemodulator2_put_GuardInterval(IBDA_DigitalDemodulator2* This,GuardInterval *pGuardInterval) {
3021    return This->lpVtbl->put_GuardInterval(This,pGuardInterval);
3022}
3023static inline HRESULT IBDA_DigitalDemodulator2_get_GuardInterval(IBDA_DigitalDemodulator2* This,GuardInterval *pGuardInterval) {
3024    return This->lpVtbl->get_GuardInterval(This,pGuardInterval);
3025}
3026static inline HRESULT IBDA_DigitalDemodulator2_put_TransmissionMode(IBDA_DigitalDemodulator2* This,TransmissionMode *pTransmissionMode) {
3027    return This->lpVtbl->put_TransmissionMode(This,pTransmissionMode);
3028}
3029static inline HRESULT IBDA_DigitalDemodulator2_get_TransmissionMode(IBDA_DigitalDemodulator2* This,TransmissionMode *pTransmissionMode) {
3030    return This->lpVtbl->get_TransmissionMode(This,pTransmissionMode);
3031}
3032static inline HRESULT IBDA_DigitalDemodulator2_put_RollOff(IBDA_DigitalDemodulator2* This,RollOff *pRollOff) {
3033    return This->lpVtbl->put_RollOff(This,pRollOff);
3034}
3035static inline HRESULT IBDA_DigitalDemodulator2_get_RollOff(IBDA_DigitalDemodulator2* This,RollOff *pRollOff) {
3036    return This->lpVtbl->get_RollOff(This,pRollOff);
3037}
3038static inline HRESULT IBDA_DigitalDemodulator2_put_Pilot(IBDA_DigitalDemodulator2* This,Pilot *pPilot) {
3039    return This->lpVtbl->put_Pilot(This,pPilot);
3040}
3041static inline HRESULT IBDA_DigitalDemodulator2_get_Pilot(IBDA_DigitalDemodulator2* This,Pilot *pPilot) {
3042    return This->lpVtbl->get_Pilot(This,pPilot);
3043}
3044#endif
3045#endif
3046
3047#endif
3048
3049
3050#endif  /* __IBDA_DigitalDemodulator2_INTERFACE_DEFINED__ */
3051
3052/*****************************************************************************
3053 * IBDA_DigitalDemodulator3 interface
3054 */
3055#ifndef __IBDA_DigitalDemodulator3_INTERFACE_DEFINED__
3056#define __IBDA_DigitalDemodulator3_INTERFACE_DEFINED__
3057
3058DEFINE_GUID(IID_IBDA_DigitalDemodulator3, 0x13f19604, 0x7d32, 0x4359, 0x93,0xa2, 0xa0,0x52,0x05,0xd9,0x0a,0xc9);
3059#if defined(__cplusplus) && !defined(CINTERFACE)
3060MIDL_INTERFACE("13f19604-7d32-4359-93a2-a05205d90ac9")
3061IBDA_DigitalDemodulator3 : public IBDA_DigitalDemodulator2
3062{
3063    virtual HRESULT STDMETHODCALLTYPE put_SignalTimeouts(
3064        BDA_SIGNAL_TIMEOUTS *pSignalTimeouts) = 0;
3065
3066    virtual HRESULT STDMETHODCALLTYPE get_SignalTimeouts(
3067        BDA_SIGNAL_TIMEOUTS *pSignalTimeouts) = 0;
3068
3069    virtual HRESULT STDMETHODCALLTYPE put_PLPNumber(
3070        ULONG *pPLPNumber) = 0;
3071
3072    virtual HRESULT STDMETHODCALLTYPE get_PLPNumber(
3073        ULONG *pPLPNumber) = 0;
3074
3075};
3076#ifdef __CRT_UUID_DECL
3077__CRT_UUID_DECL(IBDA_DigitalDemodulator3, 0x13f19604, 0x7d32, 0x4359, 0x93,0xa2, 0xa0,0x52,0x05,0xd9,0x0a,0xc9)
3078#endif
3079#else
3080typedef struct IBDA_DigitalDemodulator3Vtbl {
3081    BEGIN_INTERFACE
3082
3083    /*** IUnknown methods ***/
3084    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3085        IBDA_DigitalDemodulator3 *This,
3086        REFIID riid,
3087        void **ppvObject);
3088
3089    ULONG (STDMETHODCALLTYPE *AddRef)(
3090        IBDA_DigitalDemodulator3 *This);
3091
3092    ULONG (STDMETHODCALLTYPE *Release)(
3093        IBDA_DigitalDemodulator3 *This);
3094
3095    /*** IBDA_DigitalDemodulator methods ***/
3096    HRESULT (STDMETHODCALLTYPE *put_ModulationType)(
3097        IBDA_DigitalDemodulator3 *This,
3098        ModulationType *pModulationType);
3099
3100    HRESULT (STDMETHODCALLTYPE *get_ModulationType)(
3101        IBDA_DigitalDemodulator3 *This,
3102        ModulationType *pModulationType);
3103
3104    HRESULT (STDMETHODCALLTYPE *put_InnerFECMethod)(
3105        IBDA_DigitalDemodulator3 *This,
3106        FECMethod *pFECMethod);
3107
3108    HRESULT (STDMETHODCALLTYPE *get_InnerFECMethod)(
3109        IBDA_DigitalDemodulator3 *This,
3110        FECMethod *pFECMethod);
3111
3112    HRESULT (STDMETHODCALLTYPE *put_InnerFECRate)(
3113        IBDA_DigitalDemodulator3 *This,
3114        BinaryConvolutionCodeRate *pFECRate);
3115
3116    HRESULT (STDMETHODCALLTYPE *get_InnerFECRate)(
3117        IBDA_DigitalDemodulator3 *This,
3118        BinaryConvolutionCodeRate *pFECRate);
3119
3120    HRESULT (STDMETHODCALLTYPE *put_OuterFECMethod)(
3121        IBDA_DigitalDemodulator3 *This,
3122        FECMethod *pFECMethod);
3123
3124    HRESULT (STDMETHODCALLTYPE *get_OuterFECMethod)(
3125        IBDA_DigitalDemodulator3 *This,
3126        FECMethod *pFECMethod);
3127
3128    HRESULT (STDMETHODCALLTYPE *put_OuterFECRate)(
3129        IBDA_DigitalDemodulator3 *This,
3130        BinaryConvolutionCodeRate *pFECRate);
3131
3132    HRESULT (STDMETHODCALLTYPE *get_OuterFECRate)(
3133        IBDA_DigitalDemodulator3 *This,
3134        BinaryConvolutionCodeRate *pFECRate);
3135
3136    HRESULT (STDMETHODCALLTYPE *put_SymbolRate)(
3137        IBDA_DigitalDemodulator3 *This,
3138        ULONG *pSymbolRate);
3139
3140    HRESULT (STDMETHODCALLTYPE *get_SymbolRate)(
3141        IBDA_DigitalDemodulator3 *This,
3142        ULONG *pSymbolRate);
3143
3144    HRESULT (STDMETHODCALLTYPE *put_SpectralInversion)(
3145        IBDA_DigitalDemodulator3 *This,
3146        SpectralInversion *pSpectralInversion);
3147
3148    HRESULT (STDMETHODCALLTYPE *get_SpectralInversion)(
3149        IBDA_DigitalDemodulator3 *This,
3150        SpectralInversion *pSpectralInversion);
3151
3152    /*** IBDA_DigitalDemodulator2 methods ***/
3153    HRESULT (STDMETHODCALLTYPE *put_GuardInterval)(
3154        IBDA_DigitalDemodulator3 *This,
3155        GuardInterval *pGuardInterval);
3156
3157    HRESULT (STDMETHODCALLTYPE *get_GuardInterval)(
3158        IBDA_DigitalDemodulator3 *This,
3159        GuardInterval *pGuardInterval);
3160
3161    HRESULT (STDMETHODCALLTYPE *put_TransmissionMode)(
3162        IBDA_DigitalDemodulator3 *This,
3163        TransmissionMode *pTransmissionMode);
3164
3165    HRESULT (STDMETHODCALLTYPE *get_TransmissionMode)(
3166        IBDA_DigitalDemodulator3 *This,
3167        TransmissionMode *pTransmissionMode);
3168
3169    HRESULT (STDMETHODCALLTYPE *put_RollOff)(
3170        IBDA_DigitalDemodulator3 *This,
3171        RollOff *pRollOff);
3172
3173    HRESULT (STDMETHODCALLTYPE *get_RollOff)(
3174        IBDA_DigitalDemodulator3 *This,
3175        RollOff *pRollOff);
3176
3177    HRESULT (STDMETHODCALLTYPE *put_Pilot)(
3178        IBDA_DigitalDemodulator3 *This,
3179        Pilot *pPilot);
3180
3181    HRESULT (STDMETHODCALLTYPE *get_Pilot)(
3182        IBDA_DigitalDemodulator3 *This,
3183        Pilot *pPilot);
3184
3185    /*** IBDA_DigitalDemodulator3 methods ***/
3186    HRESULT (STDMETHODCALLTYPE *put_SignalTimeouts)(
3187        IBDA_DigitalDemodulator3 *This,
3188        BDA_SIGNAL_TIMEOUTS *pSignalTimeouts);
3189
3190    HRESULT (STDMETHODCALLTYPE *get_SignalTimeouts)(
3191        IBDA_DigitalDemodulator3 *This,
3192        BDA_SIGNAL_TIMEOUTS *pSignalTimeouts);
3193
3194    HRESULT (STDMETHODCALLTYPE *put_PLPNumber)(
3195        IBDA_DigitalDemodulator3 *This,
3196        ULONG *pPLPNumber);
3197
3198    HRESULT (STDMETHODCALLTYPE *get_PLPNumber)(
3199        IBDA_DigitalDemodulator3 *This,
3200        ULONG *pPLPNumber);
3201
3202    END_INTERFACE
3203} IBDA_DigitalDemodulator3Vtbl;
3204
3205interface IBDA_DigitalDemodulator3 {
3206    CONST_VTBL IBDA_DigitalDemodulator3Vtbl* lpVtbl;
3207};
3208
3209#ifdef COBJMACROS
3210#ifndef WIDL_C_INLINE_WRAPPERS
3211/*** IUnknown methods ***/
3212#define IBDA_DigitalDemodulator3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3213#define IBDA_DigitalDemodulator3_AddRef(This) (This)->lpVtbl->AddRef(This)
3214#define IBDA_DigitalDemodulator3_Release(This) (This)->lpVtbl->Release(This)
3215/*** IBDA_DigitalDemodulator methods ***/
3216#define IBDA_DigitalDemodulator3_put_ModulationType(This,pModulationType) (This)->lpVtbl->put_ModulationType(This,pModulationType)
3217#define IBDA_DigitalDemodulator3_get_ModulationType(This,pModulationType) (This)->lpVtbl->get_ModulationType(This,pModulationType)
3218#define IBDA_DigitalDemodulator3_put_InnerFECMethod(This,pFECMethod) (This)->lpVtbl->put_InnerFECMethod(This,pFECMethod)
3219#define IBDA_DigitalDemodulator3_get_InnerFECMethod(This,pFECMethod) (This)->lpVtbl->get_InnerFECMethod(This,pFECMethod)
3220#define IBDA_DigitalDemodulator3_put_InnerFECRate(This,pFECRate) (This)->lpVtbl->put_InnerFECRate(This,pFECRate)
3221#define IBDA_DigitalDemodulator3_get_InnerFECRate(This,pFECRate) (This)->lpVtbl->get_InnerFECRate(This,pFECRate)
3222#define IBDA_DigitalDemodulator3_put_OuterFECMethod(This,pFECMethod) (This)->lpVtbl->put_OuterFECMethod(This,pFECMethod)
3223#define IBDA_DigitalDemodulator3_get_OuterFECMethod(This,pFECMethod) (This)->lpVtbl->get_OuterFECMethod(This,pFECMethod)
3224#define IBDA_DigitalDemodulator3_put_OuterFECRate(This,pFECRate) (This)->lpVtbl->put_OuterFECRate(This,pFECRate)
3225#define IBDA_DigitalDemodulator3_get_OuterFECRate(This,pFECRate) (This)->lpVtbl->get_OuterFECRate(This,pFECRate)
3226#define IBDA_DigitalDemodulator3_put_SymbolRate(This,pSymbolRate) (This)->lpVtbl->put_SymbolRate(This,pSymbolRate)
3227#define IBDA_DigitalDemodulator3_get_SymbolRate(This,pSymbolRate) (This)->lpVtbl->get_SymbolRate(This,pSymbolRate)
3228#define IBDA_DigitalDemodulator3_put_SpectralInversion(This,pSpectralInversion) (This)->lpVtbl->put_SpectralInversion(This,pSpectralInversion)
3229#define IBDA_DigitalDemodulator3_get_SpectralInversion(This,pSpectralInversion) (This)->lpVtbl->get_SpectralInversion(This,pSpectralInversion)
3230/*** IBDA_DigitalDemodulator2 methods ***/
3231#define IBDA_DigitalDemodulator3_put_GuardInterval(This,pGuardInterval) (This)->lpVtbl->put_GuardInterval(This,pGuardInterval)
3232#define IBDA_DigitalDemodulator3_get_GuardInterval(This,pGuardInterval) (This)->lpVtbl->get_GuardInterval(This,pGuardInterval)
3233#define IBDA_DigitalDemodulator3_put_TransmissionMode(This,pTransmissionMode) (This)->lpVtbl->put_TransmissionMode(This,pTransmissionMode)
3234#define IBDA_DigitalDemodulator3_get_TransmissionMode(This,pTransmissionMode) (This)->lpVtbl->get_TransmissionMode(This,pTransmissionMode)
3235#define IBDA_DigitalDemodulator3_put_RollOff(This,pRollOff) (This)->lpVtbl->put_RollOff(This,pRollOff)
3236#define IBDA_DigitalDemodulator3_get_RollOff(This,pRollOff) (This)->lpVtbl->get_RollOff(This,pRollOff)
3237#define IBDA_DigitalDemodulator3_put_Pilot(This,pPilot) (This)->lpVtbl->put_Pilot(This,pPilot)
3238#define IBDA_DigitalDemodulator3_get_Pilot(This,pPilot) (This)->lpVtbl->get_Pilot(This,pPilot)
3239/*** IBDA_DigitalDemodulator3 methods ***/
3240#define IBDA_DigitalDemodulator3_put_SignalTimeouts(This,pSignalTimeouts) (This)->lpVtbl->put_SignalTimeouts(This,pSignalTimeouts)
3241#define IBDA_DigitalDemodulator3_get_SignalTimeouts(This,pSignalTimeouts) (This)->lpVtbl->get_SignalTimeouts(This,pSignalTimeouts)
3242#define IBDA_DigitalDemodulator3_put_PLPNumber(This,pPLPNumber) (This)->lpVtbl->put_PLPNumber(This,pPLPNumber)
3243#define IBDA_DigitalDemodulator3_get_PLPNumber(This,pPLPNumber) (This)->lpVtbl->get_PLPNumber(This,pPLPNumber)
3244#else
3245/*** IUnknown methods ***/
3246static inline HRESULT IBDA_DigitalDemodulator3_QueryInterface(IBDA_DigitalDemodulator3* This,REFIID riid,void **ppvObject) {
3247    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3248}
3249static inline ULONG IBDA_DigitalDemodulator3_AddRef(IBDA_DigitalDemodulator3* This) {
3250    return This->lpVtbl->AddRef(This);
3251}
3252static inline ULONG IBDA_DigitalDemodulator3_Release(IBDA_DigitalDemodulator3* This) {
3253    return This->lpVtbl->Release(This);
3254}
3255/*** IBDA_DigitalDemodulator methods ***/
3256static inline HRESULT IBDA_DigitalDemodulator3_put_ModulationType(IBDA_DigitalDemodulator3* This,ModulationType *pModulationType) {
3257    return This->lpVtbl->put_ModulationType(This,pModulationType);
3258}
3259static inline HRESULT IBDA_DigitalDemodulator3_get_ModulationType(IBDA_DigitalDemodulator3* This,ModulationType *pModulationType) {
3260    return This->lpVtbl->get_ModulationType(This,pModulationType);
3261}
3262static inline HRESULT IBDA_DigitalDemodulator3_put_InnerFECMethod(IBDA_DigitalDemodulator3* This,FECMethod *pFECMethod) {
3263    return This->lpVtbl->put_InnerFECMethod(This,pFECMethod);
3264}
3265static inline HRESULT IBDA_DigitalDemodulator3_get_InnerFECMethod(IBDA_DigitalDemodulator3* This,FECMethod *pFECMethod) {
3266    return This->lpVtbl->get_InnerFECMethod(This,pFECMethod);
3267}
3268static inline HRESULT IBDA_DigitalDemodulator3_put_InnerFECRate(IBDA_DigitalDemodulator3* This,BinaryConvolutionCodeRate *pFECRate) {
3269    return This->lpVtbl->put_InnerFECRate(This,pFECRate);
3270}
3271static inline HRESULT IBDA_DigitalDemodulator3_get_InnerFECRate(IBDA_DigitalDemodulator3* This,BinaryConvolutionCodeRate *pFECRate) {
3272    return This->lpVtbl->get_InnerFECRate(This,pFECRate);
3273}
3274static inline HRESULT IBDA_DigitalDemodulator3_put_OuterFECMethod(IBDA_DigitalDemodulator3* This,FECMethod *pFECMethod) {
3275    return This->lpVtbl->put_OuterFECMethod(This,pFECMethod);
3276}
3277static inline HRESULT IBDA_DigitalDemodulator3_get_OuterFECMethod(IBDA_DigitalDemodulator3* This,FECMethod *pFECMethod) {
3278    return This->lpVtbl->get_OuterFECMethod(This,pFECMethod);
3279}
3280static inline HRESULT IBDA_DigitalDemodulator3_put_OuterFECRate(IBDA_DigitalDemodulator3* This,BinaryConvolutionCodeRate *pFECRate) {
3281    return This->lpVtbl->put_OuterFECRate(This,pFECRate);
3282}
3283static inline HRESULT IBDA_DigitalDemodulator3_get_OuterFECRate(IBDA_DigitalDemodulator3* This,BinaryConvolutionCodeRate *pFECRate) {
3284    return This->lpVtbl->get_OuterFECRate(This,pFECRate);
3285}
3286static inline HRESULT IBDA_DigitalDemodulator3_put_SymbolRate(IBDA_DigitalDemodulator3* This,ULONG *pSymbolRate) {
3287    return This->lpVtbl->put_SymbolRate(This,pSymbolRate);
3288}
3289static inline HRESULT IBDA_DigitalDemodulator3_get_SymbolRate(IBDA_DigitalDemodulator3* This,ULONG *pSymbolRate) {
3290    return This->lpVtbl->get_SymbolRate(This,pSymbolRate);
3291}
3292static inline HRESULT IBDA_DigitalDemodulator3_put_SpectralInversion(IBDA_DigitalDemodulator3* This,SpectralInversion *pSpectralInversion) {
3293    return This->lpVtbl->put_SpectralInversion(This,pSpectralInversion);
3294}
3295static inline HRESULT IBDA_DigitalDemodulator3_get_SpectralInversion(IBDA_DigitalDemodulator3* This,SpectralInversion *pSpectralInversion) {
3296    return This->lpVtbl->get_SpectralInversion(This,pSpectralInversion);
3297}
3298/*** IBDA_DigitalDemodulator2 methods ***/
3299static inline HRESULT IBDA_DigitalDemodulator3_put_GuardInterval(IBDA_DigitalDemodulator3* This,GuardInterval *pGuardInterval) {
3300    return This->lpVtbl->put_GuardInterval(This,pGuardInterval);
3301}
3302static inline HRESULT IBDA_DigitalDemodulator3_get_GuardInterval(IBDA_DigitalDemodulator3* This,GuardInterval *pGuardInterval) {
3303    return This->lpVtbl->get_GuardInterval(This,pGuardInterval);
3304}
3305static inline HRESULT IBDA_DigitalDemodulator3_put_TransmissionMode(IBDA_DigitalDemodulator3* This,TransmissionMode *pTransmissionMode) {
3306    return This->lpVtbl->put_TransmissionMode(This,pTransmissionMode);
3307}
3308static inline HRESULT IBDA_DigitalDemodulator3_get_TransmissionMode(IBDA_DigitalDemodulator3* This,TransmissionMode *pTransmissionMode) {
3309    return This->lpVtbl->get_TransmissionMode(This,pTransmissionMode);
3310}
3311static inline HRESULT IBDA_DigitalDemodulator3_put_RollOff(IBDA_DigitalDemodulator3* This,RollOff *pRollOff) {
3312    return This->lpVtbl->put_RollOff(This,pRollOff);
3313}
3314static inline HRESULT IBDA_DigitalDemodulator3_get_RollOff(IBDA_DigitalDemodulator3* This,RollOff *pRollOff) {
3315    return This->lpVtbl->get_RollOff(This,pRollOff);
3316}
3317static inline HRESULT IBDA_DigitalDemodulator3_put_Pilot(IBDA_DigitalDemodulator3* This,Pilot *pPilot) {
3318    return This->lpVtbl->put_Pilot(This,pPilot);
3319}
3320static inline HRESULT IBDA_DigitalDemodulator3_get_Pilot(IBDA_DigitalDemodulator3* This,Pilot *pPilot) {
3321    return This->lpVtbl->get_Pilot(This,pPilot);
3322}
3323/*** IBDA_DigitalDemodulator3 methods ***/
3324static inline HRESULT IBDA_DigitalDemodulator3_put_SignalTimeouts(IBDA_DigitalDemodulator3* This,BDA_SIGNAL_TIMEOUTS *pSignalTimeouts) {
3325    return This->lpVtbl->put_SignalTimeouts(This,pSignalTimeouts);
3326}
3327static inline HRESULT IBDA_DigitalDemodulator3_get_SignalTimeouts(IBDA_DigitalDemodulator3* This,BDA_SIGNAL_TIMEOUTS *pSignalTimeouts) {
3328    return This->lpVtbl->get_SignalTimeouts(This,pSignalTimeouts);
3329}
3330static inline HRESULT IBDA_DigitalDemodulator3_put_PLPNumber(IBDA_DigitalDemodulator3* This,ULONG *pPLPNumber) {
3331    return This->lpVtbl->put_PLPNumber(This,pPLPNumber);
3332}
3333static inline HRESULT IBDA_DigitalDemodulator3_get_PLPNumber(IBDA_DigitalDemodulator3* This,ULONG *pPLPNumber) {
3334    return This->lpVtbl->get_PLPNumber(This,pPLPNumber);
3335}
3336#endif
3337#endif
3338
3339#endif
3340
3341
3342#endif  /* __IBDA_DigitalDemodulator3_INTERFACE_DEFINED__ */
3343
3344/*****************************************************************************
3345 * ICCSubStreamFiltering interface
3346 */
3347#ifndef __ICCSubStreamFiltering_INTERFACE_DEFINED__
3348#define __ICCSubStreamFiltering_INTERFACE_DEFINED__
3349
3350DEFINE_GUID(IID_ICCSubStreamFiltering, 0x4b2bd7ea, 0x8347, 0x467b, 0x8d,0xbf, 0x62,0xf7,0x84,0x92,0x9c,0xc3);
3351#if defined(__cplusplus) && !defined(CINTERFACE)
3352MIDL_INTERFACE("4b2bd7ea-8347-467b-8dbf-62f784929cc3")
3353ICCSubStreamFiltering : public IUnknown
3354{
3355    virtual HRESULT STDMETHODCALLTYPE get_SubstreamTypes(
3356        LONG *pTypes) = 0;
3357
3358    virtual HRESULT STDMETHODCALLTYPE put_SubstreamTypes(
3359        LONG Types) = 0;
3360
3361};
3362#ifdef __CRT_UUID_DECL
3363__CRT_UUID_DECL(ICCSubStreamFiltering, 0x4b2bd7ea, 0x8347, 0x467b, 0x8d,0xbf, 0x62,0xf7,0x84,0x92,0x9c,0xc3)
3364#endif
3365#else
3366typedef struct ICCSubStreamFilteringVtbl {
3367    BEGIN_INTERFACE
3368
3369    /*** IUnknown methods ***/
3370    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3371        ICCSubStreamFiltering *This,
3372        REFIID riid,
3373        void **ppvObject);
3374
3375    ULONG (STDMETHODCALLTYPE *AddRef)(
3376        ICCSubStreamFiltering *This);
3377
3378    ULONG (STDMETHODCALLTYPE *Release)(
3379        ICCSubStreamFiltering *This);
3380
3381    /*** ICCSubStreamFiltering methods ***/
3382    HRESULT (STDMETHODCALLTYPE *get_SubstreamTypes)(
3383        ICCSubStreamFiltering *This,
3384        LONG *pTypes);
3385
3386    HRESULT (STDMETHODCALLTYPE *put_SubstreamTypes)(
3387        ICCSubStreamFiltering *This,
3388        LONG Types);
3389
3390    END_INTERFACE
3391} ICCSubStreamFilteringVtbl;
3392
3393interface ICCSubStreamFiltering {
3394    CONST_VTBL ICCSubStreamFilteringVtbl* lpVtbl;
3395};
3396
3397#ifdef COBJMACROS
3398#ifndef WIDL_C_INLINE_WRAPPERS
3399/*** IUnknown methods ***/
3400#define ICCSubStreamFiltering_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3401#define ICCSubStreamFiltering_AddRef(This) (This)->lpVtbl->AddRef(This)
3402#define ICCSubStreamFiltering_Release(This) (This)->lpVtbl->Release(This)
3403/*** ICCSubStreamFiltering methods ***/
3404#define ICCSubStreamFiltering_get_SubstreamTypes(This,pTypes) (This)->lpVtbl->get_SubstreamTypes(This,pTypes)
3405#define ICCSubStreamFiltering_put_SubstreamTypes(This,Types) (This)->lpVtbl->put_SubstreamTypes(This,Types)
3406#else
3407/*** IUnknown methods ***/
3408static inline HRESULT ICCSubStreamFiltering_QueryInterface(ICCSubStreamFiltering* This,REFIID riid,void **ppvObject) {
3409    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3410}
3411static inline ULONG ICCSubStreamFiltering_AddRef(ICCSubStreamFiltering* This) {
3412    return This->lpVtbl->AddRef(This);
3413}
3414static inline ULONG ICCSubStreamFiltering_Release(ICCSubStreamFiltering* This) {
3415    return This->lpVtbl->Release(This);
3416}
3417/*** ICCSubStreamFiltering methods ***/
3418static inline HRESULT ICCSubStreamFiltering_get_SubstreamTypes(ICCSubStreamFiltering* This,LONG *pTypes) {
3419    return This->lpVtbl->get_SubstreamTypes(This,pTypes);
3420}
3421static inline HRESULT ICCSubStreamFiltering_put_SubstreamTypes(ICCSubStreamFiltering* This,LONG Types) {
3422    return This->lpVtbl->put_SubstreamTypes(This,Types);
3423}
3424#endif
3425#endif
3426
3427#endif
3428
3429
3430#endif  /* __ICCSubStreamFiltering_INTERFACE_DEFINED__ */
3431
3432/*****************************************************************************
3433 * IBDA_IPSinkControl interface
3434 */
3435#ifndef __IBDA_IPSinkControl_INTERFACE_DEFINED__
3436#define __IBDA_IPSinkControl_INTERFACE_DEFINED__
3437
3438DEFINE_GUID(IID_IBDA_IPSinkControl, 0x3f4dc8e2, 0x4050, 0x11d3, 0x8f,0x4b, 0x00,0xc0,0x4f,0x79,0x71,0xe2);
3439#if defined(__cplusplus) && !defined(CINTERFACE)
3440MIDL_INTERFACE("3f4dc8e2-4050-11d3-8f4b-00c04f7971e2")
3441IBDA_IPSinkControl : public IUnknown
3442{
3443    virtual HRESULT STDMETHODCALLTYPE GetMulticastList(
3444        ULONG *pulcbSize,
3445        BYTE **pbBuffer) = 0;
3446
3447    virtual HRESULT STDMETHODCALLTYPE GetAdapterIPAddress(
3448        ULONG *pulcbSize,
3449        BYTE **pbBuffer) = 0;
3450
3451};
3452#ifdef __CRT_UUID_DECL
3453__CRT_UUID_DECL(IBDA_IPSinkControl, 0x3f4dc8e2, 0x4050, 0x11d3, 0x8f,0x4b, 0x00,0xc0,0x4f,0x79,0x71,0xe2)
3454#endif
3455#else
3456typedef struct IBDA_IPSinkControlVtbl {
3457    BEGIN_INTERFACE
3458
3459    /*** IUnknown methods ***/
3460    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3461        IBDA_IPSinkControl *This,
3462        REFIID riid,
3463        void **ppvObject);
3464
3465    ULONG (STDMETHODCALLTYPE *AddRef)(
3466        IBDA_IPSinkControl *This);
3467
3468    ULONG (STDMETHODCALLTYPE *Release)(
3469        IBDA_IPSinkControl *This);
3470
3471    /*** IBDA_IPSinkControl methods ***/
3472    HRESULT (STDMETHODCALLTYPE *GetMulticastList)(
3473        IBDA_IPSinkControl *This,
3474        ULONG *pulcbSize,
3475        BYTE **pbBuffer);
3476
3477    HRESULT (STDMETHODCALLTYPE *GetAdapterIPAddress)(
3478        IBDA_IPSinkControl *This,
3479        ULONG *pulcbSize,
3480        BYTE **pbBuffer);
3481
3482    END_INTERFACE
3483} IBDA_IPSinkControlVtbl;
3484
3485interface IBDA_IPSinkControl {
3486    CONST_VTBL IBDA_IPSinkControlVtbl* lpVtbl;
3487};
3488
3489#ifdef COBJMACROS
3490#ifndef WIDL_C_INLINE_WRAPPERS
3491/*** IUnknown methods ***/
3492#define IBDA_IPSinkControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3493#define IBDA_IPSinkControl_AddRef(This) (This)->lpVtbl->AddRef(This)
3494#define IBDA_IPSinkControl_Release(This) (This)->lpVtbl->Release(This)
3495/*** IBDA_IPSinkControl methods ***/
3496#define IBDA_IPSinkControl_GetMulticastList(This,pulcbSize,pbBuffer) (This)->lpVtbl->GetMulticastList(This,pulcbSize,pbBuffer)
3497#define IBDA_IPSinkControl_GetAdapterIPAddress(This,pulcbSize,pbBuffer) (This)->lpVtbl->GetAdapterIPAddress(This,pulcbSize,pbBuffer)
3498#else
3499/*** IUnknown methods ***/
3500static inline HRESULT IBDA_IPSinkControl_QueryInterface(IBDA_IPSinkControl* This,REFIID riid,void **ppvObject) {
3501    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3502}
3503static inline ULONG IBDA_IPSinkControl_AddRef(IBDA_IPSinkControl* This) {
3504    return This->lpVtbl->AddRef(This);
3505}
3506static inline ULONG IBDA_IPSinkControl_Release(IBDA_IPSinkControl* This) {
3507    return This->lpVtbl->Release(This);
3508}
3509/*** IBDA_IPSinkControl methods ***/
3510static inline HRESULT IBDA_IPSinkControl_GetMulticastList(IBDA_IPSinkControl* This,ULONG *pulcbSize,BYTE **pbBuffer) {
3511    return This->lpVtbl->GetMulticastList(This,pulcbSize,pbBuffer);
3512}
3513static inline HRESULT IBDA_IPSinkControl_GetAdapterIPAddress(IBDA_IPSinkControl* This,ULONG *pulcbSize,BYTE **pbBuffer) {
3514    return This->lpVtbl->GetAdapterIPAddress(This,pulcbSize,pbBuffer);
3515}
3516#endif
3517#endif
3518
3519#endif
3520
3521
3522#endif  /* __IBDA_IPSinkControl_INTERFACE_DEFINED__ */
3523
3524/*****************************************************************************
3525 * IBDA_IPSinkInfo interface
3526 */
3527#ifndef __IBDA_IPSinkInfo_INTERFACE_DEFINED__
3528#define __IBDA_IPSinkInfo_INTERFACE_DEFINED__
3529
3530DEFINE_GUID(IID_IBDA_IPSinkInfo, 0xa750108f, 0x492e, 0x4d51, 0x95,0xf7, 0x64,0x9b,0x23,0xff,0x7a,0xd7);
3531#if defined(__cplusplus) && !defined(CINTERFACE)
3532MIDL_INTERFACE("a750108f-492e-4d51-95f7-649b23ff7ad7")
3533IBDA_IPSinkInfo : public IUnknown
3534{
3535    virtual HRESULT STDMETHODCALLTYPE get_MulticastList(
3536        ULONG *pulcbAddresses,
3537        BYTE **ppbAddressList) = 0;
3538
3539    virtual HRESULT STDMETHODCALLTYPE get_AdapterIPAddress(
3540        BSTR *pbstrBuffer) = 0;
3541
3542    virtual HRESULT STDMETHODCALLTYPE get_AdapterDescription(
3543        BSTR *pbstrBuffer) = 0;
3544
3545};
3546#ifdef __CRT_UUID_DECL
3547__CRT_UUID_DECL(IBDA_IPSinkInfo, 0xa750108f, 0x492e, 0x4d51, 0x95,0xf7, 0x64,0x9b,0x23,0xff,0x7a,0xd7)
3548#endif
3549#else
3550typedef struct IBDA_IPSinkInfoVtbl {
3551    BEGIN_INTERFACE
3552
3553    /*** IUnknown methods ***/
3554    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3555        IBDA_IPSinkInfo *This,
3556        REFIID riid,
3557        void **ppvObject);
3558
3559    ULONG (STDMETHODCALLTYPE *AddRef)(
3560        IBDA_IPSinkInfo *This);
3561
3562    ULONG (STDMETHODCALLTYPE *Release)(
3563        IBDA_IPSinkInfo *This);
3564
3565    /*** IBDA_IPSinkInfo methods ***/
3566    HRESULT (STDMETHODCALLTYPE *get_MulticastList)(
3567        IBDA_IPSinkInfo *This,
3568        ULONG *pulcbAddresses,
3569        BYTE **ppbAddressList);
3570
3571    HRESULT (STDMETHODCALLTYPE *get_AdapterIPAddress)(
3572        IBDA_IPSinkInfo *This,
3573        BSTR *pbstrBuffer);
3574
3575    HRESULT (STDMETHODCALLTYPE *get_AdapterDescription)(
3576        IBDA_IPSinkInfo *This,
3577        BSTR *pbstrBuffer);
3578
3579    END_INTERFACE
3580} IBDA_IPSinkInfoVtbl;
3581
3582interface IBDA_IPSinkInfo {
3583    CONST_VTBL IBDA_IPSinkInfoVtbl* lpVtbl;
3584};
3585
3586#ifdef COBJMACROS
3587#ifndef WIDL_C_INLINE_WRAPPERS
3588/*** IUnknown methods ***/
3589#define IBDA_IPSinkInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3590#define IBDA_IPSinkInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
3591#define IBDA_IPSinkInfo_Release(This) (This)->lpVtbl->Release(This)
3592/*** IBDA_IPSinkInfo methods ***/
3593#define IBDA_IPSinkInfo_get_MulticastList(This,pulcbAddresses,ppbAddressList) (This)->lpVtbl->get_MulticastList(This,pulcbAddresses,ppbAddressList)
3594#define IBDA_IPSinkInfo_get_AdapterIPAddress(This,pbstrBuffer) (This)->lpVtbl->get_AdapterIPAddress(This,pbstrBuffer)
3595#define IBDA_IPSinkInfo_get_AdapterDescription(This,pbstrBuffer) (This)->lpVtbl->get_AdapterDescription(This,pbstrBuffer)
3596#else
3597/*** IUnknown methods ***/
3598static inline HRESULT IBDA_IPSinkInfo_QueryInterface(IBDA_IPSinkInfo* This,REFIID riid,void **ppvObject) {
3599    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3600}
3601static inline ULONG IBDA_IPSinkInfo_AddRef(IBDA_IPSinkInfo* This) {
3602    return This->lpVtbl->AddRef(This);
3603}
3604static inline ULONG IBDA_IPSinkInfo_Release(IBDA_IPSinkInfo* This) {
3605    return This->lpVtbl->Release(This);
3606}
3607/*** IBDA_IPSinkInfo methods ***/
3608static inline HRESULT IBDA_IPSinkInfo_get_MulticastList(IBDA_IPSinkInfo* This,ULONG *pulcbAddresses,BYTE **ppbAddressList) {
3609    return This->lpVtbl->get_MulticastList(This,pulcbAddresses,ppbAddressList);
3610}
3611static inline HRESULT IBDA_IPSinkInfo_get_AdapterIPAddress(IBDA_IPSinkInfo* This,BSTR *pbstrBuffer) {
3612    return This->lpVtbl->get_AdapterIPAddress(This,pbstrBuffer);
3613}
3614static inline HRESULT IBDA_IPSinkInfo_get_AdapterDescription(IBDA_IPSinkInfo* This,BSTR *pbstrBuffer) {
3615    return This->lpVtbl->get_AdapterDescription(This,pbstrBuffer);
3616}
3617#endif
3618#endif
3619
3620#endif
3621
3622
3623#endif  /* __IBDA_IPSinkInfo_INTERFACE_DEFINED__ */
3624
3625/*****************************************************************************
3626 * IEnumPIDMap interface
3627 */
3628#ifndef __IEnumPIDMap_INTERFACE_DEFINED__
3629#define __IEnumPIDMap_INTERFACE_DEFINED__
3630
3631DEFINE_GUID(IID_IEnumPIDMap, 0xafb6c2a2, 0x2c41, 0x11d3, 0x8a,0x60, 0x00,0x00,0xf8,0x1e,0x0e,0x4a);
3632#if defined(__cplusplus) && !defined(CINTERFACE)
3633MIDL_INTERFACE("afb6c2a2-2c41-11d3-8a60-0000f81e0e4a")
3634IEnumPIDMap : public IUnknown
3635{
3636    virtual HRESULT STDMETHODCALLTYPE Next(
3637        ULONG cRequest,
3638        PID_MAP *pPIDMap,
3639        ULONG *pcReceived) = 0;
3640
3641    virtual HRESULT STDMETHODCALLTYPE Skip(
3642        ULONG cRecords) = 0;
3643
3644    virtual HRESULT STDMETHODCALLTYPE Reset(
3645        ) = 0;
3646
3647    virtual HRESULT STDMETHODCALLTYPE Clone(
3648        IEnumPIDMap **ppIEnumPIDMap) = 0;
3649
3650};
3651#ifdef __CRT_UUID_DECL
3652__CRT_UUID_DECL(IEnumPIDMap, 0xafb6c2a2, 0x2c41, 0x11d3, 0x8a,0x60, 0x00,0x00,0xf8,0x1e,0x0e,0x4a)
3653#endif
3654#else
3655typedef struct IEnumPIDMapVtbl {
3656    BEGIN_INTERFACE
3657
3658    /*** IUnknown methods ***/
3659    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3660        IEnumPIDMap *This,
3661        REFIID riid,
3662        void **ppvObject);
3663
3664    ULONG (STDMETHODCALLTYPE *AddRef)(
3665        IEnumPIDMap *This);
3666
3667    ULONG (STDMETHODCALLTYPE *Release)(
3668        IEnumPIDMap *This);
3669
3670    /*** IEnumPIDMap methods ***/
3671    HRESULT (STDMETHODCALLTYPE *Next)(
3672        IEnumPIDMap *This,
3673        ULONG cRequest,
3674        PID_MAP *pPIDMap,
3675        ULONG *pcReceived);
3676
3677    HRESULT (STDMETHODCALLTYPE *Skip)(
3678        IEnumPIDMap *This,
3679        ULONG cRecords);
3680
3681    HRESULT (STDMETHODCALLTYPE *Reset)(
3682        IEnumPIDMap *This);
3683
3684    HRESULT (STDMETHODCALLTYPE *Clone)(
3685        IEnumPIDMap *This,
3686        IEnumPIDMap **ppIEnumPIDMap);
3687
3688    END_INTERFACE
3689} IEnumPIDMapVtbl;
3690
3691interface IEnumPIDMap {
3692    CONST_VTBL IEnumPIDMapVtbl* lpVtbl;
3693};
3694
3695#ifdef COBJMACROS
3696#ifndef WIDL_C_INLINE_WRAPPERS
3697/*** IUnknown methods ***/
3698#define IEnumPIDMap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3699#define IEnumPIDMap_AddRef(This) (This)->lpVtbl->AddRef(This)
3700#define IEnumPIDMap_Release(This) (This)->lpVtbl->Release(This)
3701/*** IEnumPIDMap methods ***/
3702#define IEnumPIDMap_Next(This,cRequest,pPIDMap,pcReceived) (This)->lpVtbl->Next(This,cRequest,pPIDMap,pcReceived)
3703#define IEnumPIDMap_Skip(This,cRecords) (This)->lpVtbl->Skip(This,cRecords)
3704#define IEnumPIDMap_Reset(This) (This)->lpVtbl->Reset(This)
3705#define IEnumPIDMap_Clone(This,ppIEnumPIDMap) (This)->lpVtbl->Clone(This,ppIEnumPIDMap)
3706#else
3707/*** IUnknown methods ***/
3708static inline HRESULT IEnumPIDMap_QueryInterface(IEnumPIDMap* This,REFIID riid,void **ppvObject) {
3709    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3710}
3711static inline ULONG IEnumPIDMap_AddRef(IEnumPIDMap* This) {
3712    return This->lpVtbl->AddRef(This);
3713}
3714static inline ULONG IEnumPIDMap_Release(IEnumPIDMap* This) {
3715    return This->lpVtbl->Release(This);
3716}
3717/*** IEnumPIDMap methods ***/
3718static inline HRESULT IEnumPIDMap_Next(IEnumPIDMap* This,ULONG cRequest,PID_MAP *pPIDMap,ULONG *pcReceived) {
3719    return This->lpVtbl->Next(This,cRequest,pPIDMap,pcReceived);
3720}
3721static inline HRESULT IEnumPIDMap_Skip(IEnumPIDMap* This,ULONG cRecords) {
3722    return This->lpVtbl->Skip(This,cRecords);
3723}
3724static inline HRESULT IEnumPIDMap_Reset(IEnumPIDMap* This) {
3725    return This->lpVtbl->Reset(This);
3726}
3727static inline HRESULT IEnumPIDMap_Clone(IEnumPIDMap* This,IEnumPIDMap **ppIEnumPIDMap) {
3728    return This->lpVtbl->Clone(This,ppIEnumPIDMap);
3729}
3730#endif
3731#endif
3732
3733#endif
3734
3735
3736#endif  /* __IEnumPIDMap_INTERFACE_DEFINED__ */
3737
3738/*****************************************************************************
3739 * IMPEG2PIDMap interface
3740 */
3741#ifndef __IMPEG2PIDMap_INTERFACE_DEFINED__
3742#define __IMPEG2PIDMap_INTERFACE_DEFINED__
3743
3744DEFINE_GUID(IID_IMPEG2PIDMap, 0xafb6c2a1, 0x2c41, 0x11d3, 0x8a,0x60, 0x00,0x00,0xf8,0x1e,0x0e,0x4a);
3745#if defined(__cplusplus) && !defined(CINTERFACE)
3746MIDL_INTERFACE("afb6c2a1-2c41-11d3-8a60-0000f81e0e4a")
3747IMPEG2PIDMap : public IUnknown
3748{
3749    virtual HRESULT STDMETHODCALLTYPE MapPID(
3750        ULONG culPID,
3751        ULONG *pulPID,
3752        MEDIA_SAMPLE_CONTENT MediaSampleContent) = 0;
3753
3754    virtual HRESULT STDMETHODCALLTYPE UnmapPID(
3755        ULONG culPID,
3756        ULONG *pulPID) = 0;
3757
3758    virtual HRESULT STDMETHODCALLTYPE EnumPIDMap(
3759        IEnumPIDMap **pIEnumPIDMap) = 0;
3760
3761};
3762#ifdef __CRT_UUID_DECL
3763__CRT_UUID_DECL(IMPEG2PIDMap, 0xafb6c2a1, 0x2c41, 0x11d3, 0x8a,0x60, 0x00,0x00,0xf8,0x1e,0x0e,0x4a)
3764#endif
3765#else
3766typedef struct IMPEG2PIDMapVtbl {
3767    BEGIN_INTERFACE
3768
3769    /*** IUnknown methods ***/
3770    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3771        IMPEG2PIDMap *This,
3772        REFIID riid,
3773        void **ppvObject);
3774
3775    ULONG (STDMETHODCALLTYPE *AddRef)(
3776        IMPEG2PIDMap *This);
3777
3778    ULONG (STDMETHODCALLTYPE *Release)(
3779        IMPEG2PIDMap *This);
3780
3781    /*** IMPEG2PIDMap methods ***/
3782    HRESULT (STDMETHODCALLTYPE *MapPID)(
3783        IMPEG2PIDMap *This,
3784        ULONG culPID,
3785        ULONG *pulPID,
3786        MEDIA_SAMPLE_CONTENT MediaSampleContent);
3787
3788    HRESULT (STDMETHODCALLTYPE *UnmapPID)(
3789        IMPEG2PIDMap *This,
3790        ULONG culPID,
3791        ULONG *pulPID);
3792
3793    HRESULT (STDMETHODCALLTYPE *EnumPIDMap)(
3794        IMPEG2PIDMap *This,
3795        IEnumPIDMap **pIEnumPIDMap);
3796
3797    END_INTERFACE
3798} IMPEG2PIDMapVtbl;
3799
3800interface IMPEG2PIDMap {
3801    CONST_VTBL IMPEG2PIDMapVtbl* lpVtbl;
3802};
3803
3804#ifdef COBJMACROS
3805#ifndef WIDL_C_INLINE_WRAPPERS
3806/*** IUnknown methods ***/
3807#define IMPEG2PIDMap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3808#define IMPEG2PIDMap_AddRef(This) (This)->lpVtbl->AddRef(This)
3809#define IMPEG2PIDMap_Release(This) (This)->lpVtbl->Release(This)
3810/*** IMPEG2PIDMap methods ***/
3811#define IMPEG2PIDMap_MapPID(This,culPID,pulPID,MediaSampleContent) (This)->lpVtbl->MapPID(This,culPID,pulPID,MediaSampleContent)
3812#define IMPEG2PIDMap_UnmapPID(This,culPID,pulPID) (This)->lpVtbl->UnmapPID(This,culPID,pulPID)
3813#define IMPEG2PIDMap_EnumPIDMap(This,pIEnumPIDMap) (This)->lpVtbl->EnumPIDMap(This,pIEnumPIDMap)
3814#else
3815/*** IUnknown methods ***/
3816static inline HRESULT IMPEG2PIDMap_QueryInterface(IMPEG2PIDMap* This,REFIID riid,void **ppvObject) {
3817    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3818}
3819static inline ULONG IMPEG2PIDMap_AddRef(IMPEG2PIDMap* This) {
3820    return This->lpVtbl->AddRef(This);
3821}
3822static inline ULONG IMPEG2PIDMap_Release(IMPEG2PIDMap* This) {
3823    return This->lpVtbl->Release(This);
3824}
3825/*** IMPEG2PIDMap methods ***/
3826static inline HRESULT IMPEG2PIDMap_MapPID(IMPEG2PIDMap* This,ULONG culPID,ULONG *pulPID,MEDIA_SAMPLE_CONTENT MediaSampleContent) {
3827    return This->lpVtbl->MapPID(This,culPID,pulPID,MediaSampleContent);
3828}
3829static inline HRESULT IMPEG2PIDMap_UnmapPID(IMPEG2PIDMap* This,ULONG culPID,ULONG *pulPID) {
3830    return This->lpVtbl->UnmapPID(This,culPID,pulPID);
3831}
3832static inline HRESULT IMPEG2PIDMap_EnumPIDMap(IMPEG2PIDMap* This,IEnumPIDMap **pIEnumPIDMap) {
3833    return This->lpVtbl->EnumPIDMap(This,pIEnumPIDMap);
3834}
3835#endif
3836#endif
3837
3838#endif
3839
3840
3841#endif  /* __IMPEG2PIDMap_INTERFACE_DEFINED__ */
3842
3843/*****************************************************************************
3844 * IFrequencyMap interface
3845 */
3846#ifndef __IFrequencyMap_INTERFACE_DEFINED__
3847#define __IFrequencyMap_INTERFACE_DEFINED__
3848
3849DEFINE_GUID(IID_IFrequencyMap, 0x06fb45c1, 0x693c, 0x4ea7, 0xb7,0x9f, 0x7a,0x6a,0x54,0xd8,0xde,0xf2);
3850#if defined(__cplusplus) && !defined(CINTERFACE)
3851MIDL_INTERFACE("06fb45c1-693c-4ea7-b79f-7a6a54d8def2")
3852IFrequencyMap : public IUnknown
3853{
3854    virtual HRESULT STDMETHODCALLTYPE get_FrequencyMapping(
3855        ULONG *ulCount,
3856        ULONG **ppulList) = 0;
3857
3858    virtual HRESULT STDMETHODCALLTYPE put_FrequencyMapping(
3859        ULONG ulCount,
3860        ULONG pList[]) = 0;
3861
3862    virtual HRESULT STDMETHODCALLTYPE get_CountryCode(
3863        ULONG *pulCountryCode) = 0;
3864
3865    virtual HRESULT STDMETHODCALLTYPE put_CountryCode(
3866        ULONG ulCountryCode) = 0;
3867
3868    virtual HRESULT STDMETHODCALLTYPE get_DefaultFrequencyMapping(
3869        ULONG ulCountryCode,
3870        ULONG *pulCount,
3871        ULONG **ppulList) = 0;
3872
3873    virtual HRESULT STDMETHODCALLTYPE get_CountryCodeList(
3874        ULONG *pulCount,
3875        ULONG **ppulList) = 0;
3876
3877};
3878#ifdef __CRT_UUID_DECL
3879__CRT_UUID_DECL(IFrequencyMap, 0x06fb45c1, 0x693c, 0x4ea7, 0xb7,0x9f, 0x7a,0x6a,0x54,0xd8,0xde,0xf2)
3880#endif
3881#else
3882typedef struct IFrequencyMapVtbl {
3883    BEGIN_INTERFACE
3884
3885    /*** IUnknown methods ***/
3886    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3887        IFrequencyMap *This,
3888        REFIID riid,
3889        void **ppvObject);
3890
3891    ULONG (STDMETHODCALLTYPE *AddRef)(
3892        IFrequencyMap *This);
3893
3894    ULONG (STDMETHODCALLTYPE *Release)(
3895        IFrequencyMap *This);
3896
3897    /*** IFrequencyMap methods ***/
3898    HRESULT (STDMETHODCALLTYPE *get_FrequencyMapping)(
3899        IFrequencyMap *This,
3900        ULONG *ulCount,
3901        ULONG **ppulList);
3902
3903    HRESULT (STDMETHODCALLTYPE *put_FrequencyMapping)(
3904        IFrequencyMap *This,
3905        ULONG ulCount,
3906        ULONG pList[]);
3907
3908    HRESULT (STDMETHODCALLTYPE *get_CountryCode)(
3909        IFrequencyMap *This,
3910        ULONG *pulCountryCode);
3911
3912    HRESULT (STDMETHODCALLTYPE *put_CountryCode)(
3913        IFrequencyMap *This,
3914        ULONG ulCountryCode);
3915
3916    HRESULT (STDMETHODCALLTYPE *get_DefaultFrequencyMapping)(
3917        IFrequencyMap *This,
3918        ULONG ulCountryCode,
3919        ULONG *pulCount,
3920        ULONG **ppulList);
3921
3922    HRESULT (STDMETHODCALLTYPE *get_CountryCodeList)(
3923        IFrequencyMap *This,
3924        ULONG *pulCount,
3925        ULONG **ppulList);
3926
3927    END_INTERFACE
3928} IFrequencyMapVtbl;
3929
3930interface IFrequencyMap {
3931    CONST_VTBL IFrequencyMapVtbl* lpVtbl;
3932};
3933
3934#ifdef COBJMACROS
3935#ifndef WIDL_C_INLINE_WRAPPERS
3936/*** IUnknown methods ***/
3937#define IFrequencyMap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3938#define IFrequencyMap_AddRef(This) (This)->lpVtbl->AddRef(This)
3939#define IFrequencyMap_Release(This) (This)->lpVtbl->Release(This)
3940/*** IFrequencyMap methods ***/
3941#define IFrequencyMap_get_FrequencyMapping(This,ulCount,ppulList) (This)->lpVtbl->get_FrequencyMapping(This,ulCount,ppulList)
3942#define IFrequencyMap_put_FrequencyMapping(This,ulCount,pList) (This)->lpVtbl->put_FrequencyMapping(This,ulCount,pList)
3943#define IFrequencyMap_get_CountryCode(This,pulCountryCode) (This)->lpVtbl->get_CountryCode(This,pulCountryCode)
3944#define IFrequencyMap_put_CountryCode(This,ulCountryCode) (This)->lpVtbl->put_CountryCode(This,ulCountryCode)
3945#define IFrequencyMap_get_DefaultFrequencyMapping(This,ulCountryCode,pulCount,ppulList) (This)->lpVtbl->get_DefaultFrequencyMapping(This,ulCountryCode,pulCount,ppulList)
3946#define IFrequencyMap_get_CountryCodeList(This,pulCount,ppulList) (This)->lpVtbl->get_CountryCodeList(This,pulCount,ppulList)
3947#else
3948/*** IUnknown methods ***/
3949static inline HRESULT IFrequencyMap_QueryInterface(IFrequencyMap* This,REFIID riid,void **ppvObject) {
3950    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3951}
3952static inline ULONG IFrequencyMap_AddRef(IFrequencyMap* This) {
3953    return This->lpVtbl->AddRef(This);
3954}
3955static inline ULONG IFrequencyMap_Release(IFrequencyMap* This) {
3956    return This->lpVtbl->Release(This);
3957}
3958/*** IFrequencyMap methods ***/
3959static inline HRESULT IFrequencyMap_get_FrequencyMapping(IFrequencyMap* This,ULONG *ulCount,ULONG **ppulList) {
3960    return This->lpVtbl->get_FrequencyMapping(This,ulCount,ppulList);
3961}
3962static inline HRESULT IFrequencyMap_put_FrequencyMapping(IFrequencyMap* This,ULONG ulCount,ULONG pList[]) {
3963    return This->lpVtbl->put_FrequencyMapping(This,ulCount,pList);
3964}
3965static inline HRESULT IFrequencyMap_get_CountryCode(IFrequencyMap* This,ULONG *pulCountryCode) {
3966    return This->lpVtbl->get_CountryCode(This,pulCountryCode);
3967}
3968static inline HRESULT IFrequencyMap_put_CountryCode(IFrequencyMap* This,ULONG ulCountryCode) {
3969    return This->lpVtbl->put_CountryCode(This,ulCountryCode);
3970}
3971static inline HRESULT IFrequencyMap_get_DefaultFrequencyMapping(IFrequencyMap* This,ULONG ulCountryCode,ULONG *pulCount,ULONG **ppulList) {
3972    return This->lpVtbl->get_DefaultFrequencyMapping(This,ulCountryCode,pulCount,ppulList);
3973}
3974static inline HRESULT IFrequencyMap_get_CountryCodeList(IFrequencyMap* This,ULONG *pulCount,ULONG **ppulList) {
3975    return This->lpVtbl->get_CountryCodeList(This,pulCount,ppulList);
3976}
3977#endif
3978#endif
3979
3980#endif
3981
3982
3983#endif  /* __IFrequencyMap_INTERFACE_DEFINED__ */
3984
3985/*****************************************************************************
3986 * IBDA_EasMessage interface
3987 */
3988#ifndef __IBDA_EasMessage_INTERFACE_DEFINED__
3989#define __IBDA_EasMessage_INTERFACE_DEFINED__
3990
3991DEFINE_GUID(IID_IBDA_EasMessage, 0xd806973d, 0x3ebe, 0x46de, 0x8f,0xbb, 0x63,0x58,0xfe,0x78,0x42,0x08);
3992#if defined(__cplusplus) && !defined(CINTERFACE)
3993MIDL_INTERFACE("d806973d-3ebe-46de-8fbb-6358fe784208")
3994IBDA_EasMessage : public IUnknown
3995{
3996    virtual HRESULT STDMETHODCALLTYPE get_EasMessage(
3997        ULONG ulEventID,
3998        IUnknown **ppEASObject) = 0;
3999
4000};
4001#ifdef __CRT_UUID_DECL
4002__CRT_UUID_DECL(IBDA_EasMessage, 0xd806973d, 0x3ebe, 0x46de, 0x8f,0xbb, 0x63,0x58,0xfe,0x78,0x42,0x08)
4003#endif
4004#else
4005typedef struct IBDA_EasMessageVtbl {
4006    BEGIN_INTERFACE
4007
4008    /*** IUnknown methods ***/
4009    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4010        IBDA_EasMessage *This,
4011        REFIID riid,
4012        void **ppvObject);
4013
4014    ULONG (STDMETHODCALLTYPE *AddRef)(
4015        IBDA_EasMessage *This);
4016
4017    ULONG (STDMETHODCALLTYPE *Release)(
4018        IBDA_EasMessage *This);
4019
4020    /*** IBDA_EasMessage methods ***/
4021    HRESULT (STDMETHODCALLTYPE *get_EasMessage)(
4022        IBDA_EasMessage *This,
4023        ULONG ulEventID,
4024        IUnknown **ppEASObject);
4025
4026    END_INTERFACE
4027} IBDA_EasMessageVtbl;
4028
4029interface IBDA_EasMessage {
4030    CONST_VTBL IBDA_EasMessageVtbl* lpVtbl;
4031};
4032
4033#ifdef COBJMACROS
4034#ifndef WIDL_C_INLINE_WRAPPERS
4035/*** IUnknown methods ***/
4036#define IBDA_EasMessage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4037#define IBDA_EasMessage_AddRef(This) (This)->lpVtbl->AddRef(This)
4038#define IBDA_EasMessage_Release(This) (This)->lpVtbl->Release(This)
4039/*** IBDA_EasMessage methods ***/
4040#define IBDA_EasMessage_get_EasMessage(This,ulEventID,ppEASObject) (This)->lpVtbl->get_EasMessage(This,ulEventID,ppEASObject)
4041#else
4042/*** IUnknown methods ***/
4043static inline HRESULT IBDA_EasMessage_QueryInterface(IBDA_EasMessage* This,REFIID riid,void **ppvObject) {
4044    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4045}
4046static inline ULONG IBDA_EasMessage_AddRef(IBDA_EasMessage* This) {
4047    return This->lpVtbl->AddRef(This);
4048}
4049static inline ULONG IBDA_EasMessage_Release(IBDA_EasMessage* This) {
4050    return This->lpVtbl->Release(This);
4051}
4052/*** IBDA_EasMessage methods ***/
4053static inline HRESULT IBDA_EasMessage_get_EasMessage(IBDA_EasMessage* This,ULONG ulEventID,IUnknown **ppEASObject) {
4054    return This->lpVtbl->get_EasMessage(This,ulEventID,ppEASObject);
4055}
4056#endif
4057#endif
4058
4059#endif
4060
4061
4062#endif  /* __IBDA_EasMessage_INTERFACE_DEFINED__ */
4063
4064/*****************************************************************************
4065 * IBDA_TransportStreamInfo interface
4066 */
4067#ifndef __IBDA_TransportStreamInfo_INTERFACE_DEFINED__
4068#define __IBDA_TransportStreamInfo_INTERFACE_DEFINED__
4069
4070DEFINE_GUID(IID_IBDA_TransportStreamInfo, 0x8e882535, 0x5f86, 0x47ab, 0x86,0xcf, 0xc2,0x81,0xa7,0x2a,0x05,0x49);
4071#if defined(__cplusplus) && !defined(CINTERFACE)
4072MIDL_INTERFACE("8e882535-5f86-47ab-86cf-c281a72a0549")
4073IBDA_TransportStreamInfo : public IUnknown
4074{
4075    virtual HRESULT STDMETHODCALLTYPE get_PatTableTickCount(
4076        ULONG *pPatTickCount) = 0;
4077
4078};
4079#ifdef __CRT_UUID_DECL
4080__CRT_UUID_DECL(IBDA_TransportStreamInfo, 0x8e882535, 0x5f86, 0x47ab, 0x86,0xcf, 0xc2,0x81,0xa7,0x2a,0x05,0x49)
4081#endif
4082#else
4083typedef struct IBDA_TransportStreamInfoVtbl {
4084    BEGIN_INTERFACE
4085
4086    /*** IUnknown methods ***/
4087    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4088        IBDA_TransportStreamInfo *This,
4089        REFIID riid,
4090        void **ppvObject);
4091
4092    ULONG (STDMETHODCALLTYPE *AddRef)(
4093        IBDA_TransportStreamInfo *This);
4094
4095    ULONG (STDMETHODCALLTYPE *Release)(
4096        IBDA_TransportStreamInfo *This);
4097
4098    /*** IBDA_TransportStreamInfo methods ***/
4099    HRESULT (STDMETHODCALLTYPE *get_PatTableTickCount)(
4100        IBDA_TransportStreamInfo *This,
4101        ULONG *pPatTickCount);
4102
4103    END_INTERFACE
4104} IBDA_TransportStreamInfoVtbl;
4105
4106interface IBDA_TransportStreamInfo {
4107    CONST_VTBL IBDA_TransportStreamInfoVtbl* lpVtbl;
4108};
4109
4110#ifdef COBJMACROS
4111#ifndef WIDL_C_INLINE_WRAPPERS
4112/*** IUnknown methods ***/
4113#define IBDA_TransportStreamInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4114#define IBDA_TransportStreamInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
4115#define IBDA_TransportStreamInfo_Release(This) (This)->lpVtbl->Release(This)
4116/*** IBDA_TransportStreamInfo methods ***/
4117#define IBDA_TransportStreamInfo_get_PatTableTickCount(This,pPatTickCount) (This)->lpVtbl->get_PatTableTickCount(This,pPatTickCount)
4118#else
4119/*** IUnknown methods ***/
4120static inline HRESULT IBDA_TransportStreamInfo_QueryInterface(IBDA_TransportStreamInfo* This,REFIID riid,void **ppvObject) {
4121    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4122}
4123static inline ULONG IBDA_TransportStreamInfo_AddRef(IBDA_TransportStreamInfo* This) {
4124    return This->lpVtbl->AddRef(This);
4125}
4126static inline ULONG IBDA_TransportStreamInfo_Release(IBDA_TransportStreamInfo* This) {
4127    return This->lpVtbl->Release(This);
4128}
4129/*** IBDA_TransportStreamInfo methods ***/
4130static inline HRESULT IBDA_TransportStreamInfo_get_PatTableTickCount(IBDA_TransportStreamInfo* This,ULONG *pPatTickCount) {
4131    return This->lpVtbl->get_PatTableTickCount(This,pPatTickCount);
4132}
4133#endif
4134#endif
4135
4136#endif
4137
4138
4139#endif  /* __IBDA_TransportStreamInfo_INTERFACE_DEFINED__ */
4140
4141/*****************************************************************************
4142 * IBDA_ConditionalAccess interface
4143 */
4144#ifndef __IBDA_ConditionalAccess_INTERFACE_DEFINED__
4145#define __IBDA_ConditionalAccess_INTERFACE_DEFINED__
4146
4147DEFINE_GUID(IID_IBDA_ConditionalAccess, 0xcd51f1e0, 0x7be9, 0x4123, 0x84,0x82, 0xa2,0xa7,0x96,0xc0,0xa6,0xb0);
4148#if defined(__cplusplus) && !defined(CINTERFACE)
4149MIDL_INTERFACE("cd51f1e0-7be9-4123-8482-a2a796c0a6b0")
4150IBDA_ConditionalAccess : public IUnknown
4151{
4152    virtual HRESULT STDMETHODCALLTYPE get_SmartCardStatus(
4153        SmartCardStatusType *pCardStatus,
4154        SmartCardAssociationType *pCardAssociation,
4155        BSTR *pbstrCardError,
4156        VARIANT_BOOL *pfOOBLocked) = 0;
4157
4158    virtual HRESULT STDMETHODCALLTYPE get_SmartCardInfo(
4159        BSTR *pbstrCardName,
4160        BSTR *pbstrCardManufacturer,
4161        VARIANT_BOOL *pfDaylightSavings,
4162        BYTE *pbyRatingRegion,
4163        LONG *plTimeZoneOffsetMinutes,
4164        BSTR *pbstrLanguage,
4165        EALocationCodeType *pEALocationCode) = 0;
4166
4167    virtual HRESULT STDMETHODCALLTYPE get_SmartCardApplications(
4168        ULONG *pulcApplications,
4169        ULONG ulcApplicationsMax,
4170        SmartCardApplication rgApplications[]) = 0;
4171
4172    virtual HRESULT STDMETHODCALLTYPE get_Entitlement(
4173        USHORT usVirtualChannel,
4174        EntitlementType *pEntitlement) = 0;
4175
4176    virtual HRESULT STDMETHODCALLTYPE TuneByChannel(
4177        USHORT usVirtualChannel) = 0;
4178
4179    virtual HRESULT STDMETHODCALLTYPE SetProgram(
4180        USHORT usProgramNumber) = 0;
4181
4182    virtual HRESULT STDMETHODCALLTYPE AddProgram(
4183        USHORT usProgramNumber) = 0;
4184
4185    virtual HRESULT STDMETHODCALLTYPE RemoveProgram(
4186        USHORT usProgramNumber) = 0;
4187
4188    virtual HRESULT STDMETHODCALLTYPE GetModuleUI(
4189        BYTE byDialogNumber,
4190        BSTR *pbstrURL) = 0;
4191
4192    virtual HRESULT STDMETHODCALLTYPE InformUIClosed(
4193        BYTE byDialogNumber,
4194        UICloseReasonType CloseReason) = 0;
4195
4196};
4197#ifdef __CRT_UUID_DECL
4198__CRT_UUID_DECL(IBDA_ConditionalAccess, 0xcd51f1e0, 0x7be9, 0x4123, 0x84,0x82, 0xa2,0xa7,0x96,0xc0,0xa6,0xb0)
4199#endif
4200#else
4201typedef struct IBDA_ConditionalAccessVtbl {
4202    BEGIN_INTERFACE
4203
4204    /*** IUnknown methods ***/
4205    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4206        IBDA_ConditionalAccess *This,
4207        REFIID riid,
4208        void **ppvObject);
4209
4210    ULONG (STDMETHODCALLTYPE *AddRef)(
4211        IBDA_ConditionalAccess *This);
4212
4213    ULONG (STDMETHODCALLTYPE *Release)(
4214        IBDA_ConditionalAccess *This);
4215
4216    /*** IBDA_ConditionalAccess methods ***/
4217    HRESULT (STDMETHODCALLTYPE *get_SmartCardStatus)(
4218        IBDA_ConditionalAccess *This,
4219        SmartCardStatusType *pCardStatus,
4220        SmartCardAssociationType *pCardAssociation,
4221        BSTR *pbstrCardError,
4222        VARIANT_BOOL *pfOOBLocked);
4223
4224    HRESULT (STDMETHODCALLTYPE *get_SmartCardInfo)(
4225        IBDA_ConditionalAccess *This,
4226        BSTR *pbstrCardName,
4227        BSTR *pbstrCardManufacturer,
4228        VARIANT_BOOL *pfDaylightSavings,
4229        BYTE *pbyRatingRegion,
4230        LONG *plTimeZoneOffsetMinutes,
4231        BSTR *pbstrLanguage,
4232        EALocationCodeType *pEALocationCode);
4233
4234    HRESULT (STDMETHODCALLTYPE *get_SmartCardApplications)(
4235        IBDA_ConditionalAccess *This,
4236        ULONG *pulcApplications,
4237        ULONG ulcApplicationsMax,
4238        SmartCardApplication rgApplications[]);
4239
4240    HRESULT (STDMETHODCALLTYPE *get_Entitlement)(
4241        IBDA_ConditionalAccess *This,
4242        USHORT usVirtualChannel,
4243        EntitlementType *pEntitlement);
4244
4245    HRESULT (STDMETHODCALLTYPE *TuneByChannel)(
4246        IBDA_ConditionalAccess *This,
4247        USHORT usVirtualChannel);
4248
4249    HRESULT (STDMETHODCALLTYPE *SetProgram)(
4250        IBDA_ConditionalAccess *This,
4251        USHORT usProgramNumber);
4252
4253    HRESULT (STDMETHODCALLTYPE *AddProgram)(
4254        IBDA_ConditionalAccess *This,
4255        USHORT usProgramNumber);
4256
4257    HRESULT (STDMETHODCALLTYPE *RemoveProgram)(
4258        IBDA_ConditionalAccess *This,
4259        USHORT usProgramNumber);
4260
4261    HRESULT (STDMETHODCALLTYPE *GetModuleUI)(
4262        IBDA_ConditionalAccess *This,
4263        BYTE byDialogNumber,
4264        BSTR *pbstrURL);
4265
4266    HRESULT (STDMETHODCALLTYPE *InformUIClosed)(
4267        IBDA_ConditionalAccess *This,
4268        BYTE byDialogNumber,
4269        UICloseReasonType CloseReason);
4270
4271    END_INTERFACE
4272} IBDA_ConditionalAccessVtbl;
4273
4274interface IBDA_ConditionalAccess {
4275    CONST_VTBL IBDA_ConditionalAccessVtbl* lpVtbl;
4276};
4277
4278#ifdef COBJMACROS
4279#ifndef WIDL_C_INLINE_WRAPPERS
4280/*** IUnknown methods ***/
4281#define IBDA_ConditionalAccess_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4282#define IBDA_ConditionalAccess_AddRef(This) (This)->lpVtbl->AddRef(This)
4283#define IBDA_ConditionalAccess_Release(This) (This)->lpVtbl->Release(This)
4284/*** IBDA_ConditionalAccess methods ***/
4285#define IBDA_ConditionalAccess_get_SmartCardStatus(This,pCardStatus,pCardAssociation,pbstrCardError,pfOOBLocked) (This)->lpVtbl->get_SmartCardStatus(This,pCardStatus,pCardAssociation,pbstrCardError,pfOOBLocked)
4286#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)
4287#define IBDA_ConditionalAccess_get_SmartCardApplications(This,pulcApplications,ulcApplicationsMax,rgApplications) (This)->lpVtbl->get_SmartCardApplications(This,pulcApplications,ulcApplicationsMax,rgApplications)
4288#define IBDA_ConditionalAccess_get_Entitlement(This,usVirtualChannel,pEntitlement) (This)->lpVtbl->get_Entitlement(This,usVirtualChannel,pEntitlement)
4289#define IBDA_ConditionalAccess_TuneByChannel(This,usVirtualChannel) (This)->lpVtbl->TuneByChannel(This,usVirtualChannel)
4290#define IBDA_ConditionalAccess_SetProgram(This,usProgramNumber) (This)->lpVtbl->SetProgram(This,usProgramNumber)
4291#define IBDA_ConditionalAccess_AddProgram(This,usProgramNumber) (This)->lpVtbl->AddProgram(This,usProgramNumber)
4292#define IBDA_ConditionalAccess_RemoveProgram(This,usProgramNumber) (This)->lpVtbl->RemoveProgram(This,usProgramNumber)
4293#define IBDA_ConditionalAccess_GetModuleUI(This,byDialogNumber,pbstrURL) (This)->lpVtbl->GetModuleUI(This,byDialogNumber,pbstrURL)
4294#define IBDA_ConditionalAccess_InformUIClosed(This,byDialogNumber,CloseReason) (This)->lpVtbl->InformUIClosed(This,byDialogNumber,CloseReason)
4295#else
4296/*** IUnknown methods ***/
4297static inline HRESULT IBDA_ConditionalAccess_QueryInterface(IBDA_ConditionalAccess* This,REFIID riid,void **ppvObject) {
4298    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4299}
4300static inline ULONG IBDA_ConditionalAccess_AddRef(IBDA_ConditionalAccess* This) {
4301    return This->lpVtbl->AddRef(This);
4302}
4303static inline ULONG IBDA_ConditionalAccess_Release(IBDA_ConditionalAccess* This) {
4304    return This->lpVtbl->Release(This);
4305}
4306/*** IBDA_ConditionalAccess methods ***/
4307static inline HRESULT IBDA_ConditionalAccess_get_SmartCardStatus(IBDA_ConditionalAccess* This,SmartCardStatusType *pCardStatus,SmartCardAssociationType *pCardAssociation,BSTR *pbstrCardError,VARIANT_BOOL *pfOOBLocked) {
4308    return This->lpVtbl->get_SmartCardStatus(This,pCardStatus,pCardAssociation,pbstrCardError,pfOOBLocked);
4309}
4310static inline HRESULT IBDA_ConditionalAccess_get_SmartCardInfo(IBDA_ConditionalAccess* This,BSTR *pbstrCardName,BSTR *pbstrCardManufacturer,VARIANT_BOOL *pfDaylightSavings,BYTE *pbyRatingRegion,LONG *plTimeZoneOffsetMinutes,BSTR *pbstrLanguage,EALocationCodeType *pEALocationCode) {
4311    return This->lpVtbl->get_SmartCardInfo(This,pbstrCardName,pbstrCardManufacturer,pfDaylightSavings,pbyRatingRegion,plTimeZoneOffsetMinutes,pbstrLanguage,pEALocationCode);
4312}
4313static inline HRESULT IBDA_ConditionalAccess_get_SmartCardApplications(IBDA_ConditionalAccess* This,ULONG *pulcApplications,ULONG ulcApplicationsMax,SmartCardApplication rgApplications[]) {
4314    return This->lpVtbl->get_SmartCardApplications(This,pulcApplications,ulcApplicationsMax,rgApplications);
4315}
4316static inline HRESULT IBDA_ConditionalAccess_get_Entitlement(IBDA_ConditionalAccess* This,USHORT usVirtualChannel,EntitlementType *pEntitlement) {
4317    return This->lpVtbl->get_Entitlement(This,usVirtualChannel,pEntitlement);
4318}
4319static inline HRESULT IBDA_ConditionalAccess_TuneByChannel(IBDA_ConditionalAccess* This,USHORT usVirtualChannel) {
4320    return This->lpVtbl->TuneByChannel(This,usVirtualChannel);
4321}
4322static inline HRESULT IBDA_ConditionalAccess_SetProgram(IBDA_ConditionalAccess* This,USHORT usProgramNumber) {
4323    return This->lpVtbl->SetProgram(This,usProgramNumber);
4324}
4325static inline HRESULT IBDA_ConditionalAccess_AddProgram(IBDA_ConditionalAccess* This,USHORT usProgramNumber) {
4326    return This->lpVtbl->AddProgram(This,usProgramNumber);
4327}
4328static inline HRESULT IBDA_ConditionalAccess_RemoveProgram(IBDA_ConditionalAccess* This,USHORT usProgramNumber) {
4329    return This->lpVtbl->RemoveProgram(This,usProgramNumber);
4330}
4331static inline HRESULT IBDA_ConditionalAccess_GetModuleUI(IBDA_ConditionalAccess* This,BYTE byDialogNumber,BSTR *pbstrURL) {
4332    return This->lpVtbl->GetModuleUI(This,byDialogNumber,pbstrURL);
4333}
4334static inline HRESULT IBDA_ConditionalAccess_InformUIClosed(IBDA_ConditionalAccess* This,BYTE byDialogNumber,UICloseReasonType CloseReason) {
4335    return This->lpVtbl->InformUIClosed(This,byDialogNumber,CloseReason);
4336}
4337#endif
4338#endif
4339
4340#endif
4341
4342
4343#endif  /* __IBDA_ConditionalAccess_INTERFACE_DEFINED__ */
4344
4345/*****************************************************************************
4346 * IBDA_DiagnosticProperties interface
4347 */
4348#ifndef __IBDA_DiagnosticProperties_INTERFACE_DEFINED__
4349#define __IBDA_DiagnosticProperties_INTERFACE_DEFINED__
4350
4351DEFINE_GUID(IID_IBDA_DiagnosticProperties, 0x20e80cb5, 0xc543, 0x4c1b, 0x8e,0xb3, 0x49,0xe7,0x19,0xee,0xe7,0xd4);
4352#if defined(__cplusplus) && !defined(CINTERFACE)
4353MIDL_INTERFACE("20e80cb5-c543-4c1b-8eb3-49e719eee7d4")
4354IBDA_DiagnosticProperties : public IPropertyBag
4355{
4356};
4357#ifdef __CRT_UUID_DECL
4358__CRT_UUID_DECL(IBDA_DiagnosticProperties, 0x20e80cb5, 0xc543, 0x4c1b, 0x8e,0xb3, 0x49,0xe7,0x19,0xee,0xe7,0xd4)
4359#endif
4360#else
4361typedef struct IBDA_DiagnosticPropertiesVtbl {
4362    BEGIN_INTERFACE
4363
4364    /*** IUnknown methods ***/
4365    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4366        IBDA_DiagnosticProperties *This,
4367        REFIID riid,
4368        void **ppvObject);
4369
4370    ULONG (STDMETHODCALLTYPE *AddRef)(
4371        IBDA_DiagnosticProperties *This);
4372
4373    ULONG (STDMETHODCALLTYPE *Release)(
4374        IBDA_DiagnosticProperties *This);
4375
4376    /*** IPropertyBag methods ***/
4377    HRESULT (STDMETHODCALLTYPE *Read)(
4378        IBDA_DiagnosticProperties *This,
4379        LPCOLESTR pszPropName,
4380        VARIANT *pVar,
4381        IErrorLog *pErrorLog);
4382
4383    HRESULT (STDMETHODCALLTYPE *Write)(
4384        IBDA_DiagnosticProperties *This,
4385        LPCOLESTR pszPropName,
4386        VARIANT *pVar);
4387
4388    END_INTERFACE
4389} IBDA_DiagnosticPropertiesVtbl;
4390
4391interface IBDA_DiagnosticProperties {
4392    CONST_VTBL IBDA_DiagnosticPropertiesVtbl* lpVtbl;
4393};
4394
4395#ifdef COBJMACROS
4396#ifndef WIDL_C_INLINE_WRAPPERS
4397/*** IUnknown methods ***/
4398#define IBDA_DiagnosticProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4399#define IBDA_DiagnosticProperties_AddRef(This) (This)->lpVtbl->AddRef(This)
4400#define IBDA_DiagnosticProperties_Release(This) (This)->lpVtbl->Release(This)
4401/*** IPropertyBag methods ***/
4402#define IBDA_DiagnosticProperties_Read(This,pszPropName,pVar,pErrorLog) (This)->lpVtbl->Read(This,pszPropName,pVar,pErrorLog)
4403#define IBDA_DiagnosticProperties_Write(This,pszPropName,pVar) (This)->lpVtbl->Write(This,pszPropName,pVar)
4404#else
4405/*** IUnknown methods ***/
4406static inline HRESULT IBDA_DiagnosticProperties_QueryInterface(IBDA_DiagnosticProperties* This,REFIID riid,void **ppvObject) {
4407    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4408}
4409static inline ULONG IBDA_DiagnosticProperties_AddRef(IBDA_DiagnosticProperties* This) {
4410    return This->lpVtbl->AddRef(This);
4411}
4412static inline ULONG IBDA_DiagnosticProperties_Release(IBDA_DiagnosticProperties* This) {
4413    return This->lpVtbl->Release(This);
4414}
4415/*** IPropertyBag methods ***/
4416static inline HRESULT IBDA_DiagnosticProperties_Read(IBDA_DiagnosticProperties* This,LPCOLESTR pszPropName,VARIANT *pVar,IErrorLog *pErrorLog) {
4417    return This->lpVtbl->Read(This,pszPropName,pVar,pErrorLog);
4418}
4419static inline HRESULT IBDA_DiagnosticProperties_Write(IBDA_DiagnosticProperties* This,LPCOLESTR pszPropName,VARIANT *pVar) {
4420    return This->lpVtbl->Write(This,pszPropName,pVar);
4421}
4422#endif
4423#endif
4424
4425#endif
4426
4427
4428#endif  /* __IBDA_DiagnosticProperties_INTERFACE_DEFINED__ */
4429
4430/*****************************************************************************
4431 * IBDA_DRM interface
4432 */
4433#ifndef __IBDA_DRM_INTERFACE_DEFINED__
4434#define __IBDA_DRM_INTERFACE_DEFINED__
4435
4436DEFINE_GUID(IID_IBDA_DRM, 0xf98d88b0, 0x1992, 0x4cd6, 0xa6,0xd9, 0xb9,0xaf,0xab,0x99,0x33,0x0d);
4437#if defined(__cplusplus) && !defined(CINTERFACE)
4438MIDL_INTERFACE("f98d88b0-1992-4cd6-a6d9-b9afab99330d")
4439IBDA_DRM : public IUnknown
4440{
4441    virtual HRESULT STDMETHODCALLTYPE GetDRMPairingStatus(
4442        DWORD *pdwStatus,
4443        HRESULT *phError) = 0;
4444
4445    virtual HRESULT STDMETHODCALLTYPE PerformDRMPairing(
4446        WINBOOL fSync) = 0;
4447
4448};
4449#ifdef __CRT_UUID_DECL
4450__CRT_UUID_DECL(IBDA_DRM, 0xf98d88b0, 0x1992, 0x4cd6, 0xa6,0xd9, 0xb9,0xaf,0xab,0x99,0x33,0x0d)
4451#endif
4452#else
4453typedef struct IBDA_DRMVtbl {
4454    BEGIN_INTERFACE
4455
4456    /*** IUnknown methods ***/
4457    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4458        IBDA_DRM *This,
4459        REFIID riid,
4460        void **ppvObject);
4461
4462    ULONG (STDMETHODCALLTYPE *AddRef)(
4463        IBDA_DRM *This);
4464
4465    ULONG (STDMETHODCALLTYPE *Release)(
4466        IBDA_DRM *This);
4467
4468    /*** IBDA_DRM methods ***/
4469    HRESULT (STDMETHODCALLTYPE *GetDRMPairingStatus)(
4470        IBDA_DRM *This,
4471        DWORD *pdwStatus,
4472        HRESULT *phError);
4473
4474    HRESULT (STDMETHODCALLTYPE *PerformDRMPairing)(
4475        IBDA_DRM *This,
4476        WINBOOL fSync);
4477
4478    END_INTERFACE
4479} IBDA_DRMVtbl;
4480
4481interface IBDA_DRM {
4482    CONST_VTBL IBDA_DRMVtbl* lpVtbl;
4483};
4484
4485#ifdef COBJMACROS
4486#ifndef WIDL_C_INLINE_WRAPPERS
4487/*** IUnknown methods ***/
4488#define IBDA_DRM_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4489#define IBDA_DRM_AddRef(This) (This)->lpVtbl->AddRef(This)
4490#define IBDA_DRM_Release(This) (This)->lpVtbl->Release(This)
4491/*** IBDA_DRM methods ***/
4492#define IBDA_DRM_GetDRMPairingStatus(This,pdwStatus,phError) (This)->lpVtbl->GetDRMPairingStatus(This,pdwStatus,phError)
4493#define IBDA_DRM_PerformDRMPairing(This,fSync) (This)->lpVtbl->PerformDRMPairing(This,fSync)
4494#else
4495/*** IUnknown methods ***/
4496static inline HRESULT IBDA_DRM_QueryInterface(IBDA_DRM* This,REFIID riid,void **ppvObject) {
4497    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4498}
4499static inline ULONG IBDA_DRM_AddRef(IBDA_DRM* This) {
4500    return This->lpVtbl->AddRef(This);
4501}
4502static inline ULONG IBDA_DRM_Release(IBDA_DRM* This) {
4503    return This->lpVtbl->Release(This);
4504}
4505/*** IBDA_DRM methods ***/
4506static inline HRESULT IBDA_DRM_GetDRMPairingStatus(IBDA_DRM* This,DWORD *pdwStatus,HRESULT *phError) {
4507    return This->lpVtbl->GetDRMPairingStatus(This,pdwStatus,phError);
4508}
4509static inline HRESULT IBDA_DRM_PerformDRMPairing(IBDA_DRM* This,WINBOOL fSync) {
4510    return This->lpVtbl->PerformDRMPairing(This,fSync);
4511}
4512#endif
4513#endif
4514
4515#endif
4516
4517
4518#endif  /* __IBDA_DRM_INTERFACE_DEFINED__ */
4519
4520/*****************************************************************************
4521 * IBDA_NameValueService interface
4522 */
4523#ifndef __IBDA_NameValueService_INTERFACE_DEFINED__
4524#define __IBDA_NameValueService_INTERFACE_DEFINED__
4525
4526DEFINE_GUID(IID_IBDA_NameValueService, 0x7f0b3150, 0x7b81, 0x4ad4, 0x98,0xe3, 0x7e,0x90,0x97,0x09,0x43,0x01);
4527#if defined(__cplusplus) && !defined(CINTERFACE)
4528MIDL_INTERFACE("7f0b3150-7b81-4ad4-98e3-7e9097094301")
4529IBDA_NameValueService : public IUnknown
4530{
4531    virtual HRESULT STDMETHODCALLTYPE GetValueNameByIndex(
4532        ULONG ulIndex,
4533        BSTR *pbstrName) = 0;
4534
4535    virtual HRESULT STDMETHODCALLTYPE GetValue(
4536        BSTR bstrName,
4537        BSTR bstrLanguage,
4538        BSTR *pbstrValue) = 0;
4539
4540    virtual HRESULT STDMETHODCALLTYPE SetValue(
4541        ULONG ulDialogRequest,
4542        BSTR bstrLanguage,
4543        BSTR bstrName,
4544        BSTR bstrValue,
4545        ULONG ulReserved) = 0;
4546
4547};
4548#ifdef __CRT_UUID_DECL
4549__CRT_UUID_DECL(IBDA_NameValueService, 0x7f0b3150, 0x7b81, 0x4ad4, 0x98,0xe3, 0x7e,0x90,0x97,0x09,0x43,0x01)
4550#endif
4551#else
4552typedef struct IBDA_NameValueServiceVtbl {
4553    BEGIN_INTERFACE
4554
4555    /*** IUnknown methods ***/
4556    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4557        IBDA_NameValueService *This,
4558        REFIID riid,
4559        void **ppvObject);
4560
4561    ULONG (STDMETHODCALLTYPE *AddRef)(
4562        IBDA_NameValueService *This);
4563
4564    ULONG (STDMETHODCALLTYPE *Release)(
4565        IBDA_NameValueService *This);
4566
4567    /*** IBDA_NameValueService methods ***/
4568    HRESULT (STDMETHODCALLTYPE *GetValueNameByIndex)(
4569        IBDA_NameValueService *This,
4570        ULONG ulIndex,
4571        BSTR *pbstrName);
4572
4573    HRESULT (STDMETHODCALLTYPE *GetValue)(
4574        IBDA_NameValueService *This,
4575        BSTR bstrName,
4576        BSTR bstrLanguage,
4577        BSTR *pbstrValue);
4578
4579    HRESULT (STDMETHODCALLTYPE *SetValue)(
4580        IBDA_NameValueService *This,
4581        ULONG ulDialogRequest,
4582        BSTR bstrLanguage,
4583        BSTR bstrName,
4584        BSTR bstrValue,
4585        ULONG ulReserved);
4586
4587    END_INTERFACE
4588} IBDA_NameValueServiceVtbl;
4589
4590interface IBDA_NameValueService {
4591    CONST_VTBL IBDA_NameValueServiceVtbl* lpVtbl;
4592};
4593
4594#ifdef COBJMACROS
4595#ifndef WIDL_C_INLINE_WRAPPERS
4596/*** IUnknown methods ***/
4597#define IBDA_NameValueService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4598#define IBDA_NameValueService_AddRef(This) (This)->lpVtbl->AddRef(This)
4599#define IBDA_NameValueService_Release(This) (This)->lpVtbl->Release(This)
4600/*** IBDA_NameValueService methods ***/
4601#define IBDA_NameValueService_GetValueNameByIndex(This,ulIndex,pbstrName) (This)->lpVtbl->GetValueNameByIndex(This,ulIndex,pbstrName)
4602#define IBDA_NameValueService_GetValue(This,bstrName,bstrLanguage,pbstrValue) (This)->lpVtbl->GetValue(This,bstrName,bstrLanguage,pbstrValue)
4603#define IBDA_NameValueService_SetValue(This,ulDialogRequest,bstrLanguage,bstrName,bstrValue,ulReserved) (This)->lpVtbl->SetValue(This,ulDialogRequest,bstrLanguage,bstrName,bstrValue,ulReserved)
4604#else
4605/*** IUnknown methods ***/
4606static inline HRESULT IBDA_NameValueService_QueryInterface(IBDA_NameValueService* This,REFIID riid,void **ppvObject) {
4607    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4608}
4609static inline ULONG IBDA_NameValueService_AddRef(IBDA_NameValueService* This) {
4610    return This->lpVtbl->AddRef(This);
4611}
4612static inline ULONG IBDA_NameValueService_Release(IBDA_NameValueService* This) {
4613    return This->lpVtbl->Release(This);
4614}
4615/*** IBDA_NameValueService methods ***/
4616static inline HRESULT IBDA_NameValueService_GetValueNameByIndex(IBDA_NameValueService* This,ULONG ulIndex,BSTR *pbstrName) {
4617    return This->lpVtbl->GetValueNameByIndex(This,ulIndex,pbstrName);
4618}
4619static inline HRESULT IBDA_NameValueService_GetValue(IBDA_NameValueService* This,BSTR bstrName,BSTR bstrLanguage,BSTR *pbstrValue) {
4620    return This->lpVtbl->GetValue(This,bstrName,bstrLanguage,pbstrValue);
4621}
4622static inline HRESULT IBDA_NameValueService_SetValue(IBDA_NameValueService* This,ULONG ulDialogRequest,BSTR bstrLanguage,BSTR bstrName,BSTR bstrValue,ULONG ulReserved) {
4623    return This->lpVtbl->SetValue(This,ulDialogRequest,bstrLanguage,bstrName,bstrValue,ulReserved);
4624}
4625#endif
4626#endif
4627
4628#endif
4629
4630
4631#endif  /* __IBDA_NameValueService_INTERFACE_DEFINED__ */
4632
4633/*****************************************************************************
4634 * IBDA_ConditionalAccessEx interface
4635 */
4636#ifndef __IBDA_ConditionalAccessEx_INTERFACE_DEFINED__
4637#define __IBDA_ConditionalAccessEx_INTERFACE_DEFINED__
4638
4639DEFINE_GUID(IID_IBDA_ConditionalAccessEx, 0x497c3418, 0x23cb, 0x44ba, 0xbb,0x62, 0x76,0x9f,0x50,0x6f,0xce,0xa7);
4640#if defined(__cplusplus) && !defined(CINTERFACE)
4641MIDL_INTERFACE("497c3418-23cb-44ba-bb62-769f506fcea7")
4642IBDA_ConditionalAccessEx : public IUnknown
4643{
4644    virtual HRESULT STDMETHODCALLTYPE CheckEntitlementToken(
4645        ULONG ulDialogRequest,
4646        BSTR bstrLanguage,
4647        BDA_CONDITIONALACCESS_REQUESTTYPE RequestType,
4648        ULONG ulcbEntitlementTokenLen,
4649        BYTE *pbEntitlementToken,
4650        ULONG *pulDescrambleStatus) = 0;
4651
4652    virtual HRESULT STDMETHODCALLTYPE SetCaptureToken(
4653        ULONG ulcbCaptureTokenLen,
4654        BYTE *pbCaptureToken) = 0;
4655
4656    virtual HRESULT STDMETHODCALLTYPE OpenBroadcastMmi(
4657        ULONG ulDialogRequest,
4658        BSTR bstrLanguage,
4659        ULONG EventId) = 0;
4660
4661    virtual HRESULT STDMETHODCALLTYPE CloseMmiDialog(
4662        ULONG ulDialogRequest,
4663        BSTR bstrLanguage,
4664        ULONG ulDialogNumber,
4665        BDA_CONDITIONALACCESS_MMICLOSEREASON ReasonCode,
4666        ULONG *pulSessionResult) = 0;
4667
4668    virtual HRESULT STDMETHODCALLTYPE CreateDialogRequestNumber(
4669        ULONG *pulDialogRequestNumber) = 0;
4670
4671};
4672#ifdef __CRT_UUID_DECL
4673__CRT_UUID_DECL(IBDA_ConditionalAccessEx, 0x497c3418, 0x23cb, 0x44ba, 0xbb,0x62, 0x76,0x9f,0x50,0x6f,0xce,0xa7)
4674#endif
4675#else
4676typedef struct IBDA_ConditionalAccessExVtbl {
4677    BEGIN_INTERFACE
4678
4679    /*** IUnknown methods ***/
4680    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4681        IBDA_ConditionalAccessEx *This,
4682        REFIID riid,
4683        void **ppvObject);
4684
4685    ULONG (STDMETHODCALLTYPE *AddRef)(
4686        IBDA_ConditionalAccessEx *This);
4687
4688    ULONG (STDMETHODCALLTYPE *Release)(
4689        IBDA_ConditionalAccessEx *This);
4690
4691    /*** IBDA_ConditionalAccessEx methods ***/
4692    HRESULT (STDMETHODCALLTYPE *CheckEntitlementToken)(
4693        IBDA_ConditionalAccessEx *This,
4694        ULONG ulDialogRequest,
4695        BSTR bstrLanguage,
4696        BDA_CONDITIONALACCESS_REQUESTTYPE RequestType,
4697        ULONG ulcbEntitlementTokenLen,
4698        BYTE *pbEntitlementToken,
4699        ULONG *pulDescrambleStatus);
4700
4701    HRESULT (STDMETHODCALLTYPE *SetCaptureToken)(
4702        IBDA_ConditionalAccessEx *This,
4703        ULONG ulcbCaptureTokenLen,
4704        BYTE *pbCaptureToken);
4705
4706    HRESULT (STDMETHODCALLTYPE *OpenBroadcastMmi)(
4707        IBDA_ConditionalAccessEx *This,
4708        ULONG ulDialogRequest,
4709        BSTR bstrLanguage,
4710        ULONG EventId);
4711
4712    HRESULT (STDMETHODCALLTYPE *CloseMmiDialog)(
4713        IBDA_ConditionalAccessEx *This,
4714        ULONG ulDialogRequest,
4715        BSTR bstrLanguage,
4716        ULONG ulDialogNumber,
4717        BDA_CONDITIONALACCESS_MMICLOSEREASON ReasonCode,
4718        ULONG *pulSessionResult);
4719
4720    HRESULT (STDMETHODCALLTYPE *CreateDialogRequestNumber)(
4721        IBDA_ConditionalAccessEx *This,
4722        ULONG *pulDialogRequestNumber);
4723
4724    END_INTERFACE
4725} IBDA_ConditionalAccessExVtbl;
4726
4727interface IBDA_ConditionalAccessEx {
4728    CONST_VTBL IBDA_ConditionalAccessExVtbl* lpVtbl;
4729};
4730
4731#ifdef COBJMACROS
4732#ifndef WIDL_C_INLINE_WRAPPERS
4733/*** IUnknown methods ***/
4734#define IBDA_ConditionalAccessEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4735#define IBDA_ConditionalAccessEx_AddRef(This) (This)->lpVtbl->AddRef(This)
4736#define IBDA_ConditionalAccessEx_Release(This) (This)->lpVtbl->Release(This)
4737/*** IBDA_ConditionalAccessEx methods ***/
4738#define IBDA_ConditionalAccessEx_CheckEntitlementToken(This,ulDialogRequest,bstrLanguage,RequestType,ulcbEntitlementTokenLen,pbEntitlementToken,pulDescrambleStatus) (This)->lpVtbl->CheckEntitlementToken(This,ulDialogRequest,bstrLanguage,RequestType,ulcbEntitlementTokenLen,pbEntitlementToken,pulDescrambleStatus)
4739#define IBDA_ConditionalAccessEx_SetCaptureToken(This,ulcbCaptureTokenLen,pbCaptureToken) (This)->lpVtbl->SetCaptureToken(This,ulcbCaptureTokenLen,pbCaptureToken)
4740#define IBDA_ConditionalAccessEx_OpenBroadcastMmi(This,ulDialogRequest,bstrLanguage,EventId) (This)->lpVtbl->OpenBroadcastMmi(This,ulDialogRequest,bstrLanguage,EventId)
4741#define IBDA_ConditionalAccessEx_CloseMmiDialog(This,ulDialogRequest,bstrLanguage,ulDialogNumber,ReasonCode,pulSessionResult) (This)->lpVtbl->CloseMmiDialog(This,ulDialogRequest,bstrLanguage,ulDialogNumber,ReasonCode,pulSessionResult)
4742#define IBDA_ConditionalAccessEx_CreateDialogRequestNumber(This,pulDialogRequestNumber) (This)->lpVtbl->CreateDialogRequestNumber(This,pulDialogRequestNumber)
4743#else
4744/*** IUnknown methods ***/
4745static inline HRESULT IBDA_ConditionalAccessEx_QueryInterface(IBDA_ConditionalAccessEx* This,REFIID riid,void **ppvObject) {
4746    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4747}
4748static inline ULONG IBDA_ConditionalAccessEx_AddRef(IBDA_ConditionalAccessEx* This) {
4749    return This->lpVtbl->AddRef(This);
4750}
4751static inline ULONG IBDA_ConditionalAccessEx_Release(IBDA_ConditionalAccessEx* This) {
4752    return This->lpVtbl->Release(This);
4753}
4754/*** IBDA_ConditionalAccessEx methods ***/
4755static inline HRESULT IBDA_ConditionalAccessEx_CheckEntitlementToken(IBDA_ConditionalAccessEx* This,ULONG ulDialogRequest,BSTR bstrLanguage,BDA_CONDITIONALACCESS_REQUESTTYPE RequestType,ULONG ulcbEntitlementTokenLen,BYTE *pbEntitlementToken,ULONG *pulDescrambleStatus) {
4756    return This->lpVtbl->CheckEntitlementToken(This,ulDialogRequest,bstrLanguage,RequestType,ulcbEntitlementTokenLen,pbEntitlementToken,pulDescrambleStatus);
4757}
4758static inline HRESULT IBDA_ConditionalAccessEx_SetCaptureToken(IBDA_ConditionalAccessEx* This,ULONG ulcbCaptureTokenLen,BYTE *pbCaptureToken) {
4759    return This->lpVtbl->SetCaptureToken(This,ulcbCaptureTokenLen,pbCaptureToken);
4760}
4761static inline HRESULT IBDA_ConditionalAccessEx_OpenBroadcastMmi(IBDA_ConditionalAccessEx* This,ULONG ulDialogRequest,BSTR bstrLanguage,ULONG EventId) {
4762    return This->lpVtbl->OpenBroadcastMmi(This,ulDialogRequest,bstrLanguage,EventId);
4763}
4764static inline HRESULT IBDA_ConditionalAccessEx_CloseMmiDialog(IBDA_ConditionalAccessEx* This,ULONG ulDialogRequest,BSTR bstrLanguage,ULONG ulDialogNumber,BDA_CONDITIONALACCESS_MMICLOSEREASON ReasonCode,ULONG *pulSessionResult) {
4765    return This->lpVtbl->CloseMmiDialog(This,ulDialogRequest,bstrLanguage,ulDialogNumber,ReasonCode,pulSessionResult);
4766}
4767static inline HRESULT IBDA_ConditionalAccessEx_CreateDialogRequestNumber(IBDA_ConditionalAccessEx* This,ULONG *pulDialogRequestNumber) {
4768    return This->lpVtbl->CreateDialogRequestNumber(This,pulDialogRequestNumber);
4769}
4770#endif
4771#endif
4772
4773#endif
4774
4775
4776#endif  /* __IBDA_ConditionalAccessEx_INTERFACE_DEFINED__ */
4777
4778/*****************************************************************************
4779 * IBDA_ISDBConditionalAccess interface
4780 */
4781#ifndef __IBDA_ISDBConditionalAccess_INTERFACE_DEFINED__
4782#define __IBDA_ISDBConditionalAccess_INTERFACE_DEFINED__
4783
4784DEFINE_GUID(IID_IBDA_ISDBConditionalAccess, 0x5e68c627, 0x16c2, 0x4e6c, 0xb1,0xe2, 0xd0,0x01,0x70,0xcd,0xaa,0x0f);
4785#if defined(__cplusplus) && !defined(CINTERFACE)
4786MIDL_INTERFACE("5e68c627-16c2-4e6c-b1e2-d00170cdaa0f")
4787IBDA_ISDBConditionalAccess : public IUnknown
4788{
4789    virtual HRESULT STDMETHODCALLTYPE SetIsdbCasRequest(
4790        ULONG ulRequestId,
4791        ULONG ulcbRequestBufferLen,
4792        BYTE *pbRequestBuffer) = 0;
4793
4794};
4795#ifdef __CRT_UUID_DECL
4796__CRT_UUID_DECL(IBDA_ISDBConditionalAccess, 0x5e68c627, 0x16c2, 0x4e6c, 0xb1,0xe2, 0xd0,0x01,0x70,0xcd,0xaa,0x0f)
4797#endif
4798#else
4799typedef struct IBDA_ISDBConditionalAccessVtbl {
4800    BEGIN_INTERFACE
4801
4802    /*** IUnknown methods ***/
4803    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4804        IBDA_ISDBConditionalAccess *This,
4805        REFIID riid,
4806        void **ppvObject);
4807
4808    ULONG (STDMETHODCALLTYPE *AddRef)(
4809        IBDA_ISDBConditionalAccess *This);
4810
4811    ULONG (STDMETHODCALLTYPE *Release)(
4812        IBDA_ISDBConditionalAccess *This);
4813
4814    /*** IBDA_ISDBConditionalAccess methods ***/
4815    HRESULT (STDMETHODCALLTYPE *SetIsdbCasRequest)(
4816        IBDA_ISDBConditionalAccess *This,
4817        ULONG ulRequestId,
4818        ULONG ulcbRequestBufferLen,
4819        BYTE *pbRequestBuffer);
4820
4821    END_INTERFACE
4822} IBDA_ISDBConditionalAccessVtbl;
4823
4824interface IBDA_ISDBConditionalAccess {
4825    CONST_VTBL IBDA_ISDBConditionalAccessVtbl* lpVtbl;
4826};
4827
4828#ifdef COBJMACROS
4829#ifndef WIDL_C_INLINE_WRAPPERS
4830/*** IUnknown methods ***/
4831#define IBDA_ISDBConditionalAccess_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4832#define IBDA_ISDBConditionalAccess_AddRef(This) (This)->lpVtbl->AddRef(This)
4833#define IBDA_ISDBConditionalAccess_Release(This) (This)->lpVtbl->Release(This)
4834/*** IBDA_ISDBConditionalAccess methods ***/
4835#define IBDA_ISDBConditionalAccess_SetIsdbCasRequest(This,ulRequestId,ulcbRequestBufferLen,pbRequestBuffer) (This)->lpVtbl->SetIsdbCasRequest(This,ulRequestId,ulcbRequestBufferLen,pbRequestBuffer)
4836#else
4837/*** IUnknown methods ***/
4838static inline HRESULT IBDA_ISDBConditionalAccess_QueryInterface(IBDA_ISDBConditionalAccess* This,REFIID riid,void **ppvObject) {
4839    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4840}
4841static inline ULONG IBDA_ISDBConditionalAccess_AddRef(IBDA_ISDBConditionalAccess* This) {
4842    return This->lpVtbl->AddRef(This);
4843}
4844static inline ULONG IBDA_ISDBConditionalAccess_Release(IBDA_ISDBConditionalAccess* This) {
4845    return This->lpVtbl->Release(This);
4846}
4847/*** IBDA_ISDBConditionalAccess methods ***/
4848static inline HRESULT IBDA_ISDBConditionalAccess_SetIsdbCasRequest(IBDA_ISDBConditionalAccess* This,ULONG ulRequestId,ULONG ulcbRequestBufferLen,BYTE *pbRequestBuffer) {
4849    return This->lpVtbl->SetIsdbCasRequest(This,ulRequestId,ulcbRequestBufferLen,pbRequestBuffer);
4850}
4851#endif
4852#endif
4853
4854#endif
4855
4856
4857#endif  /* __IBDA_ISDBConditionalAccess_INTERFACE_DEFINED__ */
4858
4859/*****************************************************************************
4860 * IBDA_EventingService interface
4861 */
4862#ifndef __IBDA_EventingService_INTERFACE_DEFINED__
4863#define __IBDA_EventingService_INTERFACE_DEFINED__
4864
4865DEFINE_GUID(IID_IBDA_EventingService, 0x207c413f, 0x00dc, 0x4c61, 0xba,0xd6, 0x6f,0xee,0x1f,0xf0,0x70,0x64);
4866#if defined(__cplusplus) && !defined(CINTERFACE)
4867MIDL_INTERFACE("207c413f-00dc-4c61-bad6-6fee1ff07064")
4868IBDA_EventingService : public IUnknown
4869{
4870    virtual HRESULT STDMETHODCALLTYPE CompleteEvent(
4871        ULONG ulEventID,
4872        ULONG ulEventResult) = 0;
4873
4874};
4875#ifdef __CRT_UUID_DECL
4876__CRT_UUID_DECL(IBDA_EventingService, 0x207c413f, 0x00dc, 0x4c61, 0xba,0xd6, 0x6f,0xee,0x1f,0xf0,0x70,0x64)
4877#endif
4878#else
4879typedef struct IBDA_EventingServiceVtbl {
4880    BEGIN_INTERFACE
4881
4882    /*** IUnknown methods ***/
4883    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4884        IBDA_EventingService *This,
4885        REFIID riid,
4886        void **ppvObject);
4887
4888    ULONG (STDMETHODCALLTYPE *AddRef)(
4889        IBDA_EventingService *This);
4890
4891    ULONG (STDMETHODCALLTYPE *Release)(
4892        IBDA_EventingService *This);
4893
4894    /*** IBDA_EventingService methods ***/
4895    HRESULT (STDMETHODCALLTYPE *CompleteEvent)(
4896        IBDA_EventingService *This,
4897        ULONG ulEventID,
4898        ULONG ulEventResult);
4899
4900    END_INTERFACE
4901} IBDA_EventingServiceVtbl;
4902
4903interface IBDA_EventingService {
4904    CONST_VTBL IBDA_EventingServiceVtbl* lpVtbl;
4905};
4906
4907#ifdef COBJMACROS
4908#ifndef WIDL_C_INLINE_WRAPPERS
4909/*** IUnknown methods ***/
4910#define IBDA_EventingService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4911#define IBDA_EventingService_AddRef(This) (This)->lpVtbl->AddRef(This)
4912#define IBDA_EventingService_Release(This) (This)->lpVtbl->Release(This)
4913/*** IBDA_EventingService methods ***/
4914#define IBDA_EventingService_CompleteEvent(This,ulEventID,ulEventResult) (This)->lpVtbl->CompleteEvent(This,ulEventID,ulEventResult)
4915#else
4916/*** IUnknown methods ***/
4917static inline HRESULT IBDA_EventingService_QueryInterface(IBDA_EventingService* This,REFIID riid,void **ppvObject) {
4918    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4919}
4920static inline ULONG IBDA_EventingService_AddRef(IBDA_EventingService* This) {
4921    return This->lpVtbl->AddRef(This);
4922}
4923static inline ULONG IBDA_EventingService_Release(IBDA_EventingService* This) {
4924    return This->lpVtbl->Release(This);
4925}
4926/*** IBDA_EventingService methods ***/
4927static inline HRESULT IBDA_EventingService_CompleteEvent(IBDA_EventingService* This,ULONG ulEventID,ULONG ulEventResult) {
4928    return This->lpVtbl->CompleteEvent(This,ulEventID,ulEventResult);
4929}
4930#endif
4931#endif
4932
4933#endif
4934
4935
4936#endif  /* __IBDA_EventingService_INTERFACE_DEFINED__ */
4937
4938/*****************************************************************************
4939 * IBDA_AUX interface
4940 */
4941#ifndef __IBDA_AUX_INTERFACE_DEFINED__
4942#define __IBDA_AUX_INTERFACE_DEFINED__
4943
4944DEFINE_GUID(IID_IBDA_AUX, 0x7def4c09, 0x6e66, 0x4567, 0xa8,0x19, 0xf0,0xe1,0x7f,0x4a,0x81,0xab);
4945#if defined(__cplusplus) && !defined(CINTERFACE)
4946MIDL_INTERFACE("7def4c09-6e66-4567-a819-f0e17f4a81ab")
4947IBDA_AUX : public IUnknown
4948{
4949    virtual HRESULT STDMETHODCALLTYPE QueryCapabilities(
4950        DWORD *pdwNumAuxInputsBSTR) = 0;
4951
4952    virtual HRESULT STDMETHODCALLTYPE EnumCapability(
4953        DWORD dwIndex,
4954        DWORD *dwInputID,
4955        GUID *pConnectorType,
4956        DWORD *ConnTypeNum,
4957        DWORD *NumVideoStds,
4958        ULONGLONG *AnalogStds) = 0;
4959
4960};
4961#ifdef __CRT_UUID_DECL
4962__CRT_UUID_DECL(IBDA_AUX, 0x7def4c09, 0x6e66, 0x4567, 0xa8,0x19, 0xf0,0xe1,0x7f,0x4a,0x81,0xab)
4963#endif
4964#else
4965typedef struct IBDA_AUXVtbl {
4966    BEGIN_INTERFACE
4967
4968    /*** IUnknown methods ***/
4969    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4970        IBDA_AUX *This,
4971        REFIID riid,
4972        void **ppvObject);
4973
4974    ULONG (STDMETHODCALLTYPE *AddRef)(
4975        IBDA_AUX *This);
4976
4977    ULONG (STDMETHODCALLTYPE *Release)(
4978        IBDA_AUX *This);
4979
4980    /*** IBDA_AUX methods ***/
4981    HRESULT (STDMETHODCALLTYPE *QueryCapabilities)(
4982        IBDA_AUX *This,
4983        DWORD *pdwNumAuxInputsBSTR);
4984
4985    HRESULT (STDMETHODCALLTYPE *EnumCapability)(
4986        IBDA_AUX *This,
4987        DWORD dwIndex,
4988        DWORD *dwInputID,
4989        GUID *pConnectorType,
4990        DWORD *ConnTypeNum,
4991        DWORD *NumVideoStds,
4992        ULONGLONG *AnalogStds);
4993
4994    END_INTERFACE
4995} IBDA_AUXVtbl;
4996
4997interface IBDA_AUX {
4998    CONST_VTBL IBDA_AUXVtbl* lpVtbl;
4999};
5000
5001#ifdef COBJMACROS
5002#ifndef WIDL_C_INLINE_WRAPPERS
5003/*** IUnknown methods ***/
5004#define IBDA_AUX_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5005#define IBDA_AUX_AddRef(This) (This)->lpVtbl->AddRef(This)
5006#define IBDA_AUX_Release(This) (This)->lpVtbl->Release(This)
5007/*** IBDA_AUX methods ***/
5008#define IBDA_AUX_QueryCapabilities(This,pdwNumAuxInputsBSTR) (This)->lpVtbl->QueryCapabilities(This,pdwNumAuxInputsBSTR)
5009#define IBDA_AUX_EnumCapability(This,dwIndex,dwInputID,pConnectorType,ConnTypeNum,NumVideoStds,AnalogStds) (This)->lpVtbl->EnumCapability(This,dwIndex,dwInputID,pConnectorType,ConnTypeNum,NumVideoStds,AnalogStds)
5010#else
5011/*** IUnknown methods ***/
5012static inline HRESULT IBDA_AUX_QueryInterface(IBDA_AUX* This,REFIID riid,void **ppvObject) {
5013    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5014}
5015static inline ULONG IBDA_AUX_AddRef(IBDA_AUX* This) {
5016    return This->lpVtbl->AddRef(This);
5017}
5018static inline ULONG IBDA_AUX_Release(IBDA_AUX* This) {
5019    return This->lpVtbl->Release(This);
5020}
5021/*** IBDA_AUX methods ***/
5022static inline HRESULT IBDA_AUX_QueryCapabilities(IBDA_AUX* This,DWORD *pdwNumAuxInputsBSTR) {
5023    return This->lpVtbl->QueryCapabilities(This,pdwNumAuxInputsBSTR);
5024}
5025static inline HRESULT IBDA_AUX_EnumCapability(IBDA_AUX* This,DWORD dwIndex,DWORD *dwInputID,GUID *pConnectorType,DWORD *ConnTypeNum,DWORD *NumVideoStds,ULONGLONG *AnalogStds) {
5026    return This->lpVtbl->EnumCapability(This,dwIndex,dwInputID,pConnectorType,ConnTypeNum,NumVideoStds,AnalogStds);
5027}
5028#endif
5029#endif
5030
5031#endif
5032
5033
5034#endif  /* __IBDA_AUX_INTERFACE_DEFINED__ */
5035
5036/*****************************************************************************
5037 * IBDA_Encoder interface
5038 */
5039#ifndef __IBDA_Encoder_INTERFACE_DEFINED__
5040#define __IBDA_Encoder_INTERFACE_DEFINED__
5041
5042DEFINE_GUID(IID_IBDA_Encoder, 0x3a8bad59, 0x59fe, 0x4559, 0xa0,0xba, 0x39,0x6c,0xfa,0xa9,0x8a,0xe3);
5043#if defined(__cplusplus) && !defined(CINTERFACE)
5044MIDL_INTERFACE("3a8bad59-59fe-4559-a0ba-396cfaa98ae3")
5045IBDA_Encoder : public IUnknown
5046{
5047    virtual HRESULT STDMETHODCALLTYPE QueryCapabilities(
5048        DWORD *NumAudioFmts,
5049        DWORD *NumVideoFmts) = 0;
5050
5051    virtual HRESULT STDMETHODCALLTYPE EnumAudioCapability(
5052        DWORD FmtIndex,
5053        DWORD *MethodID,
5054        DWORD *AlgorithmType,
5055        DWORD *SamplingRate,
5056        DWORD *BitDepth,
5057        DWORD *NumChannels) = 0;
5058
5059    virtual HRESULT STDMETHODCALLTYPE EnumVideoCapability(
5060        DWORD FmtIndex,
5061        DWORD *MethodID,
5062        DWORD *AlgorithmType,
5063        DWORD *VerticalSize,
5064        DWORD *HorizontalSize,
5065        DWORD *AspectRatio,
5066        DWORD *FrameRateCode,
5067        DWORD *ProgressiveSequence) = 0;
5068
5069    virtual HRESULT STDMETHODCALLTYPE SetParameters(
5070        DWORD AudioBitrateMode,
5071        DWORD AudioBitrate,
5072        DWORD AudioMethodID,
5073        DWORD AudioProgram,
5074        DWORD VideoBitrateMode,
5075        DWORD VideoBitrate,
5076        DWORD VideoMethodID) = 0;
5077
5078    virtual HRESULT STDMETHODCALLTYPE GetState(
5079        DWORD *AudioBitrateMax,
5080        DWORD *AudioBitrateMin,
5081        DWORD *AudioBitrateMode,
5082        DWORD *AudioBitrateStepping,
5083        DWORD *AudioBitrate,
5084        DWORD *AudioMethodID,
5085        DWORD *AvailableAudioPrograms,
5086        DWORD *AudioProgram,
5087        DWORD *VideoBitrateMax,
5088        DWORD *VideoBitrateMin,
5089        DWORD *VideoBitrateMode,
5090        DWORD *VideoBitrate,
5091        DWORD *VideoBitrateStepping,
5092        DWORD *VideoMethodID,
5093        DWORD *SignalSourceID,
5094        ULONGLONG *SignalFormat,
5095        WINBOOL *SignalLock,
5096        LONG *SignalLevel,
5097        DWORD *SignalToNoiseRatio) = 0;
5098
5099};
5100#ifdef __CRT_UUID_DECL
5101__CRT_UUID_DECL(IBDA_Encoder, 0x3a8bad59, 0x59fe, 0x4559, 0xa0,0xba, 0x39,0x6c,0xfa,0xa9,0x8a,0xe3)
5102#endif
5103#else
5104typedef struct IBDA_EncoderVtbl {
5105    BEGIN_INTERFACE
5106
5107    /*** IUnknown methods ***/
5108    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5109        IBDA_Encoder *This,
5110        REFIID riid,
5111        void **ppvObject);
5112
5113    ULONG (STDMETHODCALLTYPE *AddRef)(
5114        IBDA_Encoder *This);
5115
5116    ULONG (STDMETHODCALLTYPE *Release)(
5117        IBDA_Encoder *This);
5118
5119    /*** IBDA_Encoder methods ***/
5120    HRESULT (STDMETHODCALLTYPE *QueryCapabilities)(
5121        IBDA_Encoder *This,
5122        DWORD *NumAudioFmts,
5123        DWORD *NumVideoFmts);
5124
5125    HRESULT (STDMETHODCALLTYPE *EnumAudioCapability)(
5126        IBDA_Encoder *This,
5127        DWORD FmtIndex,
5128        DWORD *MethodID,
5129        DWORD *AlgorithmType,
5130        DWORD *SamplingRate,
5131        DWORD *BitDepth,
5132        DWORD *NumChannels);
5133
5134    HRESULT (STDMETHODCALLTYPE *EnumVideoCapability)(
5135        IBDA_Encoder *This,
5136        DWORD FmtIndex,
5137        DWORD *MethodID,
5138        DWORD *AlgorithmType,
5139        DWORD *VerticalSize,
5140        DWORD *HorizontalSize,
5141        DWORD *AspectRatio,
5142        DWORD *FrameRateCode,
5143        DWORD *ProgressiveSequence);
5144
5145    HRESULT (STDMETHODCALLTYPE *SetParameters)(
5146        IBDA_Encoder *This,
5147        DWORD AudioBitrateMode,
5148        DWORD AudioBitrate,
5149        DWORD AudioMethodID,
5150        DWORD AudioProgram,
5151        DWORD VideoBitrateMode,
5152        DWORD VideoBitrate,
5153        DWORD VideoMethodID);
5154
5155    HRESULT (STDMETHODCALLTYPE *GetState)(
5156        IBDA_Encoder *This,
5157        DWORD *AudioBitrateMax,
5158        DWORD *AudioBitrateMin,
5159        DWORD *AudioBitrateMode,
5160        DWORD *AudioBitrateStepping,
5161        DWORD *AudioBitrate,
5162        DWORD *AudioMethodID,
5163        DWORD *AvailableAudioPrograms,
5164        DWORD *AudioProgram,
5165        DWORD *VideoBitrateMax,
5166        DWORD *VideoBitrateMin,
5167        DWORD *VideoBitrateMode,
5168        DWORD *VideoBitrate,
5169        DWORD *VideoBitrateStepping,
5170        DWORD *VideoMethodID,
5171        DWORD *SignalSourceID,
5172        ULONGLONG *SignalFormat,
5173        WINBOOL *SignalLock,
5174        LONG *SignalLevel,
5175        DWORD *SignalToNoiseRatio);
5176
5177    END_INTERFACE
5178} IBDA_EncoderVtbl;
5179
5180interface IBDA_Encoder {
5181    CONST_VTBL IBDA_EncoderVtbl* lpVtbl;
5182};
5183
5184#ifdef COBJMACROS
5185#ifndef WIDL_C_INLINE_WRAPPERS
5186/*** IUnknown methods ***/
5187#define IBDA_Encoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5188#define IBDA_Encoder_AddRef(This) (This)->lpVtbl->AddRef(This)
5189#define IBDA_Encoder_Release(This) (This)->lpVtbl->Release(This)
5190/*** IBDA_Encoder methods ***/
5191#define IBDA_Encoder_QueryCapabilities(This,NumAudioFmts,NumVideoFmts) (This)->lpVtbl->QueryCapabilities(This,NumAudioFmts,NumVideoFmts)
5192#define IBDA_Encoder_EnumAudioCapability(This,FmtIndex,MethodID,AlgorithmType,SamplingRate,BitDepth,NumChannels) (This)->lpVtbl->EnumAudioCapability(This,FmtIndex,MethodID,AlgorithmType,SamplingRate,BitDepth,NumChannels)
5193#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)
5194#define IBDA_Encoder_SetParameters(This,AudioBitrateMode,AudioBitrate,AudioMethodID,AudioProgram,VideoBitrateMode,VideoBitrate,VideoMethodID) (This)->lpVtbl->SetParameters(This,AudioBitrateMode,AudioBitrate,AudioMethodID,AudioProgram,VideoBitrateMode,VideoBitrate,VideoMethodID)
5195#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)
5196#else
5197/*** IUnknown methods ***/
5198static inline HRESULT IBDA_Encoder_QueryInterface(IBDA_Encoder* This,REFIID riid,void **ppvObject) {
5199    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5200}
5201static inline ULONG IBDA_Encoder_AddRef(IBDA_Encoder* This) {
5202    return This->lpVtbl->AddRef(This);
5203}
5204static inline ULONG IBDA_Encoder_Release(IBDA_Encoder* This) {
5205    return This->lpVtbl->Release(This);
5206}
5207/*** IBDA_Encoder methods ***/
5208static inline HRESULT IBDA_Encoder_QueryCapabilities(IBDA_Encoder* This,DWORD *NumAudioFmts,DWORD *NumVideoFmts) {
5209    return This->lpVtbl->QueryCapabilities(This,NumAudioFmts,NumVideoFmts);
5210}
5211static inline HRESULT IBDA_Encoder_EnumAudioCapability(IBDA_Encoder* This,DWORD FmtIndex,DWORD *MethodID,DWORD *AlgorithmType,DWORD *SamplingRate,DWORD *BitDepth,DWORD *NumChannels) {
5212    return This->lpVtbl->EnumAudioCapability(This,FmtIndex,MethodID,AlgorithmType,SamplingRate,BitDepth,NumChannels);
5213}
5214static inline HRESULT IBDA_Encoder_EnumVideoCapability(IBDA_Encoder* This,DWORD FmtIndex,DWORD *MethodID,DWORD *AlgorithmType,DWORD *VerticalSize,DWORD *HorizontalSize,DWORD *AspectRatio,DWORD *FrameRateCode,DWORD *ProgressiveSequence) {
5215    return This->lpVtbl->EnumVideoCapability(This,FmtIndex,MethodID,AlgorithmType,VerticalSize,HorizontalSize,AspectRatio,FrameRateCode,ProgressiveSequence);
5216}
5217static inline HRESULT IBDA_Encoder_SetParameters(IBDA_Encoder* This,DWORD AudioBitrateMode,DWORD AudioBitrate,DWORD AudioMethodID,DWORD AudioProgram,DWORD VideoBitrateMode,DWORD VideoBitrate,DWORD VideoMethodID) {
5218    return This->lpVtbl->SetParameters(This,AudioBitrateMode,AudioBitrate,AudioMethodID,AudioProgram,VideoBitrateMode,VideoBitrate,VideoMethodID);
5219}
5220static inline 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) {
5221    return This->lpVtbl->GetState(This,AudioBitrateMax,AudioBitrateMin,AudioBitrateMode,AudioBitrateStepping,AudioBitrate,AudioMethodID,AvailableAudioPrograms,AudioProgram,VideoBitrateMax,VideoBitrateMin,VideoBitrateMode,VideoBitrate,VideoBitrateStepping,VideoMethodID,SignalSourceID,SignalFormat,SignalLock,SignalLevel,SignalToNoiseRatio);
5222}
5223#endif
5224#endif
5225
5226#endif
5227
5228
5229#endif  /* __IBDA_Encoder_INTERFACE_DEFINED__ */
5230
5231/*****************************************************************************
5232 * IBDA_FDC interface
5233 */
5234#ifndef __IBDA_FDC_INTERFACE_DEFINED__
5235#define __IBDA_FDC_INTERFACE_DEFINED__
5236
5237DEFINE_GUID(IID_IBDA_FDC, 0x138adc7e, 0x58ae, 0x437f, 0xb0,0xb4, 0xc9,0xfe,0x19,0xd5,0xb4,0xac);
5238#if defined(__cplusplus) && !defined(CINTERFACE)
5239MIDL_INTERFACE("138adc7e-58ae-437f-b0b4-c9fe19d5b4ac")
5240IBDA_FDC : public IUnknown
5241{
5242    virtual HRESULT STDMETHODCALLTYPE GetStatus(
5243        DWORD *CurrentBitrate,
5244        WINBOOL *CarrierLock,
5245        DWORD *CurrentFrequency,
5246        WINBOOL *CurrentSpectrumInversion,
5247        BSTR *CurrentPIDList,
5248        BSTR *CurrentTIDList,
5249        WINBOOL *Overflow) = 0;
5250
5251    virtual HRESULT STDMETHODCALLTYPE RequestTables(
5252        BSTR TableIDs) = 0;
5253
5254    virtual HRESULT STDMETHODCALLTYPE AddPid(
5255        BSTR PidsToAdd,
5256        DWORD *RemainingFilterEntries) = 0;
5257
5258    virtual HRESULT STDMETHODCALLTYPE RemovePid(
5259        BSTR PidsToRemove) = 0;
5260
5261    virtual HRESULT STDMETHODCALLTYPE AddTid(
5262        BSTR TidsToAdd,
5263        BSTR *CurrentTidList) = 0;
5264
5265    virtual HRESULT STDMETHODCALLTYPE RemoveTid(
5266        BSTR TidsToRemove) = 0;
5267
5268    virtual HRESULT STDMETHODCALLTYPE GetTableSection(
5269        DWORD *Pid,
5270        DWORD MaxBufferSize,
5271        DWORD *ActualSize,
5272        BYTE *SecBuffer) = 0;
5273
5274};
5275#ifdef __CRT_UUID_DECL
5276__CRT_UUID_DECL(IBDA_FDC, 0x138adc7e, 0x58ae, 0x437f, 0xb0,0xb4, 0xc9,0xfe,0x19,0xd5,0xb4,0xac)
5277#endif
5278#else
5279typedef struct IBDA_FDCVtbl {
5280    BEGIN_INTERFACE
5281
5282    /*** IUnknown methods ***/
5283    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5284        IBDA_FDC *This,
5285        REFIID riid,
5286        void **ppvObject);
5287
5288    ULONG (STDMETHODCALLTYPE *AddRef)(
5289        IBDA_FDC *This);
5290
5291    ULONG (STDMETHODCALLTYPE *Release)(
5292        IBDA_FDC *This);
5293
5294    /*** IBDA_FDC methods ***/
5295    HRESULT (STDMETHODCALLTYPE *GetStatus)(
5296        IBDA_FDC *This,
5297        DWORD *CurrentBitrate,
5298        WINBOOL *CarrierLock,
5299        DWORD *CurrentFrequency,
5300        WINBOOL *CurrentSpectrumInversion,
5301        BSTR *CurrentPIDList,
5302        BSTR *CurrentTIDList,
5303        WINBOOL *Overflow);
5304
5305    HRESULT (STDMETHODCALLTYPE *RequestTables)(
5306        IBDA_FDC *This,
5307        BSTR TableIDs);
5308
5309    HRESULT (STDMETHODCALLTYPE *AddPid)(
5310        IBDA_FDC *This,
5311        BSTR PidsToAdd,
5312        DWORD *RemainingFilterEntries);
5313
5314    HRESULT (STDMETHODCALLTYPE *RemovePid)(
5315        IBDA_FDC *This,
5316        BSTR PidsToRemove);
5317
5318    HRESULT (STDMETHODCALLTYPE *AddTid)(
5319        IBDA_FDC *This,
5320        BSTR TidsToAdd,
5321        BSTR *CurrentTidList);
5322
5323    HRESULT (STDMETHODCALLTYPE *RemoveTid)(
5324        IBDA_FDC *This,
5325        BSTR TidsToRemove);
5326
5327    HRESULT (STDMETHODCALLTYPE *GetTableSection)(
5328        IBDA_FDC *This,
5329        DWORD *Pid,
5330        DWORD MaxBufferSize,
5331        DWORD *ActualSize,
5332        BYTE *SecBuffer);
5333
5334    END_INTERFACE
5335} IBDA_FDCVtbl;
5336
5337interface IBDA_FDC {
5338    CONST_VTBL IBDA_FDCVtbl* lpVtbl;
5339};
5340
5341#ifdef COBJMACROS
5342#ifndef WIDL_C_INLINE_WRAPPERS
5343/*** IUnknown methods ***/
5344#define IBDA_FDC_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5345#define IBDA_FDC_AddRef(This) (This)->lpVtbl->AddRef(This)
5346#define IBDA_FDC_Release(This) (This)->lpVtbl->Release(This)
5347/*** IBDA_FDC methods ***/
5348#define IBDA_FDC_GetStatus(This,CurrentBitrate,CarrierLock,CurrentFrequency,CurrentSpectrumInversion,CurrentPIDList,CurrentTIDList,Overflow) (This)->lpVtbl->GetStatus(This,CurrentBitrate,CarrierLock,CurrentFrequency,CurrentSpectrumInversion,CurrentPIDList,CurrentTIDList,Overflow)
5349#define IBDA_FDC_RequestTables(This,TableIDs) (This)->lpVtbl->RequestTables(This,TableIDs)
5350#define IBDA_FDC_AddPid(This,PidsToAdd,RemainingFilterEntries) (This)->lpVtbl->AddPid(This,PidsToAdd,RemainingFilterEntries)
5351#define IBDA_FDC_RemovePid(This,PidsToRemove) (This)->lpVtbl->RemovePid(This,PidsToRemove)
5352#define IBDA_FDC_AddTid(This,TidsToAdd,CurrentTidList) (This)->lpVtbl->AddTid(This,TidsToAdd,CurrentTidList)
5353#define IBDA_FDC_RemoveTid(This,TidsToRemove) (This)->lpVtbl->RemoveTid(This,TidsToRemove)
5354#define IBDA_FDC_GetTableSection(This,Pid,MaxBufferSize,ActualSize,SecBuffer) (This)->lpVtbl->GetTableSection(This,Pid,MaxBufferSize,ActualSize,SecBuffer)
5355#else
5356/*** IUnknown methods ***/
5357static inline HRESULT IBDA_FDC_QueryInterface(IBDA_FDC* This,REFIID riid,void **ppvObject) {
5358    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5359}
5360static inline ULONG IBDA_FDC_AddRef(IBDA_FDC* This) {
5361    return This->lpVtbl->AddRef(This);
5362}
5363static inline ULONG IBDA_FDC_Release(IBDA_FDC* This) {
5364    return This->lpVtbl->Release(This);
5365}
5366/*** IBDA_FDC methods ***/
5367static inline HRESULT IBDA_FDC_GetStatus(IBDA_FDC* This,DWORD *CurrentBitrate,WINBOOL *CarrierLock,DWORD *CurrentFrequency,WINBOOL *CurrentSpectrumInversion,BSTR *CurrentPIDList,BSTR *CurrentTIDList,WINBOOL *Overflow) {
5368    return This->lpVtbl->GetStatus(This,CurrentBitrate,CarrierLock,CurrentFrequency,CurrentSpectrumInversion,CurrentPIDList,CurrentTIDList,Overflow);
5369}
5370static inline HRESULT IBDA_FDC_RequestTables(IBDA_FDC* This,BSTR TableIDs) {
5371    return This->lpVtbl->RequestTables(This,TableIDs);
5372}
5373static inline HRESULT IBDA_FDC_AddPid(IBDA_FDC* This,BSTR PidsToAdd,DWORD *RemainingFilterEntries) {
5374    return This->lpVtbl->AddPid(This,PidsToAdd,RemainingFilterEntries);
5375}
5376static inline HRESULT IBDA_FDC_RemovePid(IBDA_FDC* This,BSTR PidsToRemove) {
5377    return This->lpVtbl->RemovePid(This,PidsToRemove);
5378}
5379static inline HRESULT IBDA_FDC_AddTid(IBDA_FDC* This,BSTR TidsToAdd,BSTR *CurrentTidList) {
5380    return This->lpVtbl->AddTid(This,TidsToAdd,CurrentTidList);
5381}
5382static inline HRESULT IBDA_FDC_RemoveTid(IBDA_FDC* This,BSTR TidsToRemove) {
5383    return This->lpVtbl->RemoveTid(This,TidsToRemove);
5384}
5385static inline HRESULT IBDA_FDC_GetTableSection(IBDA_FDC* This,DWORD *Pid,DWORD MaxBufferSize,DWORD *ActualSize,BYTE *SecBuffer) {
5386    return This->lpVtbl->GetTableSection(This,Pid,MaxBufferSize,ActualSize,SecBuffer);
5387}
5388#endif
5389#endif
5390
5391#endif
5392
5393
5394#endif  /* __IBDA_FDC_INTERFACE_DEFINED__ */
5395
5396/*****************************************************************************
5397 * IBDA_GuideDataDeliveryService interface
5398 */
5399#ifndef __IBDA_GuideDataDeliveryService_INTERFACE_DEFINED__
5400#define __IBDA_GuideDataDeliveryService_INTERFACE_DEFINED__
5401
5402DEFINE_GUID(IID_IBDA_GuideDataDeliveryService, 0xc0afcb73, 0x23e7, 0x4bc6, 0xba,0xfa, 0xfd,0xc1,0x67,0xb4,0x71,0x9f);
5403#if defined(__cplusplus) && !defined(CINTERFACE)
5404MIDL_INTERFACE("c0afcb73-23e7-4bc6-bafa-fdc167b4719f")
5405IBDA_GuideDataDeliveryService : public IUnknown
5406{
5407    virtual HRESULT STDMETHODCALLTYPE GetGuideDataType(
5408        GUID *pguidDataType) = 0;
5409
5410    virtual HRESULT STDMETHODCALLTYPE GetGuideData(
5411        ULONG *pulcbBufferLen,
5412        BYTE *pbBuffer,
5413        ULONG *pulGuideDataPercentageProgress) = 0;
5414
5415    virtual HRESULT STDMETHODCALLTYPE RequestGuideDataUpdate(
5416        ) = 0;
5417
5418    virtual HRESULT STDMETHODCALLTYPE GetTuneXmlFromServiceIdx(
5419        ULONG64 ul64ServiceIdx,
5420        BSTR *pbstrTuneXml) = 0;
5421
5422    virtual HRESULT STDMETHODCALLTYPE GetServices(
5423        ULONG *pulcbBufferLen,
5424        BYTE *pbBuffer) = 0;
5425
5426    virtual HRESULT STDMETHODCALLTYPE GetServiceInfoFromTuneXml(
5427        BSTR bstrTuneXml,
5428        BSTR *pbstrServiceDescription) = 0;
5429
5430};
5431#ifdef __CRT_UUID_DECL
5432__CRT_UUID_DECL(IBDA_GuideDataDeliveryService, 0xc0afcb73, 0x23e7, 0x4bc6, 0xba,0xfa, 0xfd,0xc1,0x67,0xb4,0x71,0x9f)
5433#endif
5434#else
5435typedef struct IBDA_GuideDataDeliveryServiceVtbl {
5436    BEGIN_INTERFACE
5437
5438    /*** IUnknown methods ***/
5439    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5440        IBDA_GuideDataDeliveryService *This,
5441        REFIID riid,
5442        void **ppvObject);
5443
5444    ULONG (STDMETHODCALLTYPE *AddRef)(
5445        IBDA_GuideDataDeliveryService *This);
5446
5447    ULONG (STDMETHODCALLTYPE *Release)(
5448        IBDA_GuideDataDeliveryService *This);
5449
5450    /*** IBDA_GuideDataDeliveryService methods ***/
5451    HRESULT (STDMETHODCALLTYPE *GetGuideDataType)(
5452        IBDA_GuideDataDeliveryService *This,
5453        GUID *pguidDataType);
5454
5455    HRESULT (STDMETHODCALLTYPE *GetGuideData)(
5456        IBDA_GuideDataDeliveryService *This,
5457        ULONG *pulcbBufferLen,
5458        BYTE *pbBuffer,
5459        ULONG *pulGuideDataPercentageProgress);
5460
5461    HRESULT (STDMETHODCALLTYPE *RequestGuideDataUpdate)(
5462        IBDA_GuideDataDeliveryService *This);
5463
5464    HRESULT (STDMETHODCALLTYPE *GetTuneXmlFromServiceIdx)(
5465        IBDA_GuideDataDeliveryService *This,
5466        ULONG64 ul64ServiceIdx,
5467        BSTR *pbstrTuneXml);
5468
5469    HRESULT (STDMETHODCALLTYPE *GetServices)(
5470        IBDA_GuideDataDeliveryService *This,
5471        ULONG *pulcbBufferLen,
5472        BYTE *pbBuffer);
5473
5474    HRESULT (STDMETHODCALLTYPE *GetServiceInfoFromTuneXml)(
5475        IBDA_GuideDataDeliveryService *This,
5476        BSTR bstrTuneXml,
5477        BSTR *pbstrServiceDescription);
5478
5479    END_INTERFACE
5480} IBDA_GuideDataDeliveryServiceVtbl;
5481
5482interface IBDA_GuideDataDeliveryService {
5483    CONST_VTBL IBDA_GuideDataDeliveryServiceVtbl* lpVtbl;
5484};
5485
5486#ifdef COBJMACROS
5487#ifndef WIDL_C_INLINE_WRAPPERS
5488/*** IUnknown methods ***/
5489#define IBDA_GuideDataDeliveryService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5490#define IBDA_GuideDataDeliveryService_AddRef(This) (This)->lpVtbl->AddRef(This)
5491#define IBDA_GuideDataDeliveryService_Release(This) (This)->lpVtbl->Release(This)
5492/*** IBDA_GuideDataDeliveryService methods ***/
5493#define IBDA_GuideDataDeliveryService_GetGuideDataType(This,pguidDataType) (This)->lpVtbl->GetGuideDataType(This,pguidDataType)
5494#define IBDA_GuideDataDeliveryService_GetGuideData(This,pulcbBufferLen,pbBuffer,pulGuideDataPercentageProgress) (This)->lpVtbl->GetGuideData(This,pulcbBufferLen,pbBuffer,pulGuideDataPercentageProgress)
5495#define IBDA_GuideDataDeliveryService_RequestGuideDataUpdate(This) (This)->lpVtbl->RequestGuideDataUpdate(This)
5496#define IBDA_GuideDataDeliveryService_GetTuneXmlFromServiceIdx(This,ul64ServiceIdx,pbstrTuneXml) (This)->lpVtbl->GetTuneXmlFromServiceIdx(This,ul64ServiceIdx,pbstrTuneXml)
5497#define IBDA_GuideDataDeliveryService_GetServices(This,pulcbBufferLen,pbBuffer) (This)->lpVtbl->GetServices(This,pulcbBufferLen,pbBuffer)
5498#define IBDA_GuideDataDeliveryService_GetServiceInfoFromTuneXml(This,bstrTuneXml,pbstrServiceDescription) (This)->lpVtbl->GetServiceInfoFromTuneXml(This,bstrTuneXml,pbstrServiceDescription)
5499#else
5500/*** IUnknown methods ***/
5501static inline HRESULT IBDA_GuideDataDeliveryService_QueryInterface(IBDA_GuideDataDeliveryService* This,REFIID riid,void **ppvObject) {
5502    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5503}
5504static inline ULONG IBDA_GuideDataDeliveryService_AddRef(IBDA_GuideDataDeliveryService* This) {
5505    return This->lpVtbl->AddRef(This);
5506}
5507static inline ULONG IBDA_GuideDataDeliveryService_Release(IBDA_GuideDataDeliveryService* This) {
5508    return This->lpVtbl->Release(This);
5509}
5510/*** IBDA_GuideDataDeliveryService methods ***/
5511static inline HRESULT IBDA_GuideDataDeliveryService_GetGuideDataType(IBDA_GuideDataDeliveryService* This,GUID *pguidDataType) {
5512    return This->lpVtbl->GetGuideDataType(This,pguidDataType);
5513}
5514static inline HRESULT IBDA_GuideDataDeliveryService_GetGuideData(IBDA_GuideDataDeliveryService* This,ULONG *pulcbBufferLen,BYTE *pbBuffer,ULONG *pulGuideDataPercentageProgress) {
5515    return This->lpVtbl->GetGuideData(This,pulcbBufferLen,pbBuffer,pulGuideDataPercentageProgress);
5516}
5517static inline HRESULT IBDA_GuideDataDeliveryService_RequestGuideDataUpdate(IBDA_GuideDataDeliveryService* This) {
5518    return This->lpVtbl->RequestGuideDataUpdate(This);
5519}
5520static inline HRESULT IBDA_GuideDataDeliveryService_GetTuneXmlFromServiceIdx(IBDA_GuideDataDeliveryService* This,ULONG64 ul64ServiceIdx,BSTR *pbstrTuneXml) {
5521    return This->lpVtbl->GetTuneXmlFromServiceIdx(This,ul64ServiceIdx,pbstrTuneXml);
5522}
5523static inline HRESULT IBDA_GuideDataDeliveryService_GetServices(IBDA_GuideDataDeliveryService* This,ULONG *pulcbBufferLen,BYTE *pbBuffer) {
5524    return This->lpVtbl->GetServices(This,pulcbBufferLen,pbBuffer);
5525}
5526static inline HRESULT IBDA_GuideDataDeliveryService_GetServiceInfoFromTuneXml(IBDA_GuideDataDeliveryService* This,BSTR bstrTuneXml,BSTR *pbstrServiceDescription) {
5527    return This->lpVtbl->GetServiceInfoFromTuneXml(This,bstrTuneXml,pbstrServiceDescription);
5528}
5529#endif
5530#endif
5531
5532#endif
5533
5534
5535#endif  /* __IBDA_GuideDataDeliveryService_INTERFACE_DEFINED__ */
5536
5537/*****************************************************************************
5538 * IBDA_DRMService interface
5539 */
5540#ifndef __IBDA_DRMService_INTERFACE_DEFINED__
5541#define __IBDA_DRMService_INTERFACE_DEFINED__
5542
5543DEFINE_GUID(IID_IBDA_DRMService, 0xbff6b5bb, 0xb0ae, 0x484c, 0x9d,0xca, 0x73,0x52,0x8f,0xb0,0xb4,0x6e);
5544#if defined(__cplusplus) && !defined(CINTERFACE)
5545MIDL_INTERFACE("bff6b5bb-b0ae-484c-9dca-73528fb0b46e")
5546IBDA_DRMService : public IUnknown
5547{
5548    virtual HRESULT STDMETHODCALLTYPE SetDRM(
5549        GUID *puuidNewDrm) = 0;
5550
5551    virtual HRESULT STDMETHODCALLTYPE GetDRMStatus(
5552        BSTR *pbstrDrmUuidList,
5553        GUID *DrmUuid) = 0;
5554
5555};
5556#ifdef __CRT_UUID_DECL
5557__CRT_UUID_DECL(IBDA_DRMService, 0xbff6b5bb, 0xb0ae, 0x484c, 0x9d,0xca, 0x73,0x52,0x8f,0xb0,0xb4,0x6e)
5558#endif
5559#else
5560typedef struct IBDA_DRMServiceVtbl {
5561    BEGIN_INTERFACE
5562
5563    /*** IUnknown methods ***/
5564    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5565        IBDA_DRMService *This,
5566        REFIID riid,
5567        void **ppvObject);
5568
5569    ULONG (STDMETHODCALLTYPE *AddRef)(
5570        IBDA_DRMService *This);
5571
5572    ULONG (STDMETHODCALLTYPE *Release)(
5573        IBDA_DRMService *This);
5574
5575    /*** IBDA_DRMService methods ***/
5576    HRESULT (STDMETHODCALLTYPE *SetDRM)(
5577        IBDA_DRMService *This,
5578        GUID *puuidNewDrm);
5579
5580    HRESULT (STDMETHODCALLTYPE *GetDRMStatus)(
5581        IBDA_DRMService *This,
5582        BSTR *pbstrDrmUuidList,
5583        GUID *DrmUuid);
5584
5585    END_INTERFACE
5586} IBDA_DRMServiceVtbl;
5587
5588interface IBDA_DRMService {
5589    CONST_VTBL IBDA_DRMServiceVtbl* lpVtbl;
5590};
5591
5592#ifdef COBJMACROS
5593#ifndef WIDL_C_INLINE_WRAPPERS
5594/*** IUnknown methods ***/
5595#define IBDA_DRMService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5596#define IBDA_DRMService_AddRef(This) (This)->lpVtbl->AddRef(This)
5597#define IBDA_DRMService_Release(This) (This)->lpVtbl->Release(This)
5598/*** IBDA_DRMService methods ***/
5599#define IBDA_DRMService_SetDRM(This,puuidNewDrm) (This)->lpVtbl->SetDRM(This,puuidNewDrm)
5600#define IBDA_DRMService_GetDRMStatus(This,pbstrDrmUuidList,DrmUuid) (This)->lpVtbl->GetDRMStatus(This,pbstrDrmUuidList,DrmUuid)
5601#else
5602/*** IUnknown methods ***/
5603static inline HRESULT IBDA_DRMService_QueryInterface(IBDA_DRMService* This,REFIID riid,void **ppvObject) {
5604    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5605}
5606static inline ULONG IBDA_DRMService_AddRef(IBDA_DRMService* This) {
5607    return This->lpVtbl->AddRef(This);
5608}
5609static inline ULONG IBDA_DRMService_Release(IBDA_DRMService* This) {
5610    return This->lpVtbl->Release(This);
5611}
5612/*** IBDA_DRMService methods ***/
5613static inline HRESULT IBDA_DRMService_SetDRM(IBDA_DRMService* This,GUID *puuidNewDrm) {
5614    return This->lpVtbl->SetDRM(This,puuidNewDrm);
5615}
5616static inline HRESULT IBDA_DRMService_GetDRMStatus(IBDA_DRMService* This,BSTR *pbstrDrmUuidList,GUID *DrmUuid) {
5617    return This->lpVtbl->GetDRMStatus(This,pbstrDrmUuidList,DrmUuid);
5618}
5619#endif
5620#endif
5621
5622#endif
5623
5624
5625#endif  /* __IBDA_DRMService_INTERFACE_DEFINED__ */
5626
5627/*****************************************************************************
5628 * IBDA_WMDRMSession interface
5629 */
5630#ifndef __IBDA_WMDRMSession_INTERFACE_DEFINED__
5631#define __IBDA_WMDRMSession_INTERFACE_DEFINED__
5632
5633DEFINE_GUID(IID_IBDA_WMDRMSession, 0x4be6fa3d, 0x07cd, 0x4139, 0x8b,0x80, 0x8c,0x18,0xba,0x3a,0xec,0x88);
5634#if defined(__cplusplus) && !defined(CINTERFACE)
5635MIDL_INTERFACE("4be6fa3d-07cd-4139-8b80-8c18ba3aec88")
5636IBDA_WMDRMSession : public IUnknown
5637{
5638    virtual HRESULT STDMETHODCALLTYPE GetStatus(
5639        ULONG *MaxCaptureToken,
5640        ULONG *MaxStreamingPid,
5641        ULONG *MaxLicense,
5642        ULONG *MinSecurityLevel,
5643        ULONG *RevInfoSequenceNumber,
5644        ULONGLONG *RevInfoIssuedTime,
5645        ULONG *RevInfoTTL,
5646        ULONG *RevListVersion,
5647        ULONG *ulState) = 0;
5648
5649    virtual HRESULT STDMETHODCALLTYPE SetRevInfo(
5650        ULONG ulRevInfoLen,
5651        BYTE *pbRevInfo) = 0;
5652
5653    virtual HRESULT STDMETHODCALLTYPE SetCrl(
5654        ULONG ulCrlLen,
5655        BYTE *pbCrlLen) = 0;
5656
5657    virtual HRESULT STDMETHODCALLTYPE TransactMessage(
5658        ULONG ulcbRequest,
5659        BYTE *pbRequest,
5660        ULONG *pulcbResponse,
5661        BYTE *pbResponse) = 0;
5662
5663    virtual HRESULT STDMETHODCALLTYPE GetLicense(
5664        GUID *uuidKey,
5665        ULONG *pulPackageLen,
5666        BYTE *pbPackage) = 0;
5667
5668    virtual HRESULT STDMETHODCALLTYPE ReissueLicense(
5669        GUID *uuidKey) = 0;
5670
5671    virtual HRESULT STDMETHODCALLTYPE RenewLicense(
5672        ULONG ulInXmrLicenseLen,
5673        BYTE *pbInXmrLicense,
5674        ULONG ulEntitlementTokenLen,
5675        BYTE *pbEntitlementToken,
5676        ULONG *pulDescrambleStatus,
5677        ULONG *pulOutXmrLicenseLen,
5678        BYTE *pbOutXmrLicense) = 0;
5679
5680    virtual HRESULT STDMETHODCALLTYPE GetKeyInfo(
5681        ULONG *pulKeyInfoLen,
5682        BYTE *pbKeyInfo) = 0;
5683
5684};
5685#ifdef __CRT_UUID_DECL
5686__CRT_UUID_DECL(IBDA_WMDRMSession, 0x4be6fa3d, 0x07cd, 0x4139, 0x8b,0x80, 0x8c,0x18,0xba,0x3a,0xec,0x88)
5687#endif
5688#else
5689typedef struct IBDA_WMDRMSessionVtbl {
5690    BEGIN_INTERFACE
5691
5692    /*** IUnknown methods ***/
5693    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5694        IBDA_WMDRMSession *This,
5695        REFIID riid,
5696        void **ppvObject);
5697
5698    ULONG (STDMETHODCALLTYPE *AddRef)(
5699        IBDA_WMDRMSession *This);
5700
5701    ULONG (STDMETHODCALLTYPE *Release)(
5702        IBDA_WMDRMSession *This);
5703
5704    /*** IBDA_WMDRMSession methods ***/
5705    HRESULT (STDMETHODCALLTYPE *GetStatus)(
5706        IBDA_WMDRMSession *This,
5707        ULONG *MaxCaptureToken,
5708        ULONG *MaxStreamingPid,
5709        ULONG *MaxLicense,
5710        ULONG *MinSecurityLevel,
5711        ULONG *RevInfoSequenceNumber,
5712        ULONGLONG *RevInfoIssuedTime,
5713        ULONG *RevInfoTTL,
5714        ULONG *RevListVersion,
5715        ULONG *ulState);
5716
5717    HRESULT (STDMETHODCALLTYPE *SetRevInfo)(
5718        IBDA_WMDRMSession *This,
5719        ULONG ulRevInfoLen,
5720        BYTE *pbRevInfo);
5721
5722    HRESULT (STDMETHODCALLTYPE *SetCrl)(
5723        IBDA_WMDRMSession *This,
5724        ULONG ulCrlLen,
5725        BYTE *pbCrlLen);
5726
5727    HRESULT (STDMETHODCALLTYPE *TransactMessage)(
5728        IBDA_WMDRMSession *This,
5729        ULONG ulcbRequest,
5730        BYTE *pbRequest,
5731        ULONG *pulcbResponse,
5732        BYTE *pbResponse);
5733
5734    HRESULT (STDMETHODCALLTYPE *GetLicense)(
5735        IBDA_WMDRMSession *This,
5736        GUID *uuidKey,
5737        ULONG *pulPackageLen,
5738        BYTE *pbPackage);
5739
5740    HRESULT (STDMETHODCALLTYPE *ReissueLicense)(
5741        IBDA_WMDRMSession *This,
5742        GUID *uuidKey);
5743
5744    HRESULT (STDMETHODCALLTYPE *RenewLicense)(
5745        IBDA_WMDRMSession *This,
5746        ULONG ulInXmrLicenseLen,
5747        BYTE *pbInXmrLicense,
5748        ULONG ulEntitlementTokenLen,
5749        BYTE *pbEntitlementToken,
5750        ULONG *pulDescrambleStatus,
5751        ULONG *pulOutXmrLicenseLen,
5752        BYTE *pbOutXmrLicense);
5753
5754    HRESULT (STDMETHODCALLTYPE *GetKeyInfo)(
5755        IBDA_WMDRMSession *This,
5756        ULONG *pulKeyInfoLen,
5757        BYTE *pbKeyInfo);
5758
5759    END_INTERFACE
5760} IBDA_WMDRMSessionVtbl;
5761
5762interface IBDA_WMDRMSession {
5763    CONST_VTBL IBDA_WMDRMSessionVtbl* lpVtbl;
5764};
5765
5766#ifdef COBJMACROS
5767#ifndef WIDL_C_INLINE_WRAPPERS
5768/*** IUnknown methods ***/
5769#define IBDA_WMDRMSession_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5770#define IBDA_WMDRMSession_AddRef(This) (This)->lpVtbl->AddRef(This)
5771#define IBDA_WMDRMSession_Release(This) (This)->lpVtbl->Release(This)
5772/*** IBDA_WMDRMSession methods ***/
5773#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)
5774#define IBDA_WMDRMSession_SetRevInfo(This,ulRevInfoLen,pbRevInfo) (This)->lpVtbl->SetRevInfo(This,ulRevInfoLen,pbRevInfo)
5775#define IBDA_WMDRMSession_SetCrl(This,ulCrlLen,pbCrlLen) (This)->lpVtbl->SetCrl(This,ulCrlLen,pbCrlLen)
5776#define IBDA_WMDRMSession_TransactMessage(This,ulcbRequest,pbRequest,pulcbResponse,pbResponse) (This)->lpVtbl->TransactMessage(This,ulcbRequest,pbRequest,pulcbResponse,pbResponse)
5777#define IBDA_WMDRMSession_GetLicense(This,uuidKey,pulPackageLen,pbPackage) (This)->lpVtbl->GetLicense(This,uuidKey,pulPackageLen,pbPackage)
5778#define IBDA_WMDRMSession_ReissueLicense(This,uuidKey) (This)->lpVtbl->ReissueLicense(This,uuidKey)
5779#define IBDA_WMDRMSession_RenewLicense(This,ulInXmrLicenseLen,pbInXmrLicense,ulEntitlementTokenLen,pbEntitlementToken,pulDescrambleStatus,pulOutXmrLicenseLen,pbOutXmrLicense) (This)->lpVtbl->RenewLicense(This,ulInXmrLicenseLen,pbInXmrLicense,ulEntitlementTokenLen,pbEntitlementToken,pulDescrambleStatus,pulOutXmrLicenseLen,pbOutXmrLicense)
5780#define IBDA_WMDRMSession_GetKeyInfo(This,pulKeyInfoLen,pbKeyInfo) (This)->lpVtbl->GetKeyInfo(This,pulKeyInfoLen,pbKeyInfo)
5781#else
5782/*** IUnknown methods ***/
5783static inline HRESULT IBDA_WMDRMSession_QueryInterface(IBDA_WMDRMSession* This,REFIID riid,void **ppvObject) {
5784    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5785}
5786static inline ULONG IBDA_WMDRMSession_AddRef(IBDA_WMDRMSession* This) {
5787    return This->lpVtbl->AddRef(This);
5788}
5789static inline ULONG IBDA_WMDRMSession_Release(IBDA_WMDRMSession* This) {
5790    return This->lpVtbl->Release(This);
5791}
5792/*** IBDA_WMDRMSession methods ***/
5793static inline 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) {
5794    return This->lpVtbl->GetStatus(This,MaxCaptureToken,MaxStreamingPid,MaxLicense,MinSecurityLevel,RevInfoSequenceNumber,RevInfoIssuedTime,RevInfoTTL,RevListVersion,ulState);
5795}
5796static inline HRESULT IBDA_WMDRMSession_SetRevInfo(IBDA_WMDRMSession* This,ULONG ulRevInfoLen,BYTE *pbRevInfo) {
5797    return This->lpVtbl->SetRevInfo(This,ulRevInfoLen,pbRevInfo);
5798}
5799static inline HRESULT IBDA_WMDRMSession_SetCrl(IBDA_WMDRMSession* This,ULONG ulCrlLen,BYTE *pbCrlLen) {
5800    return This->lpVtbl->SetCrl(This,ulCrlLen,pbCrlLen);
5801}
5802static inline HRESULT IBDA_WMDRMSession_TransactMessage(IBDA_WMDRMSession* This,ULONG ulcbRequest,BYTE *pbRequest,ULONG *pulcbResponse,BYTE *pbResponse) {
5803    return This->lpVtbl->TransactMessage(This,ulcbRequest,pbRequest,pulcbResponse,pbResponse);
5804}
5805static inline HRESULT IBDA_WMDRMSession_GetLicense(IBDA_WMDRMSession* This,GUID *uuidKey,ULONG *pulPackageLen,BYTE *pbPackage) {
5806    return This->lpVtbl->GetLicense(This,uuidKey,pulPackageLen,pbPackage);
5807}
5808static inline HRESULT IBDA_WMDRMSession_ReissueLicense(IBDA_WMDRMSession* This,GUID *uuidKey) {
5809    return This->lpVtbl->ReissueLicense(This,uuidKey);
5810}
5811static inline HRESULT IBDA_WMDRMSession_RenewLicense(IBDA_WMDRMSession* This,ULONG ulInXmrLicenseLen,BYTE *pbInXmrLicense,ULONG ulEntitlementTokenLen,BYTE *pbEntitlementToken,ULONG *pulDescrambleStatus,ULONG *pulOutXmrLicenseLen,BYTE *pbOutXmrLicense) {
5812    return This->lpVtbl->RenewLicense(This,ulInXmrLicenseLen,pbInXmrLicense,ulEntitlementTokenLen,pbEntitlementToken,pulDescrambleStatus,pulOutXmrLicenseLen,pbOutXmrLicense);
5813}
5814static inline HRESULT IBDA_WMDRMSession_GetKeyInfo(IBDA_WMDRMSession* This,ULONG *pulKeyInfoLen,BYTE *pbKeyInfo) {
5815    return This->lpVtbl->GetKeyInfo(This,pulKeyInfoLen,pbKeyInfo);
5816}
5817#endif
5818#endif
5819
5820#endif
5821
5822
5823#endif  /* __IBDA_WMDRMSession_INTERFACE_DEFINED__ */
5824
5825/*****************************************************************************
5826 * IBDA_WMDRMTuner interface
5827 */
5828#ifndef __IBDA_WMDRMTuner_INTERFACE_DEFINED__
5829#define __IBDA_WMDRMTuner_INTERFACE_DEFINED__
5830
5831DEFINE_GUID(IID_IBDA_WMDRMTuner, 0x86d979cf, 0xa8a7, 0x4f94, 0xb5,0xfb, 0x14,0xc0,0xac,0xa6,0x8f,0xe6);
5832#if defined(__cplusplus) && !defined(CINTERFACE)
5833MIDL_INTERFACE("86d979cf-a8a7-4f94-b5fb-14c0aca68fe6")
5834IBDA_WMDRMTuner : public IUnknown
5835{
5836    virtual HRESULT STDMETHODCALLTYPE PurchaseEntitlement(
5837        ULONG ulDialogRequest,
5838        BSTR bstrLanguage,
5839        ULONG ulPurchaseTokenLen,
5840        BYTE *pbPurchaseToken,
5841        ULONG *pulDescrambleStatus,
5842        ULONG *pulCaptureTokenLen,
5843        BYTE *pbCaptureToken) = 0;
5844
5845    virtual HRESULT STDMETHODCALLTYPE CancelCaptureToken(
5846        ULONG ulCaptureTokenLen,
5847        BYTE *pbCaptureToken) = 0;
5848
5849    virtual HRESULT STDMETHODCALLTYPE SetPidProtection(
5850        ULONG ulPid,
5851        GUID *uuidKey) = 0;
5852
5853    virtual HRESULT STDMETHODCALLTYPE GetPidProtection(
5854        ULONG pulPid,
5855        GUID *uuidKey) = 0;
5856
5857    virtual HRESULT STDMETHODCALLTYPE SetSyncValue(
5858        ULONG ulSyncValue) = 0;
5859
5860    virtual HRESULT STDMETHODCALLTYPE GetStartCodeProfile(
5861        ULONG *pulStartCodeProfileLen,
5862        BYTE *pbStartCodeProfile) = 0;
5863
5864};
5865#ifdef __CRT_UUID_DECL
5866__CRT_UUID_DECL(IBDA_WMDRMTuner, 0x86d979cf, 0xa8a7, 0x4f94, 0xb5,0xfb, 0x14,0xc0,0xac,0xa6,0x8f,0xe6)
5867#endif
5868#else
5869typedef struct IBDA_WMDRMTunerVtbl {
5870    BEGIN_INTERFACE
5871
5872    /*** IUnknown methods ***/
5873    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5874        IBDA_WMDRMTuner *This,
5875        REFIID riid,
5876        void **ppvObject);
5877
5878    ULONG (STDMETHODCALLTYPE *AddRef)(
5879        IBDA_WMDRMTuner *This);
5880
5881    ULONG (STDMETHODCALLTYPE *Release)(
5882        IBDA_WMDRMTuner *This);
5883
5884    /*** IBDA_WMDRMTuner methods ***/
5885    HRESULT (STDMETHODCALLTYPE *PurchaseEntitlement)(
5886        IBDA_WMDRMTuner *This,
5887        ULONG ulDialogRequest,
5888        BSTR bstrLanguage,
5889        ULONG ulPurchaseTokenLen,
5890        BYTE *pbPurchaseToken,
5891        ULONG *pulDescrambleStatus,
5892        ULONG *pulCaptureTokenLen,
5893        BYTE *pbCaptureToken);
5894
5895    HRESULT (STDMETHODCALLTYPE *CancelCaptureToken)(
5896        IBDA_WMDRMTuner *This,
5897        ULONG ulCaptureTokenLen,
5898        BYTE *pbCaptureToken);
5899
5900    HRESULT (STDMETHODCALLTYPE *SetPidProtection)(
5901        IBDA_WMDRMTuner *This,
5902        ULONG ulPid,
5903        GUID *uuidKey);
5904
5905    HRESULT (STDMETHODCALLTYPE *GetPidProtection)(
5906        IBDA_WMDRMTuner *This,
5907        ULONG pulPid,
5908        GUID *uuidKey);
5909
5910    HRESULT (STDMETHODCALLTYPE *SetSyncValue)(
5911        IBDA_WMDRMTuner *This,
5912        ULONG ulSyncValue);
5913
5914    HRESULT (STDMETHODCALLTYPE *GetStartCodeProfile)(
5915        IBDA_WMDRMTuner *This,
5916        ULONG *pulStartCodeProfileLen,
5917        BYTE *pbStartCodeProfile);
5918
5919    END_INTERFACE
5920} IBDA_WMDRMTunerVtbl;
5921
5922interface IBDA_WMDRMTuner {
5923    CONST_VTBL IBDA_WMDRMTunerVtbl* lpVtbl;
5924};
5925
5926#ifdef COBJMACROS
5927#ifndef WIDL_C_INLINE_WRAPPERS
5928/*** IUnknown methods ***/
5929#define IBDA_WMDRMTuner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5930#define IBDA_WMDRMTuner_AddRef(This) (This)->lpVtbl->AddRef(This)
5931#define IBDA_WMDRMTuner_Release(This) (This)->lpVtbl->Release(This)
5932/*** IBDA_WMDRMTuner methods ***/
5933#define IBDA_WMDRMTuner_PurchaseEntitlement(This,ulDialogRequest,bstrLanguage,ulPurchaseTokenLen,pbPurchaseToken,pulDescrambleStatus,pulCaptureTokenLen,pbCaptureToken) (This)->lpVtbl->PurchaseEntitlement(This,ulDialogRequest,bstrLanguage,ulPurchaseTokenLen,pbPurchaseToken,pulDescrambleStatus,pulCaptureTokenLen,pbCaptureToken)
5934#define IBDA_WMDRMTuner_CancelCaptureToken(This,ulCaptureTokenLen,pbCaptureToken) (This)->lpVtbl->CancelCaptureToken(This,ulCaptureTokenLen,pbCaptureToken)
5935#define IBDA_WMDRMTuner_SetPidProtection(This,ulPid,uuidKey) (This)->lpVtbl->SetPidProtection(This,ulPid,uuidKey)
5936#define IBDA_WMDRMTuner_GetPidProtection(This,pulPid,uuidKey) (This)->lpVtbl->GetPidProtection(This,pulPid,uuidKey)
5937#define IBDA_WMDRMTuner_SetSyncValue(This,ulSyncValue) (This)->lpVtbl->SetSyncValue(This,ulSyncValue)
5938#define IBDA_WMDRMTuner_GetStartCodeProfile(This,pulStartCodeProfileLen,pbStartCodeProfile) (This)->lpVtbl->GetStartCodeProfile(This,pulStartCodeProfileLen,pbStartCodeProfile)
5939#else
5940/*** IUnknown methods ***/
5941static inline HRESULT IBDA_WMDRMTuner_QueryInterface(IBDA_WMDRMTuner* This,REFIID riid,void **ppvObject) {
5942    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5943}
5944static inline ULONG IBDA_WMDRMTuner_AddRef(IBDA_WMDRMTuner* This) {
5945    return This->lpVtbl->AddRef(This);
5946}
5947static inline ULONG IBDA_WMDRMTuner_Release(IBDA_WMDRMTuner* This) {
5948    return This->lpVtbl->Release(This);
5949}
5950/*** IBDA_WMDRMTuner methods ***/
5951static inline HRESULT IBDA_WMDRMTuner_PurchaseEntitlement(IBDA_WMDRMTuner* This,ULONG ulDialogRequest,BSTR bstrLanguage,ULONG ulPurchaseTokenLen,BYTE *pbPurchaseToken,ULONG *pulDescrambleStatus,ULONG *pulCaptureTokenLen,BYTE *pbCaptureToken) {
5952    return This->lpVtbl->PurchaseEntitlement(This,ulDialogRequest,bstrLanguage,ulPurchaseTokenLen,pbPurchaseToken,pulDescrambleStatus,pulCaptureTokenLen,pbCaptureToken);
5953}
5954static inline HRESULT IBDA_WMDRMTuner_CancelCaptureToken(IBDA_WMDRMTuner* This,ULONG ulCaptureTokenLen,BYTE *pbCaptureToken) {
5955    return This->lpVtbl->CancelCaptureToken(This,ulCaptureTokenLen,pbCaptureToken);
5956}
5957static inline HRESULT IBDA_WMDRMTuner_SetPidProtection(IBDA_WMDRMTuner* This,ULONG ulPid,GUID *uuidKey) {
5958    return This->lpVtbl->SetPidProtection(This,ulPid,uuidKey);
5959}
5960static inline HRESULT IBDA_WMDRMTuner_GetPidProtection(IBDA_WMDRMTuner* This,ULONG pulPid,GUID *uuidKey) {
5961    return This->lpVtbl->GetPidProtection(This,pulPid,uuidKey);
5962}
5963static inline HRESULT IBDA_WMDRMTuner_SetSyncValue(IBDA_WMDRMTuner* This,ULONG ulSyncValue) {
5964    return This->lpVtbl->SetSyncValue(This,ulSyncValue);
5965}
5966static inline HRESULT IBDA_WMDRMTuner_GetStartCodeProfile(IBDA_WMDRMTuner* This,ULONG *pulStartCodeProfileLen,BYTE *pbStartCodeProfile) {
5967    return This->lpVtbl->GetStartCodeProfile(This,pulStartCodeProfileLen,pbStartCodeProfile);
5968}
5969#endif
5970#endif
5971
5972#endif
5973
5974
5975#endif  /* __IBDA_WMDRMTuner_INTERFACE_DEFINED__ */
5976
5977/*****************************************************************************
5978 * IBDA_DRIDRMService interface
5979 */
5980#ifndef __IBDA_DRIDRMService_INTERFACE_DEFINED__
5981#define __IBDA_DRIDRMService_INTERFACE_DEFINED__
5982
5983DEFINE_GUID(IID_IBDA_DRIDRMService, 0x1f9bc2a5, 0x44a3, 0x4c52, 0xaa,0xb1, 0x0b,0xbc,0xe5,0xa1,0x38,0x1d);
5984#if defined(__cplusplus) && !defined(CINTERFACE)
5985MIDL_INTERFACE("1f9bc2a5-44a3-4c52-aab1-0bbce5a1381d")
5986IBDA_DRIDRMService : public IUnknown
5987{
5988    virtual HRESULT STDMETHODCALLTYPE SetDRM(
5989        BSTR bstrNewDrm) = 0;
5990
5991    virtual HRESULT STDMETHODCALLTYPE GetDRMStatus(
5992        BSTR *pbstrDrmUuidList,
5993        GUID *DrmUuid) = 0;
5994
5995    virtual HRESULT STDMETHODCALLTYPE GetPairingStatus(
5996        BDA_DrmPairingError *penumPairingStatus) = 0;
5997
5998};
5999#ifdef __CRT_UUID_DECL
6000__CRT_UUID_DECL(IBDA_DRIDRMService, 0x1f9bc2a5, 0x44a3, 0x4c52, 0xaa,0xb1, 0x0b,0xbc,0xe5,0xa1,0x38,0x1d)
6001#endif
6002#else
6003typedef struct IBDA_DRIDRMServiceVtbl {
6004    BEGIN_INTERFACE
6005
6006    /*** IUnknown methods ***/
6007    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6008        IBDA_DRIDRMService *This,
6009        REFIID riid,
6010        void **ppvObject);
6011
6012    ULONG (STDMETHODCALLTYPE *AddRef)(
6013        IBDA_DRIDRMService *This);
6014
6015    ULONG (STDMETHODCALLTYPE *Release)(
6016        IBDA_DRIDRMService *This);
6017
6018    /*** IBDA_DRIDRMService methods ***/
6019    HRESULT (STDMETHODCALLTYPE *SetDRM)(
6020        IBDA_DRIDRMService *This,
6021        BSTR bstrNewDrm);
6022
6023    HRESULT (STDMETHODCALLTYPE *GetDRMStatus)(
6024        IBDA_DRIDRMService *This,
6025        BSTR *pbstrDrmUuidList,
6026        GUID *DrmUuid);
6027
6028    HRESULT (STDMETHODCALLTYPE *GetPairingStatus)(
6029        IBDA_DRIDRMService *This,
6030        BDA_DrmPairingError *penumPairingStatus);
6031
6032    END_INTERFACE
6033} IBDA_DRIDRMServiceVtbl;
6034
6035interface IBDA_DRIDRMService {
6036    CONST_VTBL IBDA_DRIDRMServiceVtbl* lpVtbl;
6037};
6038
6039#ifdef COBJMACROS
6040#ifndef WIDL_C_INLINE_WRAPPERS
6041/*** IUnknown methods ***/
6042#define IBDA_DRIDRMService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6043#define IBDA_DRIDRMService_AddRef(This) (This)->lpVtbl->AddRef(This)
6044#define IBDA_DRIDRMService_Release(This) (This)->lpVtbl->Release(This)
6045/*** IBDA_DRIDRMService methods ***/
6046#define IBDA_DRIDRMService_SetDRM(This,bstrNewDrm) (This)->lpVtbl->SetDRM(This,bstrNewDrm)
6047#define IBDA_DRIDRMService_GetDRMStatus(This,pbstrDrmUuidList,DrmUuid) (This)->lpVtbl->GetDRMStatus(This,pbstrDrmUuidList,DrmUuid)
6048#define IBDA_DRIDRMService_GetPairingStatus(This,penumPairingStatus) (This)->lpVtbl->GetPairingStatus(This,penumPairingStatus)
6049#else
6050/*** IUnknown methods ***/
6051static inline HRESULT IBDA_DRIDRMService_QueryInterface(IBDA_DRIDRMService* This,REFIID riid,void **ppvObject) {
6052    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6053}
6054static inline ULONG IBDA_DRIDRMService_AddRef(IBDA_DRIDRMService* This) {
6055    return This->lpVtbl->AddRef(This);
6056}
6057static inline ULONG IBDA_DRIDRMService_Release(IBDA_DRIDRMService* This) {
6058    return This->lpVtbl->Release(This);
6059}
6060/*** IBDA_DRIDRMService methods ***/
6061static inline HRESULT IBDA_DRIDRMService_SetDRM(IBDA_DRIDRMService* This,BSTR bstrNewDrm) {
6062    return This->lpVtbl->SetDRM(This,bstrNewDrm);
6063}
6064static inline HRESULT IBDA_DRIDRMService_GetDRMStatus(IBDA_DRIDRMService* This,BSTR *pbstrDrmUuidList,GUID *DrmUuid) {
6065    return This->lpVtbl->GetDRMStatus(This,pbstrDrmUuidList,DrmUuid);
6066}
6067static inline HRESULT IBDA_DRIDRMService_GetPairingStatus(IBDA_DRIDRMService* This,BDA_DrmPairingError *penumPairingStatus) {
6068    return This->lpVtbl->GetPairingStatus(This,penumPairingStatus);
6069}
6070#endif
6071#endif
6072
6073#endif
6074
6075
6076#endif  /* __IBDA_DRIDRMService_INTERFACE_DEFINED__ */
6077
6078/*****************************************************************************
6079 * IBDA_DRIWMDRMSession interface
6080 */
6081#ifndef __IBDA_DRIWMDRMSession_INTERFACE_DEFINED__
6082#define __IBDA_DRIWMDRMSession_INTERFACE_DEFINED__
6083
6084DEFINE_GUID(IID_IBDA_DRIWMDRMSession, 0x05c690f8, 0x56db, 0x4bb2, 0xb0,0x53, 0x79,0xc1,0x20,0x98,0xbb,0x26);
6085#if defined(__cplusplus) && !defined(CINTERFACE)
6086MIDL_INTERFACE("05c690f8-56db-4bb2-b053-79c12098bb26")
6087IBDA_DRIWMDRMSession : public IUnknown
6088{
6089    virtual HRESULT STDMETHODCALLTYPE AcknowledgeLicense(
6090        HRESULT hrLicenseAck) = 0;
6091
6092    virtual HRESULT STDMETHODCALLTYPE ProcessLicenseChallenge(
6093        DWORD dwcbLicenseMessage,
6094        BYTE *pbLicenseMessage,
6095        DWORD *pdwcbLicenseResponse,
6096        BYTE **ppbLicenseResponse) = 0;
6097
6098    virtual HRESULT STDMETHODCALLTYPE ProcessRegistrationChallenge(
6099        DWORD dwcbRegistrationMessage,
6100        BYTE *pbRegistrationMessage,
6101        DWORD *pdwcbRegistrationResponse,
6102        BYTE **ppbRegistrationResponse) = 0;
6103
6104    virtual HRESULT STDMETHODCALLTYPE SetRevInfo(
6105        DWORD dwRevInfoLen,
6106        BYTE *pbRevInfo,
6107        DWORD *pdwResponse) = 0;
6108
6109    virtual HRESULT STDMETHODCALLTYPE SetCrl(
6110        DWORD dwCrlLen,
6111        BYTE *pbCrlLen,
6112        DWORD *pdwResponse) = 0;
6113
6114    virtual HRESULT STDMETHODCALLTYPE GetHMSAssociationData(
6115        ) = 0;
6116
6117    virtual HRESULT STDMETHODCALLTYPE GetLastCardeaError(
6118        DWORD *pdwError) = 0;
6119
6120};
6121#ifdef __CRT_UUID_DECL
6122__CRT_UUID_DECL(IBDA_DRIWMDRMSession, 0x05c690f8, 0x56db, 0x4bb2, 0xb0,0x53, 0x79,0xc1,0x20,0x98,0xbb,0x26)
6123#endif
6124#else
6125typedef struct IBDA_DRIWMDRMSessionVtbl {
6126    BEGIN_INTERFACE
6127
6128    /*** IUnknown methods ***/
6129    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6130        IBDA_DRIWMDRMSession *This,
6131        REFIID riid,
6132        void **ppvObject);
6133
6134    ULONG (STDMETHODCALLTYPE *AddRef)(
6135        IBDA_DRIWMDRMSession *This);
6136
6137    ULONG (STDMETHODCALLTYPE *Release)(
6138        IBDA_DRIWMDRMSession *This);
6139
6140    /*** IBDA_DRIWMDRMSession methods ***/
6141    HRESULT (STDMETHODCALLTYPE *AcknowledgeLicense)(
6142        IBDA_DRIWMDRMSession *This,
6143        HRESULT hrLicenseAck);
6144
6145    HRESULT (STDMETHODCALLTYPE *ProcessLicenseChallenge)(
6146        IBDA_DRIWMDRMSession *This,
6147        DWORD dwcbLicenseMessage,
6148        BYTE *pbLicenseMessage,
6149        DWORD *pdwcbLicenseResponse,
6150        BYTE **ppbLicenseResponse);
6151
6152    HRESULT (STDMETHODCALLTYPE *ProcessRegistrationChallenge)(
6153        IBDA_DRIWMDRMSession *This,
6154        DWORD dwcbRegistrationMessage,
6155        BYTE *pbRegistrationMessage,
6156        DWORD *pdwcbRegistrationResponse,
6157        BYTE **ppbRegistrationResponse);
6158
6159    HRESULT (STDMETHODCALLTYPE *SetRevInfo)(
6160        IBDA_DRIWMDRMSession *This,
6161        DWORD dwRevInfoLen,
6162        BYTE *pbRevInfo,
6163        DWORD *pdwResponse);
6164
6165    HRESULT (STDMETHODCALLTYPE *SetCrl)(
6166        IBDA_DRIWMDRMSession *This,
6167        DWORD dwCrlLen,
6168        BYTE *pbCrlLen,
6169        DWORD *pdwResponse);
6170
6171    HRESULT (STDMETHODCALLTYPE *GetHMSAssociationData)(
6172        IBDA_DRIWMDRMSession *This);
6173
6174    HRESULT (STDMETHODCALLTYPE *GetLastCardeaError)(
6175        IBDA_DRIWMDRMSession *This,
6176        DWORD *pdwError);
6177
6178    END_INTERFACE
6179} IBDA_DRIWMDRMSessionVtbl;
6180
6181interface IBDA_DRIWMDRMSession {
6182    CONST_VTBL IBDA_DRIWMDRMSessionVtbl* lpVtbl;
6183};
6184
6185#ifdef COBJMACROS
6186#ifndef WIDL_C_INLINE_WRAPPERS
6187/*** IUnknown methods ***/
6188#define IBDA_DRIWMDRMSession_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6189#define IBDA_DRIWMDRMSession_AddRef(This) (This)->lpVtbl->AddRef(This)
6190#define IBDA_DRIWMDRMSession_Release(This) (This)->lpVtbl->Release(This)
6191/*** IBDA_DRIWMDRMSession methods ***/
6192#define IBDA_DRIWMDRMSession_AcknowledgeLicense(This,hrLicenseAck) (This)->lpVtbl->AcknowledgeLicense(This,hrLicenseAck)
6193#define IBDA_DRIWMDRMSession_ProcessLicenseChallenge(This,dwcbLicenseMessage,pbLicenseMessage,pdwcbLicenseResponse,ppbLicenseResponse) (This)->lpVtbl->ProcessLicenseChallenge(This,dwcbLicenseMessage,pbLicenseMessage,pdwcbLicenseResponse,ppbLicenseResponse)
6194#define IBDA_DRIWMDRMSession_ProcessRegistrationChallenge(This,dwcbRegistrationMessage,pbRegistrationMessage,pdwcbRegistrationResponse,ppbRegistrationResponse) (This)->lpVtbl->ProcessRegistrationChallenge(This,dwcbRegistrationMessage,pbRegistrationMessage,pdwcbRegistrationResponse,ppbRegistrationResponse)
6195#define IBDA_DRIWMDRMSession_SetRevInfo(This,dwRevInfoLen,pbRevInfo,pdwResponse) (This)->lpVtbl->SetRevInfo(This,dwRevInfoLen,pbRevInfo,pdwResponse)
6196#define IBDA_DRIWMDRMSession_SetCrl(This,dwCrlLen,pbCrlLen,pdwResponse) (This)->lpVtbl->SetCrl(This,dwCrlLen,pbCrlLen,pdwResponse)
6197#define IBDA_DRIWMDRMSession_GetHMSAssociationData(This) (This)->lpVtbl->GetHMSAssociationData(This)
6198#define IBDA_DRIWMDRMSession_GetLastCardeaError(This,pdwError) (This)->lpVtbl->GetLastCardeaError(This,pdwError)
6199#else
6200/*** IUnknown methods ***/
6201static inline HRESULT IBDA_DRIWMDRMSession_QueryInterface(IBDA_DRIWMDRMSession* This,REFIID riid,void **ppvObject) {
6202    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6203}
6204static inline ULONG IBDA_DRIWMDRMSession_AddRef(IBDA_DRIWMDRMSession* This) {
6205    return This->lpVtbl->AddRef(This);
6206}
6207static inline ULONG IBDA_DRIWMDRMSession_Release(IBDA_DRIWMDRMSession* This) {
6208    return This->lpVtbl->Release(This);
6209}
6210/*** IBDA_DRIWMDRMSession methods ***/
6211static inline HRESULT IBDA_DRIWMDRMSession_AcknowledgeLicense(IBDA_DRIWMDRMSession* This,HRESULT hrLicenseAck) {
6212    return This->lpVtbl->AcknowledgeLicense(This,hrLicenseAck);
6213}
6214static inline HRESULT IBDA_DRIWMDRMSession_ProcessLicenseChallenge(IBDA_DRIWMDRMSession* This,DWORD dwcbLicenseMessage,BYTE *pbLicenseMessage,DWORD *pdwcbLicenseResponse,BYTE **ppbLicenseResponse) {
6215    return This->lpVtbl->ProcessLicenseChallenge(This,dwcbLicenseMessage,pbLicenseMessage,pdwcbLicenseResponse,ppbLicenseResponse);
6216}
6217static inline HRESULT IBDA_DRIWMDRMSession_ProcessRegistrationChallenge(IBDA_DRIWMDRMSession* This,DWORD dwcbRegistrationMessage,BYTE *pbRegistrationMessage,DWORD *pdwcbRegistrationResponse,BYTE **ppbRegistrationResponse) {
6218    return This->lpVtbl->ProcessRegistrationChallenge(This,dwcbRegistrationMessage,pbRegistrationMessage,pdwcbRegistrationResponse,ppbRegistrationResponse);
6219}
6220static inline HRESULT IBDA_DRIWMDRMSession_SetRevInfo(IBDA_DRIWMDRMSession* This,DWORD dwRevInfoLen,BYTE *pbRevInfo,DWORD *pdwResponse) {
6221    return This->lpVtbl->SetRevInfo(This,dwRevInfoLen,pbRevInfo,pdwResponse);
6222}
6223static inline HRESULT IBDA_DRIWMDRMSession_SetCrl(IBDA_DRIWMDRMSession* This,DWORD dwCrlLen,BYTE *pbCrlLen,DWORD *pdwResponse) {
6224    return This->lpVtbl->SetCrl(This,dwCrlLen,pbCrlLen,pdwResponse);
6225}
6226static inline HRESULT IBDA_DRIWMDRMSession_GetHMSAssociationData(IBDA_DRIWMDRMSession* This) {
6227    return This->lpVtbl->GetHMSAssociationData(This);
6228}
6229static inline HRESULT IBDA_DRIWMDRMSession_GetLastCardeaError(IBDA_DRIWMDRMSession* This,DWORD *pdwError) {
6230    return This->lpVtbl->GetLastCardeaError(This,pdwError);
6231}
6232#endif
6233#endif
6234
6235#endif
6236
6237
6238#endif  /* __IBDA_DRIWMDRMSession_INTERFACE_DEFINED__ */
6239
6240/*****************************************************************************
6241 * IBDA_MUX interface
6242 */
6243#ifndef __IBDA_MUX_INTERFACE_DEFINED__
6244#define __IBDA_MUX_INTERFACE_DEFINED__
6245
6246DEFINE_GUID(IID_IBDA_MUX, 0x942aafec, 0x4c05, 0x4c74, 0xb8,0xeb, 0x87,0x06,0xc2,0xa4,0x94,0x3f);
6247#if defined(__cplusplus) && !defined(CINTERFACE)
6248MIDL_INTERFACE("942aafec-4c05-4c74-b8eb-8706c2a4943f")
6249IBDA_MUX : public IUnknown
6250{
6251    virtual HRESULT STDMETHODCALLTYPE SetPidList(
6252        ULONG ulPidListCount,
6253        BDA_MUX_PIDLISTITEM *pbPidListBuffer) = 0;
6254
6255    virtual HRESULT STDMETHODCALLTYPE GetPidList(
6256        ULONG *pulPidListCount,
6257        BDA_MUX_PIDLISTITEM *pbPidListBuffer) = 0;
6258
6259};
6260#ifdef __CRT_UUID_DECL
6261__CRT_UUID_DECL(IBDA_MUX, 0x942aafec, 0x4c05, 0x4c74, 0xb8,0xeb, 0x87,0x06,0xc2,0xa4,0x94,0x3f)
6262#endif
6263#else
6264typedef struct IBDA_MUXVtbl {
6265    BEGIN_INTERFACE
6266
6267    /*** IUnknown methods ***/
6268    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6269        IBDA_MUX *This,
6270        REFIID riid,
6271        void **ppvObject);
6272
6273    ULONG (STDMETHODCALLTYPE *AddRef)(
6274        IBDA_MUX *This);
6275
6276    ULONG (STDMETHODCALLTYPE *Release)(
6277        IBDA_MUX *This);
6278
6279    /*** IBDA_MUX methods ***/
6280    HRESULT (STDMETHODCALLTYPE *SetPidList)(
6281        IBDA_MUX *This,
6282        ULONG ulPidListCount,
6283        BDA_MUX_PIDLISTITEM *pbPidListBuffer);
6284
6285    HRESULT (STDMETHODCALLTYPE *GetPidList)(
6286        IBDA_MUX *This,
6287        ULONG *pulPidListCount,
6288        BDA_MUX_PIDLISTITEM *pbPidListBuffer);
6289
6290    END_INTERFACE
6291} IBDA_MUXVtbl;
6292
6293interface IBDA_MUX {
6294    CONST_VTBL IBDA_MUXVtbl* lpVtbl;
6295};
6296
6297#ifdef COBJMACROS
6298#ifndef WIDL_C_INLINE_WRAPPERS
6299/*** IUnknown methods ***/
6300#define IBDA_MUX_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6301#define IBDA_MUX_AddRef(This) (This)->lpVtbl->AddRef(This)
6302#define IBDA_MUX_Release(This) (This)->lpVtbl->Release(This)
6303/*** IBDA_MUX methods ***/
6304#define IBDA_MUX_SetPidList(This,ulPidListCount,pbPidListBuffer) (This)->lpVtbl->SetPidList(This,ulPidListCount,pbPidListBuffer)
6305#define IBDA_MUX_GetPidList(This,pulPidListCount,pbPidListBuffer) (This)->lpVtbl->GetPidList(This,pulPidListCount,pbPidListBuffer)
6306#else
6307/*** IUnknown methods ***/
6308static inline HRESULT IBDA_MUX_QueryInterface(IBDA_MUX* This,REFIID riid,void **ppvObject) {
6309    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6310}
6311static inline ULONG IBDA_MUX_AddRef(IBDA_MUX* This) {
6312    return This->lpVtbl->AddRef(This);
6313}
6314static inline ULONG IBDA_MUX_Release(IBDA_MUX* This) {
6315    return This->lpVtbl->Release(This);
6316}
6317/*** IBDA_MUX methods ***/
6318static inline HRESULT IBDA_MUX_SetPidList(IBDA_MUX* This,ULONG ulPidListCount,BDA_MUX_PIDLISTITEM *pbPidListBuffer) {
6319    return This->lpVtbl->SetPidList(This,ulPidListCount,pbPidListBuffer);
6320}
6321static inline HRESULT IBDA_MUX_GetPidList(IBDA_MUX* This,ULONG *pulPidListCount,BDA_MUX_PIDLISTITEM *pbPidListBuffer) {
6322    return This->lpVtbl->GetPidList(This,pulPidListCount,pbPidListBuffer);
6323}
6324#endif
6325#endif
6326
6327#endif
6328
6329
6330#endif  /* __IBDA_MUX_INTERFACE_DEFINED__ */
6331
6332/*****************************************************************************
6333 * IBDA_TransportStreamSelector interface
6334 */
6335#ifndef __IBDA_TransportStreamSelector_INTERFACE_DEFINED__
6336#define __IBDA_TransportStreamSelector_INTERFACE_DEFINED__
6337
6338DEFINE_GUID(IID_IBDA_TransportStreamSelector, 0x1dcfafe9, 0xb45e, 0x41b3, 0xbb,0x2a, 0x56,0x1e,0xb1,0x29,0xae,0x98);
6339#if defined(__cplusplus) && !defined(CINTERFACE)
6340MIDL_INTERFACE("1dcfafe9-b45e-41b3-bb2a-561eb129ae98")
6341IBDA_TransportStreamSelector : public IUnknown
6342{
6343    virtual HRESULT STDMETHODCALLTYPE SetTSID(
6344        USHORT usTSID) = 0;
6345
6346    virtual HRESULT STDMETHODCALLTYPE GetTSInformation(
6347        ULONG *pulTSInformationBufferLen,
6348        BYTE *pbTSInformationBuffer) = 0;
6349
6350};
6351#ifdef __CRT_UUID_DECL
6352__CRT_UUID_DECL(IBDA_TransportStreamSelector, 0x1dcfafe9, 0xb45e, 0x41b3, 0xbb,0x2a, 0x56,0x1e,0xb1,0x29,0xae,0x98)
6353#endif
6354#else
6355typedef struct IBDA_TransportStreamSelectorVtbl {
6356    BEGIN_INTERFACE
6357
6358    /*** IUnknown methods ***/
6359    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6360        IBDA_TransportStreamSelector *This,
6361        REFIID riid,
6362        void **ppvObject);
6363
6364    ULONG (STDMETHODCALLTYPE *AddRef)(
6365        IBDA_TransportStreamSelector *This);
6366
6367    ULONG (STDMETHODCALLTYPE *Release)(
6368        IBDA_TransportStreamSelector *This);
6369
6370    /*** IBDA_TransportStreamSelector methods ***/
6371    HRESULT (STDMETHODCALLTYPE *SetTSID)(
6372        IBDA_TransportStreamSelector *This,
6373        USHORT usTSID);
6374
6375    HRESULT (STDMETHODCALLTYPE *GetTSInformation)(
6376        IBDA_TransportStreamSelector *This,
6377        ULONG *pulTSInformationBufferLen,
6378        BYTE *pbTSInformationBuffer);
6379
6380    END_INTERFACE
6381} IBDA_TransportStreamSelectorVtbl;
6382
6383interface IBDA_TransportStreamSelector {
6384    CONST_VTBL IBDA_TransportStreamSelectorVtbl* lpVtbl;
6385};
6386
6387#ifdef COBJMACROS
6388#ifndef WIDL_C_INLINE_WRAPPERS
6389/*** IUnknown methods ***/
6390#define IBDA_TransportStreamSelector_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6391#define IBDA_TransportStreamSelector_AddRef(This) (This)->lpVtbl->AddRef(This)
6392#define IBDA_TransportStreamSelector_Release(This) (This)->lpVtbl->Release(This)
6393/*** IBDA_TransportStreamSelector methods ***/
6394#define IBDA_TransportStreamSelector_SetTSID(This,usTSID) (This)->lpVtbl->SetTSID(This,usTSID)
6395#define IBDA_TransportStreamSelector_GetTSInformation(This,pulTSInformationBufferLen,pbTSInformationBuffer) (This)->lpVtbl->GetTSInformation(This,pulTSInformationBufferLen,pbTSInformationBuffer)
6396#else
6397/*** IUnknown methods ***/
6398static inline HRESULT IBDA_TransportStreamSelector_QueryInterface(IBDA_TransportStreamSelector* This,REFIID riid,void **ppvObject) {
6399    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6400}
6401static inline ULONG IBDA_TransportStreamSelector_AddRef(IBDA_TransportStreamSelector* This) {
6402    return This->lpVtbl->AddRef(This);
6403}
6404static inline ULONG IBDA_TransportStreamSelector_Release(IBDA_TransportStreamSelector* This) {
6405    return This->lpVtbl->Release(This);
6406}
6407/*** IBDA_TransportStreamSelector methods ***/
6408static inline HRESULT IBDA_TransportStreamSelector_SetTSID(IBDA_TransportStreamSelector* This,USHORT usTSID) {
6409    return This->lpVtbl->SetTSID(This,usTSID);
6410}
6411static inline HRESULT IBDA_TransportStreamSelector_GetTSInformation(IBDA_TransportStreamSelector* This,ULONG *pulTSInformationBufferLen,BYTE *pbTSInformationBuffer) {
6412    return This->lpVtbl->GetTSInformation(This,pulTSInformationBufferLen,pbTSInformationBuffer);
6413}
6414#endif
6415#endif
6416
6417#endif
6418
6419
6420#endif  /* __IBDA_TransportStreamSelector_INTERFACE_DEFINED__ */
6421
6422/*****************************************************************************
6423 * IBDA_UserActivityService interface
6424 */
6425#ifndef __IBDA_UserActivityService_INTERFACE_DEFINED__
6426#define __IBDA_UserActivityService_INTERFACE_DEFINED__
6427
6428DEFINE_GUID(IID_IBDA_UserActivityService, 0x53b14189, 0xe478, 0x4b7a, 0xa1,0xff, 0x50,0x6d,0xb4,0xb9,0x9d,0xfe);
6429#if defined(__cplusplus) && !defined(CINTERFACE)
6430MIDL_INTERFACE("53b14189-e478-4b7a-a1ff-506db4b99dfe")
6431IBDA_UserActivityService : public IUnknown
6432{
6433    virtual HRESULT STDMETHODCALLTYPE SetCurrentTunerUseReason(
6434        DWORD dwUseReason) = 0;
6435
6436    virtual HRESULT STDMETHODCALLTYPE GetUserActivityInterval(
6437        DWORD *pdwActivityInterval) = 0;
6438
6439    virtual HRESULT STDMETHODCALLTYPE UserActivityDetected(
6440        ) = 0;
6441
6442};
6443#ifdef __CRT_UUID_DECL
6444__CRT_UUID_DECL(IBDA_UserActivityService, 0x53b14189, 0xe478, 0x4b7a, 0xa1,0xff, 0x50,0x6d,0xb4,0xb9,0x9d,0xfe)
6445#endif
6446#else
6447typedef struct IBDA_UserActivityServiceVtbl {
6448    BEGIN_INTERFACE
6449
6450    /*** IUnknown methods ***/
6451    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6452        IBDA_UserActivityService *This,
6453        REFIID riid,
6454        void **ppvObject);
6455
6456    ULONG (STDMETHODCALLTYPE *AddRef)(
6457        IBDA_UserActivityService *This);
6458
6459    ULONG (STDMETHODCALLTYPE *Release)(
6460        IBDA_UserActivityService *This);
6461
6462    /*** IBDA_UserActivityService methods ***/
6463    HRESULT (STDMETHODCALLTYPE *SetCurrentTunerUseReason)(
6464        IBDA_UserActivityService *This,
6465        DWORD dwUseReason);
6466
6467    HRESULT (STDMETHODCALLTYPE *GetUserActivityInterval)(
6468        IBDA_UserActivityService *This,
6469        DWORD *pdwActivityInterval);
6470
6471    HRESULT (STDMETHODCALLTYPE *UserActivityDetected)(
6472        IBDA_UserActivityService *This);
6473
6474    END_INTERFACE
6475} IBDA_UserActivityServiceVtbl;
6476
6477interface IBDA_UserActivityService {
6478    CONST_VTBL IBDA_UserActivityServiceVtbl* lpVtbl;
6479};
6480
6481#ifdef COBJMACROS
6482#ifndef WIDL_C_INLINE_WRAPPERS
6483/*** IUnknown methods ***/
6484#define IBDA_UserActivityService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6485#define IBDA_UserActivityService_AddRef(This) (This)->lpVtbl->AddRef(This)
6486#define IBDA_UserActivityService_Release(This) (This)->lpVtbl->Release(This)
6487/*** IBDA_UserActivityService methods ***/
6488#define IBDA_UserActivityService_SetCurrentTunerUseReason(This,dwUseReason) (This)->lpVtbl->SetCurrentTunerUseReason(This,dwUseReason)
6489#define IBDA_UserActivityService_GetUserActivityInterval(This,pdwActivityInterval) (This)->lpVtbl->GetUserActivityInterval(This,pdwActivityInterval)
6490#define IBDA_UserActivityService_UserActivityDetected(This) (This)->lpVtbl->UserActivityDetected(This)
6491#else
6492/*** IUnknown methods ***/
6493static inline HRESULT IBDA_UserActivityService_QueryInterface(IBDA_UserActivityService* This,REFIID riid,void **ppvObject) {
6494    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6495}
6496static inline ULONG IBDA_UserActivityService_AddRef(IBDA_UserActivityService* This) {
6497    return This->lpVtbl->AddRef(This);
6498}
6499static inline ULONG IBDA_UserActivityService_Release(IBDA_UserActivityService* This) {
6500    return This->lpVtbl->Release(This);
6501}
6502/*** IBDA_UserActivityService methods ***/
6503static inline HRESULT IBDA_UserActivityService_SetCurrentTunerUseReason(IBDA_UserActivityService* This,DWORD dwUseReason) {
6504    return This->lpVtbl->SetCurrentTunerUseReason(This,dwUseReason);
6505}
6506static inline HRESULT IBDA_UserActivityService_GetUserActivityInterval(IBDA_UserActivityService* This,DWORD *pdwActivityInterval) {
6507    return This->lpVtbl->GetUserActivityInterval(This,pdwActivityInterval);
6508}
6509static inline HRESULT IBDA_UserActivityService_UserActivityDetected(IBDA_UserActivityService* This) {
6510    return This->lpVtbl->UserActivityDetected(This);
6511}
6512#endif
6513#endif
6514
6515#endif
6516
6517
6518#endif  /* __IBDA_UserActivityService_INTERFACE_DEFINED__ */
6519
6520#define SID_BDA_EasMessage __uuidof (IBDA_EasMessage)
6521#define SID_BDA_TransportStreamInfo __uuidof (IBDA_TransportStreamInfo)
6522#define SID_BDA_ConditionalAccess __uuidof (IBDA_ConditionalAccess)
6523#define SID_BDA_DiagnosticProperties __uuidof (IBDA_DiagnosticProperties)
6524#define SID_BDA_DRM __uuidof (IBDA_DRM)
6525#define SID_BDA_NameValueService __uuidof (IBDA_NameValueService)
6526#define SID_BDA_ConditionalAccessEx __uuidof (IBDA_ConditionalAccessEx)
6527#define SID_BDA_ISDBConditionalAccess __uuidof (IBDA_ISDBConditionalAccess)
6528#define SID_BDA_EventingService __uuidof (IBDA_EventingService)
6529#define SID_BDA_AUX __uuidof (IBDA_AUX)
6530#define SID_BDA_Encoder __uuidof (IBDA_Encoder)
6531#define SID_BDA_FDC __uuidof (IBDA_FDC
6532#define SID_BDA_GuideDataDeliveryService  __uuidof (IBDA_GuideDataDeliveryService)
6533#define SID_BDA_DRMService __uuidof (IBDA_DRMService)
6534#define SID_BDA_WMDRMSession __uuidof (IBDA_WMDRMSession)
6535#define SID_BDA_WMDRMTuner __uuidof (IBDA_WMDRMTuner)
6536#define SID_BDA_DRIDRMService __uuidof (IBDA_DRIDRMService)
6537#define SID_BDA_DRIWMDRMSession __uuidof (IBDA_DRIWMDRMSession)
6538#define SID_BDA_MUX __uuidof (IBDA_MUX)
6539#define SID_BDA_TransportStreamSelector __uuidof (IBDA_TransportStreamSelector)
6540#define SID_BDA_UserActivityService __uuidof (IBDA_UserActivityService)
6541
6542DEFINE_GUID(CLSID_PBDA_Encoder_DATA_TYPE, 0x728fd6bc, 0x5546, 0x4716, 0xb1, 0x03, 0xf8, 0x99, 0xf5, 0xa1, 0xfa, 0x68);
6543DEFINE_GUID(CLSID_PBDA_FDC_DATA_TYPE, 0xe7dbf9a0, 0x22ab, 0x4047, 0x8e, 0x67, 0xef, 0x9a, 0xd5, 0x4, 0xe7, 0x29);
6544DEFINE_GUID(CLSID_PBDA_GDDS_DATA_TYPE, 0xC80C0DF3, 0x6052, 0x4c16, 0x9F, 0x56, 0xC4, 0x4C, 0x21, 0xF7, 0x3C, 0x45);
6545DEFINE_GUID(PBDA_AUX_CONNECTOR_TYPE_SVideo, 0xa0e905f4,0x24c9,0x4a54, 0xb7, 0x61, 0x21, 0x33, 0x55, 0xef, 0xc1, 0x3A);
6546DEFINE_GUID(PBDA_AUX_CONNECTOR_TYPE_Composite, 0xf6298b4c,0xc725,0x4d42, 0x84, 0x9b, 0x41, 0x0b, 0xbb, 0x14, 0xea, 0x62);
6547DEFINE_GUID(CLSID_PBDA_AUX_DATA_TYPE, 0xfd456373, 0x3323, 0x4090, 0xad, 0xca, 0x8e, 0xd4, 0x5f, 0x55, 0xcf, 0x10);
6548#endif
6549/* Begin additional prototypes for all interfaces */
6550
6551ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
6552unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
6553unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
6554void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
6555
6556/* End additional prototypes */
6557
6558#ifdef __cplusplus
6559}
6560#endif
6561
6562#endif /* __bdaiface_h__ */