1 /*** Autogenerated by WIDL 3.19 from direct-x/include/amvideo.idl - Do not edit ***/
2 
3 #ifndef __REQUIRED_RPCNDR_H_VERSION__
4 #define __REQUIRED_RPCNDR_H_VERSION__ 475
5 #endif
6 
7 #include <rpc.h>
8 #include <rpcndr.h>
9 
10 #ifndef COM_NO_WINDOWS_H
11 #include <windows.h>
12 #include <ole2.h>
13 #endif
14 
15 #ifndef __amvideo_h__
16 #define __amvideo_h__
17 
18 /* Forward declarations */
19 
20 #ifndef __IDirectDrawVideo_FWD_DEFINED__
21 #define __IDirectDrawVideo_FWD_DEFINED__
22 typedef interface IDirectDrawVideo IDirectDrawVideo;
23 #ifdef __cplusplus
24 interface IDirectDrawVideo;
25 #endif /* __cplusplus */
26 #endif
27 
28 #ifndef __IQualProp_FWD_DEFINED__
29 #define __IQualProp_FWD_DEFINED__
30 typedef interface IQualProp IQualProp;
31 #ifdef __cplusplus
32 interface IQualProp;
33 #endif /* __cplusplus */
34 #endif
35 
36 #ifndef __IFullScreenVideo_FWD_DEFINED__
37 #define __IFullScreenVideo_FWD_DEFINED__
38 typedef interface IFullScreenVideo IFullScreenVideo;
39 #ifdef __cplusplus
40 interface IFullScreenVideo;
41 #endif /* __cplusplus */
42 #endif
43 
44 #ifndef __IFullScreenVideoEx_FWD_DEFINED__
45 #define __IFullScreenVideoEx_FWD_DEFINED__
46 typedef interface IFullScreenVideoEx IFullScreenVideoEx;
47 #ifdef __cplusplus
48 interface IFullScreenVideoEx;
49 #endif /* __cplusplus */
50 #endif
51 
52 #ifndef __IBaseVideoMixer_FWD_DEFINED__
53 #define __IBaseVideoMixer_FWD_DEFINED__
54 typedef interface IBaseVideoMixer IBaseVideoMixer;
55 #ifdef __cplusplus
56 interface IBaseVideoMixer;
57 #endif /* __cplusplus */
58 #endif
59 
60 /* Headers for imported files */
61 
62 #include <objidl.h>
63 
64 #ifdef __cplusplus
65 extern "C" {
66 #endif
67 
68 #if 0
69 #ifndef __IDirectDraw_FWD_DEFINED__
70 #define __IDirectDraw_FWD_DEFINED__
71 typedef interface IDirectDraw IDirectDraw;
72 #ifdef __cplusplus
73 interface IDirectDraw;
74 #endif /* __cplusplus */
75 #endif
76 
77 typedef void DDSURFACEDESC;
78 typedef void DDCAPS;
79 typedef DWORD RGBQUAD;
80 typedef LONGLONG REFERENCE_TIME;
81 typedef struct __WIDL_amvideo_generated_name_00000002 {
82     DWORD biSize;
83     LONG biWidth;
84     LONG biHeight;
85     WORD biPlanes;
86     WORD biBitCount;
87     DWORD biCompression;
88     DWORD biSizeImage;
89     LONG biXPelsPerMeter;
90     LONG biYPelsPerMeter;
91     DWORD biClrUsed;
92     DWORD biClrImportant;
93 } BITMAPINFOHEADER;
94 typedef struct __WIDL_amvideo_generated_name_00000002 *PBITMAPINFOHEADER;
95 typedef struct __WIDL_amvideo_generated_name_00000002 *LPBITMAPINFOHEADER;
96 #endif
97 #include <ddraw.h>
98 #define AMDDS_NONE 0x00
99 #define AMDDS_DCIPS 0x01
100 #define AMDDS_PS 0x02
101 #define AMDDS_RGBOVR 0x04
102 #define AMDDS_YUVOVR 0x08
103 #define AMDDS_RGBOFF 0x10
104 #define AMDDS_YUVOFF 0x20
105 #define AMDDS_RGBFLP 0x40
106 #define AMDDS_YUVFLP 0x80
107 #define AMDDS_ALL 0xFF
108 #define AMDDS_DEFAULT AMDDS_ALL
109 #define AMDDS_YUV (AMDDS_YUVOFF | AMDDS_YUVOVR | AMDDS_YUVFLP)
110 #define AMDDS_RGB (AMDDS_RGBOFF | AMDDS_RGBOVR | AMDDS_RGBFLP)
111 #define AMDSS_PRIMARY (AMDDS_DCIPS | AMDDS_PS)
112 /*****************************************************************************
113  * IDirectDrawVideo interface
114  */
115 #ifndef __IDirectDrawVideo_INTERFACE_DEFINED__
116 #define __IDirectDrawVideo_INTERFACE_DEFINED__
117 
118 #if defined(__cplusplus) && !defined(CINTERFACE)
119 interface IDirectDrawVideo : public IUnknown
120 {
121     virtual HRESULT STDMETHODCALLTYPE GetSwitches(
122         DWORD *pSwitches) = 0;
123 
124     virtual HRESULT STDMETHODCALLTYPE SetSwitches(
125         DWORD Switches) = 0;
126 
127     virtual HRESULT STDMETHODCALLTYPE GetCaps(
128         DDCAPS *pCaps) = 0;
129 
130     virtual HRESULT STDMETHODCALLTYPE GetEmulatedCaps(
131         DDCAPS *pCaps) = 0;
132 
133     virtual HRESULT STDMETHODCALLTYPE GetSurfaceDesc(
134         DDSURFACEDESC *pSurfaceDesc) = 0;
135 
136     virtual HRESULT STDMETHODCALLTYPE GetFourCCCodes(
137         DWORD *pCount,
138         DWORD *pCodes) = 0;
139 
140     virtual HRESULT STDMETHODCALLTYPE SetDirectDraw(
141         IDirectDraw *ddraw) = 0;
142 
143     virtual HRESULT STDMETHODCALLTYPE GetDirectDraw(
144         IDirectDraw **ddraw) = 0;
145 
146     virtual HRESULT STDMETHODCALLTYPE GetSurfaceType(
147         DWORD *pSurfaceType) = 0;
148 
149     virtual HRESULT STDMETHODCALLTYPE SetDefault(
150         ) = 0;
151 
152     virtual HRESULT STDMETHODCALLTYPE UseScanLine(
153         LONG UseScanLine) = 0;
154 
155     virtual HRESULT STDMETHODCALLTYPE CanUseScanLine(
156         LONG *UseScanLine) = 0;
157 
158     virtual HRESULT STDMETHODCALLTYPE UseOverlayStretch(
159         LONG UseOverlayStretch) = 0;
160 
161     virtual HRESULT STDMETHODCALLTYPE CanUseOverlayStretch(
162         LONG *UseOverlayStretch) = 0;
163 
164     virtual HRESULT STDMETHODCALLTYPE UseWhenFullScreen(
165         LONG UseWhenFullScreen) = 0;
166 
167     virtual HRESULT STDMETHODCALLTYPE WillUseFullScreen(
168         LONG *UseWhenFullScreen) = 0;
169 
170 };
171 #else
172 typedef struct IDirectDrawVideoVtbl {
173     BEGIN_INTERFACE
174 
175     /*** IUnknown methods ***/
176     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
177         IDirectDrawVideo *This,
178         REFIID riid,
179         void **ppvObject);
180 
181     ULONG (STDMETHODCALLTYPE *AddRef)(
182         IDirectDrawVideo *This);
183 
184     ULONG (STDMETHODCALLTYPE *Release)(
185         IDirectDrawVideo *This);
186 
187     /*** IDirectDrawVideo methods ***/
188     HRESULT (STDMETHODCALLTYPE *GetSwitches)(
189         IDirectDrawVideo *This,
190         DWORD *pSwitches);
191 
192     HRESULT (STDMETHODCALLTYPE *SetSwitches)(
193         IDirectDrawVideo *This,
194         DWORD Switches);
195 
196     HRESULT (STDMETHODCALLTYPE *GetCaps)(
197         IDirectDrawVideo *This,
198         DDCAPS *pCaps);
199 
200     HRESULT (STDMETHODCALLTYPE *GetEmulatedCaps)(
201         IDirectDrawVideo *This,
202         DDCAPS *pCaps);
203 
204     HRESULT (STDMETHODCALLTYPE *GetSurfaceDesc)(
205         IDirectDrawVideo *This,
206         DDSURFACEDESC *pSurfaceDesc);
207 
208     HRESULT (STDMETHODCALLTYPE *GetFourCCCodes)(
209         IDirectDrawVideo *This,
210         DWORD *pCount,
211         DWORD *pCodes);
212 
213     HRESULT (STDMETHODCALLTYPE *SetDirectDraw)(
214         IDirectDrawVideo *This,
215         IDirectDraw *ddraw);
216 
217     HRESULT (STDMETHODCALLTYPE *GetDirectDraw)(
218         IDirectDrawVideo *This,
219         IDirectDraw **ddraw);
220 
221     HRESULT (STDMETHODCALLTYPE *GetSurfaceType)(
222         IDirectDrawVideo *This,
223         DWORD *pSurfaceType);
224 
225     HRESULT (STDMETHODCALLTYPE *SetDefault)(
226         IDirectDrawVideo *This);
227 
228     HRESULT (STDMETHODCALLTYPE *UseScanLine)(
229         IDirectDrawVideo *This,
230         LONG UseScanLine);
231 
232     HRESULT (STDMETHODCALLTYPE *CanUseScanLine)(
233         IDirectDrawVideo *This,
234         LONG *UseScanLine);
235 
236     HRESULT (STDMETHODCALLTYPE *UseOverlayStretch)(
237         IDirectDrawVideo *This,
238         LONG UseOverlayStretch);
239 
240     HRESULT (STDMETHODCALLTYPE *CanUseOverlayStretch)(
241         IDirectDrawVideo *This,
242         LONG *UseOverlayStretch);
243 
244     HRESULT (STDMETHODCALLTYPE *UseWhenFullScreen)(
245         IDirectDrawVideo *This,
246         LONG UseWhenFullScreen);
247 
248     HRESULT (STDMETHODCALLTYPE *WillUseFullScreen)(
249         IDirectDrawVideo *This,
250         LONG *UseWhenFullScreen);
251 
252     END_INTERFACE
253 } IDirectDrawVideoVtbl;
254 
255 interface IDirectDrawVideo {
256     CONST_VTBL IDirectDrawVideoVtbl* lpVtbl;
257 };
258 
259 #ifdef COBJMACROS
260 #ifndef WIDL_C_INLINE_WRAPPERS
261 /*** IUnknown methods ***/
262 #define IDirectDrawVideo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
263 #define IDirectDrawVideo_AddRef(This) (This)->lpVtbl->AddRef(This)
264 #define IDirectDrawVideo_Release(This) (This)->lpVtbl->Release(This)
265 /*** IDirectDrawVideo methods ***/
266 #define IDirectDrawVideo_GetSwitches(This,pSwitches) (This)->lpVtbl->GetSwitches(This,pSwitches)
267 #define IDirectDrawVideo_SetSwitches(This,Switches) (This)->lpVtbl->SetSwitches(This,Switches)
268 #define IDirectDrawVideo_GetCaps(This,pCaps) (This)->lpVtbl->GetCaps(This,pCaps)
269 #define IDirectDrawVideo_GetEmulatedCaps(This,pCaps) (This)->lpVtbl->GetEmulatedCaps(This,pCaps)
270 #define IDirectDrawVideo_GetSurfaceDesc(This,pSurfaceDesc) (This)->lpVtbl->GetSurfaceDesc(This,pSurfaceDesc)
271 #define IDirectDrawVideo_GetFourCCCodes(This,pCount,pCodes) (This)->lpVtbl->GetFourCCCodes(This,pCount,pCodes)
272 #define IDirectDrawVideo_SetDirectDraw(This,ddraw) (This)->lpVtbl->SetDirectDraw(This,ddraw)
273 #define IDirectDrawVideo_GetDirectDraw(This,ddraw) (This)->lpVtbl->GetDirectDraw(This,ddraw)
274 #define IDirectDrawVideo_GetSurfaceType(This,pSurfaceType) (This)->lpVtbl->GetSurfaceType(This,pSurfaceType)
275 #define IDirectDrawVideo_SetDefault(This) (This)->lpVtbl->SetDefault(This)
276 #define IDirectDrawVideo_UseScanLine(This,UseScanLine) (This)->lpVtbl->UseScanLine(This,UseScanLine)
277 #define IDirectDrawVideo_CanUseScanLine(This,UseScanLine) (This)->lpVtbl->CanUseScanLine(This,UseScanLine)
278 #define IDirectDrawVideo_UseOverlayStretch(This,UseOverlayStretch) (This)->lpVtbl->UseOverlayStretch(This,UseOverlayStretch)
279 #define IDirectDrawVideo_CanUseOverlayStretch(This,UseOverlayStretch) (This)->lpVtbl->CanUseOverlayStretch(This,UseOverlayStretch)
280 #define IDirectDrawVideo_UseWhenFullScreen(This,UseWhenFullScreen) (This)->lpVtbl->UseWhenFullScreen(This,UseWhenFullScreen)
281 #define IDirectDrawVideo_WillUseFullScreen(This,UseWhenFullScreen) (This)->lpVtbl->WillUseFullScreen(This,UseWhenFullScreen)
282 #else
283 /*** IUnknown methods ***/
284 static FORCEINLINE HRESULT IDirectDrawVideo_QueryInterface(IDirectDrawVideo* This,REFIID riid,void **ppvObject) {
285     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
286 }
287 static FORCEINLINE ULONG IDirectDrawVideo_AddRef(IDirectDrawVideo* This) {
288     return This->lpVtbl->AddRef(This);
289 }
290 static FORCEINLINE ULONG IDirectDrawVideo_Release(IDirectDrawVideo* This) {
291     return This->lpVtbl->Release(This);
292 }
293 /*** IDirectDrawVideo methods ***/
294 static FORCEINLINE HRESULT IDirectDrawVideo_GetSwitches(IDirectDrawVideo* This,DWORD *pSwitches) {
295     return This->lpVtbl->GetSwitches(This,pSwitches);
296 }
297 static FORCEINLINE HRESULT IDirectDrawVideo_SetSwitches(IDirectDrawVideo* This,DWORD Switches) {
298     return This->lpVtbl->SetSwitches(This,Switches);
299 }
300 static FORCEINLINE HRESULT IDirectDrawVideo_GetCaps(IDirectDrawVideo* This,DDCAPS *pCaps) {
301     return This->lpVtbl->GetCaps(This,pCaps);
302 }
303 static FORCEINLINE HRESULT IDirectDrawVideo_GetEmulatedCaps(IDirectDrawVideo* This,DDCAPS *pCaps) {
304     return This->lpVtbl->GetEmulatedCaps(This,pCaps);
305 }
306 static FORCEINLINE HRESULT IDirectDrawVideo_GetSurfaceDesc(IDirectDrawVideo* This,DDSURFACEDESC *pSurfaceDesc) {
307     return This->lpVtbl->GetSurfaceDesc(This,pSurfaceDesc);
308 }
309 static FORCEINLINE HRESULT IDirectDrawVideo_GetFourCCCodes(IDirectDrawVideo* This,DWORD *pCount,DWORD *pCodes) {
310     return This->lpVtbl->GetFourCCCodes(This,pCount,pCodes);
311 }
312 static FORCEINLINE HRESULT IDirectDrawVideo_SetDirectDraw(IDirectDrawVideo* This,IDirectDraw *ddraw) {
313     return This->lpVtbl->SetDirectDraw(This,ddraw);
314 }
315 static FORCEINLINE HRESULT IDirectDrawVideo_GetDirectDraw(IDirectDrawVideo* This,IDirectDraw **ddraw) {
316     return This->lpVtbl->GetDirectDraw(This,ddraw);
317 }
318 static FORCEINLINE HRESULT IDirectDrawVideo_GetSurfaceType(IDirectDrawVideo* This,DWORD *pSurfaceType) {
319     return This->lpVtbl->GetSurfaceType(This,pSurfaceType);
320 }
321 static FORCEINLINE HRESULT IDirectDrawVideo_SetDefault(IDirectDrawVideo* This) {
322     return This->lpVtbl->SetDefault(This);
323 }
324 static FORCEINLINE HRESULT IDirectDrawVideo_UseScanLine(IDirectDrawVideo* This,LONG UseScanLine) {
325     return This->lpVtbl->UseScanLine(This,UseScanLine);
326 }
327 static FORCEINLINE HRESULT IDirectDrawVideo_CanUseScanLine(IDirectDrawVideo* This,LONG *UseScanLine) {
328     return This->lpVtbl->CanUseScanLine(This,UseScanLine);
329 }
330 static FORCEINLINE HRESULT IDirectDrawVideo_UseOverlayStretch(IDirectDrawVideo* This,LONG UseOverlayStretch) {
331     return This->lpVtbl->UseOverlayStretch(This,UseOverlayStretch);
332 }
333 static FORCEINLINE HRESULT IDirectDrawVideo_CanUseOverlayStretch(IDirectDrawVideo* This,LONG *UseOverlayStretch) {
334     return This->lpVtbl->CanUseOverlayStretch(This,UseOverlayStretch);
335 }
336 static FORCEINLINE HRESULT IDirectDrawVideo_UseWhenFullScreen(IDirectDrawVideo* This,LONG UseWhenFullScreen) {
337     return This->lpVtbl->UseWhenFullScreen(This,UseWhenFullScreen);
338 }
339 static FORCEINLINE HRESULT IDirectDrawVideo_WillUseFullScreen(IDirectDrawVideo* This,LONG *UseWhenFullScreen) {
340     return This->lpVtbl->WillUseFullScreen(This,UseWhenFullScreen);
341 }
342 #endif
343 #endif
344 
345 #endif
346 
347 
348 #endif  /* __IDirectDrawVideo_INTERFACE_DEFINED__ */
349 
350 /*****************************************************************************
351  * IQualProp interface
352  */
353 #ifndef __IQualProp_INTERFACE_DEFINED__
354 #define __IQualProp_INTERFACE_DEFINED__
355 
356 #if defined(__cplusplus) && !defined(CINTERFACE)
357 interface IQualProp : public IUnknown
358 {
359     virtual HRESULT STDMETHODCALLTYPE get_FramesDroppedInRenderer(
360         int *pcFrames) = 0;
361 
362     virtual HRESULT STDMETHODCALLTYPE get_FramesDrawn(
363         int *pcFramesDrawn) = 0;
364 
365     virtual HRESULT STDMETHODCALLTYPE get_AvgFrameRate(
366         int *piAvgFrameRate) = 0;
367 
368     virtual HRESULT STDMETHODCALLTYPE get_Jitter(
369         int *iJitter) = 0;
370 
371     virtual HRESULT STDMETHODCALLTYPE get_AvgSyncOffset(
372         int *piAvg) = 0;
373 
374     virtual HRESULT STDMETHODCALLTYPE get_DevSyncOffset(
375         int *piDev) = 0;
376 
377 };
378 #else
379 typedef struct IQualPropVtbl {
380     BEGIN_INTERFACE
381 
382     /*** IUnknown methods ***/
383     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
384         IQualProp *This,
385         REFIID riid,
386         void **ppvObject);
387 
388     ULONG (STDMETHODCALLTYPE *AddRef)(
389         IQualProp *This);
390 
391     ULONG (STDMETHODCALLTYPE *Release)(
392         IQualProp *This);
393 
394     /*** IQualProp methods ***/
395     HRESULT (STDMETHODCALLTYPE *get_FramesDroppedInRenderer)(
396         IQualProp *This,
397         int *pcFrames);
398 
399     HRESULT (STDMETHODCALLTYPE *get_FramesDrawn)(
400         IQualProp *This,
401         int *pcFramesDrawn);
402 
403     HRESULT (STDMETHODCALLTYPE *get_AvgFrameRate)(
404         IQualProp *This,
405         int *piAvgFrameRate);
406 
407     HRESULT (STDMETHODCALLTYPE *get_Jitter)(
408         IQualProp *This,
409         int *iJitter);
410 
411     HRESULT (STDMETHODCALLTYPE *get_AvgSyncOffset)(
412         IQualProp *This,
413         int *piAvg);
414 
415     HRESULT (STDMETHODCALLTYPE *get_DevSyncOffset)(
416         IQualProp *This,
417         int *piDev);
418 
419     END_INTERFACE
420 } IQualPropVtbl;
421 
422 interface IQualProp {
423     CONST_VTBL IQualPropVtbl* lpVtbl;
424 };
425 
426 #ifdef COBJMACROS
427 #ifndef WIDL_C_INLINE_WRAPPERS
428 /*** IUnknown methods ***/
429 #define IQualProp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
430 #define IQualProp_AddRef(This) (This)->lpVtbl->AddRef(This)
431 #define IQualProp_Release(This) (This)->lpVtbl->Release(This)
432 /*** IQualProp methods ***/
433 #define IQualProp_get_FramesDroppedInRenderer(This,pcFrames) (This)->lpVtbl->get_FramesDroppedInRenderer(This,pcFrames)
434 #define IQualProp_get_FramesDrawn(This,pcFramesDrawn) (This)->lpVtbl->get_FramesDrawn(This,pcFramesDrawn)
435 #define IQualProp_get_AvgFrameRate(This,piAvgFrameRate) (This)->lpVtbl->get_AvgFrameRate(This,piAvgFrameRate)
436 #define IQualProp_get_Jitter(This,iJitter) (This)->lpVtbl->get_Jitter(This,iJitter)
437 #define IQualProp_get_AvgSyncOffset(This,piAvg) (This)->lpVtbl->get_AvgSyncOffset(This,piAvg)
438 #define IQualProp_get_DevSyncOffset(This,piDev) (This)->lpVtbl->get_DevSyncOffset(This,piDev)
439 #else
440 /*** IUnknown methods ***/
IQualProp_QueryInterface(IQualProp * This,REFIID riid,void ** ppvObject)441 static FORCEINLINE HRESULT IQualProp_QueryInterface(IQualProp* This,REFIID riid,void **ppvObject) {
442     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
443 }
IQualProp_AddRef(IQualProp * This)444 static FORCEINLINE ULONG IQualProp_AddRef(IQualProp* This) {
445     return This->lpVtbl->AddRef(This);
446 }
IQualProp_Release(IQualProp * This)447 static FORCEINLINE ULONG IQualProp_Release(IQualProp* This) {
448     return This->lpVtbl->Release(This);
449 }
450 /*** IQualProp methods ***/
IQualProp_get_FramesDroppedInRenderer(IQualProp * This,int * pcFrames)451 static FORCEINLINE HRESULT IQualProp_get_FramesDroppedInRenderer(IQualProp* This,int *pcFrames) {
452     return This->lpVtbl->get_FramesDroppedInRenderer(This,pcFrames);
453 }
IQualProp_get_FramesDrawn(IQualProp * This,int * pcFramesDrawn)454 static FORCEINLINE HRESULT IQualProp_get_FramesDrawn(IQualProp* This,int *pcFramesDrawn) {
455     return This->lpVtbl->get_FramesDrawn(This,pcFramesDrawn);
456 }
IQualProp_get_AvgFrameRate(IQualProp * This,int * piAvgFrameRate)457 static FORCEINLINE HRESULT IQualProp_get_AvgFrameRate(IQualProp* This,int *piAvgFrameRate) {
458     return This->lpVtbl->get_AvgFrameRate(This,piAvgFrameRate);
459 }
IQualProp_get_Jitter(IQualProp * This,int * iJitter)460 static FORCEINLINE HRESULT IQualProp_get_Jitter(IQualProp* This,int *iJitter) {
461     return This->lpVtbl->get_Jitter(This,iJitter);
462 }
IQualProp_get_AvgSyncOffset(IQualProp * This,int * piAvg)463 static FORCEINLINE HRESULT IQualProp_get_AvgSyncOffset(IQualProp* This,int *piAvg) {
464     return This->lpVtbl->get_AvgSyncOffset(This,piAvg);
465 }
IQualProp_get_DevSyncOffset(IQualProp * This,int * piDev)466 static FORCEINLINE HRESULT IQualProp_get_DevSyncOffset(IQualProp* This,int *piDev) {
467     return This->lpVtbl->get_DevSyncOffset(This,piDev);
468 }
469 #endif
470 #endif
471 
472 #endif
473 
474 
475 #endif  /* __IQualProp_INTERFACE_DEFINED__ */
476 
477 /*****************************************************************************
478  * IFullScreenVideo interface
479  */
480 #ifndef __IFullScreenVideo_INTERFACE_DEFINED__
481 #define __IFullScreenVideo_INTERFACE_DEFINED__
482 
483 #if defined(__cplusplus) && !defined(CINTERFACE)
484 interface IFullScreenVideo : public IUnknown
485 {
486     virtual HRESULT STDMETHODCALLTYPE CountModes(
487         LONG *pModes) = 0;
488 
489     virtual HRESULT STDMETHODCALLTYPE GetModeInfo(
490         LONG Mode,
491         LONG *pWidth,
492         LONG *pHeight,
493         LONG *pDepth) = 0;
494 
495     virtual HRESULT STDMETHODCALLTYPE GetCurrentMode(
496         LONG *pMode) = 0;
497 
498     virtual HRESULT STDMETHODCALLTYPE IsModeAvailable(
499         LONG Mode) = 0;
500 
501     virtual HRESULT STDMETHODCALLTYPE IsModeEnabled(
502         LONG Mode) = 0;
503 
504     virtual HRESULT STDMETHODCALLTYPE SetEnabled(
505         LONG Mode,
506         LONG bEnabled) = 0;
507 
508     virtual HRESULT STDMETHODCALLTYPE GetClipFactor(
509         LONG *pClipFactor) = 0;
510 
511     virtual HRESULT STDMETHODCALLTYPE SetClipFactor(
512         LONG ClipFactor) = 0;
513 
514     virtual HRESULT STDMETHODCALLTYPE SetMessageDrain(
515         HWND hwnd) = 0;
516 
517     virtual HRESULT STDMETHODCALLTYPE GetMessageDrain(
518         HWND *hwnd) = 0;
519 
520     virtual HRESULT STDMETHODCALLTYPE SetMonitor(
521         LONG Monitor) = 0;
522 
523     virtual HRESULT STDMETHODCALLTYPE GetMonitor(
524         LONG *Monitor) = 0;
525 
526     virtual HRESULT STDMETHODCALLTYPE HideOnDeactivate(
527         LONG Hide) = 0;
528 
529     virtual HRESULT STDMETHODCALLTYPE IsHideOnDeactivate(
530         ) = 0;
531 
532     virtual HRESULT STDMETHODCALLTYPE SetCaption(
533         BSTR strCaption) = 0;
534 
535     virtual HRESULT STDMETHODCALLTYPE GetCaption(
536         BSTR *pstrCaption) = 0;
537 
538     virtual HRESULT STDMETHODCALLTYPE SetDefault(
539         ) = 0;
540 
541 };
542 #else
543 typedef struct IFullScreenVideoVtbl {
544     BEGIN_INTERFACE
545 
546     /*** IUnknown methods ***/
547     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
548         IFullScreenVideo *This,
549         REFIID riid,
550         void **ppvObject);
551 
552     ULONG (STDMETHODCALLTYPE *AddRef)(
553         IFullScreenVideo *This);
554 
555     ULONG (STDMETHODCALLTYPE *Release)(
556         IFullScreenVideo *This);
557 
558     /*** IFullScreenVideo methods ***/
559     HRESULT (STDMETHODCALLTYPE *CountModes)(
560         IFullScreenVideo *This,
561         LONG *pModes);
562 
563     HRESULT (STDMETHODCALLTYPE *GetModeInfo)(
564         IFullScreenVideo *This,
565         LONG Mode,
566         LONG *pWidth,
567         LONG *pHeight,
568         LONG *pDepth);
569 
570     HRESULT (STDMETHODCALLTYPE *GetCurrentMode)(
571         IFullScreenVideo *This,
572         LONG *pMode);
573 
574     HRESULT (STDMETHODCALLTYPE *IsModeAvailable)(
575         IFullScreenVideo *This,
576         LONG Mode);
577 
578     HRESULT (STDMETHODCALLTYPE *IsModeEnabled)(
579         IFullScreenVideo *This,
580         LONG Mode);
581 
582     HRESULT (STDMETHODCALLTYPE *SetEnabled)(
583         IFullScreenVideo *This,
584         LONG Mode,
585         LONG bEnabled);
586 
587     HRESULT (STDMETHODCALLTYPE *GetClipFactor)(
588         IFullScreenVideo *This,
589         LONG *pClipFactor);
590 
591     HRESULT (STDMETHODCALLTYPE *SetClipFactor)(
592         IFullScreenVideo *This,
593         LONG ClipFactor);
594 
595     HRESULT (STDMETHODCALLTYPE *SetMessageDrain)(
596         IFullScreenVideo *This,
597         HWND hwnd);
598 
599     HRESULT (STDMETHODCALLTYPE *GetMessageDrain)(
600         IFullScreenVideo *This,
601         HWND *hwnd);
602 
603     HRESULT (STDMETHODCALLTYPE *SetMonitor)(
604         IFullScreenVideo *This,
605         LONG Monitor);
606 
607     HRESULT (STDMETHODCALLTYPE *GetMonitor)(
608         IFullScreenVideo *This,
609         LONG *Monitor);
610 
611     HRESULT (STDMETHODCALLTYPE *HideOnDeactivate)(
612         IFullScreenVideo *This,
613         LONG Hide);
614 
615     HRESULT (STDMETHODCALLTYPE *IsHideOnDeactivate)(
616         IFullScreenVideo *This);
617 
618     HRESULT (STDMETHODCALLTYPE *SetCaption)(
619         IFullScreenVideo *This,
620         BSTR strCaption);
621 
622     HRESULT (STDMETHODCALLTYPE *GetCaption)(
623         IFullScreenVideo *This,
624         BSTR *pstrCaption);
625 
626     HRESULT (STDMETHODCALLTYPE *SetDefault)(
627         IFullScreenVideo *This);
628 
629     END_INTERFACE
630 } IFullScreenVideoVtbl;
631 
632 interface IFullScreenVideo {
633     CONST_VTBL IFullScreenVideoVtbl* lpVtbl;
634 };
635 
636 #ifdef COBJMACROS
637 #ifndef WIDL_C_INLINE_WRAPPERS
638 /*** IUnknown methods ***/
639 #define IFullScreenVideo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
640 #define IFullScreenVideo_AddRef(This) (This)->lpVtbl->AddRef(This)
641 #define IFullScreenVideo_Release(This) (This)->lpVtbl->Release(This)
642 /*** IFullScreenVideo methods ***/
643 #define IFullScreenVideo_CountModes(This,pModes) (This)->lpVtbl->CountModes(This,pModes)
644 #define IFullScreenVideo_GetModeInfo(This,Mode,pWidth,pHeight,pDepth) (This)->lpVtbl->GetModeInfo(This,Mode,pWidth,pHeight,pDepth)
645 #define IFullScreenVideo_GetCurrentMode(This,pMode) (This)->lpVtbl->GetCurrentMode(This,pMode)
646 #define IFullScreenVideo_IsModeAvailable(This,Mode) (This)->lpVtbl->IsModeAvailable(This,Mode)
647 #define IFullScreenVideo_IsModeEnabled(This,Mode) (This)->lpVtbl->IsModeEnabled(This,Mode)
648 #define IFullScreenVideo_SetEnabled(This,Mode,bEnabled) (This)->lpVtbl->SetEnabled(This,Mode,bEnabled)
649 #define IFullScreenVideo_GetClipFactor(This,pClipFactor) (This)->lpVtbl->GetClipFactor(This,pClipFactor)
650 #define IFullScreenVideo_SetClipFactor(This,ClipFactor) (This)->lpVtbl->SetClipFactor(This,ClipFactor)
651 #define IFullScreenVideo_SetMessageDrain(This,hwnd) (This)->lpVtbl->SetMessageDrain(This,hwnd)
652 #define IFullScreenVideo_GetMessageDrain(This,hwnd) (This)->lpVtbl->GetMessageDrain(This,hwnd)
653 #define IFullScreenVideo_SetMonitor(This,Monitor) (This)->lpVtbl->SetMonitor(This,Monitor)
654 #define IFullScreenVideo_GetMonitor(This,Monitor) (This)->lpVtbl->GetMonitor(This,Monitor)
655 #define IFullScreenVideo_HideOnDeactivate(This,Hide) (This)->lpVtbl->HideOnDeactivate(This,Hide)
656 #define IFullScreenVideo_IsHideOnDeactivate(This) (This)->lpVtbl->IsHideOnDeactivate(This)
657 #define IFullScreenVideo_SetCaption(This,strCaption) (This)->lpVtbl->SetCaption(This,strCaption)
658 #define IFullScreenVideo_GetCaption(This,pstrCaption) (This)->lpVtbl->GetCaption(This,pstrCaption)
659 #define IFullScreenVideo_SetDefault(This) (This)->lpVtbl->SetDefault(This)
660 #else
661 /*** IUnknown methods ***/
IFullScreenVideo_QueryInterface(IFullScreenVideo * This,REFIID riid,void ** ppvObject)662 static FORCEINLINE HRESULT IFullScreenVideo_QueryInterface(IFullScreenVideo* This,REFIID riid,void **ppvObject) {
663     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
664 }
IFullScreenVideo_AddRef(IFullScreenVideo * This)665 static FORCEINLINE ULONG IFullScreenVideo_AddRef(IFullScreenVideo* This) {
666     return This->lpVtbl->AddRef(This);
667 }
IFullScreenVideo_Release(IFullScreenVideo * This)668 static FORCEINLINE ULONG IFullScreenVideo_Release(IFullScreenVideo* This) {
669     return This->lpVtbl->Release(This);
670 }
671 /*** IFullScreenVideo methods ***/
IFullScreenVideo_CountModes(IFullScreenVideo * This,LONG * pModes)672 static FORCEINLINE HRESULT IFullScreenVideo_CountModes(IFullScreenVideo* This,LONG *pModes) {
673     return This->lpVtbl->CountModes(This,pModes);
674 }
IFullScreenVideo_GetModeInfo(IFullScreenVideo * This,LONG Mode,LONG * pWidth,LONG * pHeight,LONG * pDepth)675 static FORCEINLINE HRESULT IFullScreenVideo_GetModeInfo(IFullScreenVideo* This,LONG Mode,LONG *pWidth,LONG *pHeight,LONG *pDepth) {
676     return This->lpVtbl->GetModeInfo(This,Mode,pWidth,pHeight,pDepth);
677 }
IFullScreenVideo_GetCurrentMode(IFullScreenVideo * This,LONG * pMode)678 static FORCEINLINE HRESULT IFullScreenVideo_GetCurrentMode(IFullScreenVideo* This,LONG *pMode) {
679     return This->lpVtbl->GetCurrentMode(This,pMode);
680 }
IFullScreenVideo_IsModeAvailable(IFullScreenVideo * This,LONG Mode)681 static FORCEINLINE HRESULT IFullScreenVideo_IsModeAvailable(IFullScreenVideo* This,LONG Mode) {
682     return This->lpVtbl->IsModeAvailable(This,Mode);
683 }
IFullScreenVideo_IsModeEnabled(IFullScreenVideo * This,LONG Mode)684 static FORCEINLINE HRESULT IFullScreenVideo_IsModeEnabled(IFullScreenVideo* This,LONG Mode) {
685     return This->lpVtbl->IsModeEnabled(This,Mode);
686 }
IFullScreenVideo_SetEnabled(IFullScreenVideo * This,LONG Mode,LONG bEnabled)687 static FORCEINLINE HRESULT IFullScreenVideo_SetEnabled(IFullScreenVideo* This,LONG Mode,LONG bEnabled) {
688     return This->lpVtbl->SetEnabled(This,Mode,bEnabled);
689 }
IFullScreenVideo_GetClipFactor(IFullScreenVideo * This,LONG * pClipFactor)690 static FORCEINLINE HRESULT IFullScreenVideo_GetClipFactor(IFullScreenVideo* This,LONG *pClipFactor) {
691     return This->lpVtbl->GetClipFactor(This,pClipFactor);
692 }
IFullScreenVideo_SetClipFactor(IFullScreenVideo * This,LONG ClipFactor)693 static FORCEINLINE HRESULT IFullScreenVideo_SetClipFactor(IFullScreenVideo* This,LONG ClipFactor) {
694     return This->lpVtbl->SetClipFactor(This,ClipFactor);
695 }
IFullScreenVideo_SetMessageDrain(IFullScreenVideo * This,HWND hwnd)696 static FORCEINLINE HRESULT IFullScreenVideo_SetMessageDrain(IFullScreenVideo* This,HWND hwnd) {
697     return This->lpVtbl->SetMessageDrain(This,hwnd);
698 }
IFullScreenVideo_GetMessageDrain(IFullScreenVideo * This,HWND * hwnd)699 static FORCEINLINE HRESULT IFullScreenVideo_GetMessageDrain(IFullScreenVideo* This,HWND *hwnd) {
700     return This->lpVtbl->GetMessageDrain(This,hwnd);
701 }
IFullScreenVideo_SetMonitor(IFullScreenVideo * This,LONG Monitor)702 static FORCEINLINE HRESULT IFullScreenVideo_SetMonitor(IFullScreenVideo* This,LONG Monitor) {
703     return This->lpVtbl->SetMonitor(This,Monitor);
704 }
IFullScreenVideo_GetMonitor(IFullScreenVideo * This,LONG * Monitor)705 static FORCEINLINE HRESULT IFullScreenVideo_GetMonitor(IFullScreenVideo* This,LONG *Monitor) {
706     return This->lpVtbl->GetMonitor(This,Monitor);
707 }
IFullScreenVideo_HideOnDeactivate(IFullScreenVideo * This,LONG Hide)708 static FORCEINLINE HRESULT IFullScreenVideo_HideOnDeactivate(IFullScreenVideo* This,LONG Hide) {
709     return This->lpVtbl->HideOnDeactivate(This,Hide);
710 }
IFullScreenVideo_IsHideOnDeactivate(IFullScreenVideo * This)711 static FORCEINLINE HRESULT IFullScreenVideo_IsHideOnDeactivate(IFullScreenVideo* This) {
712     return This->lpVtbl->IsHideOnDeactivate(This);
713 }
IFullScreenVideo_SetCaption(IFullScreenVideo * This,BSTR strCaption)714 static FORCEINLINE HRESULT IFullScreenVideo_SetCaption(IFullScreenVideo* This,BSTR strCaption) {
715     return This->lpVtbl->SetCaption(This,strCaption);
716 }
IFullScreenVideo_GetCaption(IFullScreenVideo * This,BSTR * pstrCaption)717 static FORCEINLINE HRESULT IFullScreenVideo_GetCaption(IFullScreenVideo* This,BSTR *pstrCaption) {
718     return This->lpVtbl->GetCaption(This,pstrCaption);
719 }
IFullScreenVideo_SetDefault(IFullScreenVideo * This)720 static FORCEINLINE HRESULT IFullScreenVideo_SetDefault(IFullScreenVideo* This) {
721     return This->lpVtbl->SetDefault(This);
722 }
723 #endif
724 #endif
725 
726 #endif
727 
728 
729 #endif  /* __IFullScreenVideo_INTERFACE_DEFINED__ */
730 
731 /*****************************************************************************
732  * IFullScreenVideoEx interface
733  */
734 #ifndef __IFullScreenVideoEx_INTERFACE_DEFINED__
735 #define __IFullScreenVideoEx_INTERFACE_DEFINED__
736 
737 #if defined(__cplusplus) && !defined(CINTERFACE)
738 interface IFullScreenVideoEx : public IFullScreenVideo
739 {
740     virtual HRESULT STDMETHODCALLTYPE SetAcceleratorTable(
741         HWND hwnd,
742         HACCEL hAccel) = 0;
743 
744     virtual HRESULT STDMETHODCALLTYPE GetAcceleratorTable(
745         HWND *phwnd,
746         HACCEL *phAccel) = 0;
747 
748     virtual HRESULT STDMETHODCALLTYPE KeepPixelAspectRatio(
749         LONG KeepAspect) = 0;
750 
751     virtual HRESULT STDMETHODCALLTYPE IsKeepPixelAspectRatio(
752         LONG *pKeepAspect) = 0;
753 
754 };
755 #else
756 typedef struct IFullScreenVideoExVtbl {
757     BEGIN_INTERFACE
758 
759     /*** IUnknown methods ***/
760     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
761         IFullScreenVideoEx *This,
762         REFIID riid,
763         void **ppvObject);
764 
765     ULONG (STDMETHODCALLTYPE *AddRef)(
766         IFullScreenVideoEx *This);
767 
768     ULONG (STDMETHODCALLTYPE *Release)(
769         IFullScreenVideoEx *This);
770 
771     /*** IFullScreenVideo methods ***/
772     HRESULT (STDMETHODCALLTYPE *CountModes)(
773         IFullScreenVideoEx *This,
774         LONG *pModes);
775 
776     HRESULT (STDMETHODCALLTYPE *GetModeInfo)(
777         IFullScreenVideoEx *This,
778         LONG Mode,
779         LONG *pWidth,
780         LONG *pHeight,
781         LONG *pDepth);
782 
783     HRESULT (STDMETHODCALLTYPE *GetCurrentMode)(
784         IFullScreenVideoEx *This,
785         LONG *pMode);
786 
787     HRESULT (STDMETHODCALLTYPE *IsModeAvailable)(
788         IFullScreenVideoEx *This,
789         LONG Mode);
790 
791     HRESULT (STDMETHODCALLTYPE *IsModeEnabled)(
792         IFullScreenVideoEx *This,
793         LONG Mode);
794 
795     HRESULT (STDMETHODCALLTYPE *SetEnabled)(
796         IFullScreenVideoEx *This,
797         LONG Mode,
798         LONG bEnabled);
799 
800     HRESULT (STDMETHODCALLTYPE *GetClipFactor)(
801         IFullScreenVideoEx *This,
802         LONG *pClipFactor);
803 
804     HRESULT (STDMETHODCALLTYPE *SetClipFactor)(
805         IFullScreenVideoEx *This,
806         LONG ClipFactor);
807 
808     HRESULT (STDMETHODCALLTYPE *SetMessageDrain)(
809         IFullScreenVideoEx *This,
810         HWND hwnd);
811 
812     HRESULT (STDMETHODCALLTYPE *GetMessageDrain)(
813         IFullScreenVideoEx *This,
814         HWND *hwnd);
815 
816     HRESULT (STDMETHODCALLTYPE *SetMonitor)(
817         IFullScreenVideoEx *This,
818         LONG Monitor);
819 
820     HRESULT (STDMETHODCALLTYPE *GetMonitor)(
821         IFullScreenVideoEx *This,
822         LONG *Monitor);
823 
824     HRESULT (STDMETHODCALLTYPE *HideOnDeactivate)(
825         IFullScreenVideoEx *This,
826         LONG Hide);
827 
828     HRESULT (STDMETHODCALLTYPE *IsHideOnDeactivate)(
829         IFullScreenVideoEx *This);
830 
831     HRESULT (STDMETHODCALLTYPE *SetCaption)(
832         IFullScreenVideoEx *This,
833         BSTR strCaption);
834 
835     HRESULT (STDMETHODCALLTYPE *GetCaption)(
836         IFullScreenVideoEx *This,
837         BSTR *pstrCaption);
838 
839     HRESULT (STDMETHODCALLTYPE *SetDefault)(
840         IFullScreenVideoEx *This);
841 
842     /*** IFullScreenVideoEx methods ***/
843     HRESULT (STDMETHODCALLTYPE *SetAcceleratorTable)(
844         IFullScreenVideoEx *This,
845         HWND hwnd,
846         HACCEL hAccel);
847 
848     HRESULT (STDMETHODCALLTYPE *GetAcceleratorTable)(
849         IFullScreenVideoEx *This,
850         HWND *phwnd,
851         HACCEL *phAccel);
852 
853     HRESULT (STDMETHODCALLTYPE *KeepPixelAspectRatio)(
854         IFullScreenVideoEx *This,
855         LONG KeepAspect);
856 
857     HRESULT (STDMETHODCALLTYPE *IsKeepPixelAspectRatio)(
858         IFullScreenVideoEx *This,
859         LONG *pKeepAspect);
860 
861     END_INTERFACE
862 } IFullScreenVideoExVtbl;
863 
864 interface IFullScreenVideoEx {
865     CONST_VTBL IFullScreenVideoExVtbl* lpVtbl;
866 };
867 
868 #ifdef COBJMACROS
869 #ifndef WIDL_C_INLINE_WRAPPERS
870 /*** IUnknown methods ***/
871 #define IFullScreenVideoEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
872 #define IFullScreenVideoEx_AddRef(This) (This)->lpVtbl->AddRef(This)
873 #define IFullScreenVideoEx_Release(This) (This)->lpVtbl->Release(This)
874 /*** IFullScreenVideo methods ***/
875 #define IFullScreenVideoEx_CountModes(This,pModes) (This)->lpVtbl->CountModes(This,pModes)
876 #define IFullScreenVideoEx_GetModeInfo(This,Mode,pWidth,pHeight,pDepth) (This)->lpVtbl->GetModeInfo(This,Mode,pWidth,pHeight,pDepth)
877 #define IFullScreenVideoEx_GetCurrentMode(This,pMode) (This)->lpVtbl->GetCurrentMode(This,pMode)
878 #define IFullScreenVideoEx_IsModeAvailable(This,Mode) (This)->lpVtbl->IsModeAvailable(This,Mode)
879 #define IFullScreenVideoEx_IsModeEnabled(This,Mode) (This)->lpVtbl->IsModeEnabled(This,Mode)
880 #define IFullScreenVideoEx_SetEnabled(This,Mode,bEnabled) (This)->lpVtbl->SetEnabled(This,Mode,bEnabled)
881 #define IFullScreenVideoEx_GetClipFactor(This,pClipFactor) (This)->lpVtbl->GetClipFactor(This,pClipFactor)
882 #define IFullScreenVideoEx_SetClipFactor(This,ClipFactor) (This)->lpVtbl->SetClipFactor(This,ClipFactor)
883 #define IFullScreenVideoEx_SetMessageDrain(This,hwnd) (This)->lpVtbl->SetMessageDrain(This,hwnd)
884 #define IFullScreenVideoEx_GetMessageDrain(This,hwnd) (This)->lpVtbl->GetMessageDrain(This,hwnd)
885 #define IFullScreenVideoEx_SetMonitor(This,Monitor) (This)->lpVtbl->SetMonitor(This,Monitor)
886 #define IFullScreenVideoEx_GetMonitor(This,Monitor) (This)->lpVtbl->GetMonitor(This,Monitor)
887 #define IFullScreenVideoEx_HideOnDeactivate(This,Hide) (This)->lpVtbl->HideOnDeactivate(This,Hide)
888 #define IFullScreenVideoEx_IsHideOnDeactivate(This) (This)->lpVtbl->IsHideOnDeactivate(This)
889 #define IFullScreenVideoEx_SetCaption(This,strCaption) (This)->lpVtbl->SetCaption(This,strCaption)
890 #define IFullScreenVideoEx_GetCaption(This,pstrCaption) (This)->lpVtbl->GetCaption(This,pstrCaption)
891 #define IFullScreenVideoEx_SetDefault(This) (This)->lpVtbl->SetDefault(This)
892 /*** IFullScreenVideoEx methods ***/
893 #define IFullScreenVideoEx_SetAcceleratorTable(This,hwnd,hAccel) (This)->lpVtbl->SetAcceleratorTable(This,hwnd,hAccel)
894 #define IFullScreenVideoEx_GetAcceleratorTable(This,phwnd,phAccel) (This)->lpVtbl->GetAcceleratorTable(This,phwnd,phAccel)
895 #define IFullScreenVideoEx_KeepPixelAspectRatio(This,KeepAspect) (This)->lpVtbl->KeepPixelAspectRatio(This,KeepAspect)
896 #define IFullScreenVideoEx_IsKeepPixelAspectRatio(This,pKeepAspect) (This)->lpVtbl->IsKeepPixelAspectRatio(This,pKeepAspect)
897 #else
898 /*** IUnknown methods ***/
IFullScreenVideoEx_QueryInterface(IFullScreenVideoEx * This,REFIID riid,void ** ppvObject)899 static FORCEINLINE HRESULT IFullScreenVideoEx_QueryInterface(IFullScreenVideoEx* This,REFIID riid,void **ppvObject) {
900     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
901 }
IFullScreenVideoEx_AddRef(IFullScreenVideoEx * This)902 static FORCEINLINE ULONG IFullScreenVideoEx_AddRef(IFullScreenVideoEx* This) {
903     return This->lpVtbl->AddRef(This);
904 }
IFullScreenVideoEx_Release(IFullScreenVideoEx * This)905 static FORCEINLINE ULONG IFullScreenVideoEx_Release(IFullScreenVideoEx* This) {
906     return This->lpVtbl->Release(This);
907 }
908 /*** IFullScreenVideo methods ***/
IFullScreenVideoEx_CountModes(IFullScreenVideoEx * This,LONG * pModes)909 static FORCEINLINE HRESULT IFullScreenVideoEx_CountModes(IFullScreenVideoEx* This,LONG *pModes) {
910     return This->lpVtbl->CountModes(This,pModes);
911 }
IFullScreenVideoEx_GetModeInfo(IFullScreenVideoEx * This,LONG Mode,LONG * pWidth,LONG * pHeight,LONG * pDepth)912 static FORCEINLINE HRESULT IFullScreenVideoEx_GetModeInfo(IFullScreenVideoEx* This,LONG Mode,LONG *pWidth,LONG *pHeight,LONG *pDepth) {
913     return This->lpVtbl->GetModeInfo(This,Mode,pWidth,pHeight,pDepth);
914 }
IFullScreenVideoEx_GetCurrentMode(IFullScreenVideoEx * This,LONG * pMode)915 static FORCEINLINE HRESULT IFullScreenVideoEx_GetCurrentMode(IFullScreenVideoEx* This,LONG *pMode) {
916     return This->lpVtbl->GetCurrentMode(This,pMode);
917 }
IFullScreenVideoEx_IsModeAvailable(IFullScreenVideoEx * This,LONG Mode)918 static FORCEINLINE HRESULT IFullScreenVideoEx_IsModeAvailable(IFullScreenVideoEx* This,LONG Mode) {
919     return This->lpVtbl->IsModeAvailable(This,Mode);
920 }
IFullScreenVideoEx_IsModeEnabled(IFullScreenVideoEx * This,LONG Mode)921 static FORCEINLINE HRESULT IFullScreenVideoEx_IsModeEnabled(IFullScreenVideoEx* This,LONG Mode) {
922     return This->lpVtbl->IsModeEnabled(This,Mode);
923 }
IFullScreenVideoEx_SetEnabled(IFullScreenVideoEx * This,LONG Mode,LONG bEnabled)924 static FORCEINLINE HRESULT IFullScreenVideoEx_SetEnabled(IFullScreenVideoEx* This,LONG Mode,LONG bEnabled) {
925     return This->lpVtbl->SetEnabled(This,Mode,bEnabled);
926 }
IFullScreenVideoEx_GetClipFactor(IFullScreenVideoEx * This,LONG * pClipFactor)927 static FORCEINLINE HRESULT IFullScreenVideoEx_GetClipFactor(IFullScreenVideoEx* This,LONG *pClipFactor) {
928     return This->lpVtbl->GetClipFactor(This,pClipFactor);
929 }
IFullScreenVideoEx_SetClipFactor(IFullScreenVideoEx * This,LONG ClipFactor)930 static FORCEINLINE HRESULT IFullScreenVideoEx_SetClipFactor(IFullScreenVideoEx* This,LONG ClipFactor) {
931     return This->lpVtbl->SetClipFactor(This,ClipFactor);
932 }
IFullScreenVideoEx_SetMessageDrain(IFullScreenVideoEx * This,HWND hwnd)933 static FORCEINLINE HRESULT IFullScreenVideoEx_SetMessageDrain(IFullScreenVideoEx* This,HWND hwnd) {
934     return This->lpVtbl->SetMessageDrain(This,hwnd);
935 }
IFullScreenVideoEx_GetMessageDrain(IFullScreenVideoEx * This,HWND * hwnd)936 static FORCEINLINE HRESULT IFullScreenVideoEx_GetMessageDrain(IFullScreenVideoEx* This,HWND *hwnd) {
937     return This->lpVtbl->GetMessageDrain(This,hwnd);
938 }
IFullScreenVideoEx_SetMonitor(IFullScreenVideoEx * This,LONG Monitor)939 static FORCEINLINE HRESULT IFullScreenVideoEx_SetMonitor(IFullScreenVideoEx* This,LONG Monitor) {
940     return This->lpVtbl->SetMonitor(This,Monitor);
941 }
IFullScreenVideoEx_GetMonitor(IFullScreenVideoEx * This,LONG * Monitor)942 static FORCEINLINE HRESULT IFullScreenVideoEx_GetMonitor(IFullScreenVideoEx* This,LONG *Monitor) {
943     return This->lpVtbl->GetMonitor(This,Monitor);
944 }
IFullScreenVideoEx_HideOnDeactivate(IFullScreenVideoEx * This,LONG Hide)945 static FORCEINLINE HRESULT IFullScreenVideoEx_HideOnDeactivate(IFullScreenVideoEx* This,LONG Hide) {
946     return This->lpVtbl->HideOnDeactivate(This,Hide);
947 }
IFullScreenVideoEx_IsHideOnDeactivate(IFullScreenVideoEx * This)948 static FORCEINLINE HRESULT IFullScreenVideoEx_IsHideOnDeactivate(IFullScreenVideoEx* This) {
949     return This->lpVtbl->IsHideOnDeactivate(This);
950 }
IFullScreenVideoEx_SetCaption(IFullScreenVideoEx * This,BSTR strCaption)951 static FORCEINLINE HRESULT IFullScreenVideoEx_SetCaption(IFullScreenVideoEx* This,BSTR strCaption) {
952     return This->lpVtbl->SetCaption(This,strCaption);
953 }
IFullScreenVideoEx_GetCaption(IFullScreenVideoEx * This,BSTR * pstrCaption)954 static FORCEINLINE HRESULT IFullScreenVideoEx_GetCaption(IFullScreenVideoEx* This,BSTR *pstrCaption) {
955     return This->lpVtbl->GetCaption(This,pstrCaption);
956 }
IFullScreenVideoEx_SetDefault(IFullScreenVideoEx * This)957 static FORCEINLINE HRESULT IFullScreenVideoEx_SetDefault(IFullScreenVideoEx* This) {
958     return This->lpVtbl->SetDefault(This);
959 }
960 /*** IFullScreenVideoEx methods ***/
IFullScreenVideoEx_SetAcceleratorTable(IFullScreenVideoEx * This,HWND hwnd,HACCEL hAccel)961 static FORCEINLINE HRESULT IFullScreenVideoEx_SetAcceleratorTable(IFullScreenVideoEx* This,HWND hwnd,HACCEL hAccel) {
962     return This->lpVtbl->SetAcceleratorTable(This,hwnd,hAccel);
963 }
IFullScreenVideoEx_GetAcceleratorTable(IFullScreenVideoEx * This,HWND * phwnd,HACCEL * phAccel)964 static FORCEINLINE HRESULT IFullScreenVideoEx_GetAcceleratorTable(IFullScreenVideoEx* This,HWND *phwnd,HACCEL *phAccel) {
965     return This->lpVtbl->GetAcceleratorTable(This,phwnd,phAccel);
966 }
IFullScreenVideoEx_KeepPixelAspectRatio(IFullScreenVideoEx * This,LONG KeepAspect)967 static FORCEINLINE HRESULT IFullScreenVideoEx_KeepPixelAspectRatio(IFullScreenVideoEx* This,LONG KeepAspect) {
968     return This->lpVtbl->KeepPixelAspectRatio(This,KeepAspect);
969 }
IFullScreenVideoEx_IsKeepPixelAspectRatio(IFullScreenVideoEx * This,LONG * pKeepAspect)970 static FORCEINLINE HRESULT IFullScreenVideoEx_IsKeepPixelAspectRatio(IFullScreenVideoEx* This,LONG *pKeepAspect) {
971     return This->lpVtbl->IsKeepPixelAspectRatio(This,pKeepAspect);
972 }
973 #endif
974 #endif
975 
976 #endif
977 
978 
979 #endif  /* __IFullScreenVideoEx_INTERFACE_DEFINED__ */
980 
981 /*****************************************************************************
982  * IBaseVideoMixer interface
983  */
984 #ifndef __IBaseVideoMixer_INTERFACE_DEFINED__
985 #define __IBaseVideoMixer_INTERFACE_DEFINED__
986 
987 #if defined(__cplusplus) && !defined(CINTERFACE)
988 interface IBaseVideoMixer : public IUnknown
989 {
990     virtual HRESULT STDMETHODCALLTYPE SetLeadPin(
991         int iPin) = 0;
992 
993     virtual HRESULT STDMETHODCALLTYPE GetLeadPin(
994         int *piPin) = 0;
995 
996     virtual HRESULT STDMETHODCALLTYPE GetInputPinCount(
997         int *piPinCount) = 0;
998 
999     virtual HRESULT STDMETHODCALLTYPE IsUsingClock(
1000         int *pbValue) = 0;
1001 
1002     virtual HRESULT STDMETHODCALLTYPE SetUsingClock(
1003         int bValue) = 0;
1004 
1005     virtual HRESULT STDMETHODCALLTYPE GetClockPeriod(
1006         int *pbValue) = 0;
1007 
1008     virtual HRESULT STDMETHODCALLTYPE SetClockPeriod(
1009         int bValue) = 0;
1010 
1011 };
1012 #else
1013 typedef struct IBaseVideoMixerVtbl {
1014     BEGIN_INTERFACE
1015 
1016     /*** IUnknown methods ***/
1017     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1018         IBaseVideoMixer *This,
1019         REFIID riid,
1020         void **ppvObject);
1021 
1022     ULONG (STDMETHODCALLTYPE *AddRef)(
1023         IBaseVideoMixer *This);
1024 
1025     ULONG (STDMETHODCALLTYPE *Release)(
1026         IBaseVideoMixer *This);
1027 
1028     /*** IBaseVideoMixer methods ***/
1029     HRESULT (STDMETHODCALLTYPE *SetLeadPin)(
1030         IBaseVideoMixer *This,
1031         int iPin);
1032 
1033     HRESULT (STDMETHODCALLTYPE *GetLeadPin)(
1034         IBaseVideoMixer *This,
1035         int *piPin);
1036 
1037     HRESULT (STDMETHODCALLTYPE *GetInputPinCount)(
1038         IBaseVideoMixer *This,
1039         int *piPinCount);
1040 
1041     HRESULT (STDMETHODCALLTYPE *IsUsingClock)(
1042         IBaseVideoMixer *This,
1043         int *pbValue);
1044 
1045     HRESULT (STDMETHODCALLTYPE *SetUsingClock)(
1046         IBaseVideoMixer *This,
1047         int bValue);
1048 
1049     HRESULT (STDMETHODCALLTYPE *GetClockPeriod)(
1050         IBaseVideoMixer *This,
1051         int *pbValue);
1052 
1053     HRESULT (STDMETHODCALLTYPE *SetClockPeriod)(
1054         IBaseVideoMixer *This,
1055         int bValue);
1056 
1057     END_INTERFACE
1058 } IBaseVideoMixerVtbl;
1059 
1060 interface IBaseVideoMixer {
1061     CONST_VTBL IBaseVideoMixerVtbl* lpVtbl;
1062 };
1063 
1064 #ifdef COBJMACROS
1065 #ifndef WIDL_C_INLINE_WRAPPERS
1066 /*** IUnknown methods ***/
1067 #define IBaseVideoMixer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1068 #define IBaseVideoMixer_AddRef(This) (This)->lpVtbl->AddRef(This)
1069 #define IBaseVideoMixer_Release(This) (This)->lpVtbl->Release(This)
1070 /*** IBaseVideoMixer methods ***/
1071 #define IBaseVideoMixer_SetLeadPin(This,iPin) (This)->lpVtbl->SetLeadPin(This,iPin)
1072 #define IBaseVideoMixer_GetLeadPin(This,piPin) (This)->lpVtbl->GetLeadPin(This,piPin)
1073 #define IBaseVideoMixer_GetInputPinCount(This,piPinCount) (This)->lpVtbl->GetInputPinCount(This,piPinCount)
1074 #define IBaseVideoMixer_IsUsingClock(This,pbValue) (This)->lpVtbl->IsUsingClock(This,pbValue)
1075 #define IBaseVideoMixer_SetUsingClock(This,bValue) (This)->lpVtbl->SetUsingClock(This,bValue)
1076 #define IBaseVideoMixer_GetClockPeriod(This,pbValue) (This)->lpVtbl->GetClockPeriod(This,pbValue)
1077 #define IBaseVideoMixer_SetClockPeriod(This,bValue) (This)->lpVtbl->SetClockPeriod(This,bValue)
1078 #else
1079 /*** IUnknown methods ***/
IBaseVideoMixer_QueryInterface(IBaseVideoMixer * This,REFIID riid,void ** ppvObject)1080 static FORCEINLINE HRESULT IBaseVideoMixer_QueryInterface(IBaseVideoMixer* This,REFIID riid,void **ppvObject) {
1081     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1082 }
IBaseVideoMixer_AddRef(IBaseVideoMixer * This)1083 static FORCEINLINE ULONG IBaseVideoMixer_AddRef(IBaseVideoMixer* This) {
1084     return This->lpVtbl->AddRef(This);
1085 }
IBaseVideoMixer_Release(IBaseVideoMixer * This)1086 static FORCEINLINE ULONG IBaseVideoMixer_Release(IBaseVideoMixer* This) {
1087     return This->lpVtbl->Release(This);
1088 }
1089 /*** IBaseVideoMixer methods ***/
IBaseVideoMixer_SetLeadPin(IBaseVideoMixer * This,int iPin)1090 static FORCEINLINE HRESULT IBaseVideoMixer_SetLeadPin(IBaseVideoMixer* This,int iPin) {
1091     return This->lpVtbl->SetLeadPin(This,iPin);
1092 }
IBaseVideoMixer_GetLeadPin(IBaseVideoMixer * This,int * piPin)1093 static FORCEINLINE HRESULT IBaseVideoMixer_GetLeadPin(IBaseVideoMixer* This,int *piPin) {
1094     return This->lpVtbl->GetLeadPin(This,piPin);
1095 }
IBaseVideoMixer_GetInputPinCount(IBaseVideoMixer * This,int * piPinCount)1096 static FORCEINLINE HRESULT IBaseVideoMixer_GetInputPinCount(IBaseVideoMixer* This,int *piPinCount) {
1097     return This->lpVtbl->GetInputPinCount(This,piPinCount);
1098 }
IBaseVideoMixer_IsUsingClock(IBaseVideoMixer * This,int * pbValue)1099 static FORCEINLINE HRESULT IBaseVideoMixer_IsUsingClock(IBaseVideoMixer* This,int *pbValue) {
1100     return This->lpVtbl->IsUsingClock(This,pbValue);
1101 }
IBaseVideoMixer_SetUsingClock(IBaseVideoMixer * This,int bValue)1102 static FORCEINLINE HRESULT IBaseVideoMixer_SetUsingClock(IBaseVideoMixer* This,int bValue) {
1103     return This->lpVtbl->SetUsingClock(This,bValue);
1104 }
IBaseVideoMixer_GetClockPeriod(IBaseVideoMixer * This,int * pbValue)1105 static FORCEINLINE HRESULT IBaseVideoMixer_GetClockPeriod(IBaseVideoMixer* This,int *pbValue) {
1106     return This->lpVtbl->GetClockPeriod(This,pbValue);
1107 }
IBaseVideoMixer_SetClockPeriod(IBaseVideoMixer * This,int bValue)1108 static FORCEINLINE HRESULT IBaseVideoMixer_SetClockPeriod(IBaseVideoMixer* This,int bValue) {
1109     return This->lpVtbl->SetClockPeriod(This,bValue);
1110 }
1111 #endif
1112 #endif
1113 
1114 #endif
1115 
1116 
1117 #endif  /* __IBaseVideoMixer_INTERFACE_DEFINED__ */
1118 
1119 #define iPALETTE_COLORS 256
1120 #define iEGA_COLORS 16
1121 #define iMASK_COLORS 3
1122 #define iTRUECOLOR 16
1123 #define iRED 0
1124 #define iGREEN 1
1125 #define iBLUE 2
1126 #define iPALETTE 8
1127 #define iMAXBITS 8
1128 typedef struct tag_TRUECOLORINFO {
1129     DWORD dwBitMasks[3];
1130     RGBQUAD bmiColors[256];
1131 } TRUECOLORINFO;
1132 typedef struct tagVIDEOINFOHEADER {
1133     RECT rcSource;
1134     RECT rcTarget;
1135     DWORD dwBitRate;
1136     DWORD dwBitErrorRate;
1137     REFERENCE_TIME AvgTimePerFrame;
1138     BITMAPINFOHEADER bmiHeader;
1139 } VIDEOINFOHEADER;
1140 typedef struct tagVIDEOINFO {
1141     RECT rcSource;
1142     RECT rcTarget;
1143     DWORD dwBitRate;
1144     DWORD dwBitErrorRate;
1145     REFERENCE_TIME AvgTimePerFrame;
1146     BITMAPINFOHEADER bmiHeader;
1147     __C89_NAMELESS union {
1148         RGBQUAD bmiColors[256];
1149         DWORD dwBitMasks[3];
1150         TRUECOLORINFO TrueColorInfo;
1151     } __C89_NAMELESSUNIONNAME;
1152 } VIDEOINFO;
1153 typedef struct tagMPEG1VIDEOINFO {
1154     VIDEOINFOHEADER hdr;
1155     DWORD dwStartTimeCode;
1156     DWORD cbSequenceHeader;
1157     BYTE bSequenceHeader[1];
1158 } MPEG1VIDEOINFO;
1159 #define MAX_SIZE_MPEG1_SEQUENCE_INFO 140
1160 #define MPEG1_SEQUENCE_INFO(pv) ((const BYTE *)(pv)->bSequenceHeader)
1161 typedef struct tagAnalogVideoInfo {
1162     RECT rcSource;
1163     RECT rcTarget;
1164     DWORD dwActiveWidth;
1165     DWORD dwActiveHeight;
1166     REFERENCE_TIME AvgTimePerFrame;
1167 } ANALOGVIDEOINFO;
1168 typedef enum __WIDL_amvideo_generated_name_00000003 {
1169     AM_PROPERTY_FRAMESTEP_STEP = 0x1,
1170     AM_PROPERTY_FRAMESTEP_CANCEL = 0x2,
1171     AM_PROPERTY_FRAMESTEP_CANSTEP = 0x3,
1172     AM_PROPERTY_FRAMESTEP_CANSTEPMULTIPLE = 0x4
1173 } AM_PROPERTY_FRAMESTEP;
1174 typedef struct _AM_FRAMESTEP_STEP {
1175     DWORD dwFramesToStep;
1176 } AM_FRAMESTEP_STEP;
1177 /* Begin additional prototypes for all interfaces */
1178 
1179 ULONG           __RPC_USER HWND_UserSize     (ULONG *, ULONG, HWND *);
1180 unsigned char * __RPC_USER HWND_UserMarshal  (ULONG *, unsigned char *, HWND *);
1181 unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *);
1182 void            __RPC_USER HWND_UserFree     (ULONG *, HWND *);
1183 ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
1184 unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
1185 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
1186 void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
1187 
1188 /* End additional prototypes */
1189 
1190 #ifdef __cplusplus
1191 }
1192 #endif
1193 
1194 #endif /* __amvideo_h__ */
1195