ReactOS 0.4.15-dev-8079-g5db69da
cvpvbiconfig.cpp
Go to the documentation of this file.
1/*
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
6 *
7 * PROGRAMMERS: Johannes Anderwald (johannes.anderwald@reactos.org)
8 */
9#include "precomp.h"
10
11class CVPVBIConfig : public IVPVBIConfig,
13{
14public:
16
18 {
20 return m_Ref;
21 }
23 {
25
26 if (!m_Ref)
27 {
28 delete this;
29 return 0;
30 }
31 return m_Ref;
32 }
33
34 // IDistributorNotify interface
40
41 // IVPBaseConfig
42 HRESULT STDMETHODCALLTYPE GetConnectInfo(LPDWORD pdwNumConnectInfo, IN OUT LPDDVIDEOPORTCONNECT pddVPConnectInfo);
45 HRESULT STDMETHODCALLTYPE GetMaxPixelRate(LPAMVPSIZE pamvpSize, OUT LPDWORD pdwMaxPixelsPerSecond);
54 HRESULT STDMETHODCALLTYPE SetSurfaceParameters(DWORD dwPitch, IN DWORD dwXOrigin, IN DWORD dwYOrigin);
55
57 virtual ~CVPVBIConfig(){}
58
59protected:
61};
62
66 IN REFIID refiid,
68{
69 if (IsEqualGUID(refiid, IID_IUnknown))
70 {
71 *Output = PVOID(this);
72 reinterpret_cast<IUnknown*>(*Output)->AddRef();
73 return NOERROR;
74 }
76 {
77 *Output = (IDistributorNotify*)(this);
78 reinterpret_cast<IDistributorNotify*>(*Output)->AddRef();
79 return NOERROR;
80 }
81
82 if (IsEqualGUID(refiid, IID_IVPVBIConfig))
83 {
84 *Output = (IVPConfig*)(this);
85 reinterpret_cast<IVPConfig*>(*Output)->AddRef();
86 return NOERROR;
87 }
88
89 return E_NOINTERFACE;
90}
91
92//-------------------------------------------------------------------
93// IDistributorNotify interface
94//
95
96
100{
101#ifdef KSPROXY_TRACE
102 OutputDebugStringW(L"UNIMPLEMENTED\n");
103#endif
104 return E_NOTIMPL;
105}
106
110{
111#ifdef KSPROXY_TRACE
112 OutputDebugStringW(L"UNIMPLEMENTED\n");
113#endif
114 return E_NOTIMPL;
115}
116
120 REFERENCE_TIME tStart)
121{
122#ifdef KSPROXY_TRACE
123 OutputDebugStringW(L"UNIMPLEMENTED\n");
124#endif
125 return E_NOTIMPL;
126}
127
131 IReferenceClock *pClock)
132{
133#ifdef KSPROXY_TRACE
134 OutputDebugStringW(L"UNIMPLEMENTED\n");
135#endif
136 return E_NOTIMPL;
137}
138
142{
143#ifdef KSPROXY_TRACE
144 OutputDebugStringW(L"UNIMPLEMENTED\n");
145#endif
146 return E_NOTIMPL;
147}
148
149//-------------------------------------------------------------------
150// IVPBaseConfig
151//
155 LPDWORD pdwNumConnectInfo,
156 IN OUT LPDDVIDEOPORTCONNECT pddVPConnectInfo)
157{
158#ifdef KSPROXY_TRACE
159 OutputDebugStringW(L"UNIMPLEMENTED\n");
160#endif
161 return E_NOTIMPL;
162}
163
167 DWORD dwChosenEntry)
168{
169#ifdef KSPROXY_TRACE
170 OutputDebugStringW(L"UNIMPLEMENTED\n");
171#endif
172 return E_NOTIMPL;
173}
174
178 LPAMVPDATAINFO pamvpDataInfo)
179{
180#ifdef KSPROXY_TRACE
181 OutputDebugStringW(L"UNIMPLEMENTED\n");
182#endif
183 return E_NOTIMPL;
184}
185
189 LPAMVPSIZE pamvpSize,
190 OUT LPDWORD pdwMaxPixelsPerSecond)
191{
192#ifdef KSPROXY_TRACE
193 OutputDebugStringW(L"UNIMPLEMENTED\n");
194#endif
195 return E_NOTIMPL;
196}
197
201 DWORD dwNumFormats,
202 IN LPDDPIXELFORMAT pDDPixelFormats)
203{
204#ifdef KSPROXY_TRACE
205 OutputDebugStringW(L"UNIMPLEMENTED\n");
206#endif
207 return E_NOTIMPL;
208}
209
213 LPDWORD pdwNumFormats,
214 IN OUT LPDDPIXELFORMAT pddPixelFormats)
215{
216#ifdef KSPROXY_TRACE
217 OutputDebugStringW(L"UNIMPLEMENTED\n");
218#endif
219 return E_NOTIMPL;
220}
221
225 DWORD dwChosenEntry)
226{
227#ifdef KSPROXY_TRACE
228 OutputDebugStringW(L"UNIMPLEMENTED\n");
229#endif
230 return E_NOTIMPL;
231}
232
236{
237 #ifdef KSPROXY_TRACE
238 OutputDebugStringW(L"UNIMPLEMENTED\n");
239#endif
240 return E_NOTIMPL;
241}
242
246 LPDIRECTDRAWSURFACE* ppddOverlaySurface)
247{
248#ifdef KSPROXY_TRACE
249 OutputDebugStringW(L"UNIMPLEMENTED\n");
250#endif
251 return E_NOTIMPL;
252}
253
257 ULONG_PTR dwDDKernelHandle)
258{
259#ifdef KSPROXY_TRACE
260 OutputDebugStringW(L"UNIMPLEMENTED\n");
261#endif
262 return E_NOTIMPL;
263}
264
268 IN DWORD dwVideoPortID)
269{
270#ifdef KSPROXY_TRACE
271 OutputDebugStringW(L"UNIMPLEMENTED\n");
272#endif
273 return E_NOTIMPL;
274}
275
276
280 DWORD cHandles,
281 IN ULONG_PTR *rgDDKernelHandles)
282{
283#ifdef KSPROXY_TRACE
284 OutputDebugStringW(L"UNIMPLEMENTED\n");
285#endif
286 return E_NOTIMPL;
287}
288
289
293 DWORD dwPitch,
294 IN DWORD dwXOrigin,
295 IN DWORD dwYOrigin)
296{
297#ifdef KSPROXY_TRACE
298 OutputDebugStringW(L"UNIMPLEMENTED\n");
299#endif
300 return E_NOTIMPL;
301}
302
303
305WINAPI
307 IUnknown * pUnkOuter,
308 REFIID riid,
309 LPVOID * ppv)
310{
311#ifdef KSPROXY_TRACE
312 OutputDebugStringW(L"CVPVBIConfig_Constructor\n");
313#endif
314
316
317 if (!handler)
318 return E_OUTOFMEMORY;
319
320 if (FAILED(handler->QueryInterface(riid, ppv)))
321 {
322 /* not supported */
323 delete handler;
324 return E_NOINTERFACE;
325 }
326
327 return NOERROR;
328}
#define InterlockedIncrement
Definition: armddk.h:53
#define InterlockedDecrement
Definition: armddk.h:52
#define STDMETHODIMP
Definition: basetyps.h:43
const GUID IID_IUnknown
#define STDMETHODCALLTYPE
Definition: bdasup.h:9
virtual ~CVPVBIConfig()
HRESULT STDMETHODCALLTYPE Stop()
HRESULT STDMETHODCALLTYPE GetVideoFormats(LPDWORD pdwNumFormats, IN OUT LPDDPIXELFORMAT pddPixelFormats)
HRESULT STDMETHODCALLTYPE Run(REFERENCE_TIME tStart)
HRESULT STDMETHODCALLTYPE InformVPInputFormats(DWORD dwNumFormats, IN LPDDPIXELFORMAT pDDPixelFormats)
HRESULT STDMETHODCALLTYPE SetDirectDrawKernelHandle(ULONG_PTR dwDDKernelHandle)
HRESULT STDMETHODCALLTYPE Pause()
HRESULT STDMETHODCALLTYPE SetSurfaceParameters(DWORD dwPitch, IN DWORD dwXOrigin, IN DWORD dwYOrigin)
HRESULT STDMETHODCALLTYPE GetConnectInfo(LPDWORD pdwNumConnectInfo, IN OUT LPDDVIDEOPORTCONNECT pddVPConnectInfo)
STDMETHODIMP_(ULONG) Release()
HRESULT STDMETHODCALLTYPE GetOverlaySurface(LPDIRECTDRAWSURFACE *ppddOverlaySurface)
STDMETHODIMP QueryInterface(REFIID InterfaceId, PVOID *Interface)
STDMETHODIMP_(ULONG) AddRef()
HRESULT STDMETHODCALLTYPE GetMaxPixelRate(LPAMVPSIZE pamvpSize, OUT LPDWORD pdwMaxPixelsPerSecond)
HRESULT STDMETHODCALLTYPE SetConnectInfo(DWORD dwChosenEntry)
HRESULT STDMETHODCALLTYPE SetInvertPolarity()
HRESULT STDMETHODCALLTYPE GetVPDataInfo(LPAMVPDATAINFO pamvpDataInfo)
HRESULT STDMETHODCALLTYPE SetDDSurfaceKernelHandles(DWORD cHandles, IN ULONG_PTR *rgDDKernelHandles)
HRESULT STDMETHODCALLTYPE SetSyncSource(IReferenceClock *pClock)
HRESULT STDMETHODCALLTYPE SetVideoFormat(DWORD dwChosenEntry)
HRESULT STDMETHODCALLTYPE NotifyGraphChange()
HRESULT STDMETHODCALLTYPE SetVideoPortID(IN DWORD dwVideoPortID)
HRESULT WINAPI CVPVBIConfig_Constructor(IUnknown *pUnkOuter, REFIID riid, LPVOID *ppv)
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define E_NOTIMPL
Definition: ddrawi.h:99
const GUID IID_IDistributorNotify
UINT(* handler)(MSIPACKAGE *)
Definition: action.c:7482
LONGLONG REFERENCE_TIME
Definition: dmusicks.h:9
unsigned long DWORD
Definition: ntddk_ex.h:95
void WINAPI SHIM_OBJ_NAME() OutputDebugStringW(LPCWSTR lpOutputString)
Definition: ignoredbgout.c:23
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39
ULONG AddRef()
ULONG Release()
#define FAILED(hr)
Definition: intsafe.h:51
#define L(x)
Definition: ntvdm.h:50
long LONG
Definition: pedump.c:60
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147
#define REFIID
Definition: guiddef.h:118
@ Output
Definition: arc.h:85
void * PVOID
Definition: typedefs.h:50
uint32_t * LPDWORD
Definition: typedefs.h:59
uint32_t ULONG_PTR
Definition: typedefs.h:65
#define IN
Definition: typedefs.h:39
uint32_t ULONG
Definition: typedefs.h:59
#define OUT
Definition: typedefs.h:40
struct tagRun Run
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE Interface
Definition: wdffdo.h:465
#define WINAPI
Definition: msvc.h:6
#define E_NOINTERFACE
Definition: winerror.h:2364
#define NOERROR
Definition: winerror.h:2354