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
101 OutputDebugString("UNIMPLEMENTED\n");
107 CVPVBIConfig::Pause()
109 OutputDebugString("UNIMPLEMENTED\n");
116 REFERENCE_TIME tStart
)
118 OutputDebugString("UNIMPLEMENTED\n");
124 CVPVBIConfig::SetSyncSource(
125 IReferenceClock
*pClock
)
127 OutputDebugString("UNIMPLEMENTED\n");
133 CVPVBIConfig::NotifyGraphChange()
135 OutputDebugString("UNIMPLEMENTED\n");
139 //-------------------------------------------------------------------
144 CVPVBIConfig::GetConnectInfo(
145 LPDWORD pdwNumConnectInfo
,
146 IN OUT LPDDVIDEOPORTCONNECT pddVPConnectInfo
)
148 OutputDebugString("UNIMPLEMENTED\n");
154 CVPVBIConfig::SetConnectInfo(
157 OutputDebugString("UNIMPLEMENTED\n");
163 CVPVBIConfig::GetVPDataInfo(
164 LPAMVPDATAINFO pamvpDataInfo
)
166 OutputDebugString("UNIMPLEMENTED\n");
172 CVPVBIConfig::GetMaxPixelRate(
173 LPAMVPSIZE pamvpSize
,
174 OUT LPDWORD pdwMaxPixelsPerSecond
)
176 OutputDebugString("UNIMPLEMENTED\n");
182 CVPVBIConfig::InformVPInputFormats(
184 IN LPDDPIXELFORMAT pDDPixelFormats
)
186 OutputDebugString("UNIMPLEMENTED\n");
192 CVPVBIConfig::GetVideoFormats(
193 LPDWORD pdwNumFormats
,
194 IN OUT LPDDPIXELFORMAT pddPixelFormats
)
196 OutputDebugString("UNIMPLEMENTED\n");
202 CVPVBIConfig::SetVideoFormat(
205 OutputDebugString("UNIMPLEMENTED\n");
211 CVPVBIConfig::SetInvertPolarity()
213 OutputDebugString("UNIMPLEMENTED\n");
219 CVPVBIConfig::GetOverlaySurface(
220 LPDIRECTDRAWSURFACE
* ppddOverlaySurface
)
222 OutputDebugString("UNIMPLEMENTED\n");
228 CVPVBIConfig::SetDirectDrawKernelHandle(
229 ULONG_PTR dwDDKernelHandle
)
231 OutputDebugString("UNIMPLEMENTED\n");
237 CVPVBIConfig::SetVideoPortID(
238 IN DWORD dwVideoPortID
)
240 OutputDebugString("UNIMPLEMENTED\n");
247 CVPVBIConfig::SetDDSurfaceKernelHandles(
249 IN ULONG_PTR
*rgDDKernelHandles
)
251 OutputDebugString("UNIMPLEMENTED\n");
258 CVPVBIConfig::SetSurfaceParameters(
263 OutputDebugString("UNIMPLEMENTED\n");
270 CVPVBIConfig_Constructor(
271 IUnknown
* pUnkOuter
,
275 OutputDebugStringW(L
"CVPVBIConfig_Constructor\n");
277 CVPVBIConfig
* handler
= new CVPVBIConfig();
280 return E_OUTOFMEMORY
;
282 if (FAILED(handler
->QueryInterface(riid
, ppv
)))
286 return E_NOINTERFACE
;