ReactOS  0.4.13-dev-698-g77671f0
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 
11 class CVPVBIConfig : public IVPVBIConfig,
12  public IDistributorNotify
13 {
14 public:
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);
47  HRESULT STDMETHODCALLTYPE GetVideoFormats(LPDWORD pdwNumFormats, IN OUT LPDDPIXELFORMAT pddPixelFormats);
54  HRESULT STDMETHODCALLTYPE SetSurfaceParameters(DWORD dwPitch, IN DWORD dwXOrigin, IN DWORD dwYOrigin);
55 
57  virtual ~CVPVBIConfig(){}
58 
59 protected:
61 };
62 
63 HRESULT
66  IN REFIID refiid,
67  OUT PVOID* Output)
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 
97 HRESULT
100 {
101 #ifdef KSPROXY_TRACE
102  OutputDebugStringW(L"UNIMPLEMENTED\n");
103 #endif
104  return E_NOTIMPL;
105 }
106 
107 HRESULT
110 {
111 #ifdef KSPROXY_TRACE
112  OutputDebugStringW(L"UNIMPLEMENTED\n");
113 #endif
114  return E_NOTIMPL;
115 }
116 
117 HRESULT
120  REFERENCE_TIME tStart)
121 {
122 #ifdef KSPROXY_TRACE
123  OutputDebugStringW(L"UNIMPLEMENTED\n");
124 #endif
125  return E_NOTIMPL;
126 }
127 
128 HRESULT
131  IReferenceClock *pClock)
132 {
133 #ifdef KSPROXY_TRACE
134  OutputDebugStringW(L"UNIMPLEMENTED\n");
135 #endif
136  return E_NOTIMPL;
137 }
138 
139 HRESULT
142 {
143 #ifdef KSPROXY_TRACE
144  OutputDebugStringW(L"UNIMPLEMENTED\n");
145 #endif
146  return E_NOTIMPL;
147 }
148 
149 //-------------------------------------------------------------------
150 // IVPBaseConfig
151 //
152 HRESULT
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 
164 HRESULT
167  DWORD dwChosenEntry)
168 {
169 #ifdef KSPROXY_TRACE
170  OutputDebugStringW(L"UNIMPLEMENTED\n");
171 #endif
172  return E_NOTIMPL;
173 }
174 
175 HRESULT
178  LPAMVPDATAINFO pamvpDataInfo)
179 {
180 #ifdef KSPROXY_TRACE
181  OutputDebugStringW(L"UNIMPLEMENTED\n");
182 #endif
183  return E_NOTIMPL;
184 }
185 
186 HRESULT
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 
198 HRESULT
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 
210 HRESULT
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 
222 HRESULT
225  DWORD dwChosenEntry)
226 {
227 #ifdef KSPROXY_TRACE
228  OutputDebugStringW(L"UNIMPLEMENTED\n");
229 #endif
230  return E_NOTIMPL;
231 }
232 
233 HRESULT
236 {
237  #ifdef KSPROXY_TRACE
238  OutputDebugStringW(L"UNIMPLEMENTED\n");
239 #endif
240  return E_NOTIMPL;
241 }
242 
243 HRESULT
246  LPDIRECTDRAWSURFACE* ppddOverlaySurface)
247 {
248 #ifdef KSPROXY_TRACE
249  OutputDebugStringW(L"UNIMPLEMENTED\n");
250 #endif
251  return E_NOTIMPL;
252 }
253 
254 HRESULT
257  ULONG_PTR dwDDKernelHandle)
258 {
259 #ifdef KSPROXY_TRACE
260  OutputDebugStringW(L"UNIMPLEMENTED\n");
261 #endif
262  return E_NOTIMPL;
263 }
264 
265 HRESULT
268  IN DWORD dwVideoPortID)
269 {
270 #ifdef KSPROXY_TRACE
271  OutputDebugStringW(L"UNIMPLEMENTED\n");
272 #endif
273  return E_NOTIMPL;
274 }
275 
276 
277 HRESULT
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 
290 HRESULT
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 
304 HRESULT
305 WINAPI
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 }
HRESULT STDMETHODCALLTYPE Stop()
#define IN
Definition: typedefs.h:38
HRESULT STDMETHODCALLTYPE SetSyncSource(IReferenceClock *pClock)
STDMETHODIMP_(ULONG) AddRef()
HRESULT STDMETHODCALLTYPE GetConnectInfo(LPDWORD pdwNumConnectInfo, IN OUT LPDDVIDEOPORTCONNECT pddVPConnectInfo)
#define REFIID
Definition: guiddef.h:118
#define E_NOINTERFACE
Definition: winerror.h:2364
HRESULT STDMETHODCALLTYPE GetOverlaySurface(LPDIRECTDRAWSURFACE *ppddOverlaySurface)
_In_ BOOLEAN Release
Definition: classpnp.h:929
#define NOERROR
Definition: winerror.h:2354
HRESULT STDMETHODCALLTYPE SetVideoFormat(DWORD dwChosenEntry)
REFIID riid
Definition: precomp.h:44
HRESULT STDMETHODCALLTYPE GetMaxPixelRate(LPAMVPSIZE pamvpSize, OUT LPDWORD pdwMaxPixelsPerSecond)
REFIID LPVOID * ppv
Definition: atlbase.h:39
STDMETHODIMP QueryInterface(REFIID InterfaceId, PVOID *Interface)
HRESULT STDMETHODCALLTYPE InformVPInputFormats(DWORD dwNumFormats, IN LPDDPIXELFORMAT pDDPixelFormats)
uint32_t ULONG_PTR
Definition: typedefs.h:63
void WINAPI SHIM_OBJ_NAME() OutputDebugStringW(LPCWSTR lpOutputString)
Definition: ignoredbgout.c:23
HRESULT STDMETHODCALLTYPE SetInvertPolarity()
HRESULT STDMETHODCALLTYPE SetVideoPortID(IN DWORD dwVideoPortID)
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
virtual ~CVPVBIConfig()
long LONG
Definition: pedump.c:60
STDMETHODIMP_(ULONG) Release()
#define STDMETHODIMP
Definition: basetyps.h:43
HRESULT STDMETHODCALLTYPE SetDirectDrawKernelHandle(ULONG_PTR dwDDKernelHandle)
HRESULT STDMETHODCALLTYPE GetVideoFormats(LPDWORD pdwNumFormats, IN OUT LPDDPIXELFORMAT pddPixelFormats)
void * PVOID
Definition: retypes.h:9
HRESULT STDMETHODCALLTYPE NotifyGraphChange()
IN PVOID IN PVOID IN USHORT IN USHORT IN PINTERFACE Interface
Definition: pci.h:359
HRESULT WINAPI CVPVBIConfig_Constructor(IUnknown *pUnkOuter, REFIID riid, LPVOID *ppv)
LONGLONG REFERENCE_TIME
Definition: dmusicks.h:9
LONG HRESULT
Definition: typedefs.h:77
const GUID IID_IUnknown
#define WINAPI
Definition: msvc.h:8
#define STDMETHODCALLTYPE
Definition: bdasup.h:9
unsigned long DWORD
Definition: ntddk_ex.h:95
static const WCHAR L[]
Definition: oid.c:1250
#define InterlockedDecrement
Definition: armddk.h:52
Definition: arc.h:85
HRESULT STDMETHODCALLTYPE SetDDSurfaceKernelHandles(DWORD cHandles, IN ULONG_PTR *rgDDKernelHandles)
HRESULT STDMETHODCALLTYPE Run(REFERENCE_TIME tStart)
#define InterlockedIncrement
Definition: armddk.h:53
#define E_NOTIMPL
Definition: ddrawi.h:99
HRESULT STDMETHODCALLTYPE SetConnectInfo(DWORD dwChosenEntry)
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
Definition: compobj.c:4021
static ULONG WINAPI AddRef(IStream *iface)
Definition: clist.c:90
const GUID IID_IDistributorNotify
#define OUT
Definition: typedefs.h:39
HRESULT STDMETHODCALLTYPE GetVPDataInfo(LPAMVPDATAINFO pamvpDataInfo)
uint32_t * LPDWORD
Definition: typedefs.h:57
unsigned int ULONG
Definition: retypes.h:1
HRESULT STDMETHODCALLTYPE Pause()
UINT(* handler)(MSIPACKAGE *)
Definition: action.c:7786
HRESULT STDMETHODCALLTYPE SetSurfaceParameters(DWORD dwPitch, IN DWORD dwXOrigin, IN DWORD dwYOrigin)