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