1/*** Autogenerated by WIDL 1.6 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__
22typedef interface IDirectDrawVideo IDirectDrawVideo;
23#endif
24
25#ifndef __IQualProp_FWD_DEFINED__
26#define __IQualProp_FWD_DEFINED__
27typedef interface IQualProp IQualProp;
28#endif
29
30#ifndef __IFullScreenVideo_FWD_DEFINED__
31#define __IFullScreenVideo_FWD_DEFINED__
32typedef interface IFullScreenVideo IFullScreenVideo;
33#endif
34
35#ifndef __IFullScreenVideoEx_FWD_DEFINED__
36#define __IFullScreenVideoEx_FWD_DEFINED__
37typedef interface IFullScreenVideoEx IFullScreenVideoEx;
38#endif
39
40#ifndef __IBaseVideoMixer_FWD_DEFINED__
41#define __IBaseVideoMixer_FWD_DEFINED__
42typedef interface IBaseVideoMixer IBaseVideoMixer;
43#endif
44
45/* Headers for imported files */
46
47#include <objidl.h>
48
49#ifdef __cplusplus
50extern "C" {
51#endif
52
53#if 0
54#ifndef __IDirectDraw_FWD_DEFINED__
55#define __IDirectDraw_FWD_DEFINED__
56typedef interface IDirectDraw IDirectDraw;
57#endif
58
59typedef void DDSURFACEDESC;
60typedef void DDCAPS;
61typedef DWORD RGBQUAD;
62typedef LONGLONG REFERENCE_TIME;
63typedef struct __WIDL_amvideo_generated_name_00000002 {
64    DWORD biSize;
65    LONG biWidth;
66    LONG biHeight;
67    WORD biPlanes;
68    WORD biBitCount;
69    DWORD biCompression;
70    DWORD biSizeImage;
71    LONG biXPelsPerMeter;
72    LONG biYPelsPerMeter;
73    DWORD biClrUsed;
74    DWORD biClrImportant;
75} BITMAPINFOHEADER;
76typedef struct __WIDL_amvideo_generated_name_00000002 *PBITMAPINFOHEADER;
77typedef struct __WIDL_amvideo_generated_name_00000002 *LPBITMAPINFOHEADER;
78#endif
79#include <ddraw.h>
80#define AMDDS_NONE 0x00
81#define AMDDS_DCIPS 0x01
82#define AMDDS_PS 0x02
83#define AMDDS_RGBOVR 0x04
84#define AMDDS_YUVOVR 0x08
85#define AMDDS_RGBOFF 0x10
86#define AMDDS_YUVOFF 0x20
87#define AMDDS_RGBFLP 0x40
88#define AMDDS_YUVFLP 0x80
89#define AMDDS_ALL 0xFF
90#define AMDDS_DEFAULT AMDDS_ALL
91#define AMDDS_YUV (AMDDS_YUVOFF | AMDDS_YUVOVR | AMDDS_YUVFLP)
92#define AMDDS_RGB (AMDDS_RGBOFF | AMDDS_RGBOVR | AMDDS_RGBFLP)
93#define AMDSS_PRIMARY (AMDDS_DCIPS | AMDDS_PS)
94/*****************************************************************************
95 * IDirectDrawVideo interface
96 */
97#ifndef __IDirectDrawVideo_INTERFACE_DEFINED__
98#define __IDirectDrawVideo_INTERFACE_DEFINED__
99
100#if defined(__cplusplus) && !defined(CINTERFACE)
101interface IDirectDrawVideo : public IUnknown
102{
103    virtual HRESULT STDMETHODCALLTYPE GetSwitches(
104        DWORD *pSwitches) = 0;
105
106    virtual HRESULT STDMETHODCALLTYPE SetSwitches(
107        DWORD Switches) = 0;
108
109    virtual HRESULT STDMETHODCALLTYPE GetCaps(
110        DDCAPS *pCaps) = 0;
111
112    virtual HRESULT STDMETHODCALLTYPE GetEmulatedCaps(
113        DDCAPS *pCaps) = 0;
114
115    virtual HRESULT STDMETHODCALLTYPE GetSurfaceDesc(
116        DDSURFACEDESC *pSurfaceDesc) = 0;
117
118    virtual HRESULT STDMETHODCALLTYPE GetFourCCCodes(
119        DWORD *pCount,
120        DWORD *pCodes) = 0;
121
122    virtual HRESULT STDMETHODCALLTYPE SetDirectDraw(
123        IDirectDraw *ddraw) = 0;
124
125    virtual HRESULT STDMETHODCALLTYPE GetDirectDraw(
126        IDirectDraw **ddraw) = 0;
127
128    virtual HRESULT STDMETHODCALLTYPE GetSurfaceType(
129        DWORD *pSurfaceType) = 0;
130
131    virtual HRESULT STDMETHODCALLTYPE SetDefault(
132        ) = 0;
133
134    virtual HRESULT STDMETHODCALLTYPE UseScanLine(
135        LONG UseScanLine) = 0;
136
137    virtual HRESULT STDMETHODCALLTYPE CanUseScanLine(
138        LONG *UseScanLine) = 0;
139
140    virtual HRESULT STDMETHODCALLTYPE UseOverlayStretch(
141        LONG UseOverlayStretch) = 0;
142
143    virtual HRESULT STDMETHODCALLTYPE CanUseOverlayStretch(
144        LONG *UseOverlayStretch) = 0;
145
146    virtual HRESULT STDMETHODCALLTYPE UseWhenFullScreen(
147        LONG UseWhenFullScreen) = 0;
148
149    virtual HRESULT STDMETHODCALLTYPE WillUseFullScreen(
150        LONG *UseWhenFullScreen) = 0;
151
152};
153#else
154typedef struct IDirectDrawVideoVtbl {
155    BEGIN_INTERFACE
156
157    /*** IUnknown methods ***/
158    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
159        IDirectDrawVideo* This,
160        REFIID riid,
161        void **ppvObject);
162
163    ULONG (STDMETHODCALLTYPE *AddRef)(
164        IDirectDrawVideo* This);
165
166    ULONG (STDMETHODCALLTYPE *Release)(
167        IDirectDrawVideo* This);
168
169    /*** IDirectDrawVideo methods ***/
170    HRESULT (STDMETHODCALLTYPE *GetSwitches)(
171        IDirectDrawVideo* This,
172        DWORD *pSwitches);
173
174    HRESULT (STDMETHODCALLTYPE *SetSwitches)(
175        IDirectDrawVideo* This,
176        DWORD Switches);
177
178    HRESULT (STDMETHODCALLTYPE *GetCaps)(
179        IDirectDrawVideo* This,
180        DDCAPS *pCaps);
181
182    HRESULT (STDMETHODCALLTYPE *GetEmulatedCaps)(
183        IDirectDrawVideo* This,
184        DDCAPS *pCaps);
185
186    HRESULT (STDMETHODCALLTYPE *GetSurfaceDesc)(
187        IDirectDrawVideo* This,
188        DDSURFACEDESC *pSurfaceDesc);
189
190    HRESULT (STDMETHODCALLTYPE *GetFourCCCodes)(
191        IDirectDrawVideo* This,
192        DWORD *pCount,
193        DWORD *pCodes);
194
195    HRESULT (STDMETHODCALLTYPE *SetDirectDraw)(
196        IDirectDrawVideo* This,
197        IDirectDraw *ddraw);
198
199    HRESULT (STDMETHODCALLTYPE *GetDirectDraw)(
200        IDirectDrawVideo* This,
201        IDirectDraw **ddraw);
202
203    HRESULT (STDMETHODCALLTYPE *GetSurfaceType)(
204        IDirectDrawVideo* This,
205        DWORD *pSurfaceType);
206
207    HRESULT (STDMETHODCALLTYPE *SetDefault)(
208        IDirectDrawVideo* This);
209
210    HRESULT (STDMETHODCALLTYPE *UseScanLine)(
211        IDirectDrawVideo* This,
212        LONG UseScanLine);
213
214    HRESULT (STDMETHODCALLTYPE *CanUseScanLine)(
215        IDirectDrawVideo* This,
216        LONG *UseScanLine);
217
218    HRESULT (STDMETHODCALLTYPE *UseOverlayStretch)(
219        IDirectDrawVideo* This,
220        LONG UseOverlayStretch);
221
222    HRESULT (STDMETHODCALLTYPE *CanUseOverlayStretch)(
223        IDirectDrawVideo* This,
224        LONG *UseOverlayStretch);
225
226    HRESULT (STDMETHODCALLTYPE *UseWhenFullScreen)(
227        IDirectDrawVideo* This,
228        LONG UseWhenFullScreen);
229
230    HRESULT (STDMETHODCALLTYPE *WillUseFullScreen)(
231        IDirectDrawVideo* This,
232        LONG *UseWhenFullScreen);
233
234    END_INTERFACE
235} IDirectDrawVideoVtbl;
236interface IDirectDrawVideo {
237    CONST_VTBL IDirectDrawVideoVtbl* lpVtbl;
238};
239
240#ifdef COBJMACROS
241#ifndef WIDL_C_INLINE_WRAPPERS
242/*** IUnknown methods ***/
243#define IDirectDrawVideo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
244#define IDirectDrawVideo_AddRef(This) (This)->lpVtbl->AddRef(This)
245#define IDirectDrawVideo_Release(This) (This)->lpVtbl->Release(This)
246/*** IDirectDrawVideo methods ***/
247#define IDirectDrawVideo_GetSwitches(This,pSwitches) (This)->lpVtbl->GetSwitches(This,pSwitches)
248#define IDirectDrawVideo_SetSwitches(This,Switches) (This)->lpVtbl->SetSwitches(This,Switches)
249#define IDirectDrawVideo_GetCaps(This,pCaps) (This)->lpVtbl->GetCaps(This,pCaps)
250#define IDirectDrawVideo_GetEmulatedCaps(This,pCaps) (This)->lpVtbl->GetEmulatedCaps(This,pCaps)
251#define IDirectDrawVideo_GetSurfaceDesc(This,pSurfaceDesc) (This)->lpVtbl->GetSurfaceDesc(This,pSurfaceDesc)
252#define IDirectDrawVideo_GetFourCCCodes(This,pCount,pCodes) (This)->lpVtbl->GetFourCCCodes(This,pCount,pCodes)
253#define IDirectDrawVideo_SetDirectDraw(This,ddraw) (This)->lpVtbl->SetDirectDraw(This,ddraw)
254#define IDirectDrawVideo_GetDirectDraw(This,ddraw) (This)->lpVtbl->GetDirectDraw(This,ddraw)
255#define IDirectDrawVideo_GetSurfaceType(This,pSurfaceType) (This)->lpVtbl->GetSurfaceType(This,pSurfaceType)
256#define IDirectDrawVideo_SetDefault(This) (This)->lpVtbl->SetDefault(This)
257#define IDirectDrawVideo_UseScanLine(This,UseScanLine) (This)->lpVtbl->UseScanLine(This,UseScanLine)
258#define IDirectDrawVideo_CanUseScanLine(This,UseScanLine) (This)->lpVtbl->CanUseScanLine(This,UseScanLine)
259#define IDirectDrawVideo_UseOverlayStretch(This,UseOverlayStretch) (This)->lpVtbl->UseOverlayStretch(This,UseOverlayStretch)
260#define IDirectDrawVideo_CanUseOverlayStretch(This,UseOverlayStretch) (This)->lpVtbl->CanUseOverlayStretch(This,UseOverlayStretch)
261#define IDirectDrawVideo_UseWhenFullScreen(This,UseWhenFullScreen) (This)->lpVtbl->UseWhenFullScreen(This,UseWhenFullScreen)
262#define IDirectDrawVideo_WillUseFullScreen(This,UseWhenFullScreen) (This)->lpVtbl->WillUseFullScreen(This,UseWhenFullScreen)
263#else
264/*** IUnknown methods ***/
265static FORCEINLINE HRESULT IDirectDrawVideo_QueryInterface(IDirectDrawVideo* This,REFIID riid,void **ppvObject) {
266    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
267}
268static FORCEINLINE ULONG IDirectDrawVideo_AddRef(IDirectDrawVideo* This) {
269    return This->lpVtbl->AddRef(This);
270}
271static FORCEINLINE ULONG IDirectDrawVideo_Release(IDirectDrawVideo* This) {
272    return This->lpVtbl->Release(This);
273}
274/*** IDirectDrawVideo methods ***/
275static FORCEINLINE HRESULT IDirectDrawVideo_GetSwitches(IDirectDrawVideo* This,DWORD *pSwitches) {
276    return This->lpVtbl->GetSwitches(This,pSwitches);
277}
278static FORCEINLINE HRESULT IDirectDrawVideo_SetSwitches(IDirectDrawVideo* This,DWORD Switches) {
279    return This->lpVtbl->SetSwitches(This,Switches);
280}
281static FORCEINLINE HRESULT IDirectDrawVideo_GetCaps(IDirectDrawVideo* This,DDCAPS *pCaps) {
282    return This->lpVtbl->GetCaps(This,pCaps);
283}
284static FORCEINLINE HRESULT IDirectDrawVideo_GetEmulatedCaps(IDirectDrawVideo* This,DDCAPS *pCaps) {
285    return This->lpVtbl->GetEmulatedCaps(This,pCaps);
286}
287static FORCEINLINE HRESULT IDirectDrawVideo_GetSurfaceDesc(IDirectDrawVideo* This,DDSURFACEDESC *pSurfaceDesc) {
288    return This->lpVtbl->GetSurfaceDesc(This,pSurfaceDesc);
289}
290static FORCEINLINE HRESULT IDirectDrawVideo_GetFourCCCodes(IDirectDrawVideo* This,DWORD *pCount,DWORD *pCodes) {
291    return This->lpVtbl->GetFourCCCodes(This,pCount,pCodes);
292}
293static FORCEINLINE HRESULT IDirectDrawVideo_SetDirectDraw(IDirectDrawVideo* This,IDirectDraw *ddraw) {
294    return This->lpVtbl->SetDirectDraw(This,ddraw);
295}
296static FORCEINLINE HRESULT IDirectDrawVideo_GetDirectDraw(IDirectDrawVideo* This,IDirectDraw **ddraw) {
297    return This->lpVtbl->GetDirectDraw(This,ddraw);
298}
299static FORCEINLINE HRESULT IDirectDrawVideo_GetSurfaceType(IDirectDrawVideo* This,DWORD *pSurfaceType) {
300    return This->lpVtbl->GetSurfaceType(This,pSurfaceType);
301}
302static FORCEINLINE HRESULT IDirectDrawVideo_SetDefault(IDirectDrawVideo* This) {
303    return This->lpVtbl->SetDefault(This);
304}
305static FORCEINLINE HRESULT IDirectDrawVideo_UseScanLine(IDirectDrawVideo* This,LONG UseScanLine) {
306    return This->lpVtbl->UseScanLine(This,UseScanLine);
307}
308static FORCEINLINE HRESULT IDirectDrawVideo_CanUseScanLine(IDirectDrawVideo* This,LONG *UseScanLine) {
309    return This->lpVtbl->CanUseScanLine(This,UseScanLine);
310}
311static FORCEINLINE HRESULT IDirectDrawVideo_UseOverlayStretch(IDirectDrawVideo* This,LONG UseOverlayStretch) {
312    return This->lpVtbl->UseOverlayStretch(This,UseOverlayStretch);
313}
314static FORCEINLINE HRESULT IDirectDrawVideo_CanUseOverlayStretch(IDirectDrawVideo* This,LONG *UseOverlayStretch) {
315    return This->lpVtbl->CanUseOverlayStretch(This,UseOverlayStretch);
316}
317static FORCEINLINE HRESULT IDirectDrawVideo_UseWhenFullScreen(IDirectDrawVideo* This,LONG UseWhenFullScreen) {
318    return This->lpVtbl->UseWhenFullScreen(This,UseWhenFullScreen);
319}
320static FORCEINLINE HRESULT IDirectDrawVideo_WillUseFullScreen(IDirectDrawVideo* This,LONG *UseWhenFullScreen) {
321    return This->lpVtbl->WillUseFullScreen(This,UseWhenFullScreen);
322}
323#endif
324#endif
325
326#endif
327
328HRESULT STDMETHODCALLTYPE IDirectDrawVideo_GetSwitches_Proxy(
329    IDirectDrawVideo* This,
330    DWORD *pSwitches);
331void __RPC_STUB IDirectDrawVideo_GetSwitches_Stub(
332    IRpcStubBuffer* This,
333    IRpcChannelBuffer* pRpcChannelBuffer,
334    PRPC_MESSAGE pRpcMessage,
335    DWORD* pdwStubPhase);
336HRESULT STDMETHODCALLTYPE IDirectDrawVideo_SetSwitches_Proxy(
337    IDirectDrawVideo* This,
338    DWORD Switches);
339void __RPC_STUB IDirectDrawVideo_SetSwitches_Stub(
340    IRpcStubBuffer* This,
341    IRpcChannelBuffer* pRpcChannelBuffer,
342    PRPC_MESSAGE pRpcMessage,
343    DWORD* pdwStubPhase);
344HRESULT STDMETHODCALLTYPE IDirectDrawVideo_GetCaps_Proxy(
345    IDirectDrawVideo* This,
346    DDCAPS *pCaps);
347void __RPC_STUB IDirectDrawVideo_GetCaps_Stub(
348    IRpcStubBuffer* This,
349    IRpcChannelBuffer* pRpcChannelBuffer,
350    PRPC_MESSAGE pRpcMessage,
351    DWORD* pdwStubPhase);
352HRESULT STDMETHODCALLTYPE IDirectDrawVideo_GetEmulatedCaps_Proxy(
353    IDirectDrawVideo* This,
354    DDCAPS *pCaps);
355void __RPC_STUB IDirectDrawVideo_GetEmulatedCaps_Stub(
356    IRpcStubBuffer* This,
357    IRpcChannelBuffer* pRpcChannelBuffer,
358    PRPC_MESSAGE pRpcMessage,
359    DWORD* pdwStubPhase);
360HRESULT STDMETHODCALLTYPE IDirectDrawVideo_GetSurfaceDesc_Proxy(
361    IDirectDrawVideo* This,
362    DDSURFACEDESC *pSurfaceDesc);
363void __RPC_STUB IDirectDrawVideo_GetSurfaceDesc_Stub(
364    IRpcStubBuffer* This,
365    IRpcChannelBuffer* pRpcChannelBuffer,
366    PRPC_MESSAGE pRpcMessage,
367    DWORD* pdwStubPhase);
368HRESULT STDMETHODCALLTYPE IDirectDrawVideo_GetFourCCCodes_Proxy(
369    IDirectDrawVideo* This,
370    DWORD *pCount,
371    DWORD *pCodes);
372void __RPC_STUB IDirectDrawVideo_GetFourCCCodes_Stub(
373    IRpcStubBuffer* This,
374    IRpcChannelBuffer* pRpcChannelBuffer,
375    PRPC_MESSAGE pRpcMessage,
376    DWORD* pdwStubPhase);
377HRESULT STDMETHODCALLTYPE IDirectDrawVideo_SetDirectDraw_Proxy(
378    IDirectDrawVideo* This,
379    IDirectDraw *ddraw);
380void __RPC_STUB IDirectDrawVideo_SetDirectDraw_Stub(
381    IRpcStubBuffer* This,
382    IRpcChannelBuffer* pRpcChannelBuffer,
383    PRPC_MESSAGE pRpcMessage,
384    DWORD* pdwStubPhase);
385HRESULT STDMETHODCALLTYPE IDirectDrawVideo_GetDirectDraw_Proxy(
386    IDirectDrawVideo* This,
387    IDirectDraw **ddraw);
388void __RPC_STUB IDirectDrawVideo_GetDirectDraw_Stub(
389    IRpcStubBuffer* This,
390    IRpcChannelBuffer* pRpcChannelBuffer,
391    PRPC_MESSAGE pRpcMessage,
392    DWORD* pdwStubPhase);
393HRESULT STDMETHODCALLTYPE IDirectDrawVideo_GetSurfaceType_Proxy(
394    IDirectDrawVideo* This,
395    DWORD *pSurfaceType);
396void __RPC_STUB IDirectDrawVideo_GetSurfaceType_Stub(
397    IRpcStubBuffer* This,
398    IRpcChannelBuffer* pRpcChannelBuffer,
399    PRPC_MESSAGE pRpcMessage,
400    DWORD* pdwStubPhase);
401HRESULT STDMETHODCALLTYPE IDirectDrawVideo_SetDefault_Proxy(
402    IDirectDrawVideo* This);
403void __RPC_STUB IDirectDrawVideo_SetDefault_Stub(
404    IRpcStubBuffer* This,
405    IRpcChannelBuffer* pRpcChannelBuffer,
406    PRPC_MESSAGE pRpcMessage,
407    DWORD* pdwStubPhase);
408HRESULT STDMETHODCALLTYPE IDirectDrawVideo_UseScanLine_Proxy(
409    IDirectDrawVideo* This,
410    LONG UseScanLine);
411void __RPC_STUB IDirectDrawVideo_UseScanLine_Stub(
412    IRpcStubBuffer* This,
413    IRpcChannelBuffer* pRpcChannelBuffer,
414    PRPC_MESSAGE pRpcMessage,
415    DWORD* pdwStubPhase);
416HRESULT STDMETHODCALLTYPE IDirectDrawVideo_CanUseScanLine_Proxy(
417    IDirectDrawVideo* This,
418    LONG *UseScanLine);
419void __RPC_STUB IDirectDrawVideo_CanUseScanLine_Stub(
420    IRpcStubBuffer* This,
421    IRpcChannelBuffer* pRpcChannelBuffer,
422    PRPC_MESSAGE pRpcMessage,
423    DWORD* pdwStubPhase);
424HRESULT STDMETHODCALLTYPE IDirectDrawVideo_UseOverlayStretch_Proxy(
425    IDirectDrawVideo* This,
426    LONG UseOverlayStretch);
427void __RPC_STUB IDirectDrawVideo_UseOverlayStretch_Stub(
428    IRpcStubBuffer* This,
429    IRpcChannelBuffer* pRpcChannelBuffer,
430    PRPC_MESSAGE pRpcMessage,
431    DWORD* pdwStubPhase);
432HRESULT STDMETHODCALLTYPE IDirectDrawVideo_CanUseOverlayStretch_Proxy(
433    IDirectDrawVideo* This,
434    LONG *UseOverlayStretch);
435void __RPC_STUB IDirectDrawVideo_CanUseOverlayStretch_Stub(
436    IRpcStubBuffer* This,
437    IRpcChannelBuffer* pRpcChannelBuffer,
438    PRPC_MESSAGE pRpcMessage,
439    DWORD* pdwStubPhase);
440HRESULT STDMETHODCALLTYPE IDirectDrawVideo_UseWhenFullScreen_Proxy(
441    IDirectDrawVideo* This,
442    LONG UseWhenFullScreen);
443void __RPC_STUB IDirectDrawVideo_UseWhenFullScreen_Stub(
444    IRpcStubBuffer* This,
445    IRpcChannelBuffer* pRpcChannelBuffer,
446    PRPC_MESSAGE pRpcMessage,
447    DWORD* pdwStubPhase);
448HRESULT STDMETHODCALLTYPE IDirectDrawVideo_WillUseFullScreen_Proxy(
449    IDirectDrawVideo* This,
450    LONG *UseWhenFullScreen);
451void __RPC_STUB IDirectDrawVideo_WillUseFullScreen_Stub(
452    IRpcStubBuffer* This,
453    IRpcChannelBuffer* pRpcChannelBuffer,
454    PRPC_MESSAGE pRpcMessage,
455    DWORD* pdwStubPhase);
456
457#endif  /* __IDirectDrawVideo_INTERFACE_DEFINED__ */
458
459/*****************************************************************************
460 * IQualProp interface
461 */
462#ifndef __IQualProp_INTERFACE_DEFINED__
463#define __IQualProp_INTERFACE_DEFINED__
464
465#if defined(__cplusplus) && !defined(CINTERFACE)
466interface IQualProp : public IUnknown
467{
468    virtual HRESULT STDMETHODCALLTYPE get_FramesDroppedInRenderer(
469        int *pcFrames) = 0;
470
471    virtual HRESULT STDMETHODCALLTYPE get_FramesDrawn(
472        int *pcFramesDrawn) = 0;
473
474    virtual HRESULT STDMETHODCALLTYPE get_AvgFrameRate(
475        int *piAvgFrameRate) = 0;
476
477    virtual HRESULT STDMETHODCALLTYPE get_Jitter(
478        int *iJitter) = 0;
479
480    virtual HRESULT STDMETHODCALLTYPE get_AvgSyncOffset(
481        int *piAvg) = 0;
482
483    virtual HRESULT STDMETHODCALLTYPE get_DevSyncOffset(
484        int *piDev) = 0;
485
486};
487#else
488typedef struct IQualPropVtbl {
489    BEGIN_INTERFACE
490
491    /*** IUnknown methods ***/
492    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
493        IQualProp* This,
494        REFIID riid,
495        void **ppvObject);
496
497    ULONG (STDMETHODCALLTYPE *AddRef)(
498        IQualProp* This);
499
500    ULONG (STDMETHODCALLTYPE *Release)(
501        IQualProp* This);
502
503    /*** IQualProp methods ***/
504    HRESULT (STDMETHODCALLTYPE *get_FramesDroppedInRenderer)(
505        IQualProp* This,
506        int *pcFrames);
507
508    HRESULT (STDMETHODCALLTYPE *get_FramesDrawn)(
509        IQualProp* This,
510        int *pcFramesDrawn);
511
512    HRESULT (STDMETHODCALLTYPE *get_AvgFrameRate)(
513        IQualProp* This,
514        int *piAvgFrameRate);
515
516    HRESULT (STDMETHODCALLTYPE *get_Jitter)(
517        IQualProp* This,
518        int *iJitter);
519
520    HRESULT (STDMETHODCALLTYPE *get_AvgSyncOffset)(
521        IQualProp* This,
522        int *piAvg);
523
524    HRESULT (STDMETHODCALLTYPE *get_DevSyncOffset)(
525        IQualProp* This,
526        int *piDev);
527
528    END_INTERFACE
529} IQualPropVtbl;
530interface IQualProp {
531    CONST_VTBL IQualPropVtbl* lpVtbl;
532};
533
534#ifdef COBJMACROS
535#ifndef WIDL_C_INLINE_WRAPPERS
536/*** IUnknown methods ***/
537#define IQualProp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
538#define IQualProp_AddRef(This) (This)->lpVtbl->AddRef(This)
539#define IQualProp_Release(This) (This)->lpVtbl->Release(This)
540/*** IQualProp methods ***/
541#define IQualProp_get_FramesDroppedInRenderer(This,pcFrames) (This)->lpVtbl->get_FramesDroppedInRenderer(This,pcFrames)
542#define IQualProp_get_FramesDrawn(This,pcFramesDrawn) (This)->lpVtbl->get_FramesDrawn(This,pcFramesDrawn)
543#define IQualProp_get_AvgFrameRate(This,piAvgFrameRate) (This)->lpVtbl->get_AvgFrameRate(This,piAvgFrameRate)
544#define IQualProp_get_Jitter(This,iJitter) (This)->lpVtbl->get_Jitter(This,iJitter)
545#define IQualProp_get_AvgSyncOffset(This,piAvg) (This)->lpVtbl->get_AvgSyncOffset(This,piAvg)
546#define IQualProp_get_DevSyncOffset(This,piDev) (This)->lpVtbl->get_DevSyncOffset(This,piDev)
547#else
548/*** IUnknown methods ***/
549static FORCEINLINE HRESULT IQualProp_QueryInterface(IQualProp* This,REFIID riid,void **ppvObject) {
550    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
551}
552static FORCEINLINE ULONG IQualProp_AddRef(IQualProp* This) {
553    return This->lpVtbl->AddRef(This);
554}
555static FORCEINLINE ULONG IQualProp_Release(IQualProp* This) {
556    return This->lpVtbl->Release(This);
557}
558/*** IQualProp methods ***/
559static FORCEINLINE HRESULT IQualProp_get_FramesDroppedInRenderer(IQualProp* This,int *pcFrames) {
560    return This->lpVtbl->get_FramesDroppedInRenderer(This,pcFrames);
561}
562static FORCEINLINE HRESULT IQualProp_get_FramesDrawn(IQualProp* This,int *pcFramesDrawn) {
563    return This->lpVtbl->get_FramesDrawn(This,pcFramesDrawn);
564}
565static FORCEINLINE HRESULT IQualProp_get_AvgFrameRate(IQualProp* This,int *piAvgFrameRate) {
566    return This->lpVtbl->get_AvgFrameRate(This,piAvgFrameRate);
567}
568static FORCEINLINE HRESULT IQualProp_get_Jitter(IQualProp* This,int *iJitter) {
569    return This->lpVtbl->get_Jitter(This,iJitter);
570}
571static FORCEINLINE HRESULT IQualProp_get_AvgSyncOffset(IQualProp* This,int *piAvg) {
572    return This->lpVtbl->get_AvgSyncOffset(This,piAvg);
573}
574static FORCEINLINE HRESULT IQualProp_get_DevSyncOffset(IQualProp* This,int *piDev) {
575    return This->lpVtbl->get_DevSyncOffset(This,piDev);
576}
577#endif
578#endif
579
580#endif
581
582HRESULT STDMETHODCALLTYPE IQualProp_get_FramesDroppedInRenderer_Proxy(
583    IQualProp* This,
584    int *pcFrames);
585void __RPC_STUB IQualProp_get_FramesDroppedInRenderer_Stub(
586    IRpcStubBuffer* This,
587    IRpcChannelBuffer* pRpcChannelBuffer,
588    PRPC_MESSAGE pRpcMessage,
589    DWORD* pdwStubPhase);
590HRESULT STDMETHODCALLTYPE IQualProp_get_FramesDrawn_Proxy(
591    IQualProp* This,
592    int *pcFramesDrawn);
593void __RPC_STUB IQualProp_get_FramesDrawn_Stub(
594    IRpcStubBuffer* This,
595    IRpcChannelBuffer* pRpcChannelBuffer,
596    PRPC_MESSAGE pRpcMessage,
597    DWORD* pdwStubPhase);
598HRESULT STDMETHODCALLTYPE IQualProp_get_AvgFrameRate_Proxy(
599    IQualProp* This,
600    int *piAvgFrameRate);
601void __RPC_STUB IQualProp_get_AvgFrameRate_Stub(
602    IRpcStubBuffer* This,
603    IRpcChannelBuffer* pRpcChannelBuffer,
604    PRPC_MESSAGE pRpcMessage,
605    DWORD* pdwStubPhase);
606HRESULT STDMETHODCALLTYPE IQualProp_get_Jitter_Proxy(
607    IQualProp* This,
608    int *iJitter);
609void __RPC_STUB IQualProp_get_Jitter_Stub(
610    IRpcStubBuffer* This,
611    IRpcChannelBuffer* pRpcChannelBuffer,
612    PRPC_MESSAGE pRpcMessage,
613    DWORD* pdwStubPhase);
614HRESULT STDMETHODCALLTYPE IQualProp_get_AvgSyncOffset_Proxy(
615    IQualProp* This,
616    int *piAvg);
617void __RPC_STUB IQualProp_get_AvgSyncOffset_Stub(
618    IRpcStubBuffer* This,
619    IRpcChannelBuffer* pRpcChannelBuffer,
620    PRPC_MESSAGE pRpcMessage,
621    DWORD* pdwStubPhase);
622HRESULT STDMETHODCALLTYPE IQualProp_get_DevSyncOffset_Proxy(
623    IQualProp* This,
624    int *piDev);
625void __RPC_STUB IQualProp_get_DevSyncOffset_Stub(
626    IRpcStubBuffer* This,
627    IRpcChannelBuffer* pRpcChannelBuffer,
628    PRPC_MESSAGE pRpcMessage,
629    DWORD* pdwStubPhase);
630
631#endif  /* __IQualProp_INTERFACE_DEFINED__ */
632
633/*****************************************************************************
634 * IFullScreenVideo interface
635 */
636#ifndef __IFullScreenVideo_INTERFACE_DEFINED__
637#define __IFullScreenVideo_INTERFACE_DEFINED__
638
639#if defined(__cplusplus) && !defined(CINTERFACE)
640interface IFullScreenVideo : public IUnknown
641{
642    virtual HRESULT STDMETHODCALLTYPE CountModes(
643        LONG *pModes) = 0;
644
645    virtual HRESULT STDMETHODCALLTYPE GetModeInfo(
646        LONG Mode,
647        LONG *pWidth,
648        LONG *pHeight,
649        LONG *pDepth) = 0;
650
651    virtual HRESULT STDMETHODCALLTYPE GetCurrentMode(
652        LONG *pMode) = 0;
653
654    virtual HRESULT STDMETHODCALLTYPE IsModeAvailable(
655        LONG Mode) = 0;
656
657    virtual HRESULT STDMETHODCALLTYPE IsModeEnabled(
658        LONG Mode) = 0;
659
660    virtual HRESULT STDMETHODCALLTYPE SetEnabled(
661        LONG Mode,
662        LONG bEnabled) = 0;
663
664    virtual HRESULT STDMETHODCALLTYPE GetClipFactor(
665        LONG *pClipFactor) = 0;
666
667    virtual HRESULT STDMETHODCALLTYPE SetClipFactor(
668        LONG ClipFactor) = 0;
669
670    virtual HRESULT STDMETHODCALLTYPE SetMessageDrain(
671        HWND hwnd) = 0;
672
673    virtual HRESULT STDMETHODCALLTYPE GetMessageDrain(
674        HWND *hwnd) = 0;
675
676    virtual HRESULT STDMETHODCALLTYPE SetMonitor(
677        LONG Monitor) = 0;
678
679    virtual HRESULT STDMETHODCALLTYPE GetMonitor(
680        LONG *Monitor) = 0;
681
682    virtual HRESULT STDMETHODCALLTYPE HideOnDeactivate(
683        LONG Hide) = 0;
684
685    virtual HRESULT STDMETHODCALLTYPE IsHideOnDeactivate(
686        ) = 0;
687
688    virtual HRESULT STDMETHODCALLTYPE SetCaption(
689        BSTR strCaption) = 0;
690
691    virtual HRESULT STDMETHODCALLTYPE GetCaption(
692        BSTR *pstrCaption) = 0;
693
694    virtual HRESULT STDMETHODCALLTYPE SetDefault(
695        ) = 0;
696
697};
698#else
699typedef struct IFullScreenVideoVtbl {
700    BEGIN_INTERFACE
701
702    /*** IUnknown methods ***/
703    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
704        IFullScreenVideo* This,
705        REFIID riid,
706        void **ppvObject);
707
708    ULONG (STDMETHODCALLTYPE *AddRef)(
709        IFullScreenVideo* This);
710
711    ULONG (STDMETHODCALLTYPE *Release)(
712        IFullScreenVideo* This);
713
714    /*** IFullScreenVideo methods ***/
715    HRESULT (STDMETHODCALLTYPE *CountModes)(
716        IFullScreenVideo* This,
717        LONG *pModes);
718
719    HRESULT (STDMETHODCALLTYPE *GetModeInfo)(
720        IFullScreenVideo* This,
721        LONG Mode,
722        LONG *pWidth,
723        LONG *pHeight,
724        LONG *pDepth);
725
726    HRESULT (STDMETHODCALLTYPE *GetCurrentMode)(
727        IFullScreenVideo* This,
728        LONG *pMode);
729
730    HRESULT (STDMETHODCALLTYPE *IsModeAvailable)(
731        IFullScreenVideo* This,
732        LONG Mode);
733
734    HRESULT (STDMETHODCALLTYPE *IsModeEnabled)(
735        IFullScreenVideo* This,
736        LONG Mode);
737
738    HRESULT (STDMETHODCALLTYPE *SetEnabled)(
739        IFullScreenVideo* This,
740        LONG Mode,
741        LONG bEnabled);
742
743    HRESULT (STDMETHODCALLTYPE *GetClipFactor)(
744        IFullScreenVideo* This,
745        LONG *pClipFactor);
746
747    HRESULT (STDMETHODCALLTYPE *SetClipFactor)(
748        IFullScreenVideo* This,
749        LONG ClipFactor);
750
751    HRESULT (STDMETHODCALLTYPE *SetMessageDrain)(
752        IFullScreenVideo* This,
753        HWND hwnd);
754
755    HRESULT (STDMETHODCALLTYPE *GetMessageDrain)(
756        IFullScreenVideo* This,
757        HWND *hwnd);
758
759    HRESULT (STDMETHODCALLTYPE *SetMonitor)(
760        IFullScreenVideo* This,
761        LONG Monitor);
762
763    HRESULT (STDMETHODCALLTYPE *GetMonitor)(
764        IFullScreenVideo* This,
765        LONG *Monitor);
766
767    HRESULT (STDMETHODCALLTYPE *HideOnDeactivate)(
768        IFullScreenVideo* This,
769        LONG Hide);
770
771    HRESULT (STDMETHODCALLTYPE *IsHideOnDeactivate)(
772        IFullScreenVideo* This);
773
774    HRESULT (STDMETHODCALLTYPE *SetCaption)(
775        IFullScreenVideo* This,
776        BSTR strCaption);
777
778    HRESULT (STDMETHODCALLTYPE *GetCaption)(
779        IFullScreenVideo* This,
780        BSTR *pstrCaption);
781
782    HRESULT (STDMETHODCALLTYPE *SetDefault)(
783        IFullScreenVideo* This);
784
785    END_INTERFACE
786} IFullScreenVideoVtbl;
787interface IFullScreenVideo {
788    CONST_VTBL IFullScreenVideoVtbl* lpVtbl;
789};
790
791#ifdef COBJMACROS
792#ifndef WIDL_C_INLINE_WRAPPERS
793/*** IUnknown methods ***/
794#define IFullScreenVideo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
795#define IFullScreenVideo_AddRef(This) (This)->lpVtbl->AddRef(This)
796#define IFullScreenVideo_Release(This) (This)->lpVtbl->Release(This)
797/*** IFullScreenVideo methods ***/
798#define IFullScreenVideo_CountModes(This,pModes) (This)->lpVtbl->CountModes(This,pModes)
799#define IFullScreenVideo_GetModeInfo(This,Mode,pWidth,pHeight,pDepth) (This)->lpVtbl->GetModeInfo(This,Mode,pWidth,pHeight,pDepth)
800#define IFullScreenVideo_GetCurrentMode(This,pMode) (This)->lpVtbl->GetCurrentMode(This,pMode)
801#define IFullScreenVideo_IsModeAvailable(This,Mode) (This)->lpVtbl->IsModeAvailable(This,Mode)
802#define IFullScreenVideo_IsModeEnabled(This,Mode) (This)->lpVtbl->IsModeEnabled(This,Mode)
803#define IFullScreenVideo_SetEnabled(This,Mode,bEnabled) (This)->lpVtbl->SetEnabled(This,Mode,bEnabled)
804#define IFullScreenVideo_GetClipFactor(This,pClipFactor) (This)->lpVtbl->GetClipFactor(This,pClipFactor)
805#define IFullScreenVideo_SetClipFactor(This,ClipFactor) (This)->lpVtbl->SetClipFactor(This,ClipFactor)
806#define IFullScreenVideo_SetMessageDrain(This,hwnd) (This)->lpVtbl->SetMessageDrain(This,hwnd)
807#define IFullScreenVideo_GetMessageDrain(This,hwnd) (This)->lpVtbl->GetMessageDrain(This,hwnd)
808#define IFullScreenVideo_SetMonitor(This,Monitor) (This)->lpVtbl->SetMonitor(This,Monitor)
809#define IFullScreenVideo_GetMonitor(This,Monitor) (This)->lpVtbl->GetMonitor(This,Monitor)
810#define IFullScreenVideo_HideOnDeactivate(This,Hide) (This)->lpVtbl->HideOnDeactivate(This,Hide)
811#define IFullScreenVideo_IsHideOnDeactivate(This) (This)->lpVtbl->IsHideOnDeactivate(This)
812#define IFullScreenVideo_SetCaption(This,strCaption) (This)->lpVtbl->SetCaption(This,strCaption)
813#define IFullScreenVideo_GetCaption(This,pstrCaption) (This)->lpVtbl->GetCaption(This,pstrCaption)
814#define IFullScreenVideo_SetDefault(This) (This)->lpVtbl->SetDefault(This)
815#else
816/*** IUnknown methods ***/
817static FORCEINLINE HRESULT IFullScreenVideo_QueryInterface(IFullScreenVideo* This,REFIID riid,void **ppvObject) {
818    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
819}
820static FORCEINLINE ULONG IFullScreenVideo_AddRef(IFullScreenVideo* This) {
821    return This->lpVtbl->AddRef(This);
822}
823static FORCEINLINE ULONG IFullScreenVideo_Release(IFullScreenVideo* This) {
824    return This->lpVtbl->Release(This);
825}
826/*** IFullScreenVideo methods ***/
827static FORCEINLINE HRESULT IFullScreenVideo_CountModes(IFullScreenVideo* This,LONG *pModes) {
828    return This->lpVtbl->CountModes(This,pModes);
829}
830static FORCEINLINE HRESULT IFullScreenVideo_GetModeInfo(IFullScreenVideo* This,LONG Mode,LONG *pWidth,LONG *pHeight,LONG *pDepth) {
831    return This->lpVtbl->GetModeInfo(This,Mode,pWidth,pHeight,pDepth);
832}
833static FORCEINLINE HRESULT IFullScreenVideo_GetCurrentMode(IFullScreenVideo* This,LONG *pMode) {
834    return This->lpVtbl->GetCurrentMode(This,pMode);
835}
836static FORCEINLINE HRESULT IFullScreenVideo_IsModeAvailable(IFullScreenVideo* This,LONG Mode) {
837    return This->lpVtbl->IsModeAvailable(This,Mode);
838}
839static FORCEINLINE HRESULT IFullScreenVideo_IsModeEnabled(IFullScreenVideo* This,LONG Mode) {
840    return This->lpVtbl->IsModeEnabled(This,Mode);
841}
842static FORCEINLINE HRESULT IFullScreenVideo_SetEnabled(IFullScreenVideo* This,LONG Mode,LONG bEnabled) {
843    return This->lpVtbl->SetEnabled(This,Mode,bEnabled);
844}
845static FORCEINLINE HRESULT IFullScreenVideo_GetClipFactor(IFullScreenVideo* This,LONG *pClipFactor) {
846    return This->lpVtbl->GetClipFactor(This,pClipFactor);
847}
848static FORCEINLINE HRESULT IFullScreenVideo_SetClipFactor(IFullScreenVideo* This,LONG ClipFactor) {
849    return This->lpVtbl->SetClipFactor(This,ClipFactor);
850}
851static FORCEINLINE HRESULT IFullScreenVideo_SetMessageDrain(IFullScreenVideo* This,HWND hwnd) {
852    return This->lpVtbl->SetMessageDrain(This,hwnd);
853}
854static FORCEINLINE HRESULT IFullScreenVideo_GetMessageDrain(IFullScreenVideo* This,HWND *hwnd) {
855    return This->lpVtbl->GetMessageDrain(This,hwnd);
856}
857static FORCEINLINE HRESULT IFullScreenVideo_SetMonitor(IFullScreenVideo* This,LONG Monitor) {
858    return This->lpVtbl->SetMonitor(This,Monitor);
859}
860static FORCEINLINE HRESULT IFullScreenVideo_GetMonitor(IFullScreenVideo* This,LONG *Monitor) {
861    return This->lpVtbl->GetMonitor(This,Monitor);
862}
863static FORCEINLINE HRESULT IFullScreenVideo_HideOnDeactivate(IFullScreenVideo* This,LONG Hide) {
864    return This->lpVtbl->HideOnDeactivate(This,Hide);
865}
866static FORCEINLINE HRESULT IFullScreenVideo_IsHideOnDeactivate(IFullScreenVideo* This) {
867    return This->lpVtbl->IsHideOnDeactivate(This);
868}
869static FORCEINLINE HRESULT IFullScreenVideo_SetCaption(IFullScreenVideo* This,BSTR strCaption) {
870    return This->lpVtbl->SetCaption(This,strCaption);
871}
872static FORCEINLINE HRESULT IFullScreenVideo_GetCaption(IFullScreenVideo* This,BSTR *pstrCaption) {
873    return This->lpVtbl->GetCaption(This,pstrCaption);
874}
875static FORCEINLINE HRESULT IFullScreenVideo_SetDefault(IFullScreenVideo* This) {
876    return This->lpVtbl->SetDefault(This);
877}
878#endif
879#endif
880
881#endif
882
883HRESULT STDMETHODCALLTYPE IFullScreenVideo_CountModes_Proxy(
884    IFullScreenVideo* This,
885    LONG *pModes);
886void __RPC_STUB IFullScreenVideo_CountModes_Stub(
887    IRpcStubBuffer* This,
888    IRpcChannelBuffer* pRpcChannelBuffer,
889    PRPC_MESSAGE pRpcMessage,
890    DWORD* pdwStubPhase);
891HRESULT STDMETHODCALLTYPE IFullScreenVideo_GetModeInfo_Proxy(
892    IFullScreenVideo* This,
893    LONG Mode,
894    LONG *pWidth,
895    LONG *pHeight,
896    LONG *pDepth);
897void __RPC_STUB IFullScreenVideo_GetModeInfo_Stub(
898    IRpcStubBuffer* This,
899    IRpcChannelBuffer* pRpcChannelBuffer,
900    PRPC_MESSAGE pRpcMessage,
901    DWORD* pdwStubPhase);
902HRESULT STDMETHODCALLTYPE IFullScreenVideo_GetCurrentMode_Proxy(
903    IFullScreenVideo* This,
904    LONG *pMode);
905void __RPC_STUB IFullScreenVideo_GetCurrentMode_Stub(
906    IRpcStubBuffer* This,
907    IRpcChannelBuffer* pRpcChannelBuffer,
908    PRPC_MESSAGE pRpcMessage,
909    DWORD* pdwStubPhase);
910HRESULT STDMETHODCALLTYPE IFullScreenVideo_IsModeAvailable_Proxy(
911    IFullScreenVideo* This,
912    LONG Mode);
913void __RPC_STUB IFullScreenVideo_IsModeAvailable_Stub(
914    IRpcStubBuffer* This,
915    IRpcChannelBuffer* pRpcChannelBuffer,
916    PRPC_MESSAGE pRpcMessage,
917    DWORD* pdwStubPhase);
918HRESULT STDMETHODCALLTYPE IFullScreenVideo_IsModeEnabled_Proxy(
919    IFullScreenVideo* This,
920    LONG Mode);
921void __RPC_STUB IFullScreenVideo_IsModeEnabled_Stub(
922    IRpcStubBuffer* This,
923    IRpcChannelBuffer* pRpcChannelBuffer,
924    PRPC_MESSAGE pRpcMessage,
925    DWORD* pdwStubPhase);
926HRESULT STDMETHODCALLTYPE IFullScreenVideo_SetEnabled_Proxy(
927    IFullScreenVideo* This,
928    LONG Mode,
929    LONG bEnabled);
930void __RPC_STUB IFullScreenVideo_SetEnabled_Stub(
931    IRpcStubBuffer* This,
932    IRpcChannelBuffer* pRpcChannelBuffer,
933    PRPC_MESSAGE pRpcMessage,
934    DWORD* pdwStubPhase);
935HRESULT STDMETHODCALLTYPE IFullScreenVideo_GetClipFactor_Proxy(
936    IFullScreenVideo* This,
937    LONG *pClipFactor);
938void __RPC_STUB IFullScreenVideo_GetClipFactor_Stub(
939    IRpcStubBuffer* This,
940    IRpcChannelBuffer* pRpcChannelBuffer,
941    PRPC_MESSAGE pRpcMessage,
942    DWORD* pdwStubPhase);
943HRESULT STDMETHODCALLTYPE IFullScreenVideo_SetClipFactor_Proxy(
944    IFullScreenVideo* This,
945    LONG ClipFactor);
946void __RPC_STUB IFullScreenVideo_SetClipFactor_Stub(
947    IRpcStubBuffer* This,
948    IRpcChannelBuffer* pRpcChannelBuffer,
949    PRPC_MESSAGE pRpcMessage,
950    DWORD* pdwStubPhase);
951HRESULT STDMETHODCALLTYPE IFullScreenVideo_SetMessageDrain_Proxy(
952    IFullScreenVideo* This,
953    HWND hwnd);
954void __RPC_STUB IFullScreenVideo_SetMessageDrain_Stub(
955    IRpcStubBuffer* This,
956    IRpcChannelBuffer* pRpcChannelBuffer,
957    PRPC_MESSAGE pRpcMessage,
958    DWORD* pdwStubPhase);
959HRESULT STDMETHODCALLTYPE IFullScreenVideo_GetMessageDrain_Proxy(
960    IFullScreenVideo* This,
961    HWND *hwnd);
962void __RPC_STUB IFullScreenVideo_GetMessageDrain_Stub(
963    IRpcStubBuffer* This,
964    IRpcChannelBuffer* pRpcChannelBuffer,
965    PRPC_MESSAGE pRpcMessage,
966    DWORD* pdwStubPhase);
967HRESULT STDMETHODCALLTYPE IFullScreenVideo_SetMonitor_Proxy(
968    IFullScreenVideo* This,
969    LONG Monitor);
970void __RPC_STUB IFullScreenVideo_SetMonitor_Stub(
971    IRpcStubBuffer* This,
972    IRpcChannelBuffer* pRpcChannelBuffer,
973    PRPC_MESSAGE pRpcMessage,
974    DWORD* pdwStubPhase);
975HRESULT STDMETHODCALLTYPE IFullScreenVideo_GetMonitor_Proxy(
976    IFullScreenVideo* This,
977    LONG *Monitor);
978void __RPC_STUB IFullScreenVideo_GetMonitor_Stub(
979    IRpcStubBuffer* This,
980    IRpcChannelBuffer* pRpcChannelBuffer,
981    PRPC_MESSAGE pRpcMessage,
982    DWORD* pdwStubPhase);
983HRESULT STDMETHODCALLTYPE IFullScreenVideo_HideOnDeactivate_Proxy(
984    IFullScreenVideo* This,
985    LONG Hide);
986void __RPC_STUB IFullScreenVideo_HideOnDeactivate_Stub(
987    IRpcStubBuffer* This,
988    IRpcChannelBuffer* pRpcChannelBuffer,
989    PRPC_MESSAGE pRpcMessage,
990    DWORD* pdwStubPhase);
991HRESULT STDMETHODCALLTYPE IFullScreenVideo_IsHideOnDeactivate_Proxy(
992    IFullScreenVideo* This);
993void __RPC_STUB IFullScreenVideo_IsHideOnDeactivate_Stub(
994    IRpcStubBuffer* This,
995    IRpcChannelBuffer* pRpcChannelBuffer,
996    PRPC_MESSAGE pRpcMessage,
997    DWORD* pdwStubPhase);
998HRESULT STDMETHODCALLTYPE IFullScreenVideo_SetCaption_Proxy(
999    IFullScreenVideo* This,
1000    BSTR strCaption);
1001void __RPC_STUB IFullScreenVideo_SetCaption_Stub(
1002    IRpcStubBuffer* This,
1003    IRpcChannelBuffer* pRpcChannelBuffer,
1004    PRPC_MESSAGE pRpcMessage,
1005    DWORD* pdwStubPhase);
1006HRESULT STDMETHODCALLTYPE IFullScreenVideo_GetCaption_Proxy(
1007    IFullScreenVideo* This,
1008    BSTR *pstrCaption);
1009void __RPC_STUB IFullScreenVideo_GetCaption_Stub(
1010    IRpcStubBuffer* This,
1011    IRpcChannelBuffer* pRpcChannelBuffer,
1012    PRPC_MESSAGE pRpcMessage,
1013    DWORD* pdwStubPhase);
1014HRESULT STDMETHODCALLTYPE IFullScreenVideo_SetDefault_Proxy(
1015    IFullScreenVideo* This);
1016void __RPC_STUB IFullScreenVideo_SetDefault_Stub(
1017    IRpcStubBuffer* This,
1018    IRpcChannelBuffer* pRpcChannelBuffer,
1019    PRPC_MESSAGE pRpcMessage,
1020    DWORD* pdwStubPhase);
1021
1022#endif  /* __IFullScreenVideo_INTERFACE_DEFINED__ */
1023
1024/*****************************************************************************
1025 * IFullScreenVideoEx interface
1026 */
1027#ifndef __IFullScreenVideoEx_INTERFACE_DEFINED__
1028#define __IFullScreenVideoEx_INTERFACE_DEFINED__
1029
1030#if defined(__cplusplus) && !defined(CINTERFACE)
1031interface IFullScreenVideoEx : public IFullScreenVideo
1032{
1033    virtual HRESULT STDMETHODCALLTYPE SetAcceleratorTable(
1034        HWND hwnd,
1035        HACCEL hAccel) = 0;
1036
1037    virtual HRESULT STDMETHODCALLTYPE GetAcceleratorTable(
1038        HWND *phwnd,
1039        HACCEL *phAccel) = 0;
1040
1041    virtual HRESULT STDMETHODCALLTYPE KeepPixelAspectRatio(
1042        LONG KeepAspect) = 0;
1043
1044    virtual HRESULT STDMETHODCALLTYPE IsKeepPixelAspectRatio(
1045        LONG *pKeepAspect) = 0;
1046
1047};
1048#else
1049typedef struct IFullScreenVideoExVtbl {
1050    BEGIN_INTERFACE
1051
1052    /*** IUnknown methods ***/
1053    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1054        IFullScreenVideoEx* This,
1055        REFIID riid,
1056        void **ppvObject);
1057
1058    ULONG (STDMETHODCALLTYPE *AddRef)(
1059        IFullScreenVideoEx* This);
1060
1061    ULONG (STDMETHODCALLTYPE *Release)(
1062        IFullScreenVideoEx* This);
1063
1064    /*** IFullScreenVideo methods ***/
1065    HRESULT (STDMETHODCALLTYPE *CountModes)(
1066        IFullScreenVideoEx* This,
1067        LONG *pModes);
1068
1069    HRESULT (STDMETHODCALLTYPE *GetModeInfo)(
1070        IFullScreenVideoEx* This,
1071        LONG Mode,
1072        LONG *pWidth,
1073        LONG *pHeight,
1074        LONG *pDepth);
1075
1076    HRESULT (STDMETHODCALLTYPE *GetCurrentMode)(
1077        IFullScreenVideoEx* This,
1078        LONG *pMode);
1079
1080    HRESULT (STDMETHODCALLTYPE *IsModeAvailable)(
1081        IFullScreenVideoEx* This,
1082        LONG Mode);
1083
1084    HRESULT (STDMETHODCALLTYPE *IsModeEnabled)(
1085        IFullScreenVideoEx* This,
1086        LONG Mode);
1087
1088    HRESULT (STDMETHODCALLTYPE *SetEnabled)(
1089        IFullScreenVideoEx* This,
1090        LONG Mode,
1091        LONG bEnabled);
1092
1093    HRESULT (STDMETHODCALLTYPE *GetClipFactor)(
1094        IFullScreenVideoEx* This,
1095        LONG *pClipFactor);
1096
1097    HRESULT (STDMETHODCALLTYPE *SetClipFactor)(
1098        IFullScreenVideoEx* This,
1099        LONG ClipFactor);
1100
1101    HRESULT (STDMETHODCALLTYPE *SetMessageDrain)(
1102        IFullScreenVideoEx* This,
1103        HWND hwnd);
1104
1105    HRESULT (STDMETHODCALLTYPE *GetMessageDrain)(
1106        IFullScreenVideoEx* This,
1107        HWND *hwnd);
1108
1109    HRESULT (STDMETHODCALLTYPE *SetMonitor)(
1110        IFullScreenVideoEx* This,
1111        LONG Monitor);
1112
1113    HRESULT (STDMETHODCALLTYPE *GetMonitor)(
1114        IFullScreenVideoEx* This,
1115        LONG *Monitor);
1116
1117    HRESULT (STDMETHODCALLTYPE *HideOnDeactivate)(
1118        IFullScreenVideoEx* This,
1119        LONG Hide);
1120
1121    HRESULT (STDMETHODCALLTYPE *IsHideOnDeactivate)(
1122        IFullScreenVideoEx* This);
1123
1124    HRESULT (STDMETHODCALLTYPE *SetCaption)(
1125        IFullScreenVideoEx* This,
1126        BSTR strCaption);
1127
1128    HRESULT (STDMETHODCALLTYPE *GetCaption)(
1129        IFullScreenVideoEx* This,
1130        BSTR *pstrCaption);
1131
1132    HRESULT (STDMETHODCALLTYPE *SetDefault)(
1133        IFullScreenVideoEx* This);
1134
1135    /*** IFullScreenVideoEx methods ***/
1136    HRESULT (STDMETHODCALLTYPE *SetAcceleratorTable)(
1137        IFullScreenVideoEx* This,
1138        HWND hwnd,
1139        HACCEL hAccel);
1140
1141    HRESULT (STDMETHODCALLTYPE *GetAcceleratorTable)(
1142        IFullScreenVideoEx* This,
1143        HWND *phwnd,
1144        HACCEL *phAccel);
1145
1146    HRESULT (STDMETHODCALLTYPE *KeepPixelAspectRatio)(
1147        IFullScreenVideoEx* This,
1148        LONG KeepAspect);
1149
1150    HRESULT (STDMETHODCALLTYPE *IsKeepPixelAspectRatio)(
1151        IFullScreenVideoEx* This,
1152        LONG *pKeepAspect);
1153
1154    END_INTERFACE
1155} IFullScreenVideoExVtbl;
1156interface IFullScreenVideoEx {
1157    CONST_VTBL IFullScreenVideoExVtbl* lpVtbl;
1158};
1159
1160#ifdef COBJMACROS
1161#ifndef WIDL_C_INLINE_WRAPPERS
1162/*** IUnknown methods ***/
1163#define IFullScreenVideoEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1164#define IFullScreenVideoEx_AddRef(This) (This)->lpVtbl->AddRef(This)
1165#define IFullScreenVideoEx_Release(This) (This)->lpVtbl->Release(This)
1166/*** IFullScreenVideo methods ***/
1167#define IFullScreenVideoEx_CountModes(This,pModes) (This)->lpVtbl->CountModes(This,pModes)
1168#define IFullScreenVideoEx_GetModeInfo(This,Mode,pWidth,pHeight,pDepth) (This)->lpVtbl->GetModeInfo(This,Mode,pWidth,pHeight,pDepth)
1169#define IFullScreenVideoEx_GetCurrentMode(This,pMode) (This)->lpVtbl->GetCurrentMode(This,pMode)
1170#define IFullScreenVideoEx_IsModeAvailable(This,Mode) (This)->lpVtbl->IsModeAvailable(This,Mode)
1171#define IFullScreenVideoEx_IsModeEnabled(This,Mode) (This)->lpVtbl->IsModeEnabled(This,Mode)
1172#define IFullScreenVideoEx_SetEnabled(This,Mode,bEnabled) (This)->lpVtbl->SetEnabled(This,Mode,bEnabled)
1173#define IFullScreenVideoEx_GetClipFactor(This,pClipFactor) (This)->lpVtbl->GetClipFactor(This,pClipFactor)
1174#define IFullScreenVideoEx_SetClipFactor(This,ClipFactor) (This)->lpVtbl->SetClipFactor(This,ClipFactor)
1175#define IFullScreenVideoEx_SetMessageDrain(This,hwnd) (This)->lpVtbl->SetMessageDrain(This,hwnd)
1176#define IFullScreenVideoEx_GetMessageDrain(This,hwnd) (This)->lpVtbl->GetMessageDrain(This,hwnd)
1177#define IFullScreenVideoEx_SetMonitor(This,Monitor) (This)->lpVtbl->SetMonitor(This,Monitor)
1178#define IFullScreenVideoEx_GetMonitor(This,Monitor) (This)->lpVtbl->GetMonitor(This,Monitor)
1179#define IFullScreenVideoEx_HideOnDeactivate(This,Hide) (This)->lpVtbl->HideOnDeactivate(This,Hide)
1180#define IFullScreenVideoEx_IsHideOnDeactivate(This) (This)->lpVtbl->IsHideOnDeactivate(This)
1181#define IFullScreenVideoEx_SetCaption(This,strCaption) (This)->lpVtbl->SetCaption(This,strCaption)
1182#define IFullScreenVideoEx_GetCaption(This,pstrCaption) (This)->lpVtbl->GetCaption(This,pstrCaption)
1183#define IFullScreenVideoEx_SetDefault(This) (This)->lpVtbl->SetDefault(This)
1184/*** IFullScreenVideoEx methods ***/
1185#define IFullScreenVideoEx_SetAcceleratorTable(This,hwnd,hAccel) (This)->lpVtbl->SetAcceleratorTable(This,hwnd,hAccel)
1186#define IFullScreenVideoEx_GetAcceleratorTable(This,phwnd,phAccel) (This)->lpVtbl->GetAcceleratorTable(This,phwnd,phAccel)
1187#define IFullScreenVideoEx_KeepPixelAspectRatio(This,KeepAspect) (This)->lpVtbl->KeepPixelAspectRatio(This,KeepAspect)
1188#define IFullScreenVideoEx_IsKeepPixelAspectRatio(This,pKeepAspect) (This)->lpVtbl->IsKeepPixelAspectRatio(This,pKeepAspect)
1189#else
1190/*** IUnknown methods ***/
1191static FORCEINLINE HRESULT IFullScreenVideoEx_QueryInterface(IFullScreenVideoEx* This,REFIID riid,void **ppvObject) {
1192    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1193}
1194static FORCEINLINE ULONG IFullScreenVideoEx_AddRef(IFullScreenVideoEx* This) {
1195    return This->lpVtbl->AddRef(This);
1196}
1197static FORCEINLINE ULONG IFullScreenVideoEx_Release(IFullScreenVideoEx* This) {
1198    return This->lpVtbl->Release(This);
1199}
1200/*** IFullScreenVideo methods ***/
1201static FORCEINLINE HRESULT IFullScreenVideoEx_CountModes(IFullScreenVideoEx* This,LONG *pModes) {
1202    return This->lpVtbl->CountModes(This,pModes);
1203}
1204static FORCEINLINE HRESULT IFullScreenVideoEx_GetModeInfo(IFullScreenVideoEx* This,LONG Mode,LONG *pWidth,LONG *pHeight,LONG *pDepth) {
1205    return This->lpVtbl->GetModeInfo(This,Mode,pWidth,pHeight,pDepth);
1206}
1207static FORCEINLINE HRESULT IFullScreenVideoEx_GetCurrentMode(IFullScreenVideoEx* This,LONG *pMode) {
1208    return This->lpVtbl->GetCurrentMode(This,pMode);
1209}
1210static FORCEINLINE HRESULT IFullScreenVideoEx_IsModeAvailable(IFullScreenVideoEx* This,LONG Mode) {
1211    return This->lpVtbl->IsModeAvailable(This,Mode);
1212}
1213static FORCEINLINE HRESULT IFullScreenVideoEx_IsModeEnabled(IFullScreenVideoEx* This,LONG Mode) {
1214    return This->lpVtbl->IsModeEnabled(This,Mode);
1215}
1216static FORCEINLINE HRESULT IFullScreenVideoEx_SetEnabled(IFullScreenVideoEx* This,LONG Mode,LONG bEnabled) {
1217    return This->lpVtbl->SetEnabled(This,Mode,bEnabled);
1218}
1219static FORCEINLINE HRESULT IFullScreenVideoEx_GetClipFactor(IFullScreenVideoEx* This,LONG *pClipFactor) {
1220    return This->lpVtbl->GetClipFactor(This,pClipFactor);
1221}
1222static FORCEINLINE HRESULT IFullScreenVideoEx_SetClipFactor(IFullScreenVideoEx* This,LONG ClipFactor) {
1223    return This->lpVtbl->SetClipFactor(This,ClipFactor);
1224}
1225static FORCEINLINE HRESULT IFullScreenVideoEx_SetMessageDrain(IFullScreenVideoEx* This,HWND hwnd) {
1226    return This->lpVtbl->SetMessageDrain(This,hwnd);
1227}
1228static FORCEINLINE HRESULT IFullScreenVideoEx_GetMessageDrain(IFullScreenVideoEx* This,HWND *hwnd) {
1229    return This->lpVtbl->GetMessageDrain(This,hwnd);
1230}
1231static FORCEINLINE HRESULT IFullScreenVideoEx_SetMonitor(IFullScreenVideoEx* This,LONG Monitor) {
1232    return This->lpVtbl->SetMonitor(This,Monitor);
1233}
1234static FORCEINLINE HRESULT IFullScreenVideoEx_GetMonitor(IFullScreenVideoEx* This,LONG *Monitor) {
1235    return This->lpVtbl->GetMonitor(This,Monitor);
1236}
1237static FORCEINLINE HRESULT IFullScreenVideoEx_HideOnDeactivate(IFullScreenVideoEx* This,LONG Hide) {
1238    return This->lpVtbl->HideOnDeactivate(This,Hide);
1239}
1240static FORCEINLINE HRESULT IFullScreenVideoEx_IsHideOnDeactivate(IFullScreenVideoEx* This) {
1241    return This->lpVtbl->IsHideOnDeactivate(This);
1242}
1243static FORCEINLINE HRESULT IFullScreenVideoEx_SetCaption(IFullScreenVideoEx* This,BSTR strCaption) {
1244    return This->lpVtbl->SetCaption(This,strCaption);
1245}
1246static FORCEINLINE HRESULT IFullScreenVideoEx_GetCaption(IFullScreenVideoEx* This,BSTR *pstrCaption) {
1247    return This->lpVtbl->GetCaption(This,pstrCaption);
1248}
1249static FORCEINLINE HRESULT IFullScreenVideoEx_SetDefault(IFullScreenVideoEx* This) {
1250    return This->lpVtbl->SetDefault(This);
1251}
1252/*** IFullScreenVideoEx methods ***/
1253static FORCEINLINE HRESULT IFullScreenVideoEx_SetAcceleratorTable(IFullScreenVideoEx* This,HWND hwnd,HACCEL hAccel) {
1254    return This->lpVtbl->SetAcceleratorTable(This,hwnd,hAccel);
1255}
1256static FORCEINLINE HRESULT IFullScreenVideoEx_GetAcceleratorTable(IFullScreenVideoEx* This,HWND *phwnd,HACCEL *phAccel) {
1257    return This->lpVtbl->GetAcceleratorTable(This,phwnd,phAccel);
1258}
1259static FORCEINLINE HRESULT IFullScreenVideoEx_KeepPixelAspectRatio(IFullScreenVideoEx* This,LONG KeepAspect) {
1260    return This->lpVtbl->KeepPixelAspectRatio(This,KeepAspect);
1261}
1262static FORCEINLINE HRESULT IFullScreenVideoEx_IsKeepPixelAspectRatio(IFullScreenVideoEx* This,LONG *pKeepAspect) {
1263    return This->lpVtbl->IsKeepPixelAspectRatio(This,pKeepAspect);
1264}
1265#endif
1266#endif
1267
1268#endif
1269
1270HRESULT STDMETHODCALLTYPE IFullScreenVideoEx_SetAcceleratorTable_Proxy(
1271    IFullScreenVideoEx* This,
1272    HWND hwnd,
1273    HACCEL hAccel);
1274void __RPC_STUB IFullScreenVideoEx_SetAcceleratorTable_Stub(
1275    IRpcStubBuffer* This,
1276    IRpcChannelBuffer* pRpcChannelBuffer,
1277    PRPC_MESSAGE pRpcMessage,
1278    DWORD* pdwStubPhase);
1279HRESULT STDMETHODCALLTYPE IFullScreenVideoEx_GetAcceleratorTable_Proxy(
1280    IFullScreenVideoEx* This,
1281    HWND *phwnd,
1282    HACCEL *phAccel);
1283void __RPC_STUB IFullScreenVideoEx_GetAcceleratorTable_Stub(
1284    IRpcStubBuffer* This,
1285    IRpcChannelBuffer* pRpcChannelBuffer,
1286    PRPC_MESSAGE pRpcMessage,
1287    DWORD* pdwStubPhase);
1288HRESULT STDMETHODCALLTYPE IFullScreenVideoEx_KeepPixelAspectRatio_Proxy(
1289    IFullScreenVideoEx* This,
1290    LONG KeepAspect);
1291void __RPC_STUB IFullScreenVideoEx_KeepPixelAspectRatio_Stub(
1292    IRpcStubBuffer* This,
1293    IRpcChannelBuffer* pRpcChannelBuffer,
1294    PRPC_MESSAGE pRpcMessage,
1295    DWORD* pdwStubPhase);
1296HRESULT STDMETHODCALLTYPE IFullScreenVideoEx_IsKeepPixelAspectRatio_Proxy(
1297    IFullScreenVideoEx* This,
1298    LONG *pKeepAspect);
1299void __RPC_STUB IFullScreenVideoEx_IsKeepPixelAspectRatio_Stub(
1300    IRpcStubBuffer* This,
1301    IRpcChannelBuffer* pRpcChannelBuffer,
1302    PRPC_MESSAGE pRpcMessage,
1303    DWORD* pdwStubPhase);
1304
1305#endif  /* __IFullScreenVideoEx_INTERFACE_DEFINED__ */
1306
1307/*****************************************************************************
1308 * IBaseVideoMixer interface
1309 */
1310#ifndef __IBaseVideoMixer_INTERFACE_DEFINED__
1311#define __IBaseVideoMixer_INTERFACE_DEFINED__
1312
1313#if defined(__cplusplus) && !defined(CINTERFACE)
1314interface IBaseVideoMixer : public IUnknown
1315{
1316    virtual HRESULT STDMETHODCALLTYPE SetLeadPin(
1317        int iPin) = 0;
1318
1319    virtual HRESULT STDMETHODCALLTYPE GetLeadPin(
1320        int *piPin) = 0;
1321
1322    virtual HRESULT STDMETHODCALLTYPE GetInputPinCount(
1323        int *piPinCount) = 0;
1324
1325    virtual HRESULT STDMETHODCALLTYPE IsUsingClock(
1326        int *pbValue) = 0;
1327
1328    virtual HRESULT STDMETHODCALLTYPE SetUsingClock(
1329        int bValue) = 0;
1330
1331    virtual HRESULT STDMETHODCALLTYPE GetClockPeriod(
1332        int *pbValue) = 0;
1333
1334    virtual HRESULT STDMETHODCALLTYPE SetClockPeriod(
1335        int bValue) = 0;
1336
1337};
1338#else
1339typedef struct IBaseVideoMixerVtbl {
1340    BEGIN_INTERFACE
1341
1342    /*** IUnknown methods ***/
1343    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1344        IBaseVideoMixer* This,
1345        REFIID riid,
1346        void **ppvObject);
1347
1348    ULONG (STDMETHODCALLTYPE *AddRef)(
1349        IBaseVideoMixer* This);
1350
1351    ULONG (STDMETHODCALLTYPE *Release)(
1352        IBaseVideoMixer* This);
1353
1354    /*** IBaseVideoMixer methods ***/
1355    HRESULT (STDMETHODCALLTYPE *SetLeadPin)(
1356        IBaseVideoMixer* This,
1357        int iPin);
1358
1359    HRESULT (STDMETHODCALLTYPE *GetLeadPin)(
1360        IBaseVideoMixer* This,
1361        int *piPin);
1362
1363    HRESULT (STDMETHODCALLTYPE *GetInputPinCount)(
1364        IBaseVideoMixer* This,
1365        int *piPinCount);
1366
1367    HRESULT (STDMETHODCALLTYPE *IsUsingClock)(
1368        IBaseVideoMixer* This,
1369        int *pbValue);
1370
1371    HRESULT (STDMETHODCALLTYPE *SetUsingClock)(
1372        IBaseVideoMixer* This,
1373        int bValue);
1374
1375    HRESULT (STDMETHODCALLTYPE *GetClockPeriod)(
1376        IBaseVideoMixer* This,
1377        int *pbValue);
1378
1379    HRESULT (STDMETHODCALLTYPE *SetClockPeriod)(
1380        IBaseVideoMixer* This,
1381        int bValue);
1382
1383    END_INTERFACE
1384} IBaseVideoMixerVtbl;
1385interface IBaseVideoMixer {
1386    CONST_VTBL IBaseVideoMixerVtbl* lpVtbl;
1387};
1388
1389#ifdef COBJMACROS
1390#ifndef WIDL_C_INLINE_WRAPPERS
1391/*** IUnknown methods ***/
1392#define IBaseVideoMixer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1393#define IBaseVideoMixer_AddRef(This) (This)->lpVtbl->AddRef(This)
1394#define IBaseVideoMixer_Release(This) (This)->lpVtbl->Release(This)
1395/*** IBaseVideoMixer methods ***/
1396#define IBaseVideoMixer_SetLeadPin(This,iPin) (This)->lpVtbl->SetLeadPin(This,iPin)
1397#define IBaseVideoMixer_GetLeadPin(This,piPin) (This)->lpVtbl->GetLeadPin(This,piPin)
1398#define IBaseVideoMixer_GetInputPinCount(This,piPinCount) (This)->lpVtbl->GetInputPinCount(This,piPinCount)
1399#define IBaseVideoMixer_IsUsingClock(This,pbValue) (This)->lpVtbl->IsUsingClock(This,pbValue)
1400#define IBaseVideoMixer_SetUsingClock(This,bValue) (This)->lpVtbl->SetUsingClock(This,bValue)
1401#define IBaseVideoMixer_GetClockPeriod(This,pbValue) (This)->lpVtbl->GetClockPeriod(This,pbValue)
1402#define IBaseVideoMixer_SetClockPeriod(This,bValue) (This)->lpVtbl->SetClockPeriod(This,bValue)
1403#else
1404/*** IUnknown methods ***/
1405static FORCEINLINE HRESULT IBaseVideoMixer_QueryInterface(IBaseVideoMixer* This,REFIID riid,void **ppvObject) {
1406    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1407}
1408static FORCEINLINE ULONG IBaseVideoMixer_AddRef(IBaseVideoMixer* This) {
1409    return This->lpVtbl->AddRef(This);
1410}
1411static FORCEINLINE ULONG IBaseVideoMixer_Release(IBaseVideoMixer* This) {
1412    return This->lpVtbl->Release(This);
1413}
1414/*** IBaseVideoMixer methods ***/
1415static FORCEINLINE HRESULT IBaseVideoMixer_SetLeadPin(IBaseVideoMixer* This,int iPin) {
1416    return This->lpVtbl->SetLeadPin(This,iPin);
1417}
1418static FORCEINLINE HRESULT IBaseVideoMixer_GetLeadPin(IBaseVideoMixer* This,int *piPin) {
1419    return This->lpVtbl->GetLeadPin(This,piPin);
1420}
1421static FORCEINLINE HRESULT IBaseVideoMixer_GetInputPinCount(IBaseVideoMixer* This,int *piPinCount) {
1422    return This->lpVtbl->GetInputPinCount(This,piPinCount);
1423}
1424static FORCEINLINE HRESULT IBaseVideoMixer_IsUsingClock(IBaseVideoMixer* This,int *pbValue) {
1425    return This->lpVtbl->IsUsingClock(This,pbValue);
1426}
1427static FORCEINLINE HRESULT IBaseVideoMixer_SetUsingClock(IBaseVideoMixer* This,int bValue) {
1428    return This->lpVtbl->SetUsingClock(This,bValue);
1429}
1430static FORCEINLINE HRESULT IBaseVideoMixer_GetClockPeriod(IBaseVideoMixer* This,int *pbValue) {
1431    return This->lpVtbl->GetClockPeriod(This,pbValue);
1432}
1433static FORCEINLINE HRESULT IBaseVideoMixer_SetClockPeriod(IBaseVideoMixer* This,int bValue) {
1434    return This->lpVtbl->SetClockPeriod(This,bValue);
1435}
1436#endif
1437#endif
1438
1439#endif
1440
1441HRESULT STDMETHODCALLTYPE IBaseVideoMixer_SetLeadPin_Proxy(
1442    IBaseVideoMixer* This,
1443    int iPin);
1444void __RPC_STUB IBaseVideoMixer_SetLeadPin_Stub(
1445    IRpcStubBuffer* This,
1446    IRpcChannelBuffer* pRpcChannelBuffer,
1447    PRPC_MESSAGE pRpcMessage,
1448    DWORD* pdwStubPhase);
1449HRESULT STDMETHODCALLTYPE IBaseVideoMixer_GetLeadPin_Proxy(
1450    IBaseVideoMixer* This,
1451    int *piPin);
1452void __RPC_STUB IBaseVideoMixer_GetLeadPin_Stub(
1453    IRpcStubBuffer* This,
1454    IRpcChannelBuffer* pRpcChannelBuffer,
1455    PRPC_MESSAGE pRpcMessage,
1456    DWORD* pdwStubPhase);
1457HRESULT STDMETHODCALLTYPE IBaseVideoMixer_GetInputPinCount_Proxy(
1458    IBaseVideoMixer* This,
1459    int *piPinCount);
1460void __RPC_STUB IBaseVideoMixer_GetInputPinCount_Stub(
1461    IRpcStubBuffer* This,
1462    IRpcChannelBuffer* pRpcChannelBuffer,
1463    PRPC_MESSAGE pRpcMessage,
1464    DWORD* pdwStubPhase);
1465HRESULT STDMETHODCALLTYPE IBaseVideoMixer_IsUsingClock_Proxy(
1466    IBaseVideoMixer* This,
1467    int *pbValue);
1468void __RPC_STUB IBaseVideoMixer_IsUsingClock_Stub(
1469    IRpcStubBuffer* This,
1470    IRpcChannelBuffer* pRpcChannelBuffer,
1471    PRPC_MESSAGE pRpcMessage,
1472    DWORD* pdwStubPhase);
1473HRESULT STDMETHODCALLTYPE IBaseVideoMixer_SetUsingClock_Proxy(
1474    IBaseVideoMixer* This,
1475    int bValue);
1476void __RPC_STUB IBaseVideoMixer_SetUsingClock_Stub(
1477    IRpcStubBuffer* This,
1478    IRpcChannelBuffer* pRpcChannelBuffer,
1479    PRPC_MESSAGE pRpcMessage,
1480    DWORD* pdwStubPhase);
1481HRESULT STDMETHODCALLTYPE IBaseVideoMixer_GetClockPeriod_Proxy(
1482    IBaseVideoMixer* This,
1483    int *pbValue);
1484void __RPC_STUB IBaseVideoMixer_GetClockPeriod_Stub(
1485    IRpcStubBuffer* This,
1486    IRpcChannelBuffer* pRpcChannelBuffer,
1487    PRPC_MESSAGE pRpcMessage,
1488    DWORD* pdwStubPhase);
1489HRESULT STDMETHODCALLTYPE IBaseVideoMixer_SetClockPeriod_Proxy(
1490    IBaseVideoMixer* This,
1491    int bValue);
1492void __RPC_STUB IBaseVideoMixer_SetClockPeriod_Stub(
1493    IRpcStubBuffer* This,
1494    IRpcChannelBuffer* pRpcChannelBuffer,
1495    PRPC_MESSAGE pRpcMessage,
1496    DWORD* pdwStubPhase);
1497
1498#endif  /* __IBaseVideoMixer_INTERFACE_DEFINED__ */
1499
1500#define iPALETTE_COLORS 256
1501#define iEGA_COLORS 16
1502#define iMASK_COLORS 3
1503#define iTRUECOLOR 16
1504#define iRED 0
1505#define iGREEN 1
1506#define iBLUE 2
1507#define iPALETTE 8
1508#define iMAXBITS 8
1509typedef struct tag_TRUECOLORINFO {
1510    DWORD dwBitMasks[3];
1511    RGBQUAD bmiColors[256];
1512} TRUECOLORINFO;
1513typedef struct tagVIDEOINFOHEADER {
1514    RECT rcSource;
1515    RECT rcTarget;
1516    DWORD dwBitRate;
1517    DWORD dwBitErrorRate;
1518    REFERENCE_TIME AvgTimePerFrame;
1519    BITMAPINFOHEADER bmiHeader;
1520} VIDEOINFOHEADER;
1521typedef struct tagVIDEOINFO {
1522    RECT rcSource;
1523    RECT rcTarget;
1524    DWORD dwBitRate;
1525    DWORD dwBitErrorRate;
1526    REFERENCE_TIME AvgTimePerFrame;
1527    BITMAPINFOHEADER bmiHeader;
1528    __C89_NAMELESS union {
1529        RGBQUAD bmiColors[256];
1530        DWORD dwBitMasks[3];
1531        TRUECOLORINFO TrueColorInfo;
1532    } __C89_NAMELESSUNIONNAME;
1533} VIDEOINFO;
1534typedef struct tagMPEG1VIDEOINFO {
1535    VIDEOINFOHEADER hdr;
1536    DWORD dwStartTimeCode;
1537    DWORD cbSequenceHeader;
1538    BYTE bSequenceHeader[1];
1539} MPEG1VIDEOINFO;
1540#define MAX_SIZE_MPEG1_SEQUENCE_INFO 140
1541#define MPEG1_SEQUENCE_INFO(pv) ((const BYTE *)(pv)->bSequenceHeader)
1542typedef struct tagAnalogVideoInfo {
1543    RECT rcSource;
1544    RECT rcTarget;
1545    DWORD dwActiveWidth;
1546    DWORD dwActiveHeight;
1547    REFERENCE_TIME AvgTimePerFrame;
1548} ANALOGVIDEOINFO;
1549typedef enum __WIDL_amvideo_generated_name_00000003 {
1550    AM_PROPERTY_FRAMESTEP_STEP = 0x1,
1551    AM_PROPERTY_FRAMESTEP_CANCEL = 0x2,
1552    AM_PROPERTY_FRAMESTEP_CANSTEP = 0x3,
1553    AM_PROPERTY_FRAMESTEP_CANSTEPMULTIPLE = 0x4
1554} AM_PROPERTY_FRAMESTEP;
1555typedef struct _AM_FRAMESTEP_STEP {
1556    DWORD dwFramesToStep;
1557} AM_FRAMESTEP_STEP;
1558/* Begin additional prototypes for all interfaces */
1559
1560ULONG           __RPC_USER HWND_UserSize     (ULONG *, ULONG, HWND *);
1561unsigned char * __RPC_USER HWND_UserMarshal  (ULONG *, unsigned char *, HWND *);
1562unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *);
1563void            __RPC_USER HWND_UserFree     (ULONG *, HWND *);
1564ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
1565unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
1566unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
1567void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
1568
1569/* End additional prototypes */
1570
1571#ifdef __cplusplus
1572}
1573#endif
1574
1575#endif /* __amvideo_h__ */
1576