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