Stubbed some interfaces for the FilterGraph CLSID.
[wine/multimedia.git] / dlls / quartz / filtergraph.c
blob78719f55e3bfffa3f32f169e87daaf57fec61eeb
1 /* DirectShow FilterGraph object (QUARTZ.DLL)
3 * Copyright 2002 Lionel Ulmer
5 * This file contains the (internal) driver registration functions,
6 * driver enumeration APIs and DirectDraw creation functions.
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2.1 of the License, or (at your option) any later version.
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 #include "config.h"
24 #include "dshow.h"
25 #include "wine/debug.h"
27 #include "quartz_private.h"
29 WINE_DEFAULT_DEBUG_CHANNEL(quartz);
31 static HRESULT Filtergraph_QueryInterface(IFilterGraphImpl *This,
32 REFIID riid,
33 LPVOID *ppvObj) {
34 TRACE("(%p)->(%s (%p), %p)\n", This, debugstr_guid(riid), riid, ppvObj);
36 if (IsEqualGUID(&IID_IUnknown, riid) ||
37 IsEqualGUID(&IID_IGraphBuilder, riid)) {
38 *ppvObj = &(This->IGraphBuilder_vtbl);
39 TRACE(" returning IGraphBuilder interface (%p)\n", *ppvObj);
40 } else if (IsEqualGUID(&IID_IMediaControl, riid)) {
41 *ppvObj = &(This->IMediaControl_vtbl);
42 TRACE(" returning IMediaControl interface (%p)\n", *ppvObj);
43 } else if (IsEqualGUID(&IID_IMediaSeeking, riid)) {
44 *ppvObj = &(This->IMediaSeeking_vtbl);
45 TRACE(" returning IMediaSeeking interface (%p)\n", *ppvObj);
46 } else if (IsEqualGUID(&IID_IBasicAudio, riid)) {
47 *ppvObj = &(This->IBasicAudio_vtbl);
48 TRACE(" returning IBasicAudio interface (%p)\n", *ppvObj);
49 } else if (IsEqualGUID(&IID_IBasicVideo, riid)) {
50 *ppvObj = &(This->IBasicVideo_vtbl);
51 TRACE(" returning IBasicVideo interface (%p)\n", *ppvObj);
52 } else if (IsEqualGUID(&IID_IVideoWindow, riid)) {
53 *ppvObj = &(This->IVideoWindow_vtbl);
54 TRACE(" returning IVideoWindow interface (%p)\n", *ppvObj);
55 } else if (IsEqualGUID(&IID_IMediaEvent, riid) ||
56 IsEqualGUID(&IID_IMediaEventEx, riid)) {
57 *ppvObj = &(This->IMediaEventEx_vtbl);
58 TRACE(" returning IMediaEvent(Ex) interface (%p)\n", *ppvObj);
59 } else {
60 *ppvObj = NULL;
61 FIXME(" unknown interface !\n");
62 return E_NOINTERFACE;
65 This->ref++;
66 return S_OK;
69 static ULONG Filtergraph_AddRef(IFilterGraphImpl *This) {
70 TRACE("(%p)->(): new ref = %ld\n", This, This->ref + 1);
72 return ++This->ref;
75 static ULONG Filtergraph_Release(IFilterGraphImpl *This) {
76 static ULONG ref;
78 TRACE("(%p)->(): new ref = %ld\n", This, This->ref - 1);
80 ref = --This->ref;
81 if (ref == 0) {
82 HeapFree(GetProcessHeap(), 0, This);
84 return ref;
88 /*** IUnknown methods ***/
89 static HRESULT WINAPI Graphbuilder_QueryInterface(IGraphBuilder *iface,
90 REFIID riid,
91 LPVOID*ppvObj) {
92 ICOM_THIS_MULTI(IFilterGraphImpl, IGraphBuilder_vtbl, iface);
94 TRACE("(%p/%p)->(%s (%p), %p)\n", This, iface, debugstr_guid(riid), riid, ppvObj);
95 return Filtergraph_QueryInterface(This, riid, ppvObj);
98 static ULONG WINAPI Graphbuilder_AddRef(IGraphBuilder *iface) {
99 ICOM_THIS_MULTI(IFilterGraphImpl, IGraphBuilder_vtbl, iface);
101 TRACE("(%p/%p)->() calling FilterGraph AddRef\n", This, iface);
103 return Filtergraph_AddRef(This);
106 static ULONG WINAPI Graphbuilder_Release(IGraphBuilder *iface) {
107 ICOM_THIS_MULTI(IFilterGraphImpl, IGraphBuilder_vtbl, iface);
109 TRACE("(%p/%p)->() calling FilterGraph Release\n", This, iface);
111 return Filtergraph_Release(This);
114 /*** IFilterGraph methods ***/
115 static HRESULT WINAPI Graphbuilder_AddFilter(IGraphBuilder *iface,
116 IBaseFilter *pFilter,
117 LPCWSTR pName) {
118 ICOM_THIS_MULTI(IFilterGraphImpl, IGraphBuilder_vtbl, iface);
120 TRACE("(%p/%p)->(%p, %s (%p)): stub !!!\n", This, iface, pFilter, debugstr_w(pName), pName);
122 return S_OK;
125 static HRESULT WINAPI Graphbuilder_RemoveFilter(IGraphBuilder *iface,
126 IBaseFilter *pFilter) {
127 ICOM_THIS_MULTI(IFilterGraphImpl, IGraphBuilder_vtbl, iface);
129 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pFilter);
131 return S_OK;
134 static HRESULT WINAPI Graphbuilder_EnumFilter(IGraphBuilder *iface,
135 IEnumFilters **ppEnum) {
136 ICOM_THIS_MULTI(IFilterGraphImpl, IGraphBuilder_vtbl, iface);
138 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, ppEnum);
140 return S_OK;
143 static HRESULT WINAPI Graphbuilder_FindFilterByName(IGraphBuilder *iface,
144 LPCWSTR pName,
145 IBaseFilter **ppFilter) {
146 ICOM_THIS_MULTI(IFilterGraphImpl, IGraphBuilder_vtbl, iface);
148 TRACE("(%p/%p)->(%s (%p), %p): stub !!!\n", This, iface, debugstr_w(pName), pName, ppFilter);
150 return S_OK;
153 static HRESULT WINAPI Graphbuilder_ConnectDirect(IGraphBuilder *iface,
154 IPin *ppinIn,
155 IPin *ppinOut,
156 const AM_MEDIA_TYPE *pmt) {
157 ICOM_THIS_MULTI(IFilterGraphImpl, IGraphBuilder_vtbl, iface);
159 TRACE("(%p/%p)->(%p, %p, %p): stub !!!\n", This, iface, ppinIn, ppinOut, pmt);
161 return S_OK;
164 static HRESULT WINAPI Graphbuilder_Reconnect(IGraphBuilder *iface,
165 IPin *ppin) {
166 ICOM_THIS_MULTI(IFilterGraphImpl, IGraphBuilder_vtbl, iface);
168 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, ppin);
170 return S_OK;
173 static HRESULT WINAPI Graphbuilder_Disconnect(IGraphBuilder *iface,
174 IPin *ppin) {
175 ICOM_THIS_MULTI(IFilterGraphImpl, IGraphBuilder_vtbl, iface);
177 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, ppin);
179 return S_OK;
182 static HRESULT WINAPI Graphbuilder_SetDefaultSyncSource(IGraphBuilder *iface) {
183 ICOM_THIS_MULTI(IFilterGraphImpl, IGraphBuilder_vtbl, iface);
185 TRACE("(%p/%p)->(): stub !!!\n", iface, This);
187 return S_OK;
190 /*** IGraphBuilder methods ***/
191 static HRESULT WINAPI Graphbuilder_Connect(IGraphBuilder *iface,
192 IPin *ppinOut,
193 IPin *ppinIn) {
194 ICOM_THIS_MULTI(IFilterGraphImpl, IGraphBuilder_vtbl, iface);
196 TRACE("(%p/%p)->(%p, %p): stub !!!\n", This, iface, ppinOut, ppinIn);
198 return S_OK;
201 static HRESULT WINAPI Graphbuilder_Render(IGraphBuilder *iface,
202 IPin *ppinOut) {
203 ICOM_THIS_MULTI(IFilterGraphImpl, IGraphBuilder_vtbl, iface);
205 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, ppinOut);
207 return S_OK;
210 static HRESULT WINAPI Graphbuilder_RenderFile(IGraphBuilder *iface,
211 LPCWSTR lpcwstrFile,
212 LPCWSTR lpcwstrPlayList) {
213 ICOM_THIS_MULTI(IFilterGraphImpl, IGraphBuilder_vtbl, iface);
215 TRACE("(%p/%p)->(%s (%p), %s (%p)): stub !!!\n", This, iface, debugstr_w(lpcwstrFile), lpcwstrFile, debugstr_w(lpcwstrPlayList), lpcwstrPlayList);
217 return S_OK;
220 static HRESULT WINAPI Graphbuilder_AddSourceFilter(IGraphBuilder *iface,
221 LPCWSTR lpcwstrFileName,
222 LPCWSTR lpcwstrFilterName,
223 IBaseFilter **ppFilter) {
224 ICOM_THIS_MULTI(IFilterGraphImpl, IGraphBuilder_vtbl, iface);
226 TRACE("(%p/%p)->(%s (%p), %s (%p), %p): stub !!!\n", This, iface, debugstr_w(lpcwstrFileName), lpcwstrFileName, debugstr_w(lpcwstrFilterName), lpcwstrFilterName, ppFilter);
228 return S_OK;
231 static HRESULT WINAPI Graphbuilder_SetLogFile(IGraphBuilder *iface,
232 DWORD_PTR hFile) {
233 ICOM_THIS_MULTI(IFilterGraphImpl, IGraphBuilder_vtbl, iface);
235 TRACE("(%p/%p)->(%08lx): stub !!!\n", This, iface, (DWORD) hFile);
237 return S_OK;
240 static HRESULT WINAPI Graphbuilder_Abort(IGraphBuilder *iface) {
241 ICOM_THIS_MULTI(IFilterGraphImpl, IGraphBuilder_vtbl, iface);
243 TRACE("(%p/%p)->(): stub !!!\n", This, iface);
245 return S_OK;
248 static HRESULT WINAPI Graphbuilder_ShouldOperationContinue(IGraphBuilder *iface) {
249 ICOM_THIS_MULTI(IFilterGraphImpl, IGraphBuilder_vtbl, iface);
251 TRACE("(%p/%p)->(): stub !!!\n", This, iface);
253 return S_OK;
257 static ICOM_VTABLE(IGraphBuilder) IGraphBuilder_VTable =
259 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
260 Graphbuilder_QueryInterface,
261 Graphbuilder_AddRef,
262 Graphbuilder_Release,
263 Graphbuilder_AddFilter,
264 Graphbuilder_RemoveFilter,
265 Graphbuilder_EnumFilter,
266 Graphbuilder_FindFilterByName,
267 Graphbuilder_ConnectDirect,
268 Graphbuilder_Reconnect,
269 Graphbuilder_Disconnect,
270 Graphbuilder_SetDefaultSyncSource,
271 Graphbuilder_Connect,
272 Graphbuilder_Render,
273 Graphbuilder_RenderFile,
274 Graphbuilder_AddSourceFilter,
275 Graphbuilder_SetLogFile,
276 Graphbuilder_Abort,
277 Graphbuilder_ShouldOperationContinue
280 /*** IUnknown methods ***/
281 static HRESULT WINAPI Mediacontrol_QueryInterface(IMediaControl *iface,
282 REFIID riid,
283 LPVOID*ppvObj) {
284 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaControl_vtbl, iface);
286 TRACE("(%p/%p)->(%s (%p), %p)\n", This, iface, debugstr_guid(riid), riid, ppvObj);
288 return Filtergraph_QueryInterface(This, riid, ppvObj);
291 static ULONG WINAPI Mediacontrol_AddRef(IMediaControl *iface) {
292 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaControl_vtbl, iface);
294 TRACE("(%p/%p)->()\n", This, iface);
296 return Filtergraph_AddRef(This);
299 static ULONG WINAPI Mediacontrol_Release(IMediaControl *iface) {
300 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaControl_vtbl, iface);
302 TRACE("(%p/%p)->()\n", This, iface);
304 return Filtergraph_Release(This);
308 /*** IDispatch methods ***/
309 static HRESULT WINAPI Mediacontrol_GetTypeInfoCount(IMediaControl *iface,
310 UINT*pctinfo) {
311 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaControl_vtbl, iface);
313 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pctinfo);
315 return S_OK;
318 static HRESULT WINAPI Mediacontrol_GetTypeInfo(IMediaControl *iface,
319 UINT iTInfo,
320 LCID lcid,
321 ITypeInfo**ppTInfo) {
322 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaControl_vtbl, iface);
324 TRACE("(%p/%p)->(%d, %ld, %p): stub !!!\n", This, iface, iTInfo, lcid, ppTInfo);
326 return S_OK;
329 static HRESULT WINAPI Mediacontrol_GetIDsOfNames(IMediaControl *iface,
330 REFIID riid,
331 LPOLESTR*rgszNames,
332 UINT cNames,
333 LCID lcid,
334 DISPID*rgDispId) {
335 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaControl_vtbl, iface);
337 TRACE("(%p/%p)->(%s (%p), %p, %d, %ld, %p): stub !!!\n", This, iface, debugstr_guid(riid), riid, rgszNames, cNames, lcid, rgDispId);
339 return S_OK;
342 static HRESULT WINAPI Mediacontrol_Invoke(IMediaControl *iface,
343 DISPID dispIdMember,
344 REFIID riid,
345 LCID lcid,
346 WORD wFlags,
347 DISPPARAMS*pDispParams,
348 VARIANT*pVarResult,
349 EXCEPINFO*pExepInfo,
350 UINT*puArgErr) {
351 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaControl_vtbl, iface);
353 TRACE("(%p/%p)->(%ld, %s (%p), %ld, %04x, %p, %p, %p, %p): stub !!!\n", This, iface, dispIdMember, debugstr_guid(riid), riid, lcid, wFlags, pDispParams, pVarResult, pExepInfo, puArgErr);
355 return S_OK;
358 /*** IMediaControl methods ***/
359 static HRESULT WINAPI Mediacontrol_Run(IMediaControl *iface) {
360 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaControl_vtbl, iface);
362 TRACE("(%p/%p)->(): stub !!!\n", This, iface);
364 return S_OK;
367 static HRESULT WINAPI Mediacontrol_Pause(IMediaControl *iface) {
368 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaControl_vtbl, iface);
370 TRACE("(%p/%p)->(): stub !!!\n", This, iface);
372 return S_OK;
375 static HRESULT WINAPI Mediacontrol_Stop(IMediaControl *iface) {
376 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaControl_vtbl, iface);
378 TRACE("(%p/%p)->(): stub !!!\n", This, iface);
380 return S_OK;
383 static HRESULT WINAPI Mediacontrol_GetState(IMediaControl *iface,
384 LONG msTimeout,
385 OAFilterState *pfs) {
386 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaControl_vtbl, iface);
388 TRACE("(%p/%p)->(%ld, %p): stub !!!\n", This, iface, msTimeout, pfs);
390 return S_OK;
393 static HRESULT WINAPI Mediacontrol_RenderFile(IMediaControl *iface,
394 BSTR strFilename) {
395 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaControl_vtbl, iface);
397 TRACE("(%p/%p)->(%s (%p)): stub !!!\n", This, iface, debugstr_w(strFilename), strFilename);
399 return S_OK;
402 static HRESULT WINAPI Mediacontrol_AddSourceFilter(IMediaControl *iface,
403 BSTR strFilename,
404 IDispatch **ppUnk) {
405 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaControl_vtbl, iface);
407 TRACE("(%p/%p)->(%s (%p), %p): stub !!!\n", This, iface, debugstr_w(strFilename), strFilename, ppUnk);
409 return S_OK;
412 static HRESULT WINAPI Mediacontrol_get_FilterCollection(IMediaControl *iface,
413 IDispatch **ppUnk) {
414 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaControl_vtbl, iface);
416 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, ppUnk);
418 return S_OK;
421 static HRESULT WINAPI Mediacontrol_get_RegFilterCollection(IMediaControl *iface,
422 IDispatch **ppUnk) {
423 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaControl_vtbl, iface);
425 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, ppUnk);
427 return S_OK;
430 static HRESULT WINAPI Mediacontrol_StopWhenReady(IMediaControl *iface) {
431 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaControl_vtbl, iface);
433 TRACE("(%p/%p)->(): stub !!!\n", This, iface);
435 return S_OK;
439 static ICOM_VTABLE(IMediaControl) IMediaControl_VTable =
441 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
442 Mediacontrol_QueryInterface,
443 Mediacontrol_AddRef,
444 Mediacontrol_Release,
445 Mediacontrol_GetTypeInfoCount,
446 Mediacontrol_GetTypeInfo,
447 Mediacontrol_GetIDsOfNames,
448 Mediacontrol_Invoke,
449 Mediacontrol_Run,
450 Mediacontrol_Pause,
451 Mediacontrol_Stop,
452 Mediacontrol_GetState,
453 Mediacontrol_RenderFile,
454 Mediacontrol_AddSourceFilter,
455 Mediacontrol_get_FilterCollection,
456 Mediacontrol_get_RegFilterCollection,
457 Mediacontrol_StopWhenReady
461 /*** IUnknown methods ***/
462 static HRESULT WINAPI Mediaseeking_QueryInterface(IMediaSeeking *iface,
463 REFIID riid,
464 LPVOID*ppvObj) {
465 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
467 TRACE("(%p/%p)->(%s (%p), %p)\n", This, iface, debugstr_guid(riid), riid, ppvObj);
469 return Filtergraph_QueryInterface(This, riid, ppvObj);
472 static ULONG WINAPI Mediaseeking_AddRef(IMediaSeeking *iface) {
473 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
475 TRACE("(%p/%p)->()\n", This, iface);
477 return Filtergraph_AddRef(This);
480 static ULONG WINAPI Mediaseeking_Release(IMediaSeeking *iface) {
481 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
483 TRACE("(%p/%p)->()\n", This, iface);
485 return Filtergraph_Release(This);
488 /*** IMediaSeeking methods ***/
489 static HRESULT WINAPI Mediaseeking_GetCapabilities(IMediaSeeking *iface,
490 DWORD *pCapabilities) {
491 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
493 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pCapabilities);
495 return S_OK;
498 static HRESULT WINAPI Mediaseeking_CheckCapabilities(IMediaSeeking *iface,
499 DWORD *pCapabilities) {
500 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
502 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pCapabilities);
504 return S_OK;
507 static HRESULT WINAPI Mediaseeking_IsFormatSupported(IMediaSeeking *iface,
508 GUID *pFormat) {
509 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
511 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pFormat);
513 return S_OK;
516 static HRESULT WINAPI Mediaseeking_QueryPreferredFormat(IMediaSeeking *iface,
517 GUID *pFormat) {
518 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
520 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pFormat);
522 return S_OK;
525 static HRESULT WINAPI Mediaseeking_GetTimeFormat(IMediaSeeking *iface,
526 GUID *pFormat) {
527 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
529 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pFormat);
531 return S_OK;
534 static HRESULT WINAPI Mediaseeking_IsUsingTimeFormat(IMediaSeeking *iface,
535 GUID *pFormat) {
536 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
538 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pFormat);
540 return S_OK;
543 static HRESULT WINAPI Mediaseeking_SetTimeFormat(IMediaSeeking *iface,
544 GUID *pFormat) {
545 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
547 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pFormat);
549 return S_OK;
552 static HRESULT WINAPI Mediaseeking_GetDuration(IMediaSeeking *iface,
553 LONGLONG *pDuration) {
554 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
556 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pDuration);
558 return S_OK;
561 static HRESULT WINAPI Mediaseeking_GetStopPosition(IMediaSeeking *iface,
562 LONGLONG *pStop) {
563 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
565 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pStop);
567 return S_OK;
570 static HRESULT WINAPI Mediaseeking_GetCurrentPosition(IMediaSeeking *iface,
571 LONGLONG *pCurrent) {
572 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
574 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pCurrent);
576 return S_OK;
579 static HRESULT WINAPI Mediaseeking_ConvertTimeFormat(IMediaSeeking *iface,
580 LONGLONG *pTarget,
581 GUID *pTargetFormat,
582 LONGLONG Source,
583 GUID *pSourceFormat) {
584 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
586 TRACE("(%p/%p)->(%p, %p, %lld, %p): stub !!!\n", This, iface, pTarget, pTargetFormat, Source, pSourceFormat);
588 return S_OK;
591 static HRESULT WINAPI Mediaseeking_SetPositions(IMediaSeeking *iface,
592 LONGLONG *pCurrent,
593 DWORD dwCurrentFlags,
594 LONGLONG *pStop,
595 DWORD dwStopFlags) {
596 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
598 TRACE("(%p/%p)->(%p, %08lx, %p, %08lx): stub !!!\n", This, iface, pCurrent, dwCurrentFlags, pStop, dwStopFlags);
600 return S_OK;
603 static HRESULT WINAPI Mediaseeking_GetPositions(IMediaSeeking *iface,
604 LONGLONG *pCurrent,
605 LONGLONG *pStop) {
606 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
608 TRACE("(%p/%p)->(%p, %p): stub !!!\n", This, iface, pCurrent, pStop);
610 return S_OK;
613 static HRESULT WINAPI Mediaseeking_GetAvailable(IMediaSeeking *iface,
614 LONGLONG *pEarliest,
615 LONGLONG *pLatest) {
616 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
618 TRACE("(%p/%p)->(%p, %p): stub !!!\n", This, iface, pEarliest, pLatest);
620 return S_OK;
623 static HRESULT WINAPI Mediaseeking_SetRate(IMediaSeeking *iface,
624 double dRate) {
625 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
627 TRACE("(%p/%p)->(%f): stub !!!\n", This, iface, dRate);
629 return S_OK;
632 static HRESULT WINAPI Mediaseeking_GetRate(IMediaSeeking *iface,
633 double *pdRate) {
634 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
636 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pdRate);
638 return S_OK;
641 static HRESULT WINAPI Mediaseeking_GetPreroll(IMediaSeeking *iface,
642 LONGLONG *pllPreroll) {
643 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaSeeking_vtbl, iface);
645 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pllPreroll);
647 return S_OK;
651 static ICOM_VTABLE(IMediaSeeking) IMediaSeeking_VTable =
653 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
654 Mediaseeking_QueryInterface,
655 Mediaseeking_AddRef,
656 Mediaseeking_Release,
657 Mediaseeking_GetCapabilities,
658 Mediaseeking_CheckCapabilities,
659 Mediaseeking_IsFormatSupported,
660 Mediaseeking_QueryPreferredFormat,
661 Mediaseeking_GetTimeFormat,
662 Mediaseeking_IsUsingTimeFormat,
663 Mediaseeking_SetTimeFormat,
664 Mediaseeking_GetDuration,
665 Mediaseeking_GetStopPosition,
666 Mediaseeking_GetCurrentPosition,
667 Mediaseeking_ConvertTimeFormat,
668 Mediaseeking_SetPositions,
669 Mediaseeking_GetPositions,
670 Mediaseeking_GetAvailable,
671 Mediaseeking_SetRate,
672 Mediaseeking_GetRate,
673 Mediaseeking_GetPreroll
676 /*** IUnknown methods ***/
677 static HRESULT WINAPI Basicaudio_QueryInterface(IBasicAudio *iface,
678 REFIID riid,
679 LPVOID*ppvObj) {
680 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicAudio_vtbl, iface);
682 TRACE("(%p/%p)->(%s (%p), %p)\n", This, iface, debugstr_guid(riid), riid, ppvObj);
684 return Filtergraph_QueryInterface(This, riid, ppvObj);
687 static ULONG WINAPI Basicaudio_AddRef(IBasicAudio *iface) {
688 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicAudio_vtbl, iface);
690 TRACE("(%p/%p)->()\n", This, iface);
692 return Filtergraph_AddRef(This);
695 static ULONG WINAPI Basicaudio_Release(IBasicAudio *iface) {
696 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicAudio_vtbl, iface);
698 TRACE("(%p/%p)->()\n", This, iface);
700 return Filtergraph_Release(This);
703 /*** IDispatch methods ***/
704 static HRESULT WINAPI Basicaudio_GetTypeInfoCount(IBasicAudio *iface,
705 UINT*pctinfo) {
706 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicAudio_vtbl, iface);
708 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pctinfo);
710 return S_OK;
713 static HRESULT WINAPI Basicaudio_GetTypeInfo(IBasicAudio *iface,
714 UINT iTInfo,
715 LCID lcid,
716 ITypeInfo**ppTInfo) {
717 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicAudio_vtbl, iface);
719 TRACE("(%p/%p)->(%d, %ld, %p): stub !!!\n", This, iface, iTInfo, lcid, ppTInfo);
721 return S_OK;
724 static HRESULT WINAPI Basicaudio_GetIDsOfNames(IBasicAudio *iface,
725 REFIID riid,
726 LPOLESTR*rgszNames,
727 UINT cNames,
728 LCID lcid,
729 DISPID*rgDispId) {
730 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicAudio_vtbl, iface);
732 TRACE("(%p/%p)->(%s (%p), %p, %d, %ld, %p): stub !!!\n", This, iface, debugstr_guid(riid), riid, rgszNames, cNames, lcid, rgDispId);
734 return S_OK;
737 static HRESULT WINAPI Basicaudio_Invoke(IBasicAudio *iface,
738 DISPID dispIdMember,
739 REFIID riid,
740 LCID lcid,
741 WORD wFlags,
742 DISPPARAMS*pDispParams,
743 VARIANT*pVarResult,
744 EXCEPINFO*pExepInfo,
745 UINT*puArgErr) {
746 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicAudio_vtbl, iface);
748 TRACE("(%p/%p)->(%ld, %s (%p), %ld, %04x, %p, %p, %p, %p): stub !!!\n", This, iface, dispIdMember, debugstr_guid(riid), riid, lcid, wFlags, pDispParams, pVarResult, pExepInfo, puArgErr);
750 return S_OK;
753 /*** IBasicAudio methods ***/
754 static HRESULT WINAPI Basicaudio_put_Volume(IBasicAudio *iface,
755 long lVolume) {
756 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicAudio_vtbl, iface);
758 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, lVolume);
760 return S_OK;
763 static HRESULT WINAPI Basicaudio_get_Volume(IBasicAudio *iface,
764 long *plVolume) {
765 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicAudio_vtbl, iface);
767 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, plVolume);
769 return S_OK;
772 static HRESULT WINAPI Basicaudio_put_Balance(IBasicAudio *iface,
773 long lBalance) {
774 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicAudio_vtbl, iface);
776 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, lBalance);
778 return S_OK;
781 static HRESULT WINAPI Basicaudio_get_Balance(IBasicAudio *iface,
782 long *plBalance) {
783 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicAudio_vtbl, iface);
785 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, plBalance);
787 return S_OK;
790 static ICOM_VTABLE(IBasicAudio) IBasicAudio_VTable =
792 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
793 Basicaudio_QueryInterface,
794 Basicaudio_AddRef,
795 Basicaudio_Release,
796 Basicaudio_GetTypeInfoCount,
797 Basicaudio_GetTypeInfo,
798 Basicaudio_GetIDsOfNames,
799 Basicaudio_Invoke,
800 Basicaudio_put_Volume,
801 Basicaudio_get_Volume,
802 Basicaudio_put_Balance,
803 Basicaudio_get_Balance
806 /*** IUnknown methods ***/
807 static HRESULT WINAPI Basicvideo_QueryInterface(IBasicVideo *iface,
808 REFIID riid,
809 LPVOID*ppvObj) {
810 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
812 TRACE("(%p/%p)->(%s (%p), %p)\n", This, iface, debugstr_guid(riid), riid, ppvObj);
814 return Filtergraph_QueryInterface(This, riid, ppvObj);
817 static ULONG WINAPI Basicvideo_AddRef(IBasicVideo *iface) {
818 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
820 TRACE("(%p/%p)->()\n", This, iface);
822 return Filtergraph_AddRef(This);
825 static ULONG WINAPI Basicvideo_Release(IBasicVideo *iface) {
826 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
828 TRACE("(%p/%p)->()\n", This, iface);
830 return Filtergraph_Release(This);
833 /*** IDispatch methods ***/
834 static HRESULT WINAPI Basicvideo_GetTypeInfoCount(IBasicVideo *iface,
835 UINT*pctinfo) {
836 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
838 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pctinfo);
840 return S_OK;
843 static HRESULT WINAPI Basicvideo_GetTypeInfo(IBasicVideo *iface,
844 UINT iTInfo,
845 LCID lcid,
846 ITypeInfo**ppTInfo) {
847 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
849 TRACE("(%p/%p)->(%d, %ld, %p): stub !!!\n", This, iface, iTInfo, lcid, ppTInfo);
851 return S_OK;
854 static HRESULT WINAPI Basicvideo_GetIDsOfNames(IBasicVideo *iface,
855 REFIID riid,
856 LPOLESTR*rgszNames,
857 UINT cNames,
858 LCID lcid,
859 DISPID*rgDispId) {
860 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
862 TRACE("(%p/%p)->(%s (%p), %p, %d, %ld, %p): stub !!!\n", This, iface, debugstr_guid(riid), riid, rgszNames, cNames, lcid, rgDispId);
864 return S_OK;
867 static HRESULT WINAPI Basicvideo_Invoke(IBasicVideo *iface,
868 DISPID dispIdMember,
869 REFIID riid,
870 LCID lcid,
871 WORD wFlags,
872 DISPPARAMS*pDispParams,
873 VARIANT*pVarResult,
874 EXCEPINFO*pExepInfo,
875 UINT*puArgErr) {
876 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
878 TRACE("(%p/%p)->(%ld, %s (%p), %ld, %04x, %p, %p, %p, %p): stub !!!\n", This, iface, dispIdMember, debugstr_guid(riid), riid, lcid, wFlags, pDispParams, pVarResult, pExepInfo, puArgErr);
880 return S_OK;
883 /*** IBasicVideo methods ***/
884 static HRESULT WINAPI Basicvideo_get_AvgTimePerFrame(IBasicVideo *iface,
885 REFTIME *pAvgTimePerFrame) {
886 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
888 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pAvgTimePerFrame);
890 return S_OK;
893 static HRESULT WINAPI Basicvideo_get_BitRate(IBasicVideo *iface,
894 long *pBitRate) {
895 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
897 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pBitRate);
899 return S_OK;
902 static HRESULT WINAPI Basicvideo_get_BitErrorRate(IBasicVideo *iface,
903 long *pBitErrorRate) {
904 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
906 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pBitErrorRate);
908 return S_OK;
911 static HRESULT WINAPI Basicvideo_get_VideoWidth(IBasicVideo *iface,
912 long *pVideoWidth) {
913 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
915 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pVideoWidth);
917 return S_OK;
920 static HRESULT WINAPI Basicvideo_get_VideoHeight(IBasicVideo *iface,
921 long *pVideoHeight) {
922 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
924 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pVideoHeight);
926 return S_OK;
929 static HRESULT WINAPI Basicvideo_put_SourceLeft(IBasicVideo *iface,
930 long SourceLeft) {
931 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
933 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, SourceLeft);
935 return S_OK;
938 static HRESULT WINAPI Basicvideo_get_SourceLeft(IBasicVideo *iface,
939 long *pSourceLeft) {
940 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
942 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pSourceLeft);
944 return S_OK;
947 static HRESULT WINAPI Basicvideo_put_SourceWidth(IBasicVideo *iface,
948 long SourceWidth) {
949 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
951 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, SourceWidth);
953 return S_OK;
956 static HRESULT WINAPI Basicvideo_get_SourceWidth(IBasicVideo *iface,
957 long *pSourceWidth) {
958 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
960 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pSourceWidth);
962 return S_OK;
965 static HRESULT WINAPI Basicvideo_put_SourceTop(IBasicVideo *iface,
966 long SourceTop) {
967 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
969 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, SourceTop);
971 return S_OK;
974 static HRESULT WINAPI Basicvideo_get_SourceTop(IBasicVideo *iface,
975 long *pSourceTop) {
976 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
978 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pSourceTop);
980 return S_OK;
983 static HRESULT WINAPI Basicvideo_put_SourceHeight(IBasicVideo *iface,
984 long SourceHeight) {
985 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
987 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, SourceHeight);
989 return S_OK;
992 static HRESULT WINAPI Basicvideo_get_SourceHeight(IBasicVideo *iface,
993 long *pSourceHeight) {
994 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
996 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pSourceHeight);
998 return S_OK;
1001 static HRESULT WINAPI Basicvideo_put_DestinationLeft(IBasicVideo *iface,
1002 long DestinationLeft) {
1003 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1005 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, DestinationLeft);
1007 return S_OK;
1010 static HRESULT WINAPI Basicvideo_get_DestinationLeft(IBasicVideo *iface,
1011 long *pDestinationLeft) {
1012 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1014 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pDestinationLeft);
1016 return S_OK;
1019 static HRESULT WINAPI Basicvideo_put_DestinationWidth(IBasicVideo *iface,
1020 long DestinationWidth) {
1021 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1023 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, DestinationWidth);
1025 return S_OK;
1028 static HRESULT WINAPI Basicvideo_get_DestinationWidth(IBasicVideo *iface,
1029 long *pDestinationWidth) {
1030 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1032 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pDestinationWidth);
1034 return S_OK;
1037 static HRESULT WINAPI Basicvideo_put_DestinationTop(IBasicVideo *iface,
1038 long DestinationTop) {
1039 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1041 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, DestinationTop);
1043 return S_OK;
1046 static HRESULT WINAPI Basicvideo_get_DestinationTop(IBasicVideo *iface,
1047 long *pDestinationTop) {
1048 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1050 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pDestinationTop);
1052 return S_OK;
1055 static HRESULT WINAPI Basicvideo_put_DestinationHeight(IBasicVideo *iface,
1056 long DestinationHeight) {
1057 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1059 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, DestinationHeight);
1061 return S_OK;
1064 static HRESULT WINAPI Basicvideo_get_DestinationHeight(IBasicVideo *iface,
1065 long *pDestinationHeight) {
1066 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1068 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pDestinationHeight);
1070 return S_OK;
1073 static HRESULT WINAPI Basicvideo_SetSourcePosition(IBasicVideo *iface,
1074 long Left,
1075 long Top,
1076 long Width,
1077 long Height) {
1078 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1080 TRACE("(%p/%p)->(%ld, %ld, %ld, %ld): stub !!!\n", This, iface, Left, Top, Width, Height);
1082 return S_OK;
1085 static HRESULT WINAPI Basicvideo_GetSourcePosition(IBasicVideo *iface,
1086 long *pLeft,
1087 long *pTop,
1088 long *pWidth,
1089 long *pHeight) {
1090 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1092 TRACE("(%p/%p)->(%p, %p, %p, %p): stub !!!\n", This, iface, pLeft, pTop, pWidth, pHeight);
1094 return S_OK;
1097 static HRESULT WINAPI Basicvideo_SetDefaultSourcePosition(IBasicVideo *iface) {
1098 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1100 TRACE("(%p/%p)->(): stub !!!\n", This, iface);
1102 return S_OK;
1105 static HRESULT WINAPI Basicvideo_SetDestinationPosition(IBasicVideo *iface,
1106 long Left,
1107 long Top,
1108 long Width,
1109 long Height) {
1110 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1112 TRACE("(%p/%p)->(%ld, %ld, %ld, %ld): stub !!!\n", This, iface, Left, Top, Width, Height);
1114 return S_OK;
1117 static HRESULT WINAPI Basicvideo_GetDestinationPosition(IBasicVideo *iface,
1118 long *pLeft,
1119 long *pTop,
1120 long *pWidth,
1121 long *pHeight) {
1122 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1124 TRACE("(%p/%p)->(%p, %p, %p, %p): stub !!!\n", This, iface, pLeft, pTop, pWidth, pHeight);
1126 return S_OK;
1129 static HRESULT WINAPI Basicvideo_SetDefaultDestinationPosition(IBasicVideo *iface) {
1130 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1132 TRACE("(%p/%p)->(): stub !!!\n", This, iface);
1134 return S_OK;
1137 static HRESULT WINAPI Basicvideo_GetVideoSize(IBasicVideo *iface,
1138 long *pWidth,
1139 long *pHeight) {
1140 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1142 TRACE("(%p/%p)->(%p, %p): stub !!!\n", This, iface, pWidth, pHeight);
1144 return S_OK;
1147 static HRESULT WINAPI Basicvideo_GetVideoPaletteEntries(IBasicVideo *iface,
1148 long StartIndex,
1149 long Entries,
1150 long *pRetrieved,
1151 long *pPalette) {
1152 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1154 TRACE("(%p/%p)->(%ld, %ld, %p, %p): stub !!!\n", This, iface, StartIndex, Entries, pRetrieved, pPalette);
1156 return S_OK;
1159 static HRESULT WINAPI Basicvideo_GetCurrentImage(IBasicVideo *iface,
1160 long *pBufferSize,
1161 long *pDIBImage) {
1162 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1164 TRACE("(%p/%p)->(%p, %p): stub !!!\n", This, iface, pBufferSize, pDIBImage);
1166 return S_OK;
1169 static HRESULT WINAPI Basicvideo_IsUsingDefaultSource(IBasicVideo *iface) {
1170 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1172 TRACE("(%p/%p)->(): stub !!!\n", This, iface);
1174 return S_OK;
1177 static HRESULT WINAPI Basicvideo_IsUsingDefaultDestination(IBasicVideo *iface) {
1178 ICOM_THIS_MULTI(IFilterGraphImpl, IBasicVideo_vtbl, iface);
1180 TRACE("(%p/%p)->(): stub !!!\n", This, iface);
1182 return S_OK;
1186 static ICOM_VTABLE(IBasicVideo) IBasicVideo_VTable =
1188 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
1189 Basicvideo_QueryInterface,
1190 Basicvideo_AddRef,
1191 Basicvideo_Release,
1192 Basicvideo_GetTypeInfoCount,
1193 Basicvideo_GetTypeInfo,
1194 Basicvideo_GetIDsOfNames,
1195 Basicvideo_Invoke,
1196 Basicvideo_get_AvgTimePerFrame,
1197 Basicvideo_get_BitRate,
1198 Basicvideo_get_BitErrorRate,
1199 Basicvideo_get_VideoWidth,
1200 Basicvideo_get_VideoHeight,
1201 Basicvideo_put_SourceLeft,
1202 Basicvideo_get_SourceLeft,
1203 Basicvideo_put_SourceWidth,
1204 Basicvideo_get_SourceWidth,
1205 Basicvideo_put_SourceTop,
1206 Basicvideo_get_SourceTop,
1207 Basicvideo_put_SourceHeight,
1208 Basicvideo_get_SourceHeight,
1209 Basicvideo_put_DestinationLeft,
1210 Basicvideo_get_DestinationLeft,
1211 Basicvideo_put_DestinationWidth,
1212 Basicvideo_get_DestinationWidth,
1213 Basicvideo_put_DestinationTop,
1214 Basicvideo_get_DestinationTop,
1215 Basicvideo_put_DestinationHeight,
1216 Basicvideo_get_DestinationHeight,
1217 Basicvideo_SetSourcePosition,
1218 Basicvideo_GetSourcePosition,
1219 Basicvideo_SetDefaultSourcePosition,
1220 Basicvideo_SetDestinationPosition,
1221 Basicvideo_GetDestinationPosition,
1222 Basicvideo_SetDefaultDestinationPosition,
1223 Basicvideo_GetVideoSize,
1224 Basicvideo_GetVideoPaletteEntries,
1225 Basicvideo_GetCurrentImage,
1226 Basicvideo_IsUsingDefaultSource,
1227 Basicvideo_IsUsingDefaultDestination
1231 /*** IUnknown methods ***/
1232 static HRESULT WINAPI Videowindow_QueryInterface(IVideoWindow *iface,
1233 REFIID riid,
1234 LPVOID*ppvObj) {
1235 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1237 TRACE("(%p/%p)->(%s (%p), %p)\n", This, iface, debugstr_guid(riid), riid, ppvObj);
1239 return Filtergraph_QueryInterface(This, riid, ppvObj);
1242 static ULONG WINAPI Videowindow_AddRef(IVideoWindow *iface) {
1243 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1245 TRACE("(%p/%p)->()\n", This, iface);
1247 return Filtergraph_AddRef(This);
1250 static ULONG WINAPI Videowindow_Release(IVideoWindow *iface) {
1251 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1253 TRACE("(%p/%p)->()\n", This, iface);
1255 return Filtergraph_Release(This);
1258 /*** IDispatch methods ***/
1259 static HRESULT WINAPI Videowindow_GetTypeInfoCount(IVideoWindow *iface,
1260 UINT*pctinfo) {
1261 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1263 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pctinfo);
1265 return S_OK;
1268 static HRESULT WINAPI Videowindow_GetTypeInfo(IVideoWindow *iface,
1269 UINT iTInfo,
1270 LCID lcid,
1271 ITypeInfo**ppTInfo) {
1272 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1274 TRACE("(%p/%p)->(%d, %ld, %p): stub !!!\n", This, iface, iTInfo, lcid, ppTInfo);
1276 return S_OK;
1279 static HRESULT WINAPI Videowindow_GetIDsOfNames(IVideoWindow *iface,
1280 REFIID riid,
1281 LPOLESTR*rgszNames,
1282 UINT cNames,
1283 LCID lcid,
1284 DISPID*rgDispId) {
1285 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1287 TRACE("(%p/%p)->(%s (%p), %p, %d, %ld, %p): stub !!!\n", This, iface, debugstr_guid(riid), riid, rgszNames, cNames, lcid, rgDispId);
1289 return S_OK;
1292 static HRESULT WINAPI Videowindow_Invoke(IVideoWindow *iface,
1293 DISPID dispIdMember,
1294 REFIID riid,
1295 LCID lcid,
1296 WORD wFlags,
1297 DISPPARAMS*pDispParams,
1298 VARIANT*pVarResult,
1299 EXCEPINFO*pExepInfo,
1300 UINT*puArgErr) {
1301 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1303 TRACE("(%p/%p)->(%ld, %s (%p), %ld, %04x, %p, %p, %p, %p): stub !!!\n", This, iface, dispIdMember, debugstr_guid(riid), riid, lcid, wFlags, pDispParams, pVarResult, pExepInfo, puArgErr);
1305 return S_OK;
1308 /*** IVideoWindow methods ***/
1309 static HRESULT WINAPI Videowindow_put_Caption(IVideoWindow *iface,
1310 BSTR strCaption) {
1311 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1313 TRACE("(%p/%p)->(%s (%p)): stub !!!\n", This, iface, debugstr_w(strCaption), strCaption);
1315 return S_OK;
1318 static HRESULT WINAPI Videowindow_get_Caption(IVideoWindow *iface,
1319 BSTR *strCaption) {
1320 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1322 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, strCaption);
1324 return S_OK;
1327 static HRESULT WINAPI Videowindow_put_WindowStyle(IVideoWindow *iface,
1328 long WindowStyle) {
1329 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1331 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, WindowStyle);
1333 return S_OK;
1336 static HRESULT WINAPI Videowindow_get_WindowStyle(IVideoWindow *iface,
1337 long *WindowStyle) {
1338 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1340 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, WindowStyle);
1342 return S_OK;
1345 static HRESULT WINAPI Videowindow_put_WindowStyleEx(IVideoWindow *iface,
1346 long WindowStyleEx) {
1347 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1349 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, WindowStyleEx);
1351 return S_OK;
1354 static HRESULT WINAPI Videowindow_get_WindowStyleEx(IVideoWindow *iface,
1355 long *WindowStyleEx) {
1356 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1358 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, WindowStyleEx);
1360 return S_OK;
1363 static HRESULT WINAPI Videowindow_put_AutoShow(IVideoWindow *iface,
1364 long AutoShow) {
1365 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1367 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, AutoShow);
1369 return S_OK;
1372 static HRESULT WINAPI Videowindow_get_AutoShow(IVideoWindow *iface,
1373 long *AutoShow) {
1374 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1376 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, AutoShow);
1378 return S_OK;
1381 static HRESULT WINAPI Videowindow_put_WindowState(IVideoWindow *iface,
1382 long WindowState) {
1383 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1385 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, WindowState);
1387 return S_OK;
1390 static HRESULT WINAPI Videowindow_get_WindowState(IVideoWindow *iface,
1391 long *WindowState) {
1392 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1394 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, WindowState);
1396 return S_OK;
1399 static HRESULT WINAPI Videowindow_put_BackgroundPalette(IVideoWindow *iface,
1400 long BackgroundPalette) {
1401 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1403 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, BackgroundPalette);
1405 return S_OK;
1408 static HRESULT WINAPI Videowindow_get_BackgroundPalette(IVideoWindow *iface,
1409 long *pBackgroundPalette) {
1410 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1412 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pBackgroundPalette);
1414 return S_OK;
1417 static HRESULT WINAPI Videowindow_put_Visible(IVideoWindow *iface,
1418 long Visible) {
1419 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1421 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, Visible);
1423 return S_OK;
1426 static HRESULT WINAPI Videowindow_get_Visible(IVideoWindow *iface,
1427 long *pVisible) {
1428 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1430 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pVisible);
1432 return S_OK;
1435 static HRESULT WINAPI Videowindow_put_Left(IVideoWindow *iface,
1436 long Left) {
1437 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1439 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, Left);
1441 return S_OK;
1444 static HRESULT WINAPI Videowindow_get_Left(IVideoWindow *iface,
1445 long *pLeft) {
1446 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1448 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pLeft);
1450 return S_OK;
1453 static HRESULT WINAPI Videowindow_put_Width(IVideoWindow *iface,
1454 long Width) {
1455 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1457 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, Width);
1459 return S_OK;
1462 static HRESULT WINAPI Videowindow_get_Width(IVideoWindow *iface,
1463 long *pWidth) {
1464 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1466 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pWidth);
1468 return S_OK;
1471 static HRESULT WINAPI Videowindow_put_Top(IVideoWindow *iface,
1472 long Top) {
1473 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1475 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, Top);
1477 return S_OK;
1480 static HRESULT WINAPI Videowindow_get_Top(IVideoWindow *iface,
1481 long *pTop) {
1482 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1484 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pTop);
1486 return S_OK;
1489 static HRESULT WINAPI Videowindow_put_Height(IVideoWindow *iface,
1490 long Height) {
1491 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1493 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, Height);
1495 return S_OK;
1498 static HRESULT WINAPI Videowindow_get_Height(IVideoWindow *iface,
1499 long *pHeight) {
1500 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1502 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pHeight);
1504 return S_OK;
1507 static HRESULT WINAPI Videowindow_put_Owner(IVideoWindow *iface,
1508 OAHWND Owner) {
1509 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1511 TRACE("(%p/%p)->(%08lx): stub !!!\n", This, iface, (DWORD) Owner);
1513 return S_OK;
1516 static HRESULT WINAPI Videowindow_get_Owner(IVideoWindow *iface,
1517 OAHWND *Owner) {
1518 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1520 TRACE("(%p/%p)->(%08lx): stub !!!\n", This, iface, (DWORD) Owner);
1522 return S_OK;
1525 static HRESULT WINAPI Videowindow_put_MessageDrain(IVideoWindow *iface,
1526 OAHWND Drain) {
1527 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1529 TRACE("(%p/%p)->(%08lx): stub !!!\n", This, iface, (DWORD) Drain);
1531 return S_OK;
1534 static HRESULT WINAPI Videowindow_get_MessageDrain(IVideoWindow *iface,
1535 OAHWND *Drain) {
1536 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1538 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, Drain);
1540 return S_OK;
1543 static HRESULT WINAPI Videowindow_get_BorderColor(IVideoWindow *iface,
1544 long *Color) {
1545 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1547 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, Color);
1549 return S_OK;
1552 static HRESULT WINAPI Videowindow_put_BorderColor(IVideoWindow *iface,
1553 long Color) {
1554 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1556 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, Color);
1558 return S_OK;
1561 static HRESULT WINAPI Videowindow_get_FullScreenMode(IVideoWindow *iface,
1562 long *FullScreenMode) {
1563 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1565 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, FullScreenMode);
1567 return S_OK;
1570 static HRESULT WINAPI Videowindow_put_FullScreenMode(IVideoWindow *iface,
1571 long FullScreenMode) {
1572 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1574 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, FullScreenMode);
1576 return S_OK;
1579 static HRESULT WINAPI Videowindow_SetWindowForeground(IVideoWindow *iface,
1580 long Focus) {
1581 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1583 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, Focus);
1585 return S_OK;
1588 static HRESULT WINAPI Videowindow_NotifyOwnerMessage(IVideoWindow *iface,
1589 OAHWND hwnd,
1590 long uMsg,
1591 LONG_PTR wParam,
1592 LONG_PTR lParam) {
1593 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1595 TRACE("(%p/%p)->(%08lx, %ld, %08lx, %08lx): stub !!!\n", This, iface, (DWORD) hwnd, uMsg, wParam, lParam);
1597 return S_OK;
1600 static HRESULT WINAPI Videowindow_SetWindowPosition(IVideoWindow *iface,
1601 long Left,
1602 long Top,
1603 long Width,
1604 long Height) {
1605 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1607 TRACE("(%p/%p)->(%ld, %ld, %ld, %ld): stub !!!\n", This, iface, Left, Top, Width, Height);
1609 return S_OK;
1612 static HRESULT WINAPI Videowindow_GetWindowPosition(IVideoWindow *iface,
1613 long *pLeft,
1614 long *pTop,
1615 long *pWidth,
1616 long *pHeight) {
1617 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1619 TRACE("(%p/%p)->(%p, %p, %p, %p): stub !!!\n", This, iface, pLeft, pTop, pWidth, pHeight);
1621 return S_OK;
1624 static HRESULT WINAPI Videowindow_GetMinIdealImageSize(IVideoWindow *iface,
1625 long *pWidth,
1626 long *pHeight) {
1627 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1629 TRACE("(%p/%p)->(%p, %p): stub !!!\n", This, iface, pWidth, pHeight);
1631 return S_OK;
1634 static HRESULT WINAPI Videowindow_GetMaxIdealImageSize(IVideoWindow *iface,
1635 long *pWidth,
1636 long *pHeight) {
1637 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1639 TRACE("(%p/%p)->(%p, %p): stub !!!\n", This, iface, pWidth, pHeight);
1641 return S_OK;
1644 static HRESULT WINAPI Videowindow_GetRestorePosition(IVideoWindow *iface,
1645 long *pLeft,
1646 long *pTop,
1647 long *pWidth,
1648 long *pHeight) {
1649 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1651 TRACE("(%p/%p)->(%p, %p, %p, %p): stub !!!\n", This, iface, pLeft, pTop, pWidth, pHeight);
1653 return S_OK;
1656 static HRESULT WINAPI Videowindow_HideCursor(IVideoWindow *iface,
1657 long HideCursor) {
1658 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1660 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, HideCursor);
1662 return S_OK;
1665 static HRESULT WINAPI Videowindow_IsCursorHidden(IVideoWindow *iface,
1666 long *CursorHidden) {
1667 ICOM_THIS_MULTI(IFilterGraphImpl, IVideoWindow_vtbl, iface);
1669 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, CursorHidden);
1671 return S_OK;
1675 static ICOM_VTABLE(IVideoWindow) IVideoWindow_VTable =
1677 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
1678 Videowindow_QueryInterface,
1679 Videowindow_AddRef,
1680 Videowindow_Release,
1681 Videowindow_GetTypeInfoCount,
1682 Videowindow_GetTypeInfo,
1683 Videowindow_GetIDsOfNames,
1684 Videowindow_Invoke,
1685 Videowindow_put_Caption,
1686 Videowindow_get_Caption,
1687 Videowindow_put_WindowStyle,
1688 Videowindow_get_WindowStyle,
1689 Videowindow_put_WindowStyleEx,
1690 Videowindow_get_WindowStyleEx,
1691 Videowindow_put_AutoShow,
1692 Videowindow_get_AutoShow,
1693 Videowindow_put_WindowState,
1694 Videowindow_get_WindowState,
1695 Videowindow_put_BackgroundPalette,
1696 Videowindow_get_BackgroundPalette,
1697 Videowindow_put_Visible,
1698 Videowindow_get_Visible,
1699 Videowindow_put_Left,
1700 Videowindow_get_Left,
1701 Videowindow_put_Width,
1702 Videowindow_get_Width,
1703 Videowindow_put_Top,
1704 Videowindow_get_Top,
1705 Videowindow_put_Height,
1706 Videowindow_get_Height,
1707 Videowindow_put_Owner,
1708 Videowindow_get_Owner,
1709 Videowindow_put_MessageDrain,
1710 Videowindow_get_MessageDrain,
1711 Videowindow_get_BorderColor,
1712 Videowindow_put_BorderColor,
1713 Videowindow_get_FullScreenMode,
1714 Videowindow_put_FullScreenMode,
1715 Videowindow_SetWindowForeground,
1716 Videowindow_NotifyOwnerMessage,
1717 Videowindow_SetWindowPosition,
1718 Videowindow_GetWindowPosition,
1719 Videowindow_GetMinIdealImageSize,
1720 Videowindow_GetMaxIdealImageSize,
1721 Videowindow_GetRestorePosition,
1722 Videowindow_HideCursor,
1723 Videowindow_IsCursorHidden
1727 /*** IUnknown methods ***/
1728 static HRESULT WINAPI Mediaevent_QueryInterface(IMediaEventEx *iface,
1729 REFIID riid,
1730 LPVOID*ppvObj) {
1731 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaEventEx_vtbl, iface);
1733 TRACE("(%p/%p)->(%s (%p), %p)\n", This, iface, debugstr_guid(riid), riid, ppvObj);
1735 return Filtergraph_QueryInterface(This, riid, ppvObj);
1738 static ULONG WINAPI Mediaevent_AddRef(IMediaEventEx *iface) {
1739 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaEventEx_vtbl, iface);
1741 TRACE("(%p/%p)->()\n", This, iface);
1743 return Filtergraph_AddRef(This);
1746 static ULONG WINAPI Mediaevent_Release(IMediaEventEx *iface) {
1747 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaEventEx_vtbl, iface);
1749 TRACE("(%p/%p)->()\n", This, iface);
1751 return Filtergraph_Release(This);
1754 /*** IDispatch methods ***/
1755 static HRESULT WINAPI Mediaevent_GetTypeInfoCount(IMediaEventEx *iface,
1756 UINT*pctinfo) {
1757 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaEventEx_vtbl, iface);
1759 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, pctinfo);
1761 return S_OK;
1764 static HRESULT WINAPI Mediaevent_GetTypeInfo(IMediaEventEx *iface,
1765 UINT iTInfo,
1766 LCID lcid,
1767 ITypeInfo**ppTInfo) {
1768 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaEventEx_vtbl, iface);
1770 TRACE("(%p/%p)->(%d, %ld, %p): stub !!!\n", This, iface, iTInfo, lcid, ppTInfo);
1772 return S_OK;
1775 static HRESULT WINAPI Mediaevent_GetIDsOfNames(IMediaEventEx *iface,
1776 REFIID riid,
1777 LPOLESTR*rgszNames,
1778 UINT cNames,
1779 LCID lcid,
1780 DISPID*rgDispId) {
1781 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaEventEx_vtbl, iface);
1783 TRACE("(%p/%p)->(%s (%p), %p, %d, %ld, %p): stub !!!\n", This, iface, debugstr_guid(riid), riid, rgszNames, cNames, lcid, rgDispId);
1785 return S_OK;
1788 static HRESULT WINAPI Mediaevent_Invoke(IMediaEventEx *iface,
1789 DISPID dispIdMember,
1790 REFIID riid,
1791 LCID lcid,
1792 WORD wFlags,
1793 DISPPARAMS*pDispParams,
1794 VARIANT*pVarResult,
1795 EXCEPINFO*pExepInfo,
1796 UINT*puArgErr) {
1797 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaEventEx_vtbl, iface);
1799 TRACE("(%p/%p)->(%ld, %s (%p), %ld, %04x, %p, %p, %p, %p): stub !!!\n", This, iface, dispIdMember, debugstr_guid(riid), riid, lcid, wFlags, pDispParams, pVarResult, pExepInfo, puArgErr);
1801 return S_OK;
1804 /*** IMediaEvent methods ***/
1805 static HRESULT WINAPI Mediaevent_GetEventHandle(IMediaEventEx *iface,
1806 OAEVENT *hEvent) {
1807 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaEventEx_vtbl, iface);
1809 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, hEvent);
1811 return S_OK;
1814 static HRESULT WINAPI Mediaevent_GetEvent(IMediaEventEx *iface,
1815 long *lEventCode,
1816 LONG_PTR *lParam1,
1817 LONG_PTR *lParam2,
1818 long msTimeout) {
1819 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaEventEx_vtbl, iface);
1821 TRACE("(%p/%p)->(%p, %p, %p, %ld): stub !!!\n", This, iface, lEventCode, lParam1, lParam2, msTimeout);
1823 return S_OK;
1826 static HRESULT WINAPI Mediaevent_WaitForCompletion(IMediaEventEx *iface,
1827 long msTimeout,
1828 long *pEvCode) {
1829 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaEventEx_vtbl, iface);
1831 TRACE("(%p/%p)->(%ld, %p): stub !!!\n", This, iface, msTimeout, pEvCode);
1833 return S_OK;
1836 static HRESULT WINAPI Mediaevent_CancelDefaultHandling(IMediaEventEx *iface,
1837 long lEvCode) {
1838 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaEventEx_vtbl, iface);
1840 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, lEvCode);
1842 return S_OK;
1845 static HRESULT WINAPI Mediaevent_RestoreDefaultHandling(IMediaEventEx *iface,
1846 long lEvCode) {
1847 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaEventEx_vtbl, iface);
1849 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, lEvCode);
1851 return S_OK;
1854 static HRESULT WINAPI Mediaevent_FreeEventParams(IMediaEventEx *iface,
1855 long lEvCode,
1856 LONG_PTR lParam1,
1857 LONG_PTR lParam2) {
1858 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaEventEx_vtbl, iface);
1860 TRACE("(%p/%p)->(%ld, %08lx, %08lx): stub !!!\n", This, iface, lEvCode, lParam1, lParam2);
1862 return S_OK;
1865 /*** IMediaEventEx methods ***/
1866 static HRESULT WINAPI Mediaevent_SetNotifyWindow(IMediaEventEx *iface,
1867 OAHWND hwnd,
1868 long lMsg,
1869 LONG_PTR lInstanceData) {
1870 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaEventEx_vtbl, iface);
1872 TRACE("(%p/%p)->(%08lx, %ld, %08lx): stub !!!\n", This, iface, (DWORD) hwnd, lMsg, lInstanceData);
1874 return S_OK;
1877 static HRESULT WINAPI Mediaevent_SetNotifyFlags(IMediaEventEx *iface,
1878 long lNoNotifyFlags) {
1879 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaEventEx_vtbl, iface);
1881 TRACE("(%p/%p)->(%ld): stub !!!\n", This, iface, lNoNotifyFlags);
1883 return S_OK;
1886 static HRESULT WINAPI Mediaevent_GetNotifyFlags(IMediaEventEx *iface,
1887 long *lplNoNotifyFlags) {
1888 ICOM_THIS_MULTI(IFilterGraphImpl, IMediaEventEx_vtbl, iface);
1890 TRACE("(%p/%p)->(%p): stub !!!\n", This, iface, lplNoNotifyFlags);
1892 return S_OK;
1896 static ICOM_VTABLE(IMediaEventEx) IMediaEventEx_VTable =
1898 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
1899 Mediaevent_QueryInterface,
1900 Mediaevent_AddRef,
1901 Mediaevent_Release,
1902 Mediaevent_GetTypeInfoCount,
1903 Mediaevent_GetTypeInfo,
1904 Mediaevent_GetIDsOfNames,
1905 Mediaevent_Invoke,
1906 Mediaevent_GetEventHandle,
1907 Mediaevent_GetEvent,
1908 Mediaevent_WaitForCompletion,
1909 Mediaevent_CancelDefaultHandling,
1910 Mediaevent_RestoreDefaultHandling,
1911 Mediaevent_FreeEventParams,
1912 Mediaevent_SetNotifyWindow,
1913 Mediaevent_SetNotifyFlags,
1914 Mediaevent_GetNotifyFlags
1921 /* This is the only function that actually creates a FilterGraph class... */
1922 HRESULT FILTERGRAPH_create(IUnknown *pUnkOuter, LPVOID *ppObj) {
1923 IFilterGraphImpl *fimpl;
1925 TRACE("(%p,%p)\n", pUnkOuter, ppObj);
1927 fimpl = (IFilterGraphImpl *) HeapAlloc(GetProcessHeap(), 0, sizeof(*fimpl));
1928 fimpl->IGraphBuilder_vtbl = &IGraphBuilder_VTable;
1929 fimpl->IMediaControl_vtbl = &IMediaControl_VTable;
1930 fimpl->IMediaSeeking_vtbl = &IMediaSeeking_VTable;
1931 fimpl->IBasicAudio_vtbl = &IBasicAudio_VTable;
1932 fimpl->IBasicVideo_vtbl = &IBasicVideo_VTable;
1933 fimpl->IVideoWindow_vtbl = &IVideoWindow_VTable;
1934 fimpl->IMediaEventEx_vtbl = &IMediaEventEx_VTable;
1935 fimpl->ref = 1;
1937 *ppObj = fimpl;
1938 return S_OK;