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 const GUID IID_IVPVBIConfig
= {0xec529b00, 0x1a1f, 0x11d1, {0xba, 0xd9, 0x0, 0x60, 0x97, 0x44, 0x11, 0x1a}};
13 class CVPVBIConfig
: public IVPVBIConfig
,
14 public IDistributorNotify
17 STDMETHODIMP
QueryInterface( REFIID InterfaceId
, PVOID
* Interface
);
19 STDMETHODIMP_(ULONG
) AddRef()
21 InterlockedIncrement(&m_Ref
);
24 STDMETHODIMP_(ULONG
) Release()
26 InterlockedDecrement(&m_Ref
);
36 // IDistributorNotify interface
37 HRESULT STDMETHODCALLTYPE
Stop();
38 HRESULT STDMETHODCALLTYPE
Pause();
39 HRESULT STDMETHODCALLTYPE
Run(REFERENCE_TIME tStart
);
40 HRESULT STDMETHODCALLTYPE
SetSyncSource(IReferenceClock
*pClock
);
41 HRESULT STDMETHODCALLTYPE
NotifyGraphChange();
44 HRESULT STDMETHODCALLTYPE
GetConnectInfo(LPDWORD pdwNumConnectInfo
, IN OUT LPDDVIDEOPORTCONNECT pddVPConnectInfo
);
45 HRESULT STDMETHODCALLTYPE
SetConnectInfo(DWORD dwChosenEntry
);
46 HRESULT STDMETHODCALLTYPE
GetVPDataInfo(LPAMVPDATAINFO pamvpDataInfo
);
47 HRESULT STDMETHODCALLTYPE
GetMaxPixelRate(LPAMVPSIZE pamvpSize
, OUT LPDWORD pdwMaxPixelsPerSecond
);
48 HRESULT STDMETHODCALLTYPE
InformVPInputFormats(DWORD dwNumFormats
, IN LPDDPIXELFORMAT pDDPixelFormats
);
49 HRESULT STDMETHODCALLTYPE
GetVideoFormats(LPDWORD pdwNumFormats
, IN OUT LPDDPIXELFORMAT pddPixelFormats
);
50 HRESULT STDMETHODCALLTYPE
SetVideoFormat(DWORD dwChosenEntry
);
51 HRESULT STDMETHODCALLTYPE
SetInvertPolarity();
52 HRESULT STDMETHODCALLTYPE
GetOverlaySurface(LPDIRECTDRAWSURFACE
* ppddOverlaySurface
);
53 HRESULT STDMETHODCALLTYPE
SetDirectDrawKernelHandle(ULONG_PTR dwDDKernelHandle
);
54 HRESULT STDMETHODCALLTYPE
SetVideoPortID(IN DWORD dwVideoPortID
);
55 HRESULT STDMETHODCALLTYPE
SetDDSurfaceKernelHandles(DWORD cHandles
, IN ULONG_PTR
*rgDDKernelHandles
);
56 HRESULT STDMETHODCALLTYPE
SetSurfaceParameters(DWORD dwPitch
, IN DWORD dwXOrigin
, IN DWORD dwYOrigin
);
58 CVPVBIConfig() : m_Ref(0){}
59 virtual ~CVPVBIConfig(){}
67 CVPVBIConfig::QueryInterface(
71 if (IsEqualGUID(refiid
, IID_IUnknown
))
73 *Output
= PVOID(this);
74 reinterpret_cast<IUnknown
*>(*Output
)->AddRef();
77 if (IsEqualGUID(refiid
, IID_IDistributorNotify
))
79 *Output
= (IDistributorNotify
*)(this);
80 reinterpret_cast<IDistributorNotify
*>(*Output
)->AddRef();
84 if (IsEqualGUID(refiid
, IID_IVPVBIConfig
))
86 *Output
= (IVPConfig
*)(this);
87 reinterpret_cast<IVPConfig
*>(*Output
)->AddRef();
94 //-------------------------------------------------------------------
95 // IDistributorNotify interface
103 OutputDebugString("UNIMPLEMENTED\n");
109 CVPVBIConfig::Pause()
111 OutputDebugString("UNIMPLEMENTED\n");
118 REFERENCE_TIME tStart
)
120 OutputDebugString("UNIMPLEMENTED\n");
126 CVPVBIConfig::SetSyncSource(
127 IReferenceClock
*pClock
)
129 OutputDebugString("UNIMPLEMENTED\n");
135 CVPVBIConfig::NotifyGraphChange()
137 OutputDebugString("UNIMPLEMENTED\n");
141 //-------------------------------------------------------------------
146 CVPVBIConfig::GetConnectInfo(
147 LPDWORD pdwNumConnectInfo
,
148 IN OUT LPDDVIDEOPORTCONNECT pddVPConnectInfo
)
150 OutputDebugString("UNIMPLEMENTED\n");
156 CVPVBIConfig::SetConnectInfo(
159 OutputDebugString("UNIMPLEMENTED\n");
165 CVPVBIConfig::GetVPDataInfo(
166 LPAMVPDATAINFO pamvpDataInfo
)
168 OutputDebugString("UNIMPLEMENTED\n");
174 CVPVBIConfig::GetMaxPixelRate(
175 LPAMVPSIZE pamvpSize
,
176 OUT LPDWORD pdwMaxPixelsPerSecond
)
178 OutputDebugString("UNIMPLEMENTED\n");
184 CVPVBIConfig::InformVPInputFormats(
186 IN LPDDPIXELFORMAT pDDPixelFormats
)
188 OutputDebugString("UNIMPLEMENTED\n");
194 CVPVBIConfig::GetVideoFormats(
195 LPDWORD pdwNumFormats
,
196 IN OUT LPDDPIXELFORMAT pddPixelFormats
)
198 OutputDebugString("UNIMPLEMENTED\n");
204 CVPVBIConfig::SetVideoFormat(
207 OutputDebugString("UNIMPLEMENTED\n");
213 CVPVBIConfig::SetInvertPolarity()
215 OutputDebugString("UNIMPLEMENTED\n");
221 CVPVBIConfig::GetOverlaySurface(
222 LPDIRECTDRAWSURFACE
* ppddOverlaySurface
)
224 OutputDebugString("UNIMPLEMENTED\n");
230 CVPVBIConfig::SetDirectDrawKernelHandle(
231 ULONG_PTR dwDDKernelHandle
)
233 OutputDebugString("UNIMPLEMENTED\n");
239 CVPVBIConfig::SetVideoPortID(
240 IN DWORD dwVideoPortID
)
242 OutputDebugString("UNIMPLEMENTED\n");
249 CVPVBIConfig::SetDDSurfaceKernelHandles(
251 IN ULONG_PTR
*rgDDKernelHandles
)
253 OutputDebugString("UNIMPLEMENTED\n");
260 CVPVBIConfig::SetSurfaceParameters(
265 OutputDebugString("UNIMPLEMENTED\n");
272 CVPVBIConfig_Constructor(
273 IUnknown
* pUnkOuter
,
277 CVPVBIConfig
* handler
= new CVPVBIConfig();
280 return E_OUTOFMEMORY
;
282 if (FAILED(handler
->QueryInterface(riid
, ppv
)))
286 return E_NOINTERFACE
;