2 * Implementation of IDispatch for FilterGraph.
6 * hidenori@a2.ctktv.ne.jp
16 #include "wine/obj_base.h"
17 #include "wine/obj_oleaut.h"
22 #include "debugtools.h"
23 DEFAULT_DEBUG_CHANNEL(quartz
);
25 #include "quartz_private.h"
31 IDispatch_fnQueryInterface(IDispatch
* iface
,REFIID riid
,void** ppobj
)
33 CFilterGraph_THIS(iface
,disp
);
35 TRACE("(%p)->()\n",This
);
37 return IUnknown_QueryInterface(This
->unk
.punkControl
,riid
,ppobj
);
41 IDispatch_fnAddRef(IDispatch
* iface
)
43 CFilterGraph_THIS(iface
,disp
);
45 TRACE("(%p)->()\n",This
);
47 return IUnknown_AddRef(This
->unk
.punkControl
);
51 IDispatch_fnRelease(IDispatch
* iface
)
53 CFilterGraph_THIS(iface
,disp
);
55 TRACE("(%p)->()\n",This
);
57 return IUnknown_Release(This
->unk
.punkControl
);
61 IDispatch_fnGetTypeInfoCount(IDispatch
* iface
,UINT
* pcTypeInfo
)
63 CFilterGraph_THIS(iface
,disp
);
65 FIXME("(%p)->()\n",This
);
71 IDispatch_fnGetTypeInfo(IDispatch
* iface
,UINT iTypeInfo
, LCID lcid
, ITypeInfo
** ppobj
)
73 CFilterGraph_THIS(iface
,disp
);
75 FIXME("(%p)->()\n",This
);
81 IDispatch_fnGetIDsOfNames(IDispatch
* iface
,REFIID riid
, LPOLESTR
* ppwszName
, UINT cNames
, LCID lcid
, DISPID
* pDispId
)
83 CFilterGraph_THIS(iface
,disp
);
85 FIXME("(%p)->()\n",This
);
91 IDispatch_fnInvoke(IDispatch
* iface
,DISPID DispId
, REFIID riid
, LCID lcid
, WORD wFlags
, DISPPARAMS
* pDispParams
, VARIANT
* pVarRes
, EXCEPINFO
* pExcepInfo
, UINT
* puArgErr
)
93 CFilterGraph_THIS(iface
,disp
);
95 FIXME("(%p)->()\n",This
);
102 static ICOM_VTABLE(IDispatch
) idispatch
=
104 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
105 /* IUnknown fields */
106 IDispatch_fnQueryInterface
,
109 /* IDispatch fields */
110 IDispatch_fnGetTypeInfoCount
,
111 IDispatch_fnGetTypeInfo
,
112 IDispatch_fnGetIDsOfNames
,
117 HRESULT
CFilterGraph_InitIDispatch( CFilterGraph
* pfg
)
120 ICOM_VTBL(&pfg
->disp
) = &idispatch
;
125 void CFilterGraph_UninitIDispatch( CFilterGraph
* pfg
)