2010-02-11 Ozkan Sezer <sezeroz@gmail.com>
* dshow.h: Updated from wine-1.1.38.
* amaudio.h, amvideo.idl, amvideo.h, audevcod.h, errors.h, evcode.h,
vfwmsgs.h: Added missing dshow dependency headers from wine-1.1.38.
git-svn-id: svn+ssh://svn.code.sf.net/p/mingw-w64/code/trunk@1897 4407c894-4637-0410-b4f5-ada5f102cad1
diff --git a/mingw-w64-headers/direct-x/ChangeLog b/mingw-w64-headers/direct-x/ChangeLog
index a426c2c..7c1f385 100644
--- a/mingw-w64-headers/direct-x/ChangeLog
+++ b/mingw-w64-headers/direct-x/ChangeLog
@@ -1,5 +1,11 @@
2010-02-11 Ozkan Sezer <sezeroz@gmail.com>
+ * dshow.h: Updated from wine-1.1.38.
+ * amaudio.h, amvideo.idl, amvideo.h, audevcod.h, errors.h, evcode.h,
+ vfwmsgs.h: Added missing dshow dependency headers from wine-1.1.38.
+
+2010-02-11 Ozkan Sezer <sezeroz@gmail.com>
+
* ddstream.h, docobj.h, downloadmgr.h: Regenerated using widl-1.1.38
from the latest wine-1.1.38 *.idl files.
* ddstream.idl, docobj.idl, downloadmgr.idl: Added as idl versions.
diff --git a/mingw-w64-headers/direct-x/include/amaudio.h b/mingw-w64-headers/direct-x/include/amaudio.h
new file mode 100644
index 0000000..21892c6
--- /dev/null
+++ b/mingw-w64-headers/direct-x/include/amaudio.h
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2010 Maarten Lankhorst for Codeweavers
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#ifndef __AMAUDIO__
+#define __AMAUDIO__
+
+#include <mmsystem.h>
+#include <dsound.h>
+
+#undef INTERFACE
+#define INTERFACE IAMDirectSound
+
+DECLARE_INTERFACE_(IAMDirectSound,IUnknown)
+{
+ /*** IUnknown methods ***/
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+
+ /*** IAMDirectSound methods ***/
+ STDMETHOD(GetDirectSoundInterface)(THIS_ IDirectSound **ds) PURE;
+ STDMETHOD(GetPrimaryBufferInterface(THIS_ IDirectSoundBuffer **buf) PURE;
+ STDMETHOD(GetSecondaryBufferInterface)(THIS_ IDirectSoundBuffer **buf) PURE;
+ STDMETHOD(ReleaseDirectSoundInterface(THIS_ IDirectSound *ds) PURE;
+ STDMETHOD(ReleasePrimaryBufferInterface(THIS_ IDirectSoundBuffer *buf) PURE;
+ STDMETHOD(ReleaseSecondaryBufferInterface(THIS_ IDirectSoundBuffer *buf) PURE;
+ STDMETHOD(SetFocusWindow)(THIS_ HWND hwnd, BOOL bgsilent) PURE;
+ STDMETHOD(GetFocusWindow)(THIS_ HWND hwnd) PURE;
+};
+
+#endif
diff --git a/mingw-w64-headers/direct-x/include/amvideo.h b/mingw-w64-headers/direct-x/include/amvideo.h
new file mode 100644
index 0000000..54a0fb0
--- /dev/null
+++ b/mingw-w64-headers/direct-x/include/amvideo.h
@@ -0,0 +1,1291 @@
+/*** Autogenerated by WIDL 1.1.38 from amvideo.idl - Do not edit ***/
+
+#include <rpc.h>
+#include <rpcndr.h>
+
+#ifndef __WIDL_AMVIDEO_H
+#define __WIDL_AMVIDEO_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Headers for imported files */
+
+#include <objidl.h>
+
+/* Forward declarations */
+
+#ifndef __IDirectDrawVideo_FWD_DEFINED__
+#define __IDirectDrawVideo_FWD_DEFINED__
+typedef interface IDirectDrawVideo IDirectDrawVideo;
+#endif
+
+#ifndef __IQualProp_FWD_DEFINED__
+#define __IQualProp_FWD_DEFINED__
+typedef interface IQualProp IQualProp;
+#endif
+
+#ifndef __IFullScreenVideo_FWD_DEFINED__
+#define __IFullScreenVideo_FWD_DEFINED__
+typedef interface IFullScreenVideo IFullScreenVideo;
+#endif
+
+#ifndef __IFullScreenVideoEx_FWD_DEFINED__
+#define __IFullScreenVideoEx_FWD_DEFINED__
+typedef interface IFullScreenVideoEx IFullScreenVideoEx;
+#endif
+
+#ifndef __IBaseVideoMixer_FWD_DEFINED__
+#define __IBaseVideoMixer_FWD_DEFINED__
+typedef interface IBaseVideoMixer IBaseVideoMixer;
+#endif
+
+
+#if 0
+typedef void *LPDIRECTDRAW;
+typedef void DDSURFACEDESC;
+typedef void DDCAPS;
+typedef DWORD RGBQUAD;
+typedef LONGLONG REFERENCE_TIME;
+typedef struct __WIDL_amvideo_generated_name_00000000 {
+ DWORD biSize;
+ LONG biWidth;
+ LONG biHeight;
+ WORD biPlanes;
+ WORD biBitCount;
+ DWORD biCompression;
+ DWORD biSizeImage;
+ LONG biXPelsPerMeter;
+ LONG biYPelsPerMeter;
+ DWORD biClrUsed;
+ DWORD biClrImportant;
+} BITMAPINFOHEADER;
+typedef struct __WIDL_amvideo_generated_name_00000000 *PBITMAPINFOHEADER;
+typedef struct __WIDL_amvideo_generated_name_00000000 *LPBITMAPINFOHEADER;
+#endif
+#include <ddraw.h>
+#define AMDDS_NONE 0x00
+#define AMDDS_DCIPS 0x01
+#define AMDDS_PS 0x02
+#define AMDDS_RGBOVR 0x04
+#define AMDDS_YUVOVR 0x08
+#define AMDDS_RGBOFF 0x10
+#define AMDDS_YUVOFF 0x20
+#define AMDDS_RGBFLP 0x40
+#define AMDDS_YUVFLP 0x80
+#define AMDDS_ALL 0xFF
+#define AMDDS_DEFAULT AMDDS_ALL
+#define AMDDS_YUV (AMDDS_YUVOFF | AMDDS_YUVOVR | AMDDS_YUVFLP)
+#define AMDDS_RGB (AMDDS_RGBOFF | AMDDS_RGBOVR | AMDDS_RGBFLP)
+#define AMDSS_PRIMARY (AMDDS_DCIPS | AMDDS_PS)
+/*****************************************************************************
+ * IDirectDrawVideo interface
+ */
+#ifndef __IDirectDrawVideo_INTERFACE_DEFINED__
+#define __IDirectDrawVideo_INTERFACE_DEFINED__
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+interface IDirectDrawVideo : public IUnknown
+{
+ virtual HRESULT STDMETHODCALLTYPE GetSwitches(
+ DWORD *pSwitches) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetSwitches(
+ DWORD Switches) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCaps(
+ DDCAPS *pCaps) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetEmulatedCaps(
+ DDCAPS *pCaps) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetSurfaceDesc(
+ DDSURFACEDESC *pSurfaceDesc) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetFourCCCodes(
+ DWORD *pCount,
+ DWORD *pCodes) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetDirectDraw(
+ LPDIRECTDRAW pDirectDraw) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDirectDraw(
+ LPDIRECTDRAW *ppDirectDraw) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetSurfaceType(
+ DWORD *pSurfaceType) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetDefault(
+ ) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE UseScanLine(
+ LONG UseScanLine) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CanUseScanLine(
+ LONG *UseScanLine) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE UseOverlayStretch(
+ LONG UseOverlayStretch) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CanUseOverlayStretch(
+ LONG *UseOverlayStretch) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE UseWhenFullScreen(
+ LONG UseWhenFullScreen) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE WillUseFullScreen(
+ LONG *UseWhenFullScreen) = 0;
+
+};
+#else
+typedef struct IDirectDrawVideoVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ IDirectDrawVideo* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ IDirectDrawVideo* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ IDirectDrawVideo* This);
+
+ /*** IDirectDrawVideo methods ***/
+ HRESULT (STDMETHODCALLTYPE *GetSwitches)(
+ IDirectDrawVideo* This,
+ DWORD *pSwitches);
+
+ HRESULT (STDMETHODCALLTYPE *SetSwitches)(
+ IDirectDrawVideo* This,
+ DWORD Switches);
+
+ HRESULT (STDMETHODCALLTYPE *GetCaps)(
+ IDirectDrawVideo* This,
+ DDCAPS *pCaps);
+
+ HRESULT (STDMETHODCALLTYPE *GetEmulatedCaps)(
+ IDirectDrawVideo* This,
+ DDCAPS *pCaps);
+
+ HRESULT (STDMETHODCALLTYPE *GetSurfaceDesc)(
+ IDirectDrawVideo* This,
+ DDSURFACEDESC *pSurfaceDesc);
+
+ HRESULT (STDMETHODCALLTYPE *GetFourCCCodes)(
+ IDirectDrawVideo* This,
+ DWORD *pCount,
+ DWORD *pCodes);
+
+ HRESULT (STDMETHODCALLTYPE *SetDirectDraw)(
+ IDirectDrawVideo* This,
+ LPDIRECTDRAW pDirectDraw);
+
+ HRESULT (STDMETHODCALLTYPE *GetDirectDraw)(
+ IDirectDrawVideo* This,
+ LPDIRECTDRAW *ppDirectDraw);
+
+ HRESULT (STDMETHODCALLTYPE *GetSurfaceType)(
+ IDirectDrawVideo* This,
+ DWORD *pSurfaceType);
+
+ HRESULT (STDMETHODCALLTYPE *SetDefault)(
+ IDirectDrawVideo* This);
+
+ HRESULT (STDMETHODCALLTYPE *UseScanLine)(
+ IDirectDrawVideo* This,
+ LONG UseScanLine);
+
+ HRESULT (STDMETHODCALLTYPE *CanUseScanLine)(
+ IDirectDrawVideo* This,
+ LONG *UseScanLine);
+
+ HRESULT (STDMETHODCALLTYPE *UseOverlayStretch)(
+ IDirectDrawVideo* This,
+ LONG UseOverlayStretch);
+
+ HRESULT (STDMETHODCALLTYPE *CanUseOverlayStretch)(
+ IDirectDrawVideo* This,
+ LONG *UseOverlayStretch);
+
+ HRESULT (STDMETHODCALLTYPE *UseWhenFullScreen)(
+ IDirectDrawVideo* This,
+ LONG UseWhenFullScreen);
+
+ HRESULT (STDMETHODCALLTYPE *WillUseFullScreen)(
+ IDirectDrawVideo* This,
+ LONG *UseWhenFullScreen);
+
+ END_INTERFACE
+} IDirectDrawVideoVtbl;
+interface IDirectDrawVideo {
+ CONST_VTBL IDirectDrawVideoVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define IDirectDrawVideo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define IDirectDrawVideo_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define IDirectDrawVideo_Release(This) (This)->lpVtbl->Release(This)
+/*** IDirectDrawVideo methods ***/
+#define IDirectDrawVideo_GetSwitches(This,pSwitches) (This)->lpVtbl->GetSwitches(This,pSwitches)
+#define IDirectDrawVideo_SetSwitches(This,Switches) (This)->lpVtbl->SetSwitches(This,Switches)
+#define IDirectDrawVideo_GetCaps(This,pCaps) (This)->lpVtbl->GetCaps(This,pCaps)
+#define IDirectDrawVideo_GetEmulatedCaps(This,pCaps) (This)->lpVtbl->GetEmulatedCaps(This,pCaps)
+#define IDirectDrawVideo_GetSurfaceDesc(This,pSurfaceDesc) (This)->lpVtbl->GetSurfaceDesc(This,pSurfaceDesc)
+#define IDirectDrawVideo_GetFourCCCodes(This,pCount,pCodes) (This)->lpVtbl->GetFourCCCodes(This,pCount,pCodes)
+#define IDirectDrawVideo_SetDirectDraw(This,pDirectDraw) (This)->lpVtbl->SetDirectDraw(This,pDirectDraw)
+#define IDirectDrawVideo_GetDirectDraw(This,ppDirectDraw) (This)->lpVtbl->GetDirectDraw(This,ppDirectDraw)
+#define IDirectDrawVideo_GetSurfaceType(This,pSurfaceType) (This)->lpVtbl->GetSurfaceType(This,pSurfaceType)
+#define IDirectDrawVideo_SetDefault(This) (This)->lpVtbl->SetDefault(This)
+#define IDirectDrawVideo_UseScanLine(This,UseScanLine) (This)->lpVtbl->UseScanLine(This,UseScanLine)
+#define IDirectDrawVideo_CanUseScanLine(This,UseScanLine) (This)->lpVtbl->CanUseScanLine(This,UseScanLine)
+#define IDirectDrawVideo_UseOverlayStretch(This,UseOverlayStretch) (This)->lpVtbl->UseOverlayStretch(This,UseOverlayStretch)
+#define IDirectDrawVideo_CanUseOverlayStretch(This,UseOverlayStretch) (This)->lpVtbl->CanUseOverlayStretch(This,UseOverlayStretch)
+#define IDirectDrawVideo_UseWhenFullScreen(This,UseWhenFullScreen) (This)->lpVtbl->UseWhenFullScreen(This,UseWhenFullScreen)
+#define IDirectDrawVideo_WillUseFullScreen(This,UseWhenFullScreen) (This)->lpVtbl->WillUseFullScreen(This,UseWhenFullScreen)
+#endif
+
+#endif
+
+HRESULT STDMETHODCALLTYPE IDirectDrawVideo_GetSwitches_Proxy(
+ IDirectDrawVideo* This,
+ DWORD *pSwitches);
+void __RPC_STUB IDirectDrawVideo_GetSwitches_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IDirectDrawVideo_SetSwitches_Proxy(
+ IDirectDrawVideo* This,
+ DWORD Switches);
+void __RPC_STUB IDirectDrawVideo_SetSwitches_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IDirectDrawVideo_GetCaps_Proxy(
+ IDirectDrawVideo* This,
+ DDCAPS *pCaps);
+void __RPC_STUB IDirectDrawVideo_GetCaps_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IDirectDrawVideo_GetEmulatedCaps_Proxy(
+ IDirectDrawVideo* This,
+ DDCAPS *pCaps);
+void __RPC_STUB IDirectDrawVideo_GetEmulatedCaps_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IDirectDrawVideo_GetSurfaceDesc_Proxy(
+ IDirectDrawVideo* This,
+ DDSURFACEDESC *pSurfaceDesc);
+void __RPC_STUB IDirectDrawVideo_GetSurfaceDesc_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IDirectDrawVideo_GetFourCCCodes_Proxy(
+ IDirectDrawVideo* This,
+ DWORD *pCount,
+ DWORD *pCodes);
+void __RPC_STUB IDirectDrawVideo_GetFourCCCodes_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IDirectDrawVideo_SetDirectDraw_Proxy(
+ IDirectDrawVideo* This,
+ LPDIRECTDRAW pDirectDraw);
+void __RPC_STUB IDirectDrawVideo_SetDirectDraw_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IDirectDrawVideo_GetDirectDraw_Proxy(
+ IDirectDrawVideo* This,
+ LPDIRECTDRAW *ppDirectDraw);
+void __RPC_STUB IDirectDrawVideo_GetDirectDraw_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IDirectDrawVideo_GetSurfaceType_Proxy(
+ IDirectDrawVideo* This,
+ DWORD *pSurfaceType);
+void __RPC_STUB IDirectDrawVideo_GetSurfaceType_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IDirectDrawVideo_SetDefault_Proxy(
+ IDirectDrawVideo* This);
+void __RPC_STUB IDirectDrawVideo_SetDefault_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IDirectDrawVideo_UseScanLine_Proxy(
+ IDirectDrawVideo* This,
+ LONG UseScanLine);
+void __RPC_STUB IDirectDrawVideo_UseScanLine_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IDirectDrawVideo_CanUseScanLine_Proxy(
+ IDirectDrawVideo* This,
+ LONG *UseScanLine);
+void __RPC_STUB IDirectDrawVideo_CanUseScanLine_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IDirectDrawVideo_UseOverlayStretch_Proxy(
+ IDirectDrawVideo* This,
+ LONG UseOverlayStretch);
+void __RPC_STUB IDirectDrawVideo_UseOverlayStretch_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IDirectDrawVideo_CanUseOverlayStretch_Proxy(
+ IDirectDrawVideo* This,
+ LONG *UseOverlayStretch);
+void __RPC_STUB IDirectDrawVideo_CanUseOverlayStretch_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IDirectDrawVideo_UseWhenFullScreen_Proxy(
+ IDirectDrawVideo* This,
+ LONG UseWhenFullScreen);
+void __RPC_STUB IDirectDrawVideo_UseWhenFullScreen_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IDirectDrawVideo_WillUseFullScreen_Proxy(
+ IDirectDrawVideo* This,
+ LONG *UseWhenFullScreen);
+void __RPC_STUB IDirectDrawVideo_WillUseFullScreen_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __IDirectDrawVideo_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * IQualProp interface
+ */
+#ifndef __IQualProp_INTERFACE_DEFINED__
+#define __IQualProp_INTERFACE_DEFINED__
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+interface IQualProp : public IUnknown
+{
+ virtual HRESULT STDMETHODCALLTYPE get_FramesDroppedInRenderer(
+ int *pcFrames) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_FramesDrawn(
+ int *pcFramesDrawn) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_AvgFrameRate(
+ int *piAvgFrameRate) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_Jitter(
+ int *iJitter) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_AvgSyncOffset(
+ int *piAvg) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_DevSyncOffset(
+ int *piDev) = 0;
+
+};
+#else
+typedef struct IQualPropVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ IQualProp* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ IQualProp* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ IQualProp* This);
+
+ /*** IQualProp methods ***/
+ HRESULT (STDMETHODCALLTYPE *get_FramesDroppedInRenderer)(
+ IQualProp* This,
+ int *pcFrames);
+
+ HRESULT (STDMETHODCALLTYPE *get_FramesDrawn)(
+ IQualProp* This,
+ int *pcFramesDrawn);
+
+ HRESULT (STDMETHODCALLTYPE *get_AvgFrameRate)(
+ IQualProp* This,
+ int *piAvgFrameRate);
+
+ HRESULT (STDMETHODCALLTYPE *get_Jitter)(
+ IQualProp* This,
+ int *iJitter);
+
+ HRESULT (STDMETHODCALLTYPE *get_AvgSyncOffset)(
+ IQualProp* This,
+ int *piAvg);
+
+ HRESULT (STDMETHODCALLTYPE *get_DevSyncOffset)(
+ IQualProp* This,
+ int *piDev);
+
+ END_INTERFACE
+} IQualPropVtbl;
+interface IQualProp {
+ CONST_VTBL IQualPropVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define IQualProp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define IQualProp_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define IQualProp_Release(This) (This)->lpVtbl->Release(This)
+/*** IQualProp methods ***/
+#define IQualProp_get_FramesDroppedInRenderer(This,pcFrames) (This)->lpVtbl->get_FramesDroppedInRenderer(This,pcFrames)
+#define IQualProp_get_FramesDrawn(This,pcFramesDrawn) (This)->lpVtbl->get_FramesDrawn(This,pcFramesDrawn)
+#define IQualProp_get_AvgFrameRate(This,piAvgFrameRate) (This)->lpVtbl->get_AvgFrameRate(This,piAvgFrameRate)
+#define IQualProp_get_Jitter(This,iJitter) (This)->lpVtbl->get_Jitter(This,iJitter)
+#define IQualProp_get_AvgSyncOffset(This,piAvg) (This)->lpVtbl->get_AvgSyncOffset(This,piAvg)
+#define IQualProp_get_DevSyncOffset(This,piDev) (This)->lpVtbl->get_DevSyncOffset(This,piDev)
+#endif
+
+#endif
+
+HRESULT STDMETHODCALLTYPE IQualProp_get_FramesDroppedInRenderer_Proxy(
+ IQualProp* This,
+ int *pcFrames);
+void __RPC_STUB IQualProp_get_FramesDroppedInRenderer_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IQualProp_get_FramesDrawn_Proxy(
+ IQualProp* This,
+ int *pcFramesDrawn);
+void __RPC_STUB IQualProp_get_FramesDrawn_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IQualProp_get_AvgFrameRate_Proxy(
+ IQualProp* This,
+ int *piAvgFrameRate);
+void __RPC_STUB IQualProp_get_AvgFrameRate_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IQualProp_get_Jitter_Proxy(
+ IQualProp* This,
+ int *iJitter);
+void __RPC_STUB IQualProp_get_Jitter_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IQualProp_get_AvgSyncOffset_Proxy(
+ IQualProp* This,
+ int *piAvg);
+void __RPC_STUB IQualProp_get_AvgSyncOffset_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IQualProp_get_DevSyncOffset_Proxy(
+ IQualProp* This,
+ int *piDev);
+void __RPC_STUB IQualProp_get_DevSyncOffset_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __IQualProp_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * IFullScreenVideo interface
+ */
+#ifndef __IFullScreenVideo_INTERFACE_DEFINED__
+#define __IFullScreenVideo_INTERFACE_DEFINED__
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+interface IFullScreenVideo : public IUnknown
+{
+ virtual HRESULT STDMETHODCALLTYPE CountModes(
+ LONG *pModes) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetModeInfo(
+ LONG Mode,
+ LONG *pWidth,
+ LONG *pHeight,
+ LONG *pDepth) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCurrentMode(
+ LONG *pMode) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE IsModeAvailable(
+ LONG Mode) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE IsModeEnabled(
+ LONG Mode) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetEnabled(
+ LONG Mode,
+ LONG bEnabled) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetClipFactor(
+ LONG *pClipFactor) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetClipFactor(
+ LONG ClipFactor) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetMessageDrain(
+ HWND hwnd) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetMessageDrain(
+ HWND *hwnd) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetMonitor(
+ LONG Monitor) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetMonitor(
+ LONG *Monitor) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE HideOnDeactivate(
+ LONG Hide) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE IsHideOnDeactivate(
+ ) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetCaption(
+ BSTR strCaption) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCaption(
+ BSTR *pstrCaption) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetDefault(
+ ) = 0;
+
+};
+#else
+typedef struct IFullScreenVideoVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ IFullScreenVideo* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ IFullScreenVideo* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ IFullScreenVideo* This);
+
+ /*** IFullScreenVideo methods ***/
+ HRESULT (STDMETHODCALLTYPE *CountModes)(
+ IFullScreenVideo* This,
+ LONG *pModes);
+
+ HRESULT (STDMETHODCALLTYPE *GetModeInfo)(
+ IFullScreenVideo* This,
+ LONG Mode,
+ LONG *pWidth,
+ LONG *pHeight,
+ LONG *pDepth);
+
+ HRESULT (STDMETHODCALLTYPE *GetCurrentMode)(
+ IFullScreenVideo* This,
+ LONG *pMode);
+
+ HRESULT (STDMETHODCALLTYPE *IsModeAvailable)(
+ IFullScreenVideo* This,
+ LONG Mode);
+
+ HRESULT (STDMETHODCALLTYPE *IsModeEnabled)(
+ IFullScreenVideo* This,
+ LONG Mode);
+
+ HRESULT (STDMETHODCALLTYPE *SetEnabled)(
+ IFullScreenVideo* This,
+ LONG Mode,
+ LONG bEnabled);
+
+ HRESULT (STDMETHODCALLTYPE *GetClipFactor)(
+ IFullScreenVideo* This,
+ LONG *pClipFactor);
+
+ HRESULT (STDMETHODCALLTYPE *SetClipFactor)(
+ IFullScreenVideo* This,
+ LONG ClipFactor);
+
+ HRESULT (STDMETHODCALLTYPE *SetMessageDrain)(
+ IFullScreenVideo* This,
+ HWND hwnd);
+
+ HRESULT (STDMETHODCALLTYPE *GetMessageDrain)(
+ IFullScreenVideo* This,
+ HWND *hwnd);
+
+ HRESULT (STDMETHODCALLTYPE *SetMonitor)(
+ IFullScreenVideo* This,
+ LONG Monitor);
+
+ HRESULT (STDMETHODCALLTYPE *GetMonitor)(
+ IFullScreenVideo* This,
+ LONG *Monitor);
+
+ HRESULT (STDMETHODCALLTYPE *HideOnDeactivate)(
+ IFullScreenVideo* This,
+ LONG Hide);
+
+ HRESULT (STDMETHODCALLTYPE *IsHideOnDeactivate)(
+ IFullScreenVideo* This);
+
+ HRESULT (STDMETHODCALLTYPE *SetCaption)(
+ IFullScreenVideo* This,
+ BSTR strCaption);
+
+ HRESULT (STDMETHODCALLTYPE *GetCaption)(
+ IFullScreenVideo* This,
+ BSTR *pstrCaption);
+
+ HRESULT (STDMETHODCALLTYPE *SetDefault)(
+ IFullScreenVideo* This);
+
+ END_INTERFACE
+} IFullScreenVideoVtbl;
+interface IFullScreenVideo {
+ CONST_VTBL IFullScreenVideoVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define IFullScreenVideo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define IFullScreenVideo_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define IFullScreenVideo_Release(This) (This)->lpVtbl->Release(This)
+/*** IFullScreenVideo methods ***/
+#define IFullScreenVideo_CountModes(This,pModes) (This)->lpVtbl->CountModes(This,pModes)
+#define IFullScreenVideo_GetModeInfo(This,Mode,pWidth,pHeight,pDepth) (This)->lpVtbl->GetModeInfo(This,Mode,pWidth,pHeight,pDepth)
+#define IFullScreenVideo_GetCurrentMode(This,pMode) (This)->lpVtbl->GetCurrentMode(This,pMode)
+#define IFullScreenVideo_IsModeAvailable(This,Mode) (This)->lpVtbl->IsModeAvailable(This,Mode)
+#define IFullScreenVideo_IsModeEnabled(This,Mode) (This)->lpVtbl->IsModeEnabled(This,Mode)
+#define IFullScreenVideo_SetEnabled(This,Mode,bEnabled) (This)->lpVtbl->SetEnabled(This,Mode,bEnabled)
+#define IFullScreenVideo_GetClipFactor(This,pClipFactor) (This)->lpVtbl->GetClipFactor(This,pClipFactor)
+#define IFullScreenVideo_SetClipFactor(This,ClipFactor) (This)->lpVtbl->SetClipFactor(This,ClipFactor)
+#define IFullScreenVideo_SetMessageDrain(This,hwnd) (This)->lpVtbl->SetMessageDrain(This,hwnd)
+#define IFullScreenVideo_GetMessageDrain(This,hwnd) (This)->lpVtbl->GetMessageDrain(This,hwnd)
+#define IFullScreenVideo_SetMonitor(This,Monitor) (This)->lpVtbl->SetMonitor(This,Monitor)
+#define IFullScreenVideo_GetMonitor(This,Monitor) (This)->lpVtbl->GetMonitor(This,Monitor)
+#define IFullScreenVideo_HideOnDeactivate(This,Hide) (This)->lpVtbl->HideOnDeactivate(This,Hide)
+#define IFullScreenVideo_IsHideOnDeactivate(This) (This)->lpVtbl->IsHideOnDeactivate(This)
+#define IFullScreenVideo_SetCaption(This,strCaption) (This)->lpVtbl->SetCaption(This,strCaption)
+#define IFullScreenVideo_GetCaption(This,pstrCaption) (This)->lpVtbl->GetCaption(This,pstrCaption)
+#define IFullScreenVideo_SetDefault(This) (This)->lpVtbl->SetDefault(This)
+#endif
+
+#endif
+
+HRESULT STDMETHODCALLTYPE IFullScreenVideo_CountModes_Proxy(
+ IFullScreenVideo* This,
+ LONG *pModes);
+void __RPC_STUB IFullScreenVideo_CountModes_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IFullScreenVideo_GetModeInfo_Proxy(
+ IFullScreenVideo* This,
+ LONG Mode,
+ LONG *pWidth,
+ LONG *pHeight,
+ LONG *pDepth);
+void __RPC_STUB IFullScreenVideo_GetModeInfo_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IFullScreenVideo_GetCurrentMode_Proxy(
+ IFullScreenVideo* This,
+ LONG *pMode);
+void __RPC_STUB IFullScreenVideo_GetCurrentMode_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IFullScreenVideo_IsModeAvailable_Proxy(
+ IFullScreenVideo* This,
+ LONG Mode);
+void __RPC_STUB IFullScreenVideo_IsModeAvailable_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IFullScreenVideo_IsModeEnabled_Proxy(
+ IFullScreenVideo* This,
+ LONG Mode);
+void __RPC_STUB IFullScreenVideo_IsModeEnabled_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IFullScreenVideo_SetEnabled_Proxy(
+ IFullScreenVideo* This,
+ LONG Mode,
+ LONG bEnabled);
+void __RPC_STUB IFullScreenVideo_SetEnabled_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IFullScreenVideo_GetClipFactor_Proxy(
+ IFullScreenVideo* This,
+ LONG *pClipFactor);
+void __RPC_STUB IFullScreenVideo_GetClipFactor_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IFullScreenVideo_SetClipFactor_Proxy(
+ IFullScreenVideo* This,
+ LONG ClipFactor);
+void __RPC_STUB IFullScreenVideo_SetClipFactor_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IFullScreenVideo_SetMessageDrain_Proxy(
+ IFullScreenVideo* This,
+ HWND hwnd);
+void __RPC_STUB IFullScreenVideo_SetMessageDrain_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IFullScreenVideo_GetMessageDrain_Proxy(
+ IFullScreenVideo* This,
+ HWND *hwnd);
+void __RPC_STUB IFullScreenVideo_GetMessageDrain_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IFullScreenVideo_SetMonitor_Proxy(
+ IFullScreenVideo* This,
+ LONG Monitor);
+void __RPC_STUB IFullScreenVideo_SetMonitor_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IFullScreenVideo_GetMonitor_Proxy(
+ IFullScreenVideo* This,
+ LONG *Monitor);
+void __RPC_STUB IFullScreenVideo_GetMonitor_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IFullScreenVideo_HideOnDeactivate_Proxy(
+ IFullScreenVideo* This,
+ LONG Hide);
+void __RPC_STUB IFullScreenVideo_HideOnDeactivate_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IFullScreenVideo_IsHideOnDeactivate_Proxy(
+ IFullScreenVideo* This);
+void __RPC_STUB IFullScreenVideo_IsHideOnDeactivate_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IFullScreenVideo_SetCaption_Proxy(
+ IFullScreenVideo* This,
+ BSTR strCaption);
+void __RPC_STUB IFullScreenVideo_SetCaption_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IFullScreenVideo_GetCaption_Proxy(
+ IFullScreenVideo* This,
+ BSTR *pstrCaption);
+void __RPC_STUB IFullScreenVideo_GetCaption_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IFullScreenVideo_SetDefault_Proxy(
+ IFullScreenVideo* This);
+void __RPC_STUB IFullScreenVideo_SetDefault_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __IFullScreenVideo_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * IFullScreenVideoEx interface
+ */
+#ifndef __IFullScreenVideoEx_INTERFACE_DEFINED__
+#define __IFullScreenVideoEx_INTERFACE_DEFINED__
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+interface IFullScreenVideoEx : public IFullScreenVideo
+{
+ virtual HRESULT STDMETHODCALLTYPE SetAcceleratorTable(
+ HWND hwnd,
+ HACCEL hAccel) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetAcceleratorTable(
+ HWND *phwnd,
+ HACCEL *phAccel) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE KeepPixelAspectRatio(
+ LONG KeepAspect) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE IsKeepPixelAspectRatio(
+ LONG *pKeepAspect) = 0;
+
+};
+#else
+typedef struct IFullScreenVideoExVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ IFullScreenVideoEx* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ IFullScreenVideoEx* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ IFullScreenVideoEx* This);
+
+ /*** IFullScreenVideo methods ***/
+ HRESULT (STDMETHODCALLTYPE *CountModes)(
+ IFullScreenVideoEx* This,
+ LONG *pModes);
+
+ HRESULT (STDMETHODCALLTYPE *GetModeInfo)(
+ IFullScreenVideoEx* This,
+ LONG Mode,
+ LONG *pWidth,
+ LONG *pHeight,
+ LONG *pDepth);
+
+ HRESULT (STDMETHODCALLTYPE *GetCurrentMode)(
+ IFullScreenVideoEx* This,
+ LONG *pMode);
+
+ HRESULT (STDMETHODCALLTYPE *IsModeAvailable)(
+ IFullScreenVideoEx* This,
+ LONG Mode);
+
+ HRESULT (STDMETHODCALLTYPE *IsModeEnabled)(
+ IFullScreenVideoEx* This,
+ LONG Mode);
+
+ HRESULT (STDMETHODCALLTYPE *SetEnabled)(
+ IFullScreenVideoEx* This,
+ LONG Mode,
+ LONG bEnabled);
+
+ HRESULT (STDMETHODCALLTYPE *GetClipFactor)(
+ IFullScreenVideoEx* This,
+ LONG *pClipFactor);
+
+ HRESULT (STDMETHODCALLTYPE *SetClipFactor)(
+ IFullScreenVideoEx* This,
+ LONG ClipFactor);
+
+ HRESULT (STDMETHODCALLTYPE *SetMessageDrain)(
+ IFullScreenVideoEx* This,
+ HWND hwnd);
+
+ HRESULT (STDMETHODCALLTYPE *GetMessageDrain)(
+ IFullScreenVideoEx* This,
+ HWND *hwnd);
+
+ HRESULT (STDMETHODCALLTYPE *SetMonitor)(
+ IFullScreenVideoEx* This,
+ LONG Monitor);
+
+ HRESULT (STDMETHODCALLTYPE *GetMonitor)(
+ IFullScreenVideoEx* This,
+ LONG *Monitor);
+
+ HRESULT (STDMETHODCALLTYPE *HideOnDeactivate)(
+ IFullScreenVideoEx* This,
+ LONG Hide);
+
+ HRESULT (STDMETHODCALLTYPE *IsHideOnDeactivate)(
+ IFullScreenVideoEx* This);
+
+ HRESULT (STDMETHODCALLTYPE *SetCaption)(
+ IFullScreenVideoEx* This,
+ BSTR strCaption);
+
+ HRESULT (STDMETHODCALLTYPE *GetCaption)(
+ IFullScreenVideoEx* This,
+ BSTR *pstrCaption);
+
+ HRESULT (STDMETHODCALLTYPE *SetDefault)(
+ IFullScreenVideoEx* This);
+
+ /*** IFullScreenVideoEx methods ***/
+ HRESULT (STDMETHODCALLTYPE *SetAcceleratorTable)(
+ IFullScreenVideoEx* This,
+ HWND hwnd,
+ HACCEL hAccel);
+
+ HRESULT (STDMETHODCALLTYPE *GetAcceleratorTable)(
+ IFullScreenVideoEx* This,
+ HWND *phwnd,
+ HACCEL *phAccel);
+
+ HRESULT (STDMETHODCALLTYPE *KeepPixelAspectRatio)(
+ IFullScreenVideoEx* This,
+ LONG KeepAspect);
+
+ HRESULT (STDMETHODCALLTYPE *IsKeepPixelAspectRatio)(
+ IFullScreenVideoEx* This,
+ LONG *pKeepAspect);
+
+ END_INTERFACE
+} IFullScreenVideoExVtbl;
+interface IFullScreenVideoEx {
+ CONST_VTBL IFullScreenVideoExVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define IFullScreenVideoEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define IFullScreenVideoEx_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define IFullScreenVideoEx_Release(This) (This)->lpVtbl->Release(This)
+/*** IFullScreenVideo methods ***/
+#define IFullScreenVideoEx_CountModes(This,pModes) (This)->lpVtbl->CountModes(This,pModes)
+#define IFullScreenVideoEx_GetModeInfo(This,Mode,pWidth,pHeight,pDepth) (This)->lpVtbl->GetModeInfo(This,Mode,pWidth,pHeight,pDepth)
+#define IFullScreenVideoEx_GetCurrentMode(This,pMode) (This)->lpVtbl->GetCurrentMode(This,pMode)
+#define IFullScreenVideoEx_IsModeAvailable(This,Mode) (This)->lpVtbl->IsModeAvailable(This,Mode)
+#define IFullScreenVideoEx_IsModeEnabled(This,Mode) (This)->lpVtbl->IsModeEnabled(This,Mode)
+#define IFullScreenVideoEx_SetEnabled(This,Mode,bEnabled) (This)->lpVtbl->SetEnabled(This,Mode,bEnabled)
+#define IFullScreenVideoEx_GetClipFactor(This,pClipFactor) (This)->lpVtbl->GetClipFactor(This,pClipFactor)
+#define IFullScreenVideoEx_SetClipFactor(This,ClipFactor) (This)->lpVtbl->SetClipFactor(This,ClipFactor)
+#define IFullScreenVideoEx_SetMessageDrain(This,hwnd) (This)->lpVtbl->SetMessageDrain(This,hwnd)
+#define IFullScreenVideoEx_GetMessageDrain(This,hwnd) (This)->lpVtbl->GetMessageDrain(This,hwnd)
+#define IFullScreenVideoEx_SetMonitor(This,Monitor) (This)->lpVtbl->SetMonitor(This,Monitor)
+#define IFullScreenVideoEx_GetMonitor(This,Monitor) (This)->lpVtbl->GetMonitor(This,Monitor)
+#define IFullScreenVideoEx_HideOnDeactivate(This,Hide) (This)->lpVtbl->HideOnDeactivate(This,Hide)
+#define IFullScreenVideoEx_IsHideOnDeactivate(This) (This)->lpVtbl->IsHideOnDeactivate(This)
+#define IFullScreenVideoEx_SetCaption(This,strCaption) (This)->lpVtbl->SetCaption(This,strCaption)
+#define IFullScreenVideoEx_GetCaption(This,pstrCaption) (This)->lpVtbl->GetCaption(This,pstrCaption)
+#define IFullScreenVideoEx_SetDefault(This) (This)->lpVtbl->SetDefault(This)
+/*** IFullScreenVideoEx methods ***/
+#define IFullScreenVideoEx_SetAcceleratorTable(This,hwnd,hAccel) (This)->lpVtbl->SetAcceleratorTable(This,hwnd,hAccel)
+#define IFullScreenVideoEx_GetAcceleratorTable(This,phwnd,phAccel) (This)->lpVtbl->GetAcceleratorTable(This,phwnd,phAccel)
+#define IFullScreenVideoEx_KeepPixelAspectRatio(This,KeepAspect) (This)->lpVtbl->KeepPixelAspectRatio(This,KeepAspect)
+#define IFullScreenVideoEx_IsKeepPixelAspectRatio(This,pKeepAspect) (This)->lpVtbl->IsKeepPixelAspectRatio(This,pKeepAspect)
+#endif
+
+#endif
+
+HRESULT STDMETHODCALLTYPE IFullScreenVideoEx_SetAcceleratorTable_Proxy(
+ IFullScreenVideoEx* This,
+ HWND hwnd,
+ HACCEL hAccel);
+void __RPC_STUB IFullScreenVideoEx_SetAcceleratorTable_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IFullScreenVideoEx_GetAcceleratorTable_Proxy(
+ IFullScreenVideoEx* This,
+ HWND *phwnd,
+ HACCEL *phAccel);
+void __RPC_STUB IFullScreenVideoEx_GetAcceleratorTable_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IFullScreenVideoEx_KeepPixelAspectRatio_Proxy(
+ IFullScreenVideoEx* This,
+ LONG KeepAspect);
+void __RPC_STUB IFullScreenVideoEx_KeepPixelAspectRatio_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IFullScreenVideoEx_IsKeepPixelAspectRatio_Proxy(
+ IFullScreenVideoEx* This,
+ LONG *pKeepAspect);
+void __RPC_STUB IFullScreenVideoEx_IsKeepPixelAspectRatio_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __IFullScreenVideoEx_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * IBaseVideoMixer interface
+ */
+#ifndef __IBaseVideoMixer_INTERFACE_DEFINED__
+#define __IBaseVideoMixer_INTERFACE_DEFINED__
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+interface IBaseVideoMixer : public IUnknown
+{
+ virtual HRESULT STDMETHODCALLTYPE SetLeadPin(
+ int iPin) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetLeadPin(
+ int *piPin) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetInputPinCount(
+ int *piPinCount) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE IsUsingClock(
+ int *pbValue) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetUsingClock(
+ int bValue) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetClockPeriod(
+ int *pbValue) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetClockPeriod(
+ int bValue) = 0;
+
+};
+#else
+typedef struct IBaseVideoMixerVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ IBaseVideoMixer* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ IBaseVideoMixer* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ IBaseVideoMixer* This);
+
+ /*** IBaseVideoMixer methods ***/
+ HRESULT (STDMETHODCALLTYPE *SetLeadPin)(
+ IBaseVideoMixer* This,
+ int iPin);
+
+ HRESULT (STDMETHODCALLTYPE *GetLeadPin)(
+ IBaseVideoMixer* This,
+ int *piPin);
+
+ HRESULT (STDMETHODCALLTYPE *GetInputPinCount)(
+ IBaseVideoMixer* This,
+ int *piPinCount);
+
+ HRESULT (STDMETHODCALLTYPE *IsUsingClock)(
+ IBaseVideoMixer* This,
+ int *pbValue);
+
+ HRESULT (STDMETHODCALLTYPE *SetUsingClock)(
+ IBaseVideoMixer* This,
+ int bValue);
+
+ HRESULT (STDMETHODCALLTYPE *GetClockPeriod)(
+ IBaseVideoMixer* This,
+ int *pbValue);
+
+ HRESULT (STDMETHODCALLTYPE *SetClockPeriod)(
+ IBaseVideoMixer* This,
+ int bValue);
+
+ END_INTERFACE
+} IBaseVideoMixerVtbl;
+interface IBaseVideoMixer {
+ CONST_VTBL IBaseVideoMixerVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define IBaseVideoMixer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define IBaseVideoMixer_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define IBaseVideoMixer_Release(This) (This)->lpVtbl->Release(This)
+/*** IBaseVideoMixer methods ***/
+#define IBaseVideoMixer_SetLeadPin(This,iPin) (This)->lpVtbl->SetLeadPin(This,iPin)
+#define IBaseVideoMixer_GetLeadPin(This,piPin) (This)->lpVtbl->GetLeadPin(This,piPin)
+#define IBaseVideoMixer_GetInputPinCount(This,piPinCount) (This)->lpVtbl->GetInputPinCount(This,piPinCount)
+#define IBaseVideoMixer_IsUsingClock(This,pbValue) (This)->lpVtbl->IsUsingClock(This,pbValue)
+#define IBaseVideoMixer_SetUsingClock(This,bValue) (This)->lpVtbl->SetUsingClock(This,bValue)
+#define IBaseVideoMixer_GetClockPeriod(This,pbValue) (This)->lpVtbl->GetClockPeriod(This,pbValue)
+#define IBaseVideoMixer_SetClockPeriod(This,bValue) (This)->lpVtbl->SetClockPeriod(This,bValue)
+#endif
+
+#endif
+
+HRESULT STDMETHODCALLTYPE IBaseVideoMixer_SetLeadPin_Proxy(
+ IBaseVideoMixer* This,
+ int iPin);
+void __RPC_STUB IBaseVideoMixer_SetLeadPin_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IBaseVideoMixer_GetLeadPin_Proxy(
+ IBaseVideoMixer* This,
+ int *piPin);
+void __RPC_STUB IBaseVideoMixer_GetLeadPin_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IBaseVideoMixer_GetInputPinCount_Proxy(
+ IBaseVideoMixer* This,
+ int *piPinCount);
+void __RPC_STUB IBaseVideoMixer_GetInputPinCount_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IBaseVideoMixer_IsUsingClock_Proxy(
+ IBaseVideoMixer* This,
+ int *pbValue);
+void __RPC_STUB IBaseVideoMixer_IsUsingClock_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IBaseVideoMixer_SetUsingClock_Proxy(
+ IBaseVideoMixer* This,
+ int bValue);
+void __RPC_STUB IBaseVideoMixer_SetUsingClock_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IBaseVideoMixer_GetClockPeriod_Proxy(
+ IBaseVideoMixer* This,
+ int *pbValue);
+void __RPC_STUB IBaseVideoMixer_GetClockPeriod_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IBaseVideoMixer_SetClockPeriod_Proxy(
+ IBaseVideoMixer* This,
+ int bValue);
+void __RPC_STUB IBaseVideoMixer_SetClockPeriod_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __IBaseVideoMixer_INTERFACE_DEFINED__ */
+
+#define iPALETTE_COLORS 256
+#define iEGA_COLORS 16
+#define iMASK_COLORS 3
+#define iTRUECOLOR 16
+#define iRED 0
+#define iGREEN 1
+#define iBLUE 2
+#define iPALETTE 8
+#define iMAXBITS 8
+typedef struct tag_TRUECOLORINFO {
+ DWORD dwBitMasks[3];
+ RGBQUAD bmiColors[256];
+} TRUECOLORINFO;
+typedef struct tagVIDEOINFOHEADER {
+ RECT rcSource;
+ RECT rcTarget;
+ DWORD dwBitRate;
+ DWORD dwBitErrorRate;
+ REFERENCE_TIME AvgTimePerFrame;
+ BITMAPINFOHEADER bmiHeader;
+} VIDEOINFOHEADER;
+typedef struct tagVIDEOINFO {
+ RECT rcSource;
+ RECT rcTarget;
+ DWORD dwBitRate;
+ DWORD dwBitErrorRate;
+ REFERENCE_TIME AvgTimePerFrame;
+ BITMAPINFOHEADER bmiHeader;
+ union {
+ RGBQUAD bmiColors[256];
+ DWORD dwBitMasks[3];
+ TRUECOLORINFO TrueColorInfo;
+ } DUMMYUNIONNAME;
+} VIDEOINFO;
+typedef struct tagMPEG1VIDEOINFO {
+ VIDEOINFOHEADER hdr;
+ DWORD dwStartTimeCode;
+ DWORD cbSequenceHeader;
+ BYTE bSequenceHeader[1];
+} MPEG1VIDEOINFO;
+#define MAX_SIZE_MPEG1_SEQUENCE_INFO 140
+#define MPEG1_SEQUENCE_INFO(pv) ((const BYTE *)(pv)->bSequenceHeader)
+typedef struct tagAnalogVideoInfo {
+ RECT rcSource;
+ RECT rcTarget;
+ DWORD dwActiveWidth;
+ DWORD dwActiveHeight;
+ REFERENCE_TIME AvgTimePerFrame;
+} ANALOGVIDEOINFO;
+typedef enum __WIDL_amvideo_generated_name_00000001 {
+ AM_PROPERTY_FRAMESTEP_STEP = 0x1,
+ AM_PROPERTY_FRAMESTEP_CANCEL = 0x2,
+ AM_PROPERTY_FRAMESTEP_CANSTEP = 0x3,
+ AM_PROPERTY_FRAMESTEP_CANSTEPMULTIPLE = 0x4
+} AM_PROPERTY_FRAMESTEP;
+typedef struct _AM_FRAMESTEP_STEP {
+ DWORD dwFramesToStep;
+} AM_FRAMESTEP_STEP;
+/* Begin additional prototypes for all interfaces */
+
+ULONG __RPC_USER HWND_UserSize (ULONG *, ULONG, HWND *);
+unsigned char * __RPC_USER HWND_UserMarshal (ULONG *, unsigned char *, HWND *);
+unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *);
+void __RPC_USER HWND_UserFree (ULONG *, HWND *);
+ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *);
+unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *);
+unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
+void __RPC_USER BSTR_UserFree (ULONG *, BSTR *);
+
+/* End additional prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __WIDL_AMVIDEO_H */
diff --git a/mingw-w64-headers/direct-x/include/amvideo.idl b/mingw-w64-headers/direct-x/include/amvideo.idl
new file mode 100644
index 0000000..ea486d5
--- /dev/null
+++ b/mingw-w64-headers/direct-x/include/amvideo.idl
@@ -0,0 +1,241 @@
+/*
+ * Copyright (C) 2003 Robert Shearman
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+import "objidl.idl";
+
+/* trick widl into thinking that it knows the DirectDraw types
+ * as there is no IDL file for them (yet) */
+cpp_quote("#if 0")
+typedef void * LPDIRECTDRAW;
+typedef void DDSURFACEDESC,DDCAPS;
+typedef DWORD RGBQUAD;
+typedef LONGLONG REFERENCE_TIME;
+typedef struct
+{
+ DWORD biSize;
+ LONG biWidth;
+ LONG biHeight;
+ WORD biPlanes;
+ WORD biBitCount;
+ DWORD biCompression;
+ DWORD biSizeImage;
+ LONG biXPelsPerMeter;
+ LONG biYPelsPerMeter;
+ DWORD biClrUsed;
+ DWORD biClrImportant;
+} BITMAPINFOHEADER, *PBITMAPINFOHEADER, *LPBITMAPINFOHEADER;
+cpp_quote("#endif")
+
+cpp_quote("#include <ddraw.h>")
+
+cpp_quote("#define AMDDS_NONE 0x00")
+cpp_quote("#define AMDDS_DCIPS 0x01")
+cpp_quote("#define AMDDS_PS 0x02")
+cpp_quote("#define AMDDS_RGBOVR 0x04")
+cpp_quote("#define AMDDS_YUVOVR 0x08")
+cpp_quote("#define AMDDS_RGBOFF 0x10")
+cpp_quote("#define AMDDS_YUVOFF 0x20")
+cpp_quote("#define AMDDS_RGBFLP 0x40")
+cpp_quote("#define AMDDS_YUVFLP 0x80")
+cpp_quote("#define AMDDS_ALL 0xFF")
+cpp_quote("#define AMDDS_DEFAULT AMDDS_ALL")
+
+cpp_quote("#define AMDDS_YUV (AMDDS_YUVOFF | AMDDS_YUVOVR | AMDDS_YUVFLP)")
+cpp_quote("#define AMDDS_RGB (AMDDS_RGBOFF | AMDDS_RGBOVR | AMDDS_RGBFLP)")
+cpp_quote("#define AMDSS_PRIMARY (AMDDS_DCIPS | AMDDS_PS)")
+
+[
+ object,
+ /* uuid(36d39eb0-dd75-11ce-bf0e-00aa0055595a) conflicts with uuids.h */
+ pointer_default(unique),
+ local
+]
+interface IDirectDrawVideo : IUnknown
+{
+ HRESULT GetSwitches([out] DWORD * pSwitches);
+ HRESULT SetSwitches([in] DWORD Switches);
+ HRESULT GetCaps([out] DDCAPS * pCaps);
+ HRESULT GetEmulatedCaps([out] DDCAPS *pCaps);
+ HRESULT GetSurfaceDesc([out] DDSURFACEDESC * pSurfaceDesc);
+ HRESULT GetFourCCCodes([out] DWORD * pCount, [out] DWORD * pCodes);
+ HRESULT SetDirectDraw([in] LPDIRECTDRAW pDirectDraw);
+ HRESULT GetDirectDraw([out] LPDIRECTDRAW * ppDirectDraw);
+ HRESULT GetSurfaceType([out] DWORD * pSurfaceType);
+ HRESULT SetDefault();
+ HRESULT UseScanLine([in] long UseScanLine);
+ HRESULT CanUseScanLine([out] long * UseScanLine);
+ HRESULT UseOverlayStretch([in] long UseOverlayStretch);
+ HRESULT CanUseOverlayStretch([out] long * UseOverlayStretch);
+ HRESULT UseWhenFullScreen([in] long UseWhenFullScreen);
+ HRESULT WillUseFullScreen([out] long * UseWhenFullScreen);
+}
+
+[
+ object,
+ /* uuid(1bd0ecb0-f8e2-11ce-aac6-0020af0b99a3) conflicts with uuids.h */
+ pointer_default(unique),
+ local
+]
+interface IQualProp : IUnknown
+{
+ [propget] HRESULT FramesDroppedInRenderer([out] int * pcFrames);
+ [propget] HRESULT FramesDrawn([out] int * pcFramesDrawn);
+ [propget] HRESULT AvgFrameRate([out] int * piAvgFrameRate);
+ [propget] HRESULT Jitter([out] int * iJitter);
+ [propget] HRESULT AvgSyncOffset([out] int * piAvg);
+ [propget] HRESULT DevSyncOffset([out] int * piDev);
+}
+
+[
+ object,
+ /* uuid(dd1d7110-7836-11cf-bf47-00aa0055595a) conflicts with uuids.h */
+ pointer_default(unique)
+]
+interface IFullScreenVideo : IUnknown
+{
+ HRESULT CountModes([out] long * pModes);
+ HRESULT GetModeInfo([in] long Mode, [out] long * pWidth, [out] long * pHeight, [out] long * pDepth);
+ HRESULT GetCurrentMode([out] long * pMode);
+ HRESULT IsModeAvailable([in] long Mode);
+ HRESULT IsModeEnabled([in] long Mode);
+ HRESULT SetEnabled([in] long Mode, [in] long bEnabled);
+ HRESULT GetClipFactor([out] long * pClipFactor);
+ HRESULT SetClipFactor([in] long ClipFactor);
+ HRESULT SetMessageDrain([in] HWND hwnd);
+ HRESULT GetMessageDrain([out] HWND * hwnd);
+ HRESULT SetMonitor([in] long Monitor);
+ HRESULT GetMonitor([out] long * Monitor);
+ HRESULT HideOnDeactivate([in] long Hide);
+ HRESULT IsHideOnDeactivate();
+ HRESULT SetCaption([in] BSTR strCaption);
+ HRESULT GetCaption([out] BSTR * pstrCaption);
+ HRESULT SetDefault();
+}
+
+[
+ object,
+ /* uuid(53479470-f1dd-11cf-bc42-00aa00ac74f6) conflicts with uuids.h */
+ pointer_default(unique),
+ local
+]
+interface IFullScreenVideoEx : IFullScreenVideo
+{
+ HRESULT SetAcceleratorTable([in] HWND hwnd, [in] HACCEL hAccel);
+ HRESULT GetAcceleratorTable([out] HWND * phwnd, [out] HACCEL * phAccel);
+ HRESULT KeepPixelAspectRatio([in] long KeepAspect);
+ /* FIXME: not sure is this next method is an [out] */
+ HRESULT IsKeepPixelAspectRatio([out] long * pKeepAspect);
+}
+
+[
+ object,
+ /* uuid(61ded640-e912-11ce-a099-00aa00479a58) conflicts with uuids.h */
+ pointer_default(unique),
+ local
+]
+interface IBaseVideoMixer : IUnknown
+{
+ HRESULT SetLeadPin([in] int iPin);
+ HRESULT GetLeadPin([out] int * piPin);
+ HRESULT GetInputPinCount([out] int * piPinCount);
+ HRESULT IsUsingClock([out] int * pbValue);
+ HRESULT SetUsingClock([in] int bValue);
+ HRESULT GetClockPeriod([out] int * pbValue);
+ HRESULT SetClockPeriod([in] int bValue);
+}
+
+#define iPALETTE_COLORS 256
+#define iMASK_COLORS 3
+
+cpp_quote("#define iPALETTE_COLORS 256")
+cpp_quote("#define iEGA_COLORS 16")
+cpp_quote("#define iMASK_COLORS 3")
+cpp_quote("#define iTRUECOLOR 16")
+cpp_quote("#define iRED 0")
+cpp_quote("#define iGREEN 1")
+cpp_quote("#define iBLUE 2")
+cpp_quote("#define iPALETTE 8")
+cpp_quote("#define iMAXBITS 8")
+
+typedef struct tag_TRUECOLORINFO
+{
+ DWORD dwBitMasks[iMASK_COLORS];
+ RGBQUAD bmiColors[iPALETTE_COLORS];
+} TRUECOLORINFO;
+
+typedef struct tagVIDEOINFOHEADER
+{
+ RECT rcSource;
+ RECT rcTarget;
+ DWORD dwBitRate;
+ DWORD dwBitErrorRate;
+ REFERENCE_TIME AvgTimePerFrame;
+
+ BITMAPINFOHEADER bmiHeader;
+} VIDEOINFOHEADER;
+
+typedef struct tagVIDEOINFO
+{
+ RECT rcSource;
+ RECT rcTarget;
+ DWORD dwBitRate;
+ DWORD dwBitErrorRate;
+ REFERENCE_TIME AvgTimePerFrame;
+
+ BITMAPINFOHEADER bmiHeader;
+
+ union
+ {
+ RGBQUAD bmiColors[iPALETTE_COLORS];
+ DWORD dwBitMasks[iMASK_COLORS];
+ TRUECOLORINFO TrueColorInfo;
+ } DUMMYUNIONNAME;
+} VIDEOINFO;
+
+typedef struct tagMPEG1VIDEOINFO
+{
+ VIDEOINFOHEADER hdr;
+ DWORD dwStartTimeCode;
+ DWORD cbSequenceHeader;
+ BYTE bSequenceHeader[1];
+} MPEG1VIDEOINFO;
+
+cpp_quote("#define MAX_SIZE_MPEG1_SEQUENCE_INFO 140")
+cpp_quote("#define MPEG1_SEQUENCE_INFO(pv) ((const BYTE *)(pv)->bSequenceHeader)")
+
+typedef struct tagAnalogVideoInfo
+{
+ RECT rcSource;
+ RECT rcTarget;
+ DWORD dwActiveWidth;
+ DWORD dwActiveHeight;
+ REFERENCE_TIME AvgTimePerFrame;
+} ANALOGVIDEOINFO;
+
+typedef enum
+{
+ AM_PROPERTY_FRAMESTEP_STEP = 0x01,
+ AM_PROPERTY_FRAMESTEP_CANCEL = 0x02,
+ AM_PROPERTY_FRAMESTEP_CANSTEP = 0x03,
+ AM_PROPERTY_FRAMESTEP_CANSTEPMULTIPLE = 0x04
+} AM_PROPERTY_FRAMESTEP;
+
+typedef struct _AM_FRAMESTEP_STEP
+{
+ DWORD dwFramesToStep;
+} AM_FRAMESTEP_STEP;
diff --git a/mingw-w64-headers/direct-x/include/audevcod.h b/mingw-w64-headers/direct-x/include/audevcod.h
new file mode 100644
index 0000000..116f1a8
--- /dev/null
+++ b/mingw-w64-headers/direct-x/include/audevcod.h
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2002 Alexandre Julliard
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#ifndef __AUDEVCOD__
+#define __AUDEVCOD__
+
+typedef enum _tagSND_DEVICE_ERROR
+{
+ SNDDEV_ERROR_Open=1,
+ SNDDEV_ERROR_Close=2,
+ SNDDEV_ERROR_GetCaps=3,
+ SNDDEV_ERROR_PrepareHeader=4,
+ SNDDEV_ERROR_UnprepareHeader=5,
+ SNDDEV_ERROR_Reset=6,
+ SNDDEV_ERROR_Restart=7,
+ SNDDEV_ERROR_GetPosition=8,
+ SNDDEV_ERROR_Write=9,
+ SNDDEV_ERROR_Pause=10,
+ SNDDEV_ERROR_Stop=11,
+ SNDDEV_ERROR_Start=12,
+ SNDDEV_ERROR_AddBuffer=13,
+ SNDDEV_ERROR_Query=14
+} SNDDEV_ERR;
+
+#define EC_SND_DEVICE_ERROR_BASE 0x0200
+#define EC_SNDDEV_IN_ERROR (EC_SND_DEVICE_ERROR_BASE+0x00)
+#define EC_SNDDEV_OUT_ERROR (EC_SND_DEVICE_ERROR_BASE+0x01)
+
+#endif /* __AUDEVCOD__ */
diff --git a/mingw-w64-headers/direct-x/include/dshow.h b/mingw-w64-headers/direct-x/include/dshow.h
index 349ad9d..6513140 100644
--- a/mingw-w64-headers/direct-x/include/dshow.h
+++ b/mingw-w64-headers/direct-x/include/dshow.h
@@ -21,24 +21,35 @@
#define AM_NOVTABLE
-#include <windef.h>
-#include <wingdi.h>
-#include <objbase.h>
+#ifndef __WINESRC__
+# include <windows.h>
+# include <windowsx.h>
+#else
+# include <windef.h>
+# include <wingdi.h>
+# include <objbase.h>
+#endif
+#include <olectl.h>
#include <ddraw.h>
#include <mmsystem.h>
+/* FIXME: #include <strsafe.h>*/
#ifndef NUMELMS
#define NUMELMS(array) (sizeof(array)/sizeof((array)[0]))
#endif
#include <strmif.h>
-/*#include <amvideo.h>*/
-/*#include <amaudio.h>*/
+#include <amvideo.h>
+#ifdef DSHOW_USE_AMAUDIO
+/* FIXME: #include <amaudio.h>*/
+#endif
#include <control.h>
-/*#include <evcode.h>*/
+#include <evcode.h>
#include <uuids.h>
#include <errors.h>
+/* FIXME: #include <edevdefs.h> */
#include <audevcod.h>
+/* FIXME: #include <dvdevcod.h> */
#ifndef OATRUE
#define OATRUE (-1)
@@ -47,19 +58,4 @@
#define OAFALSE (0)
#endif
-#include "dmdls.h"
-
-#ifndef VIDEINFOHEADER_DEFINED
-#define VIDEINFOHEADER_DEFINED
-
-typedef struct tagVIDEOINFOHEADER {
- RECT rcSource;
- RECT rcTarget;
- DWORD dwBitRate;
- DWORD dwBitErrorRate;
- REFERENCE_TIME AvgTimePerFrame;
- BITMAPINFOHEADER bmiHeader;
-} VIDEOINFOHEADER;
-#endif
-
#endif /* __DSHOW_INCLUDED__ */
diff --git a/mingw-w64-headers/direct-x/include/errors.h b/mingw-w64-headers/direct-x/include/errors.h
new file mode 100644
index 0000000..c8c3067
--- /dev/null
+++ b/mingw-w64-headers/direct-x/include/errors.h
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2006 Hans Leidekker
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#ifndef __ERRORS__
+#define __ERRORS__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define AMOVIEAPI
+
+#define VFW_FIRST_CODE 0x200
+#define MAX_ERROR_TEXT_LEN 160
+
+#include <vfwmsgs.h>
+
+typedef BOOL (WINAPI* AMGETERRORTEXTPROCA)(HRESULT,char*,DWORD);
+typedef BOOL (WINAPI* AMGETERRORTEXTPROCW)(HRESULT,WCHAR*,DWORD);
+DECL_WINELIB_TYPE_AW(AMGETERRORTEXTPROC)
+
+DWORD WINAPI AMGetErrorTextA(HRESULT,LPSTR,DWORD);
+DWORD WINAPI AMGetErrorTextW(HRESULT,LPWSTR,DWORD);
+#define AMGetErrorText WINELIB_NAME_AW(AMGetErrorText)
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __ERRORS__ */
diff --git a/mingw-w64-headers/direct-x/include/evcode.h b/mingw-w64-headers/direct-x/include/evcode.h
new file mode 100644
index 0000000..3cbdd9d
--- /dev/null
+++ b/mingw-w64-headers/direct-x/include/evcode.h
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2004 Christian Costa
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#ifndef __WINE_EVCODE_H
+#define __WINE_EVCODE_H
+
+#define EC_SYSTEMBASE 0x00
+#define EC_USER 0x8000
+
+#define EC_COMPLETE 0x01
+#define EC_USERABORT 0x02
+#define EC_ERRORABORT 0x03
+#define EC_TIME 0x04
+#define EC_REPAINT 0x05
+#define EC_STREAM_ERROR_STOPPED 0x06
+#define EC_STREAM_ERROR_STILLPLAYING 0x07
+#define EC_ERROR_STILLPLAYING 0x08
+#define EC_PALETTE_CHANGED 0x09
+#define EC_VIDEO_SIZE_CHANGED 0x0A
+#define EC_QUALITY_CHANGE 0x0B
+#define EC_SHUTTING_DOWN 0x0C
+#define EC_CLOCK_CHANGED 0x0D
+#define EC_OPENING_FILE 0x10
+#define EC_BUFFERING_DATA 0x11
+#define EC_FULLSCREEN_LOST 0x12
+#define EC_ACTIVATE 0x13
+#define EC_NEED_RESTART 0x14
+#define EC_WINDOW_DESTROYED 0x15
+#define EC_DISPLAY_CHANGED 0x16
+#define EC_STARVATION 0x17
+#define EC_OLE_EVENT 0x18
+#define EC_NOTIFY_WINDOW 0x19
+#define EC_STREAM_CONTROL_STOPPED 0x1A
+#define EC_STREAM_CONTROL_STARTED 0x1B
+#define EC_END_OF_SEGMENT 0x1C
+#define EC_SEGMENT_STARTED 0x1D
+#define EC_LENGTH_CHANGED 0x1E
+
+#endif /* __WINE_EVCODE_H */
diff --git a/mingw-w64-headers/direct-x/include/vfwmsgs.h b/mingw-w64-headers/direct-x/include/vfwmsgs.h
new file mode 100644
index 0000000..16b25c3
--- /dev/null
+++ b/mingw-w64-headers/direct-x/include/vfwmsgs.h
@@ -0,0 +1,166 @@
+/*
+ * Copyright (C) 2002 Alexandre Julliard
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#define VFW_S_NO_MORE_ITEMS ((HRESULT)0x00040103)
+#define VFW_S_DUPLICATE_NAME ((HRESULT)0x0004022D)
+#define VFW_S_STATE_INTERMEDIATE ((HRESULT)0x00040237)
+#define VFW_S_PARTIAL_RENDER ((HRESULT)0x00040242)
+#define VFW_S_SOME_DATA_IGNORED ((HRESULT)0x00040245)
+#define VFW_S_CONNECTIONS_DEFERRED ((HRESULT)0x00040246)
+#define VFW_S_RESOURCE_NOT_NEEDED ((HRESULT)0x00040250)
+#define VFW_S_MEDIA_TYPE_IGNORED ((HRESULT)0x00040254)
+#define VFW_S_VIDEO_NOT_RENDERED ((HRESULT)0x00040257)
+#define VFW_S_AUDIO_NOT_RENDERED ((HRESULT)0x00040258)
+#define VFW_S_RPZA ((HRESULT)0x0004025A)
+#define VFW_S_ESTIMATED ((HRESULT)0x00040260)
+#define VFW_S_RESERVED ((HRESULT)0x00040263)
+#define VFW_S_STREAM_OFF ((HRESULT)0x00040267)
+#define VFW_S_CANT_CUE ((HRESULT)0x00040268)
+#define VFW_S_NO_STOP_TIME ((HRESULT)0x00040270)
+#define VFW_S_NOPREVIEWPIN ((HRESULT)0x0004027E)
+#define VFW_S_DVD_NON_ONE_SEQUENTIAL ((HRESULT)0x00040280)
+#define VFW_S_DVD_CHANNEL_CONTENTS_NOT_AVAILABLE ((HRESULT)0x0004028C)
+#define VFW_S_DVD_NOT_ACCURATE ((HRESULT)0x0004028D)
+#define VFW_E_INVALIDMEDIATYPE ((HRESULT)0x80040200)
+#define VFW_E_INVALIDSUBTYPE ((HRESULT)0x80040201)
+#define VFW_E_NEED_OWNER ((HRESULT)0x80040202)
+#define VFW_E_ENUM_OUT_OF_SYNC ((HRESULT)0x80040203)
+#define VFW_E_ALREADY_CONNECTED ((HRESULT)0x80040204)
+#define VFW_E_FILTER_ACTIVE ((HRESULT)0x80040205)
+#define VFW_E_NO_TYPES ((HRESULT)0x80040206)
+#define VFW_E_NO_ACCEPTABLE_TYPES ((HRESULT)0x80040207)
+#define VFW_E_INVALID_DIRECTION ((HRESULT)0x80040208)
+#define VFW_E_NOT_CONNECTED ((HRESULT)0x80040209)
+#define VFW_E_NO_ALLOCATOR ((HRESULT)0x8004020A)
+#define VFW_E_RUNTIME_ERROR ((HRESULT)0x8004020B)
+#define VFW_E_BUFFER_NOTSET ((HRESULT)0x8004020C)
+#define VFW_E_BUFFER_OVERFLOW ((HRESULT)0x8004020D)
+#define VFW_E_BADALIGN ((HRESULT)0x8004020E)
+#define VFW_E_ALREADY_COMMITTED ((HRESULT)0x8004020F)
+#define VFW_E_BUFFERS_OUTSTANDING ((HRESULT)0x80040210)
+#define VFW_E_NOT_COMMITTED ((HRESULT)0x80040211)
+#define VFW_E_SIZENOTSET ((HRESULT)0x80040212)
+#define VFW_E_NO_CLOCK ((HRESULT)0x80040213)
+#define VFW_E_NO_SINK ((HRESULT)0x80040214)
+#define VFW_E_NO_INTERFACE ((HRESULT)0x80040215)
+#define VFW_E_NOT_FOUND ((HRESULT)0x80040216)
+#define VFW_E_CANNOT_CONNECT ((HRESULT)0x80040217)
+#define VFW_E_CANNOT_RENDER ((HRESULT)0x80040218)
+#define VFW_E_CHANGING_FORMAT ((HRESULT)0x80040219)
+#define VFW_E_NO_COLOR_KEY_SET ((HRESULT)0x8004021A)
+#define VFW_E_NOT_OVERLAY_CONNECTION ((HRESULT)0x8004021B)
+#define VFW_E_NOT_SAMPLE_CONNECTION ((HRESULT)0x8004021C)
+#define VFW_E_PALETTE_SET ((HRESULT)0x8004021D)
+#define VFW_E_COLOR_KEY_SET ((HRESULT)0x8004021E)
+#define VFW_E_NO_COLOR_KEY_FOUND ((HRESULT)0x8004021F)
+#define VFW_E_NO_PALETTE_AVAILABLE ((HRESULT)0x80040220)
+#define VFW_E_NO_DISPLAY_PALETTE ((HRESULT)0x80040221)
+#define VFW_E_TOO_MANY_COLORS ((HRESULT)0x80040222)
+#define VFW_E_STATE_CHANGED ((HRESULT)0x80040223)
+#define VFW_E_NOT_STOPPED ((HRESULT)0x80040224)
+#define VFW_E_NOT_PAUSED ((HRESULT)0x80040225)
+#define VFW_E_NOT_RUNNING ((HRESULT)0x80040226)
+#define VFW_E_WRONG_STATE ((HRESULT)0x80040227)
+#define VFW_E_START_TIME_AFTER_END ((HRESULT)0x80040228)
+#define VFW_E_INVALID_RECT ((HRESULT)0x80040229)
+#define VFW_E_TYPE_NOT_ACCEPTED ((HRESULT)0x8004022A)
+#define VFW_E_SAMPLE_REJECTED ((HRESULT)0x8004022B)
+#define VFW_E_SAMPLE_REJECTED_EOS ((HRESULT)0x8004022C)
+#define VFW_E_DUPLICATE_NAME ((HRESULT)0x8004022D)
+#define VFW_E_TIMEOUT ((HRESULT)0x8004022E)
+#define VFW_E_INVALID_FILE_FORMAT ((HRESULT)0x8004022F)
+#define VFW_E_ENUM_OUT_OF_RANGE ((HRESULT)0x80040230)
+#define VFW_E_CIRCULAR_GRAPH ((HRESULT)0x80040231)
+#define VFW_E_NOT_ALLOWED_TO_SAVE ((HRESULT)0x80040232)
+#define VFW_E_TIME_ALREADY_PASSED ((HRESULT)0x80040233)
+#define VFW_E_ALREADY_CANCELLED ((HRESULT)0x80040234)
+#define VFW_E_CORRUPT_GRAPH_FILE ((HRESULT)0x80040235)
+#define VFW_E_ADVISE_ALREADY_SET ((HRESULT)0x80040236)
+#define VFW_E_NO_MODEX_AVAILABLE ((HRESULT)0x80040238)
+#define VFW_E_NO_ADVISE_SET ((HRESULT)0x80040239)
+#define VFW_E_NO_FULLSCREEN ((HRESULT)0x8004023A)
+#define VFW_E_IN_FULLSCREEN_MODE ((HRESULT)0x8004023B)
+#define VFW_E_UNKNOWN_FILE_TYPE ((HRESULT)0x80040240)
+#define VFW_E_CANNOT_LOAD_SOURCE_FILTER ((HRESULT)0x80040241)
+#define VFW_E_FILE_TOO_SHORT ((HRESULT)0x80040243)
+#define VFW_E_INVALID_FILE_VERSION ((HRESULT)0x80040244)
+#define VFW_E_INVALID_CLSID ((HRESULT)0x80040247)
+#define VFW_E_INVALID_MEDIA_TYPE ((HRESULT)0x80040248)
+#define VFW_E_SAMPLE_TIME_NOT_SET ((HRESULT)0x80040249)
+#define VFW_E_MEDIA_TIME_NOT_SET ((HRESULT)0x80040251)
+#define VFW_E_NO_TIME_FORMAT_SET ((HRESULT)0x80040252)
+#define VFW_E_MONO_AUDIO_HW ((HRESULT)0x80040253)
+#define VFW_E_NO_DECOMPRESSOR ((HRESULT)0x80040255)
+#define VFW_E_NO_AUDIO_HARDWARE ((HRESULT)0x80040256)
+#define VFW_E_RPZA ((HRESULT)0x80040259)
+#define VFW_E_PROCESSOR_NOT_SUITABLE ((HRESULT)0x8004025B)
+#define VFW_E_UNSUPPORTED_AUDIO ((HRESULT)0x8004025C)
+#define VFW_E_UNSUPPORTED_VIDEO ((HRESULT)0x8004025D)
+#define VFW_E_MPEG_NOT_CONSTRAINED ((HRESULT)0x8004025E)
+#define VFW_E_NOT_IN_GRAPH ((HRESULT)0x8004025F)
+#define VFW_E_NO_TIME_FORMAT ((HRESULT)0x80040261)
+#define VFW_E_READ_ONLY ((HRESULT)0x80040262)
+#define VFW_E_BUFFER_UNDERFLOW ((HRESULT)0x80040264)
+#define VFW_E_UNSUPPORTED_STREAM ((HRESULT)0x80040265)
+#define VFW_E_NO_TRANSPORT ((HRESULT)0x80040266)
+#define VFW_E_BAD_VIDEOCD ((HRESULT)0x80040269)
+#define VFW_E_OUT_OF_VIDEO_MEMORY ((HRESULT)0x80040271)
+#define VFW_E_VP_NEGOTIATION_FAILED ((HRESULT)0x80040272)
+#define VFW_E_DDRAW_CAPS_NOT_SUITABLE ((HRESULT)0x80040273)
+#define VFW_E_NO_VP_HARDWARE ((HRESULT)0x80040274)
+#define VFW_E_NO_CAPTURE_HARDWARE ((HRESULT)0x80040275)
+#define VFW_E_DVD_OPERATION_INHIBITED ((HRESULT)0x80040276)
+#define VFW_E_DVD_INVALIDDOMAIN ((HRESULT)0x80040277)
+#define VFW_E_DVD_NO_BUTTON ((HRESULT)0x80040278)
+#define VFW_E_DVD_GRAPHNOTREADY ((HRESULT)0x80040279)
+#define VFW_E_DVD_RENDERFAIL ((HRESULT)0x8004027A)
+#define VFW_E_DVD_DECNOTENOUGH ((HRESULT)0x8004027B)
+#define VFW_E_DDRAW_VERSION_NOT_SUITABLE ((HRESULT)0x8004027C)
+#define VFW_E_COPYPROT_FAILED ((HRESULT)0x8004027D)
+#define VFW_E_TIME_EXPIRED ((HRESULT)0x8004027F)
+#define VFW_E_DVD_WRONG_SPEED ((HRESULT)0x80040281)
+#define VFW_E_DVD_MENU_DOES_NOT_EXIST ((HRESULT)0x80040282)
+#define VFW_E_DVD_CMD_CANCELLED ((HRESULT)0x80040283)
+#define VFW_E_DVD_STATE_WRONG_VERSION ((HRESULT)0x80040284)
+#define VFW_E_DVD_STATE_CORRUPT ((HRESULT)0x80040285)
+#define VFW_E_DVD_STATE_WRONG_DISC ((HRESULT)0x80040286)
+#define VFW_E_DVD_INCOMPATIBLE_REGION ((HRESULT)0x80040287)
+#define VFW_E_DVD_NO_ATTRIBUTES ((HRESULT)0x80040288)
+#define VFW_E_DVD_NO_GOUP_PGC ((HRESULT)0x80040289)
+#define VFW_E_DVD_LOW_PARENTAL_LEVEL ((HRESULT)0x8004028A)
+#define VFW_E_DVD_NOT_IN_KARAOKE_MODE ((HRESULT)0x8004028B)
+#define VFW_E_FRAME_STEP_UNSUPPORTED ((HRESULT)0x8004028E)
+#define VFW_E_DVD_STREAM_DISABLED ((HRESULT)0x8004028F)
+#define VFW_E_DVD_TITLE_UNKNOWN ((HRESULT)0x80040290)
+#define VFW_E_DVD_INVALID_DISC ((HRESULT)0x80040291)
+#define VFW_E_DVD_NO_RESUME_INFORMATION ((HRESULT)0x80040292)
+#define VFW_E_PIN_ALREADY_BLOCKED_ON_THIS_THREAD ((HRESULT)0x80040293)
+#define VFW_E_PIN_ALREADY_BLOCKED ((HRESULT)0x80040294)
+#define VFW_E_CERTIFICATION_FAILURE ((HRESULT)0x80040295)
+#define VFW_E_VMR_NOT_IN_MIXER_MODE ((HRESULT)0x80040296)
+#define VFW_E_VMR_NO_AP_SUPPLIED ((HRESULT)0x80040297)
+#define VFW_E_VMR_NO_DEINTERLACE_HW ((HRESULT)0x80040298)
+#define VFW_E_DVD_VMR9_INCOMPATIBLEDEC ((HRESULT)0x8004029A)
+#define VFW_E_BAD_KEY ((HRESULT)0x800403F2)
+
+#ifndef E_PROP_ID_UNSUPPORTED
+#define E_PROP_ID_UNSUPPORTED ((HRESULT)0x80070490)
+#endif
+#ifndef E_PROP_SET_UNSUPPORTED
+#define E_PROP_SET_UNSUPPORTED ((HRESULT)0x80070492)
+#endif