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