#ifndef DO_NO_IMPORTS import "unknwn.idl"; import "strmif.idl"; import "bdatypes.h"; #endif /************************************************************ * interface IBDA_NetworkProvider */ [ 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); } /************************************************************ * interface IBDA_EthernetFilter */ [ 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] BYTE * pAddressList); HRESULT GetMulticastList( [in, out] ULONG * pulcbAddresses, [out] BYTE * pAddressList); HRESULT PutMulticastMode( [in] ULONG ulModeMask); HRESULT GetMulticastMode( [out] ULONG * pulModeMask); } /************************************************************ * interface IBDA_IPV4Filter */ [ 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] BYTE * pAddressList); HRESULT GetMulticastList( [in, out] ULONG * pulcbAddresses, [out] BYTE * pAddressList); HRESULT PutMulticastMode( [in] ULONG ulModeMask); HRESULT GetMulticastMode( [out] ULONG * pulModeMask); } /************************************************************ * interface IBDA_IPV6Filter */ [ 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] BYTE * pAddressList); HRESULT GetMulticastList( [in, out] ULONG * pulcbAddresses, [out] BYTE * pAddressList); HRESULT PutMulticastMode( [in] ULONG ulModeMask); HRESULT GetMulticastMode( [out] ULONG * pulModeMask); } /************************************************************ * interface IBDA_DeviceControl */ [ 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); } /************************************************************ * interface IBDA_PinControl */ [ 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); } /************************************************************ * interface IBDA_SignalProperties */ [ 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); } /************************************************************ * interface IBDA_SignalStatistics */ [ 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); } /************************************************************ * interface IBDA_Topology */ [ 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] ULONG * rgulNodeTypes); HRESULT GetNodeDescriptors( [in, out] ULONG * ulcNodeDescriptors, [in] ULONG ulcNodeDescriptorsMax, [in, out] BDANODE_DESCRIPTOR * rgNodeDescriptors); HRESULT GetNodeInterfaces( [in] ULONG ulNodeType, [in, out] ULONG * pulcInterfaces, [in] ULONG ulcInterfacesMax, [in, out] GUID * rgguidInterfaces); HRESULT GetPinTypes( [in, out] ULONG * pulcPinTypes, [in] ULONG ulcPinTypesMax, [in, out] ULONG * rgulPinTypes); HRESULT GetTemplateConnections( [in, out] ULONG * pulcConnections, [in] ULONG ulcConnectionsMax, [in, out, ] 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); } /************************************************************ * interface IBDA_VoidTransform */ [ object, uuid(71985F46-1CA1-11d3-9CC8-00C04F7971E0), pointer_default(unique) ] interface IBDA_VoidTransform : IUnknown { HRESULT Start(); HRESULT Stop(); } /************************************************************ * interface IBDA_NullTransform */ [ object, uuid(DDF15B0D-BD25-11d2-9CA0-00C04F7971E0), pointer_default(unique) ] interface IBDA_NullTransform : IUnknown { HRESULT Start(); HRESULT Stop(); } /************************************************************ * interface IBDA_FrequencyFilter */ [ 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); } /************************************************************ * interface IBDA_LNBInfo */ [ 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); } /************************************************************ * interface IBDA_AutoDemodulate */ [ object, uuid(DDF15B12-BD25-11d2-9CA0-00C04F7971E0), pointer_default(unique) ] interface IBDA_AutoDemodulate : IUnknown { HRESULT put_AutoDemodulate(); } /************************************************************ * interface IBDA_DigitalDemodulator */ [ 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); } typedef enum { KSPROPERTY_IPSINK_MULTICASTLIST, KSPROPERTY_IPSINK_ADAPTER_DESCRIPTION, KSPROPERTY_IPSINK_ADAPTER_ADDRESS }KSPROPERTY_IPSINK; /************************************************************ * interface IBDA_IPSinkControl */ [ object, uuid(3F4DC8E2-4050-11d3-8F4B-00C04F7971E2), pointer_default(unique), ] 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); } /************************************************************ * interface IBDA_IPSinkInfo */ [ object, uuid(A750108F-492E-4d51-95F7-649B23FF7AD7), pointer_default(unique) ] interface IBDA_IPSinkInfo : IUnknown { HRESULT get_MulticastList( [in, out] ULONG * pulcbAddresses, [out] BYTE **ppbAddressList); HRESULT get_AdapterIPAddress( [out] BSTR *pbstrBuffer); HRESULT get_AdapterDescription( [out] BSTR *pbstrBuffer); } /************************************************************ * interface IEnumPIDMap */ [ object, uuid(afb6c2a2-2c41-11d3-8a60-0000f81e0e4a), pointer_default(unique) ] interface IEnumPIDMap : IUnknown { HRESULT Next( [in] ULONG cRequest, [in, out] PID_MAP * pPIDMap, [out] ULONG * pcReceived); HRESULT Skip( [in] ULONG cRecords); HRESULT Reset(); HRESULT Clone( [out] IEnumPIDMap ** ppIEnumPIDMap); } ; /************************************************************ * interface IMPEG2PIDMap */ [ 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); } ; /************************************************************ * interface IFrequencyMap */ [ object, uuid(06FB45C1-693C-4ea7-B79F-7A6A54D8DEF2), pointer_default(unique), ] interface IFrequencyMap : IUnknown { HRESULT get_FrequencyMapping( [out] ULONG* ulCount, [out] ULONG** ppulList); HRESULT put_FrequencyMapping( [in] ULONG ulCount, [in] ULONG *pList); HRESULT get_CountryCode([out] ULONG *pulCountryCode); HRESULT put_CountryCode( [in] ULONG ulCountryCode); HRESULT get_DefaultFrequencyMapping( [in] ULONG ulCountryCode, [out] ULONG* pulCount, [out] ULONG** ppulList); HRESULT get_CountryCodeList( [out] ULONG* pulCount, [out] ULONG** ppulList); };