master
   1/*** Autogenerated by WIDL 10.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__
  23typedef interface IDirectDrawVideo IDirectDrawVideo;
  24#ifdef __cplusplus
  25interface IDirectDrawVideo;
  26#endif /* __cplusplus */
  27#endif
  28
  29#ifndef __IQualProp_FWD_DEFINED__
  30#define __IQualProp_FWD_DEFINED__
  31typedef interface IQualProp IQualProp;
  32#ifdef __cplusplus
  33interface IQualProp;
  34#endif /* __cplusplus */
  35#endif
  36
  37#ifndef __IFullScreenVideo_FWD_DEFINED__
  38#define __IFullScreenVideo_FWD_DEFINED__
  39typedef interface IFullScreenVideo IFullScreenVideo;
  40#ifdef __cplusplus
  41interface IFullScreenVideo;
  42#endif /* __cplusplus */
  43#endif
  44
  45#ifndef __IFullScreenVideoEx_FWD_DEFINED__
  46#define __IFullScreenVideoEx_FWD_DEFINED__
  47typedef interface IFullScreenVideoEx IFullScreenVideoEx;
  48#ifdef __cplusplus
  49interface IFullScreenVideoEx;
  50#endif /* __cplusplus */
  51#endif
  52
  53#ifndef __IBaseVideoMixer_FWD_DEFINED__
  54#define __IBaseVideoMixer_FWD_DEFINED__
  55typedef interface IBaseVideoMixer IBaseVideoMixer;
  56#ifdef __cplusplus
  57interface IBaseVideoMixer;
  58#endif /* __cplusplus */
  59#endif
  60
  61/* Headers for imported files */
  62
  63#include <objidl.h>
  64
  65#ifdef __cplusplus
  66extern "C" {
  67#endif
  68
  69#if 0
  70#ifndef __IDirectDraw_FWD_DEFINED__
  71#define __IDirectDraw_FWD_DEFINED__
  72typedef interface IDirectDraw IDirectDraw;
  73#ifdef __cplusplus
  74interface IDirectDraw;
  75#endif /* __cplusplus */
  76#endif
  77
  78typedef void DDSURFACEDESC;
  79typedef void DDCAPS;
  80typedef DWORD RGBQUAD;
  81typedef LONGLONG REFERENCE_TIME;
  82typedef 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;
  95typedef struct __WIDL_amvideo_generated_name_0000000E *PBITMAPINFOHEADER;
  96typedef 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)
 120interface 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
 173typedef 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
 256interface 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 ***/
 285static inline HRESULT IDirectDrawVideo_QueryInterface(IDirectDrawVideo* This,REFIID riid,void **ppvObject) {
 286    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 287}
 288static inline ULONG IDirectDrawVideo_AddRef(IDirectDrawVideo* This) {
 289    return This->lpVtbl->AddRef(This);
 290}
 291static inline ULONG IDirectDrawVideo_Release(IDirectDrawVideo* This) {
 292    return This->lpVtbl->Release(This);
 293}
 294/*** IDirectDrawVideo methods ***/
 295static inline HRESULT IDirectDrawVideo_GetSwitches(IDirectDrawVideo* This,DWORD *pSwitches) {
 296    return This->lpVtbl->GetSwitches(This,pSwitches);
 297}
 298static inline HRESULT IDirectDrawVideo_SetSwitches(IDirectDrawVideo* This,DWORD Switches) {
 299    return This->lpVtbl->SetSwitches(This,Switches);
 300}
 301static inline HRESULT IDirectDrawVideo_GetCaps(IDirectDrawVideo* This,DDCAPS *pCaps) {
 302    return This->lpVtbl->GetCaps(This,pCaps);
 303}
 304static inline HRESULT IDirectDrawVideo_GetEmulatedCaps(IDirectDrawVideo* This,DDCAPS *pCaps) {
 305    return This->lpVtbl->GetEmulatedCaps(This,pCaps);
 306}
 307static inline HRESULT IDirectDrawVideo_GetSurfaceDesc(IDirectDrawVideo* This,DDSURFACEDESC *pSurfaceDesc) {
 308    return This->lpVtbl->GetSurfaceDesc(This,pSurfaceDesc);
 309}
 310static inline HRESULT IDirectDrawVideo_GetFourCCCodes(IDirectDrawVideo* This,DWORD *pCount,DWORD *pCodes) {
 311    return This->lpVtbl->GetFourCCCodes(This,pCount,pCodes);
 312}
 313static inline HRESULT IDirectDrawVideo_SetDirectDraw(IDirectDrawVideo* This,IDirectDraw *ddraw) {
 314    return This->lpVtbl->SetDirectDraw(This,ddraw);
 315}
 316static inline HRESULT IDirectDrawVideo_GetDirectDraw(IDirectDrawVideo* This,IDirectDraw **ddraw) {
 317    return This->lpVtbl->GetDirectDraw(This,ddraw);
 318}
 319static inline HRESULT IDirectDrawVideo_GetSurfaceType(IDirectDrawVideo* This,DWORD *pSurfaceType) {
 320    return This->lpVtbl->GetSurfaceType(This,pSurfaceType);
 321}
 322static inline HRESULT IDirectDrawVideo_SetDefault(IDirectDrawVideo* This) {
 323    return This->lpVtbl->SetDefault(This);
 324}
 325static inline HRESULT IDirectDrawVideo_UseScanLine(IDirectDrawVideo* This,LONG UseScanLine) {
 326    return This->lpVtbl->UseScanLine(This,UseScanLine);
 327}
 328static inline HRESULT IDirectDrawVideo_CanUseScanLine(IDirectDrawVideo* This,LONG *UseScanLine) {
 329    return This->lpVtbl->CanUseScanLine(This,UseScanLine);
 330}
 331static inline HRESULT IDirectDrawVideo_UseOverlayStretch(IDirectDrawVideo* This,LONG UseOverlayStretch) {
 332    return This->lpVtbl->UseOverlayStretch(This,UseOverlayStretch);
 333}
 334static inline HRESULT IDirectDrawVideo_CanUseOverlayStretch(IDirectDrawVideo* This,LONG *UseOverlayStretch) {
 335    return This->lpVtbl->CanUseOverlayStretch(This,UseOverlayStretch);
 336}
 337static inline HRESULT IDirectDrawVideo_UseWhenFullScreen(IDirectDrawVideo* This,LONG UseWhenFullScreen) {
 338    return This->lpVtbl->UseWhenFullScreen(This,UseWhenFullScreen);
 339}
 340static inline 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)
 358interface 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
 380typedef 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
 423interface 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 ***/
 442static inline HRESULT IQualProp_QueryInterface(IQualProp* This,REFIID riid,void **ppvObject) {
 443    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 444}
 445static inline ULONG IQualProp_AddRef(IQualProp* This) {
 446    return This->lpVtbl->AddRef(This);
 447}
 448static inline ULONG IQualProp_Release(IQualProp* This) {
 449    return This->lpVtbl->Release(This);
 450}
 451/*** IQualProp methods ***/
 452static inline HRESULT IQualProp_get_FramesDroppedInRenderer(IQualProp* This,int *pcFrames) {
 453    return This->lpVtbl->get_FramesDroppedInRenderer(This,pcFrames);
 454}
 455static inline HRESULT IQualProp_get_FramesDrawn(IQualProp* This,int *pcFramesDrawn) {
 456    return This->lpVtbl->get_FramesDrawn(This,pcFramesDrawn);
 457}
 458static inline HRESULT IQualProp_get_AvgFrameRate(IQualProp* This,int *piAvgFrameRate) {
 459    return This->lpVtbl->get_AvgFrameRate(This,piAvgFrameRate);
 460}
 461static inline HRESULT IQualProp_get_Jitter(IQualProp* This,int *iJitter) {
 462    return This->lpVtbl->get_Jitter(This,iJitter);
 463}
 464static inline HRESULT IQualProp_get_AvgSyncOffset(IQualProp* This,int *piAvg) {
 465    return This->lpVtbl->get_AvgSyncOffset(This,piAvg);
 466}
 467static inline 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)
 485interface 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
 544typedef 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
 633interface 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 ***/
 663static inline HRESULT IFullScreenVideo_QueryInterface(IFullScreenVideo* This,REFIID riid,void **ppvObject) {
 664    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 665}
 666static inline ULONG IFullScreenVideo_AddRef(IFullScreenVideo* This) {
 667    return This->lpVtbl->AddRef(This);
 668}
 669static inline ULONG IFullScreenVideo_Release(IFullScreenVideo* This) {
 670    return This->lpVtbl->Release(This);
 671}
 672/*** IFullScreenVideo methods ***/
 673static inline HRESULT IFullScreenVideo_CountModes(IFullScreenVideo* This,LONG *pModes) {
 674    return This->lpVtbl->CountModes(This,pModes);
 675}
 676static inline HRESULT IFullScreenVideo_GetModeInfo(IFullScreenVideo* This,LONG Mode,LONG *pWidth,LONG *pHeight,LONG *pDepth) {
 677    return This->lpVtbl->GetModeInfo(This,Mode,pWidth,pHeight,pDepth);
 678}
 679static inline HRESULT IFullScreenVideo_GetCurrentMode(IFullScreenVideo* This,LONG *pMode) {
 680    return This->lpVtbl->GetCurrentMode(This,pMode);
 681}
 682static inline HRESULT IFullScreenVideo_IsModeAvailable(IFullScreenVideo* This,LONG Mode) {
 683    return This->lpVtbl->IsModeAvailable(This,Mode);
 684}
 685static inline HRESULT IFullScreenVideo_IsModeEnabled(IFullScreenVideo* This,LONG Mode) {
 686    return This->lpVtbl->IsModeEnabled(This,Mode);
 687}
 688static inline HRESULT IFullScreenVideo_SetEnabled(IFullScreenVideo* This,LONG Mode,LONG bEnabled) {
 689    return This->lpVtbl->SetEnabled(This,Mode,bEnabled);
 690}
 691static inline HRESULT IFullScreenVideo_GetClipFactor(IFullScreenVideo* This,LONG *pClipFactor) {
 692    return This->lpVtbl->GetClipFactor(This,pClipFactor);
 693}
 694static inline HRESULT IFullScreenVideo_SetClipFactor(IFullScreenVideo* This,LONG ClipFactor) {
 695    return This->lpVtbl->SetClipFactor(This,ClipFactor);
 696}
 697static inline HRESULT IFullScreenVideo_SetMessageDrain(IFullScreenVideo* This,HWND hwnd) {
 698    return This->lpVtbl->SetMessageDrain(This,hwnd);
 699}
 700static inline HRESULT IFullScreenVideo_GetMessageDrain(IFullScreenVideo* This,HWND *hwnd) {
 701    return This->lpVtbl->GetMessageDrain(This,hwnd);
 702}
 703static inline HRESULT IFullScreenVideo_SetMonitor(IFullScreenVideo* This,LONG Monitor) {
 704    return This->lpVtbl->SetMonitor(This,Monitor);
 705}
 706static inline HRESULT IFullScreenVideo_GetMonitor(IFullScreenVideo* This,LONG *Monitor) {
 707    return This->lpVtbl->GetMonitor(This,Monitor);
 708}
 709static inline HRESULT IFullScreenVideo_HideOnDeactivate(IFullScreenVideo* This,LONG Hide) {
 710    return This->lpVtbl->HideOnDeactivate(This,Hide);
 711}
 712static inline HRESULT IFullScreenVideo_IsHideOnDeactivate(IFullScreenVideo* This) {
 713    return This->lpVtbl->IsHideOnDeactivate(This);
 714}
 715static inline HRESULT IFullScreenVideo_SetCaption(IFullScreenVideo* This,BSTR strCaption) {
 716    return This->lpVtbl->SetCaption(This,strCaption);
 717}
 718static inline HRESULT IFullScreenVideo_GetCaption(IFullScreenVideo* This,BSTR *pstrCaption) {
 719    return This->lpVtbl->GetCaption(This,pstrCaption);
 720}
 721static inline 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)
 739interface 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
 757typedef 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
 865interface 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 ***/
 900static inline HRESULT IFullScreenVideoEx_QueryInterface(IFullScreenVideoEx* This,REFIID riid,void **ppvObject) {
 901    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 902}
 903static inline ULONG IFullScreenVideoEx_AddRef(IFullScreenVideoEx* This) {
 904    return This->lpVtbl->AddRef(This);
 905}
 906static inline ULONG IFullScreenVideoEx_Release(IFullScreenVideoEx* This) {
 907    return This->lpVtbl->Release(This);
 908}
 909/*** IFullScreenVideo methods ***/
 910static inline HRESULT IFullScreenVideoEx_CountModes(IFullScreenVideoEx* This,LONG *pModes) {
 911    return This->lpVtbl->CountModes(This,pModes);
 912}
 913static inline HRESULT IFullScreenVideoEx_GetModeInfo(IFullScreenVideoEx* This,LONG Mode,LONG *pWidth,LONG *pHeight,LONG *pDepth) {
 914    return This->lpVtbl->GetModeInfo(This,Mode,pWidth,pHeight,pDepth);
 915}
 916static inline HRESULT IFullScreenVideoEx_GetCurrentMode(IFullScreenVideoEx* This,LONG *pMode) {
 917    return This->lpVtbl->GetCurrentMode(This,pMode);
 918}
 919static inline HRESULT IFullScreenVideoEx_IsModeAvailable(IFullScreenVideoEx* This,LONG Mode) {
 920    return This->lpVtbl->IsModeAvailable(This,Mode);
 921}
 922static inline HRESULT IFullScreenVideoEx_IsModeEnabled(IFullScreenVideoEx* This,LONG Mode) {
 923    return This->lpVtbl->IsModeEnabled(This,Mode);
 924}
 925static inline HRESULT IFullScreenVideoEx_SetEnabled(IFullScreenVideoEx* This,LONG Mode,LONG bEnabled) {
 926    return This->lpVtbl->SetEnabled(This,Mode,bEnabled);
 927}
 928static inline HRESULT IFullScreenVideoEx_GetClipFactor(IFullScreenVideoEx* This,LONG *pClipFactor) {
 929    return This->lpVtbl->GetClipFactor(This,pClipFactor);
 930}
 931static inline HRESULT IFullScreenVideoEx_SetClipFactor(IFullScreenVideoEx* This,LONG ClipFactor) {
 932    return This->lpVtbl->SetClipFactor(This,ClipFactor);
 933}
 934static inline HRESULT IFullScreenVideoEx_SetMessageDrain(IFullScreenVideoEx* This,HWND hwnd) {
 935    return This->lpVtbl->SetMessageDrain(This,hwnd);
 936}
 937static inline HRESULT IFullScreenVideoEx_GetMessageDrain(IFullScreenVideoEx* This,HWND *hwnd) {
 938    return This->lpVtbl->GetMessageDrain(This,hwnd);
 939}
 940static inline HRESULT IFullScreenVideoEx_SetMonitor(IFullScreenVideoEx* This,LONG Monitor) {
 941    return This->lpVtbl->SetMonitor(This,Monitor);
 942}
 943static inline HRESULT IFullScreenVideoEx_GetMonitor(IFullScreenVideoEx* This,LONG *Monitor) {
 944    return This->lpVtbl->GetMonitor(This,Monitor);
 945}
 946static inline HRESULT IFullScreenVideoEx_HideOnDeactivate(IFullScreenVideoEx* This,LONG Hide) {
 947    return This->lpVtbl->HideOnDeactivate(This,Hide);
 948}
 949static inline HRESULT IFullScreenVideoEx_IsHideOnDeactivate(IFullScreenVideoEx* This) {
 950    return This->lpVtbl->IsHideOnDeactivate(This);
 951}
 952static inline HRESULT IFullScreenVideoEx_SetCaption(IFullScreenVideoEx* This,BSTR strCaption) {
 953    return This->lpVtbl->SetCaption(This,strCaption);
 954}
 955static inline HRESULT IFullScreenVideoEx_GetCaption(IFullScreenVideoEx* This,BSTR *pstrCaption) {
 956    return This->lpVtbl->GetCaption(This,pstrCaption);
 957}
 958static inline HRESULT IFullScreenVideoEx_SetDefault(IFullScreenVideoEx* This) {
 959    return This->lpVtbl->SetDefault(This);
 960}
 961/*** IFullScreenVideoEx methods ***/
 962static inline HRESULT IFullScreenVideoEx_SetAcceleratorTable(IFullScreenVideoEx* This,HWND hwnd,HACCEL hAccel) {
 963    return This->lpVtbl->SetAcceleratorTable(This,hwnd,hAccel);
 964}
 965static inline HRESULT IFullScreenVideoEx_GetAcceleratorTable(IFullScreenVideoEx* This,HWND *phwnd,HACCEL *phAccel) {
 966    return This->lpVtbl->GetAcceleratorTable(This,phwnd,phAccel);
 967}
 968static inline HRESULT IFullScreenVideoEx_KeepPixelAspectRatio(IFullScreenVideoEx* This,LONG KeepAspect) {
 969    return This->lpVtbl->KeepPixelAspectRatio(This,KeepAspect);
 970}
 971static inline 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)
 989interface 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
