2 * Copyright 2013 André Hentschel
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
25 #include
"bdaiface_enums.h"
30 uuid(fd501041
-8ebe
-11ce
-8183-00aa00577da2
),
31 pointer_default(unique)
33 interface IBDA_NetworkProvider
: IUnknown
35 HRESULT PutSignalSource
([in] ULONG ulSignalSource
);
36 HRESULT GetSignalSource
([in, out] ULONG
*pulSignalSource
);
37 HRESULT GetNetworkType
([in, out] GUID
*pguidNetworkType
);
38 HRESULT PutTuningSpace
([in] REFGUID guidTuningSpace
);
39 HRESULT GetTuningSpace
([in, out] GUID
*pguidTuingSpace
);
40 HRESULT RegisterDeviceFilter
([in] IUnknown
*pUnkFilterControl
, [in, out] ULONG
*ppvRegisitrationContext
);
41 HRESULT UnRegisterDeviceFilter
([in] ULONG pvRegistrationContext
);
46 uuid(71985F43
-1CA1
-11d3
-9CC8
-00C04F7971E0
),
47 pointer_default(unique)
49 interface IBDA_EthernetFilter
: IUnknown
51 HRESULT GetMulticastListSize
([in, out] ULONG
*pulcbAddresses
);
52 HRESULT PutMulticastList
([in] ULONG ulcbAddresses
, [in, size_is(ulcbAddresses
)] BYTE pAddressList
[]);
53 HRESULT GetMulticastList
([in, out] ULONG
*pulcbAddresses
, [in, out, size_is(*pulcbAddresses
)] BYTE pAddressList
[]);
54 HRESULT PutMulticastMode
([in] ULONG ulModeMask
);
55 HRESULT GetMulticastMode
([out] ULONG
*pulModeMask
);
60 uuid(71985F44
-1CA1
-11d3
-9CC8
-00C04F7971E0
),
61 pointer_default(unique)
63 interface IBDA_IPV4Filter
: IUnknown
65 HRESULT GetMulticastListSize
([in, out] ULONG
*pulcbAddresses
);
66 HRESULT PutMulticastList
([in] ULONG ulcbAddresses
, [in, size_is(ulcbAddresses
)] BYTE pAddressList
[]);
67 HRESULT GetMulticastList
([in, out] ULONG
*pulcbAddresses
,[out, size_is(*pulcbAddresses
)] BYTE pAddressList
[]);
68 HRESULT PutMulticastMode
([in] ULONG ulModeMask
);
69 HRESULT GetMulticastMode
([out] ULONG
* pulModeMask
);
74 uuid(E1785A74
-2A23
-4fb3
-9245-A8F88017EF33
),
75 pointer_default(unique)
77 interface IBDA_IPV6Filter
: IUnknown
79 HRESULT GetMulticastListSize
([in, out] ULONG
*pulcbAddresses
);
80 HRESULT PutMulticastList
([in] ULONG ulcbAddresses
, [in, size_is(ulcbAddresses
)] BYTE pAddressList
[]);
81 HRESULT GetMulticastList
([in, out] ULONG
*pulcbAddresses
,[out, size_is(*pulcbAddresses
)] BYTE pAddressList
[]);
82 HRESULT PutMulticastMode
([in] ULONG ulModeMask
);
83 HRESULT GetMulticastMode
([out] ULONG
* pulModeMask
);
88 uuid(FD0A5AF3
-B41D
-11d2
-9C95
-00C04F7971E0
),
89 pointer_default(unique)
91 interface IBDA_DeviceControl
: IUnknown
93 HRESULT StartChanges
(void);
94 HRESULT CheckChanges
(void);
95 HRESULT CommitChanges
(void);
96 HRESULT GetChangeState
([in, out] ULONG
*pState
);
101 uuid(0DED49D5
-A8B7
-4d5d
-97A1
-12B0C195874D
),
102 pointer_default(unique)
104 interface IBDA_PinControl
: IUnknown
106 HRESULT GetPinID
([in, out] ULONG
*pulPinID
);
107 HRESULT GetPinType
([in, out] ULONG
*pulPinType
);
108 HRESULT RegistrationContext
([in, out] ULONG
*pulRegistrationCtx
);
113 uuid(D2F1644B
-B409
-11d2
-BC69
-00A0C9EE9E16
),
114 pointer_default(unique)
116 interface IBDA_SignalProperties
: IUnknown
118 HRESULT PutNetworkType
([in] REFGUID guidNetworkType
);
119 HRESULT GetNetworkType
([in, out] GUID
*pguidNetworkType
);
120 HRESULT PutSignalSource
([in] ULONG ulSignalSource
);
121 HRESULT GetSignalSource
([in, out] ULONG
*pulSignalSource
);
122 HRESULT PutTuningSpace
([in] REFGUID guidTuningSpace
);
123 HRESULT GetTuningSpace
([in, out] GUID
*pguidTuingSpace
);
128 uuid(1347D106
-CF3A
-428a
-A5CB
-AC0D9A2A4338
),
129 pointer_default(unique)
131 interface IBDA_SignalStatistics
: IUnknown
133 HRESULT put_SignalStrength
([in] LONG lDbStrength
);
134 HRESULT get_SignalStrength
([in, out] LONG *plDbStrength
);
135 HRESULT put_SignalQuality
([in] LONG lPercentQuality
);
136 HRESULT get_SignalQuality
([in, out] LONG *plPercentQuality
);
137 HRESULT put_SignalPresent
([in] BOOLEAN fPresent
);
138 HRESULT get_SignalPresent
([in, out] BOOLEAN *pfPresent
);
139 HRESULT put_SignalLocked
([in] BOOLEAN fLocked
);
140 HRESULT get_SignalLocked
([in, out] BOOLEAN *pfLocked
);
141 HRESULT put_SampleTime
([in] LONG lmsSampleTime
);
142 HRESULT get_SampleTime
([in, out] LONG *plmsSampleTime
);
147 uuid(79B56888
-7FEA
-4690-B45D
-38FD3C7849BE
),
148 pointer_default(unique)
150 interface IBDA_Topology
: IUnknown
152 HRESULT GetNodeTypes
([in, out] ULONG
*pulcNodeTypes
,
153 [in] ULONG ulcNodeTypesMax
,
154 [in, out, size_is (ulcNodeTypesMax
)] ULONG rgulNodeTypes
[]);
155 HRESULT GetNodeDescriptors
([in, out] ULONG
*ulcNodeDescriptors
,
156 [in] ULONG ulcNodeDescriptorsMax
,
157 [in, out, size_is(ulcNodeDescriptorsMax
)] BDANODE_DESCRIPTOR rgNodeDescriptors
[]);
158 HRESULT GetNodeInterfaces
([in] ULONG ulNodeType
,
159 [in, out] ULONG
*pulcInterfaces
,
160 [in] ULONG ulcInterfacesMax
,
161 [in, out, size_is (ulcInterfacesMax
)] GUID rgguidInterfaces
[]);
162 HRESULT GetPinTypes
([in, out] ULONG
*pulcPinTypes
,
163 [in] ULONG ulcPinTypesMax
,
164 [in, out, size_is (ulcPinTypesMax
)] ULONG rgulPinTypes
[]);
165 HRESULT GetTemplateConnections
([in, out] ULONG
*pulcConnections
,
166 [in] ULONG ulcConnectionsMax
,
167 [in, out, size_is (ulcConnectionsMax
)] BDA_TEMPLATE_CONNECTION rgConnections
[]);
168 HRESULT CreatePin
([in] ULONG ulPinType
, [in, out] ULONG
*pulPinId
);
169 HRESULT DeletePin
([in] ULONG ulPinId
);
170 HRESULT SetMediaType
([in] ULONG ulPinId
, [in] AM_MEDIA_TYPE
*pMediaType
);
171 HRESULT SetMedium
([in] ULONG ulPinId
, [in] REGPINMEDIUM
*pMedium
);
172 HRESULT CreateTopology
([in] ULONG ulInputPinId
, [in] ULONG ulOutputPinId
);
173 HRESULT GetControlNode
([in] ULONG ulInputPinId
,
174 [in] ULONG ulOutputPinId
,
175 [in] ULONG ulNodeType
,
176 [in, out] IUnknown
**ppControlNode
);
181 uuid(71985F46
-1CA1
-11d3
-9CC8
-00C04F7971E0
),
182 pointer_default(unique)
184 interface IBDA_VoidTransform
: IUnknown
192 uuid(DDF15B0D
-BD25
-11d2
-9CA0
-00C04F7971E0
),
193 pointer_default(unique)
195 interface IBDA_NullTransform
: IUnknown
203 uuid(71985F47
-1CA1
-11d3
-9CC8
-00C04F7971E0
),
204 pointer_default(unique)
206 interface IBDA_FrequencyFilter
: IUnknown
208 HRESULT put_Autotune
([in] ULONG ulTransponder
);
209 HRESULT get_Autotune
([in, out] ULONG
*pulTransponder
);
210 HRESULT put_Frequency
([in] ULONG ulFrequency
);
211 HRESULT get_Frequency
([in, out] ULONG
*pulFrequency
);
212 HRESULT put_Polarity
([in] Polarisation Polarity
);
213 HRESULT get_Polarity
([in, out] Polarisation
*pPolarity
);
214 HRESULT put_Range
([in] ULONG ulRange
);
215 HRESULT get_Range
([in, out] ULONG
*pulRange
);
216 HRESULT put_Bandwidth
([in] ULONG ulBandwidth
);
217 HRESULT get_Bandwidth
([in, out] ULONG
*pulBandwidth
);
218 HRESULT put_FrequencyMultiplier
([in] ULONG ulMultiplier
);
219 HRESULT get_FrequencyMultiplier
([in, out] ULONG
*pulMultiplier
);
224 uuid(992CF102
-49F9
-4719-A664
-C4F23E2408F4
),
225 pointer_default(unique)
227 interface IBDA_LNBInfo
: IUnknown
229 HRESULT put_LocalOscilatorFrequencyLowBand
([in] ULONG ulLOFLow
);
230 HRESULT get_LocalOscilatorFrequencyLowBand
([in, out] ULONG
*pulLOFLow
);
231 HRESULT put_LocalOscilatorFrequencyHighBand
([in] ULONG ulLOFHigh
);
232 HRESULT get_LocalOscilatorFrequencyHighBand
([in, out] ULONG
*pulLOFHigh
);
233 HRESULT put_HighLowSwitchFrequency
([in] ULONG ulSwitchFrequency
);
234 HRESULT get_HighLowSwitchFrequency
([in, out] ULONG
*pulSwitchFrequency
);
239 uuid(F84E2AB0
-3C6B
-45e3
-A0FC
-8669D4B81F11
),
240 pointer_default(unique)
242 interface IBDA_DiseqCommand
: IUnknown
244 HRESULT put_EnableDiseqCommands
([in] BOOLEAN bEnable
);
245 HRESULT put_DiseqLNBSource
([in] ULONG ulLNBSource
);
246 HRESULT put_DiseqUseToneBurst
([in] BOOLEAN bUseToneBurst
);
247 HRESULT put_DiseqRepeats
([in] ULONG ulRepeats
);
248 HRESULT put_DiseqSendCommand
([in] ULONG ulRequestId
,
249 [in] ULONG ulcbCommandLen
,
250 [in, size_is(ulcbCommandLen
)] BYTE *pbCommand
);
251 HRESULT get_DiseqResponse
([in] ULONG ulRequestId
,
252 [in, out] ULONG
*pulcbResponseLen
,
253 [in, out, size_is(*pulcbResponseLen
)] BYTE pbResponse
[]);
258 uuid(DDF15B12
-BD25
-11d2
-9CA0
-00C04F7971E0
),
259 pointer_default(unique)
261 interface IBDA_AutoDemodulate
: IUnknown
263 HRESULT put_AutoDemodulate
(void);
268 uuid(34518D13
-1182-48e6
-B28F
-B24987787326
),
269 pointer_default(unique)
271 interface IBDA_AutoDemodulateEx
: IBDA_AutoDemodulate
273 HRESULT get_SupportedDeviceNodeTypes
([in] ULONG ulcDeviceNodeTypesMax
,
274 [out] ULONG
*pulcDeviceNodeTypes
,
275 [in, out] GUID
*pguidDeviceNodeTypes
);
276 HRESULT get_SupportedVideoFormats
([out] ULONG
*pulAMTunerModeType
,
277 [out] ULONG
*pulAnalogVideoStandard
);
278 HRESULT get_AuxInputCount
([in, out] ULONG
*pulCompositeCount
,
279 [in, out] ULONG
*pulSvideoCount
);
284 uuid(EF30F379
-985B
-4d10
-B640
-A79D5E04E1E0
),
285 pointer_default(unique)
287 interface IBDA_DigitalDemodulator
: IUnknown
289 HRESULT put_ModulationType
([in] ModulationType
*pModulationType
);
290 HRESULT get_ModulationType
([in, out] ModulationType
*pModulationType
);
291 HRESULT put_InnerFECMethod
([in] FECMethod
*pFECMethod
);
292 HRESULT get_InnerFECMethod
([in, out] FECMethod
*pFECMethod
);
293 HRESULT put_InnerFECRate
([in] BinaryConvolutionCodeRate
*pFECRate
);
294 HRESULT get_InnerFECRate
([in, out] BinaryConvolutionCodeRate
*pFECRate
);
295 HRESULT put_OuterFECMethod
([in] FECMethod
*pFECMethod
);
296 HRESULT get_OuterFECMethod
([in, out] FECMethod
*pFECMethod
);
297 HRESULT put_OuterFECRate
([in] BinaryConvolutionCodeRate
*pFECRate
);
298 HRESULT get_OuterFECRate
([in, out] BinaryConvolutionCodeRate
*pFECRate
);
299 HRESULT put_SymbolRate
([in] ULONG
*pSymbolRate
);
300 HRESULT get_SymbolRate
([in, out] ULONG
*pSymbolRate
);
301 HRESULT put_SpectralInversion
([in] SpectralInversion
*pSpectralInversion
);
302 HRESULT get_SpectralInversion
([in, out] SpectralInversion
*pSpectralInversion
);
307 uuid(525ED3EE
-5CF3
-4e1e
-9A06
-5368A84F9A6E
),
308 pointer_default(unique)
310 interface IBDA_DigitalDemodulator2
: IBDA_DigitalDemodulator
312 HRESULT put_GuardInterval
([in] GuardInterval
*pGuardInterval
);
313 HRESULT get_GuardInterval
([in, out] GuardInterval
*pGuardInterval
);
314 HRESULT put_TransmissionMode
([in] TransmissionMode
*pTransmissionMode
);
315 HRESULT get_TransmissionMode
([in, out] TransmissionMode
*pTransmissionMode
);
316 HRESULT put_RollOff
([in] RollOff
*pRollOff
);
317 HRESULT get_RollOff
([in, out] RollOff
*pRollOff
);
318 HRESULT put_Pilot
([in] Pilot
*pPilot
);
319 HRESULT get_Pilot
([in, out] Pilot
*pPilot
);
324 uuid(13F19604
-7D32
-4359-93A2
-A05205D90AC9
),
325 pointer_default(unique)
327 interface IBDA_DigitalDemodulator3
: IBDA_DigitalDemodulator2
329 HRESULT put_SignalTimeouts
([in] BDA_SIGNAL_TIMEOUTS
*pSignalTimeouts
);
330 HRESULT get_SignalTimeouts
([in, out] BDA_SIGNAL_TIMEOUTS
*pSignalTimeouts
);
331 HRESULT put_PLPNumber
([in] ULONG
*pPLPNumber
);
332 HRESULT get_PLPNumber
([in, out] ULONG
*pPLPNumber
);
337 uuid(4B2BD7EA
-8347-467b
-8DBF
-62F784929CC3
),
338 helpstring("ICCSubStreamFiltering Interface"),
339 pointer_default(unique)
341 interface ICCSubStreamFiltering
: IUnknown
343 [propget, helpstring("property SubstreamTypes")] HRESULT SubstreamTypes
([out, retval] long *pTypes
);
344 [propput, helpstring("property SubstreamTypes")] HRESULT SubstreamTypes
([in] long Types
);
349 uuid(3F4DC8E2
-4050-11d3
-8F4B
-00C04F7971E2
),
350 pointer_default(unique),
351 helpstring("Not supported - Use IBDA_IPSinkInfo instead")
353 interface IBDA_IPSinkControl
: IUnknown
355 HRESULT GetMulticastList
([in, out] unsigned long *pulcbSize
, [in, out] BYTE **pbBuffer
);
356 HRESULT GetAdapterIPAddress
([in,out] unsigned long *pulcbSize
, [in,out] BYTE **pbBuffer
);
361 uuid(A750108F
-492E-4d51
-95F7
-649B23FF7AD7
),
362 pointer_default(unique)
364 interface IBDA_IPSinkInfo
: IUnknown
366 HRESULT get_MulticastList
([in, out] ULONG
*pulcbAddresses
,
367 [out, size_is(*pulcbAddresses
)] BYTE **ppbAddressList
);
368 HRESULT get_AdapterIPAddress
([out] BSTR *pbstrBuffer
);
369 HRESULT get_AdapterDescription
([out] BSTR *pbstrBuffer
);
374 uuid (afb6c2a2
-2c41
-11d3
-8a60
-0000f81e0e4a
),
375 pointer_default(unique)
377 interface IEnumPIDMap
: IUnknown
379 HRESULT Next
([in] ULONG cRequest
,
380 [in, out, size_is (cRequest
)] PID_MAP
*pPIDMap
,
381 [out] ULONG
*pcReceived
);
382 HRESULT Skip
([in] ULONG cRecords
);
384 HRESULT Clone
([out] IEnumPIDMap
**ppIEnumPIDMap
);
389 uuid (afb6c2a1
-2c41
-11d3
-8a60
-0000f81e0e4a
),
390 pointer_default(unique)
392 interface IMPEG2PIDMap
: IUnknown
394 HRESULT MapPID
([in] ULONG culPID
,
396 [in] MEDIA_SAMPLE_CONTENT MediaSampleContent
);
397 HRESULT UnmapPID
([in] ULONG culPID
, [in] ULONG
*pulPID
);
398 HRESULT EnumPIDMap
([out] IEnumPIDMap
**pIEnumPIDMap
);
403 uuid(06FB45C1
-693C
-4ea7
-B79F
-7A6A54D8DEF2
),
404 helpstring("IFrequencyMap Interface"),
405 pointer_default(unique),
408 interface IFrequencyMap
: IUnknown
410 HRESULT get_FrequencyMapping
([out] ULONG
*ulCount
, [out, size_is(1, *ulCount
)] ULONG
**ppulList
);
411 HRESULT put_FrequencyMapping
([in] ULONG ulCount
, [in, size_is(ulCount
)] ULONG pList
[]);
412 HRESULT get_CountryCode
([out] ULONG
*pulCountryCode
);
413 HRESULT put_CountryCode
([in] ULONG ulCountryCode
);
414 HRESULT get_DefaultFrequencyMapping
([in] ULONG ulCountryCode
,
415 [out] ULONG
*pulCount
,
416 [out, size_is(1, *pulCount
)] ULONG
**ppulList
);
417 HRESULT get_CountryCodeList
([out] ULONG
* pulCount
, [out, size_is(1, *pulCount
)] ULONG
**ppulList
);
422 uuid(D806973D
-3EBE
-46de
-8FBB
-6358FE784208
),
423 helpstring("IBDA_EasMessage Interface"),
424 pointer_default(unique),
427 interface IBDA_EasMessage
: IUnknown
429 HRESULT get_EasMessage
([in] ULONG ulEventID
, [in, out] IUnknown
**ppEASObject
);
434 uuid(8E882535
-5F86
-47AB
-86CF
-C281A72A0549
),
435 helpstring("IBDA_TransportStreamInfo Interface"),
436 pointer_default(unique),
439 interface IBDA_TransportStreamInfo
: IUnknown
441 HRESULT get_PatTableTickCount
([out] ULONG
*pPatTickCount
);
446 uuid(CD51F1E0
-7BE9
-4123-8482-A2A796C0A6B0
),
447 helpstring("IBDA_ConditionalAccess Interface"),
448 pointer_default(unique)
451 interface IBDA_ConditionalAccess
: IUnknown
453 HRESULT get_SmartCardStatus
([out] SmartCardStatusType
*pCardStatus
,
454 [out] SmartCardAssociationType
*pCardAssociation
,
455 [out] BSTR *pbstrCardError
,
456 [out] VARIANT_BOOL *pfOOBLocked
);
457 HRESULT get_SmartCardInfo
([out] BSTR *pbstrCardName
,
458 [out] BSTR *pbstrCardManufacturer
,
459 [out] VARIANT_BOOL *pfDaylightSavings
,
460 [out] BYTE *pbyRatingRegion
,
461 [out] LONG *plTimeZoneOffsetMinutes
,
462 [out] BSTR *pbstrLanguage
,
463 [out] EALocationCodeType
*pEALocationCode
);
464 HRESULT get_SmartCardApplications
([in, out] ULONG
*pulcApplications
,
465 [in] ULONG ulcApplicationsMax
,
466 [in, out, size_is(ulcApplicationsMax
)] SmartCardApplication rgApplications
[]);
467 HRESULT get_Entitlement
([in] USHORT usVirtualChannel
, [out] EntitlementType
*pEntitlement
);
468 HRESULT TuneByChannel
([in] USHORT usVirtualChannel
);
469 HRESULT SetProgram
([in] USHORT usProgramNumber
);
470 HRESULT AddProgram
([in] USHORT usProgramNumber
);
471 HRESULT RemoveProgram
([in] USHORT usProgramNumber
);
472 HRESULT GetModuleUI
([in] BYTE byDialogNumber
, [out] BSTR *pbstrURL
);
473 HRESULT InformUIClosed
([in] BYTE byDialogNumber
, [in] UICloseReasonType CloseReason
);
478 uuid(20e80cb5
-c543
-4c1b
-8eb3
-49e719eee7d4
),
479 helpstring("IBDA_DiagnosticProperties Interface"),
480 pointer_default(unique),
482 interface IBDA_DiagnosticProperties
: IPropertyBag
488 uuid(F98D88B0
-1992-4cd6
-A6D9
-B9AFAB99330D
),
489 helpstring("IBDA_DRM Interface"),
490 pointer_default(unique),
492 interface IBDA_DRM
: IUnknown
494 HRESULT GetDRMPairingStatus
([out] DWORD
*pdwStatus
, [out] HRESULT *phError
);
495 HRESULT PerformDRMPairing
(BOOL fSync
);
500 uuid(7F0B3150
-7B81
-4ad4
-98E3
-7E9097094301
),
501 helpstring("IBDA_NameValueService Interface"),
502 pointer_default(unique)
504 interface IBDA_NameValueService
: IUnknown
506 HRESULT GetValueNameByIndex
([in] ULONG ulIndex
, [out] BSTR *pbstrName
);
507 HRESULT GetValue
([in] BSTR bstrName
, [in] BSTR bstrLanguage
, [out] BSTR *pbstrValue
);
508 HRESULT SetValue
([in] ULONG ulDialogRequest
, [in] BSTR bstrLanguage
,
509 [in] BSTR bstrName
, [in] BSTR bstrValue
, [in] ULONG ulReserved
);
514 uuid(497C3418
-23CB
-44ba
-BB62
-769F506FCEA7
),
515 helpstring("IBDA_ConditionalAccessEx Interface"),
516 pointer_default(unique)
518 interface IBDA_ConditionalAccessEx
: IUnknown
520 HRESULT CheckEntitlementToken
([in] ULONG ulDialogRequest
, [in] BSTR bstrLanguage
,
521 [in] BDA_CONDITIONALACCESS_REQUESTTYPE RequestType
,
522 [in] ULONG ulcbEntitlementTokenLen
,
523 [in, size_is(ulcbEntitlementTokenLen
)] BYTE *pbEntitlementToken
,
524 [out] ULONG
*pulDescrambleStatus
);
525 HRESULT SetCaptureToken
([in] ULONG ulcbCaptureTokenLen
,
526 [in, size_is(ulcbCaptureTokenLen
)] BYTE *pbCaptureToken
);
527 HRESULT OpenBroadcastMmi
([in] ULONG ulDialogRequest
, [in] BSTR bstrLanguage
, [in] ULONG EventId
);
528 HRESULT CloseMmiDialog
([in] ULONG ulDialogRequest
, [in] BSTR bstrLanguage
,
529 [in] ULONG ulDialogNumber
, [in] BDA_CONDITIONALACCESS_MMICLOSEREASON ReasonCode
,
530 [out] ULONG
*pulSessionResult
);
531 HRESULT CreateDialogRequestNumber
([out] ULONG
*pulDialogRequestNumber
);
536 uuid(5E68C627
-16C2
-4e6c
-B1E2
-D00170CDAA0F
),
537 helpstring("IBDA_ISDBConditionalAccess Interface"),
538 pointer_default(unique)
540 interface IBDA_ISDBConditionalAccess
: IUnknown
542 HRESULT SetIsdbCasRequest
([in] ULONG ulRequestId
, [in] ULONG ulcbRequestBufferLen
,
543 [in, size_is(ulcbRequestBufferLen
)] BYTE *pbRequestBuffer
);
548 uuid(207C413F
-00DC
-4c61
-BAD6
-6FEE1FF07064
),
549 helpstring("IBDA_EventingService Interface"),
550 pointer_default(unique)
552 interface IBDA_EventingService
: IUnknown
554 HRESULT CompleteEvent
([in] ULONG ulEventID
, [in] ULONG ulEventResult
);
559 uuid(7DEf4C09
-6E66
-4567-A819
-F0E17F4A81AB
),
560 helpstring("IBDA_AUX Interface"),
561 pointer_default(unique)
563 interface IBDA_AUX
: IUnknown
565 HRESULT QueryCapabilities
([out] DWORD
*pdwNumAuxInputsBSTR
);
566 HRESULT EnumCapability
([in] DWORD dwIndex
, [out] DWORD
*dwInputID
, [out] GUID
*pConnectorType
,
567 [out] DWORD
*ConnTypeNum
, [out] DWORD
*NumVideoStds
,
568 [out] ULONGLONG
*AnalogStds
);
573 uuid(3a8bad59
-59fe
-4559-a0ba
-396cfaa98ae3
),
574 helpstring("IBDA_ Encoder Interface"),
575 pointer_default(unique)
577 interface IBDA_Encoder
: IUnknown
579 HRESULT QueryCapabilities
([out] DWORD
*NumAudioFmts
, [out] DWORD
*NumVideoFmts
);
580 HRESULT EnumAudioCapability
([in] DWORD FmtIndex
, [out] DWORD
*MethodID
,
581 [out] DWORD
*AlgorithmType
, [out] DWORD
*SamplingRate
,
582 [out] DWORD
*BitDepth
, [out] DWORD
*NumChannels
);
583 HRESULT EnumVideoCapability
([in] DWORD FmtIndex
, [out] DWORD
*MethodID
,
584 [out] DWORD
*AlgorithmType
, [out] DWORD
*VerticalSize
,
585 [out] DWORD
*HorizontalSize
, [out] DWORD
*AspectRatio
,
586 [out] DWORD
*FrameRateCode
, [out] DWORD
*ProgressiveSequence
);
587 HRESULT SetParameters
([in] DWORD AudioBitrateMode
, [in] DWORD AudioBitrate
,
588 [in] DWORD AudioMethodID
, [in] DWORD AudioProgram
,
589 [in] DWORD VideoBitrateMode
, [in] DWORD VideoBitrate
,
590 [in] DWORD VideoMethodID
);
591 HRESULT GetState
([out] DWORD
*AudioBitrateMax
, [out] DWORD
*AudioBitrateMin
,
592 [out] DWORD
*AudioBitrateMode
, [out] DWORD
*AudioBitrateStepping
,
593 [out] DWORD
*AudioBitrate
, [out] DWORD
*AudioMethodID
,
594 [out] DWORD
*AvailableAudioPrograms
, [out] DWORD
*AudioProgram
,
595 [out] DWORD
*VideoBitrateMax
, [out] DWORD
*VideoBitrateMin
,
596 [out] DWORD
*VideoBitrateMode
, [out] DWORD
*VideoBitrate
,
597 [out] DWORD
*VideoBitrateStepping
, [out] DWORD
*VideoMethodID
,
598 [out] DWORD
*SignalSourceID
, [out] ULONGLONG
*SignalFormat
,
599 [out] BOOL
*SignalLock
, [out] LONG *SignalLevel
,
600 [out] DWORD
*SignalToNoiseRatio
);
605 uuid(138adc7e
-58ae
-437f
-b0b4
-c9fe19d5b4ac
),
606 helpstring("IBDA_ FDC Interface"),
607 pointer_default(unique)
609 interface IBDA_FDC
: IUnknown
611 HRESULT GetStatus
([out] DWORD
*CurrentBitrate
, [out] BOOL
*CarrierLock
,
612 [out] DWORD
*CurrentFrequency
, [out] BOOL
*CurrentSpectrumInversion
,
613 [out] BSTR *CurrentPIDList
, [out] BSTR *CurrentTIDList
, [out] BOOL
*Overflow
);
614 HRESULT RequestTables
([in] BSTR TableIDs
);
615 HRESULT AddPid
([in] BSTR PidsToAdd
, [out] DWORD
*RemainingFilterEntries
);
616 HRESULT RemovePid
([in] BSTR PidsToRemove
);
617 HRESULT AddTid
([in] BSTR TidsToAdd
, [out] BSTR *CurrentTidList
);
618 HRESULT RemoveTid
([in] BSTR TidsToRemove
);
619 HRESULT GetTableSection
([out] DWORD
*Pid
, [in] DWORD MaxBufferSize
,
620 [out] DWORD
*ActualSize
, [out] BYTE *SecBuffer
);
625 uuid(C0AFCB73
-23E7
-4bc6
-BAFA
-FDC167B4719F
),
626 helpstring("IBDA_ GuideDataDeliveryService Interface"),
627 pointer_default(unique)
629 interface IBDA_GuideDataDeliveryService
: IUnknown
631 HRESULT GetGuideDataType
([out] GUID
*pguidDataType
);
632 HRESULT GetGuideData
([in, out] ULONG
*pulcbBufferLen
, [out] BYTE *pbBuffer
,
633 [out] ULONG
*pulGuideDataPercentageProgress
);
634 HRESULT RequestGuideDataUpdate
(void);
635 HRESULT GetTuneXmlFromServiceIdx
([in] ULONG64 ul64ServiceIdx
, [out] BSTR *pbstrTuneXml
);
636 HRESULT GetServices
([in, out] ULONG
*pulcbBufferLen
, [out] BYTE *pbBuffer
);
637 HRESULT GetServiceInfoFromTuneXml
([in] BSTR bstrTuneXml
, [out] BSTR *pbstrServiceDescription
);
642 uuid(BFF6B5BB
-B0AE
-484c
-9DCA
-73528FB0B46E
),
643 helpstring("IBDA_DRMService Interface"),
644 pointer_default(unique)
646 interface IBDA_DRMService
: IUnknown
648 HRESULT SetDRM
([in] GUID
*puuidNewDrm
);
649 HRESULT GetDRMStatus
([out] BSTR *pbstrDrmUuidList
, [out] GUID
*DrmUuid
);
654 uuid(4BE6FA3D
-07CD
-4139-8B80
-8C18BA3AEC88
),
655 helpstring("IBDA_WMDRMSession Interface"),
656 pointer_default(unique)
658 interface IBDA_WMDRMSession
: IUnknown
660 HRESULT GetStatus
([out] ULONG
*MaxCaptureToken
, [out] ULONG
*MaxStreamingPid
,
661 [out] ULONG
*MaxLicense
, [out] ULONG
*MinSecurityLevel
,
662 [out] ULONG
*RevInfoSequenceNumber
, [out] ULONGLONG
*RevInfoIssuedTime
,
663 [out] ULONG
*RevInfoTTL
, [out] ULONG
*RevListVersion
, [out] ULONG
*ulState
);
664 HRESULT SetRevInfo
([in] ULONG ulRevInfoLen
, [in, size_is(ulRevInfoLen
)] BYTE* pbRevInfo
);
665 HRESULT SetCrl
([in] ULONG ulCrlLen
, [in, size_is(ulCrlLen
)] BYTE *pbCrlLen
);
666 HRESULT TransactMessage
([in] ULONG ulcbRequest
, [in, size_is(ulcbRequest
)] BYTE *pbRequest
,
667 [in, out] ULONG
*pulcbResponse
, [in, out] BYTE *pbResponse
);
668 HRESULT GetLicense
([in] GUID
*uuidKey
, [in, out] ULONG
*pulPackageLen
, [in, out] BYTE *pbPackage
);
669 HRESULT ReissueLicense
([in] GUID
*uuidKey
);
670 HRESULT RenewLicense
([in] ULONG ulInXmrLicenseLen
,
671 [in, size_is(ulInXmrLicenseLen
)] BYTE *pbInXmrLicense
,
672 [in] ULONG ulEntitlementTokenLen
,
673 [in, size_is(ulEntitlementTokenLen
)] BYTE *pbEntitlementToken
,
674 [out] ULONG
*pulDescrambleStatus
, [in, out] ULONG
*pulOutXmrLicenseLen
,
675 [in, out] BYTE *pbOutXmrLicense
);
676 HRESULT GetKeyInfo
([in, out] ULONG
*pulKeyInfoLen
, [in, out] BYTE *pbKeyInfo
);
681 uuid(86D979CF
-A8A7
-4f94
-B5FB
-14C0ACA68FE6
),
682 helpstring("IBDA_WMDRMTuner Interface"),
683 pointer_default(unique)
685 interface IBDA_WMDRMTuner
: IUnknown
687 HRESULT PurchaseEntitlement
([in] ULONG ulDialogRequest
, [in] BSTR bstrLanguage
,
688 [in] ULONG ulPurchaseTokenLen
,
689 [in, size_is(ulPurchaseTokenLen
)] BYTE *pbPurchaseToken
,
690 [out] ULONG
*pulDescrambleStatus
,
691 [in, out] ULONG
*pulCaptureTokenLen
,
692 [in, out] BYTE *pbCaptureToken
);
693 HRESULT CancelCaptureToken
([in] ULONG ulCaptureTokenLen
,
694 [in, size_is(ulCaptureTokenLen
)] BYTE *pbCaptureToken
);
695 HRESULT SetPidProtection
([in] ULONG ulPid
, [in] GUID
*uuidKey
);
696 HRESULT GetPidProtection
([in] ULONG pulPid
, [out] GUID
*uuidKey
);
697 HRESULT SetSyncValue
([in] ULONG ulSyncValue
);
698 HRESULT GetStartCodeProfile
([in, out] ULONG
*pulStartCodeProfileLen
,
699 [in, out] BYTE *pbStartCodeProfile
);
704 uuid(1F9BC2A5
-44A3
-4c52
-AAB1
-0BBCE5A1381D
),
705 helpstring("IBDA_DRIDRMService Interface"),
706 pointer_default(unique)
708 interface IBDA_DRIDRMService
: IUnknown
710 HRESULT SetDRM
([in] BSTR bstrNewDrm
);
711 HRESULT GetDRMStatus
([out] BSTR *pbstrDrmUuidList
, [out] GUID
*DrmUuid
);
712 HRESULT GetPairingStatus
([in, out] BDA_DrmPairingError
*penumPairingStatus
);
717 uuid(05C690F8
-56DB
-4bb2
-B053
-79C12098BB26
),
718 helpstring("IBDA_DRIWMDRMSession Interface"),
719 pointer_default(unique)
721 interface IBDA_DRIWMDRMSession
: IUnknown
723 HRESULT AcknowledgeLicense
([in] HRESULT hrLicenseAck
);
724 HRESULT ProcessLicenseChallenge
([in] DWORD dwcbLicenseMessage
,
725 [in, size_is(dwcbLicenseMessage
)] BYTE *pbLicenseMessage
,
726 [in, out] DWORD
*pdwcbLicenseResponse
,
727 [in, out, size_is(* pdwcbLicenseResponse
)] BYTE **ppbLicenseResponse
);
728 HRESULT ProcessRegistrationChallenge
([in] DWORD dwcbRegistrationMessage
,
729 [in, size_is(dwcbRegistrationMessage
)] BYTE *pbRegistrationMessage
,
730 [in, out] DWORD
*pdwcbRegistrationResponse
,
731 [in, out] BYTE **ppbRegistrationResponse
);
732 HRESULT SetRevInfo
([in] DWORD dwRevInfoLen
, [in, size_is(dwRevInfoLen
)] BYTE *pbRevInfo
,
733 [in, out] DWORD
*pdwResponse
);
734 HRESULT SetCrl
([in] DWORD dwCrlLen
, [in, size_is(dwCrlLen
)] BYTE *pbCrlLen
,
735 [in, out] DWORD
*pdwResponse
);
736 HRESULT GetHMSAssociationData
(void);
737 HRESULT GetLastCardeaError
([in, out] DWORD
*pdwError
);
742 uuid(942AAFEC
-4C05
-4c74
-B8EB
-8706C2A4943F
),
743 helpstring("IBDA_MUX Interface"),
744 pointer_default(unique)
746 interface IBDA_MUX
: IUnknown
748 HRESULT SetPidList
([in] ULONG ulPidListCount
,
749 [in, size_is(ulPidListCount
)] BDA_MUX_PIDLISTITEM
*pbPidListBuffer
);
750 HRESULT GetPidList
([in, out] ULONG
*pulPidListCount
,
751 [in, out] BDA_MUX_PIDLISTITEM
*pbPidListBuffer
);
756 uuid(1DCFAFE9
-B45E
-41b3
-BB2A
-561EB129AE98
),
757 helpstring("IBDA_TransportStreamSelector Interface"),
758 pointer_default(unique)
760 interface IBDA_TransportStreamSelector
: IUnknown
762 HRESULT SetTSID
([in] USHORT usTSID
);
763 HRESULT GetTSInformation
([in, out] ULONG
*pulTSInformationBufferLen
,
764 [out, size_is(*pulTSInformationBufferLen
)] BYTE *pbTSInformationBuffer
);
769 uuid(53B14189
-E478
-4b7a
-A1FF
-506DB4B99DFE
),
770 helpstring("IBDA_UserActivityService Interface"),
771 pointer_default(unique)
773 interface IBDA_UserActivityService
: IUnknown
775 HRESULT SetCurrentTunerUseReason
([in] DWORD dwUseReason
);
776 HRESULT GetUserActivityInterval
([out] DWORD
*pdwActivityInterval
);
777 HRESULT UserActivityDetected
(void);