2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS BDA Proxy
4 * FILE: dll/directx/bdaplgin/frequencyfilter.cpp
5 * PURPOSE: IBDA_FrequencyFilter interface
7 * PROGRAMMERS: Johannes Anderwald (janderwald@reactos.org)
12 const GUID IID_IBDA_FrequencyFilter
= {0x71985f47, 0x1ca1, 0x11d3, {0x9c, 0xc8, 0x00, 0xc0, 0x4f, 0x79, 0x71, 0xe0}};
14 class CBDAFrequencyFilter
: public IBDA_FrequencyFilter
17 STDMETHODIMP
QueryInterface( REFIID InterfaceId
, PVOID
* Interface
);
19 STDMETHODIMP_(ULONG
) AddRef()
21 InterlockedIncrement(&m_Ref
);
24 STDMETHODIMP_(ULONG
) Release()
26 InterlockedDecrement(&m_Ref
);
36 HRESULT STDMETHODCALLTYPE
put_Autotune(ULONG ulTransponder
);
37 HRESULT STDMETHODCALLTYPE
get_Autotune(ULONG
*pulTransponder
);
38 HRESULT STDMETHODCALLTYPE
put_Frequency(ULONG ulFrequency
);
39 HRESULT STDMETHODCALLTYPE
get_Frequency(ULONG
*pulFrequency
);
40 HRESULT STDMETHODCALLTYPE
put_Polarity(Polarisation Polarity
);
41 HRESULT STDMETHODCALLTYPE
get_Polarity(Polarisation
*pPolarity
);
42 HRESULT STDMETHODCALLTYPE
put_Range(ULONG ulRange
);
43 HRESULT STDMETHODCALLTYPE
get_Range(ULONG
*pulRange
);
44 HRESULT STDMETHODCALLTYPE
put_Bandwidth(ULONG ulBandwidth
);
45 HRESULT STDMETHODCALLTYPE
get_Bandwidth(ULONG
*pulBandwidth
);
46 HRESULT STDMETHODCALLTYPE
put_FrequencyMultiplier(ULONG ulMultiplier
);
47 HRESULT STDMETHODCALLTYPE
get_FrequencyMultiplier(ULONG
*pulMultiplier
);
49 CBDAFrequencyFilter(HANDLE hFile
) : m_Ref(0), m_hFile(hFile
){};
50 virtual ~CBDAFrequencyFilter(){};
59 CBDAFrequencyFilter::QueryInterface(
63 WCHAR Buffer
[MAX_PATH
];
68 if (IsEqualGUID(refiid
, IID_IUnknown
))
70 *Output
= PVOID(this);
71 reinterpret_cast<IUnknown
*>(*Output
)->AddRef();
75 if (IsEqualGUID(refiid
, IID_IBDA_FrequencyFilter
))
77 *Output
= (IBDA_FrequencyFilter
*)(this);
78 reinterpret_cast<IBDA_FrequencyFilter
*>(*Output
)->AddRef();
82 StringFromCLSID(refiid
, &lpstr
);
83 swprintf(Buffer
, L
"CControlNode::QueryInterface: NoInterface for %s", lpstr
);
84 OutputDebugStringW(Buffer
);
92 CBDAFrequencyFilter::put_Autotune(ULONG ulTransponder
)
94 OutputDebugStringW(L
"CBDAFrequencyFilter::put_Autotune: NotImplemented\n");
100 CBDAFrequencyFilter::get_Autotune(ULONG
*pulTransponder
)
102 OutputDebugStringW(L
"CBDAFrequencyFilter::get_Autotune\n");
103 return E_NOINTERFACE
;
108 CBDAFrequencyFilter::put_Frequency(ULONG ulFrequency
)
110 OutputDebugStringW(L
"CBDAFrequencyFilter::put_Frequency: NotImplemented\n");
116 CBDAFrequencyFilter::get_Frequency(ULONG
*pulFrequency
)
118 OutputDebugStringW(L
"CBDAFrequencyFilter::get_Frequency\n");
119 return E_NOINTERFACE
;
124 CBDAFrequencyFilter::put_Polarity(Polarisation Polarity
)
126 OutputDebugStringW(L
"CBDAFrequencyFilter::put_Polarity: NotImplemented\n");
132 CBDAFrequencyFilter::get_Polarity(Polarisation
*pPolarity
)
134 OutputDebugStringW(L
"CBDAFrequencyFilter::get_Polarity\n");
135 return E_NOINTERFACE
;
140 CBDAFrequencyFilter::put_Range(ULONG ulRange
)
142 OutputDebugStringW(L
"CBDAFrequencyFilter::put_Range: NotImplemented\n");
148 CBDAFrequencyFilter::get_Range(ULONG
*pulRange
)
150 OutputDebugStringW(L
"CBDAFrequencyFilter::get_Range\n");
151 return E_NOINTERFACE
;
156 CBDAFrequencyFilter::put_Bandwidth(ULONG ulBandwidth
)
158 OutputDebugStringW(L
"CBDAFrequencyFilter::put_Bandwidth: NotImplemented\n");
164 CBDAFrequencyFilter::get_Bandwidth(ULONG
*pulBandwidth
)
166 OutputDebugStringW(L
"CBDAFrequencyFilter::get_Bandwidth\n");
167 return E_NOINTERFACE
;
171 CBDAFrequencyFilter::put_FrequencyMultiplier(ULONG ulMultiplier
)
173 OutputDebugStringW(L
"CBDAFrequencyFilter::put_FrequencyMultiplier: NotImplemented\n");
179 CBDAFrequencyFilter::get_FrequencyMultiplier(ULONG
*pulMultiplier
)
181 OutputDebugStringW(L
"CBDAFrequencyFilter::get_FrequencyMultiplier\n");
182 return E_NOINTERFACE
;
187 CBDAFrequencyFilter_fnConstructor(
192 // construct device control
193 CBDAFrequencyFilter
* handler
= new CBDAFrequencyFilter(hFile
);
195 OutputDebugStringW(L
"CBDAFrequencyFilter_fnConstructor\n");
198 return E_OUTOFMEMORY
;
200 if (FAILED(handler
->QueryInterface(riid
, ppv
)))
204 return E_NOINTERFACE
;