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