| /* |
| * Copyright 2013 André Hentschel |
| * |
| * This library is free software; you can redistribute it and/or |
| * modify it under the terms of the GNU Lesser General Public |
| * License as published by the Free Software Foundation; either |
| * version 2.1 of the License, or (at your option) any later version. |
| * |
| * This library is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| * Lesser General Public License for more details. |
| * |
| * You should have received a copy of the GNU Lesser General Public |
| * License along with this library; if not, write to the Free Software |
| * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA |
| */ |
| |
| #ifndef DO_NO_IMPORTS |
| import "unknwn.idl"; |
| import "strmif.idl"; |
| import "bdatypes.h"; |
| #endif |
| |
| #include "bdaiface_enums.h" |
| |
| |
| [ |
| object, |
| uuid(fd501041-8ebe-11ce-8183-00aa00577da2), |
| pointer_default(unique) |
| ] |
| interface IBDA_NetworkProvider : IUnknown |
| { |
| HRESULT PutSignalSource([in] ULONG ulSignalSource); |
| HRESULT GetSignalSource([in, out] ULONG *pulSignalSource); |
| HRESULT GetNetworkType([in, out] GUID *pguidNetworkType); |
| HRESULT PutTuningSpace([in] REFGUID guidTuningSpace); |
| HRESULT GetTuningSpace([in, out] GUID *pguidTuingSpace); |
| HRESULT RegisterDeviceFilter([in] IUnknown *pUnkFilterControl, [in, out] ULONG *ppvRegisitrationContext); |
| HRESULT UnRegisterDeviceFilter([in] ULONG pvRegistrationContext); |
| } |
| |
| [ |
| object, |
| uuid(71985F43-1CA1-11d3-9CC8-00C04F7971E0), |
| pointer_default(unique) |
| ] |
| interface IBDA_EthernetFilter : IUnknown |
| { |
| HRESULT GetMulticastListSize([in, out] ULONG *pulcbAddresses); |
| HRESULT PutMulticastList([in] ULONG ulcbAddresses, [in, size_is(ulcbAddresses)] BYTE pAddressList []); |
| HRESULT GetMulticastList([in, out] ULONG *pulcbAddresses, [in, out, size_is(*pulcbAddresses)] BYTE pAddressList[]); |
| HRESULT PutMulticastMode([in] ULONG ulModeMask); |
| HRESULT GetMulticastMode([out] ULONG *pulModeMask); |
| } |
| |
| [ |
| object, |
| uuid(71985F44-1CA1-11d3-9CC8-00C04F7971E0), |
| pointer_default(unique) |
| ] |
| interface IBDA_IPV4Filter : IUnknown |
| { |
| HRESULT GetMulticastListSize([in, out] ULONG *pulcbAddresses); |
| HRESULT PutMulticastList([in] ULONG ulcbAddresses, [in, size_is(ulcbAddresses)] BYTE pAddressList[]); |
| HRESULT GetMulticastList([in, out] ULONG *pulcbAddresses,[out, size_is(*pulcbAddresses)] BYTE pAddressList[]); |
| HRESULT PutMulticastMode([in] ULONG ulModeMask); |
| HRESULT GetMulticastMode([out] ULONG* pulModeMask); |
| } |
| |
| [ |
| object, |
| uuid(E1785A74-2A23-4fb3-9245-A8F88017EF33), |
| pointer_default(unique) |
| ] |
| interface IBDA_IPV6Filter : IUnknown |
| { |
| HRESULT GetMulticastListSize([in, out] ULONG *pulcbAddresses); |
| HRESULT PutMulticastList([in] ULONG ulcbAddresses, [in, size_is(ulcbAddresses)] BYTE pAddressList[]); |
| HRESULT GetMulticastList([in, out] ULONG *pulcbAddresses,[out, size_is(*pulcbAddresses)] BYTE pAddressList[]); |
| HRESULT PutMulticastMode([in] ULONG ulModeMask); |
| HRESULT GetMulticastMode([out] ULONG* pulModeMask); |
| } |
| |
| [ |
| object, |
| uuid(FD0A5AF3-B41D-11d2-9C95-00C04F7971E0), |
| pointer_default(unique) |
| ] |
| interface IBDA_DeviceControl : IUnknown |
| { |
| HRESULT StartChanges(void); |
| HRESULT CheckChanges(void); |
| HRESULT CommitChanges(void); |
| HRESULT GetChangeState([in, out] ULONG *pState); |
| } |
| |
| [ |
| object, |
| uuid(0DED49D5-A8B7-4d5d-97A1-12B0C195874D), |
| pointer_default(unique) |
| ] |
| interface IBDA_PinControl : IUnknown |
| { |
| HRESULT GetPinID([in, out] ULONG *pulPinID); |
| HRESULT GetPinType([in, out] ULONG *pulPinType); |
| HRESULT RegistrationContext([in, out] ULONG *pulRegistrationCtx); |
| } |
| |
| [ |
| object, |
| uuid(D2F1644B-B409-11d2-BC69-00A0C9EE9E16), |
| pointer_default(unique) |
| ] |
| interface IBDA_SignalProperties : IUnknown |
| { |
| HRESULT PutNetworkType([in] REFGUID guidNetworkType); |
| HRESULT GetNetworkType([in, out] GUID *pguidNetworkType); |
| HRESULT PutSignalSource([in] ULONG ulSignalSource); |
| HRESULT GetSignalSource([in, out] ULONG *pulSignalSource); |
| HRESULT PutTuningSpace([in] REFGUID guidTuningSpace); |
| HRESULT GetTuningSpace([in, out] GUID *pguidTuingSpace); |
| } |
| |
| [ |
| object, |
| uuid(1347D106-CF3A-428a-A5CB-AC0D9A2A4338), |
| pointer_default(unique) |
| ] |
| interface IBDA_SignalStatistics : IUnknown |
| { |
| HRESULT put_SignalStrength ([in] LONG lDbStrength); |
| HRESULT get_SignalStrength ([in, out] LONG *plDbStrength); |
| HRESULT put_SignalQuality ([in] LONG lPercentQuality); |
| HRESULT get_SignalQuality ([in, out] LONG *plPercentQuality); |
| HRESULT put_SignalPresent ([in] BOOLEAN fPresent); |
| HRESULT get_SignalPresent ([in, out] BOOLEAN *pfPresent); |
| HRESULT put_SignalLocked ([in] BOOLEAN fLocked); |
| HRESULT get_SignalLocked ([in, out] BOOLEAN *pfLocked); |
| HRESULT put_SampleTime ([in] LONG lmsSampleTime); |
| HRESULT get_SampleTime ([in, out] LONG *plmsSampleTime); |
| } |
| |
| [ |
| object, |
| uuid(79B56888-7FEA-4690-B45D-38FD3C7849BE), |
| pointer_default(unique) |
| ] |
| interface IBDA_Topology : IUnknown |
| { |
| HRESULT GetNodeTypes([in, out] ULONG *pulcNodeTypes, |
| [in] ULONG ulcNodeTypesMax, |
| [in, out, size_is (ulcNodeTypesMax)] ULONG rgulNodeTypes[]); |
| HRESULT GetNodeDescriptors([in, out] ULONG *ulcNodeDescriptors, |
| [in] ULONG ulcNodeDescriptorsMax, |
| [in, out, size_is(ulcNodeDescriptorsMax)] BDANODE_DESCRIPTOR rgNodeDescriptors[]); |
| HRESULT GetNodeInterfaces([in] ULONG ulNodeType, |
| [in, out] ULONG *pulcInterfaces, |
| [in] ULONG ulcInterfacesMax, |
| [in, out, size_is (ulcInterfacesMax)] GUID rgguidInterfaces[]); |
| HRESULT GetPinTypes([in, out] ULONG *pulcPinTypes, |
| [in] ULONG ulcPinTypesMax, |
| [in, out, size_is (ulcPinTypesMax)] ULONG rgulPinTypes[]); |
| HRESULT GetTemplateConnections([in, out] ULONG *pulcConnections, |
| [in] ULONG ulcConnectionsMax, |
| [in, out, size_is (ulcConnectionsMax)] BDA_TEMPLATE_CONNECTION rgConnections[]); |
| HRESULT CreatePin([in] ULONG ulPinType, [in, out] ULONG *pulPinId); |
| HRESULT DeletePin([in] ULONG ulPinId); |
| HRESULT SetMediaType([in] ULONG ulPinId, [in] AM_MEDIA_TYPE *pMediaType); |
| HRESULT SetMedium([in] ULONG ulPinId, [in] REGPINMEDIUM *pMedium); |
| HRESULT CreateTopology([in] ULONG ulInputPinId, [in] ULONG ulOutputPinId); |
| HRESULT GetControlNode([in] ULONG ulInputPinId, |
| [in] ULONG ulOutputPinId, |
| [in] ULONG ulNodeType, |
| [in, out] IUnknown **ppControlNode); |
| } |
| |
| [ |
| object, |
| uuid(71985F46-1CA1-11d3-9CC8-00C04F7971E0), |
| pointer_default(unique) |
| ] |
| interface IBDA_VoidTransform : IUnknown |
| { |
| HRESULT Start(void); |
| HRESULT Stop(void); |
| } |
| |
| [ |
| object, |
| uuid(DDF15B0D-BD25-11d2-9CA0-00C04F7971E0), |
| pointer_default(unique) |
| ] |
| interface IBDA_NullTransform : IUnknown |
| { |
| HRESULT Start(void); |
| HRESULT Stop(void); |
| } |
| |
| [ |
| object, |
| uuid(71985F47-1CA1-11d3-9CC8-00C04F7971E0), |
| pointer_default(unique) |
| ] |
| interface IBDA_FrequencyFilter : IUnknown |
| { |
| HRESULT put_Autotune([in] ULONG ulTransponder); |
| HRESULT get_Autotune([in, out] ULONG *pulTransponder); |
| HRESULT put_Frequency([in] ULONG ulFrequency); |
| HRESULT get_Frequency([in, out] ULONG *pulFrequency); |
| HRESULT put_Polarity([in] Polarisation Polarity); |
| HRESULT get_Polarity([in, out] Polarisation *pPolarity); |
| HRESULT put_Range([in] ULONG ulRange); |
| HRESULT get_Range([in, out] ULONG *pulRange); |
| HRESULT put_Bandwidth([in] ULONG ulBandwidth); |
| HRESULT get_Bandwidth([in, out] ULONG *pulBandwidth); |
| HRESULT put_FrequencyMultiplier([in] ULONG ulMultiplier); |
| HRESULT get_FrequencyMultiplier([in, out] ULONG *pulMultiplier); |
| } |
| |
| [ |
| object, |
| uuid(992CF102-49F9-4719-A664-C4F23E2408F4), |
| pointer_default(unique) |
| ] |
| interface IBDA_LNBInfo : IUnknown |
| { |
| HRESULT put_LocalOscilatorFrequencyLowBand([in] ULONG ulLOFLow); |
| HRESULT get_LocalOscilatorFrequencyLowBand([in, out] ULONG *pulLOFLow); |
| HRESULT put_LocalOscilatorFrequencyHighBand([in] ULONG ulLOFHigh); |
| HRESULT get_LocalOscilatorFrequencyHighBand([in, out] ULONG *pulLOFHigh); |
| HRESULT put_HighLowSwitchFrequency([in] ULONG ulSwitchFrequency); |
| HRESULT get_HighLowSwitchFrequency([in, out] ULONG *pulSwitchFrequency); |
| } |
| |
| [ |
| object, |
| uuid(F84E2AB0-3C6B-45e3-A0FC-8669D4B81F11), |
| pointer_default(unique) |
| ] |
| interface IBDA_DiseqCommand : IUnknown |
| { |
| HRESULT put_EnableDiseqCommands([in] BOOLEAN bEnable); |
| HRESULT put_DiseqLNBSource([in] ULONG ulLNBSource); |
| HRESULT put_DiseqUseToneBurst([in] BOOLEAN bUseToneBurst); |
| HRESULT put_DiseqRepeats([in] ULONG ulRepeats); |
| HRESULT put_DiseqSendCommand([in] ULONG ulRequestId, |
| [in] ULONG ulcbCommandLen, |
| [in, size_is(ulcbCommandLen)] BYTE *pbCommand); |
| HRESULT get_DiseqResponse([in] ULONG ulRequestId, |
| [in, out] ULONG *pulcbResponseLen, |
| [in, out, size_is(*pulcbResponseLen)] BYTE pbResponse[]); |
| } |
| |
| [ |
| object, |
| uuid(DDF15B12-BD25-11d2-9CA0-00C04F7971E0), |
| pointer_default(unique) |
| ] |
| interface IBDA_AutoDemodulate : IUnknown |
| { |
| HRESULT put_AutoDemodulate(void); |
| } |
| |
| [ |
| object, |
| uuid(34518D13-1182-48e6-B28F-B24987787326), |
| pointer_default(unique) |
| ] |
| interface IBDA_AutoDemodulateEx : IBDA_AutoDemodulate |
| { |
| HRESULT get_SupportedDeviceNodeTypes([in] ULONG ulcDeviceNodeTypesMax, |
| [out] ULONG *pulcDeviceNodeTypes, |
| [in, out] GUID *pguidDeviceNodeTypes); |
| HRESULT get_SupportedVideoFormats([out] ULONG *pulAMTunerModeType, |
| [out] ULONG *pulAnalogVideoStandard); |
| HRESULT get_AuxInputCount([in, out] ULONG *pulCompositeCount, |
| [in, out] ULONG *pulSvideoCount); |
| } |
| |
| [ |
| object, |
| uuid(EF30F379-985B-4d10-B640-A79D5E04E1E0), |
| pointer_default(unique) |
| ] |
| interface IBDA_DigitalDemodulator : IUnknown |
| { |
| HRESULT put_ModulationType([in] ModulationType *pModulationType); |
| HRESULT get_ModulationType([in, out] ModulationType *pModulationType); |
| HRESULT put_InnerFECMethod([in] FECMethod *pFECMethod); |
| HRESULT get_InnerFECMethod([in, out] FECMethod *pFECMethod); |
| HRESULT put_InnerFECRate([in] BinaryConvolutionCodeRate *pFECRate); |
| HRESULT get_InnerFECRate([in, out] BinaryConvolutionCodeRate *pFECRate); |
| HRESULT put_OuterFECMethod([in] FECMethod *pFECMethod); |
| HRESULT get_OuterFECMethod([in, out] FECMethod *pFECMethod); |
| HRESULT put_OuterFECRate([in] BinaryConvolutionCodeRate *pFECRate); |
| HRESULT get_OuterFECRate([in, out] BinaryConvolutionCodeRate *pFECRate); |
| HRESULT put_SymbolRate([in] ULONG *pSymbolRate); |
| HRESULT get_SymbolRate([in, out] ULONG *pSymbolRate); |
| HRESULT put_SpectralInversion([in] SpectralInversion *pSpectralInversion); |
| HRESULT get_SpectralInversion([in, out] SpectralInversion *pSpectralInversion); |
| } |
| |
| [ |
| object, |
| uuid(525ED3EE-5CF3-4e1e-9A06-5368A84F9A6E), |
| pointer_default(unique) |
| ] |
| interface IBDA_DigitalDemodulator2 : IBDA_DigitalDemodulator |
| { |
| HRESULT put_GuardInterval([in] GuardInterval *pGuardInterval); |
| HRESULT get_GuardInterval([in, out] GuardInterval *pGuardInterval); |
| HRESULT put_TransmissionMode([in] TransmissionMode *pTransmissionMode); |
| HRESULT get_TransmissionMode([in, out] TransmissionMode *pTransmissionMode); |
| HRESULT put_RollOff([in] RollOff *pRollOff); |
| HRESULT get_RollOff([in, out] RollOff *pRollOff); |
| HRESULT put_Pilot([in] Pilot *pPilot); |
| HRESULT get_Pilot([in, out] Pilot *pPilot); |
| } |
| |
| [ |
| object, |
| uuid(13F19604-7D32-4359-93A2-A05205D90AC9), |
| pointer_default(unique) |
| ] |
| interface IBDA_DigitalDemodulator3 : IBDA_DigitalDemodulator2 |
| { |
| HRESULT put_SignalTimeouts([in] BDA_SIGNAL_TIMEOUTS *pSignalTimeouts); |
| HRESULT get_SignalTimeouts([in, out] BDA_SIGNAL_TIMEOUTS *pSignalTimeouts); |
| HRESULT put_PLPNumber([in] ULONG *pPLPNumber); |
| HRESULT get_PLPNumber([in, out] ULONG *pPLPNumber); |
| } |
| |
| [ |
| object, |
| uuid(4B2BD7EA-8347-467b-8DBF-62F784929CC3), |
| helpstring("ICCSubStreamFiltering Interface"), |
| pointer_default(unique) |
| ] |
| interface ICCSubStreamFiltering : IUnknown |
| { |
| [propget, helpstring("property SubstreamTypes")] HRESULT SubstreamTypes([out, retval] long *pTypes); |
| [propput, helpstring("property SubstreamTypes")] HRESULT SubstreamTypes([in] long Types); |
| } |
| |
| [ |
| object, |
| uuid(3F4DC8E2-4050-11d3-8F4B-00C04F7971E2), |
| pointer_default(unique), |
| helpstring("Not supported - Use IBDA_IPSinkInfo instead") |
| ] |
| interface IBDA_IPSinkControl : IUnknown |
| { |
| HRESULT GetMulticastList([in, out] unsigned long *pulcbSize, [in, out] BYTE **pbBuffer); |
| HRESULT GetAdapterIPAddress ([in,out] unsigned long *pulcbSize, [in,out] BYTE **pbBuffer); |
| } |
| |
| [ |
| object, |
| uuid(A750108F-492E-4d51-95F7-649B23FF7AD7), |
| pointer_default(unique) |
| ] |
| interface IBDA_IPSinkInfo : IUnknown |
| { |
| HRESULT get_MulticastList([in, out] ULONG *pulcbAddresses, |
| [out, size_is(*pulcbAddresses)] BYTE **ppbAddressList); |
| HRESULT get_AdapterIPAddress([out] BSTR *pbstrBuffer); |
| HRESULT get_AdapterDescription([out] BSTR *pbstrBuffer); |
| } |
| |
| [ |
| object, |
| uuid (afb6c2a2-2c41-11d3-8a60-0000f81e0e4a), |
| pointer_default(unique) |
| ] |
| interface IEnumPIDMap : IUnknown |
| { |
| HRESULT Next([in] ULONG cRequest, |
| [in, out, size_is (cRequest)] PID_MAP *pPIDMap, |
| [out] ULONG *pcReceived); |
| HRESULT Skip([in] ULONG cRecords); |
| HRESULT Reset(void); |
| HRESULT Clone([out] IEnumPIDMap **ppIEnumPIDMap); |
| } |
| |
| [ |
| object, |
| uuid (afb6c2a1-2c41-11d3-8a60-0000f81e0e4a), |
| pointer_default(unique) |
| ] |
| interface IMPEG2PIDMap : IUnknown |
| { |
| HRESULT MapPID([in] ULONG culPID, |
| [in] ULONG *pulPID, |
| [in] MEDIA_SAMPLE_CONTENT MediaSampleContent); |
| HRESULT UnmapPID([in] ULONG culPID, [in] ULONG *pulPID); |
| HRESULT EnumPIDMap([out] IEnumPIDMap **pIEnumPIDMap); |
| } |
| |
| [ |
| object, |
| uuid(06FB45C1-693C-4ea7-B79F-7A6A54D8DEF2), |
| helpstring("IFrequencyMap Interface"), |
| pointer_default(unique), |
| hidden, restricted |
| ] |
| interface IFrequencyMap : IUnknown |
| { |
| HRESULT get_FrequencyMapping([out] ULONG *ulCount, [out, size_is(1, *ulCount)] ULONG **ppulList); |
| HRESULT put_FrequencyMapping([in] ULONG ulCount, [in, size_is(ulCount)] ULONG pList[]); |
| HRESULT get_CountryCode([out] ULONG *pulCountryCode); |
| HRESULT put_CountryCode([in] ULONG ulCountryCode); |
| HRESULT get_DefaultFrequencyMapping([in] ULONG ulCountryCode, |
| [out] ULONG *pulCount, |
| [out, size_is(1, *pulCount)] ULONG **ppulList); |
| HRESULT get_CountryCodeList([out] ULONG* pulCount, [out, size_is(1, *pulCount)] ULONG **ppulList); |
| } |
| |
| [ |
| object, |
| uuid(D806973D-3EBE-46de-8FBB-6358FE784208), |
| helpstring("IBDA_EasMessage Interface"), |
| pointer_default(unique), |
| hidden, restricted |
| ] |
| interface IBDA_EasMessage : IUnknown |
| { |
| HRESULT get_EasMessage([in] ULONG ulEventID, [in, out] IUnknown **ppEASObject); |
| } |
| |
| [ |
| object, |
| uuid(8E882535-5F86-47AB-86CF-C281A72A0549), |
| helpstring("IBDA_TransportStreamInfo Interface"), |
| pointer_default(unique), |
| hidden, restricted |
| ] |
| interface IBDA_TransportStreamInfo : IUnknown |
| { |
| HRESULT get_PatTableTickCount([out] ULONG *pPatTickCount); |
| } |
| |
| [ |
| object, |
| uuid(CD51F1E0-7BE9-4123-8482-A2A796C0A6B0), |
| helpstring("IBDA_ConditionalAccess Interface"), |
| pointer_default(unique) |
| ] |
| |
| interface IBDA_ConditionalAccess : IUnknown |
| { |
| HRESULT get_SmartCardStatus([out] SmartCardStatusType *pCardStatus, |
| [out] SmartCardAssociationType *pCardAssociation, |
| [out] BSTR *pbstrCardError, |
| [out] VARIANT_BOOL *pfOOBLocked); |
| HRESULT get_SmartCardInfo([out] BSTR *pbstrCardName, |
| [out] BSTR *pbstrCardManufacturer, |
| [out] VARIANT_BOOL *pfDaylightSavings, |
| [out] BYTE *pbyRatingRegion, |
| [out] LONG *plTimeZoneOffsetMinutes, |
| [out] BSTR *pbstrLanguage, |
| [out] EALocationCodeType *pEALocationCode); |
| HRESULT get_SmartCardApplications([in, out] ULONG *pulcApplications, |
| [in] ULONG ulcApplicationsMax, |
| [in, out, size_is(ulcApplicationsMax)] SmartCardApplication rgApplications[]); |
| HRESULT get_Entitlement([in] USHORT usVirtualChannel, [out] EntitlementType *pEntitlement); |
| HRESULT TuneByChannel([in] USHORT usVirtualChannel); |
| HRESULT SetProgram([in] USHORT usProgramNumber); |
| HRESULT AddProgram([in] USHORT usProgramNumber); |
| HRESULT RemoveProgram([in] USHORT usProgramNumber); |
| HRESULT GetModuleUI([in] BYTE byDialogNumber, [out] BSTR *pbstrURL); |
| HRESULT InformUIClosed([in] BYTE byDialogNumber, [in] UICloseReasonType CloseReason); |
| } |
| |
| [ |
| object, |
| uuid(20e80cb5-c543-4c1b-8eb3-49e719eee7d4), |
| helpstring("IBDA_DiagnosticProperties Interface"), |
| pointer_default(unique), |
| ] |
| interface IBDA_DiagnosticProperties : IPropertyBag |
| { |
| } |
| |
| [ |
| object, |
| uuid(F98D88B0-1992-4cd6-A6D9-B9AFAB99330D), |
| helpstring("IBDA_DRM Interface"), |
| pointer_default(unique), |
| ] |
| interface IBDA_DRM : IUnknown |
| { |
| HRESULT GetDRMPairingStatus([out] DWORD *pdwStatus, [out] HRESULT *phError); |
| HRESULT PerformDRMPairing(BOOL fSync); |
| } |
| |
| [ |
| object, |
| uuid(7F0B3150-7B81-4ad4-98E3-7E9097094301), |
| helpstring("IBDA_NameValueService Interface"), |
| pointer_default(unique) |
| ] |
| interface IBDA_NameValueService : IUnknown |
| { |
| HRESULT GetValueNameByIndex([in] ULONG ulIndex, [out] BSTR *pbstrName); |
| HRESULT GetValue([in] BSTR bstrName, [in] BSTR bstrLanguage, [out] BSTR *pbstrValue); |
| HRESULT SetValue([in] ULONG ulDialogRequest, [in] BSTR bstrLanguage, |
| [in] BSTR bstrName, [in] BSTR bstrValue, [in] ULONG ulReserved); |
| } |
| |
| [ |
| object, |
| uuid(497C3418-23CB-44ba-BB62-769F506FCEA7), |
| helpstring("IBDA_ConditionalAccessEx Interface"), |
| pointer_default(unique) |
| ] |
| interface IBDA_ConditionalAccessEx : IUnknown |
| { |
| HRESULT CheckEntitlementToken([in] ULONG ulDialogRequest, [in] BSTR bstrLanguage, |
| [in] BDA_CONDITIONALACCESS_REQUESTTYPE RequestType, |
| [in] ULONG ulcbEntitlementTokenLen, |
| [in, size_is(ulcbEntitlementTokenLen)] BYTE *pbEntitlementToken, |
| [out] ULONG *pulDescrambleStatus); |
| HRESULT SetCaptureToken([in] ULONG ulcbCaptureTokenLen, |
| [in, size_is(ulcbCaptureTokenLen)] BYTE *pbCaptureToken); |
| HRESULT OpenBroadcastMmi([in] ULONG ulDialogRequest, [in] BSTR bstrLanguage, [in] ULONG EventId); |
| HRESULT CloseMmiDialog([in] ULONG ulDialogRequest, [in] BSTR bstrLanguage, |
| [in] ULONG ulDialogNumber, [in] BDA_CONDITIONALACCESS_MMICLOSEREASON ReasonCode, |
| [out] ULONG *pulSessionResult); |
| HRESULT CreateDialogRequestNumber([out] ULONG *pulDialogRequestNumber); |
| } |
| |
| [ |
| object, |
| uuid(5E68C627-16C2-4e6c-B1E2-D00170CDAA0F), |
| helpstring("IBDA_ISDBConditionalAccess Interface"), |
| pointer_default(unique) |
| ] |
| interface IBDA_ISDBConditionalAccess : IUnknown |
| { |
| HRESULT SetIsdbCasRequest([in] ULONG ulRequestId, [in] ULONG ulcbRequestBufferLen, |
| [in, size_is(ulcbRequestBufferLen)] BYTE *pbRequestBuffer); |
| } |
| |
| [ |
| object, |
| uuid(207C413F-00DC-4c61-BAD6-6FEE1FF07064), |
| helpstring("IBDA_EventingService Interface"), |
| pointer_default(unique) |
| ] |
| interface IBDA_EventingService : IUnknown |
| { |
| HRESULT CompleteEvent([in] ULONG ulEventID, [in] ULONG ulEventResult); |
| } |
| |
| [ |
| object, |
| uuid(7DEf4C09-6E66-4567-A819-F0E17F4A81AB), |
| helpstring("IBDA_AUX Interface"), |
| pointer_default(unique) |
| ] |
| interface IBDA_AUX : IUnknown |
| { |
| HRESULT QueryCapabilities([out] DWORD *pdwNumAuxInputsBSTR); |
| HRESULT EnumCapability([in] DWORD dwIndex, [out] DWORD *dwInputID, [out] GUID *pConnectorType, |
| [out] DWORD *ConnTypeNum, [out] DWORD *NumVideoStds, |
| [out] ULONGLONG *AnalogStds); |
| } |
| |
| [ |
| object, |
| uuid(3a8bad59-59fe-4559-a0ba-396cfaa98ae3), |
| helpstring("IBDA_ Encoder Interface"), |
| pointer_default(unique) |
| ] |
| interface IBDA_Encoder : IUnknown |
| { |
| HRESULT QueryCapabilities([out] DWORD *NumAudioFmts, [out] DWORD *NumVideoFmts); |
| HRESULT EnumAudioCapability([in] DWORD FmtIndex, [out] DWORD *MethodID, |
| [out] DWORD *AlgorithmType, [out] DWORD *SamplingRate, |
| [out] DWORD *BitDepth, [out] DWORD *NumChannels); |
| HRESULT EnumVideoCapability([in] DWORD FmtIndex, [out] DWORD *MethodID, |
| [out] DWORD *AlgorithmType, [out] DWORD *VerticalSize, |
| [out] DWORD *HorizontalSize, [out] DWORD *AspectRatio, |
| [out] DWORD *FrameRateCode, [out] DWORD *ProgressiveSequence); |
| HRESULT SetParameters([in] DWORD AudioBitrateMode, [in] DWORD AudioBitrate, |
| [in] DWORD AudioMethodID, [in] DWORD AudioProgram, |
| [in] DWORD VideoBitrateMode, [in] DWORD VideoBitrate, |
| [in] DWORD VideoMethodID); |
| HRESULT GetState([out] DWORD *AudioBitrateMax, [out] DWORD *AudioBitrateMin, |
| [out] DWORD *AudioBitrateMode, [out] DWORD *AudioBitrateStepping, |
| [out] DWORD *AudioBitrate, [out] DWORD *AudioMethodID, |
| [out] DWORD *AvailableAudioPrograms, [out] DWORD *AudioProgram, |
| [out] DWORD *VideoBitrateMax, [out] DWORD *VideoBitrateMin, |
| [out] DWORD *VideoBitrateMode, [out] DWORD *VideoBitrate, |
| [out] DWORD *VideoBitrateStepping, [out] DWORD *VideoMethodID, |
| [out] DWORD *SignalSourceID, [out] ULONGLONG *SignalFormat, |
| [out] BOOL *SignalLock, [out] LONG *SignalLevel, |
| [out] DWORD *SignalToNoiseRatio); |
| } |
| |
| [ |
| object, |
| uuid(138adc7e-58ae-437f-b0b4-c9fe19d5b4ac), |
| helpstring("IBDA_ FDC Interface"), |
| pointer_default(unique) |
| ] |
| interface IBDA_FDC : IUnknown |
| { |
| HRESULT GetStatus([out] DWORD *CurrentBitrate, [out] BOOL *CarrierLock, |
| [out] DWORD *CurrentFrequency, [out] BOOL *CurrentSpectrumInversion, |
| [out] BSTR *CurrentPIDList, [out] BSTR *CurrentTIDList, [out] BOOL *Overflow); |
| HRESULT RequestTables([in] BSTR TableIDs); |
| HRESULT AddPid([in] BSTR PidsToAdd, [out] DWORD *RemainingFilterEntries); |
| HRESULT RemovePid([in] BSTR PidsToRemove); |
| HRESULT AddTid([in] BSTR TidsToAdd, [out] BSTR *CurrentTidList); |
| HRESULT RemoveTid([in] BSTR TidsToRemove); |
| HRESULT GetTableSection([out] DWORD *Pid, [in] DWORD MaxBufferSize, |
| [out] DWORD *ActualSize, [out] BYTE *SecBuffer); |
| } |
| |
| [ |
| object, |
| uuid(C0AFCB73-23E7-4bc6-BAFA-FDC167B4719F), |
| helpstring("IBDA_ GuideDataDeliveryService Interface"), |
| pointer_default(unique) |
| ] |
| interface IBDA_GuideDataDeliveryService: IUnknown |
| { |
| HRESULT GetGuideDataType([out] GUID *pguidDataType); |
| HRESULT GetGuideData([in, out] ULONG *pulcbBufferLen, [out] BYTE *pbBuffer, |
| [out] ULONG *pulGuideDataPercentageProgress); |
| HRESULT RequestGuideDataUpdate(void); |
| HRESULT GetTuneXmlFromServiceIdx([in] ULONG64 ul64ServiceIdx, [out] BSTR *pbstrTuneXml); |
| HRESULT GetServices([in, out] ULONG *pulcbBufferLen, [out] BYTE *pbBuffer); |
| HRESULT GetServiceInfoFromTuneXml([in] BSTR bstrTuneXml, [out] BSTR *pbstrServiceDescription); |
| } |
| |
| [ |
| object, |
| uuid(BFF6B5BB-B0AE-484c-9DCA-73528FB0B46E), |
| helpstring("IBDA_DRMService Interface"), |
| pointer_default(unique) |
| ] |
| interface IBDA_DRMService: IUnknown |
| { |
| HRESULT SetDRM([in] GUID *puuidNewDrm); |
| HRESULT GetDRMStatus([out] BSTR *pbstrDrmUuidList, [out] GUID *DrmUuid); |
| } |
| |
| [ |
| object, |
| uuid(4BE6FA3D-07CD-4139-8B80-8C18BA3AEC88), |
| helpstring("IBDA_WMDRMSession Interface"), |
| pointer_default(unique) |
| ] |
| interface IBDA_WMDRMSession: IUnknown |
| { |
| HRESULT GetStatus([out] ULONG *MaxCaptureToken, [out] ULONG *MaxStreamingPid, |
| [out] ULONG *MaxLicense, [out] ULONG *MinSecurityLevel, |
| [out] ULONG *RevInfoSequenceNumber, [out] ULONGLONG *RevInfoIssuedTime, |
| [out] ULONG *RevInfoTTL, [out] ULONG *RevListVersion, [out] ULONG *ulState); |
| HRESULT SetRevInfo([in] ULONG ulRevInfoLen, [in, size_is(ulRevInfoLen)] BYTE* pbRevInfo); |
| HRESULT SetCrl([in] ULONG ulCrlLen, [in, size_is(ulCrlLen)] BYTE *pbCrlLen); |
| HRESULT TransactMessage([in] ULONG ulcbRequest, [in, size_is(ulcbRequest)] BYTE *pbRequest, |
| [in, out] ULONG *pulcbResponse, [in, out] BYTE *pbResponse); |
| HRESULT GetLicense([in] GUID *uuidKey, [in, out] ULONG *pulPackageLen, [in, out] BYTE *pbPackage); |
| HRESULT ReissueLicense([in] GUID *uuidKey); |
| HRESULT RenewLicense([in] ULONG ulInXmrLicenseLen, |
| [in, size_is(ulInXmrLicenseLen)] BYTE *pbInXmrLicense, |
| [in] ULONG ulEntitlementTokenLen, |
| [in, size_is(ulEntitlementTokenLen)] BYTE *pbEntitlementToken, |
| [out] ULONG *pulDescrambleStatus, [in, out] ULONG *pulOutXmrLicenseLen, |
| [in, out] BYTE *pbOutXmrLicense); |
| HRESULT GetKeyInfo([in, out] ULONG *pulKeyInfoLen, [in, out] BYTE *pbKeyInfo); |
| } |
| |
| [ |
| object, |
| uuid(86D979CF-A8A7-4f94-B5FB-14C0ACA68FE6), |
| helpstring("IBDA_WMDRMTuner Interface"), |
| pointer_default(unique) |
| ] |
| interface IBDA_WMDRMTuner: IUnknown |
| { |
| HRESULT PurchaseEntitlement([in] ULONG ulDialogRequest, [in] BSTR bstrLanguage, |
| [in] ULONG ulPurchaseTokenLen, |
| [in, size_is(ulPurchaseTokenLen)] BYTE *pbPurchaseToken, |
| [out] ULONG *pulDescrambleStatus, |
| [in, out] ULONG *pulCaptureTokenLen, |
| [in, out] BYTE *pbCaptureToken); |
| HRESULT CancelCaptureToken([in] ULONG ulCaptureTokenLen, |
| [in, size_is(ulCaptureTokenLen)] BYTE *pbCaptureToken); |
| HRESULT SetPidProtection([in] ULONG ulPid, [in] GUID *uuidKey); |
| HRESULT GetPidProtection([in] ULONG pulPid, [out] GUID *uuidKey); |
| HRESULT SetSyncValue([in] ULONG ulSyncValue); |
| HRESULT GetStartCodeProfile([in, out] ULONG *pulStartCodeProfileLen, |
| [in, out] BYTE *pbStartCodeProfile); |
| } |
| |
| [ |
| object, |
| uuid(1F9BC2A5-44A3-4c52-AAB1-0BBCE5A1381D), |
| helpstring("IBDA_DRIDRMService Interface"), |
| pointer_default(unique) |
| ] |
| interface IBDA_DRIDRMService: IUnknown |
| { |
| HRESULT SetDRM([in] BSTR bstrNewDrm); |
| HRESULT GetDRMStatus([out] BSTR *pbstrDrmUuidList, [out] GUID *DrmUuid); |
| HRESULT GetPairingStatus([in, out] BDA_DrmPairingError *penumPairingStatus); |
| } |
| |
| [ |
| object, |
| uuid(05C690F8-56DB-4bb2-B053-79C12098BB26), |
| helpstring("IBDA_DRIWMDRMSession Interface"), |
| pointer_default(unique) |
| ] |
| interface IBDA_DRIWMDRMSession: IUnknown |
| { |
| HRESULT AcknowledgeLicense([in] HRESULT hrLicenseAck); |
| HRESULT ProcessLicenseChallenge([in] DWORD dwcbLicenseMessage, |
| [in, size_is(dwcbLicenseMessage)] BYTE *pbLicenseMessage, |
| [in, out] DWORD *pdwcbLicenseResponse, |
| [in, out, size_is(* pdwcbLicenseResponse)] BYTE **ppbLicenseResponse); |
| HRESULT ProcessRegistrationChallenge([in] DWORD dwcbRegistrationMessage, |
| [in, size_is(dwcbRegistrationMessage)] BYTE *pbRegistrationMessage, |
| [in, out] DWORD *pdwcbRegistrationResponse, |
| [in, out] BYTE **ppbRegistrationResponse); |
| HRESULT SetRevInfo([in] DWORD dwRevInfoLen, [in, size_is(dwRevInfoLen)] BYTE *pbRevInfo, |
| [in, out] DWORD *pdwResponse); |
| HRESULT SetCrl([in] DWORD dwCrlLen, [in, size_is(dwCrlLen)] BYTE *pbCrlLen, |
| [in, out] DWORD *pdwResponse); |
| HRESULT GetHMSAssociationData(void); |
| HRESULT GetLastCardeaError([in, out] DWORD *pdwError); |
| } |
| |
| [ |
| object, |
| uuid(942AAFEC-4C05-4c74-B8EB-8706C2A4943F), |
| helpstring("IBDA_MUX Interface"), |
| pointer_default(unique) |
| ] |
| interface IBDA_MUX: IUnknown |
| { |
| HRESULT SetPidList([in] ULONG ulPidListCount, |
| [in, size_is(ulPidListCount)] BDA_MUX_PIDLISTITEM *pbPidListBuffer); |
| HRESULT GetPidList([in, out] ULONG *pulPidListCount, |
| [in, out] BDA_MUX_PIDLISTITEM *pbPidListBuffer); |
| } |
| |
| [ |
| object, |
| uuid(1DCFAFE9-B45E-41b3-BB2A-561EB129AE98), |
| helpstring("IBDA_TransportStreamSelector Interface"), |
| pointer_default(unique) |
| ] |
| interface IBDA_TransportStreamSelector : IUnknown |
| { |
| HRESULT SetTSID([in] USHORT usTSID); |
| HRESULT GetTSInformation([in, out] ULONG *pulTSInformationBufferLen, |
| [out, size_is(*pulTSInformationBufferLen)] BYTE *pbTSInformationBuffer); |
| } |
| |
| [ |
| object, |
| uuid(53B14189-E478-4b7a-A1FF-506DB4B99DFE), |
| helpstring("IBDA_UserActivityService Interface"), |
| pointer_default(unique) |
| ] |
| interface IBDA_UserActivityService: IUnknown |
| { |
| HRESULT SetCurrentTunerUseReason([in] DWORD dwUseReason); |
| HRESULT GetUserActivityInterval([out] DWORD *pdwActivityInterval); |
| HRESULT UserActivityDetected(void); |
| } |