2010-02-23 17:40:34 +00:00
/*
* COPYRIGHT : See COPYING in the top level directory
* PROJECT : ReactOS BDA Proxy
* FILE : dll / directx / bdaplgin / classfactory . cpp
* PURPOSE : ClassFactory interface
*
* PROGRAMMERS : Johannes Anderwald ( janderwald @ reactos . org )
*/
# include "precomp.h"
2010-02-24 18:37:07 +00:00
const GUID IID_IKsObject = { 0x423c13a2 , 0x2070 , 0x11d0 , { 0x9e , 0xf7 , 0x00 , 0xaa , 0x00 , 0xa2 , 0x16 , 0xa1 } } ;
2010-03-24 16:04:44 +00:00
# ifndef _MSC_VER
const GUID CLSID_DVBTNetworkProvider = { 0x216c62df , 0x6d7f , 0x4e9a , { 0x85 , 0x71 , 0x5 , 0xf1 , 0x4e , 0xdb , 0x76 , 0x6a } } ;
2010-02-24 18:37:07 +00:00
const GUID KSPROPSETID_BdaTopology = { 0xa14ee835 , 0x0a23 , 0x11d3 , { 0x9c , 0xc7 , 0x0 , 0xc0 , 0x4f , 0x79 , 0x71 , 0xe0 } } ;
const GUID KSMETHODSETID_BdaDeviceConfiguration = { 0x71985f45 , 0x1ca1 , 0x11d3 , { 0x9c , 0xc8 , 0x0 , 0xc0 , 0x4f , 0x79 , 0x71 , 0xe0 } } ;
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
const GUID KSMETHODSETID_BdaChangeSync = { 0xfd0a5af3 , 0xb41d , 0x11d2 , { 0x9c , 0x95 , 0x0 , 0xc0 , 0x4f , 0x79 , 0x71 , 0xe0 } } ;
2010-03-24 16:04:44 +00:00
const GUID IID_IBaseFilter = { 0x56a86895 , 0x0ad4 , 0x11ce , { 0xb0 , 0x3a , 0x00 , 0x20 , 0xaf , 0x0b , 0xa7 , 0x70 } } ;
const GUID IID_IAsyncReader = { 0x56A868AA , 0x0AD4 , 0x11CE , { 0xB0 , 0x3A , 0x00 , 0x20 , 0xAF , 0x0B , 0xA7 , 0x70 } } ;
const GUID IID_IAMOpenProgress = { 0x8E1C39A1 , 0xDE53 , 0x11cf , { 0xAA , 0x63 , 0x00 , 0x80 , 0xC7 , 0x44 , 0x52 , 0x8D } } ;
const GUID IID_IBDA_Topology = { 0x79B56888 , 0x7FEA , 0x4690 , { 0xB4 , 0x5D , 0x38 , 0xFD , 0x3C , 0x78 , 0x49 , 0xBE } } ;
const GUID IID_IBDA_NetworkProvider = { 0xfd501041 , 0x8ebe , 0x11ce , { 0x81 , 0x83 , 0x00 , 0xaa , 0x00 , 0x57 , 0x7d , 0xa2 } } ;
const GUID IID_IBDA_DeviceControl = { 0xFD0A5AF3 , 0xB41D , 0x11d2 , { 0x9C , 0x95 , 0x00 , 0xC0 , 0x4F , 0x79 , 0x71 , 0xE0 } } ;
const GUID IID_IDistributorNotify = { 0x56a868af , 0x0ad4 , 0x11ce , { 0xb0 , 0x3a , 0x00 , 0x20 , 0xaf , 0x0b , 0xa7 , 0x70 } } ;
# endif
2010-02-23 17:40:34 +00:00
class CBDADeviceControl : public IBDA_DeviceControl ,
public IBDA_Topology
{
public :
STDMETHODIMP QueryInterface ( REFIID InterfaceId , PVOID * Interface ) ;
STDMETHODIMP_ ( ULONG ) AddRef ( )
{
InterlockedIncrement ( & m_Ref ) ;
return m_Ref ;
}
STDMETHODIMP_ ( ULONG ) Release ( )
{
InterlockedDecrement ( & m_Ref ) ;
if ( ! m_Ref )
{
delete this ;
return 0 ;
}
return m_Ref ;
}
// IBDA_DeviceControl methods
HRESULT STDMETHODCALLTYPE StartChanges ( void ) ;
HRESULT STDMETHODCALLTYPE CheckChanges ( void ) ;
HRESULT STDMETHODCALLTYPE CommitChanges ( void ) ;
HRESULT STDMETHODCALLTYPE GetChangeState ( ULONG * pState ) ;
// IBDA_Topology methods
HRESULT STDMETHODCALLTYPE GetNodeTypes ( ULONG * pulcNodeTypes , ULONG ulcNodeTypesMax , ULONG * rgulNodeTypes ) ;
HRESULT STDMETHODCALLTYPE GetNodeDescriptors ( ULONG * ulcNodeDescriptors , ULONG ulcNodeDescriptorsMax , BDANODE_DESCRIPTOR * rgNodeDescriptors ) ;
HRESULT STDMETHODCALLTYPE GetNodeInterfaces ( ULONG ulNodeType , ULONG * pulcInterfaces , ULONG ulcInterfacesMax , GUID * rgguidInterfaces ) ;
HRESULT STDMETHODCALLTYPE GetPinTypes ( ULONG * pulcPinTypes , ULONG ulcPinTypesMax , ULONG * rgulPinTypes ) ;
HRESULT STDMETHODCALLTYPE GetTemplateConnections ( ULONG * pulcConnections , ULONG ulcConnectionsMax , BDA_TEMPLATE_CONNECTION * rgConnections ) ;
HRESULT STDMETHODCALLTYPE CreatePin ( ULONG ulPinType , ULONG * pulPinId ) ;
HRESULT STDMETHODCALLTYPE DeletePin ( ULONG ulPinId ) ;
HRESULT STDMETHODCALLTYPE SetMediaType ( ULONG ulPinId , AM_MEDIA_TYPE * pMediaType ) ;
HRESULT STDMETHODCALLTYPE SetMedium ( ULONG ulPinId , REGPINMEDIUM * pMedium ) ;
HRESULT STDMETHODCALLTYPE CreateTopology ( ULONG ulInputPinId , ULONG ulOutputPinId ) ;
HRESULT STDMETHODCALLTYPE GetControlNode ( ULONG ulInputPinId , ULONG ulOutputPinId , ULONG ulNodeType , IUnknown * * ppControlNode ) ;
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
CBDADeviceControl ( IUnknown * pUnkOuter , IBaseFilter * pFilter , HANDLE hFile ) : m_Ref ( 0 ) , m_pUnkOuter ( pUnkOuter ) , m_Handle ( hFile ) , m_pFilter ( pFilter ) { } ;
2010-02-23 17:40:34 +00:00
virtual ~ CBDADeviceControl ( ) { } ;
protected :
LONG m_Ref ;
2010-02-24 18:37:07 +00:00
IUnknown * m_pUnkOuter ;
2010-02-23 17:40:34 +00:00
HANDLE m_Handle ;
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
IBaseFilter * m_pFilter ;
2010-02-23 17:40:34 +00:00
} ;
HRESULT
STDMETHODCALLTYPE
CBDADeviceControl : : QueryInterface (
IN REFIID refiid ,
OUT PVOID * Output )
{
* Output = NULL ;
if ( IsEqualGUID ( refiid , IID_IUnknown ) )
{
* Output = PVOID ( this ) ;
reinterpret_cast < IUnknown * > ( * Output ) - > AddRef ( ) ;
return NOERROR ;
}
if ( IsEqualGUID ( refiid , IID_IBDA_DeviceControl ) )
{
* Output = ( IBDA_DeviceControl * ) ( this ) ;
reinterpret_cast < IBDA_DeviceControl * > ( * Output ) - > AddRef ( ) ;
return NOERROR ;
}
if ( IsEqualGUID ( refiid , IID_IBDA_Topology ) )
{
* Output = ( IBDA_Topology * ) ( this ) ;
reinterpret_cast < IBDA_Topology * > ( * Output ) - > AddRef ( ) ;
return NOERROR ;
}
2010-02-25 16:14:54 +00:00
2010-02-23 17:40:34 +00:00
return E_NOINTERFACE ;
}
//-------------------------------------------------------------------
// IBDA_DeviceControl methods
//
HRESULT
STDMETHODCALLTYPE
CBDADeviceControl : : StartChanges ( void )
{
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
KSMETHOD Method ;
HRESULT hr ;
ULONG BytesReturned ;
/* setup request */
Method . Set = KSMETHODSETID_BdaChangeSync ;
Method . Id = KSMETHOD_BDA_START_CHANGES ;
Method . Flags = KSMETHOD_TYPE_NONE ;
/* execute request */
hr = KsSynchronousDeviceControl ( m_Handle , IOCTL_KS_METHOD , ( PVOID ) & Method , sizeof ( KSMETHOD ) , NULL , 0 , & BytesReturned ) ;
# ifdef BDAPLGIN_TRACE
WCHAR Buffer [ 100 ] ;
swprintf ( Buffer , L " CBDADeviceControl::StartChanges: hr %lx, BytesReturned %lu \n " , hr , BytesReturned ) ;
OutputDebugStringW ( Buffer ) ;
# endif
return hr ;
2010-02-23 17:40:34 +00:00
}
HRESULT
STDMETHODCALLTYPE
CBDADeviceControl : : CheckChanges ( void )
{
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
KSMETHOD Method ;
HRESULT hr ;
ULONG BytesReturned ;
/* setup request */
Method . Set = KSMETHODSETID_BdaChangeSync ;
Method . Id = KSMETHOD_BDA_CHECK_CHANGES ;
Method . Flags = KSMETHOD_TYPE_NONE ;
/* execute request */
hr = KsSynchronousDeviceControl ( m_Handle , IOCTL_KS_METHOD , ( PVOID ) & Method , sizeof ( KSMETHOD ) , NULL , 0 , & BytesReturned ) ;
# ifdef BDAPLGIN_TRACE
WCHAR Buffer [ 100 ] ;
swprintf ( Buffer , L " CBDADeviceControl::CheckChanges: hr %lx, BytesReturned %lu \n " , hr , BytesReturned ) ;
OutputDebugStringW ( Buffer ) ;
# endif
return hr ;
2010-02-23 17:40:34 +00:00
}
HRESULT
STDMETHODCALLTYPE
CBDADeviceControl : : CommitChanges ( void )
{
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
KSMETHOD Method ;
HRESULT hr ;
ULONG BytesReturned ;
/* setup request */
Method . Set = KSMETHODSETID_BdaChangeSync ;
Method . Id = KSMETHOD_BDA_COMMIT_CHANGES ;
Method . Flags = KSMETHOD_TYPE_NONE ;
/* execute request */
hr = KsSynchronousDeviceControl ( m_Handle , IOCTL_KS_METHOD , ( PVOID ) & Method , sizeof ( KSMETHOD ) , NULL , 0 , & BytesReturned ) ;
# ifdef BDAPLGIN_TRACE
WCHAR Buffer [ 100 ] ;
swprintf ( Buffer , L " CBDADeviceControl::CommitChanges: hr %lx, BytesReturned %lu \n " , hr , BytesReturned ) ;
OutputDebugStringW ( Buffer ) ;
# endif
return hr ;
2010-02-23 17:40:34 +00:00
}
HRESULT
STDMETHODCALLTYPE
CBDADeviceControl : : GetChangeState ( ULONG * pState )
{
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
if ( pState )
{
* pState = BDA_CHANGES_COMPLETE ;
return S_OK ;
}
else
{
return E_POINTER ;
}
2010-02-23 17:40:34 +00:00
}
//-------------------------------------------------------------------
// IBDA_Topology methods
//
HRESULT
STDMETHODCALLTYPE
CBDADeviceControl : : GetNodeTypes ( ULONG * pulcNodeTypes , ULONG ulcNodeTypesMax , ULONG * rgulNodeTypes )
{
2010-02-24 18:37:07 +00:00
KSPROPERTY Property ;
HRESULT hr ;
ULONG BytesReturned ;
// setup request
Property . Set = KSPROPSETID_BdaTopology ;
Property . Id = KSPROPERTY_BDA_NODE_TYPES ;
Property . Flags = KSPROPERTY_TYPE_GET ;
// perform request
hr = KsSynchronousDeviceControl ( m_Handle , IOCTL_KS_PROPERTY , ( PVOID ) & Property , sizeof ( KSPROPERTY ) , rgulNodeTypes , sizeof ( ULONG ) * ulcNodeTypesMax , & BytesReturned ) ;
* pulcNodeTypes = ( BytesReturned / sizeof ( ULONG ) ) ;
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
# ifdef BDAPLGIN_TRACE
WCHAR Buffer [ 100 ] ;
2010-02-24 18:37:07 +00:00
swprintf ( Buffer , L " CBDADeviceControl::GetNodeTypes: hr %lx, BytesReturned %lu \n " , hr , BytesReturned ) ;
OutputDebugStringW ( Buffer ) ;
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
if ( SUCCEEDED ( hr ) )
{
for ( ULONG Index = 0 ; Index < * pulcNodeTypes ; Index + + )
{
swprintf ( Buffer , L " CBDADeviceControl::GetPinTypes: Index %lu Value %lx \n " , Index , rgulNodeTypes [ Index ] ) ;
OutputDebugStringW ( Buffer ) ;
}
}
# endif
2010-02-24 18:37:07 +00:00
return hr ;
2010-02-23 17:40:34 +00:00
}
HRESULT
STDMETHODCALLTYPE
CBDADeviceControl : : GetNodeDescriptors ( ULONG * ulcNodeDescriptors , ULONG ulcNodeDescriptorsMax , BDANODE_DESCRIPTOR * rgNodeDescriptors )
{
2010-02-24 18:37:07 +00:00
KSPROPERTY Property ;
HRESULT hr ;
ULONG BytesReturned ;
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
2010-02-24 18:37:07 +00:00
// setup request
Property . Set = KSPROPSETID_BdaTopology ;
Property . Id = KSPROPERTY_BDA_NODE_DESCRIPTORS ;
Property . Flags = KSPROPERTY_TYPE_GET ;
// perform request
hr = KsSynchronousDeviceControl ( m_Handle , IOCTL_KS_PROPERTY , ( PVOID ) & Property , sizeof ( KSPROPERTY ) , rgNodeDescriptors , sizeof ( BDANODE_DESCRIPTOR ) * ulcNodeDescriptorsMax , & BytesReturned ) ;
* ulcNodeDescriptors = ( BytesReturned / sizeof ( BDANODE_DESCRIPTOR ) ) ;
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
# ifdef BDAPLGIN_TRACE
WCHAR Buffer [ 1000 ] ;
2010-02-24 18:37:07 +00:00
swprintf ( Buffer , L " CBDADeviceControl::GetNodeDescriptors: hr %lx, BytesReturned %lu \n " , hr , BytesReturned ) ;
OutputDebugStringW ( Buffer ) ;
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
if ( SUCCEEDED ( hr ) )
{
for ( ULONG Index = 0 ; Index < min ( * ulcNodeDescriptors , ulcNodeDescriptorsMax ) ; Index + + )
{
LPOLESTR pGUIDFunction , pGUIDName ;
StringFromCLSID ( rgNodeDescriptors [ Index ] . guidFunction , & pGUIDFunction ) ;
StringFromCLSID ( rgNodeDescriptors [ Index ] . guidName , & pGUIDName ) ;
swprintf ( Buffer , L " CBDADeviceControl::GetPinTypes: Index %lu Value %lx \n Function %s \n Name %s \n ----- \n " , Index , rgNodeDescriptors [ Index ] . ulBdaNodeType , pGUIDFunction , pGUIDName ) ;
OutputDebugStringW ( Buffer ) ;
}
}
# endif
2010-02-24 18:37:07 +00:00
return hr ;
2010-02-23 17:40:34 +00:00
}
HRESULT
STDMETHODCALLTYPE
CBDADeviceControl : : GetNodeInterfaces ( ULONG ulNodeType , ULONG * pulcInterfaces , ULONG ulcInterfacesMax , GUID * rgguidInterfaces )
{
2010-02-24 18:37:07 +00:00
KSP_NODE Property ;
HRESULT hr ;
ULONG BytesReturned ;
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
2010-02-24 18:37:07 +00:00
// setup request
Property . Property . Set = KSPROPSETID_BdaTopology ;
Property . Property . Id = KSPROPERTY_BDA_NODE_PROPERTIES ;
Property . Property . Flags = KSPROPERTY_TYPE_GET ;
Property . NodeId = ulNodeType ;
Property . Reserved = 0 ;
// perform request
hr = KsSynchronousDeviceControl ( m_Handle , IOCTL_KS_PROPERTY , ( PVOID ) & Property , sizeof ( KSP_NODE ) , rgguidInterfaces , sizeof ( GUID ) * ulcInterfacesMax , & BytesReturned ) ;
* pulcInterfaces = ( BytesReturned / sizeof ( GUID ) ) ;
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
# ifdef BDAPLGIN_TRACE
WCHAR Buffer [ 100 ] ;
swprintf ( Buffer , L " CBDADeviceControl::GetNodeInterfaces: hr %lx, BytesReturned %lu ulNodeType %lu \n " , hr , BytesReturned , ulNodeType ) ;
2010-02-24 18:37:07 +00:00
OutputDebugStringW ( Buffer ) ;
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
if ( SUCCEEDED ( hr ) )
{
for ( ULONG Index = 0 ; Index < min ( * pulcInterfaces , ulcInterfacesMax ) ; Index + + )
{
LPOLESTR pstr ;
StringFromCLSID ( rgguidInterfaces [ Index ] , & pstr ) ;
swprintf ( Buffer , L " CBDADeviceControl::GetNodeInterfaces: Index %lu Name %s \n " , Index , pstr ) ;
OutputDebugStringW ( Buffer ) ;
}
}
# endif
2010-02-24 18:37:07 +00:00
return hr ;
2010-02-23 17:40:34 +00:00
}
HRESULT
STDMETHODCALLTYPE
CBDADeviceControl : : GetPinTypes ( ULONG * pulcPinTypes , ULONG ulcPinTypesMax , ULONG * rgulPinTypes )
{
2010-02-24 18:37:07 +00:00
KSPROPERTY Property ;
HRESULT hr ;
ULONG BytesReturned ;
// setup request
Property . Set = KSPROPSETID_BdaTopology ;
Property . Id = KSPROPERTY_BDA_PIN_TYPES ;
Property . Flags = KSPROPERTY_TYPE_GET ;
// perform request
hr = KsSynchronousDeviceControl ( m_Handle , IOCTL_KS_PROPERTY , ( PVOID ) & Property , sizeof ( KSPROPERTY ) , rgulPinTypes , sizeof ( ULONG ) * ulcPinTypesMax , & BytesReturned ) ;
* pulcPinTypes = ( BytesReturned / sizeof ( ULONG ) ) ;
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
# ifdef BDAPLGIN_TRACE
WCHAR Buffer [ 100 ] ;
2010-02-24 18:37:07 +00:00
swprintf ( Buffer , L " CBDADeviceControl::GetPinTypes: hr %lx, BytesReturned %lu \n " , hr , BytesReturned ) ;
OutputDebugStringW ( Buffer ) ;
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
if ( SUCCEEDED ( hr ) )
{
for ( ULONG Index = 0 ; Index < * pulcPinTypes ; Index + + )
{
swprintf ( Buffer , L " CBDADeviceControl::GetPinTypes: Index %lu Value %lx \n " , Index , rgulPinTypes [ Index ] ) ;
OutputDebugStringW ( Buffer ) ;
}
}
# endif
2010-02-24 18:37:07 +00:00
return hr ;
2010-02-23 17:40:34 +00:00
}
HRESULT
STDMETHODCALLTYPE
CBDADeviceControl : : GetTemplateConnections ( ULONG * pulcConnections , ULONG ulcConnectionsMax , BDA_TEMPLATE_CONNECTION * rgConnections )
{
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
# ifdef BDAPLGIN_TRACE
2010-02-23 17:40:34 +00:00
OutputDebugStringW ( L " CBDADeviceControl::GetTemplateConnections: NotImplemented \n " ) ;
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
# endif
2010-02-23 17:40:34 +00:00
return E_NOTIMPL ;
}
HRESULT
STDMETHODCALLTYPE
CBDADeviceControl : : CreatePin ( ULONG ulPinType , ULONG * pulPinId )
{
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
# ifdef BDAPLGIN_TRACE
2010-02-23 17:40:34 +00:00
OutputDebugStringW ( L " CBDADeviceControl::CreatePin: NotImplemented \n " ) ;
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
# endif
2010-02-23 17:40:34 +00:00
return E_NOTIMPL ;
}
HRESULT
STDMETHODCALLTYPE
CBDADeviceControl : : DeletePin ( ULONG ulPinId )
{
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
# ifdef BDAPLGIN_TRACE
2010-02-23 17:40:34 +00:00
OutputDebugStringW ( L " CBDADeviceControl::DeletePin: NotImplemented \n " ) ;
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
# endif
2010-02-23 17:40:34 +00:00
return E_NOTIMPL ;
}
HRESULT
STDMETHODCALLTYPE
CBDADeviceControl : : SetMediaType ( ULONG ulPinId , AM_MEDIA_TYPE * pMediaType )
{
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
# ifdef BDAPLGIN_TRACE
2010-02-23 17:40:34 +00:00
OutputDebugStringW ( L " CBDADeviceControl::SetMediaType: NotImplemented \n " ) ;
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
# endif
2010-02-23 17:40:34 +00:00
return E_NOTIMPL ;
}
HRESULT
STDMETHODCALLTYPE
CBDADeviceControl : : SetMedium ( ULONG ulPinId , REGPINMEDIUM * pMedium )
{
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
# ifdef BDAPLGIN_TRACE
2010-02-23 17:40:34 +00:00
OutputDebugStringW ( L " CBDADeviceControl::SetMedium: NotImplemented \n " ) ;
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
# endif
2010-02-23 17:40:34 +00:00
return E_NOTIMPL ;
}
HRESULT
STDMETHODCALLTYPE
2010-02-24 18:37:07 +00:00
CBDADeviceControl : : CreateTopology ( ULONG ulInputPinId , ULONG ulOutputPinId )
{
KSM_BDA_PIN_PAIR Method ;
HRESULT hr ;
ULONG BytesReturned = 0 ;
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
Method . Method . Flags = KSMETHOD_TYPE_NONE ;
2010-02-24 18:37:07 +00:00
Method . Method . Id = KSMETHOD_BDA_CREATE_TOPOLOGY ;
Method . Method . Set = KSMETHODSETID_BdaDeviceConfiguration ;
Method . InputPinId = ulInputPinId ;
Method . OutputPinId = ulOutputPinId ;
2010-02-23 17:40:34 +00:00
2010-02-24 18:37:07 +00:00
hr = KsSynchronousDeviceControl ( m_Handle , IOCTL_KS_METHOD , ( PVOID ) & Method , sizeof ( KSM_BDA_PIN_PAIR ) , NULL , 0 , & BytesReturned ) ;
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
# ifdef BDAPLGIN_TRACE
WCHAR Buffer [ 100 ] ;
2010-02-24 18:37:07 +00:00
swprintf ( Buffer , L " CBDADeviceControl::CreateTopology: hr %lx, BytesReturned %lu \n " , hr , BytesReturned ) ;
OutputDebugStringW ( Buffer ) ;
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
# endif
2010-02-24 18:37:07 +00:00
return hr ;
}
2010-02-23 17:40:34 +00:00
HRESULT
STDMETHODCALLTYPE
CBDADeviceControl : : GetControlNode ( ULONG ulInputPinId , ULONG ulOutputPinId , ULONG ulNodeType , IUnknown * * ppControlNode )
{
2010-02-24 18:37:07 +00:00
HRESULT hr ;
ULONG PinId = 0 ;
ULONG BytesReturned ;
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
KSP_BDA_NODE_PIN Property ;
2010-02-24 18:37:07 +00:00
//setup request
Property . Property . Set = KSPROPSETID_BdaTopology ;
Property . Property . Id = KSPROPERTY_BDA_CONTROLLING_PIN_ID ;
Property . Property . Flags = KSPROPERTY_TYPE_GET ;
Property . ulInputPinId = ulInputPinId ;
Property . ulOutputPinId = ulOutputPinId ;
Property . ulNodeType = ulNodeType ;
// perform request
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
// WinXP SP3 expects minimum sizeof(KSP_BDA_NODE_PIN) + sizeof(ULONG)
// seems a driver to be a driver bug
2010-02-24 18:37:07 +00:00
hr = KsSynchronousDeviceControl ( m_Handle , IOCTL_KS_PROPERTY , ( PVOID ) & Property , sizeof ( KSP_BDA_NODE_PIN ) + sizeof ( ULONG ) , & PinId , sizeof ( ULONG ) , & BytesReturned ) ;
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
# ifdef BDAPLGIN_TRACE
2010-03-26 17:51:54 +00:00
WCHAR Buffer [ 200 ] ;
swprintf ( Buffer , L " CBDADeviceControl::GetControlNode: hr %lx, BytesReturned %lu PinId %lu ulInputPinId %lu ulOutputPinId %lu ulNodeType %lu \n " , hr , BytesReturned , PinId , ulInputPinId , ulOutputPinId , ulNodeType ) ;
2010-02-24 18:37:07 +00:00
OutputDebugStringW ( Buffer ) ;
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
# endif
2010-02-24 18:37:07 +00:00
if ( FAILED ( hr ) )
return hr ;
2010-03-24 16:04:44 +00:00
hr = CControlNode_fnConstructor ( m_pFilter , ulNodeType , PinId , IID_IUnknown , ( LPVOID * ) ppControlNode ) ;
2010-02-24 18:37:07 +00:00
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
# ifdef BDAPLGIN_TRACE
2010-02-24 18:37:07 +00:00
swprintf ( Buffer , L " CBDADeviceControl::GetControlNode: hr %lx \n " , hr ) ;
OutputDebugStringW ( Buffer ) ;
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
# endif
2010-02-24 18:37:07 +00:00
return hr ;
2010-02-23 17:40:34 +00:00
}
HRESULT
WINAPI
CBDADeviceControl_fnConstructor (
IUnknown * pUnkOuter ,
REFIID riid ,
LPVOID * ppv )
{
2010-02-24 18:37:07 +00:00
HRESULT hr ;
IKsObject * pObject = NULL ;
2010-02-25 16:14:54 +00:00
IBaseFilter * pFilter = NULL ;
2010-02-24 18:37:07 +00:00
HANDLE hFile ;
2010-03-02 20:18:29 +00:00
# ifdef BDAPLGIN_TRACE
OutputDebugStringW ( L " CBDADeviceControl_fnConstructor \n " ) ;
# endif
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
//DebugBreak();
2010-02-24 18:37:07 +00:00
// sanity check
assert ( pUnkOuter ) ;
// query for IKsObject
hr = pUnkOuter - > QueryInterface ( IID_IKsObject , ( void * * ) & pObject ) ;
2010-02-25 16:14:54 +00:00
if ( FAILED ( hr ) )
return E_NOINTERFACE ;
2010-02-24 18:37:07 +00:00
// sanity check
assert ( hr = = NOERROR ) ;
2010-02-25 16:14:54 +00:00
// query for IBaseFilter interface support
hr = pUnkOuter - > QueryInterface ( IID_IBaseFilter , ( void * * ) & pFilter ) ;
if ( FAILED ( hr ) )
{
// release
pObject - > Release ( ) ;
return E_NOINTERFACE ;
}
2010-02-24 18:37:07 +00:00
// another sanity check
assert ( pObject ! = NULL ) ;
// get file handle
hFile = pObject - > KsGetObjectHandle ( ) ;
// one more sanity check
assert ( hFile ! = NULL & & hFile ! = INVALID_HANDLE_VALUE ) ;
// release IKsObject interface
pObject - > Release ( ) ;
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
// release filter
pFilter - > Release ( ) ;
2010-02-24 18:37:07 +00:00
// construct device control
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)
svn path=/trunk/; revision=45684
2010-02-26 01:53:48 +00:00
CBDADeviceControl * handler = new CBDADeviceControl ( pUnkOuter , pFilter , hFile ) ;
2010-02-23 17:40:34 +00:00
if ( ! handler )
return E_OUTOFMEMORY ;
if ( FAILED ( handler - > QueryInterface ( riid , ppv ) ) )
{
/* not supported */
delete handler ;
return E_NOINTERFACE ;
}
return NOERROR ;
}