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