2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS WDM Streaming ActiveMovie Proxy
4 * FILE: dll/directx/ksproxy/cvpvbiconfig.cpp
5 * PURPOSE: CVPVBIConfig interface
7 * PROGRAMMERS: Johannes Anderwald (janderwald@reactos.org)
11 class CVPVBIConfig
: public IVPVBIConfig
,
12 public IDistributorNotify
15 STDMETHODIMP
QueryInterface( REFIID InterfaceId
, PVOID
* Interface
);
17 STDMETHODIMP_(ULONG
) AddRef()
19 InterlockedIncrement(&m_Ref
);
22 STDMETHODIMP_(ULONG
) Release()
24 InterlockedDecrement(&m_Ref
);
34 // IDistributorNotify interface
35 HRESULT STDMETHODCALLTYPE
Stop();
36 HRESULT STDMETHODCALLTYPE
Pause();
37 HRESULT STDMETHODCALLTYPE
Run(REFERENCE_TIME tStart
);
38 HRESULT STDMETHODCALLTYPE
SetSyncSource(IReferenceClock
*pClock
);
39 HRESULT STDMETHODCALLTYPE
NotifyGraphChange();
42 HRESULT STDMETHODCALLTYPE
GetConnectInfo(LPDWORD pdwNumConnectInfo
, IN OUT LPDDVIDEOPORTCONNECT pddVPConnectInfo
);
43 HRESULT STDMETHODCALLTYPE
SetConnectInfo(DWORD dwChosenEntry
);
44 HRESULT STDMETHODCALLTYPE
GetVPDataInfo(LPAMVPDATAINFO pamvpDataInfo
);
45 HRESULT STDMETHODCALLTYPE
GetMaxPixelRate(LPAMVPSIZE pamvpSize
, OUT LPDWORD pdwMaxPixelsPerSecond
);
46 HRESULT STDMETHODCALLTYPE
InformVPInputFormats(DWORD dwNumFormats
, IN LPDDPIXELFORMAT pDDPixelFormats
);
47 HRESULT STDMETHODCALLTYPE
GetVideoFormats(LPDWORD pdwNumFormats
, IN OUT LPDDPIXELFORMAT pddPixelFormats
);
48 HRESULT STDMETHODCALLTYPE
SetVideoFormat(DWORD dwChosenEntry
);
49 HRESULT STDMETHODCALLTYPE
SetInvertPolarity();
50 HRESULT STDMETHODCALLTYPE
GetOverlaySurface(LPDIRECTDRAWSURFACE
* ppddOverlaySurface
);
51 HRESULT STDMETHODCALLTYPE
SetDirectDrawKernelHandle(ULONG_PTR dwDDKernelHandle
);
52 HRESULT STDMETHODCALLTYPE
SetVideoPortID(IN DWORD dwVideoPortID
);
53 HRESULT STDMETHODCALLTYPE
SetDDSurfaceKernelHandles(DWORD cHandles
, IN ULONG_PTR
*rgDDKernelHandles
);
54 HRESULT STDMETHODCALLTYPE
SetSurfaceParameters(DWORD dwPitch
, IN DWORD dwXOrigin
, IN DWORD dwYOrigin
);
56 CVPVBIConfig() : m_Ref(0){}
57 virtual ~CVPVBIConfig(){}
65 CVPVBIConfig::QueryInterface(
69 if (IsEqualGUID(refiid
, IID_IUnknown
))
71 *Output
= PVOID(this);
72 reinterpret_cast<IUnknown
*>(*Output
)->AddRef();
75 if (IsEqualGUID(refiid
, IID_IDistributorNotify
))
77 *Output
= (IDistributorNotify
*)(this);
78 reinterpret_cast<IDistributorNotify
*>(*Output
)->AddRef();
82 if (IsEqualGUID(refiid
, IID_IVPVBIConfig
))
84 *Output
= (IVPConfig
*)(this);
85 reinterpret_cast<IVPConfig
*>(*Output
)->AddRef();
92 //-------------------------------------------------------------------
93 // IDistributorNotify interface
102 OutputDebugStringW(L
"UNIMPLEMENTED\n");
109 CVPVBIConfig::Pause()
112 OutputDebugStringW(L
"UNIMPLEMENTED\n");
120 REFERENCE_TIME tStart
)
123 OutputDebugStringW(L
"UNIMPLEMENTED\n");
130 CVPVBIConfig::SetSyncSource(
131 IReferenceClock
*pClock
)
134 OutputDebugStringW(L
"UNIMPLEMENTED\n");
141 CVPVBIConfig::NotifyGraphChange()
144 OutputDebugStringW(L
"UNIMPLEMENTED\n");
149 //-------------------------------------------------------------------
154 CVPVBIConfig::GetConnectInfo(
155 LPDWORD pdwNumConnectInfo
,
156 IN OUT LPDDVIDEOPORTCONNECT pddVPConnectInfo
)
159 OutputDebugStringW(L
"UNIMPLEMENTED\n");
166 CVPVBIConfig::SetConnectInfo(
170 OutputDebugStringW(L
"UNIMPLEMENTED\n");
177 CVPVBIConfig::GetVPDataInfo(
178 LPAMVPDATAINFO pamvpDataInfo
)
181 OutputDebugStringW(L
"UNIMPLEMENTED\n");
188 CVPVBIConfig::GetMaxPixelRate(
189 LPAMVPSIZE pamvpSize
,
190 OUT LPDWORD pdwMaxPixelsPerSecond
)
193 OutputDebugStringW(L
"UNIMPLEMENTED\n");
200 CVPVBIConfig::InformVPInputFormats(
202 IN LPDDPIXELFORMAT pDDPixelFormats
)
205 OutputDebugStringW(L
"UNIMPLEMENTED\n");
212 CVPVBIConfig::GetVideoFormats(
213 LPDWORD pdwNumFormats
,
214 IN OUT LPDDPIXELFORMAT pddPixelFormats
)
217 OutputDebugStringW(L
"UNIMPLEMENTED\n");
224 CVPVBIConfig::SetVideoFormat(
228 OutputDebugStringW(L
"UNIMPLEMENTED\n");
235 CVPVBIConfig::SetInvertPolarity()
238 OutputDebugStringW(L
"UNIMPLEMENTED\n");
245 CVPVBIConfig::GetOverlaySurface(
246 LPDIRECTDRAWSURFACE
* ppddOverlaySurface
)
249 OutputDebugStringW(L
"UNIMPLEMENTED\n");
256 CVPVBIConfig::SetDirectDrawKernelHandle(
257 ULONG_PTR dwDDKernelHandle
)
260 OutputDebugStringW(L
"UNIMPLEMENTED\n");
267 CVPVBIConfig::SetVideoPortID(
268 IN DWORD dwVideoPortID
)
271 OutputDebugStringW(L
"UNIMPLEMENTED\n");
279 CVPVBIConfig::SetDDSurfaceKernelHandles(
281 IN ULONG_PTR
*rgDDKernelHandles
)
284 OutputDebugStringW(L
"UNIMPLEMENTED\n");
292 CVPVBIConfig::SetSurfaceParameters(
298 OutputDebugStringW(L
"UNIMPLEMENTED\n");
306 CVPVBIConfig_Constructor(
307 IUnknown
* pUnkOuter
,
312 OutputDebugStringW(L
"CVPVBIConfig_Constructor\n");
315 CVPVBIConfig
* handler
= new CVPVBIConfig();
318 return E_OUTOFMEMORY
;
320 if (FAILED(handler
->QueryInterface(riid
, ppv
)))
324 return E_NOINTERFACE
;