1014typedef 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
1061interface 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 ***/
1081static inline HRESULT IBaseVideoMixer_QueryInterface(IBaseVideoMixer* This,REFIID riid,void **ppvObject) {
1082    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1083}
1084static inline ULONG IBaseVideoMixer_AddRef(IBaseVideoMixer* This) {
1085    return This->lpVtbl->AddRef(This);
1086}
1087static inline ULONG IBaseVideoMixer_Release(IBaseVideoMixer* This) {
1088    return This->lpVtbl->Release(This);
1089}
1090/*** IBaseVideoMixer methods ***/
1091static inline HRESULT IBaseVideoMixer_SetLeadPin(IBaseVideoMixer* This,int iPin) {
1092    return This->lpVtbl->SetLeadPin(This,iPin);
1093}
1094static inline HRESULT IBaseVideoMixer_GetLeadPin(IBaseVideoMixer* This,int *piPin) {
1095    return This->lpVtbl->GetLeadPin(This,piPin);
1096}
1097static inline HRESULT IBaseVideoMixer_GetInputPinCount(IBaseVideoMixer* This,int *piPinCount) {
1098    return This->lpVtbl->GetInputPinCount(This,piPinCount);
1099}
1100static inline HRESULT IBaseVideoMixer_IsUsingClock(IBaseVideoMixer* This,int *pbValue) {
1101    return This->lpVtbl->IsUsingClock(This,pbValue);
1102}
1103static inline HRESULT IBaseVideoMixer_SetUsingClock(IBaseVideoMixer* This,int bValue) {
1104    return This->lpVtbl->SetUsingClock(This,bValue);
1105}
1106static inline HRESULT IBaseVideoMixer_GetClockPeriod(IBaseVideoMixer* This,int *pbValue) {
1107    return This->lpVtbl->GetClockPeriod(This,pbValue);
1108}
1109static inline 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
1129typedef struct tag_TRUECOLORINFO {
1130    DWORD dwBitMasks[3];
1131    RGBQUAD bmiColors[256];
1132} TRUECOLORINFO;
1133typedef struct tagVIDEOINFOHEADER {
1134    RECT rcSource;
1135    RECT rcTarget;
1136    DWORD dwBitRate;
1137    DWORD dwBitErrorRate;
1138    REFERENCE_TIME AvgTimePerFrame;
1139    BITMAPINFOHEADER bmiHeader;
1140} VIDEOINFOHEADER;
1141typedef 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;
1154typedef 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)
1162typedef struct tagAnalogVideoInfo {
1163    RECT rcSource;
1164    RECT rcTarget;
1165    DWORD dwActiveWidth;
1166    DWORD dwActiveHeight;
1167    REFERENCE_TIME AvgTimePerFrame;
1168} ANALOGVIDEOINFO;
1169typedef 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;
1175typedef struct _AM_FRAMESTEP_STEP {
1176    DWORD dwFramesToStep;
1177} AM_FRAMESTEP_STEP;
1178/* Begin additional prototypes for all interfaces */
1179
1180ULONG           __RPC_USER HWND_UserSize     (ULONG *, ULONG, HWND *);
1181unsigned char * __RPC_USER HWND_UserMarshal  (ULONG *, unsigned char *, HWND *);
1182unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *);
1183void            __RPC_USER HWND_UserFree     (ULONG *, HWND *);
1184ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
1185unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
1186unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
1187void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
1188
1189/* End additional prototypes */
1190
1191#ifdef __cplusplus
1192}
1193#endif
1194
1195#endif /* __amvideo_h__ */