zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

bdaiface.h (255810B) - Raw


      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__
     23 typedef interface IBDA_NetworkProvider IBDA_NetworkProvider;
     24 #ifdef __cplusplus
     25 interface IBDA_NetworkProvider;
     26 #endif /* __cplusplus */
     27 #endif
     28 
     29 #ifndef __IBDA_EthernetFilter_FWD_DEFINED__
     30 #define __IBDA_EthernetFilter_FWD_DEFINED__
     31 typedef interface IBDA_EthernetFilter IBDA_EthernetFilter;
     32 #ifdef __cplusplus
     33 interface IBDA_EthernetFilter;
     34 #endif /* __cplusplus */
     35 #endif
     36 
     37 #ifndef __IBDA_IPV4Filter_FWD_DEFINED__
     38 #define __IBDA_IPV4Filter_FWD_DEFINED__
     39 typedef interface IBDA_IPV4Filter IBDA_IPV4Filter;
     40 #ifdef __cplusplus
     41 interface IBDA_IPV4Filter;
     42 #endif /* __cplusplus */
     43 #endif
     44 
     45 #ifndef __IBDA_IPV6Filter_FWD_DEFINED__
     46 #define __IBDA_IPV6Filter_FWD_DEFINED__
     47 typedef interface IBDA_IPV6Filter IBDA_IPV6Filter;
     48 #ifdef __cplusplus
     49 interface IBDA_IPV6Filter;
     50 #endif /* __cplusplus */
     51 #endif
     52 
     53 #ifndef __IBDA_DeviceControl_FWD_DEFINED__
     54 #define __IBDA_DeviceControl_FWD_DEFINED__
     55 typedef interface IBDA_DeviceControl IBDA_DeviceControl;
     56 #ifdef __cplusplus
     57 interface IBDA_DeviceControl;
     58 #endif /* __cplusplus */
     59 #endif
     60 
     61 #ifndef __IBDA_PinControl_FWD_DEFINED__
     62 #define __IBDA_PinControl_FWD_DEFINED__
     63 typedef interface IBDA_PinControl IBDA_PinControl;
     64 #ifdef __cplusplus
     65 interface IBDA_PinControl;
     66 #endif /* __cplusplus */
     67 #endif
     68 
     69 #ifndef __IBDA_SignalProperties_FWD_DEFINED__
     70 #define __IBDA_SignalProperties_FWD_DEFINED__
     71 typedef interface IBDA_SignalProperties IBDA_SignalProperties;
     72 #ifdef __cplusplus
     73 interface IBDA_SignalProperties;
     74 #endif /* __cplusplus */
     75 #endif
     76 
     77 #ifndef __IBDA_SignalStatistics_FWD_DEFINED__
     78 #define __IBDA_SignalStatistics_FWD_DEFINED__
     79 typedef interface IBDA_SignalStatistics IBDA_SignalStatistics;
     80 #ifdef __cplusplus
     81 interface IBDA_SignalStatistics;
     82 #endif /* __cplusplus */
     83 #endif
     84 
     85 #ifndef __IBDA_Topology_FWD_DEFINED__
     86 #define __IBDA_Topology_FWD_DEFINED__
     87 typedef interface IBDA_Topology IBDA_Topology;
     88 #ifdef __cplusplus
     89 interface IBDA_Topology;
     90 #endif /* __cplusplus */
     91 #endif
     92 
     93 #ifndef __IBDA_VoidTransform_FWD_DEFINED__
     94 #define __IBDA_VoidTransform_FWD_DEFINED__
     95 typedef interface IBDA_VoidTransform IBDA_VoidTransform;
     96 #ifdef __cplusplus
     97 interface IBDA_VoidTransform;
     98 #endif /* __cplusplus */
     99 #endif
    100 
    101 #ifndef __IBDA_NullTransform_FWD_DEFINED__
    102 #define __IBDA_NullTransform_FWD_DEFINED__
    103 typedef interface IBDA_NullTransform IBDA_NullTransform;
    104 #ifdef __cplusplus
    105 interface IBDA_NullTransform;
    106 #endif /* __cplusplus */
    107 #endif
    108 
    109 #ifndef __IBDA_FrequencyFilter_FWD_DEFINED__
    110 #define __IBDA_FrequencyFilter_FWD_DEFINED__
    111 typedef interface IBDA_FrequencyFilter IBDA_FrequencyFilter;
    112 #ifdef __cplusplus
    113 interface IBDA_FrequencyFilter;
    114 #endif /* __cplusplus */
    115 #endif
    116 
    117 #ifndef __IBDA_LNBInfo_FWD_DEFINED__
    118 #define __IBDA_LNBInfo_FWD_DEFINED__
    119 typedef interface IBDA_LNBInfo IBDA_LNBInfo;
    120 #ifdef __cplusplus
    121 interface IBDA_LNBInfo;
    122 #endif /* __cplusplus */
    123 #endif
    124 
    125 #ifndef __IBDA_DiseqCommand_FWD_DEFINED__
    126 #define __IBDA_DiseqCommand_FWD_DEFINED__
    127 typedef interface IBDA_DiseqCommand IBDA_DiseqCommand;
    128 #ifdef __cplusplus
    129 interface IBDA_DiseqCommand;
    130 #endif /* __cplusplus */
    131 #endif
    132 
    133 #ifndef __IBDA_AutoDemodulate_FWD_DEFINED__
    134 #define __IBDA_AutoDemodulate_FWD_DEFINED__
    135 typedef interface IBDA_AutoDemodulate IBDA_AutoDemodulate;
    136 #ifdef __cplusplus
    137 interface IBDA_AutoDemodulate;
    138 #endif /* __cplusplus */
    139 #endif
    140 
    141 #ifndef __IBDA_AutoDemodulateEx_FWD_DEFINED__
    142 #define __IBDA_AutoDemodulateEx_FWD_DEFINED__
    143 typedef interface IBDA_AutoDemodulateEx IBDA_AutoDemodulateEx;
    144 #ifdef __cplusplus
    145 interface IBDA_AutoDemodulateEx;
    146 #endif /* __cplusplus */
    147 #endif
    148 
    149 #ifndef __IBDA_DigitalDemodulator_FWD_DEFINED__
    150 #define __IBDA_DigitalDemodulator_FWD_DEFINED__
    151 typedef interface IBDA_DigitalDemodulator IBDA_DigitalDemodulator;
    152 #ifdef __cplusplus
    153 interface IBDA_DigitalDemodulator;
    154 #endif /* __cplusplus */
    155 #endif
    156 
    157 #ifndef __IBDA_DigitalDemodulator2_FWD_DEFINED__
    158 #define __IBDA_DigitalDemodulator2_FWD_DEFINED__
    159 typedef interface IBDA_DigitalDemodulator2 IBDA_DigitalDemodulator2;
    160 #ifdef __cplusplus
    161 interface IBDA_DigitalDemodulator2;
    162 #endif /* __cplusplus */
    163 #endif
    164 
    165 #ifndef __IBDA_DigitalDemodulator3_FWD_DEFINED__
    166 #define __IBDA_DigitalDemodulator3_FWD_DEFINED__
    167 typedef interface IBDA_DigitalDemodulator3 IBDA_DigitalDemodulator3;
    168 #ifdef __cplusplus
    169 interface IBDA_DigitalDemodulator3;
    170 #endif /* __cplusplus */
    171 #endif
    172 
    173 #ifndef __ICCSubStreamFiltering_FWD_DEFINED__
    174 #define __ICCSubStreamFiltering_FWD_DEFINED__
    175 typedef interface ICCSubStreamFiltering ICCSubStreamFiltering;
    176 #ifdef __cplusplus
    177 interface ICCSubStreamFiltering;
    178 #endif /* __cplusplus */
    179 #endif
    180 
    181 #ifndef __IBDA_IPSinkControl_FWD_DEFINED__
    182 #define __IBDA_IPSinkControl_FWD_DEFINED__
    183 typedef interface IBDA_IPSinkControl IBDA_IPSinkControl;
    184 #ifdef __cplusplus
    185 interface IBDA_IPSinkControl;
    186 #endif /* __cplusplus */
    187 #endif
    188 
    189 #ifndef __IBDA_IPSinkInfo_FWD_DEFINED__
    190 #define __IBDA_IPSinkInfo_FWD_DEFINED__
    191 typedef interface IBDA_IPSinkInfo IBDA_IPSinkInfo;
    192 #ifdef __cplusplus
    193 interface IBDA_IPSinkInfo;
    194 #endif /* __cplusplus */
    195 #endif
    196 
    197 #ifndef __IEnumPIDMap_FWD_DEFINED__
    198 #define __IEnumPIDMap_FWD_DEFINED__
    199 typedef interface IEnumPIDMap IEnumPIDMap;
    200 #ifdef __cplusplus
    201 interface IEnumPIDMap;
    202 #endif /* __cplusplus */
    203 #endif
    204 
    205 #ifndef __IMPEG2PIDMap_FWD_DEFINED__
    206 #define __IMPEG2PIDMap_FWD_DEFINED__
    207 typedef interface IMPEG2PIDMap IMPEG2PIDMap;
    208 #ifdef __cplusplus
    209 interface IMPEG2PIDMap;
    210 #endif /* __cplusplus */
    211 #endif
    212 
    213 #ifndef __IFrequencyMap_FWD_DEFINED__
    214 #define __IFrequencyMap_FWD_DEFINED__
    215 typedef interface IFrequencyMap IFrequencyMap;
    216 #ifdef __cplusplus
    217 interface IFrequencyMap;
    218 #endif /* __cplusplus */
    219 #endif
    220 
    221 #ifndef __IBDA_EasMessage_FWD_DEFINED__
    222 #define __IBDA_EasMessage_FWD_DEFINED__
    223 typedef interface IBDA_EasMessage IBDA_EasMessage;
    224 #ifdef __cplusplus
    225 interface IBDA_EasMessage;
    226 #endif /* __cplusplus */
    227 #endif
    228 
    229 #ifndef __IBDA_TransportStreamInfo_FWD_DEFINED__
    230 #define __IBDA_TransportStreamInfo_FWD_DEFINED__
    231 typedef interface IBDA_TransportStreamInfo IBDA_TransportStreamInfo;
    232 #ifdef __cplusplus
    233 interface IBDA_TransportStreamInfo;
    234 #endif /* __cplusplus */
    235 #endif
    236 
    237 #ifndef __IBDA_ConditionalAccess_FWD_DEFINED__
    238 #define __IBDA_ConditionalAccess_FWD_DEFINED__
    239 typedef interface IBDA_ConditionalAccess IBDA_ConditionalAccess;
    240 #ifdef __cplusplus
    241 interface IBDA_ConditionalAccess;
    242 #endif /* __cplusplus */
    243 #endif
    244 
    245 #ifndef __IBDA_DiagnosticProperties_FWD_DEFINED__
    246 #define __IBDA_DiagnosticProperties_FWD_DEFINED__
    247 typedef interface IBDA_DiagnosticProperties IBDA_DiagnosticProperties;
    248 #ifdef __cplusplus
    249 interface IBDA_DiagnosticProperties;
    250 #endif /* __cplusplus */
    251 #endif
    252 
    253 #ifndef __IBDA_DRM_FWD_DEFINED__
    254 #define __IBDA_DRM_FWD_DEFINED__
    255 typedef interface IBDA_DRM IBDA_DRM;
    256 #ifdef __cplusplus
    257 interface IBDA_DRM;
    258 #endif /* __cplusplus */
    259 #endif
    260 
    261 #ifndef __IBDA_NameValueService_FWD_DEFINED__
    262 #define __IBDA_NameValueService_FWD_DEFINED__
    263 typedef interface IBDA_NameValueService IBDA_NameValueService;
    264 #ifdef __cplusplus
    265 interface IBDA_NameValueService;
    266 #endif /* __cplusplus */
    267 #endif
    268 
    269 #ifndef __IBDA_ConditionalAccessEx_FWD_DEFINED__
    270 #define __IBDA_ConditionalAccessEx_FWD_DEFINED__
    271 typedef interface IBDA_ConditionalAccessEx IBDA_ConditionalAccessEx;
    272 #ifdef __cplusplus
    273 interface IBDA_ConditionalAccessEx;
    274 #endif /* __cplusplus */
    275 #endif
    276 
    277 #ifndef __IBDA_ISDBConditionalAccess_FWD_DEFINED__
    278 #define __IBDA_ISDBConditionalAccess_FWD_DEFINED__
    279 typedef interface IBDA_ISDBConditionalAccess IBDA_ISDBConditionalAccess;
    280 #ifdef __cplusplus
    281 interface IBDA_ISDBConditionalAccess;
    282 #endif /* __cplusplus */
    283 #endif
    284 
    285 #ifndef __IBDA_EventingService_FWD_DEFINED__
    286 #define __IBDA_EventingService_FWD_DEFINED__
    287 typedef interface IBDA_EventingService IBDA_EventingService;
    288 #ifdef __cplusplus
    289 interface IBDA_EventingService;
    290 #endif /* __cplusplus */
    291 #endif
    292 
    293 #ifndef __IBDA_AUX_FWD_DEFINED__
    294 #define __IBDA_AUX_FWD_DEFINED__
    295 typedef interface IBDA_AUX IBDA_AUX;
    296 #ifdef __cplusplus
    297 interface IBDA_AUX;
    298 #endif /* __cplusplus */
    299 #endif
    300 
    301 #ifndef __IBDA_Encoder_FWD_DEFINED__
    302 #define __IBDA_Encoder_FWD_DEFINED__
    303 typedef interface IBDA_Encoder IBDA_Encoder;
    304 #ifdef __cplusplus
    305 interface IBDA_Encoder;
    306 #endif /* __cplusplus */
    307 #endif
    308 
    309 #ifndef __IBDA_FDC_FWD_DEFINED__
    310 #define __IBDA_FDC_FWD_DEFINED__
    311 typedef interface IBDA_FDC IBDA_FDC;
    312 #ifdef __cplusplus
    313 interface IBDA_FDC;
    314 #endif /* __cplusplus */
    315 #endif
    316 
    317 #ifndef __IBDA_GuideDataDeliveryService_FWD_DEFINED__
    318 #define __IBDA_GuideDataDeliveryService_FWD_DEFINED__
    319 typedef interface IBDA_GuideDataDeliveryService IBDA_GuideDataDeliveryService;
    320 #ifdef __cplusplus
    321 interface IBDA_GuideDataDeliveryService;
    322 #endif /* __cplusplus */
    323 #endif
    324 
    325 #ifndef __IBDA_DRMService_FWD_DEFINED__
    326 #define __IBDA_DRMService_FWD_DEFINED__
    327 typedef interface IBDA_DRMService IBDA_DRMService;
    328 #ifdef __cplusplus
    329 interface IBDA_DRMService;
    330 #endif /* __cplusplus */
    331 #endif
    332 
    333 #ifndef __IBDA_WMDRMSession_FWD_DEFINED__
    334 #define __IBDA_WMDRMSession_FWD_DEFINED__
    335 typedef interface IBDA_WMDRMSession IBDA_WMDRMSession;
    336 #ifdef __cplusplus
    337 interface IBDA_WMDRMSession;
    338 #endif /* __cplusplus */
    339 #endif
    340 
    341 #ifndef __IBDA_WMDRMTuner_FWD_DEFINED__
    342 #define __IBDA_WMDRMTuner_FWD_DEFINED__
    343 typedef interface IBDA_WMDRMTuner IBDA_WMDRMTuner;
    344 #ifdef __cplusplus
    345 interface IBDA_WMDRMTuner;
    346 #endif /* __cplusplus */
    347 #endif
    348 
    349 #ifndef __IBDA_DRIDRMService_FWD_DEFINED__
    350 #define __IBDA_DRIDRMService_FWD_DEFINED__
    351 typedef interface IBDA_DRIDRMService IBDA_DRIDRMService;
    352 #ifdef __cplusplus
    353 interface IBDA_DRIDRMService;
    354 #endif /* __cplusplus */
    355 #endif
    356 
    357 #ifndef __IBDA_DRIWMDRMSession_FWD_DEFINED__
    358 #define __IBDA_DRIWMDRMSession_FWD_DEFINED__
    359 typedef interface IBDA_DRIWMDRMSession IBDA_DRIWMDRMSession;
    360 #ifdef __cplusplus
    361 interface IBDA_DRIWMDRMSession;
    362 #endif /* __cplusplus */
    363 #endif
    364 
    365 #ifndef __IBDA_MUX_FWD_DEFINED__
    366 #define __IBDA_MUX_FWD_DEFINED__
    367 typedef interface IBDA_MUX IBDA_MUX;
    368 #ifdef __cplusplus
    369 interface IBDA_MUX;
    370 #endif /* __cplusplus */
    371 #endif
    372 
    373 #ifndef __IBDA_TransportStreamSelector_FWD_DEFINED__
    374 #define __IBDA_TransportStreamSelector_FWD_DEFINED__
    375 typedef interface IBDA_TransportStreamSelector IBDA_TransportStreamSelector;
    376 #ifdef __cplusplus
    377 interface IBDA_TransportStreamSelector;
    378 #endif /* __cplusplus */
    379 #endif
    380 
    381 #ifndef __IBDA_UserActivityService_FWD_DEFINED__
    382 #define __IBDA_UserActivityService_FWD_DEFINED__
    383 typedef interface IBDA_UserActivityService IBDA_UserActivityService;
    384 #ifdef __cplusplus
    385 interface 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
    396 extern "C" {
    397 #endif
    398 
    399 #include <winapifamily.h>
    400 
    401 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
    402 typedef enum SmartCardStatusType {
    403     CardInserted = 0,
    404     CardRemoved = 1,
    405     CardError = 2,
    406     CardDataChanged = 3,
    407     CardFirmwareUpgrade = 4
    408 } SmartCardStatusType;
    409 typedef enum SmartCardAssociationType {
    410     NotAssociated = 0,
    411     Associated = 1,
    412     AssociationUnknown = 2
    413 } SmartCardAssociationType;
    414 typedef enum LocationCodeSchemeType {
    415     SCTE_18 = 0
    416 } LocationCodeSchemeType;
    417 typedef enum EntitlementType {
    418     Entitled = 0,
    419     NotEntitled = 1,
    420     TechnicalFailure = 2
    421 } EntitlementType;
    422 typedef enum UICloseReasonType {
    423     NotReady = 0,
    424     UserClosed = 1,
    425     SystemClosed = 2,
    426     DeviceClosed = 3,
    427     ErrorClosed = 4
    428 } UICloseReasonType;
    429 typedef 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;
    441 typedef struct EALocationCodeType {
    442     LocationCodeSchemeType LocationCodeScheme;
    443     BYTE state_code;
    444     BYTE county_subdivision;
    445     WORD county_code;
    446 } EALocationCodeType;
    447 typedef 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
    466 typedef 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 
    477 DEFINE_GUID(IID_IBDA_NetworkProvider, 0xfd501041, 0x8ebe, 0x11ce, 0x81,0x83, 0x00,0xaa,0x00,0x57,0x7d,0xa2);
    478 #if defined(__cplusplus) && !defined(CINTERFACE)
    479 MIDL_INTERFACE("fd501041-8ebe-11ce-8183-00aa00577da2")
    480 IBDA_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
    509 typedef 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 
    557 interface 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 ***/
    577 static inline HRESULT IBDA_NetworkProvider_QueryInterface(IBDA_NetworkProvider* This,REFIID riid,void **ppvObject) {
    578     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    579 }
    580 static inline ULONG IBDA_NetworkProvider_AddRef(IBDA_NetworkProvider* This) {
    581     return This->lpVtbl->AddRef(This);
    582 }
    583 static inline ULONG IBDA_NetworkProvider_Release(IBDA_NetworkProvider* This) {
    584     return This->lpVtbl->Release(This);
    585 }
    586 /*** IBDA_NetworkProvider methods ***/
    587 static inline HRESULT IBDA_NetworkProvider_PutSignalSource(IBDA_NetworkProvider* This,ULONG ulSignalSource) {
    588     return This->lpVtbl->PutSignalSource(This,ulSignalSource);
    589 }
    590 static inline HRESULT IBDA_NetworkProvider_GetSignalSource(IBDA_NetworkProvider* This,ULONG *pulSignalSource) {
    591     return This->lpVtbl->GetSignalSource(This,pulSignalSource);
    592 }
    593 static inline HRESULT IBDA_NetworkProvider_GetNetworkType(IBDA_NetworkProvider* This,GUID *pguidNetworkType) {
    594     return This->lpVtbl->GetNetworkType(This,pguidNetworkType);
    595 }
    596 static inline HRESULT IBDA_NetworkProvider_PutTuningSpace(IBDA_NetworkProvider* This,REFGUID guidTuningSpace) {
    597     return This->lpVtbl->PutTuningSpace(This,guidTuningSpace);
    598 }
    599 static inline HRESULT IBDA_NetworkProvider_GetTuningSpace(IBDA_NetworkProvider* This,GUID *pguidTuingSpace) {
    600     return This->lpVtbl->GetTuningSpace(This,pguidTuingSpace);
    601 }
    602 static inline HRESULT IBDA_NetworkProvider_RegisterDeviceFilter(IBDA_NetworkProvider* This,IUnknown *pUnkFilterControl,ULONG *ppvRegisitrationContext) {
    603     return This->lpVtbl->RegisterDeviceFilter(This,pUnkFilterControl,ppvRegisitrationContext);
    604 }
    605 static 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 
    622 DEFINE_GUID(IID_IBDA_EthernetFilter, 0x71985f43, 0x1ca1, 0x11d3, 0x9c,0xc8, 0x00,0xc0,0x4f,0x79,0x71,0xe0);
    623 #if defined(__cplusplus) && !defined(CINTERFACE)
    624 MIDL_INTERFACE("71985f43-1ca1-11d3-9cc8-00c04f7971e0")
    625 IBDA_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
    649 typedef 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 
    690 interface 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 ***/
    708 static inline HRESULT IBDA_EthernetFilter_QueryInterface(IBDA_EthernetFilter* This,REFIID riid,void **ppvObject) {
    709     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    710 }
    711 static inline ULONG IBDA_EthernetFilter_AddRef(IBDA_EthernetFilter* This) {
    712     return This->lpVtbl->AddRef(This);
    713 }
    714 static inline ULONG IBDA_EthernetFilter_Release(IBDA_EthernetFilter* This) {
    715     return This->lpVtbl->Release(This);
    716 }
    717 /*** IBDA_EthernetFilter methods ***/
    718 static inline HRESULT IBDA_EthernetFilter_GetMulticastListSize(IBDA_EthernetFilter* This,ULONG *pulcbAddresses) {
    719     return This->lpVtbl->GetMulticastListSize(This,pulcbAddresses);
    720 }
    721 static inline HRESULT IBDA_EthernetFilter_PutMulticastList(IBDA_EthernetFilter* This,ULONG ulcbAddresses,BYTE pAddressList[]) {
    722     return This->lpVtbl->PutMulticastList(This,ulcbAddresses,pAddressList);
    723 }
    724 static inline HRESULT IBDA_EthernetFilter_GetMulticastList(IBDA_EthernetFilter* This,ULONG *pulcbAddresses,BYTE pAddressList[]) {
    725     return This->lpVtbl->GetMulticastList(This,pulcbAddresses,pAddressList);
    726 }
    727 static inline HRESULT IBDA_EthernetFilter_PutMulticastMode(IBDA_EthernetFilter* This,ULONG ulModeMask) {
    728     return This->lpVtbl->PutMulticastMode(This,ulModeMask);
    729 }
    730 static 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 
    747 DEFINE_GUID(IID_IBDA_IPV4Filter, 0x71985f44, 0x1ca1, 0x11d3, 0x9c,0xc8, 0x00,0xc0,0x4f,0x79,0x71,0xe0);
    748 #if defined(__cplusplus) && !defined(CINTERFACE)
    749 MIDL_INTERFACE("71985f44-1ca1-11d3-9cc8-00c04f7971e0")
    750 IBDA_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
    774 typedef 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 
    815 interface 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 ***/
    833 static inline HRESULT IBDA_IPV4Filter_QueryInterface(IBDA_IPV4Filter* This,REFIID riid,void **ppvObject) {
    834     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    835 }
    836 static inline ULONG IBDA_IPV4Filter_AddRef(IBDA_IPV4Filter* This) {
    837     return This->lpVtbl->AddRef(This);
    838 }
    839 static inline ULONG IBDA_IPV4Filter_Release(IBDA_IPV4Filter* This) {
    840     return This->lpVtbl->Release(This);
    841 }
    842 /*** IBDA_IPV4Filter methods ***/
    843 static inline HRESULT IBDA_IPV4Filter_GetMulticastListSize(IBDA_IPV4Filter* This,ULONG *pulcbAddresses) {
    844     return This->lpVtbl->GetMulticastListSize(This,pulcbAddresses);
    845 }
    846 static inline HRESULT IBDA_IPV4Filter_PutMulticastList(IBDA_IPV4Filter* This,ULONG ulcbAddresses,BYTE pAddressList[]) {
    847     return This->lpVtbl->PutMulticastList(This,ulcbAddresses,pAddressList);
    848 }
    849 static inline HRESULT IBDA_IPV4Filter_GetMulticastList(IBDA_IPV4Filter* This,ULONG *pulcbAddresses,BYTE pAddressList[]) {
    850     return This->lpVtbl->GetMulticastList(This,pulcbAddresses,pAddressList);
    851 }
    852 static inline HRESULT IBDA_IPV4Filter_PutMulticastMode(IBDA_IPV4Filter* This,ULONG ulModeMask) {
    853     return This->lpVtbl->PutMulticastMode(This,ulModeMask);
    854 }
    855 static 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 
    872 DEFINE_GUID(IID_IBDA_IPV6Filter, 0xe1785a74, 0x2a23, 0x4fb3, 0x92,0x45, 0xa8,0xf8,0x80,0x17,0xef,0x33);
    873 #if defined(__cplusplus) && !defined(CINTERFACE)
    874 MIDL_INTERFACE("e1785a74-2a23-4fb3-9245-a8f88017ef33")
    875 IBDA_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
    899 typedef 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 
    940 interface 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 ***/
    958 static inline HRESULT IBDA_IPV6Filter_QueryInterface(IBDA_IPV6Filter* This,REFIID riid,void **ppvObject) {
    959     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    960 }
    961 static inline ULONG IBDA_IPV6Filter_AddRef(IBDA_IPV6Filter* This) {
    962     return This->lpVtbl->AddRef(This);
    963 }
    964 static inline ULONG IBDA_IPV6Filter_Release(IBDA_IPV6Filter* This) {
    965     return This->lpVtbl->Release(This);
    966 }
    967 /*** IBDA_IPV6Filter methods ***/
    968 static inline HRESULT IBDA_IPV6Filter_GetMulticastListSize(IBDA_IPV6Filter* This,ULONG *pulcbAddresses) {
    969     return This->lpVtbl->GetMulticastListSize(This,pulcbAddresses);
    970 }
    971 static inline HRESULT IBDA_IPV6Filter_PutMulticastList(IBDA_IPV6Filter* This,ULONG ulcbAddresses,BYTE pAddressList[]) {
    972     return This->lpVtbl->PutMulticastList(This,ulcbAddresses,pAddressList);
    973 }
    974 static inline HRESULT IBDA_IPV6Filter_GetMulticastList(IBDA_IPV6Filter* This,ULONG *pulcbAddresses,BYTE pAddressList[]) {
    975     return This->lpVtbl->GetMulticastList(This,pulcbAddresses,pAddressList);
    976 }
    977 static inline HRESULT IBDA_IPV6Filter_PutMulticastMode(IBDA_IPV6Filter* This,ULONG ulModeMask) {
    978     return This->lpVtbl->PutMulticastMode(This,ulModeMask);
    979 }
    980 static 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 
    997 DEFINE_GUID(IID_IBDA_DeviceControl, 0xfd0a5af3, 0xb41d, 0x11d2, 0x9c,0x95, 0x00,0xc0,0x4f,0x79,0x71,0xe0);
    998 #if defined(__cplusplus) && !defined(CINTERFACE)
    999 MIDL_INTERFACE("fd0a5af3-b41d-11d2-9c95-00c04f7971e0")
   1000 IBDA_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
   1019 typedef 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 
   1051 interface 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 ***/
   1068 static inline HRESULT IBDA_DeviceControl_QueryInterface(IBDA_DeviceControl* This,REFIID riid,void **ppvObject) {
   1069     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1070 }
   1071 static inline ULONG IBDA_DeviceControl_AddRef(IBDA_DeviceControl* This) {
   1072     return This->lpVtbl->AddRef(This);
   1073 }
   1074 static inline ULONG IBDA_DeviceControl_Release(IBDA_DeviceControl* This) {
   1075     return This->lpVtbl->Release(This);
   1076 }
   1077 /*** IBDA_DeviceControl methods ***/
   1078 static inline HRESULT IBDA_DeviceControl_StartChanges(IBDA_DeviceControl* This) {
   1079     return This->lpVtbl->StartChanges(This);
   1080 }
   1081 static inline HRESULT IBDA_DeviceControl_CheckChanges(IBDA_DeviceControl* This) {
   1082     return This->lpVtbl->CheckChanges(This);
   1083 }
   1084 static inline HRESULT IBDA_DeviceControl_CommitChanges(IBDA_DeviceControl* This) {
   1085     return This->lpVtbl->CommitChanges(This);
   1086 }
   1087 static 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 
   1104 DEFINE_GUID(IID_IBDA_PinControl, 0x0ded49d5, 0xa8b7, 0x4d5d, 0x97,0xa1, 0x12,0xb0,0xc1,0x95,0x87,0x4d);
   1105 #if defined(__cplusplus) && !defined(CINTERFACE)
   1106 MIDL_INTERFACE("0ded49d5-a8b7-4d5d-97a1-12b0c195874d")
   1107 IBDA_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
   1123 typedef 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 
   1154 interface 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 ***/
   1170 static inline HRESULT IBDA_PinControl_QueryInterface(IBDA_PinControl* This,REFIID riid,void **ppvObject) {
   1171     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1172 }
   1173 static inline ULONG IBDA_PinControl_AddRef(IBDA_PinControl* This) {
   1174     return This->lpVtbl->AddRef(This);
   1175 }
   1176 static inline ULONG IBDA_PinControl_Release(IBDA_PinControl* This) {
   1177     return This->lpVtbl->Release(This);
   1178 }
   1179 /*** IBDA_PinControl methods ***/
   1180 static inline HRESULT IBDA_PinControl_GetPinID(IBDA_PinControl* This,ULONG *pulPinID) {
   1181     return This->lpVtbl->GetPinID(This,pulPinID);
   1182 }
   1183 static inline HRESULT IBDA_PinControl_GetPinType(IBDA_PinControl* This,ULONG *pulPinType) {
   1184     return This->lpVtbl->GetPinType(This,pulPinType);
   1185 }
   1186 static 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 
   1203 DEFINE_GUID(IID_IBDA_SignalProperties, 0xd2f1644b, 0xb409, 0x11d2, 0xbc,0x69, 0x00,0xa0,0xc9,0xee,0x9e,0x16);
   1204 #if defined(__cplusplus) && !defined(CINTERFACE)
   1205 MIDL_INTERFACE("d2f1644b-b409-11d2-bc69-00a0c9ee9e16")
   1206 IBDA_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
   1231 typedef 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 
   1274 interface 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 ***/
   1293 static inline HRESULT IBDA_SignalProperties_QueryInterface(IBDA_SignalProperties* This,REFIID riid,void **ppvObject) {
   1294     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1295 }
   1296 static inline ULONG IBDA_SignalProperties_AddRef(IBDA_SignalProperties* This) {
   1297     return This->lpVtbl->AddRef(This);
   1298 }
   1299 static inline ULONG IBDA_SignalProperties_Release(IBDA_SignalProperties* This) {
   1300     return This->lpVtbl->Release(This);
   1301 }
   1302 /*** IBDA_SignalProperties methods ***/
   1303 static inline HRESULT IBDA_SignalProperties_PutNetworkType(IBDA_SignalProperties* This,REFGUID guidNetworkType) {
   1304     return This->lpVtbl->PutNetworkType(This,guidNetworkType);
   1305 }
   1306 static inline HRESULT IBDA_SignalProperties_GetNetworkType(IBDA_SignalProperties* This,GUID *pguidNetworkType) {
   1307     return This->lpVtbl->GetNetworkType(This,pguidNetworkType);
   1308 }
   1309 static inline HRESULT IBDA_SignalProperties_PutSignalSource(IBDA_SignalProperties* This,ULONG ulSignalSource) {
   1310     return This->lpVtbl->PutSignalSource(This,ulSignalSource);
   1311 }
   1312 static inline HRESULT IBDA_SignalProperties_GetSignalSource(IBDA_SignalProperties* This,ULONG *pulSignalSource) {
   1313     return This->lpVtbl->GetSignalSource(This,pulSignalSource);
   1314 }
   1315 static inline HRESULT IBDA_SignalProperties_PutTuningSpace(IBDA_SignalProperties* This,REFGUID guidTuningSpace) {
   1316     return This->lpVtbl->PutTuningSpace(This,guidTuningSpace);
   1317 }
   1318 static 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 
   1335 DEFINE_GUID(IID_IBDA_SignalStatistics, 0x1347d106, 0xcf3a, 0x428a, 0xa5,0xcb, 0xac,0x0d,0x9a,0x2a,0x43,0x38);
   1336 #if defined(__cplusplus) && !defined(CINTERFACE)
   1337 MIDL_INTERFACE("1347d106-cf3a-428a-a5cb-ac0d9a2a4338")
   1338 IBDA_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
   1375 typedef 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 
   1434 interface 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 ***/
   1457 static inline HRESULT IBDA_SignalStatistics_QueryInterface(IBDA_SignalStatistics* This,REFIID riid,void **ppvObject) {
   1458     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1459 }
   1460 static inline ULONG IBDA_SignalStatistics_AddRef(IBDA_SignalStatistics* This) {
   1461     return This->lpVtbl->AddRef(This);
   1462 }
   1463 static inline ULONG IBDA_SignalStatistics_Release(IBDA_SignalStatistics* This) {
   1464     return This->lpVtbl->Release(This);
   1465 }
   1466 /*** IBDA_SignalStatistics methods ***/
   1467 static inline HRESULT IBDA_SignalStatistics_put_SignalStrength(IBDA_SignalStatistics* This,LONG lDbStrength) {
   1468     return This->lpVtbl->put_SignalStrength(This,lDbStrength);
   1469 }
   1470 static inline HRESULT IBDA_SignalStatistics_get_SignalStrength(IBDA_SignalStatistics* This,LONG *plDbStrength) {
   1471     return This->lpVtbl->get_SignalStrength(This,plDbStrength);
   1472 }
   1473 static inline HRESULT IBDA_SignalStatistics_put_SignalQuality(IBDA_SignalStatistics* This,LONG lPercentQuality) {
   1474     return This->lpVtbl->put_SignalQuality(This,lPercentQuality);
   1475 }
   1476 static inline HRESULT IBDA_SignalStatistics_get_SignalQuality(IBDA_SignalStatistics* This,LONG *plPercentQuality) {
   1477     return This->lpVtbl->get_SignalQuality(This,plPercentQuality);
   1478 }
   1479 static inline HRESULT IBDA_SignalStatistics_put_SignalPresent(IBDA_SignalStatistics* This,BOOLEAN fPresent) {
   1480     return This->lpVtbl->put_SignalPresent(This,fPresent);
   1481 }
   1482 static inline HRESULT IBDA_SignalStatistics_get_SignalPresent(IBDA_SignalStatistics* This,BOOLEAN *pfPresent) {
   1483     return This->lpVtbl->get_SignalPresent(This,pfPresent);
   1484 }
   1485 static inline HRESULT IBDA_SignalStatistics_put_SignalLocked(IBDA_SignalStatistics* This,BOOLEAN fLocked) {
   1486     return This->lpVtbl->put_SignalLocked(This,fLocked);
   1487 }
   1488 static inline HRESULT IBDA_SignalStatistics_get_SignalLocked(IBDA_SignalStatistics* This,BOOLEAN *pfLocked) {
   1489     return This->lpVtbl->get_SignalLocked(This,pfLocked);
   1490 }
   1491 static inline HRESULT IBDA_SignalStatistics_put_SampleTime(IBDA_SignalStatistics* This,LONG lmsSampleTime) {
   1492     return This->lpVtbl->put_SampleTime(This,lmsSampleTime);
   1493 }
   1494 static 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 
   1511 DEFINE_GUID(IID_IBDA_Topology, 0x79b56888, 0x7fea, 0x4690, 0xb4,0x5d, 0x38,0xfd,0x3c,0x78,0x49,0xbe);
   1512 #if defined(__cplusplus) && !defined(CINTERFACE)
   1513 MIDL_INTERFACE("79b56888-7fea-4690-b45d-38fd3c7849be")
   1514 IBDA_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
   1572 typedef 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 
   1653 interface 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 ***/
   1677 static inline HRESULT IBDA_Topology_QueryInterface(IBDA_Topology* This,REFIID riid,void **ppvObject) {
   1678     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1679 }
   1680 static inline ULONG IBDA_Topology_AddRef(IBDA_Topology* This) {
   1681     return This->lpVtbl->AddRef(This);
   1682 }
   1683 static inline ULONG IBDA_Topology_Release(IBDA_Topology* This) {
   1684     return This->lpVtbl->Release(This);
   1685 }
   1686 /*** IBDA_Topology methods ***/
   1687 static inline HRESULT IBDA_Topology_GetNodeTypes(IBDA_Topology* This,ULONG *pulcNodeTypes,ULONG ulcNodeTypesMax,ULONG rgulNodeTypes[]) {
   1688     return This->lpVtbl->GetNodeTypes(This,pulcNodeTypes,ulcNodeTypesMax,rgulNodeTypes);
   1689 }
   1690 static 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 }
   1693 static 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 }
   1696 static inline HRESULT IBDA_Topology_GetPinTypes(IBDA_Topology* This,ULONG *pulcPinTypes,ULONG ulcPinTypesMax,ULONG rgulPinTypes[]) {
   1697     return This->lpVtbl->GetPinTypes(This,pulcPinTypes,ulcPinTypesMax,rgulPinTypes);
   1698 }
   1699 static 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 }
   1702 static inline HRESULT IBDA_Topology_CreatePin(IBDA_Topology* This,ULONG ulPinType,ULONG *pulPinId) {
   1703     return This->lpVtbl->CreatePin(This,ulPinType,pulPinId);
   1704 }
   1705 static inline HRESULT IBDA_Topology_DeletePin(IBDA_Topology* This,ULONG ulPinId) {
   1706     return This->lpVtbl->DeletePin(This,ulPinId);
   1707 }
   1708 static inline HRESULT IBDA_Topology_SetMediaType(IBDA_Topology* This,ULONG ulPinId,AM_MEDIA_TYPE *pMediaType) {
   1709     return This->lpVtbl->SetMediaType(This,ulPinId,pMediaType);
   1710 }
   1711 static inline HRESULT IBDA_Topology_SetMedium(IBDA_Topology* This,ULONG ulPinId,REGPINMEDIUM *pMedium) {
   1712     return This->lpVtbl->SetMedium(This,ulPinId,pMedium);
   1713 }
   1714 static inline HRESULT IBDA_Topology_CreateTopology(IBDA_Topology* This,ULONG ulInputPinId,ULONG ulOutputPinId) {
   1715     return This->lpVtbl->CreateTopology(This,ulInputPinId,ulOutputPinId);
   1716 }
   1717 static 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 
   1734 DEFINE_GUID(IID_IBDA_VoidTransform, 0x71985f46, 0x1ca1, 0x11d3, 0x9c,0xc8, 0x00,0xc0,0x4f,0x79,0x71,0xe0);
   1735 #if defined(__cplusplus) && !defined(CINTERFACE)
   1736 MIDL_INTERFACE("71985f46-1ca1-11d3-9cc8-00c04f7971e0")
   1737 IBDA_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
   1750 typedef 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 
   1775 interface 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 ***/
   1790 static inline HRESULT IBDA_VoidTransform_QueryInterface(IBDA_VoidTransform* This,REFIID riid,void **ppvObject) {
   1791     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1792 }
   1793 static inline ULONG IBDA_VoidTransform_AddRef(IBDA_VoidTransform* This) {
   1794     return This->lpVtbl->AddRef(This);
   1795 }
   1796 static inline ULONG IBDA_VoidTransform_Release(IBDA_VoidTransform* This) {
   1797     return This->lpVtbl->Release(This);
   1798 }
   1799 /*** IBDA_VoidTransform methods ***/
   1800 static inline HRESULT IBDA_VoidTransform_Start(IBDA_VoidTransform* This) {
   1801     return This->lpVtbl->Start(This);
   1802 }
   1803 static 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 
   1820 DEFINE_GUID(IID_IBDA_NullTransform, 0xddf15b0d, 0xbd25, 0x11d2, 0x9c,0xa0, 0x00,0xc0,0x4f,0x79,0x71,0xe0);
   1821 #if defined(__cplusplus) && !defined(CINTERFACE)
   1822 MIDL_INTERFACE("ddf15b0d-bd25-11d2-9ca0-00c04f7971e0")
   1823 IBDA_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
   1836 typedef 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 
   1861 interface 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 ***/
   1876 static inline HRESULT IBDA_NullTransform_QueryInterface(IBDA_NullTransform* This,REFIID riid,void **ppvObject) {
   1877     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1878 }
   1879 static inline ULONG IBDA_NullTransform_AddRef(IBDA_NullTransform* This) {
   1880     return This->lpVtbl->AddRef(This);
   1881 }
   1882 static inline ULONG IBDA_NullTransform_Release(IBDA_NullTransform* This) {
   1883     return This->lpVtbl->Release(This);
   1884 }
   1885 /*** IBDA_NullTransform methods ***/
   1886 static inline HRESULT IBDA_NullTransform_Start(IBDA_NullTransform* This) {
   1887     return This->lpVtbl->Start(This);
   1888 }
   1889 static 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 
   1906 DEFINE_GUID(IID_IBDA_FrequencyFilter, 0x71985f47, 0x1ca1, 0x11d3, 0x9c,0xc8, 0x00,0xc0,0x4f,0x79,0x71,0xe0);
   1907 #if defined(__cplusplus) && !defined(CINTERFACE)
   1908 MIDL_INTERFACE("71985f47-1ca1-11d3-9cc8-00c04f7971e0")
   1909 IBDA_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
   1952 typedef 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 
   2019 interface 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 ***/
   2044 static inline HRESULT IBDA_FrequencyFilter_QueryInterface(IBDA_FrequencyFilter* This,REFIID riid,void **ppvObject) {
   2045     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2046 }
   2047 static inline ULONG IBDA_FrequencyFilter_AddRef(IBDA_FrequencyFilter* This) {
   2048     return This->lpVtbl->AddRef(This);
   2049 }
   2050 static inline ULONG IBDA_FrequencyFilter_Release(IBDA_FrequencyFilter* This) {
   2051     return This->lpVtbl->Release(This);
   2052 }
   2053 /*** IBDA_FrequencyFilter methods ***/
   2054 static inline HRESULT IBDA_FrequencyFilter_put_Autotune(IBDA_FrequencyFilter* This,ULONG ulTransponder) {
   2055     return This->lpVtbl->put_Autotune(This,ulTransponder);
   2056 }
   2057 static inline HRESULT IBDA_FrequencyFilter_get_Autotune(IBDA_FrequencyFilter* This,ULONG *pulTransponder) {
   2058     return This->lpVtbl->get_Autotune(This,pulTransponder);
   2059 }
   2060 static inline HRESULT IBDA_FrequencyFilter_put_Frequency(IBDA_FrequencyFilter* This,ULONG ulFrequency) {
   2061     return This->lpVtbl->put_Frequency(This,ulFrequency);
   2062 }
   2063 static inline HRESULT IBDA_FrequencyFilter_get_Frequency(IBDA_FrequencyFilter* This,ULONG *pulFrequency) {
   2064     return This->lpVtbl->get_Frequency(This,pulFrequency);
   2065 }
   2066 static inline HRESULT IBDA_FrequencyFilter_put_Polarity(IBDA_FrequencyFilter* This,Polarisation Polarity) {
   2067     return This->lpVtbl->put_Polarity(This,Polarity);
   2068 }
   2069 static inline HRESULT IBDA_FrequencyFilter_get_Polarity(IBDA_FrequencyFilter* This,Polarisation *pPolarity) {
   2070     return This->lpVtbl->get_Polarity(This,pPolarity);
   2071 }
   2072 static inline HRESULT IBDA_FrequencyFilter_put_Range(IBDA_FrequencyFilter* This,ULONG ulRange) {
   2073     return This->lpVtbl->put_Range(This,ulRange);
   2074 }
   2075 static inline HRESULT IBDA_FrequencyFilter_get_Range(IBDA_FrequencyFilter* This,ULONG *pulRange) {
   2076     return This->lpVtbl->get_Range(This,pulRange);
   2077 }
   2078 static inline HRESULT IBDA_FrequencyFilter_put_Bandwidth(IBDA_FrequencyFilter* This,ULONG ulBandwidth) {
   2079     return This->lpVtbl->put_Bandwidth(This,ulBandwidth);
   2080 }
   2081 static inline HRESULT IBDA_FrequencyFilter_get_Bandwidth(IBDA_FrequencyFilter* This,ULONG *pulBandwidth) {
   2082     return This->lpVtbl->get_Bandwidth(This,pulBandwidth);
   2083 }
   2084 static inline HRESULT IBDA_FrequencyFilter_put_FrequencyMultiplier(IBDA_FrequencyFilter* This,ULONG ulMultiplier) {
   2085     return This->lpVtbl->put_FrequencyMultiplier(This,ulMultiplier);
   2086 }
   2087 static 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 
   2104 DEFINE_GUID(IID_IBDA_LNBInfo, 0x992cf102, 0x49f9, 0x4719, 0xa6,0x64, 0xc4,0xf2,0x3e,0x24,0x08,0xf4);
   2105 #if defined(__cplusplus) && !defined(CINTERFACE)
   2106 MIDL_INTERFACE("992cf102-49f9-4719-a664-c4f23e2408f4")
   2107 IBDA_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
   2132 typedef 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 
   2175 interface 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 ***/
   2194 static inline HRESULT IBDA_LNBInfo_QueryInterface(IBDA_LNBInfo* This,REFIID riid,void **ppvObject) {
   2195     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2196 }
   2197 static inline ULONG IBDA_LNBInfo_AddRef(IBDA_LNBInfo* This) {
   2198     return This->lpVtbl->AddRef(This);
   2199 }
   2200 static inline ULONG IBDA_LNBInfo_Release(IBDA_LNBInfo* This) {
   2201     return This->lpVtbl->Release(This);
   2202 }
   2203 /*** IBDA_LNBInfo methods ***/
   2204 static inline HRESULT IBDA_LNBInfo_put_LocalOscilatorFrequencyLowBand(IBDA_LNBInfo* This,ULONG ulLOFLow) {
   2205     return This->lpVtbl->put_LocalOscilatorFrequencyLowBand(This,ulLOFLow);
   2206 }
   2207 static inline HRESULT IBDA_LNBInfo_get_LocalOscilatorFrequencyLowBand(IBDA_LNBInfo* This,ULONG *pulLOFLow) {
   2208     return This->lpVtbl->get_LocalOscilatorFrequencyLowBand(This,pulLOFLow);
   2209 }
   2210 static inline HRESULT IBDA_LNBInfo_put_LocalOscilatorFrequencyHighBand(IBDA_LNBInfo* This,ULONG ulLOFHigh) {
   2211     return This->lpVtbl->put_LocalOscilatorFrequencyHighBand(This,ulLOFHigh);
   2212 }
   2213 static inline HRESULT IBDA_LNBInfo_get_LocalOscilatorFrequencyHighBand(IBDA_LNBInfo* This,ULONG *pulLOFHigh) {
   2214     return This->lpVtbl->get_LocalOscilatorFrequencyHighBand(This,pulLOFHigh);
   2215 }
   2216 static inline HRESULT IBDA_LNBInfo_put_HighLowSwitchFrequency(IBDA_LNBInfo* This,ULONG ulSwitchFrequency) {
   2217     return This->lpVtbl->put_HighLowSwitchFrequency(This,ulSwitchFrequency);
   2218 }
   2219 static 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 
   2236 DEFINE_GUID(IID_IBDA_DiseqCommand, 0xf84e2ab0, 0x3c6b, 0x45e3, 0xa0,0xfc, 0x86,0x69,0xd4,0xb8,0x1f,0x11);
   2237 #if defined(__cplusplus) && !defined(CINTERFACE)
   2238 MIDL_INTERFACE("f84e2ab0-3c6b-45e3-a0fc-8669d4b81f11")
   2239 IBDA_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
   2268 typedef 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 
   2315 interface 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 ***/
   2334 static inline HRESULT IBDA_DiseqCommand_QueryInterface(IBDA_DiseqCommand* This,REFIID riid,void **ppvObject) {
   2335     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2336 }
   2337 static inline ULONG IBDA_DiseqCommand_AddRef(IBDA_DiseqCommand* This) {
   2338     return This->lpVtbl->AddRef(This);
   2339 }
   2340 static inline ULONG IBDA_DiseqCommand_Release(IBDA_DiseqCommand* This) {
   2341     return This->lpVtbl->Release(This);
   2342 }
   2343 /*** IBDA_DiseqCommand methods ***/
   2344 static inline HRESULT IBDA_DiseqCommand_put_EnableDiseqCommands(IBDA_DiseqCommand* This,BOOLEAN bEnable) {
   2345     return This->lpVtbl->put_EnableDiseqCommands(This,bEnable);
   2346 }
   2347 static inline HRESULT IBDA_DiseqCommand_put_DiseqLNBSource(IBDA_DiseqCommand* This,ULONG ulLNBSource) {
   2348     return This->lpVtbl->put_DiseqLNBSource(This,ulLNBSource);
   2349 }
   2350 static inline HRESULT IBDA_DiseqCommand_put_DiseqUseToneBurst(IBDA_DiseqCommand* This,BOOLEAN bUseToneBurst) {
   2351     return This->lpVtbl->put_DiseqUseToneBurst(This,bUseToneBurst);
   2352 }
   2353 static inline HRESULT IBDA_DiseqCommand_put_DiseqRepeats(IBDA_DiseqCommand* This,ULONG ulRepeats) {
   2354     return This->lpVtbl->put_DiseqRepeats(This,ulRepeats);
   2355 }
   2356 static 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 }
   2359 static 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 
   2376 DEFINE_GUID(IID_IBDA_AutoDemodulate, 0xddf15b12, 0xbd25, 0x11d2, 0x9c,0xa0, 0x00,0xc0,0x4f,0x79,0x71,0xe0);
   2377 #if defined(__cplusplus) && !defined(CINTERFACE)
   2378 MIDL_INTERFACE("ddf15b12-bd25-11d2-9ca0-00c04f7971e0")
   2379 IBDA_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
   2389 typedef 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 
   2411 interface 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 ***/
   2425 static inline HRESULT IBDA_AutoDemodulate_QueryInterface(IBDA_AutoDemodulate* This,REFIID riid,void **ppvObject) {
   2426     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2427 }
   2428 static inline ULONG IBDA_AutoDemodulate_AddRef(IBDA_AutoDemodulate* This) {
   2429     return This->lpVtbl->AddRef(This);
   2430 }
   2431 static inline ULONG IBDA_AutoDemodulate_Release(IBDA_AutoDemodulate* This) {
   2432     return This->lpVtbl->Release(This);
   2433 }
   2434 /*** IBDA_AutoDemodulate methods ***/
   2435 static 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 
   2452 DEFINE_GUID(IID_IBDA_AutoDemodulateEx, 0x34518d13, 0x1182, 0x48e6, 0xb2,0x8f, 0xb2,0x49,0x87,0x78,0x73,0x26);
   2453 #if defined(__cplusplus) && !defined(CINTERFACE)
   2454 MIDL_INTERFACE("34518d13-1182-48e6-b28f-b24987787326")
   2455 IBDA_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
   2475 typedef 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 
   2514 interface 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 ***/
   2532 static inline HRESULT IBDA_AutoDemodulateEx_QueryInterface(IBDA_AutoDemodulateEx* This,REFIID riid,void **ppvObject) {
   2533     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2534 }
   2535 static inline ULONG IBDA_AutoDemodulateEx_AddRef(IBDA_AutoDemodulateEx* This) {
   2536     return This->lpVtbl->AddRef(This);
   2537 }
   2538 static inline ULONG IBDA_AutoDemodulateEx_Release(IBDA_AutoDemodulateEx* This) {
   2539     return This->lpVtbl->Release(This);
   2540 }
   2541 /*** IBDA_AutoDemodulate methods ***/
   2542 static inline HRESULT IBDA_AutoDemodulateEx_put_AutoDemodulate(IBDA_AutoDemodulateEx* This) {
   2543     return This->lpVtbl->put_AutoDemodulate(This);
   2544 }
   2545 /*** IBDA_AutoDemodulateEx methods ***/
   2546 static 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 }
   2549 static inline HRESULT IBDA_AutoDemodulateEx_get_SupportedVideoFormats(IBDA_AutoDemodulateEx* This,ULONG *pulAMTunerModeType,ULONG *pulAnalogVideoStandard) {
   2550     return This->lpVtbl->get_SupportedVideoFormats(This,pulAMTunerModeType,pulAnalogVideoStandard);
   2551 }
   2552 static 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 
   2569 DEFINE_GUID(IID_IBDA_DigitalDemodulator, 0xef30f379, 0x985b, 0x4d10, 0xb6,0x40, 0xa7,0x9d,0x5e,0x04,0xe1,0xe0);
   2570 #if defined(__cplusplus) && !defined(CINTERFACE)
   2571 MIDL_INTERFACE("ef30f379-985b-4d10-b640-a79d5e04e1e0")
   2572 IBDA_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
   2621 typedef 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 
   2696 interface 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 ***/
   2723 static inline HRESULT IBDA_DigitalDemodulator_QueryInterface(IBDA_DigitalDemodulator* This,REFIID riid,void **ppvObject) {
   2724     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2725 }
   2726 static inline ULONG IBDA_DigitalDemodulator_AddRef(IBDA_DigitalDemodulator* This) {
   2727     return This->lpVtbl->AddRef(This);
   2728 }
   2729 static inline ULONG IBDA_DigitalDemodulator_Release(IBDA_DigitalDemodulator* This) {
   2730     return This->lpVtbl->Release(This);
   2731 }
   2732 /*** IBDA_DigitalDemodulator methods ***/
   2733 static inline HRESULT IBDA_DigitalDemodulator_put_ModulationType(IBDA_DigitalDemodulator* This,ModulationType *pModulationType) {
   2734     return This->lpVtbl->put_ModulationType(This,pModulationType);
   2735 }
   2736 static inline HRESULT IBDA_DigitalDemodulator_get_ModulationType(IBDA_DigitalDemodulator* This,ModulationType *pModulationType) {
   2737     return This->lpVtbl->get_ModulationType(This,pModulationType);
   2738 }
   2739 static inline HRESULT IBDA_DigitalDemodulator_put_InnerFECMethod(IBDA_DigitalDemodulator* This,FECMethod *pFECMethod) {
   2740     return This->lpVtbl->put_InnerFECMethod(This,pFECMethod);
   2741 }
   2742 static inline HRESULT IBDA_DigitalDemodulator_get_InnerFECMethod(IBDA_DigitalDemodulator* This,FECMethod *pFECMethod) {
   2743     return This->lpVtbl->get_InnerFECMethod(This,pFECMethod);
   2744 }
   2745 static inline HRESULT IBDA_DigitalDemodulator_put_InnerFECRate(IBDA_DigitalDemodulator* This,BinaryConvolutionCodeRate *pFECRate) {
   2746     return This->lpVtbl->put_InnerFECRate(This,pFECRate);
   2747 }
   2748 static inline HRESULT IBDA_DigitalDemodulator_get_InnerFECRate(IBDA_DigitalDemodulator* This,BinaryConvolutionCodeRate *pFECRate) {
   2749     return This->lpVtbl->get_InnerFECRate(This,pFECRate);
   2750 }
   2751 static inline HRESULT IBDA_DigitalDemodulator_put_OuterFECMethod(IBDA_DigitalDemodulator* This,FECMethod *pFECMethod) {
   2752     return This->lpVtbl->put_OuterFECMethod(This,pFECMethod);
   2753 }
   2754 static inline HRESULT IBDA_DigitalDemodulator_get_OuterFECMethod(IBDA_DigitalDemodulator* This,FECMethod *pFECMethod) {
   2755     return This->lpVtbl->get_OuterFECMethod(This,pFECMethod);
   2756 }
   2757 static inline HRESULT IBDA_DigitalDemodulator_put_OuterFECRate(IBDA_DigitalDemodulator* This,BinaryConvolutionCodeRate *pFECRate) {
   2758     return This->lpVtbl->put_OuterFECRate(This,pFECRate);
   2759 }
   2760 static inline HRESULT IBDA_DigitalDemodulator_get_OuterFECRate(IBDA_DigitalDemodulator* This,BinaryConvolutionCodeRate *pFECRate) {
   2761     return This->lpVtbl->get_OuterFECRate(This,pFECRate);
   2762 }
   2763 static inline HRESULT IBDA_DigitalDemodulator_put_SymbolRate(IBDA_DigitalDemodulator* This,ULONG *pSymbolRate) {
   2764     return This->lpVtbl->put_SymbolRate(This,pSymbolRate);
   2765 }
   2766 static inline HRESULT IBDA_DigitalDemodulator_get_SymbolRate(IBDA_DigitalDemodulator* This,ULONG *pSymbolRate) {
   2767     return This->lpVtbl->get_SymbolRate(This,pSymbolRate);
   2768 }
   2769 static inline HRESULT IBDA_DigitalDemodulator_put_SpectralInversion(IBDA_DigitalDemodulator* This,SpectralInversion *pSpectralInversion) {
   2770     return This->lpVtbl->put_SpectralInversion(This,pSpectralInversion);
   2771 }
   2772 static 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 
   2789 DEFINE_GUID(IID_IBDA_DigitalDemodulator2, 0x525ed3ee, 0x5cf3, 0x4e1e, 0x9a,0x06, 0x53,0x68,0xa8,0x4f,0x9a,0x6e);
   2790 #if defined(__cplusplus) && !defined(CINTERFACE)
   2791 MIDL_INTERFACE("525ed3ee-5cf3-4e1e-9a06-5368a84f9a6e")
   2792 IBDA_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
   2823 typedef 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 
   2931 interface 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 ***/
   2967 static inline HRESULT IBDA_DigitalDemodulator2_QueryInterface(IBDA_DigitalDemodulator2* This,REFIID riid,void **ppvObject) {
   2968     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2969 }
   2970 static inline ULONG IBDA_DigitalDemodulator2_AddRef(IBDA_DigitalDemodulator2* This) {
   2971     return This->lpVtbl->AddRef(This);
   2972 }
   2973 static inline ULONG IBDA_DigitalDemodulator2_Release(IBDA_DigitalDemodulator2* This) {
   2974     return This->lpVtbl->Release(This);
   2975 }
   2976 /*** IBDA_DigitalDemodulator methods ***/
   2977 static inline HRESULT IBDA_DigitalDemodulator2_put_ModulationType(IBDA_DigitalDemodulator2* This,ModulationType *pModulationType) {
   2978     return This->lpVtbl->put_ModulationType(This,pModulationType);
   2979 }
   2980 static inline HRESULT IBDA_DigitalDemodulator2_get_ModulationType(IBDA_DigitalDemodulator2* This,ModulationType *pModulationType) {
   2981     return This->lpVtbl->get_ModulationType(This,pModulationType);
   2982 }
   2983 static inline HRESULT IBDA_DigitalDemodulator2_put_InnerFECMethod(IBDA_DigitalDemodulator2* This,FECMethod *pFECMethod) {
   2984     return This->lpVtbl->put_InnerFECMethod(This,pFECMethod);
   2985 }
   2986 static inline HRESULT IBDA_DigitalDemodulator2_get_InnerFECMethod(IBDA_DigitalDemodulator2* This,FECMethod *pFECMethod) {
   2987     return This->lpVtbl->get_InnerFECMethod(This,pFECMethod);
   2988 }
   2989 static inline HRESULT IBDA_DigitalDemodulator2_put_InnerFECRate(IBDA_DigitalDemodulator2* This,BinaryConvolutionCodeRate *pFECRate) {
   2990     return This->lpVtbl->put_InnerFECRate(This,pFECRate);
   2991 }
   2992 static inline HRESULT IBDA_DigitalDemodulator2_get_InnerFECRate(IBDA_DigitalDemodulator2* This,BinaryConvolutionCodeRate *pFECRate) {
   2993     return This->lpVtbl->get_InnerFECRate(This,pFECRate);
   2994 }
   2995 static inline HRESULT IBDA_DigitalDemodulator2_put_OuterFECMethod(IBDA_DigitalDemodulator2* This,FECMethod *pFECMethod) {
   2996     return This->lpVtbl->put_OuterFECMethod(This,pFECMethod);
   2997 }
   2998 static inline HRESULT IBDA_DigitalDemodulator2_get_OuterFECMethod(IBDA_DigitalDemodulator2* This,FECMethod *pFECMethod) {
   2999     return This->lpVtbl->get_OuterFECMethod(This,pFECMethod);
   3000 }
   3001 static inline HRESULT IBDA_DigitalDemodulator2_put_OuterFECRate(IBDA_DigitalDemodulator2* This,BinaryConvolutionCodeRate *pFECRate) {
   3002     return This->lpVtbl->put_OuterFECRate(This,pFECRate);
   3003 }
   3004 static inline HRESULT IBDA_DigitalDemodulator2_get_OuterFECRate(IBDA_DigitalDemodulator2* This,BinaryConvolutionCodeRate *pFECRate) {
   3005     return This->lpVtbl->get_OuterFECRate(This,pFECRate);
   3006 }
   3007 static inline HRESULT IBDA_DigitalDemodulator2_put_SymbolRate(IBDA_DigitalDemodulator2* This,ULONG *pSymbolRate) {
   3008     return This->lpVtbl->put_SymbolRate(This,pSymbolRate);
   3009 }
   3010 static inline HRESULT IBDA_DigitalDemodulator2_get_SymbolRate(IBDA_DigitalDemodulator2* This,ULONG *pSymbolRate) {
   3011     return This->lpVtbl->get_SymbolRate(This,pSymbolRate);
   3012 }
   3013 static inline HRESULT IBDA_DigitalDemodulator2_put_SpectralInversion(IBDA_DigitalDemodulator2* This,SpectralInversion *pSpectralInversion) {
   3014     return This->lpVtbl->put_SpectralInversion(This,pSpectralInversion);
   3015 }
   3016 static inline HRESULT IBDA_DigitalDemodulator2_get_SpectralInversion(IBDA_DigitalDemodulator2* This,SpectralInversion *pSpectralInversion) {
   3017     return This->lpVtbl->get_SpectralInversion(This,pSpectralInversion);
   3018 }
   3019 /*** IBDA_DigitalDemodulator2 methods ***/
   3020 static inline HRESULT IBDA_DigitalDemodulator2_put_GuardInterval(IBDA_DigitalDemodulator2* This,GuardInterval *pGuardInterval) {
   3021     return This->lpVtbl->put_GuardInterval(This,pGuardInterval);
   3022 }
   3023 static inline HRESULT IBDA_DigitalDemodulator2_get_GuardInterval(IBDA_DigitalDemodulator2* This,GuardInterval *pGuardInterval) {
   3024     return This->lpVtbl->get_GuardInterval(This,pGuardInterval);
   3025 }
   3026 static inline HRESULT IBDA_DigitalDemodulator2_put_TransmissionMode(IBDA_DigitalDemodulator2* This,TransmissionMode *pTransmissionMode) {
   3027     return This->lpVtbl->put_TransmissionMode(This,pTransmissionMode);
   3028 }
   3029 static inline HRESULT IBDA_DigitalDemodulator2_get_TransmissionMode(IBDA_DigitalDemodulator2* This,TransmissionMode *pTransmissionMode) {
   3030     return This->lpVtbl->get_TransmissionMode(This,pTransmissionMode);
   3031 }
   3032 static inline HRESULT IBDA_DigitalDemodulator2_put_RollOff(IBDA_DigitalDemodulator2* This,RollOff *pRollOff) {
   3033     return This->lpVtbl->put_RollOff(This,pRollOff);
   3034 }
   3035 static inline HRESULT IBDA_DigitalDemodulator2_get_RollOff(IBDA_DigitalDemodulator2* This,RollOff *pRollOff) {
   3036     return This->lpVtbl->get_RollOff(This,pRollOff);
   3037 }
   3038 static inline HRESULT IBDA_DigitalDemodulator2_put_Pilot(IBDA_DigitalDemodulator2* This,Pilot *pPilot) {
   3039     return This->lpVtbl->put_Pilot(This,pPilot);
   3040 }
   3041 static 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 
   3058 DEFINE_GUID(IID_IBDA_DigitalDemodulator3, 0x13f19604, 0x7d32, 0x4359, 0x93,0xa2, 0xa0,0x52,0x05,0xd9,0x0a,0xc9);
   3059 #if defined(__cplusplus) && !defined(CINTERFACE)
   3060 MIDL_INTERFACE("13f19604-7d32-4359-93a2-a05205d90ac9")
   3061 IBDA_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
   3080 typedef 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 
   3205 interface 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 ***/
   3246 static inline HRESULT IBDA_DigitalDemodulator3_QueryInterface(IBDA_DigitalDemodulator3* This,REFIID riid,void **ppvObject) {
   3247     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3248 }
   3249 static inline ULONG IBDA_DigitalDemodulator3_AddRef(IBDA_DigitalDemodulator3* This) {
   3250     return This->lpVtbl->AddRef(This);
   3251 }
   3252 static inline ULONG IBDA_DigitalDemodulator3_Release(IBDA_DigitalDemodulator3* This) {
   3253     return This->lpVtbl->Release(This);
   3254 }
   3255 /*** IBDA_DigitalDemodulator methods ***/
   3256 static inline HRESULT IBDA_DigitalDemodulator3_put_ModulationType(IBDA_DigitalDemodulator3* This,ModulationType *pModulationType) {
   3257     return This->lpVtbl->put_ModulationType(This,pModulationType);
   3258 }
   3259 static inline HRESULT IBDA_DigitalDemodulator3_get_ModulationType(IBDA_DigitalDemodulator3* This,ModulationType *pModulationType) {
   3260     return This->lpVtbl->get_ModulationType(This,pModulationType);
   3261 }
   3262 static inline HRESULT IBDA_DigitalDemodulator3_put_InnerFECMethod(IBDA_DigitalDemodulator3* This,FECMethod *pFECMethod) {
   3263     return This->lpVtbl->put_InnerFECMethod(This,pFECMethod);
   3264 }
   3265 static inline HRESULT IBDA_DigitalDemodulator3_get_InnerFECMethod(IBDA_DigitalDemodulator3* This,FECMethod *pFECMethod) {
   3266     return This->lpVtbl->get_InnerFECMethod(This,pFECMethod);
   3267 }
   3268 static inline HRESULT IBDA_DigitalDemodulator3_put_InnerFECRate(IBDA_DigitalDemodulator3* This,BinaryConvolutionCodeRate *pFECRate) {
   3269     return This->lpVtbl->put_InnerFECRate(This,pFECRate);
   3270 }
   3271 static inline HRESULT IBDA_DigitalDemodulator3_get_InnerFECRate(IBDA_DigitalDemodulator3* This,BinaryConvolutionCodeRate *pFECRate) {
   3272     return This->lpVtbl->get_InnerFECRate(This,pFECRate);
   3273 }
   3274 static inline HRESULT IBDA_DigitalDemodulator3_put_OuterFECMethod(IBDA_DigitalDemodulator3* This,FECMethod *pFECMethod) {
   3275     return This->lpVtbl->put_OuterFECMethod(This,pFECMethod);
   3276 }
   3277 static inline HRESULT IBDA_DigitalDemodulator3_get_OuterFECMethod(IBDA_DigitalDemodulator3* This,FECMethod *pFECMethod) {
   3278     return This->lpVtbl->get_OuterFECMethod(This,pFECMethod);
   3279 }
   3280 static inline HRESULT IBDA_DigitalDemodulator3_put_OuterFECRate(IBDA_DigitalDemodulator3* This,BinaryConvolutionCodeRate *pFECRate) {
   3281     return This->lpVtbl->put_OuterFECRate(This,pFECRate);
   3282 }
   3283 static inline HRESULT IBDA_DigitalDemodulator3_get_OuterFECRate(IBDA_DigitalDemodulator3* This,BinaryConvolutionCodeRate *pFECRate) {
   3284     return This->lpVtbl->get_OuterFECRate(This,pFECRate);
   3285 }
   3286 static inline HRESULT IBDA_DigitalDemodulator3_put_SymbolRate(IBDA_DigitalDemodulator3* This,ULONG *pSymbolRate) {
   3287     return This->lpVtbl->put_SymbolRate(This,pSymbolRate);
   3288 }
   3289 static inline HRESULT IBDA_DigitalDemodulator3_get_SymbolRate(IBDA_DigitalDemodulator3* This,ULONG *pSymbolRate) {
   3290     return This->lpVtbl->get_SymbolRate(This,pSymbolRate);
   3291 }
   3292 static inline HRESULT IBDA_DigitalDemodulator3_put_SpectralInversion(IBDA_DigitalDemodulator3* This,SpectralInversion *pSpectralInversion) {
   3293     return This->lpVtbl->put_SpectralInversion(This,pSpectralInversion);
   3294 }
   3295 static inline HRESULT IBDA_DigitalDemodulator3_get_SpectralInversion(IBDA_DigitalDemodulator3* This,SpectralInversion *pSpectralInversion) {
   3296     return This->lpVtbl->get_SpectralInversion(This,pSpectralInversion);
   3297 }
   3298 /*** IBDA_DigitalDemodulator2 methods ***/
   3299 static inline HRESULT IBDA_DigitalDemodulator3_put_GuardInterval(IBDA_DigitalDemodulator3* This,GuardInterval *pGuardInterval) {
   3300     return This->lpVtbl->put_GuardInterval(This,pGuardInterval);
   3301 }
   3302 static inline HRESULT IBDA_DigitalDemodulator3_get_GuardInterval(IBDA_DigitalDemodulator3* This,GuardInterval *pGuardInterval) {
   3303     return This->lpVtbl->get_GuardInterval(This,pGuardInterval);
   3304 }
   3305 static inline HRESULT IBDA_DigitalDemodulator3_put_TransmissionMode(IBDA_DigitalDemodulator3* This,TransmissionMode *pTransmissionMode) {
   3306     return This->lpVtbl->put_TransmissionMode(This,pTransmissionMode);
   3307 }
   3308 static inline HRESULT IBDA_DigitalDemodulator3_get_TransmissionMode(IBDA_DigitalDemodulator3* This,TransmissionMode *pTransmissionMode) {
   3309     return This->lpVtbl->get_TransmissionMode(This,pTransmissionMode);
   3310 }
   3311 static inline HRESULT IBDA_DigitalDemodulator3_put_RollOff(IBDA_DigitalDemodulator3* This,RollOff *pRollOff) {
   3312     return This->lpVtbl->put_RollOff(This,pRollOff);
   3313 }
   3314 static inline HRESULT IBDA_DigitalDemodulator3_get_RollOff(IBDA_DigitalDemodulator3* This,RollOff *pRollOff) {
   3315     return This->lpVtbl->get_RollOff(This,pRollOff);
   3316 }
   3317 static inline HRESULT IBDA_DigitalDemodulator3_put_Pilot(IBDA_DigitalDemodulator3* This,Pilot *pPilot) {
   3318     return This->lpVtbl->put_Pilot(This,pPilot);
   3319 }
   3320 static inline HRESULT IBDA_DigitalDemodulator3_get_Pilot(IBDA_DigitalDemodulator3* This,Pilot *pPilot) {
   3321     return This->lpVtbl->get_Pilot(This,pPilot);
   3322 }
   3323 /*** IBDA_DigitalDemodulator3 methods ***/
   3324 static inline HRESULT IBDA_DigitalDemodulator3_put_SignalTimeouts(IBDA_DigitalDemodulator3* This,BDA_SIGNAL_TIMEOUTS *pSignalTimeouts) {
   3325     return This->lpVtbl->put_SignalTimeouts(This,pSignalTimeouts);
   3326 }
   3327 static inline HRESULT IBDA_DigitalDemodulator3_get_SignalTimeouts(IBDA_DigitalDemodulator3* This,BDA_SIGNAL_TIMEOUTS *pSignalTimeouts) {
   3328     return This->lpVtbl->get_SignalTimeouts(This,pSignalTimeouts);
   3329 }
   3330 static inline HRESULT IBDA_DigitalDemodulator3_put_PLPNumber(IBDA_DigitalDemodulator3* This,ULONG *pPLPNumber) {
   3331     return This->lpVtbl->put_PLPNumber(This,pPLPNumber);
   3332 }
   3333 static 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 
   3350 DEFINE_GUID(IID_ICCSubStreamFiltering, 0x4b2bd7ea, 0x8347, 0x467b, 0x8d,0xbf, 0x62,0xf7,0x84,0x92,0x9c,0xc3);
   3351 #if defined(__cplusplus) && !defined(CINTERFACE)
   3352 MIDL_INTERFACE("4b2bd7ea-8347-467b-8dbf-62f784929cc3")
   3353 ICCSubStreamFiltering : 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
   3366 typedef 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 
   3393 interface 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 ***/
   3408 static inline HRESULT ICCSubStreamFiltering_QueryInterface(ICCSubStreamFiltering* This,REFIID riid,void **ppvObject) {
   3409     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3410 }
   3411 static inline ULONG ICCSubStreamFiltering_AddRef(ICCSubStreamFiltering* This) {
   3412     return This->lpVtbl->AddRef(This);
   3413 }
   3414 static inline ULONG ICCSubStreamFiltering_Release(ICCSubStreamFiltering* This) {
   3415     return This->lpVtbl->Release(This);
   3416 }
   3417 /*** ICCSubStreamFiltering methods ***/
   3418 static inline HRESULT ICCSubStreamFiltering_get_SubstreamTypes(ICCSubStreamFiltering* This,LONG *pTypes) {
   3419     return This->lpVtbl->get_SubstreamTypes(This,pTypes);
   3420 }
   3421 static 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 
   3438 DEFINE_GUID(IID_IBDA_IPSinkControl, 0x3f4dc8e2, 0x4050, 0x11d3, 0x8f,0x4b, 0x00,0xc0,0x4f,0x79,0x71,0xe2);
   3439 #if defined(__cplusplus) && !defined(CINTERFACE)
   3440 MIDL_INTERFACE("3f4dc8e2-4050-11d3-8f4b-00c04f7971e2")
   3441 IBDA_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
   3456 typedef 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 
   3485 interface 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 ***/
   3500 static inline HRESULT IBDA_IPSinkControl_QueryInterface(IBDA_IPSinkControl* This,REFIID riid,void **ppvObject) {
   3501     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3502 }
   3503 static inline ULONG IBDA_IPSinkControl_AddRef(IBDA_IPSinkControl* This) {
   3504     return This->lpVtbl->AddRef(This);
   3505 }
   3506 static inline ULONG IBDA_IPSinkControl_Release(IBDA_IPSinkControl* This) {
   3507     return This->lpVtbl->Release(This);
   3508 }
   3509 /*** IBDA_IPSinkControl methods ***/
   3510 static inline HRESULT IBDA_IPSinkControl_GetMulticastList(IBDA_IPSinkControl* This,ULONG *pulcbSize,BYTE **pbBuffer) {
   3511     return This->lpVtbl->GetMulticastList(This,pulcbSize,pbBuffer);
   3512 }
   3513 static 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 
   3530 DEFINE_GUID(IID_IBDA_IPSinkInfo, 0xa750108f, 0x492e, 0x4d51, 0x95,0xf7, 0x64,0x9b,0x23,0xff,0x7a,0xd7);
   3531 #if defined(__cplusplus) && !defined(CINTERFACE)
   3532 MIDL_INTERFACE("a750108f-492e-4d51-95f7-649b23ff7ad7")
   3533 IBDA_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
   3550 typedef 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 
   3582 interface 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 ***/
   3598 static inline HRESULT IBDA_IPSinkInfo_QueryInterface(IBDA_IPSinkInfo* This,REFIID riid,void **ppvObject) {
   3599     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3600 }
   3601 static inline ULONG IBDA_IPSinkInfo_AddRef(IBDA_IPSinkInfo* This) {
   3602     return This->lpVtbl->AddRef(This);
   3603 }
   3604 static inline ULONG IBDA_IPSinkInfo_Release(IBDA_IPSinkInfo* This) {
   3605     return This->lpVtbl->Release(This);
   3606 }
   3607 /*** IBDA_IPSinkInfo methods ***/
   3608 static inline HRESULT IBDA_IPSinkInfo_get_MulticastList(IBDA_IPSinkInfo* This,ULONG *pulcbAddresses,BYTE **ppbAddressList) {
   3609     return This->lpVtbl->get_MulticastList(This,pulcbAddresses,ppbAddressList);
   3610 }
   3611 static inline HRESULT IBDA_IPSinkInfo_get_AdapterIPAddress(IBDA_IPSinkInfo* This,BSTR *pbstrBuffer) {
   3612     return This->lpVtbl->get_AdapterIPAddress(This,pbstrBuffer);
   3613 }
   3614 static 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 
   3631 DEFINE_GUID(IID_IEnumPIDMap, 0xafb6c2a2, 0x2c41, 0x11d3, 0x8a,0x60, 0x00,0x00,0xf8,0x1e,0x0e,0x4a);
   3632 #if defined(__cplusplus) && !defined(CINTERFACE)
   3633 MIDL_INTERFACE("afb6c2a2-2c41-11d3-8a60-0000f81e0e4a")
   3634 IEnumPIDMap : 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
   3655 typedef 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 
   3691 interface 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 ***/
   3708 static inline HRESULT IEnumPIDMap_QueryInterface(IEnumPIDMap* This,REFIID riid,void **ppvObject) {
   3709     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3710 }
   3711 static inline ULONG IEnumPIDMap_AddRef(IEnumPIDMap* This) {
   3712     return This->lpVtbl->AddRef(This);
   3713 }
   3714 static inline ULONG IEnumPIDMap_Release(IEnumPIDMap* This) {
   3715     return This->lpVtbl->Release(This);
   3716 }
   3717 /*** IEnumPIDMap methods ***/
   3718 static inline HRESULT IEnumPIDMap_Next(IEnumPIDMap* This,ULONG cRequest,PID_MAP *pPIDMap,ULONG *pcReceived) {
   3719     return This->lpVtbl->Next(This,cRequest,pPIDMap,pcReceived);
   3720 }
   3721 static inline HRESULT IEnumPIDMap_Skip(IEnumPIDMap* This,ULONG cRecords) {
   3722     return This->lpVtbl->Skip(This,cRecords);
   3723 }
   3724 static inline HRESULT IEnumPIDMap_Reset(IEnumPIDMap* This) {
   3725     return This->lpVtbl->Reset(This);
   3726 }
   3727 static 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 
   3744 DEFINE_GUID(IID_IMPEG2PIDMap, 0xafb6c2a1, 0x2c41, 0x11d3, 0x8a,0x60, 0x00,0x00,0xf8,0x1e,0x0e,0x4a);
   3745 #if defined(__cplusplus) && !defined(CINTERFACE)
   3746 MIDL_INTERFACE("afb6c2a1-2c41-11d3-8a60-0000f81e0e4a")
   3747 IMPEG2PIDMap : 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
   3766 typedef 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 
   3800 interface 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 ***/
   3816 static inline HRESULT IMPEG2PIDMap_QueryInterface(IMPEG2PIDMap* This,REFIID riid,void **ppvObject) {
   3817     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3818 }
   3819 static inline ULONG IMPEG2PIDMap_AddRef(IMPEG2PIDMap* This) {
   3820     return This->lpVtbl->AddRef(This);
   3821 }
   3822 static inline ULONG IMPEG2PIDMap_Release(IMPEG2PIDMap* This) {
   3823     return This->lpVtbl->Release(This);
   3824 }
   3825 /*** IMPEG2PIDMap methods ***/
   3826 static inline HRESULT IMPEG2PIDMap_MapPID(IMPEG2PIDMap* This,ULONG culPID,ULONG *pulPID,MEDIA_SAMPLE_CONTENT MediaSampleContent) {
   3827     return This->lpVtbl->MapPID(This,culPID,pulPID,MediaSampleContent);
   3828 }
   3829 static inline HRESULT IMPEG2PIDMap_UnmapPID(IMPEG2PIDMap* This,ULONG culPID,ULONG *pulPID) {
   3830     return This->lpVtbl->UnmapPID(This,culPID,pulPID);
   3831 }
   3832 static 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 
   3849 DEFINE_GUID(IID_IFrequencyMap, 0x06fb45c1, 0x693c, 0x4ea7, 0xb7,0x9f, 0x7a,0x6a,0x54,0xd8,0xde,0xf2);
   3850 #if defined(__cplusplus) && !defined(CINTERFACE)
   3851 MIDL_INTERFACE("06fb45c1-693c-4ea7-b79f-7a6a54d8def2")
   3852 IFrequencyMap : 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
   3882 typedef 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 
   3930 interface 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 ***/
   3949 static inline HRESULT IFrequencyMap_QueryInterface(IFrequencyMap* This,REFIID riid,void **ppvObject) {
   3950     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3951 }
   3952 static inline ULONG IFrequencyMap_AddRef(IFrequencyMap* This) {
   3953     return This->lpVtbl->AddRef(This);
   3954 }
   3955 static inline ULONG IFrequencyMap_Release(IFrequencyMap* This) {
   3956     return This->lpVtbl->Release(This);
   3957 }
   3958 /*** IFrequencyMap methods ***/
   3959 static inline HRESULT IFrequencyMap_get_FrequencyMapping(IFrequencyMap* This,ULONG *ulCount,ULONG **ppulList) {
   3960     return This->lpVtbl->get_FrequencyMapping(This,ulCount,ppulList);
   3961 }
   3962 static inline HRESULT IFrequencyMap_put_FrequencyMapping(IFrequencyMap* This,ULONG ulCount,ULONG pList[]) {
   3963     return This->lpVtbl->put_FrequencyMapping(This,ulCount,pList);
   3964 }
   3965 static inline HRESULT IFrequencyMap_get_CountryCode(IFrequencyMap* This,ULONG *pulCountryCode) {
   3966     return This->lpVtbl->get_CountryCode(This,pulCountryCode);
   3967 }
   3968 static inline HRESULT IFrequencyMap_put_CountryCode(IFrequencyMap* This,ULONG ulCountryCode) {
   3969     return This->lpVtbl->put_CountryCode(This,ulCountryCode);
   3970 }
   3971 static inline HRESULT IFrequencyMap_get_DefaultFrequencyMapping(IFrequencyMap* This,ULONG ulCountryCode,ULONG *pulCount,ULONG **ppulList) {
   3972     return This->lpVtbl->get_DefaultFrequencyMapping(This,ulCountryCode,pulCount,ppulList);
   3973 }
   3974 static 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 
   3991 DEFINE_GUID(IID_IBDA_EasMessage, 0xd806973d, 0x3ebe, 0x46de, 0x8f,0xbb, 0x63,0x58,0xfe,0x78,0x42,0x08);
   3992 #if defined(__cplusplus) && !defined(CINTERFACE)
   3993 MIDL_INTERFACE("d806973d-3ebe-46de-8fbb-6358fe784208")
   3994 IBDA_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
   4005 typedef 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 
   4029 interface 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 ***/
   4043 static inline HRESULT IBDA_EasMessage_QueryInterface(IBDA_EasMessage* This,REFIID riid,void **ppvObject) {
   4044     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4045 }
   4046 static inline ULONG IBDA_EasMessage_AddRef(IBDA_EasMessage* This) {
   4047     return This->lpVtbl->AddRef(This);
   4048 }
   4049 static inline ULONG IBDA_EasMessage_Release(IBDA_EasMessage* This) {
   4050     return This->lpVtbl->Release(This);
   4051 }
   4052 /*** IBDA_EasMessage methods ***/
   4053 static 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 
   4070 DEFINE_GUID(IID_IBDA_TransportStreamInfo, 0x8e882535, 0x5f86, 0x47ab, 0x86,0xcf, 0xc2,0x81,0xa7,0x2a,0x05,0x49);
   4071 #if defined(__cplusplus) && !defined(CINTERFACE)
   4072 MIDL_INTERFACE("8e882535-5f86-47ab-86cf-c281a72a0549")
   4073 IBDA_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
   4083 typedef 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 
   4106 interface 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 ***/
   4120 static inline HRESULT IBDA_TransportStreamInfo_QueryInterface(IBDA_TransportStreamInfo* This,REFIID riid,void **ppvObject) {
   4121     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4122 }
   4123 static inline ULONG IBDA_TransportStreamInfo_AddRef(IBDA_TransportStreamInfo* This) {
   4124     return This->lpVtbl->AddRef(This);
   4125 }
   4126 static inline ULONG IBDA_TransportStreamInfo_Release(IBDA_TransportStreamInfo* This) {
   4127     return This->lpVtbl->Release(This);
   4128 }
   4129 /*** IBDA_TransportStreamInfo methods ***/
   4130 static 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 
   4147 DEFINE_GUID(IID_IBDA_ConditionalAccess, 0xcd51f1e0, 0x7be9, 0x4123, 0x84,0x82, 0xa2,0xa7,0x96,0xc0,0xa6,0xb0);
   4148 #if defined(__cplusplus) && !defined(CINTERFACE)
   4149 MIDL_INTERFACE("cd51f1e0-7be9-4123-8482-a2a796c0a6b0")
   4150 IBDA_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
   4201 typedef 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 
   4274 interface 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 ***/
   4297 static inline HRESULT IBDA_ConditionalAccess_QueryInterface(IBDA_ConditionalAccess* This,REFIID riid,void **ppvObject) {
   4298     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4299 }
   4300 static inline ULONG IBDA_ConditionalAccess_AddRef(IBDA_ConditionalAccess* This) {
   4301     return This->lpVtbl->AddRef(This);
   4302 }
   4303 static inline ULONG IBDA_ConditionalAccess_Release(IBDA_ConditionalAccess* This) {
   4304     return This->lpVtbl->Release(This);
   4305 }
   4306 /*** IBDA_ConditionalAccess methods ***/
   4307 static 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 }
   4310 static 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 }
   4313 static 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 }
   4316 static inline HRESULT IBDA_ConditionalAccess_get_Entitlement(IBDA_ConditionalAccess* This,USHORT usVirtualChannel,EntitlementType *pEntitlement) {
   4317     return This->lpVtbl->get_Entitlement(This,usVirtualChannel,pEntitlement);
   4318 }
   4319 static inline HRESULT IBDA_ConditionalAccess_TuneByChannel(IBDA_ConditionalAccess* This,USHORT usVirtualChannel) {
   4320     return This->lpVtbl->TuneByChannel(This,usVirtualChannel);
   4321 }
   4322 static inline HRESULT IBDA_ConditionalAccess_SetProgram(IBDA_ConditionalAccess* This,USHORT usProgramNumber) {
   4323     return This->lpVtbl->SetProgram(This,usProgramNumber);
   4324 }
   4325 static inline HRESULT IBDA_ConditionalAccess_AddProgram(IBDA_ConditionalAccess* This,USHORT usProgramNumber) {
   4326     return This->lpVtbl->AddProgram(This,usProgramNumber);
   4327 }
   4328 static inline HRESULT IBDA_ConditionalAccess_RemoveProgram(IBDA_ConditionalAccess* This,USHORT usProgramNumber) {
   4329     return This->lpVtbl->RemoveProgram(This,usProgramNumber);
   4330 }
   4331 static inline HRESULT IBDA_ConditionalAccess_GetModuleUI(IBDA_ConditionalAccess* This,BYTE byDialogNumber,BSTR *pbstrURL) {
   4332     return This->lpVtbl->GetModuleUI(This,byDialogNumber,pbstrURL);
   4333 }
   4334 static 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 
   4351 DEFINE_GUID(IID_IBDA_DiagnosticProperties, 0x20e80cb5, 0xc543, 0x4c1b, 0x8e,0xb3, 0x49,0xe7,0x19,0xee,0xe7,0xd4);
   4352 #if defined(__cplusplus) && !defined(CINTERFACE)
   4353 MIDL_INTERFACE("20e80cb5-c543-4c1b-8eb3-49e719eee7d4")
   4354 IBDA_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
   4361 typedef 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 
   4391 interface 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 ***/
   4406 static inline HRESULT IBDA_DiagnosticProperties_QueryInterface(IBDA_DiagnosticProperties* This,REFIID riid,void **ppvObject) {
   4407     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4408 }
   4409 static inline ULONG IBDA_DiagnosticProperties_AddRef(IBDA_DiagnosticProperties* This) {
   4410     return This->lpVtbl->AddRef(This);
   4411 }
   4412 static inline ULONG IBDA_DiagnosticProperties_Release(IBDA_DiagnosticProperties* This) {
   4413     return This->lpVtbl->Release(This);
   4414 }
   4415 /*** IPropertyBag methods ***/
   4416 static inline HRESULT IBDA_DiagnosticProperties_Read(IBDA_DiagnosticProperties* This,LPCOLESTR pszPropName,VARIANT *pVar,IErrorLog *pErrorLog) {
   4417     return This->lpVtbl->Read(This,pszPropName,pVar,pErrorLog);
   4418 }
   4419 static 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 
   4436 DEFINE_GUID(IID_IBDA_DRM, 0xf98d88b0, 0x1992, 0x4cd6, 0xa6,0xd9, 0xb9,0xaf,0xab,0x99,0x33,0x0d);
   4437 #if defined(__cplusplus) && !defined(CINTERFACE)
   4438 MIDL_INTERFACE("f98d88b0-1992-4cd6-a6d9-b9afab99330d")
   4439 IBDA_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
   4453 typedef 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 
   4481 interface 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 ***/
   4496 static inline HRESULT IBDA_DRM_QueryInterface(IBDA_DRM* This,REFIID riid,void **ppvObject) {
   4497     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4498 }
   4499 static inline ULONG IBDA_DRM_AddRef(IBDA_DRM* This) {
   4500     return This->lpVtbl->AddRef(This);
   4501 }
   4502 static inline ULONG IBDA_DRM_Release(IBDA_DRM* This) {
   4503     return This->lpVtbl->Release(This);
   4504 }
   4505 /*** IBDA_DRM methods ***/
   4506 static inline HRESULT IBDA_DRM_GetDRMPairingStatus(IBDA_DRM* This,DWORD *pdwStatus,HRESULT *phError) {
   4507     return This->lpVtbl->GetDRMPairingStatus(This,pdwStatus,phError);
   4508 }
   4509 static 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 
   4526 DEFINE_GUID(IID_IBDA_NameValueService, 0x7f0b3150, 0x7b81, 0x4ad4, 0x98,0xe3, 0x7e,0x90,0x97,0x09,0x43,0x01);
   4527 #if defined(__cplusplus) && !defined(CINTERFACE)
   4528 MIDL_INTERFACE("7f0b3150-7b81-4ad4-98e3-7e9097094301")
   4529 IBDA_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
   4552 typedef 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 
   4590 interface 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 ***/
   4606 static inline HRESULT IBDA_NameValueService_QueryInterface(IBDA_NameValueService* This,REFIID riid,void **ppvObject) {
   4607     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4608 }
   4609 static inline ULONG IBDA_NameValueService_AddRef(IBDA_NameValueService* This) {
   4610     return This->lpVtbl->AddRef(This);
   4611 }
   4612 static inline ULONG IBDA_NameValueService_Release(IBDA_NameValueService* This) {
   4613     return This->lpVtbl->Release(This);
   4614 }
   4615 /*** IBDA_NameValueService methods ***/
   4616 static inline HRESULT IBDA_NameValueService_GetValueNameByIndex(IBDA_NameValueService* This,ULONG ulIndex,BSTR *pbstrName) {
   4617     return This->lpVtbl->GetValueNameByIndex(This,ulIndex,pbstrName);
   4618 }
   4619 static inline HRESULT IBDA_NameValueService_GetValue(IBDA_NameValueService* This,BSTR bstrName,BSTR bstrLanguage,BSTR *pbstrValue) {
   4620     return This->lpVtbl->GetValue(This,bstrName,bstrLanguage,pbstrValue);
   4621 }
   4622 static 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 
   4639 DEFINE_GUID(IID_IBDA_ConditionalAccessEx, 0x497c3418, 0x23cb, 0x44ba, 0xbb,0x62, 0x76,0x9f,0x50,0x6f,0xce,0xa7);
   4640 #if defined(__cplusplus) && !defined(CINTERFACE)
   4641 MIDL_INTERFACE("497c3418-23cb-44ba-bb62-769f506fcea7")
   4642 IBDA_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
   4676 typedef 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 
   4727 interface 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 ***/
   4745 static inline HRESULT IBDA_ConditionalAccessEx_QueryInterface(IBDA_ConditionalAccessEx* This,REFIID riid,void **ppvObject) {
   4746     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4747 }
   4748 static inline ULONG IBDA_ConditionalAccessEx_AddRef(IBDA_ConditionalAccessEx* This) {
   4749     return This->lpVtbl->AddRef(This);
   4750 }
   4751 static inline ULONG IBDA_ConditionalAccessEx_Release(IBDA_ConditionalAccessEx* This) {
   4752     return This->lpVtbl->Release(This);
   4753 }
   4754 /*** IBDA_ConditionalAccessEx methods ***/
   4755 static 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 }
   4758 static inline HRESULT IBDA_ConditionalAccessEx_SetCaptureToken(IBDA_ConditionalAccessEx* This,ULONG ulcbCaptureTokenLen,BYTE *pbCaptureToken) {
   4759     return This->lpVtbl->SetCaptureToken(This,ulcbCaptureTokenLen,pbCaptureToken);
   4760 }
   4761 static inline HRESULT IBDA_ConditionalAccessEx_OpenBroadcastMmi(IBDA_ConditionalAccessEx* This,ULONG ulDialogRequest,BSTR bstrLanguage,ULONG EventId) {
   4762     return This->lpVtbl->OpenBroadcastMmi(This,ulDialogRequest,bstrLanguage,EventId);
   4763 }
   4764 static 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 }
   4767 static 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 
   4784 DEFINE_GUID(IID_IBDA_ISDBConditionalAccess, 0x5e68c627, 0x16c2, 0x4e6c, 0xb1,0xe2, 0xd0,0x01,0x70,0xcd,0xaa,0x0f);
   4785 #if defined(__cplusplus) && !defined(CINTERFACE)
   4786 MIDL_INTERFACE("5e68c627-16c2-4e6c-b1e2-d00170cdaa0f")
   4787 IBDA_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
   4799 typedef 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 
   4824 interface 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 ***/
   4838 static inline HRESULT IBDA_ISDBConditionalAccess_QueryInterface(IBDA_ISDBConditionalAccess* This,REFIID riid,void **ppvObject) {
   4839     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4840 }
   4841 static inline ULONG IBDA_ISDBConditionalAccess_AddRef(IBDA_ISDBConditionalAccess* This) {
   4842     return This->lpVtbl->AddRef(This);
   4843 }
   4844 static inline ULONG IBDA_ISDBConditionalAccess_Release(IBDA_ISDBConditionalAccess* This) {
   4845     return This->lpVtbl->Release(This);
   4846 }
   4847 /*** IBDA_ISDBConditionalAccess methods ***/
   4848 static 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 
   4865 DEFINE_GUID(IID_IBDA_EventingService, 0x207c413f, 0x00dc, 0x4c61, 0xba,0xd6, 0x6f,0xee,0x1f,0xf0,0x70,0x64);
   4866 #if defined(__cplusplus) && !defined(CINTERFACE)
   4867 MIDL_INTERFACE("207c413f-00dc-4c61-bad6-6fee1ff07064")
   4868 IBDA_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
   4879 typedef 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 
   4903 interface 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 ***/
   4917 static inline HRESULT IBDA_EventingService_QueryInterface(IBDA_EventingService* This,REFIID riid,void **ppvObject) {
   4918     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4919 }
   4920 static inline ULONG IBDA_EventingService_AddRef(IBDA_EventingService* This) {
   4921     return This->lpVtbl->AddRef(This);
   4922 }
   4923 static inline ULONG IBDA_EventingService_Release(IBDA_EventingService* This) {
   4924     return This->lpVtbl->Release(This);
   4925 }
   4926 /*** IBDA_EventingService methods ***/
   4927 static 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 
   4944 DEFINE_GUID(IID_IBDA_AUX, 0x7def4c09, 0x6e66, 0x4567, 0xa8,0x19, 0xf0,0xe1,0x7f,0x4a,0x81,0xab);
   4945 #if defined(__cplusplus) && !defined(CINTERFACE)
   4946 MIDL_INTERFACE("7def4c09-6e66-4567-a819-f0e17f4a81ab")
   4947 IBDA_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
   4965 typedef 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 
   4997 interface 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 ***/
   5012 static inline HRESULT IBDA_AUX_QueryInterface(IBDA_AUX* This,REFIID riid,void **ppvObject) {
   5013     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5014 }
   5015 static inline ULONG IBDA_AUX_AddRef(IBDA_AUX* This) {
   5016     return This->lpVtbl->AddRef(This);
   5017 }
   5018 static inline ULONG IBDA_AUX_Release(IBDA_AUX* This) {
   5019     return This->lpVtbl->Release(This);
   5020 }
   5021 /*** IBDA_AUX methods ***/
   5022 static inline HRESULT IBDA_AUX_QueryCapabilities(IBDA_AUX* This,DWORD *pdwNumAuxInputsBSTR) {
   5023     return This->lpVtbl->QueryCapabilities(This,pdwNumAuxInputsBSTR);
   5024 }
   5025 static 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 
   5042 DEFINE_GUID(IID_IBDA_Encoder, 0x3a8bad59, 0x59fe, 0x4559, 0xa0,0xba, 0x39,0x6c,0xfa,0xa9,0x8a,0xe3);
   5043 #if defined(__cplusplus) && !defined(CINTERFACE)
   5044 MIDL_INTERFACE("3a8bad59-59fe-4559-a0ba-396cfaa98ae3")
   5045 IBDA_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
   5104 typedef 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 
   5180 interface 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 ***/
   5198 static inline HRESULT IBDA_Encoder_QueryInterface(IBDA_Encoder* This,REFIID riid,void **ppvObject) {
   5199     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5200 }
   5201 static inline ULONG IBDA_Encoder_AddRef(IBDA_Encoder* This) {
   5202     return This->lpVtbl->AddRef(This);
   5203 }
   5204 static inline ULONG IBDA_Encoder_Release(IBDA_Encoder* This) {
   5205     return This->lpVtbl->Release(This);
   5206 }
   5207 /*** IBDA_Encoder methods ***/
   5208 static inline HRESULT IBDA_Encoder_QueryCapabilities(IBDA_Encoder* This,DWORD *NumAudioFmts,DWORD *NumVideoFmts) {
   5209     return This->lpVtbl->QueryCapabilities(This,NumAudioFmts,NumVideoFmts);
   5210 }
   5211 static 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 }
   5214 static 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 }
   5217 static 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 }
   5220 static 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 
   5237 DEFINE_GUID(IID_IBDA_FDC, 0x138adc7e, 0x58ae, 0x437f, 0xb0,0xb4, 0xc9,0xfe,0x19,0xd5,0xb4,0xac);
   5238 #if defined(__cplusplus) && !defined(CINTERFACE)
   5239 MIDL_INTERFACE("138adc7e-58ae-437f-b0b4-c9fe19d5b4ac")
   5240 IBDA_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
   5279 typedef 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 
   5337 interface 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 ***/
   5357 static inline HRESULT IBDA_FDC_QueryInterface(IBDA_FDC* This,REFIID riid,void **ppvObject) {
   5358     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5359 }
   5360 static inline ULONG IBDA_FDC_AddRef(IBDA_FDC* This) {
   5361     return This->lpVtbl->AddRef(This);
   5362 }
   5363 static inline ULONG IBDA_FDC_Release(IBDA_FDC* This) {
   5364     return This->lpVtbl->Release(This);
   5365 }
   5366 /*** IBDA_FDC methods ***/
   5367 static 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 }
   5370 static inline HRESULT IBDA_FDC_RequestTables(IBDA_FDC* This,BSTR TableIDs) {
   5371     return This->lpVtbl->RequestTables(This,TableIDs);
   5372 }
   5373 static inline HRESULT IBDA_FDC_AddPid(IBDA_FDC* This,BSTR PidsToAdd,DWORD *RemainingFilterEntries) {
   5374     return This->lpVtbl->AddPid(This,PidsToAdd,RemainingFilterEntries);
   5375 }
   5376 static inline HRESULT IBDA_FDC_RemovePid(IBDA_FDC* This,BSTR PidsToRemove) {
   5377     return This->lpVtbl->RemovePid(This,PidsToRemove);
   5378 }
   5379 static inline HRESULT IBDA_FDC_AddTid(IBDA_FDC* This,BSTR TidsToAdd,BSTR *CurrentTidList) {
   5380     return This->lpVtbl->AddTid(This,TidsToAdd,CurrentTidList);
   5381 }
   5382 static inline HRESULT IBDA_FDC_RemoveTid(IBDA_FDC* This,BSTR TidsToRemove) {
   5383     return This->lpVtbl->RemoveTid(This,TidsToRemove);
   5384 }
   5385 static 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 
   5402 DEFINE_GUID(IID_IBDA_GuideDataDeliveryService, 0xc0afcb73, 0x23e7, 0x4bc6, 0xba,0xfa, 0xfd,0xc1,0x67,0xb4,0x71,0x9f);
   5403 #if defined(__cplusplus) && !defined(CINTERFACE)
   5404 MIDL_INTERFACE("c0afcb73-23e7-4bc6-bafa-fdc167b4719f")
   5405 IBDA_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
   5435 typedef 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 
   5482 interface 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 ***/
   5501 static inline HRESULT IBDA_GuideDataDeliveryService_QueryInterface(IBDA_GuideDataDeliveryService* This,REFIID riid,void **ppvObject) {
   5502     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5503 }
   5504 static inline ULONG IBDA_GuideDataDeliveryService_AddRef(IBDA_GuideDataDeliveryService* This) {
   5505     return This->lpVtbl->AddRef(This);
   5506 }
   5507 static inline ULONG IBDA_GuideDataDeliveryService_Release(IBDA_GuideDataDeliveryService* This) {
   5508     return This->lpVtbl->Release(This);
   5509 }
   5510 /*** IBDA_GuideDataDeliveryService methods ***/
   5511 static inline HRESULT IBDA_GuideDataDeliveryService_GetGuideDataType(IBDA_GuideDataDeliveryService* This,GUID *pguidDataType) {
   5512     return This->lpVtbl->GetGuideDataType(This,pguidDataType);
   5513 }
   5514 static inline HRESULT IBDA_GuideDataDeliveryService_GetGuideData(IBDA_GuideDataDeliveryService* This,ULONG *pulcbBufferLen,BYTE *pbBuffer,ULONG *pulGuideDataPercentageProgress) {
   5515     return This->lpVtbl->GetGuideData(This,pulcbBufferLen,pbBuffer,pulGuideDataPercentageProgress);
   5516 }
   5517 static inline HRESULT IBDA_GuideDataDeliveryService_RequestGuideDataUpdate(IBDA_GuideDataDeliveryService* This) {
   5518     return This->lpVtbl->RequestGuideDataUpdate(This);
   5519 }
   5520 static inline HRESULT IBDA_GuideDataDeliveryService_GetTuneXmlFromServiceIdx(IBDA_GuideDataDeliveryService* This,ULONG64 ul64ServiceIdx,BSTR *pbstrTuneXml) {
   5521     return This->lpVtbl->GetTuneXmlFromServiceIdx(This,ul64ServiceIdx,pbstrTuneXml);
   5522 }
   5523 static inline HRESULT IBDA_GuideDataDeliveryService_GetServices(IBDA_GuideDataDeliveryService* This,ULONG *pulcbBufferLen,BYTE *pbBuffer) {
   5524     return This->lpVtbl->GetServices(This,pulcbBufferLen,pbBuffer);
   5525 }
   5526 static 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 
   5543 DEFINE_GUID(IID_IBDA_DRMService, 0xbff6b5bb, 0xb0ae, 0x484c, 0x9d,0xca, 0x73,0x52,0x8f,0xb0,0xb4,0x6e);
   5544 #if defined(__cplusplus) && !defined(CINTERFACE)
   5545 MIDL_INTERFACE("bff6b5bb-b0ae-484c-9dca-73528fb0b46e")
   5546 IBDA_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
   5560 typedef 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 
   5588 interface 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 ***/
   5603 static inline HRESULT IBDA_DRMService_QueryInterface(IBDA_DRMService* This,REFIID riid,void **ppvObject) {
   5604     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5605 }
   5606 static inline ULONG IBDA_DRMService_AddRef(IBDA_DRMService* This) {
   5607     return This->lpVtbl->AddRef(This);
   5608 }
   5609 static inline ULONG IBDA_DRMService_Release(IBDA_DRMService* This) {
   5610     return This->lpVtbl->Release(This);
   5611 }
   5612 /*** IBDA_DRMService methods ***/
   5613 static inline HRESULT IBDA_DRMService_SetDRM(IBDA_DRMService* This,GUID *puuidNewDrm) {
   5614     return This->lpVtbl->SetDRM(This,puuidNewDrm);
   5615 }
   5616 static 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 
   5633 DEFINE_GUID(IID_IBDA_WMDRMSession, 0x4be6fa3d, 0x07cd, 0x4139, 0x8b,0x80, 0x8c,0x18,0xba,0x3a,0xec,0x88);
   5634 #if defined(__cplusplus) && !defined(CINTERFACE)
   5635 MIDL_INTERFACE("4be6fa3d-07cd-4139-8b80-8c18ba3aec88")
   5636 IBDA_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
   5689 typedef 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 
   5762 interface 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 ***/
   5783 static inline HRESULT IBDA_WMDRMSession_QueryInterface(IBDA_WMDRMSession* This,REFIID riid,void **ppvObject) {
   5784     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5785 }
   5786 static inline ULONG IBDA_WMDRMSession_AddRef(IBDA_WMDRMSession* This) {
   5787     return This->lpVtbl->AddRef(This);
   5788 }
   5789 static inline ULONG IBDA_WMDRMSession_Release(IBDA_WMDRMSession* This) {
   5790     return This->lpVtbl->Release(This);
   5791 }
   5792 /*** IBDA_WMDRMSession methods ***/
   5793 static 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 }
   5796 static inline HRESULT IBDA_WMDRMSession_SetRevInfo(IBDA_WMDRMSession* This,ULONG ulRevInfoLen,BYTE *pbRevInfo) {
   5797     return This->lpVtbl->SetRevInfo(This,ulRevInfoLen,pbRevInfo);
   5798 }
   5799 static inline HRESULT IBDA_WMDRMSession_SetCrl(IBDA_WMDRMSession* This,ULONG ulCrlLen,BYTE *pbCrlLen) {
   5800     return This->lpVtbl->SetCrl(This,ulCrlLen,pbCrlLen);
   5801 }
   5802 static 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 }
   5805 static inline HRESULT IBDA_WMDRMSession_GetLicense(IBDA_WMDRMSession* This,GUID *uuidKey,ULONG *pulPackageLen,BYTE *pbPackage) {
   5806     return This->lpVtbl->GetLicense(This,uuidKey,pulPackageLen,pbPackage);
   5807 }
   5808 static inline HRESULT IBDA_WMDRMSession_ReissueLicense(IBDA_WMDRMSession* This,GUID *uuidKey) {
   5809     return This->lpVtbl->ReissueLicense(This,uuidKey);
   5810 }
   5811 static 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 }
   5814 static 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 
   5831 DEFINE_GUID(IID_IBDA_WMDRMTuner, 0x86d979cf, 0xa8a7, 0x4f94, 0xb5,0xfb, 0x14,0xc0,0xac,0xa6,0x8f,0xe6);
   5832 #if defined(__cplusplus) && !defined(CINTERFACE)
   5833 MIDL_INTERFACE("86d979cf-a8a7-4f94-b5fb-14c0aca68fe6")
   5834 IBDA_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
   5869 typedef 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 
   5922 interface 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 ***/
   5941 static inline HRESULT IBDA_WMDRMTuner_QueryInterface(IBDA_WMDRMTuner* This,REFIID riid,void **ppvObject) {
   5942     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5943 }
   5944 static inline ULONG IBDA_WMDRMTuner_AddRef(IBDA_WMDRMTuner* This) {
   5945     return This->lpVtbl->AddRef(This);
   5946 }
   5947 static inline ULONG IBDA_WMDRMTuner_Release(IBDA_WMDRMTuner* This) {
   5948     return This->lpVtbl->Release(This);
   5949 }
   5950 /*** IBDA_WMDRMTuner methods ***/
   5951 static 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 }
   5954 static inline HRESULT IBDA_WMDRMTuner_CancelCaptureToken(IBDA_WMDRMTuner* This,ULONG ulCaptureTokenLen,BYTE *pbCaptureToken) {
   5955     return This->lpVtbl->CancelCaptureToken(This,ulCaptureTokenLen,pbCaptureToken);
   5956 }
   5957 static inline HRESULT IBDA_WMDRMTuner_SetPidProtection(IBDA_WMDRMTuner* This,ULONG ulPid,GUID *uuidKey) {
   5958     return This->lpVtbl->SetPidProtection(This,ulPid,uuidKey);
   5959 }
   5960 static inline HRESULT IBDA_WMDRMTuner_GetPidProtection(IBDA_WMDRMTuner* This,ULONG pulPid,GUID *uuidKey) {
   5961     return This->lpVtbl->GetPidProtection(This,pulPid,uuidKey);
   5962 }
   5963 static inline HRESULT IBDA_WMDRMTuner_SetSyncValue(IBDA_WMDRMTuner* This,ULONG ulSyncValue) {
   5964     return This->lpVtbl->SetSyncValue(This,ulSyncValue);
   5965 }
   5966 static 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 
   5983 DEFINE_GUID(IID_IBDA_DRIDRMService, 0x1f9bc2a5, 0x44a3, 0x4c52, 0xaa,0xb1, 0x0b,0xbc,0xe5,0xa1,0x38,0x1d);
   5984 #if defined(__cplusplus) && !defined(CINTERFACE)
   5985 MIDL_INTERFACE("1f9bc2a5-44a3-4c52-aab1-0bbce5a1381d")
   5986 IBDA_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
   6003 typedef 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 
   6035 interface 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 ***/
   6051 static inline HRESULT IBDA_DRIDRMService_QueryInterface(IBDA_DRIDRMService* This,REFIID riid,void **ppvObject) {
   6052     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   6053 }
   6054 static inline ULONG IBDA_DRIDRMService_AddRef(IBDA_DRIDRMService* This) {
   6055     return This->lpVtbl->AddRef(This);
   6056 }
   6057 static inline ULONG IBDA_DRIDRMService_Release(IBDA_DRIDRMService* This) {
   6058     return This->lpVtbl->Release(This);
   6059 }
   6060 /*** IBDA_DRIDRMService methods ***/
   6061 static inline HRESULT IBDA_DRIDRMService_SetDRM(IBDA_DRIDRMService* This,BSTR bstrNewDrm) {
   6062     return This->lpVtbl->SetDRM(This,bstrNewDrm);
   6063 }
   6064 static inline HRESULT IBDA_DRIDRMService_GetDRMStatus(IBDA_DRIDRMService* This,BSTR *pbstrDrmUuidList,GUID *DrmUuid) {
   6065     return This->lpVtbl->GetDRMStatus(This,pbstrDrmUuidList,DrmUuid);
   6066 }
   6067 static 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 
   6084 DEFINE_GUID(IID_IBDA_DRIWMDRMSession, 0x05c690f8, 0x56db, 0x4bb2, 0xb0,0x53, 0x79,0xc1,0x20,0x98,0xbb,0x26);
   6085 #if defined(__cplusplus) && !defined(CINTERFACE)
   6086 MIDL_INTERFACE("05c690f8-56db-4bb2-b053-79c12098bb26")
   6087 IBDA_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
   6125 typedef 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 
   6181 interface 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 ***/
   6201 static inline HRESULT IBDA_DRIWMDRMSession_QueryInterface(IBDA_DRIWMDRMSession* This,REFIID riid,void **ppvObject) {
   6202     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   6203 }
   6204 static inline ULONG IBDA_DRIWMDRMSession_AddRef(IBDA_DRIWMDRMSession* This) {
   6205     return This->lpVtbl->AddRef(This);
   6206 }
   6207 static inline ULONG IBDA_DRIWMDRMSession_Release(IBDA_DRIWMDRMSession* This) {
   6208     return This->lpVtbl->Release(This);
   6209 }
   6210 /*** IBDA_DRIWMDRMSession methods ***/
   6211 static inline HRESULT IBDA_DRIWMDRMSession_AcknowledgeLicense(IBDA_DRIWMDRMSession* This,HRESULT hrLicenseAck) {
   6212     return This->lpVtbl->AcknowledgeLicense(This,hrLicenseAck);
   6213 }
   6214 static 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 }
   6217 static 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 }
   6220 static inline HRESULT IBDA_DRIWMDRMSession_SetRevInfo(IBDA_DRIWMDRMSession* This,DWORD dwRevInfoLen,BYTE *pbRevInfo,DWORD *pdwResponse) {
   6221     return This->lpVtbl->SetRevInfo(This,dwRevInfoLen,pbRevInfo,pdwResponse);
   6222 }
   6223 static inline HRESULT IBDA_DRIWMDRMSession_SetCrl(IBDA_DRIWMDRMSession* This,DWORD dwCrlLen,BYTE *pbCrlLen,DWORD *pdwResponse) {
   6224     return This->lpVtbl->SetCrl(This,dwCrlLen,pbCrlLen,pdwResponse);
   6225 }
   6226 static inline HRESULT IBDA_DRIWMDRMSession_GetHMSAssociationData(IBDA_DRIWMDRMSession* This) {
   6227     return This->lpVtbl->GetHMSAssociationData(This);
   6228 }
   6229 static 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 
   6246 DEFINE_GUID(IID_IBDA_MUX, 0x942aafec, 0x4c05, 0x4c74, 0xb8,0xeb, 0x87,0x06,0xc2,0xa4,0x94,0x3f);
   6247 #if defined(__cplusplus) && !defined(CINTERFACE)
   6248 MIDL_INTERFACE("942aafec-4c05-4c74-b8eb-8706c2a4943f")
   6249 IBDA_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
   6264 typedef 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 
   6293 interface 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 ***/
   6308 static inline HRESULT IBDA_MUX_QueryInterface(IBDA_MUX* This,REFIID riid,void **ppvObject) {
   6309     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   6310 }
   6311 static inline ULONG IBDA_MUX_AddRef(IBDA_MUX* This) {
   6312     return This->lpVtbl->AddRef(This);
   6313 }
   6314 static inline ULONG IBDA_MUX_Release(IBDA_MUX* This) {
   6315     return This->lpVtbl->Release(This);
   6316 }
   6317 /*** IBDA_MUX methods ***/
   6318 static inline HRESULT IBDA_MUX_SetPidList(IBDA_MUX* This,ULONG ulPidListCount,BDA_MUX_PIDLISTITEM *pbPidListBuffer) {
   6319     return This->lpVtbl->SetPidList(This,ulPidListCount,pbPidListBuffer);
   6320 }
   6321 static 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 
   6338 DEFINE_GUID(IID_IBDA_TransportStreamSelector, 0x1dcfafe9, 0xb45e, 0x41b3, 0xbb,0x2a, 0x56,0x1e,0xb1,0x29,0xae,0x98);
   6339 #if defined(__cplusplus) && !defined(CINTERFACE)
   6340 MIDL_INTERFACE("1dcfafe9-b45e-41b3-bb2a-561eb129ae98")
   6341 IBDA_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
   6355 typedef 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 
   6383 interface 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 ***/
   6398 static inline HRESULT IBDA_TransportStreamSelector_QueryInterface(IBDA_TransportStreamSelector* This,REFIID riid,void **ppvObject) {
   6399     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   6400 }
   6401 static inline ULONG IBDA_TransportStreamSelector_AddRef(IBDA_TransportStreamSelector* This) {
   6402     return This->lpVtbl->AddRef(This);
   6403 }
   6404 static inline ULONG IBDA_TransportStreamSelector_Release(IBDA_TransportStreamSelector* This) {
   6405     return This->lpVtbl->Release(This);
   6406 }
   6407 /*** IBDA_TransportStreamSelector methods ***/
   6408 static inline HRESULT IBDA_TransportStreamSelector_SetTSID(IBDA_TransportStreamSelector* This,USHORT usTSID) {
   6409     return This->lpVtbl->SetTSID(This,usTSID);
   6410 }
   6411 static 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 
   6428 DEFINE_GUID(IID_IBDA_UserActivityService, 0x53b14189, 0xe478, 0x4b7a, 0xa1,0xff, 0x50,0x6d,0xb4,0xb9,0x9d,0xfe);
   6429 #if defined(__cplusplus) && !defined(CINTERFACE)
   6430 MIDL_INTERFACE("53b14189-e478-4b7a-a1ff-506db4b99dfe")
   6431 IBDA_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
   6447 typedef 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 
   6477 interface 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 ***/
   6493 static inline HRESULT IBDA_UserActivityService_QueryInterface(IBDA_UserActivityService* This,REFIID riid,void **ppvObject) {
   6494     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   6495 }
   6496 static inline ULONG IBDA_UserActivityService_AddRef(IBDA_UserActivityService* This) {
   6497     return This->lpVtbl->AddRef(This);
   6498 }
   6499 static inline ULONG IBDA_UserActivityService_Release(IBDA_UserActivityService* This) {
   6500     return This->lpVtbl->Release(This);
   6501 }
   6502 /*** IBDA_UserActivityService methods ***/
   6503 static inline HRESULT IBDA_UserActivityService_SetCurrentTunerUseReason(IBDA_UserActivityService* This,DWORD dwUseReason) {
   6504     return This->lpVtbl->SetCurrentTunerUseReason(This,dwUseReason);
   6505 }
   6506 static inline HRESULT IBDA_UserActivityService_GetUserActivityInterval(IBDA_UserActivityService* This,DWORD *pdwActivityInterval) {
   6507     return This->lpVtbl->GetUserActivityInterval(This,pdwActivityInterval);
   6508 }
   6509 static 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 
   6542 DEFINE_GUID(CLSID_PBDA_Encoder_DATA_TYPE, 0x728fd6bc, 0x5546, 0x4716, 0xb1, 0x03, 0xf8, 0x99, 0xf5, 0xa1, 0xfa, 0x68);
   6543 DEFINE_GUID(CLSID_PBDA_FDC_DATA_TYPE, 0xe7dbf9a0, 0x22ab, 0x4047, 0x8e, 0x67, 0xef, 0x9a, 0xd5, 0x4, 0xe7, 0x29);
   6544 DEFINE_GUID(CLSID_PBDA_GDDS_DATA_TYPE, 0xC80C0DF3, 0x6052, 0x4c16, 0x9F, 0x56, 0xC4, 0x4C, 0x21, 0xF7, 0x3C, 0x45);
   6545 DEFINE_GUID(PBDA_AUX_CONNECTOR_TYPE_SVideo, 0xa0e905f4,0x24c9,0x4a54, 0xb7, 0x61, 0x21, 0x33, 0x55, 0xef, 0xc1, 0x3A);
   6546 DEFINE_GUID(PBDA_AUX_CONNECTOR_TYPE_Composite, 0xf6298b4c,0xc725,0x4d42, 0x84, 0x9b, 0x41, 0x0b, 0xbb, 0x14, 0xea, 0x62);
   6547 DEFINE_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 
   6551 ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
   6552 unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
   6553 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
   6554 void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
   6555 
   6556 /* End additional prototypes */
   6557 
   6558 #ifdef __cplusplus
   6559 }
   6560 #endif
   6561 
   6562 #endif /* __bdaiface_h__ */