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_SignalStatistics
= {0x1347d106, 0xcf3a, 0x428a, {0xa5, 0xcb, 0xac, 0x0d, 0x9a, 0x2a, 0x43, 0x38}};
14 class CBDASignalStatistics
: public IBDA_SignalStatistics
17 STDMETHODIMP
QueryInterface( REFIID InterfaceId
, PVOID
* Interface
);
19 STDMETHODIMP_(ULONG
) AddRef()
21 InterlockedIncrement(&m_Ref
);
24 STDMETHODIMP_(ULONG
) Release()
26 InterlockedDecrement(&m_Ref
);
36 // IBDA_SignalStatistics methods
37 HRESULT STDMETHODCALLTYPE
put_SignalStrength(LONG lDbStrength
);
38 HRESULT STDMETHODCALLTYPE
get_SignalStrength(LONG
*plDbStrength
);
39 HRESULT STDMETHODCALLTYPE
put_SignalQuality(LONG lPercentQuality
);
40 HRESULT STDMETHODCALLTYPE
get_SignalQuality(LONG
*plPercentQuality
);
41 HRESULT STDMETHODCALLTYPE
put_SignalPresent(BOOLEAN fPresent
);
42 HRESULT STDMETHODCALLTYPE
get_SignalPresent(BOOLEAN
*pfPresent
);
43 HRESULT STDMETHODCALLTYPE
put_SignalLocked(BOOLEAN fLocked
);
44 HRESULT STDMETHODCALLTYPE
get_SignalLocked(BOOLEAN
*pfLocked
);
45 HRESULT STDMETHODCALLTYPE
put_SampleTime(LONG lmsSampleTime
);
46 HRESULT STDMETHODCALLTYPE
get_SampleTime(LONG
*plmsSampleTime
);
48 CBDASignalStatistics(HANDLE hFile
) : m_Ref(0), m_hFile(hFile
){};
49 ~CBDASignalStatistics(){};
58 CBDASignalStatistics::QueryInterface(
62 WCHAR Buffer
[MAX_PATH
];
67 if (IsEqualGUID(refiid
, IID_IUnknown
))
69 *Output
= PVOID(this);
70 reinterpret_cast<IUnknown
*>(*Output
)->AddRef();
74 if (IsEqualGUID(refiid
, IID_IBDA_SignalStatistics
))
76 *Output
= (IBDA_SignalStatistics
*)(this);
77 reinterpret_cast<IBDA_SignalStatistics
*>(*Output
)->AddRef();
81 StringFromCLSID(refiid
, &lpstr
);
82 swprintf(Buffer
, L
"CBDASignalStatistics::QueryInterface: NoInterface for %s", lpstr
);
83 OutputDebugStringW(Buffer
);
91 CBDASignalStatistics::put_SignalStrength(LONG lDbStrength
)
93 OutputDebugStringW(L
"CBDASignalStatistics::put_SignalStrength NotImplemented\n");
99 CBDASignalStatistics::get_SignalStrength(LONG
*plDbStrength
)
101 OutputDebugStringW(L
"CBDASignalStatistics::get_SignalStrength NotImplemented\n");
107 CBDASignalStatistics::put_SignalQuality(LONG lPercentQuality
)
109 OutputDebugStringW(L
"CBDASignalStatistics::put_SignalQuality NotImplemented\n");
115 CBDASignalStatistics::get_SignalQuality(LONG
*plPercentQuality
)
117 OutputDebugStringW(L
"CBDASignalStatistics::get_SignalQuality NotImplemented\n");
123 CBDASignalStatistics::put_SignalPresent(BOOLEAN fPresent
)
125 OutputDebugStringW(L
"CBDASignalStatistics::put_SignalPresent NotImplemented\n");
131 CBDASignalStatistics::get_SignalPresent(BOOLEAN
*pfPresent
)
133 OutputDebugStringW(L
"CBDASignalStatistics::get_SignalPresent NotImplemented\n");
139 CBDASignalStatistics::put_SignalLocked(BOOLEAN fLocked
)
141 OutputDebugStringW(L
"CBDASignalStatistics::put_SignalLocked NotImplemented\n");
147 CBDASignalStatistics::get_SignalLocked(BOOLEAN
*pfLocked
)
149 OutputDebugStringW(L
"CBDASignalStatistics::get_SignalLocked NotImplemented\n");
155 CBDASignalStatistics::put_SampleTime(LONG lmsSampleTime
)
157 OutputDebugStringW(L
"CBDASignalStatistics::put_SampleTime NotImplemented\n");
163 CBDASignalStatistics::get_SampleTime(LONG
*plmsSampleTime
)
165 OutputDebugStringW(L
"CBDASignalStatistics::get_SampleTime NotImplemented\n");
171 CBDASignalStatistics_fnConstructor(
176 // construct device control
177 CBDASignalStatistics
* handler
= new CBDASignalStatistics(hFile
);
179 OutputDebugStringW(L
"CBDASignalStatistics_fnConstructor\n");
182 return E_OUTOFMEMORY
;
184 if (FAILED(handler
->QueryInterface(riid
, ppv
)))
188 return E_NOINTERFACE
;