Something went wrong. Try again.
Reactos
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS WDM Streaming ActiveMovie Proxy * FILE: dll/directx/ksproxy/basicaudio.cpp * PURPOSE: IBasicAudio interface * * PROGRAMMERS: Johannes Anderwald (johannes.anderwald@reactos.org) */#include "precomp.h"
class CKsBasicAudio : public IBasicAudio, public IDistributorNotify{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; }
// IDistributorNotify methods HRESULT STDMETHODCALLTYPE Stop(); HRESULT STDMETHODCALLTYPE Pause(); HRESULT STDMETHODCALLTYPE Run(REFERENCE_TIME tStart); HRESULT STDMETHODCALLTYPE SetSyncSource(IReferenceClock *pClock); HRESULT STDMETHODCALLTYPE NotifyGraphChange();
// IDispatch methods HRESULT STDMETHODCALLTYPE GetTypeInfoCount(UINT *pctinfo); HRESULT STDMETHODCALLTYPE GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo); HRESULT STDMETHODCALLTYPE GetIDsOfNames(REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId); HRESULT STDMETHODCALLTYPE Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
// IBasicAudio methods HRESULT STDMETHODCALLTYPE put_Volume(long lVolume); HRESULT STDMETHODCALLTYPE get_Volume(long *plVolume); HRESULT STDMETHODCALLTYPE put_Balance(long lBalance); HRESULT STDMETHODCALLTYPE get_Balance(long *plBalance);
CKsBasicAudio() : m_Ref(0){} virtual ~CKsBasicAudio(){}
protected: LONG m_Ref;};
HRESULTSTDMETHODCALLTYPECKsBasicAudio::QueryInterface( IN REFIID refiid, OUT PVOID* Output){ if (IsEqualGUID(refiid, IID_IUnknown)) { *Output = PVOID(this); reinterpret_cast<IUnknown*>(*Output)->AddRef(); return NOERROR; } if (IsEqualGUID(refiid, IID_IDistributorNotify)) { *Output = (IDistributorNotify*)(this); reinterpret_cast<IDistributorNotify*>(*Output)->AddRef(); return NOERROR; }
if (IsEqualGUID(refiid, IID_IBasicAudio)) { *Output = (IBasicAudio*)(this); reinterpret_cast<IBasicAudio*>(*Output)->AddRef(); return NOERROR; }
return E_NOINTERFACE;}
//-------------------------------------------------------------------// IDistributorNotify interface//
HRESULTSTDMETHODCALLTYPECKsBasicAudio::Stop(){#ifdef KSPROXY_TRACE OutputDebugStringW(L"UNIMPLEMENTED\n");#endif return E_NOTIMPL;}
HRESULTSTDMETHODCALLTYPECKsBasicAudio::Pause(){#ifdef KSPROXY_TRACE OutputDebugStringW(L"UNIMPLEMENTED\n");#endif
return E_NOTIMPL;}
HRESULTSTDMETHODCALLTYPECKsBasicAudio::Run( REFERENCE_TIME tStart){#ifdef KSPROXY_TRACE OutputDebugStringW(L"UNIMPLEMENTED\n");#endif
return E_NOTIMPL;}
HRESULTSTDMETHODCALLTYPECKsBasicAudio::SetSyncSource( IReferenceClock *pClock){#ifdef KSPROXY_TRACE OutputDebugStringW(L"UNIMPLEMENTED\n");#endif return E_NOTIMPL;}
HRESULTSTDMETHODCALLTYPECKsBasicAudio::NotifyGraphChange(){#ifdef KSPROXY_TRACE OutputDebugStringW(L"UNIMPLEMENTED\n");#endif
return E_NOTIMPL;}
//-------------------------------------------------------------------// IDispatch interface//
HRESULTSTDMETHODCALLTYPECKsBasicAudio::GetTypeInfoCount( UINT *pctinfo){#ifdef KSPROXY_TRACE OutputDebugStringW(L"UNIMPLEMENTED\n");#endif
return E_NOTIMPL;}
HRESULTSTDMETHODCALLTYPECKsBasicAudio::GetTypeInfo( UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo){#ifdef KSPROXY_TRACE OutputDebugStringW(L"UNIMPLEMENTED\n");#endif return E_NOTIMPL;}
HRESULTSTDMETHODCALLTYPECKsBasicAudio::GetIDsOfNames( REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId){#ifdef KSPROXY_TRACE OutputDebugStringW(L"UNIMPLEMENTED\n");#endif
return E_NOTIMPL;}
HRESULTSTDMETHODCALLTYPECKsBasicAudio::Invoke( DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr){#ifdef KSPROXY_TRACE OutputDebugStringW(L"UNIMPLEMENTED\n");#endif
return E_NOTIMPL;}
//-------------------------------------------------------------------// IBasicAudio interface//
HRESULTSTDMETHODCALLTYPECKsBasicAudio::put_Volume( long lVolume){#ifdef KSPROXY_TRACE OutputDebugStringW(L"UNIMPLEMENTED\n");#endif
return E_NOTIMPL;}
HRESULTSTDMETHODCALLTYPECKsBasicAudio::get_Volume( long *plVolume){#ifdef KSPROXY_TRACE OutputDebugStringW(L"UNIMPLEMENTED\n");#endif
return E_NOTIMPL;}
HRESULTSTDMETHODCALLTYPECKsBasicAudio::put_Balance( long lBalance){#ifdef KSPROXY_TRACE OutputDebugStringW(L"UNIMPLEMENTED\n");#endif
return E_NOTIMPL;}
HRESULTSTDMETHODCALLTYPECKsBasicAudio::get_Balance( long *plBalance){#ifdef KSPROXY_TRACE OutputDebugStringW(L"UNIMPLEMENTED\n");#endif
return E_NOTIMPL;}
HRESULTWINAPICKsBasicAudio_Constructor( IUnknown * pUnkOuter, REFIID riid, LPVOID * ppv){#ifdef KSPROXY_TRACE OutputDebugStringW(L"CKsBasicAudio_Constructor\n");#endif
CKsBasicAudio * handler = new CKsBasicAudio();
if (!handler) return E_OUTOFMEMORY;
if (FAILED(handler->QueryInterface(riid, ppv))) { /* not supported */ delete handler; return E_NOINTERFACE; }
return NOERROR;}