source: trunk/src/quartz/imevent.c@ 6710

Last change on this file since 6710 was 6710, checked in by sandervl, 24 years ago

wine update

File size: 4.8 KB
Line 
1/*
2 * Implementation of IMediaEvent[Ex] for FilterGraph.
3 *
4 * FIXME - stub.
5 *
6 * hidenori@a2.ctktv.ne.jp
7 */
8
9#include "config.h"
10
11#include "windef.h"
12#include "winbase.h"
13#include "wingdi.h"
14#include "winerror.h"
15#include "wine/obj_base.h"
16#include "wine/obj_oleaut.h"
17#include "strmif.h"
18#include "control.h"
19#include "uuids.h"
20
21#include "debugtools.h"
22DEFAULT_DEBUG_CHANNEL(quartz);
23
24#include "quartz_private.h"
25#include "fgraph.h"
26
27
28
29static HRESULT WINAPI
30IMediaEventEx_fnQueryInterface(IMediaEventEx* iface,REFIID riid,void** ppobj)
31{
32 CFilterGraph_THIS(iface,mediaevent);
33
34 TRACE("(%p)->()\n",This);
35
36 return IUnknown_QueryInterface(This->unk.punkControl,riid,ppobj);
37}
38
39static ULONG WINAPI
40IMediaEventEx_fnAddRef(IMediaEventEx* iface)
41{
42 CFilterGraph_THIS(iface,mediaevent);
43
44 TRACE("(%p)->()\n",This);
45
46 return IUnknown_AddRef(This->unk.punkControl);
47}
48
49static ULONG WINAPI
50IMediaEventEx_fnRelease(IMediaEventEx* iface)
51{
52 CFilterGraph_THIS(iface,mediaevent);
53
54 TRACE("(%p)->()\n",This);
55
56 return IUnknown_Release(This->unk.punkControl);
57}
58
59static HRESULT WINAPI
60IMediaEventEx_fnGetTypeInfoCount(IMediaEventEx* iface,UINT* pcTypeInfo)
61{
62 CFilterGraph_THIS(iface,mediaevent);
63
64 FIXME("(%p)->()\n",This);
65
66 return E_NOTIMPL;
67}
68
69static HRESULT WINAPI
70IMediaEventEx_fnGetTypeInfo(IMediaEventEx* iface,UINT iTypeInfo, LCID lcid, ITypeInfo** ppobj)
71{
72 CFilterGraph_THIS(iface,mediaevent);
73
74 FIXME("(%p)->()\n",This);
75
76 return E_NOTIMPL;
77}
78
79static HRESULT WINAPI
80IMediaEventEx_fnGetIDsOfNames(IMediaEventEx* iface,REFIID riid, LPOLESTR* ppwszName, UINT cNames, LCID lcid, DISPID* pDispId)
81{
82 CFilterGraph_THIS(iface,mediaevent);
83
84 FIXME("(%p)->()\n",This);
85
86 return E_NOTIMPL;
87}
88
89static HRESULT WINAPI
90IMediaEventEx_fnInvoke(IMediaEventEx* iface,DISPID DispId, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarRes, EXCEPINFO* pExcepInfo, UINT* puArgErr)
91{
92 CFilterGraph_THIS(iface,mediaevent);
93
94 FIXME("(%p)->()\n",This);
95
96 return E_NOTIMPL;
97}
98
99
100static HRESULT WINAPI
101IMediaEventEx_fnGetEventHandle(IMediaEventEx* iface,OAEVENT* hEvent)
102{
103 CFilterGraph_THIS(iface,mediaevent);
104
105 TRACE("(%p)->()\n",This);
106
107 *hEvent = (OAEVENT)This->m_hMediaEvent;
108
109 return NOERROR;
110}
111
112static HRESULT WINAPI
113IMediaEventEx_fnGetEvent(IMediaEventEx* iface,long* lEventCode,LONG_PTR* plParam1,LONG_PTR* plParam2,long lTimeOut)
114{
115 CFilterGraph_THIS(iface,mediaevent);
116
117 FIXME("(%p)->() stub!\n",This);
118
119 return E_NOTIMPL;
120}
121
122static HRESULT WINAPI
123IMediaEventEx_fnWaitForCompletion(IMediaEventEx* iface,long lTimeOut,long* plEventCode)
124{
125 CFilterGraph_THIS(iface,mediaevent);
126
127 FIXME("(%p)->() stub!\n",This);
128
129 return E_NOTIMPL;
130}
131
132static HRESULT WINAPI
133IMediaEventEx_fnCancelDefaultHandling(IMediaEventEx* iface,long lEventCode)
134{
135 CFilterGraph_THIS(iface,mediaevent);
136
137 FIXME("(%p)->() stub!\n",This);
138
139 return E_NOTIMPL;
140}
141
142static HRESULT WINAPI
143IMediaEventEx_fnRestoreDefaultHandling(IMediaEventEx* iface,long lEventCode)
144{
145 CFilterGraph_THIS(iface,mediaevent);
146
147 FIXME("(%p)->() stub!\n",This);
148
149 return E_NOTIMPL;
150}
151
152static HRESULT WINAPI
153IMediaEventEx_fnFreeEventParams(IMediaEventEx* iface,long lEventCode,LONG_PTR lParam1,LONG_PTR lParam2)
154{
155 CFilterGraph_THIS(iface,mediaevent);
156
157 FIXME("(%p)->() stub!\n",This);
158
159 return E_NOTIMPL;
160}
161
162static HRESULT WINAPI
163IMediaEventEx_fnSetNotifyWindow(IMediaEventEx* iface,OAHWND hwnd,long message,LONG_PTR lParam)
164{
165 CFilterGraph_THIS(iface,mediaevent);
166
167 FIXME("(%p)->() stub!\n",This);
168
169 return E_NOTIMPL;
170}
171
172static HRESULT WINAPI
173IMediaEventEx_fnSetNotifyFlags(IMediaEventEx* iface,long lNotifyFlags)
174{
175 CFilterGraph_THIS(iface,mediaevent);
176
177 FIXME("(%p)->() stub!\n",This);
178
179 return E_NOTIMPL;
180}
181
182static HRESULT WINAPI
183IMediaEventEx_fnGetNotifyFlags(IMediaEventEx* iface,long* plNotifyFlags)
184{
185 CFilterGraph_THIS(iface,mediaevent);
186
187 FIXME("(%p)->() stub!\n",This);
188
189 return E_NOTIMPL;
190}
191
192
193
194static ICOM_VTABLE(IMediaEventEx) imediaevent =
195{
196 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
197 /* IUnknown fields */
198 IMediaEventEx_fnQueryInterface,
199 IMediaEventEx_fnAddRef,
200 IMediaEventEx_fnRelease,
201 /* IDispatch fields */
202 IMediaEventEx_fnGetTypeInfoCount,
203 IMediaEventEx_fnGetTypeInfo,
204 IMediaEventEx_fnGetIDsOfNames,
205 IMediaEventEx_fnInvoke,
206 /* IMediaEvent fields */
207 IMediaEventEx_fnGetEventHandle,
208 IMediaEventEx_fnGetEvent,
209 IMediaEventEx_fnWaitForCompletion,
210 IMediaEventEx_fnCancelDefaultHandling,
211 IMediaEventEx_fnRestoreDefaultHandling,
212 IMediaEventEx_fnFreeEventParams,
213 /* IMediaEventEx fields */
214 IMediaEventEx_fnSetNotifyWindow,
215 IMediaEventEx_fnSetNotifyFlags,
216 IMediaEventEx_fnGetNotifyFlags,
217};
218
219
220HRESULT CFilterGraph_InitIMediaEventEx( CFilterGraph* pfg )
221{
222 TRACE("(%p)\n",pfg);
223 ICOM_VTBL(&pfg->mediaevent) = &imediaevent;
224
225 pfg->m_hMediaEvent = CreateEventA( NULL, TRUE, FALSE, NULL );
226 if ( pfg->m_hMediaEvent == (HANDLE)NULL )
227 return E_OUTOFMEMORY;
228
229 return NOERROR;
230}
231
232void CFilterGraph_UninitIMediaEventEx( CFilterGraph* pfg )
233{
234 TRACE("(%p)\n",pfg);
235
236 CloseHandle( pfg->m_hMediaEvent );
237}
Note: See TracBrowser for help on using the repository browser.