Send message for WSAAsyncSelect sockets directly from the server,
[wine] / include / control.h
1 /*
2  * Copyright (C) 2001 Hidenori Takeshima
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17  */
18
19 #ifndef __WINE_CONTROL_H_
20 #define __WINE_CONTROL_H_
21
22 /* forward decls. */
23
24 typedef struct IAMCollection IAMCollection;
25 typedef struct IBasicAudio IBasicAudio;
26 typedef struct IBasicVideo IBasicVideo;
27 typedef struct IDeferredCommand IDeferredCommand;
28 typedef struct IFilterInfo IFilterInfo;
29 typedef struct IMediaControl IMediaControl;
30 typedef struct IMediaEvent IMediaEvent;
31 typedef struct IMediaEventEx IMediaEventEx;
32 typedef struct IMediaPosition IMediaPosition;
33 typedef struct IMediaTypeInfo IMediaTypeInfo;
34 typedef struct IPinInfo IPinInfo;
35 typedef struct IQueueCommand IQueueCommand;
36 typedef struct IRegFilterInfo IRegFilterInfo;
37 typedef struct IVideoWindow IVideoWindow;
38
39 /* GUIDs */
40
41 DEFINE_GUID(IID_IAMCollection,0x56A868B9,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
42 DEFINE_GUID(IID_IBasicAudio,0x56A868B3,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
43 DEFINE_GUID(IID_IBasicVideo,0x56A868B5,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
44 DEFINE_GUID(IID_IDeferredCommand,0x56A868B8,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
45 DEFINE_GUID(IID_IFilterInfo,0x56A868BA,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
46 DEFINE_GUID(IID_IMediaControl,0x56A868B1,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
47 DEFINE_GUID(IID_IMediaEvent,0x56A868B6,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
48 DEFINE_GUID(IID_IMediaEventEx,0x56A868C0,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
49 DEFINE_GUID(IID_IMediaPosition,0x56A868B2,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
50 DEFINE_GUID(IID_IMediaTypeInfo,0x56A868BC,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
51 DEFINE_GUID(IID_IPinInfo,0x56A868BD,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
52 DEFINE_GUID(IID_IQueueCommand,0x56A868B7,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
53 DEFINE_GUID(IID_IRegFilterInfo,0x56A868BB,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
54 DEFINE_GUID(IID_IVideoWindow,0x56A868B4,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
55
56 #ifndef __WINE_REFTIME_DEFINED_
57 #define __WINE_REFTIME_DEFINED_
58 typedef double REFTIME;
59 #endif  /* __WINE_REFTIME_DEFINED_ */
60
61 typedef LONG_PTR OAEVENT;
62 typedef LONG_PTR OAHWND;
63 typedef long OAFilterState;
64
65
66
67 /**************************************************************************
68  *
69  * IAMCollection interface
70  *
71  */
72
73 #define ICOM_INTERFACE IAMCollection
74 #define IAMCollection_METHODS \
75     ICOM_METHOD1(HRESULT,get_Count,LONG*,a1) \
76     ICOM_METHOD2(HRESULT,Item,long,a1,IUnknown**,a2) \
77     ICOM_METHOD1(HRESULT,get__NewEnum,IUnknown**,a1)
78
79 #define IAMCollection_IMETHODS \
80     IDispatch_IMETHODS \
81     IAMCollection_METHODS
82
83 ICOM_DEFINE(IAMCollection,IDispatch)
84 #undef ICOM_INTERFACE
85
86     /*** IUnknown methods ***/
87 #define IAMCollection_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
88 #define IAMCollection_AddRef(p) ICOM_CALL (AddRef,p)
89 #define IAMCollection_Release(p) ICOM_CALL (Release,p)
90     /*** IDispatch methods ***/
91 #define IAMCollection_GetTypeInfoCount(p,a1) ICOM_CALL1(GetTypeInfoCount,p,a1)
92 #define IAMCollection_GetTypeInfo(p,a1,a2,a3) ICOM_CALL3(GetTypeInfo,p,a1,a2,a3)
93 #define IAMCollection_GetIDsOfNames(p,a1,a2,a3,a4,a5) ICOM_CALL5(GetIDsOfNames,p,a1,a2,a3,a4,a5)
94 #define IAMCollection_Invoke(p,a1,a2,a3,a4,a5,a6,a7,a8) ICOM_CALL8(Invoke,p,a1,a2,a3,a4,a5,a6,a7,a8)
95     /*** IAMCollection methods ***/
96 #define IAMCollection_get_Count(p,a1) ICOM_CALL1(get_Count,p,a1)
97 #define IAMCollection_Item(p,a1,a2) ICOM_CALL2(Item,p,a1,a2)
98 #define IAMCollection_get__NewEnum(p,a1) ICOM_CALL1(get__NewEnum,p,a1)
99
100 /**************************************************************************
101  *
102  * IBasicAudio interface
103  *
104  */
105
106 #define ICOM_INTERFACE IBasicAudio
107 #define IBasicAudio_METHODS \
108     ICOM_METHOD1(HRESULT,put_Volume,long,a1) \
109     ICOM_METHOD1(HRESULT,get_Volume,long*,a1) \
110     ICOM_METHOD1(HRESULT,put_Balance,long,a1) \
111     ICOM_METHOD1(HRESULT,get_Balance,long*,a1)
112
113 #define IBasicAudio_IMETHODS \
114     IDispatch_IMETHODS \
115     IBasicAudio_METHODS
116
117 ICOM_DEFINE(IBasicAudio,IDispatch)
118 #undef ICOM_INTERFACE
119
120     /*** IUnknown methods ***/
121 #define IBasicAudio_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
122 #define IBasicAudio_AddRef(p) ICOM_CALL (AddRef,p)
123 #define IBasicAudio_Release(p) ICOM_CALL (Release,p)
124     /*** IDispatch methods ***/
125 #define IBasicAudio_GetTypeInfoCount(p,a1) ICOM_CALL1(GetTypeInfoCount,p,a1)
126 #define IBasicAudio_GetTypeInfo(p,a1,a2,a3) ICOM_CALL3(GetTypeInfo,p,a1,a2,a3)
127 #define IBasicAudio_GetIDsOfNames(p,a1,a2,a3,a4,a5) ICOM_CALL5(GetIDsOfNames,p,a1,a2,a3,a4,a5)
128 #define IBasicAudio_Invoke(p,a1,a2,a3,a4,a5,a6,a7,a8) ICOM_CALL8(Invoke,p,a1,a2,a3,a4,a5,a6,a7,a8)
129     /*** IBasicAudio methods ***/
130 #define IBasicAudio_put_Volume(p,a1) ICOM_CALL1(put_Volume,p,a1)
131 #define IBasicAudio_get_Volume(p,a1) ICOM_CALL1(get_Volume,p,a1)
132 #define IBasicAudio_put_Balance(p,a1) ICOM_CALL1(put_Balance,p,a1)
133 #define IBasicAudio_get_Balance(p,a1) ICOM_CALL1(get_Balance,p,a1)
134
135 /**************************************************************************
136  *
137  * IBasicVideo interface
138  *
139  */
140
141 #define ICOM_INTERFACE IBasicVideo
142 #define IBasicVideo_METHODS \
143     ICOM_METHOD1(HRESULT,get_AvgTimePerFrame,REFTIME*,a1) \
144     ICOM_METHOD1(HRESULT,get_BitRate,long*,a1) \
145     ICOM_METHOD1(HRESULT,get_BitErrorRate,long*,a1) \
146     ICOM_METHOD1(HRESULT,get_VideoWidth,long*,a1) \
147     ICOM_METHOD1(HRESULT,get_VideoHeight,long*,a1) \
148     ICOM_METHOD1(HRESULT,put_SourceLeft,long,a1) \
149     ICOM_METHOD1(HRESULT,get_SourceLeft,long*,a1) \
150     ICOM_METHOD1(HRESULT,put_SourceWidth,long,a1) \
151     ICOM_METHOD1(HRESULT,get_SourceWidth,long*,a1) \
152     ICOM_METHOD1(HRESULT,put_SourceTop,long,a1) \
153     ICOM_METHOD1(HRESULT,get_SourceTop,long*,a1) \
154     ICOM_METHOD1(HRESULT,put_SourceHeight,long,a1) \
155     ICOM_METHOD1(HRESULT,get_SourceHeight,long*,a1) \
156     ICOM_METHOD1(HRESULT,put_DestinationLeft,long,a1) \
157     ICOM_METHOD1(HRESULT,get_DestinationLeft,long*,a1) \
158     ICOM_METHOD1(HRESULT,put_DestinationWidth,long,a1) \
159     ICOM_METHOD1(HRESULT,get_DestinationWidth,long*,a1) \
160     ICOM_METHOD1(HRESULT,put_DestinationTop,long,a1) \
161     ICOM_METHOD1(HRESULT,get_DestinationTop,long*,a1) \
162     ICOM_METHOD1(HRESULT,put_DestinationHeight,long,a1) \
163     ICOM_METHOD1(HRESULT,get_DestinationHeight,long*,a1) \
164     ICOM_METHOD4(HRESULT,SetSourcePosition,long,a1,long,a2,long,a3,long,a4) \
165     ICOM_METHOD4(HRESULT,GetSourcePosition,long*,a1,long*,a2,long*,a3,long*,a4) \
166     ICOM_METHOD (HRESULT,SetDefaultSourcePosition) \
167     ICOM_METHOD4(HRESULT,SetDestinationPosition,long,a1,long,a2,long,a3,long,a4) \
168     ICOM_METHOD4(HRESULT,GetDestinationPosition,long*,a1,long*,a2,long*,a3,long*,a4) \
169     ICOM_METHOD (HRESULT,SetDefaultDestinationPosition) \
170     ICOM_METHOD2(HRESULT,GetVideoSize,long*,a1,long*,a2) \
171     ICOM_METHOD4(HRESULT,GetVideoPaletteEntries,long,a1,long,a2,long*,a3,long*,a4) \
172     ICOM_METHOD2(HRESULT,GetCurrentImage,long*,a1,long*,a2) \
173     ICOM_METHOD (HRESULT,IsUsingDefaultSource) \
174     ICOM_METHOD (HRESULT,IsUsingDefaultDestination)
175
176 #define IBasicVideo_IMETHODS \
177     IDispatch_IMETHODS \
178     IBasicVideo_METHODS
179
180 ICOM_DEFINE(IBasicVideo,IDispatch)
181 #undef ICOM_INTERFACE
182
183     /*** IUnknown methods ***/
184 #define IBasicVideo_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
185 #define IBasicVideo_AddRef(p) ICOM_CALL (AddRef,p)
186 #define IBasicVideo_Release(p) ICOM_CALL (Release,p)
187     /*** IDispatch methods ***/
188 #define IBasicVideo_GetTypeInfoCount(p,a1) ICOM_CALL1(GetTypeInfoCount,p,a1)
189 #define IBasicVideo_GetTypeInfo(p,a1,a2,a3) ICOM_CALL3(GetTypeInfo,p,a1,a2,a3)
190 #define IBasicVideo_GetIDsOfNames(p,a1,a2,a3,a4,a5) ICOM_CALL5(GetIDsOfNames,p,a1,a2,a3,a4,a5)
191 #define IBasicVideo_Invoke(p,a1,a2,a3,a4,a5,a6,a7,a8) ICOM_CALL8(Invoke,p,a1,a2,a3,a4,a5,a6,a7,a8)
192     /*** IBasicVideo methods ***/
193 #define IBasicVideo_get_AvgTimePerFrame(p,a1) ICOM_CALL1(get_AvgTimePerFrame,p,a1)
194 #define IBasicVideo_get_BitRate(p,a1) ICOM_CALL1(get_BitRate,p,a1)
195 #define IBasicVideo_get_BitErrorRate(p,a1) ICOM_CALL1(get_BitErrorRate,p,a1)
196 #define IBasicVideo_get_VideoWidth(p,a1) ICOM_CALL1(get_VideoWidth,p,a1)
197 #define IBasicVideo_get_VideoHeight(p,a1) ICOM_CALL1(get_VideoHeight,p,a1)
198 #define IBasicVideo_put_SourceLeft(p,a1) ICOM_CALL1(put_SourceLeft,p,a1)
199 #define IBasicVideo_get_SourceLeft(p,a1) ICOM_CALL1(get_SourceLeft,p,a1)
200 #define IBasicVideo_put_SourceWidth(p,a1) ICOM_CALL1(put_SourceWidth,p,a1)
201 #define IBasicVideo_get_SourceWidth(p,a1) ICOM_CALL1(get_SourceWidth,p,a1)
202 #define IBasicVideo_put_SourceTop(p,a1) ICOM_CALL1(put_SourceTop,p,a1)
203 #define IBasicVideo_get_SourceTop(p,a1) ICOM_CALL1(get_SourceTop,p,a1)
204 #define IBasicVideo_put_SourceHeight(p,a1) ICOM_CALL1(put_SourceHeight,p,a1)
205 #define IBasicVideo_get_SourceHeight(p,a1) ICOM_CALL1(get_SourceHeight,p,a1)
206 #define IBasicVideo_put_DestinationLeft(p,a1) ICOM_CALL1(put_DestinationLeft,p,a1)
207 #define IBasicVideo_get_DestinationLeft(p,a1) ICOM_CALL1(get_DestinationLeft,p,a1)
208 #define IBasicVideo_put_DestinationWidth(p,a1) ICOM_CALL1(put_DestinationWidth,p,a1)
209 #define IBasicVideo_get_DestinationWidth(p,a1) ICOM_CALL1(get_DestinationWidth,p,a1)
210 #define IBasicVideo_put_DestinationTop(p,a1) ICOM_CALL1(put_DestinationTop,p,a1)
211 #define IBasicVideo_get_DestinationTop(p,a1) ICOM_CALL1(get_DestinationTop,p,a1)
212 #define IBasicVideo_put_DestinationHeight(p,a1) ICOM_CALL1(put_DestinationHeight,p,a1)
213 #define IBasicVideo_get_DestinationHeight(p,a1) ICOM_CALL1(get_DestinationHeight,p,a1)
214 #define IBasicVideo_SetSourcePosition(p,a1,a2,a3,a4) ICOM_CALL4(SetSourcePosition,p,a1,a2,a3,a4)
215 #define IBasicVideo_GetSourcePosition(p,a1,a2,a3,a4) ICOM_CALL4(GetSourcePosition,p,a1,a2,a3,a4)
216 #define IBasicVideo_SetDefaultSourcePosition(p) ICOM_CALL (SetDefaultSourcePosition,p)
217 #define IBasicVideo_SetDestinationPosition(p,a1,a2,a3,a4) ICOM_CALL4(SetDestinationPosition,p,a1,a2,a3,a4)
218 #define IBasicVideo_GetDestinationPosition(p,a1,a2,a3,a4) ICOM_CALL4(GetDestinationPosition,p,a1,a2,a3,a4)
219 #define IBasicVideo_SetDefaultDestinationPosition(p) ICOM_CALL (SetDefaultDestinationPosition,p)
220 #define IBasicVideo_GetVideoSize(p,a1,a2) ICOM_CALL2(GetVideoSize,p,a1,a2)
221 #define IBasicVideo_GetVideoPaletteEntries(p,a1,a2,a3,a4) ICOM_CALL4(GetVideoPaletteEntries,p,a1,a2,a3,a4)
222 #define IBasicVideo_GetCurrentImage(p,a1,a2) ICOM_CALL2(GetCurrentImage,p,a1,a2)
223 #define IBasicVideo_IsUsingDefaultSource(p) ICOM_CALL (IsUsingDefaultSource,p)
224 #define IBasicVideo_IsUsingDefaultDestination(p) ICOM_CALL (IsUsingDefaultDestination,p)
225
226 /**************************************************************************
227  *
228  * IDeferredCommand interface
229  *
230  */
231
232 #define ICOM_INTERFACE IDeferredCommand
233 #define IDeferredCommand_METHODS \
234     ICOM_METHOD (HRESULT,Cancel) \
235     ICOM_METHOD1(HRESULT,Confidence,LONG*,a1) \
236     ICOM_METHOD1(HRESULT,Postpone,REFTIME,a1) \
237     ICOM_METHOD1(HRESULT,GetHResult,HRESULT*,a1)
238
239 #define IDeferredCommand_IMETHODS \
240     IUnknown_IMETHODS \
241     IDeferredCommand_METHODS
242
243 ICOM_DEFINE(IDeferredCommand,IUnknown)
244 #undef ICOM_INTERFACE
245
246     /*** IUnknown methods ***/
247 #define IDeferredCommand_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
248 #define IDeferredCommand_AddRef(p) ICOM_CALL (AddRef,p)
249 #define IDeferredCommand_Release(p) ICOM_CALL (Release,p)
250     /*** IDeferredCommand methods ***/
251 #define IDeferredCommand_Cancel(p) ICOM_CALL1(Cancel,p)
252 #define IDeferredCommand_Confidence(p,a1) ICOM_CALL1(Confidence,p,a1)
253 #define IDeferredCommand_Postpone(p,a1) ICOM_CALL1(Postpone,p,a1)
254 #define IDeferredCommand_GetHResult(p,a1) ICOM_CALL1(GetHResult,p,a1)
255
256 /**************************************************************************
257  *
258  * IFilterInfo interface
259  *
260  */
261
262 #define ICOM_INTERFACE IFilterInfo
263 #define IFilterInfo_METHODS \
264     ICOM_METHOD2(HRESULT,FindPin,BSTR,a1,IDispatch**,a2) \
265     ICOM_METHOD1(HRESULT,get_Name,BSTR*,a1) \
266     ICOM_METHOD1(HRESULT,get_VendorInfo,BSTR*,a1) \
267     ICOM_METHOD1(HRESULT,get_Filter,IUnknown**,a1) \
268     ICOM_METHOD1(HRESULT,get_Pins,IDispatch**,a1) \
269     ICOM_METHOD1(HRESULT,get_IsFileSource,LONG*,a1) \
270     ICOM_METHOD1(HRESULT,get_Filename,BSTR*,a1) \
271     ICOM_METHOD1(HRESULT,put_Filename,BSTR,a1)
272
273 #define IFilterInfo_IMETHODS \
274     IDispatch_IMETHODS \
275     IFilterInfo_METHODS
276
277 ICOM_DEFINE(IFilterInfo,IDispatch)
278 #undef ICOM_INTERFACE
279
280     /*** IUnknown methods ***/
281 #define IFilterInfo_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
282 #define IFilterInfo_AddRef(p) ICOM_CALL (AddRef,p)
283 #define IFilterInfo_Release(p) ICOM_CALL (Release,p)
284     /*** IDispatch methods ***/
285 #define IFilterInfo_GetTypeInfoCount(p,a1) ICOM_CALL1(GetTypeInfoCount,p,a1)
286 #define IFilterInfo_GetTypeInfo(p,a1,a2,a3) ICOM_CALL3(GetTypeInfo,p,a1,a2,a3)
287 #define IFilterInfo_GetIDsOfNames(p,a1,a2,a3,a4,a5) ICOM_CALL5(GetIDsOfNames,p,a1,a2,a3,a4,a5)
288 #define IFilterInfo_Invoke(p,a1,a2,a3,a4,a5,a6,a7,a8) ICOM_CALL8(Invoke,p,a1,a2,a3,a4,a5,a6,a7,a8)
289     /*** IFilterInfo methods ***/
290 #define IFilterInfo_FindPin(p,a1,a2) ICOM_CALL2(FindPin,p,a1,a2)
291 #define IFilterInfo_get_Name(p,a1) ICOM_CALL1(get_Name,p,a1)
292 #define IFilterInfo_get_VendorInfo(p,a1) ICOM_CALL1(get_VendorInfo,p,a1)
293 #define IFilterInfo_get_Filter(p,a1) ICOM_CALL1(get_Filter,p,a1)
294 #define IFilterInfo_get_Pins(p,a1) ICOM_CALL1(get_Pins,p,a1)
295 #define IFilterInfo_get_IsFileSource(p,a1) ICOM_CALL1(get_IsFileSource,p,a1)
296 #define IFilterInfo_get_Filename(p,a1) ICOM_CALL1(get_Filename,p,a1)
297 #define IFilterInfo_put_Filename(p,a1) ICOM_CALL1(put_Filename,p,a1)
298
299 /**************************************************************************
300  *
301  * IMediaControl interface
302  *
303  */
304
305 #define ICOM_INTERFACE IMediaControl
306 #define IMediaControl_METHODS \
307     ICOM_METHOD (HRESULT,Run) \
308     ICOM_METHOD (HRESULT,Pause) \
309     ICOM_METHOD (HRESULT,Stop) \
310     ICOM_METHOD2(HRESULT,GetState,LONG,a1,OAFilterState*,a2) \
311     ICOM_METHOD1(HRESULT,RenderFile,BSTR,a1) \
312     ICOM_METHOD2(HRESULT,AddSourceFilter,BSTR,a1,IDispatch**,a2) \
313     ICOM_METHOD1(HRESULT,get_FilterCollection,IDispatch**,a1) \
314     ICOM_METHOD1(HRESULT,get_RegFilterCollection,IDispatch**,a1) \
315     ICOM_METHOD (HRESULT,StopWhenReady)
316
317 #define IMediaControl_IMETHODS \
318     IDispatch_IMETHODS \
319     IMediaControl_METHODS
320
321 ICOM_DEFINE(IMediaControl,IDispatch)
322 #undef ICOM_INTERFACE
323
324     /*** IUnknown methods ***/
325 #define IMediaControl_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
326 #define IMediaControl_AddRef(p) ICOM_CALL (AddRef,p)
327 #define IMediaControl_Release(p) ICOM_CALL (Release,p)
328     /*** IDispatch methods ***/
329 #define IMediaControl_GetTypeInfoCount(p,a1) ICOM_CALL1(GetTypeInfoCount,p,a1)
330 #define IMediaControl_GetTypeInfo(p,a1,a2,a3) ICOM_CALL3(GetTypeInfo,p,a1,a2,a3)
331 #define IMediaControl_GetIDsOfNames(p,a1,a2,a3,a4,a5) ICOM_CALL5(GetIDsOfNames,p,a1,a2,a3,a4,a5)
332 #define IMediaControl_Invoke(p,a1,a2,a3,a4,a5,a6,a7,a8) ICOM_CALL8(Invoke,p,a1,a2,a3,a4,a5,a6,a7,a8)
333     /*** IMediaControl methods ***/
334 #define IMediaControl_Run(p) ICOM_CALL (Run,p)
335 #define IMediaControl_Pause(p) ICOM_CALL (Pause,p)
336 #define IMediaControl_Stop(p) ICOM_CALL (Stop,p)
337 #define IMediaControl_GetState(p,a1,a2) ICOM_CALL2(GetState,p,a1,a2)
338 #define IMediaControl_RenderFile(p,a1) ICOM_CALL1(RenderFile,p,a1)
339 #define IMediaControl_AddSourceFilter(p,a1,a2) ICOM_CALL2(AddSourceFilter,p,a1,a2)
340 #define IMediaControl_get_FilterCollection(p,a1) ICOM_CALL1(get_FilterCollection,p,a1)
341 #define IMediaControl_get_RegFilterCollection(p,a1) ICOM_CALL1(get_RegFilterCollection,p,a1)
342 #define IMediaControl_StopWhenReady(p) ICOM_CALL (StopWhenReady,p)
343
344 /**************************************************************************
345  *
346  * IMediaEvent interface
347  *
348  */
349
350 #define ICOM_INTERFACE IMediaEvent
351 #define IMediaEvent_METHODS \
352     ICOM_METHOD1(HRESULT,GetEventHandle,OAEVENT*,a1) \
353     ICOM_METHOD4(HRESULT,GetEvent,long*,a1,LONG_PTR*,a2,LONG_PTR*,a3,long,a4) \
354     ICOM_METHOD2(HRESULT,WaitForCompletion,long,a1,long*,a2) \
355     ICOM_METHOD1(HRESULT,CancelDefaultHandling,long,a1) \
356     ICOM_METHOD1(HRESULT,RestoreDefaultHandling,long,a1) \
357     ICOM_METHOD3(HRESULT,FreeEventParams,long,a1,LONG_PTR,a2,LONG_PTR,a3)
358
359 #define IMediaEvent_IMETHODS \
360     IDispatch_IMETHODS \
361     IMediaEvent_METHODS
362
363 ICOM_DEFINE(IMediaEvent,IDispatch)
364 #undef ICOM_INTERFACE
365
366     /*** IUnknown methods ***/
367 #define IMediaEvent_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
368 #define IMediaEvent_AddRef(p) ICOM_CALL (AddRef,p)
369 #define IMediaEvent_Release(p) ICOM_CALL (Release,p)
370     /*** IDispatch methods ***/
371 #define IMediaEvent_GetTypeInfoCount(p,a1) ICOM_CALL1(GetTypeInfoCount,p,a1)
372 #define IMediaEvent_GetTypeInfo(p,a1,a2,a3) ICOM_CALL3(GetTypeInfo,p,a1,a2,a3)
373 #define IMediaEvent_GetIDsOfNames(p,a1,a2,a3,a4,a5) ICOM_CALL5(GetIDsOfNames,p,a1,a2,a3,a4,a5)
374 #define IMediaEvent_Invoke(p,a1,a2,a3,a4,a5,a6,a7,a8) ICOM_CALL8(Invoke,p,a1,a2,a3,a4,a5,a6,a7,a8)
375     /*** IMediaEvent methods ***/
376 #define IMediaEvent_GetEventHandle(p,a1) ICOM_CALL1(GetEventHandle,p,a1)
377 #define IMediaEvent_GetEvent(p,a1,a2,a3,a4) ICOM_CALL4(GetEvent,p,a1,a2,a3,a4)
378 #define IMediaEvent_WaitForCompletion(p,a1,a2) ICOM_CALL2(WaitForCompletion,p,a1,a2)
379 #define IMediaEvent_CancelDefaultHandling(p,a1) ICOM_CALL1(CancelDefaultHandling,p,a1)
380 #define IMediaEvent_RestoreDefaultHandling(p,a1) ICOM_CALL1(RestoreDefaultHandling,p,a1)
381 #define IMediaEvent_FreeEventParams(p,a1,a2,a3) ICOM_CALL3(FreeEventParams,p,a1,a2,a3)
382
383 /**************************************************************************
384  *
385  * IMediaEventEx interface
386  *
387  */
388
389 #define ICOM_INTERFACE IMediaEventEx
390 #define IMediaEventEx_METHODS \
391     ICOM_METHOD3(HRESULT,SetNotifyWindow,OAHWND,a1,long,a2,LONG_PTR,a3) \
392     ICOM_METHOD1(HRESULT,SetNotifyFlags,long,a1) \
393     ICOM_METHOD1(HRESULT,GetNotifyFlags,long*,a1)
394
395 #define IMediaEventEx_IMETHODS \
396     IMediaEvent_IMETHODS \
397     IMediaEventEx_METHODS
398
399 ICOM_DEFINE(IMediaEventEx,IMediaEvent)
400 #undef ICOM_INTERFACE
401
402     /*** IUnknown methods ***/
403 #define IMediaEventEx_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
404 #define IMediaEventEx_AddRef(p) ICOM_CALL (AddRef,p)
405 #define IMediaEventEx_Release(p) ICOM_CALL (Release,p)
406     /*** IDispatch methods ***/
407 #define IMediaEventEx_GetTypeInfoCount(p,a1) ICOM_CALL1(GetTypeInfoCount,p,a1)
408 #define IMediaEventEx_GetTypeInfo(p,a1,a2,a3) ICOM_CALL3(GetTypeInfo,p,a1,a2,a3)
409 #define IMediaEventEx_GetIDsOfNames(p,a1,a2,a3,a4,a5) ICOM_CALL5(GetIDsOfNames,p,a1,a2,a3,a4,a5)
410 #define IMediaEventEx_Invoke(p,a1,a2,a3,a4,a5,a6,a7,a8) ICOM_CALL8(Invoke,p,a1,a2,a3,a4,a5,a6,a7,a8)
411     /*** IMediaEvent methods ***/
412 #define IMediaEventEx_GetEventHandle(p,a1) ICOM_CALL1(GetEventHandle,p,a1)
413 #define IMediaEventEx_GetEvent(p,a1,a2,a3,a4) ICOM_CALL4(GetEvent,p,a1,a2,a3,a4)
414 #define IMediaEventEx_WaitForCompletion(p,a1,a2) ICOM_CALL2(WaitForCompletion,p,a1,a2)
415 #define IMediaEventEx_CancelDefaultHandling(p,a1) ICOM_CALL1(CancelDefaultHandling,p,a1)
416 #define IMediaEventEx_RestoreDefaultHandling(p,a1) ICOM_CALL1(RestoreDefaultHandling,p,a1)
417 #define IMediaEventEx_FreeEventParams(p,a1,a2,a3) ICOM_CALL3(FreeEventParams,p,a1,a2,a3)
418     /*** IMediaEventEx methods ***/
419 #define IMediaEventEx_SetNotifyWindow(p,a1,a2,a3) ICOM_CALL3(SetNotifyWindow,p,a1,a2,a3)
420 #define IMediaEventEx_SetNotifyFlags(p,a1) ICOM_CALL1(SetNotifyFlags,p,a1)
421 #define IMediaEventEx_GetNotifyFlags(p,a1) ICOM_CALL1(GetNotifyFlags,p,a1)
422
423 /**************************************************************************
424  *
425  * IMediaPosition interface
426  *
427  */
428
429 #define ICOM_INTERFACE IMediaPosition
430 #define IMediaPosition_METHODS \
431     ICOM_METHOD1(HRESULT,get_Duration,REFTIME*,a1) \
432     ICOM_METHOD1(HRESULT,put_CurrentPosition,REFTIME,a1) \
433     ICOM_METHOD1(HRESULT,get_CurrentPosition,REFTIME*,a1) \
434     ICOM_METHOD1(HRESULT,get_StopTime,REFTIME*,a1) \
435     ICOM_METHOD1(HRESULT,put_StopTime,REFTIME,a1) \
436     ICOM_METHOD1(HRESULT,get_PrerollTime,REFTIME*,a1) \
437     ICOM_METHOD1(HRESULT,put_PrerollTime,REFTIME,a1) \
438     ICOM_METHOD1(HRESULT,put_Rate,double,a1) \
439     ICOM_METHOD1(HRESULT,get_Rate,double*,a1) \
440     ICOM_METHOD1(HRESULT,CanSeekForward,LONG*,a1) \
441     ICOM_METHOD1(HRESULT,CanSeekBackward,LONG*,a1)
442
443 #define IMediaPosition_IMETHODS \
444     IDispatch_IMETHODS \
445     IMediaPosition_METHODS
446
447 ICOM_DEFINE(IMediaPosition,IDispatch)
448 #undef ICOM_INTERFACE
449
450     /*** IUnknown methods ***/
451 #define IMediaPosition_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
452 #define IMediaPosition_AddRef(p) ICOM_CALL (AddRef,p)
453 #define IMediaPosition_Release(p) ICOM_CALL (Release,p)
454     /*** IDispatch methods ***/
455 #define IMediaPosition_GetTypeInfoCount(p,a1) ICOM_CALL1(GetTypeInfoCount,p,a1)
456 #define IMediaPosition_GetTypeInfo(p,a1,a2,a3) ICOM_CALL3(GetTypeInfo,p,a1,a2,a3)
457 #define IMediaPosition_GetIDsOfNames(p,a1,a2,a3,a4,a5) ICOM_CALL5(GetIDsOfNames,p,a1,a2,a3,a4,a5)
458 #define IMediaPosition_Invoke(p,a1,a2,a3,a4,a5,a6,a7,a8) ICOM_CALL8(Invoke,p,a1,a2,a3,a4,a5,a6,a7,a8)
459     /*** IMediaPosition methods ***/
460 #define IMediaPosition_get_Duration(p,a1) ICOM_CALL1(get_Duration,p,a1)
461 #define IMediaPosition_put_CurrentPosition(p,a1) ICOM_CALL1(put_CurrentPosition,p,a1)
462 #define IMediaPosition_get_CurrentPosition(p,a1) ICOM_CALL1(get_CurrentPosition,p,a1)
463 #define IMediaPosition_get_StopTime(p,a1) ICOM_CALL1(get_StopTime,p,a1)
464 #define IMediaPosition_put_StopTime(p,a1) ICOM_CALL1(put_StopTime,p,a1)
465 #define IMediaPosition_get_PrerollTime(p,a1) ICOM_CALL1(get_PrerollTime,p,a1)
466 #define IMediaPosition_put_PrerollTime(p,a1) ICOM_CALL1(put_PrerollTime,p,a1)
467 #define IMediaPosition_put_Rate(p,a1) ICOM_CALL1(put_Rate,p,a1)
468 #define IMediaPosition_get_Rate(p,a1) ICOM_CALL1(get_Rate,p,a1)
469 #define IMediaPosition_CanSeekForward(p,a1) ICOM_CALL1(CanSeekForward,p,a1)
470 #define IMediaPosition_CanSeekBackward(p,a1) ICOM_CALL1(CanSeekBackward,p,a1)
471
472 /**************************************************************************
473  *
474  * IMediaTypeInfo interface
475  *
476  */
477
478 #define ICOM_INTERFACE IMediaTypeInfo
479 #define IMediaTypeInfo_METHODS \
480     ICOM_METHOD1(HRESULT,get_Type,BSTR*,a1) \
481     ICOM_METHOD1(HRESULT,get_Subtype,BSTR*,a1)
482
483 #define IMediaTypeInfo_IMETHODS \
484     IDispatch_IMETHODS \
485     IMediaTypeInfo_METHODS
486
487 ICOM_DEFINE(IMediaTypeInfo,IDispatch)
488 #undef ICOM_INTERFACE
489
490     /*** IUnknown methods ***/
491 #define IMediaTypeInfo_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
492 #define IMediaTypeInfo_AddRef(p) ICOM_CALL (AddRef,p)
493 #define IMediaTypeInfo_Release(p) ICOM_CALL (Release,p)
494     /*** IDispatch methods ***/
495 #define IMediaTypeInfo_GetTypeInfoCount(p,a1) ICOM_CALL1(GetTypeInfoCount,p,a1)
496 #define IMediaTypeInfo_GetTypeInfo(p,a1,a2,a3) ICOM_CALL3(GetTypeInfo,p,a1,a2,a3)
497 #define IMediaTypeInfo_GetIDsOfNames(p,a1,a2,a3,a4,a5) ICOM_CALL5(GetIDsOfNames,p,a1,a2,a3,a4,a5)
498 #define IMediaTypeInfo_Invoke(p,a1,a2,a3,a4,a5,a6,a7,a8) ICOM_CALL8(Invoke,p,a1,a2,a3,a4,a5,a6,a7,a8)
499     /*** IMediaTypeInfo methods ***/
500 #define IMediaTypeInfo_get_Type(p,a1) ICOM_CALL1(get_Type,p,a1)
501 #define IMediaTypeInfo_get_Subtype(p,a1) ICOM_CALL1(get_Subtype,p,a1)
502
503 /**************************************************************************
504  *
505  * IPinInfo interface
506  *
507  */
508
509 #define ICOM_INTERFACE IPinInfo
510 #define IPinInfo_METHODS \
511     ICOM_METHOD1(HRESULT,get_Pin,IUnknown**,a1) \
512     ICOM_METHOD1(HRESULT,get_ConnectedTo,IDispatch**,a1) \
513     ICOM_METHOD1(HRESULT,get_ConnectionMediaType,IDispatch**,a1) \
514     ICOM_METHOD1(HRESULT,get_FilterInfo,IDispatch**,a1) \
515     ICOM_METHOD1(HRESULT,get_Name,BSTR*,a1) \
516     ICOM_METHOD1(HRESULT,get_Direction,LONG*,a1) \
517     ICOM_METHOD1(HRESULT,get_PinID,BSTR*,a1) \
518     ICOM_METHOD1(HRESULT,get_MediaTypes,IDispatch**,a1) \
519     ICOM_METHOD1(HRESULT,Connect,IUnknown*,a1) \
520     ICOM_METHOD1(HRESULT,ConnectDirect,IUnknown*,a1) \
521     ICOM_METHOD2(HRESULT,ConnectWithType,IUnknown*,a1,IDispatch*,a2) \
522     ICOM_METHOD (HRESULT,Disconnect) \
523     ICOM_METHOD (HRESULT,Render)
524
525 #define IPinInfo_IMETHODS \
526     IDispatch_IMETHODS \
527     IPinInfo_METHODS
528
529 ICOM_DEFINE(IPinInfo,IDispatch)
530 #undef ICOM_INTERFACE
531
532     /*** IUnknown methods ***/
533 #define IPinInfo_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
534 #define IPinInfo_AddRef(p) ICOM_CALL (AddRef,p)
535 #define IPinInfo_Release(p) ICOM_CALL (Release,p)
536     /*** IDispatch methods ***/
537 #define IPinInfo_GetTypeInfoCount(p,a1) ICOM_CALL1(GetTypeInfoCount,p,a1)
538 #define IPinInfo_GetTypeInfo(p,a1,a2,a3) ICOM_CALL3(GetTypeInfo,p,a1,a2,a3)
539 #define IPinInfo_GetIDsOfNames(p,a1,a2,a3,a4,a5) ICOM_CALL5(GetIDsOfNames,p,a1,a2,a3,a4,a5)
540 #define IPinInfo_Invoke(p,a1,a2,a3,a4,a5,a6,a7,a8) ICOM_CALL8(Invoke,p,a1,a2,a3,a4,a5,a6,a7,a8)
541     /*** IPinInfo methods ***/
542 #define IPinInfo_get_Pin(p,a1) ICOM_CALL1(get_Pin,p,a1)
543 #define IPinInfo_get_ConnectedTo(p,a1) ICOM_CALL1(get_ConnectedTo,p,a1)
544 #define IPinInfo_get_ConnectionMediaType(p,a1) ICOM_CALL1(get_ConnectionMediaType,p,a1)
545 #define IPinInfo_get_FilterInfo(p,a1) ICOM_CALL1(get_FilterInfo,p,a1)
546 #define IPinInfo_get_Name(p,a1) ICOM_CALL1(get_Name,p,a1)
547 #define IPinInfo_get_Direction(p,a1) ICOM_CALL1(get_Direction,p,a1)
548 #define IPinInfo_get_PinID(p,a1) ICOM_CALL1(get_PinID,p,a1)
549 #define IPinInfo_get_MediaTypes(p,a1) ICOM_CALL1(get_MediaTypes,p,a1)
550 #define IPinInfo_Connect(p,a1) ICOM_CALL1(Connect,p,a1)
551 #define IPinInfo_ConnectDirect(p,a1) ICOM_CALL1(ConnectDirect,p,a1)
552 #define IPinInfo_ConnectWithType(p,a1,a2) ICOM_CALL2(ConnectWithType,p,a1,a2)
553 #define IPinInfo_Disconnect(p) ICOM_CALL (Disconnect,p)
554 #define IPinInfo_Render(p) ICOM_CALL (Render,p)
555
556 /**************************************************************************
557  *
558  * IQueueCommand interface
559  *
560  */
561
562 #define ICOM_INTERFACE IQueueCommand
563 #define IQueueCommand_METHODS \
564     ICOM_METHOD9(HRESULT,InvokeAtStreamTime,IDeferredCommand**,a1,REFTIME,a2,GUID*,a3,long,a4,short,a5,long,a6,VARIANT*,a7,VARIANT*,a8,short*,a9) \
565     ICOM_METHOD9(HRESULT,InvokeAtPresentationTime,IDeferredCommand**,a1,REFTIME,a2,GUID*,a3,long,a4,short,a5,long,a6,VARIANT*,a7,VARIANT*,a8,short*,a9)
566
567 #define IQueueCommand_IMETHODS \
568     IUnknown_IMETHODS \
569     IQueueCommand_METHODS
570
571 ICOM_DEFINE(IQueueCommand,IUnknown)
572 #undef ICOM_INTERFACE
573
574     /*** IUnknown methods ***/
575 #define IQueueCommand_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
576 #define IQueueCommand_AddRef(p) ICOM_CALL (AddRef,p)
577 #define IQueueCommand_Release(p) ICOM_CALL (Release,p)
578     /*** IQueueCommand methods ***/
579 #define IQueueCommand_InvokeAtStreamTime(p,a1,a2,a3,a4,a5,a6,a7,a8,a9) ICOM_CALL9(InvokeAtStreamTime,p,a1,a2,a3,a4,a5,a6,a7,a8,a9)
580 #define IQueueCommand_InvokeAtPresentationTime(p,a1,a2,a3,a4,a5,a6,a7,a8,a9) ICOM_CALL9(InvokeAtPresentationTime,p,a1,a2,a3,a4,a5,a6,a7,a8,a9)
581
582 /**************************************************************************
583  *
584  * IRegFilterInfo interface
585  *
586  */
587
588 #define ICOM_INTERFACE IRegFilterInfo
589 #define IRegFilterInfo_METHODS \
590     ICOM_METHOD1(HRESULT,get_Name,BSTR*,a1) \
591     ICOM_METHOD1(HRESULT,Filter,IDispatch**,a1)
592
593 #define IRegFilterInfo_IMETHODS \
594     IDispatch_IMETHODS \
595     IRegFilterInfo_METHODS
596
597 ICOM_DEFINE(IRegFilterInfo,IDispatch)
598 #undef ICOM_INTERFACE
599
600     /*** IUnknown methods ***/
601 #define IRegFilterInfo_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
602 #define IRegFilterInfo_AddRef(p) ICOM_CALL (AddRef,p)
603 #define IRegFilterInfo_Release(p) ICOM_CALL (Release,p)
604     /*** IDispatch methods ***/
605 #define IRegFilterInfo_GetTypeInfoCount(p,a1) ICOM_CALL1(GetTypeInfoCount,p,a1)
606 #define IRegFilterInfo_GetTypeInfo(p,a1,a2,a3) ICOM_CALL3(GetTypeInfo,p,a1,a2,a3)
607 #define IRegFilterInfo_GetIDsOfNames(p,a1,a2,a3,a4,a5) ICOM_CALL5(GetIDsOfNames,p,a1,a2,a3,a4,a5)
608 #define IRegFilterInfo_Invoke(p,a1,a2,a3,a4,a5,a6,a7,a8) ICOM_CALL8(Invoke,p,a1,a2,a3,a4,a5,a6,a7,a8)
609     /*** IRegFilterInfo methods ***/
610 #define IRegFilterInfo_get_Name(p,a1) ICOM_CALL1(get_Name,p,a1)
611 #define IRegFilterInfo_Filter(p,a1) ICOM_CALL1(Filter,p,a1)
612
613 /**************************************************************************
614  *
615  * IVideoWindow interface
616  *
617  */
618
619 #define ICOM_INTERFACE IVideoWindow
620 #define IVideoWindow_METHODS \
621     ICOM_METHOD1(HRESULT,put_Caption,BSTR,a1) \
622     ICOM_METHOD1(HRESULT,get_Caption,BSTR*,a1) \
623     ICOM_METHOD1(HRESULT,put_WindowStyle,long,a1) \
624     ICOM_METHOD1(HRESULT,get_WindowStyle,long*,a1) \
625     ICOM_METHOD1(HRESULT,put_WindowStyleEx,long,a1) \
626     ICOM_METHOD1(HRESULT,get_WindowStyleEx,long*,a1) \
627     ICOM_METHOD1(HRESULT,put_AutoShow,long,a1) \
628     ICOM_METHOD1(HRESULT,get_AutoShow,long*,a1) \
629     ICOM_METHOD1(HRESULT,put_WindowState,long,a1) \
630     ICOM_METHOD1(HRESULT,get_WindowState,long*,a1) \
631     ICOM_METHOD1(HRESULT,put_BackgroundPalette,long,a1) \
632     ICOM_METHOD1(HRESULT,get_BackgroundPalette,long*,a1) \
633     ICOM_METHOD1(HRESULT,put_Visible,long,a1) \
634     ICOM_METHOD1(HRESULT,get_Visible,long*,a1) \
635     ICOM_METHOD1(HRESULT,put_Left,long,a1) \
636     ICOM_METHOD1(HRESULT,get_Left,long*,a1) \
637     ICOM_METHOD1(HRESULT,put_Width,long,a1) \
638     ICOM_METHOD1(HRESULT,get_Width,long*,a1) \
639     ICOM_METHOD1(HRESULT,put_Top,long,a1) \
640     ICOM_METHOD1(HRESULT,get_Top,long*,a1) \
641     ICOM_METHOD1(HRESULT,put_Height,long,a1) \
642     ICOM_METHOD1(HRESULT,get_Height,long*,a1) \
643     ICOM_METHOD1(HRESULT,put_Owner,OAHWND,a1) \
644     ICOM_METHOD1(HRESULT,get_Owner,OAHWND*,a1) \
645     ICOM_METHOD1(HRESULT,put_MessageDrain,OAHWND,a1) \
646     ICOM_METHOD1(HRESULT,get_MessageDrain,OAHWND*,a1) \
647     ICOM_METHOD1(HRESULT,get_BorderColor,long*,a1) \
648     ICOM_METHOD1(HRESULT,put_BorderColor,long,a1) \
649     ICOM_METHOD1(HRESULT,get_FullScreenMode,long*,a1) \
650     ICOM_METHOD1(HRESULT,put_FullScreenMode,long,a1) \
651     ICOM_METHOD1(HRESULT,SetWindowForeground,long,a1) \
652     ICOM_METHOD4(HRESULT,NotifyOwnerMessage,OAHWND,a1,long,a2,LONG_PTR,a3,LONG_PTR,a4) \
653     ICOM_METHOD4(HRESULT,SetWindowPosition,long,a1,long,a2,long,a3,long,a4) \
654     ICOM_METHOD4(HRESULT,GetWindowPosition,long*,a1,long*,a2,long*,a3,long*,a4) \
655     ICOM_METHOD2(HRESULT,GetMinIdealImageSize,long*,a1,long*,a2) \
656     ICOM_METHOD2(HRESULT,GetMaxIdealImageSize,long*,a1,long*,a2) \
657     ICOM_METHOD4(HRESULT,GetRestorePosition,long*,a1,long*,a2,long*,a3,long*,a4) \
658     ICOM_METHOD1(HRESULT,HideCursor,long,a1) \
659     ICOM_METHOD1(HRESULT,IsCursorHidden,long*,a1)
660
661 #define IVideoWindow_IMETHODS \
662     IDispatch_IMETHODS \
663     IVideoWindow_METHODS
664
665 ICOM_DEFINE(IVideoWindow,IDispatch)
666 #undef ICOM_INTERFACE
667
668     /*** IUnknown methods ***/
669 #define IVideoWindow_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
670 #define IVideoWindow_AddRef(p) ICOM_CALL (AddRef,p)
671 #define IVideoWindow_Release(p) ICOM_CALL (Release,p)
672     /*** IDispatch methods ***/
673 #define IVideoWindow_GetTypeInfoCount(p,a1) ICOM_CALL1(GetTypeInfoCount,p,a1)
674 #define IVideoWindow_GetTypeInfo(p,a1,a2,a3) ICOM_CALL3(GetTypeInfo,p,a1,a2,a3)
675 #define IVideoWindow_GetIDsOfNames(p,a1,a2,a3,a4,a5) ICOM_CALL5(GetIDsOfNames,p,a1,a2,a3,a4,a5)
676 #define IVideoWindow_Invoke(p,a1,a2,a3,a4,a5,a6,a7,a8) ICOM_CALL8(Invoke,p,a1,a2,a3,a4,a5,a6,a7,a8)
677     /*** IVideoWindow methods ***/
678 #define IVideoWindow_put_Caption(p,a1) ICOM_CALL1(put_Caption,p,a1)
679 #define IVideoWindow_get_Caption(p,a1) ICOM_CALL1(get_Caption,p,a1)
680 #define IVideoWindow_put_WindowStyle(p,a1) ICOM_CALL1(put_WindowStyle,p,a1)
681 #define IVideoWindow_get_WindowStyle(p,a1) ICOM_CALL1(get_WindowStyle,p,a1)
682 #define IVideoWindow_put_WindowStyleEx(p,a1) ICOM_CALL1(put_WindowStyleEx,p,a1)
683 #define IVideoWindow_get_WindowStyleEx(p,a1) ICOM_CALL1(get_WindowStyleEx,p,a1)
684 #define IVideoWindow_put_AutoShow(p,a1) ICOM_CALL1(put_AutoShow,p,a1)
685 #define IVideoWindow_get_AutoShow(p,a1) ICOM_CALL1(get_AutoShow,p,a1)
686 #define IVideoWindow_put_WindowState(p,a1) ICOM_CALL1(put_WindowState,p,a1)
687 #define IVideoWindow_get_WindowState(p,a1) ICOM_CALL1(get_WindowState,p,a1)
688 #define IVideoWindow_put_BackgroundPalette(p,a1) ICOM_CALL1(put_BackgroundPalette,p,a1)
689 #define IVideoWindow_get_BackgroundPalette(p,a1) ICOM_CALL1(get_BackgroundPalette,p,a1)
690 #define IVideoWindow_put_Visible(p,a1) ICOM_CALL1(put_Visible,p,a1)
691 #define IVideoWindow_get_Visible(p,a1) ICOM_CALL1(get_Visible,p,a1)
692 #define IVideoWindow_put_Left(p,a1) ICOM_CALL1(put_Left,p,a1)
693 #define IVideoWindow_get_Left(p,a1) ICOM_CALL1(get_Left,p,a1)
694 #define IVideoWindow_put_Width(p,a1) ICOM_CALL1(put_Width,p,a1)
695 #define IVideoWindow_get_Width(p,a1) ICOM_CALL1(get_Width,p,a1)
696 #define IVideoWindow_put_Top(p,a1) ICOM_CALL1(put_Top,p,a1)
697 #define IVideoWindow_get_Top(p,a1) ICOM_CALL1(get_Top,p,a1)
698 #define IVideoWindow_put_Height(p,a1) ICOM_CALL1(put_Height,p,a1)
699 #define IVideoWindow_get_Height(p,a1) ICOM_CALL1(get_Height,p,a1)
700 #define IVideoWindow_put_Owner(p,a1) ICOM_CALL1(put_Owner,p,a1)
701 #define IVideoWindow_get_Owner(p,a1) ICOM_CALL1(get_Owner,p,a1)
702 #define IVideoWindow_put_MessageDrain(p,a1) ICOM_CALL1(put_MessageDrain,p,a1)
703 #define IVideoWindow_get_MessageDrain(p,a1) ICOM_CALL1(get_MessageDrain,p,a1)
704 #define IVideoWindow_get_BorderColor(p,a1) ICOM_CALL1(get_BorderColor,p,a1)
705 #define IVideoWindow_put_BorderColor(p,a1) ICOM_CALL1(put_BorderColor,p,a1)
706 #define IVideoWindow_get_FullScreenMode(p,a1) ICOM_CALL1(get_FullScreenMode,p,a1)
707 #define IVideoWindow_put_FullScreenMode(p,a1) ICOM_CALL1(put_FullScreenMode,p,a1)
708 #define IVideoWindow_SetWindowForeground(p,a1) ICOM_CALL1(SetWindowForeground,p,a1)
709 #define IVideoWindow_NotifyOwnerMessage(p,a1,a2,a3,a4) ICOM_CALL4(NotifyOwnerMessage,p,a1,a2,a3,a4)
710 #define IVideoWindow_SetWindowPosition(p,a1,a2,a3,a4) ICOM_CALL4(SetWindowPosition,p,a1,a2,a3,a4)
711 #define IVideoWindow_GetWindowPosition(p,a1,a2,a3,a4) ICOM_CALL4(GetWindowPosition,p,a1,a2,a3,a4)
712 #define IVideoWindow_GetMinIdealImageSize(p,a1,a2) ICOM_CALL2(GetMinIdealImageSize,p,a1,a2)
713 #define IVideoWindow_GetMaxIdealImageSize(p,a1,a2) ICOM_CALL2(GetMaxIdealImageSize,p,a1,a2)
714 #define IVideoWindow_GetRestorePosition(p,a1,a2,a3,a4) ICOM_CALL4(GetRestorePosition,p,a1,a2,a3,a4)
715 #define IVideoWindow_HideCursor(p,a1) ICOM_CALL1(HideCursor,p,a1)
716 #define IVideoWindow_IsCursorHidden(p,a1) ICOM_CALL1(IsCursorHidden,p,a1)
717
718 #endif  /* __WINE_CONTROL_H_ */