diff options
author | Fire-Head <Fire-Head@users.noreply.github.com> | 2019-06-02 05:00:38 +0200 |
---|---|---|
committer | Fire-Head <Fire-Head@users.noreply.github.com> | 2019-06-02 05:00:38 +0200 |
commit | b1f9e28cd155459ab2843690c248ed9f4767bc3f (patch) | |
tree | 8e7d2a33d4c5109ea3c3562940268afc57d0915c /dxsdk/Include/vmr9.h | |
parent | rw skeleton (diff) | |
download | re3-b1f9e28cd155459ab2843690c248ed9f4767bc3f.tar re3-b1f9e28cd155459ab2843690c248ed9f4767bc3f.tar.gz re3-b1f9e28cd155459ab2843690c248ed9f4767bc3f.tar.bz2 re3-b1f9e28cd155459ab2843690c248ed9f4767bc3f.tar.lz re3-b1f9e28cd155459ab2843690c248ed9f4767bc3f.tar.xz re3-b1f9e28cd155459ab2843690c248ed9f4767bc3f.tar.zst re3-b1f9e28cd155459ab2843690c248ed9f4767bc3f.zip |
Diffstat (limited to '')
-rw-r--r-- | dxsdk/Include/vmr9.h | 3203 |
1 files changed, 3203 insertions, 0 deletions
diff --git a/dxsdk/Include/vmr9.h b/dxsdk/Include/vmr9.h new file mode 100644 index 00000000..0a4e1fe4 --- /dev/null +++ b/dxsdk/Include/vmr9.h @@ -0,0 +1,3203 @@ + +#pragma warning( disable: 4049 ) /* more than 64k source lines */ + +/* this ALWAYS GENERATED file contains the definitions for the interfaces */ + + + /* File created by MIDL compiler version 6.00.0357 */ +/* Compiler settings for vmr9.idl: + Oicf, W1, Zp8, env=Win32 (32b run) + protocol : dce , ms_ext, c_ext, robust + error checks: allocation ref bounds_check enum stub_data + VC __declspec() decoration level: + __declspec(uuid()), __declspec(selectany), __declspec(novtable) + DECLSPEC_UUID(), MIDL_INTERFACE() +*/ +//@@MIDL_FILE_HEADING( ) + + +/* verify that the <rpcndr.h> version is high enough to compile this file*/ +#ifndef __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 475 +#endif + +#include "rpc.h" +#include "rpcndr.h" + +#ifndef __RPCNDR_H_VERSION__ +#error this stub requires an updated version of <rpcndr.h> +#endif // __RPCNDR_H_VERSION__ + +#ifndef COM_NO_WINDOWS_H +#include "windows.h" +#include "ole2.h" +#endif /*COM_NO_WINDOWS_H*/ + +#ifndef __vmr9_h__ +#define __vmr9_h__ + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +#pragma once +#endif + +/* Forward Declarations */ + +#ifndef __IVMRImagePresenter9_FWD_DEFINED__ +#define __IVMRImagePresenter9_FWD_DEFINED__ +typedef interface IVMRImagePresenter9 IVMRImagePresenter9; +#endif /* __IVMRImagePresenter9_FWD_DEFINED__ */ + + +#ifndef __IVMRSurfaceAllocator9_FWD_DEFINED__ +#define __IVMRSurfaceAllocator9_FWD_DEFINED__ +typedef interface IVMRSurfaceAllocator9 IVMRSurfaceAllocator9; +#endif /* __IVMRSurfaceAllocator9_FWD_DEFINED__ */ + + +#ifndef __IVMRSurfaceAllocatorNotify9_FWD_DEFINED__ +#define __IVMRSurfaceAllocatorNotify9_FWD_DEFINED__ +typedef interface IVMRSurfaceAllocatorNotify9 IVMRSurfaceAllocatorNotify9; +#endif /* __IVMRSurfaceAllocatorNotify9_FWD_DEFINED__ */ + + +#ifndef __IVMRWindowlessControl9_FWD_DEFINED__ +#define __IVMRWindowlessControl9_FWD_DEFINED__ +typedef interface IVMRWindowlessControl9 IVMRWindowlessControl9; +#endif /* __IVMRWindowlessControl9_FWD_DEFINED__ */ + + +#ifndef __IVMRMixerControl9_FWD_DEFINED__ +#define __IVMRMixerControl9_FWD_DEFINED__ +typedef interface IVMRMixerControl9 IVMRMixerControl9; +#endif /* __IVMRMixerControl9_FWD_DEFINED__ */ + + +#ifndef __IVMRMixerBitmap9_FWD_DEFINED__ +#define __IVMRMixerBitmap9_FWD_DEFINED__ +typedef interface IVMRMixerBitmap9 IVMRMixerBitmap9; +#endif /* __IVMRMixerBitmap9_FWD_DEFINED__ */ + + +#ifndef __IVMRSurface9_FWD_DEFINED__ +#define __IVMRSurface9_FWD_DEFINED__ +typedef interface IVMRSurface9 IVMRSurface9; +#endif /* __IVMRSurface9_FWD_DEFINED__ */ + + +#ifndef __IVMRImagePresenterConfig9_FWD_DEFINED__ +#define __IVMRImagePresenterConfig9_FWD_DEFINED__ +typedef interface IVMRImagePresenterConfig9 IVMRImagePresenterConfig9; +#endif /* __IVMRImagePresenterConfig9_FWD_DEFINED__ */ + + +#ifndef __IVMRVideoStreamControl9_FWD_DEFINED__ +#define __IVMRVideoStreamControl9_FWD_DEFINED__ +typedef interface IVMRVideoStreamControl9 IVMRVideoStreamControl9; +#endif /* __IVMRVideoStreamControl9_FWD_DEFINED__ */ + + +#ifndef __IVMRFilterConfig9_FWD_DEFINED__ +#define __IVMRFilterConfig9_FWD_DEFINED__ +typedef interface IVMRFilterConfig9 IVMRFilterConfig9; +#endif /* __IVMRFilterConfig9_FWD_DEFINED__ */ + + +#ifndef __IVMRAspectRatioControl9_FWD_DEFINED__ +#define __IVMRAspectRatioControl9_FWD_DEFINED__ +typedef interface IVMRAspectRatioControl9 IVMRAspectRatioControl9; +#endif /* __IVMRAspectRatioControl9_FWD_DEFINED__ */ + + +#ifndef __IVMRMonitorConfig9_FWD_DEFINED__ +#define __IVMRMonitorConfig9_FWD_DEFINED__ +typedef interface IVMRMonitorConfig9 IVMRMonitorConfig9; +#endif /* __IVMRMonitorConfig9_FWD_DEFINED__ */ + + +#ifndef __IVMRDeinterlaceControl9_FWD_DEFINED__ +#define __IVMRDeinterlaceControl9_FWD_DEFINED__ +typedef interface IVMRDeinterlaceControl9 IVMRDeinterlaceControl9; +#endif /* __IVMRDeinterlaceControl9_FWD_DEFINED__ */ + + +#ifndef __IVMRImageCompositor9_FWD_DEFINED__ +#define __IVMRImageCompositor9_FWD_DEFINED__ +typedef interface IVMRImageCompositor9 IVMRImageCompositor9; +#endif /* __IVMRImageCompositor9_FWD_DEFINED__ */ + + +/* header files for imported files */ +#include "unknwn.h" + +#ifdef __cplusplus +extern "C"{ +#endif + +void * __RPC_USER MIDL_user_allocate(size_t); +void __RPC_USER MIDL_user_free( void * ); + +/* interface __MIDL_itf_vmr9_0000 */ +/* [local] */ + +#if 0 +typedef DWORD IDirect3DDevice9; + +typedef DWORD IDirect3DSurface9; + +typedef DWORD D3DFORMAT; + +typedef DWORD D3DCOLOR; + +typedef DWORD D3DPOOL; + +typedef LONGLONG REFERENCE_TIME; + +typedef DWORD *HMONITOR; + +typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_vmr9_0000_0001 + { + DWORD dw1; + DWORD dw2; + } AM_MEDIA_TYPE; + +#endif + + + + + + + + + + + + + +typedef /* [public] */ +enum __MIDL___MIDL_itf_vmr9_0000_0002 + { VMR9Sample_SyncPoint = 0x1, + VMR9Sample_Preroll = 0x2, + VMR9Sample_Discontinuity = 0x4, + VMR9Sample_TimeValid = 0x8 + } VMR9PresentationFlags; + +typedef struct _VMR9PresentationInfo + { + DWORD dwFlags; + IDirect3DSurface9 *lpSurf; + REFERENCE_TIME rtStart; + REFERENCE_TIME rtEnd; + SIZE szAspectRatio; + RECT rcSrc; + RECT rcDst; + DWORD dwReserved1; + DWORD dwReserved2; + } VMR9PresentationInfo; + + + +extern RPC_IF_HANDLE __MIDL_itf_vmr9_0000_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_vmr9_0000_v0_0_s_ifspec; + +#ifndef __IVMRImagePresenter9_INTERFACE_DEFINED__ +#define __IVMRImagePresenter9_INTERFACE_DEFINED__ + +/* interface IVMRImagePresenter9 */ +/* [unique][helpstring][uuid][local][object][local] */ + + +EXTERN_C const IID IID_IVMRImagePresenter9; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("69188c61-12a3-40f0-8ffc-342e7b433fd7") + IVMRImagePresenter9 : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE StartPresenting( + /* [in] */ DWORD_PTR dwUserID) = 0; + + virtual HRESULT STDMETHODCALLTYPE StopPresenting( + /* [in] */ DWORD_PTR dwUserID) = 0; + + virtual HRESULT STDMETHODCALLTYPE PresentImage( + /* [in] */ DWORD_PTR dwUserID, + /* [in] */ VMR9PresentationInfo *lpPresInfo) = 0; + + }; + +#else /* C style interface */ + + typedef struct IVMRImagePresenter9Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IVMRImagePresenter9 * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IVMRImagePresenter9 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IVMRImagePresenter9 * This); + + HRESULT ( STDMETHODCALLTYPE *StartPresenting )( + IVMRImagePresenter9 * This, + /* [in] */ DWORD_PTR dwUserID); + + HRESULT ( STDMETHODCALLTYPE *StopPresenting )( + IVMRImagePresenter9 * This, + /* [in] */ DWORD_PTR dwUserID); + + HRESULT ( STDMETHODCALLTYPE *PresentImage )( + IVMRImagePresenter9 * This, + /* [in] */ DWORD_PTR dwUserID, + /* [in] */ VMR9PresentationInfo *lpPresInfo); + + END_INTERFACE + } IVMRImagePresenter9Vtbl; + + interface IVMRImagePresenter9 + { + CONST_VTBL struct IVMRImagePresenter9Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IVMRImagePresenter9_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IVMRImagePresenter9_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IVMRImagePresenter9_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IVMRImagePresenter9_StartPresenting(This,dwUserID) \ + (This)->lpVtbl -> StartPresenting(This,dwUserID) + +#define IVMRImagePresenter9_StopPresenting(This,dwUserID) \ + (This)->lpVtbl -> StopPresenting(This,dwUserID) + +#define IVMRImagePresenter9_PresentImage(This,dwUserID,lpPresInfo) \ + (This)->lpVtbl -> PresentImage(This,dwUserID,lpPresInfo) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +HRESULT STDMETHODCALLTYPE IVMRImagePresenter9_StartPresenting_Proxy( + IVMRImagePresenter9 * This, + /* [in] */ DWORD_PTR dwUserID); + + +void __RPC_STUB IVMRImagePresenter9_StartPresenting_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRImagePresenter9_StopPresenting_Proxy( + IVMRImagePresenter9 * This, + /* [in] */ DWORD_PTR dwUserID); + + +void __RPC_STUB IVMRImagePresenter9_StopPresenting_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRImagePresenter9_PresentImage_Proxy( + IVMRImagePresenter9 * This, + /* [in] */ DWORD_PTR dwUserID, + /* [in] */ VMR9PresentationInfo *lpPresInfo); + + +void __RPC_STUB IVMRImagePresenter9_PresentImage_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IVMRImagePresenter9_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_vmr9_0009 */ +/* [local] */ + +typedef /* [public] */ +enum __MIDL___MIDL_itf_vmr9_0009_0001 + { VMR9AllocFlag_3DRenderTarget = 0x1, + VMR9AllocFlag_DXVATarget = 0x2, + VMR9AllocFlag_TextureSurface = 0x4, + VMR9AllocFlag_OffscreenSurface = 0x8, + VMR9AllocFlag_UsageReserved = 0xf0, + VMR9AllocFlag_UsageMask = 0xff + } VMR9SurfaceAllocationFlags; + +typedef struct _VMR9AllocationInfo + { + DWORD dwFlags; + DWORD dwWidth; + DWORD dwHeight; + D3DFORMAT Format; + D3DPOOL Pool; + DWORD MinBuffers; + SIZE szAspectRatio; + SIZE szNativeSize; + } VMR9AllocationInfo; + + + +extern RPC_IF_HANDLE __MIDL_itf_vmr9_0009_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_vmr9_0009_v0_0_s_ifspec; + +#ifndef __IVMRSurfaceAllocator9_INTERFACE_DEFINED__ +#define __IVMRSurfaceAllocator9_INTERFACE_DEFINED__ + +/* interface IVMRSurfaceAllocator9 */ +/* [unique][helpstring][uuid][local][object][local] */ + + +EXTERN_C const IID IID_IVMRSurfaceAllocator9; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("8d5148ea-3f5d-46cf-9df1-d1b896eedb1f") + IVMRSurfaceAllocator9 : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE InitializeDevice( + /* [in] */ DWORD_PTR dwUserID, + /* [in] */ VMR9AllocationInfo *lpAllocInfo, + /* [out][in] */ DWORD *lpNumBuffers) = 0; + + virtual HRESULT STDMETHODCALLTYPE TerminateDevice( + /* [in] */ DWORD_PTR dwID) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSurface( + /* [in] */ DWORD_PTR dwUserID, + /* [in] */ DWORD SurfaceIndex, + /* [in] */ DWORD SurfaceFlags, + /* [out] */ IDirect3DSurface9 **lplpSurface) = 0; + + virtual HRESULT STDMETHODCALLTYPE AdviseNotify( + /* [in] */ IVMRSurfaceAllocatorNotify9 *lpIVMRSurfAllocNotify) = 0; + + }; + +#else /* C style interface */ + + typedef struct IVMRSurfaceAllocator9Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IVMRSurfaceAllocator9 * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IVMRSurfaceAllocator9 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IVMRSurfaceAllocator9 * This); + + HRESULT ( STDMETHODCALLTYPE *InitializeDevice )( + IVMRSurfaceAllocator9 * This, + /* [in] */ DWORD_PTR dwUserID, + /* [in] */ VMR9AllocationInfo *lpAllocInfo, + /* [out][in] */ DWORD *lpNumBuffers); + + HRESULT ( STDMETHODCALLTYPE *TerminateDevice )( + IVMRSurfaceAllocator9 * This, + /* [in] */ DWORD_PTR dwID); + + HRESULT ( STDMETHODCALLTYPE *GetSurface )( + IVMRSurfaceAllocator9 * This, + /* [in] */ DWORD_PTR dwUserID, + /* [in] */ DWORD SurfaceIndex, + /* [in] */ DWORD SurfaceFlags, + /* [out] */ IDirect3DSurface9 **lplpSurface); + + HRESULT ( STDMETHODCALLTYPE *AdviseNotify )( + IVMRSurfaceAllocator9 * This, + /* [in] */ IVMRSurfaceAllocatorNotify9 *lpIVMRSurfAllocNotify); + + END_INTERFACE + } IVMRSurfaceAllocator9Vtbl; + + interface IVMRSurfaceAllocator9 + { + CONST_VTBL struct IVMRSurfaceAllocator9Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IVMRSurfaceAllocator9_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IVMRSurfaceAllocator9_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IVMRSurfaceAllocator9_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IVMRSurfaceAllocator9_InitializeDevice(This,dwUserID,lpAllocInfo,lpNumBuffers) \ + (This)->lpVtbl -> InitializeDevice(This,dwUserID,lpAllocInfo,lpNumBuffers) + +#define IVMRSurfaceAllocator9_TerminateDevice(This,dwID) \ + (This)->lpVtbl -> TerminateDevice(This,dwID) + +#define IVMRSurfaceAllocator9_GetSurface(This,dwUserID,SurfaceIndex,SurfaceFlags,lplpSurface) \ + (This)->lpVtbl -> GetSurface(This,dwUserID,SurfaceIndex,SurfaceFlags,lplpSurface) + +#define IVMRSurfaceAllocator9_AdviseNotify(This,lpIVMRSurfAllocNotify) \ + (This)->lpVtbl -> AdviseNotify(This,lpIVMRSurfAllocNotify) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator9_InitializeDevice_Proxy( + IVMRSurfaceAllocator9 * This, + /* [in] */ DWORD_PTR dwUserID, + /* [in] */ VMR9AllocationInfo *lpAllocInfo, + /* [out][in] */ DWORD *lpNumBuffers); + + +void __RPC_STUB IVMRSurfaceAllocator9_InitializeDevice_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator9_TerminateDevice_Proxy( + IVMRSurfaceAllocator9 * This, + /* [in] */ DWORD_PTR dwID); + + +void __RPC_STUB IVMRSurfaceAllocator9_TerminateDevice_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator9_GetSurface_Proxy( + IVMRSurfaceAllocator9 * This, + /* [in] */ DWORD_PTR dwUserID, + /* [in] */ DWORD SurfaceIndex, + /* [in] */ DWORD SurfaceFlags, + /* [out] */ IDirect3DSurface9 **lplpSurface); + + +void __RPC_STUB IVMRSurfaceAllocator9_GetSurface_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator9_AdviseNotify_Proxy( + IVMRSurfaceAllocator9 * This, + /* [in] */ IVMRSurfaceAllocatorNotify9 *lpIVMRSurfAllocNotify); + + +void __RPC_STUB IVMRSurfaceAllocator9_AdviseNotify_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IVMRSurfaceAllocator9_INTERFACE_DEFINED__ */ + + +#ifndef __IVMRSurfaceAllocatorNotify9_INTERFACE_DEFINED__ +#define __IVMRSurfaceAllocatorNotify9_INTERFACE_DEFINED__ + +/* interface IVMRSurfaceAllocatorNotify9 */ +/* [unique][helpstring][uuid][local][object][local] */ + + +EXTERN_C const IID IID_IVMRSurfaceAllocatorNotify9; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("dca3f5df-bb3a-4d03-bd81-84614bfbfa0c") + IVMRSurfaceAllocatorNotify9 : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE AdviseSurfaceAllocator( + /* [in] */ DWORD_PTR dwUserID, + /* [in] */ IVMRSurfaceAllocator9 *lpIVRMSurfaceAllocator) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetD3DDevice( + /* [in] */ IDirect3DDevice9 *lpD3DDevice, + /* [in] */ HMONITOR hMonitor) = 0; + + virtual HRESULT STDMETHODCALLTYPE ChangeD3DDevice( + /* [in] */ IDirect3DDevice9 *lpD3DDevice, + /* [in] */ HMONITOR hMonitor) = 0; + + virtual HRESULT STDMETHODCALLTYPE AllocateSurfaceHelper( + /* [in] */ VMR9AllocationInfo *lpAllocInfo, + /* [out][in] */ DWORD *lpNumBuffers, + /* [out] */ IDirect3DSurface9 **lplpSurface) = 0; + + virtual HRESULT STDMETHODCALLTYPE NotifyEvent( + /* [in] */ LONG EventCode, + /* [in] */ LONG_PTR Param1, + /* [in] */ LONG_PTR Param2) = 0; + + }; + +#else /* C style interface */ + + typedef struct IVMRSurfaceAllocatorNotify9Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IVMRSurfaceAllocatorNotify9 * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IVMRSurfaceAllocatorNotify9 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IVMRSurfaceAllocatorNotify9 * This); + + HRESULT ( STDMETHODCALLTYPE *AdviseSurfaceAllocator )( + IVMRSurfaceAllocatorNotify9 * This, + /* [in] */ DWORD_PTR dwUserID, + /* [in] */ IVMRSurfaceAllocator9 *lpIVRMSurfaceAllocator); + + HRESULT ( STDMETHODCALLTYPE *SetD3DDevice )( + IVMRSurfaceAllocatorNotify9 * This, + /* [in] */ IDirect3DDevice9 *lpD3DDevice, + /* [in] */ HMONITOR hMonitor); + + HRESULT ( STDMETHODCALLTYPE *ChangeD3DDevice )( + IVMRSurfaceAllocatorNotify9 * This, + /* [in] */ IDirect3DDevice9 *lpD3DDevice, + /* [in] */ HMONITOR hMonitor); + + HRESULT ( STDMETHODCALLTYPE *AllocateSurfaceHelper )( + IVMRSurfaceAllocatorNotify9 * This, + /* [in] */ VMR9AllocationInfo *lpAllocInfo, + /* [out][in] */ DWORD *lpNumBuffers, + /* [out] */ IDirect3DSurface9 **lplpSurface); + + HRESULT ( STDMETHODCALLTYPE *NotifyEvent )( + IVMRSurfaceAllocatorNotify9 * This, + /* [in] */ LONG EventCode, + /* [in] */ LONG_PTR Param1, + /* [in] */ LONG_PTR Param2); + + END_INTERFACE + } IVMRSurfaceAllocatorNotify9Vtbl; + + interface IVMRSurfaceAllocatorNotify9 + { + CONST_VTBL struct IVMRSurfaceAllocatorNotify9Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IVMRSurfaceAllocatorNotify9_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IVMRSurfaceAllocatorNotify9_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IVMRSurfaceAllocatorNotify9_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IVMRSurfaceAllocatorNotify9_AdviseSurfaceAllocator(This,dwUserID,lpIVRMSurfaceAllocator) \ + (This)->lpVtbl -> AdviseSurfaceAllocator(This,dwUserID,lpIVRMSurfaceAllocator) + +#define IVMRSurfaceAllocatorNotify9_SetD3DDevice(This,lpD3DDevice,hMonitor) \ + (This)->lpVtbl -> SetD3DDevice(This,lpD3DDevice,hMonitor) + +#define IVMRSurfaceAllocatorNotify9_ChangeD3DDevice(This,lpD3DDevice,hMonitor) \ + (This)->lpVtbl -> ChangeD3DDevice(This,lpD3DDevice,hMonitor) + +#define IVMRSurfaceAllocatorNotify9_AllocateSurfaceHelper(This,lpAllocInfo,lpNumBuffers,lplpSurface) \ + (This)->lpVtbl -> AllocateSurfaceHelper(This,lpAllocInfo,lpNumBuffers,lplpSurface) + +#define IVMRSurfaceAllocatorNotify9_NotifyEvent(This,EventCode,Param1,Param2) \ + (This)->lpVtbl -> NotifyEvent(This,EventCode,Param1,Param2) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify9_AdviseSurfaceAllocator_Proxy( + IVMRSurfaceAllocatorNotify9 * This, + /* [in] */ DWORD_PTR dwUserID, + /* [in] */ IVMRSurfaceAllocator9 *lpIVRMSurfaceAllocator); + + +void __RPC_STUB IVMRSurfaceAllocatorNotify9_AdviseSurfaceAllocator_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify9_SetD3DDevice_Proxy( + IVMRSurfaceAllocatorNotify9 * This, + /* [in] */ IDirect3DDevice9 *lpD3DDevice, + /* [in] */ HMONITOR hMonitor); + + +void __RPC_STUB IVMRSurfaceAllocatorNotify9_SetD3DDevice_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify9_ChangeD3DDevice_Proxy( + IVMRSurfaceAllocatorNotify9 * This, + /* [in] */ IDirect3DDevice9 *lpD3DDevice, + /* [in] */ HMONITOR hMonitor); + + +void __RPC_STUB IVMRSurfaceAllocatorNotify9_ChangeD3DDevice_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify9_AllocateSurfaceHelper_Proxy( + IVMRSurfaceAllocatorNotify9 * This, + /* [in] */ VMR9AllocationInfo *lpAllocInfo, + /* [out][in] */ DWORD *lpNumBuffers, + /* [out] */ IDirect3DSurface9 **lplpSurface); + + +void __RPC_STUB IVMRSurfaceAllocatorNotify9_AllocateSurfaceHelper_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify9_NotifyEvent_Proxy( + IVMRSurfaceAllocatorNotify9 * This, + /* [in] */ LONG EventCode, + /* [in] */ LONG_PTR Param1, + /* [in] */ LONG_PTR Param2); + + +void __RPC_STUB IVMRSurfaceAllocatorNotify9_NotifyEvent_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IVMRSurfaceAllocatorNotify9_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_vmr9_0011 */ +/* [local] */ + +typedef /* [public] */ +enum __MIDL___MIDL_itf_vmr9_0011_0001 + { VMR9ARMode_None = 0, + VMR9ARMode_LetterBox = VMR9ARMode_None + 1 + } VMR9AspectRatioMode; + + + +extern RPC_IF_HANDLE __MIDL_itf_vmr9_0011_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_vmr9_0011_v0_0_s_ifspec; + +#ifndef __IVMRWindowlessControl9_INTERFACE_DEFINED__ +#define __IVMRWindowlessControl9_INTERFACE_DEFINED__ + +/* interface IVMRWindowlessControl9 */ +/* [unique][helpstring][uuid][local][object][local] */ + + +EXTERN_C const IID IID_IVMRWindowlessControl9; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("8f537d09-f85e-4414-b23b-502e54c79927") + IVMRWindowlessControl9 : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE GetNativeVideoSize( + /* [out] */ LONG *lpWidth, + /* [out] */ LONG *lpHeight, + /* [out] */ LONG *lpARWidth, + /* [out] */ LONG *lpARHeight) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMinIdealVideoSize( + /* [out] */ LONG *lpWidth, + /* [out] */ LONG *lpHeight) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMaxIdealVideoSize( + /* [out] */ LONG *lpWidth, + /* [out] */ LONG *lpHeight) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetVideoPosition( + /* [in] */ const LPRECT lpSRCRect, + /* [in] */ const LPRECT lpDSTRect) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetVideoPosition( + /* [out] */ LPRECT lpSRCRect, + /* [out] */ LPRECT lpDSTRect) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAspectRatioMode( + /* [out] */ DWORD *lpAspectRatioMode) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAspectRatioMode( + /* [in] */ DWORD AspectRatioMode) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetVideoClippingWindow( + /* [in] */ HWND hwnd) = 0; + + virtual HRESULT STDMETHODCALLTYPE RepaintVideo( + /* [in] */ HWND hwnd, + /* [in] */ HDC hdc) = 0; + + virtual HRESULT STDMETHODCALLTYPE DisplayModeChanged( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCurrentImage( + /* [out] */ BYTE **lpDib) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetBorderColor( + /* [in] */ COLORREF Clr) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBorderColor( + /* [out] */ COLORREF *lpClr) = 0; + + }; + +#else /* C style interface */ + + typedef struct IVMRWindowlessControl9Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IVMRWindowlessControl9 * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IVMRWindowlessControl9 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IVMRWindowlessControl9 * This); + + HRESULT ( STDMETHODCALLTYPE *GetNativeVideoSize )( + IVMRWindowlessControl9 * This, + /* [out] */ LONG *lpWidth, + /* [out] */ LONG *lpHeight, + /* [out] */ LONG *lpARWidth, + /* [out] */ LONG *lpARHeight); + + HRESULT ( STDMETHODCALLTYPE *GetMinIdealVideoSize )( + IVMRWindowlessControl9 * This, + /* [out] */ LONG *lpWidth, + /* [out] */ LONG *lpHeight); + + HRESULT ( STDMETHODCALLTYPE *GetMaxIdealVideoSize )( + IVMRWindowlessControl9 * This, + /* [out] */ LONG *lpWidth, + /* [out] */ LONG *lpHeight); + + HRESULT ( STDMETHODCALLTYPE *SetVideoPosition )( + IVMRWindowlessControl9 * This, + /* [in] */ const LPRECT lpSRCRect, + /* [in] */ const LPRECT lpDSTRect); + + HRESULT ( STDMETHODCALLTYPE *GetVideoPosition )( + IVMRWindowlessControl9 * This, + /* [out] */ LPRECT lpSRCRect, + /* [out] */ LPRECT lpDSTRect); + + HRESULT ( STDMETHODCALLTYPE *GetAspectRatioMode )( + IVMRWindowlessControl9 * This, + /* [out] */ DWORD *lpAspectRatioMode); + + HRESULT ( STDMETHODCALLTYPE *SetAspectRatioMode )( + IVMRWindowlessControl9 * This, + /* [in] */ DWORD AspectRatioMode); + + HRESULT ( STDMETHODCALLTYPE *SetVideoClippingWindow )( + IVMRWindowlessControl9 * This, + /* [in] */ HWND hwnd); + + HRESULT ( STDMETHODCALLTYPE *RepaintVideo )( + IVMRWindowlessControl9 * This, + /* [in] */ HWND hwnd, + /* [in] */ HDC hdc); + + HRESULT ( STDMETHODCALLTYPE *DisplayModeChanged )( + IVMRWindowlessControl9 * This); + + HRESULT ( STDMETHODCALLTYPE *GetCurrentImage )( + IVMRWindowlessControl9 * This, + /* [out] */ BYTE **lpDib); + + HRESULT ( STDMETHODCALLTYPE *SetBorderColor )( + IVMRWindowlessControl9 * This, + /* [in] */ COLORREF Clr); + + HRESULT ( STDMETHODCALLTYPE *GetBorderColor )( + IVMRWindowlessControl9 * This, + /* [out] */ COLORREF *lpClr); + + END_INTERFACE + } IVMRWindowlessControl9Vtbl; + + interface IVMRWindowlessControl9 + { + CONST_VTBL struct IVMRWindowlessControl9Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IVMRWindowlessControl9_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IVMRWindowlessControl9_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IVMRWindowlessControl9_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IVMRWindowlessControl9_GetNativeVideoSize(This,lpWidth,lpHeight,lpARWidth,lpARHeight) \ + (This)->lpVtbl -> GetNativeVideoSize(This,lpWidth,lpHeight,lpARWidth,lpARHeight) + +#define IVMRWindowlessControl9_GetMinIdealVideoSize(This,lpWidth,lpHeight) \ + (This)->lpVtbl -> GetMinIdealVideoSize(This,lpWidth,lpHeight) + +#define IVMRWindowlessControl9_GetMaxIdealVideoSize(This,lpWidth,lpHeight) \ + (This)->lpVtbl -> GetMaxIdealVideoSize(This,lpWidth,lpHeight) + +#define IVMRWindowlessControl9_SetVideoPosition(This,lpSRCRect,lpDSTRect) \ + (This)->lpVtbl -> SetVideoPosition(This,lpSRCRect,lpDSTRect) + +#define IVMRWindowlessControl9_GetVideoPosition(This,lpSRCRect,lpDSTRect) \ + (This)->lpVtbl -> GetVideoPosition(This,lpSRCRect,lpDSTRect) + +#define IVMRWindowlessControl9_GetAspectRatioMode(This,lpAspectRatioMode) \ + (This)->lpVtbl -> GetAspectRatioMode(This,lpAspectRatioMode) + +#define IVMRWindowlessControl9_SetAspectRatioMode(This,AspectRatioMode) \ + (This)->lpVtbl -> SetAspectRatioMode(This,AspectRatioMode) + +#define IVMRWindowlessControl9_SetVideoClippingWindow(This,hwnd) \ + (This)->lpVtbl -> SetVideoClippingWindow(This,hwnd) + +#define IVMRWindowlessControl9_RepaintVideo(This,hwnd,hdc) \ + (This)->lpVtbl -> RepaintVideo(This,hwnd,hdc) + +#define IVMRWindowlessControl9_DisplayModeChanged(This) \ + (This)->lpVtbl -> DisplayModeChanged(This) + +#define IVMRWindowlessControl9_GetCurrentImage(This,lpDib) \ + (This)->lpVtbl -> GetCurrentImage(This,lpDib) + +#define IVMRWindowlessControl9_SetBorderColor(This,Clr) \ + (This)->lpVtbl -> SetBorderColor(This,Clr) + +#define IVMRWindowlessControl9_GetBorderColor(This,lpClr) \ + (This)->lpVtbl -> GetBorderColor(This,lpClr) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetNativeVideoSize_Proxy( + IVMRWindowlessControl9 * This, + /* [out] */ LONG *lpWidth, + /* [out] */ LONG *lpHeight, + /* [out] */ LONG *lpARWidth, + /* [out] */ LONG *lpARHeight); + + +void __RPC_STUB IVMRWindowlessControl9_GetNativeVideoSize_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetMinIdealVideoSize_Proxy( + IVMRWindowlessControl9 * This, + /* [out] */ LONG *lpWidth, + /* [out] */ LONG *lpHeight); + + +void __RPC_STUB IVMRWindowlessControl9_GetMinIdealVideoSize_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetMaxIdealVideoSize_Proxy( + IVMRWindowlessControl9 * This, + /* [out] */ LONG *lpWidth, + /* [out] */ LONG *lpHeight); + + +void __RPC_STUB IVMRWindowlessControl9_GetMaxIdealVideoSize_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_SetVideoPosition_Proxy( + IVMRWindowlessControl9 * This, + /* [in] */ const LPRECT lpSRCRect, + /* [in] */ const LPRECT lpDSTRect); + + +void __RPC_STUB IVMRWindowlessControl9_SetVideoPosition_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetVideoPosition_Proxy( + IVMRWindowlessControl9 * This, + /* [out] */ LPRECT lpSRCRect, + /* [out] */ LPRECT lpDSTRect); + + +void __RPC_STUB IVMRWindowlessControl9_GetVideoPosition_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetAspectRatioMode_Proxy( + IVMRWindowlessControl9 * This, + /* [out] */ DWORD *lpAspectRatioMode); + + +void __RPC_STUB IVMRWindowlessControl9_GetAspectRatioMode_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_SetAspectRatioMode_Proxy( + IVMRWindowlessControl9 * This, + /* [in] */ DWORD AspectRatioMode); + + +void __RPC_STUB IVMRWindowlessControl9_SetAspectRatioMode_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_SetVideoClippingWindow_Proxy( + IVMRWindowlessControl9 * This, + /* [in] */ HWND hwnd); + + +void __RPC_STUB IVMRWindowlessControl9_SetVideoClippingWindow_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_RepaintVideo_Proxy( + IVMRWindowlessControl9 * This, + /* [in] */ HWND hwnd, + /* [in] */ HDC hdc); + + +void __RPC_STUB IVMRWindowlessControl9_RepaintVideo_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_DisplayModeChanged_Proxy( + IVMRWindowlessControl9 * This); + + +void __RPC_STUB IVMRWindowlessControl9_DisplayModeChanged_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetCurrentImage_Proxy( + IVMRWindowlessControl9 * This, + /* [out] */ BYTE **lpDib); + + +void __RPC_STUB IVMRWindowlessControl9_GetCurrentImage_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_SetBorderColor_Proxy( + IVMRWindowlessControl9 * This, + /* [in] */ COLORREF Clr); + + +void __RPC_STUB IVMRWindowlessControl9_SetBorderColor_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetBorderColor_Proxy( + IVMRWindowlessControl9 * This, + /* [out] */ COLORREF *lpClr); + + +void __RPC_STUB IVMRWindowlessControl9_GetBorderColor_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IVMRWindowlessControl9_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_vmr9_0012 */ +/* [local] */ + +typedef /* [public] */ +enum __MIDL___MIDL_itf_vmr9_0012_0001 + { MixerPref9_NoDecimation = 0x1, + MixerPref9_DecimateOutput = 0x2, + MixerPref9_DecimationReserved = 0xc, + MixerPref9_DecimateMask = 0xf, + MixerPref9_BiLinearFiltering = 0x10, + MixerPref9_PointFiltering = 0x20, + MixerPref9_AnisotropicFiltering = 0x40, + MixerPref9_PyramidalQuadFiltering = 0x80, + MixerPref9_GaussianQuadFiltering = 0x100, + MixerPref9_FilteringReserved = 0xe00, + MixerPref9_FilteringMask = 0xff0, + MixerPref9_RenderTargetRGB = 0x1000, + MixerPref9_RenderTargetReserved = 0xfe000, + MixerPref9_RenderTargetMask = 0xff000 + } VMR9MixerPrefs; + +typedef struct _VMR9NormalizedRect + { + float left; + float top; + float right; + float bottom; + } VMR9NormalizedRect; + +typedef /* [public][public][public] */ +enum __MIDL___MIDL_itf_vmr9_0012_0002 + { ProcAmpControl9_Brightness = 0x1, + ProcAmpControl9_Contrast = 0x2, + ProcAmpControl9_Hue = 0x4, + ProcAmpControl9_Saturation = 0x8, + ProcAmpControl9_Mask = 0xf + } VMR9ProcAmpControlFlags; + +typedef struct _VMR9ProcAmpControl + { + DWORD dwSize; + DWORD dwFlags; + float Brightness; + float Contrast; + float Hue; + float Saturation; + } VMR9ProcAmpControl; + +typedef struct _VMR9ProcAmpControlRange + { + DWORD dwSize; + VMR9ProcAmpControlFlags dwProperty; + float MinValue; + float MaxValue; + float DefaultValue; + float StepSize; + } VMR9ProcAmpControlRange; + + + +extern RPC_IF_HANDLE __MIDL_itf_vmr9_0012_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_vmr9_0012_v0_0_s_ifspec; + +#ifndef __IVMRMixerControl9_INTERFACE_DEFINED__ +#define __IVMRMixerControl9_INTERFACE_DEFINED__ + +/* interface IVMRMixerControl9 */ +/* [unique][helpstring][uuid][local][object][local] */ + + +EXTERN_C const IID IID_IVMRMixerControl9; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("1a777eaa-47c8-4930-b2c9-8fee1c1b0f3b") + IVMRMixerControl9 : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE SetAlpha( + /* [in] */ DWORD dwStreamID, + /* [in] */ float Alpha) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAlpha( + /* [in] */ DWORD dwStreamID, + /* [out] */ float *pAlpha) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetZOrder( + /* [in] */ DWORD dwStreamID, + /* [in] */ DWORD dwZ) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetZOrder( + /* [in] */ DWORD dwStreamID, + /* [out] */ DWORD *pZ) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetOutputRect( + /* [in] */ DWORD dwStreamID, + /* [in] */ const VMR9NormalizedRect *pRect) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetOutputRect( + /* [in] */ DWORD dwStreamID, + /* [out] */ VMR9NormalizedRect *pRect) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetBackgroundClr( + /* [in] */ COLORREF ClrBkg) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBackgroundClr( + /* [in] */ COLORREF *lpClrBkg) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetMixingPrefs( + /* [in] */ DWORD dwMixerPrefs) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMixingPrefs( + /* [out] */ DWORD *pdwMixerPrefs) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetProcAmpControl( + /* [in] */ DWORD dwStreamID, + /* [in] */ VMR9ProcAmpControl *lpClrControl) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetProcAmpControl( + /* [in] */ DWORD dwStreamID, + /* [out][in] */ VMR9ProcAmpControl *lpClrControl) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetProcAmpControlRange( + /* [in] */ DWORD dwStreamID, + /* [out][in] */ VMR9ProcAmpControlRange *lpClrControl) = 0; + + }; + +#else /* C style interface */ + + typedef struct IVMRMixerControl9Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IVMRMixerControl9 * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IVMRMixerControl9 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IVMRMixerControl9 * This); + + HRESULT ( STDMETHODCALLTYPE *SetAlpha )( + IVMRMixerControl9 * This, + /* [in] */ DWORD dwStreamID, + /* [in] */ float Alpha); + + HRESULT ( STDMETHODCALLTYPE *GetAlpha )( + IVMRMixerControl9 * This, + /* [in] */ DWORD dwStreamID, + /* [out] */ float *pAlpha); + + HRESULT ( STDMETHODCALLTYPE *SetZOrder )( + IVMRMixerControl9 * This, + /* [in] */ DWORD dwStreamID, + /* [in] */ DWORD dwZ); + + HRESULT ( STDMETHODCALLTYPE *GetZOrder )( + IVMRMixerControl9 * This, + /* [in] */ DWORD dwStreamID, + /* [out] */ DWORD *pZ); + + HRESULT ( STDMETHODCALLTYPE *SetOutputRect )( + IVMRMixerControl9 * This, + /* [in] */ DWORD dwStreamID, + /* [in] */ const VMR9NormalizedRect *pRect); + + HRESULT ( STDMETHODCALLTYPE *GetOutputRect )( + IVMRMixerControl9 * This, + /* [in] */ DWORD dwStreamID, + /* [out] */ VMR9NormalizedRect *pRect); + + HRESULT ( STDMETHODCALLTYPE *SetBackgroundClr )( + IVMRMixerControl9 * This, + /* [in] */ COLORREF ClrBkg); + + HRESULT ( STDMETHODCALLTYPE *GetBackgroundClr )( + IVMRMixerControl9 * This, + /* [in] */ COLORREF *lpClrBkg); + + HRESULT ( STDMETHODCALLTYPE *SetMixingPrefs )( + IVMRMixerControl9 * This, + /* [in] */ DWORD dwMixerPrefs); + + HRESULT ( STDMETHODCALLTYPE *GetMixingPrefs )( + IVMRMixerControl9 * This, + /* [out] */ DWORD *pdwMixerPrefs); + + HRESULT ( STDMETHODCALLTYPE *SetProcAmpControl )( + IVMRMixerControl9 * This, + /* [in] */ DWORD dwStreamID, + /* [in] */ VMR9ProcAmpControl *lpClrControl); + + HRESULT ( STDMETHODCALLTYPE *GetProcAmpControl )( + IVMRMixerControl9 * This, + /* [in] */ DWORD dwStreamID, + /* [out][in] */ VMR9ProcAmpControl *lpClrControl); + + HRESULT ( STDMETHODCALLTYPE *GetProcAmpControlRange )( + IVMRMixerControl9 * This, + /* [in] */ DWORD dwStreamID, + /* [out][in] */ VMR9ProcAmpControlRange *lpClrControl); + + END_INTERFACE + } IVMRMixerControl9Vtbl; + + interface IVMRMixerControl9 + { + CONST_VTBL struct IVMRMixerControl9Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IVMRMixerControl9_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IVMRMixerControl9_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IVMRMixerControl9_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IVMRMixerControl9_SetAlpha(This,dwStreamID,Alpha) \ + (This)->lpVtbl -> SetAlpha(This,dwStreamID,Alpha) + +#define IVMRMixerControl9_GetAlpha(This,dwStreamID,pAlpha) \ + (This)->lpVtbl -> GetAlpha(This,dwStreamID,pAlpha) + +#define IVMRMixerControl9_SetZOrder(This,dwStreamID,dwZ) \ + (This)->lpVtbl -> SetZOrder(This,dwStreamID,dwZ) + +#define IVMRMixerControl9_GetZOrder(This,dwStreamID,pZ) \ + (This)->lpVtbl -> GetZOrder(This,dwStreamID,pZ) + +#define IVMRMixerControl9_SetOutputRect(This,dwStreamID,pRect) \ + (This)->lpVtbl -> SetOutputRect(This,dwStreamID,pRect) + +#define IVMRMixerControl9_GetOutputRect(This,dwStreamID,pRect) \ + (This)->lpVtbl -> GetOutputRect(This,dwStreamID,pRect) + +#define IVMRMixerControl9_SetBackgroundClr(This,ClrBkg) \ + (This)->lpVtbl -> SetBackgroundClr(This,ClrBkg) + +#define IVMRMixerControl9_GetBackgroundClr(This,lpClrBkg) \ + (This)->lpVtbl -> GetBackgroundClr(This,lpClrBkg) + +#define IVMRMixerControl9_SetMixingPrefs(This,dwMixerPrefs) \ + (This)->lpVtbl -> SetMixingPrefs(This,dwMixerPrefs) + +#define IVMRMixerControl9_GetMixingPrefs(This,pdwMixerPrefs) \ + (This)->lpVtbl -> GetMixingPrefs(This,pdwMixerPrefs) + +#define IVMRMixerControl9_SetProcAmpControl(This,dwStreamID,lpClrControl) \ + (This)->lpVtbl -> SetProcAmpControl(This,dwStreamID,lpClrControl) + +#define IVMRMixerControl9_GetProcAmpControl(This,dwStreamID,lpClrControl) \ + (This)->lpVtbl -> GetProcAmpControl(This,dwStreamID,lpClrControl) + +#define IVMRMixerControl9_GetProcAmpControlRange(This,dwStreamID,lpClrControl) \ + (This)->lpVtbl -> GetProcAmpControlRange(This,dwStreamID,lpClrControl) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetAlpha_Proxy( + IVMRMixerControl9 * This, + /* [in] */ DWORD dwStreamID, + /* [in] */ float Alpha); + + +void __RPC_STUB IVMRMixerControl9_SetAlpha_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetAlpha_Proxy( + IVMRMixerControl9 * This, + /* [in] */ DWORD dwStreamID, + /* [out] */ float *pAlpha); + + +void __RPC_STUB IVMRMixerControl9_GetAlpha_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetZOrder_Proxy( + IVMRMixerControl9 * This, + /* [in] */ DWORD dwStreamID, + /* [in] */ DWORD dwZ); + + +void __RPC_STUB IVMRMixerControl9_SetZOrder_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetZOrder_Proxy( + IVMRMixerControl9 * This, + /* [in] */ DWORD dwStreamID, + /* [out] */ DWORD *pZ); + + +void __RPC_STUB IVMRMixerControl9_GetZOrder_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetOutputRect_Proxy( + IVMRMixerControl9 * This, + /* [in] */ DWORD dwStreamID, + /* [in] */ const VMR9NormalizedRect *pRect); + + +void __RPC_STUB IVMRMixerControl9_SetOutputRect_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetOutputRect_Proxy( + IVMRMixerControl9 * This, + /* [in] */ DWORD dwStreamID, + /* [out] */ VMR9NormalizedRect *pRect); + + +void __RPC_STUB IVMRMixerControl9_GetOutputRect_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetBackgroundClr_Proxy( + IVMRMixerControl9 * This, + /* [in] */ COLORREF ClrBkg); + + +void __RPC_STUB IVMRMixerControl9_SetBackgroundClr_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetBackgroundClr_Proxy( + IVMRMixerControl9 * This, + /* [in] */ COLORREF *lpClrBkg); + + +void __RPC_STUB IVMRMixerControl9_GetBackgroundClr_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetMixingPrefs_Proxy( + IVMRMixerControl9 * This, + /* [in] */ DWORD dwMixerPrefs); + + +void __RPC_STUB IVMRMixerControl9_SetMixingPrefs_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetMixingPrefs_Proxy( + IVMRMixerControl9 * This, + /* [out] */ DWORD *pdwMixerPrefs); + + +void __RPC_STUB IVMRMixerControl9_GetMixingPrefs_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetProcAmpControl_Proxy( + IVMRMixerControl9 * This, + /* [in] */ DWORD dwStreamID, + /* [in] */ VMR9ProcAmpControl *lpClrControl); + + +void __RPC_STUB IVMRMixerControl9_SetProcAmpControl_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetProcAmpControl_Proxy( + IVMRMixerControl9 * This, + /* [in] */ DWORD dwStreamID, + /* [out][in] */ VMR9ProcAmpControl *lpClrControl); + + +void __RPC_STUB IVMRMixerControl9_GetProcAmpControl_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetProcAmpControlRange_Proxy( + IVMRMixerControl9 * This, + /* [in] */ DWORD dwStreamID, + /* [out][in] */ VMR9ProcAmpControlRange *lpClrControl); + + +void __RPC_STUB IVMRMixerControl9_GetProcAmpControlRange_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IVMRMixerControl9_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_vmr9_0013 */ +/* [local] */ + +typedef struct _VMR9AlphaBitmap + { + DWORD dwFlags; + HDC hdc; + IDirect3DSurface9 *pDDS; + RECT rSrc; + VMR9NormalizedRect rDest; + FLOAT fAlpha; + COLORREF clrSrcKey; + DWORD dwFilterMode; + } VMR9AlphaBitmap; + +typedef /* [public] */ +enum __MIDL___MIDL_itf_vmr9_0013_0001 + { VMR9AlphaBitmap_Disable = 0x1, + VMR9AlphaBitmap_hDC = 0x2, + VMR9AlphaBitmap_EntireDDS = 0x4, + VMR9AlphaBitmap_SrcColorKey = 0x8, + VMR9AlphaBitmap_SrcRect = 0x10, + VMR9AlphaBitmap_FilterMode = 0x20 + } VMR9AlphaBitmapFlags; + + + +extern RPC_IF_HANDLE __MIDL_itf_vmr9_0013_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_vmr9_0013_v0_0_s_ifspec; + +#ifndef __IVMRMixerBitmap9_INTERFACE_DEFINED__ +#define __IVMRMixerBitmap9_INTERFACE_DEFINED__ + +/* interface IVMRMixerBitmap9 */ +/* [unique][helpstring][uuid][local][object] */ + + +EXTERN_C const IID IID_IVMRMixerBitmap9; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("ced175e5-1935-4820-81bd-ff6ad00c9108") + IVMRMixerBitmap9 : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE SetAlphaBitmap( + /* [in] */ const VMR9AlphaBitmap *pBmpParms) = 0; + + virtual HRESULT STDMETHODCALLTYPE UpdateAlphaBitmapParameters( + /* [in] */ const VMR9AlphaBitmap *pBmpParms) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAlphaBitmapParameters( + /* [out] */ VMR9AlphaBitmap *pBmpParms) = 0; + + }; + +#else /* C style interface */ + + typedef struct IVMRMixerBitmap9Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IVMRMixerBitmap9 * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IVMRMixerBitmap9 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IVMRMixerBitmap9 * This); + + HRESULT ( STDMETHODCALLTYPE *SetAlphaBitmap )( + IVMRMixerBitmap9 * This, + /* [in] */ const VMR9AlphaBitmap *pBmpParms); + + HRESULT ( STDMETHODCALLTYPE *UpdateAlphaBitmapParameters )( + IVMRMixerBitmap9 * This, + /* [in] */ const VMR9AlphaBitmap *pBmpParms); + + HRESULT ( STDMETHODCALLTYPE *GetAlphaBitmapParameters )( + IVMRMixerBitmap9 * This, + /* [out] */ VMR9AlphaBitmap *pBmpParms); + + END_INTERFACE + } IVMRMixerBitmap9Vtbl; + + interface IVMRMixerBitmap9 + { + CONST_VTBL struct IVMRMixerBitmap9Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IVMRMixerBitmap9_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IVMRMixerBitmap9_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IVMRMixerBitmap9_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IVMRMixerBitmap9_SetAlphaBitmap(This,pBmpParms) \ + (This)->lpVtbl -> SetAlphaBitmap(This,pBmpParms) + +#define IVMRMixerBitmap9_UpdateAlphaBitmapParameters(This,pBmpParms) \ + (This)->lpVtbl -> UpdateAlphaBitmapParameters(This,pBmpParms) + +#define IVMRMixerBitmap9_GetAlphaBitmapParameters(This,pBmpParms) \ + (This)->lpVtbl -> GetAlphaBitmapParameters(This,pBmpParms) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +HRESULT STDMETHODCALLTYPE IVMRMixerBitmap9_SetAlphaBitmap_Proxy( + IVMRMixerBitmap9 * This, + /* [in] */ const VMR9AlphaBitmap *pBmpParms); + + +void __RPC_STUB IVMRMixerBitmap9_SetAlphaBitmap_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRMixerBitmap9_UpdateAlphaBitmapParameters_Proxy( + IVMRMixerBitmap9 * This, + /* [in] */ const VMR9AlphaBitmap *pBmpParms); + + +void __RPC_STUB IVMRMixerBitmap9_UpdateAlphaBitmapParameters_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRMixerBitmap9_GetAlphaBitmapParameters_Proxy( + IVMRMixerBitmap9 * This, + /* [out] */ VMR9AlphaBitmap *pBmpParms); + + +void __RPC_STUB IVMRMixerBitmap9_GetAlphaBitmapParameters_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IVMRMixerBitmap9_INTERFACE_DEFINED__ */ + + +#ifndef __IVMRSurface9_INTERFACE_DEFINED__ +#define __IVMRSurface9_INTERFACE_DEFINED__ + +/* interface IVMRSurface9 */ +/* [unique][helpstring][uuid][local][object][local] */ + + +EXTERN_C const IID IID_IVMRSurface9; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("dfc581a1-6e1f-4c3a-8d0a-5e9792ea2afc") + IVMRSurface9 : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE IsSurfaceLocked( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE LockSurface( + /* [out] */ BYTE **lpSurface) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnlockSurface( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSurface( + /* [out] */ IDirect3DSurface9 **lplpSurface) = 0; + + }; + +#else /* C style interface */ + + typedef struct IVMRSurface9Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IVMRSurface9 * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IVMRSurface9 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IVMRSurface9 * This); + + HRESULT ( STDMETHODCALLTYPE *IsSurfaceLocked )( + IVMRSurface9 * This); + + HRESULT ( STDMETHODCALLTYPE *LockSurface )( + IVMRSurface9 * This, + /* [out] */ BYTE **lpSurface); + + HRESULT ( STDMETHODCALLTYPE *UnlockSurface )( + IVMRSurface9 * This); + + HRESULT ( STDMETHODCALLTYPE *GetSurface )( + IVMRSurface9 * This, + /* [out] */ IDirect3DSurface9 **lplpSurface); + + END_INTERFACE + } IVMRSurface9Vtbl; + + interface IVMRSurface9 + { + CONST_VTBL struct IVMRSurface9Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IVMRSurface9_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IVMRSurface9_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IVMRSurface9_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IVMRSurface9_IsSurfaceLocked(This) \ + (This)->lpVtbl -> IsSurfaceLocked(This) + +#define IVMRSurface9_LockSurface(This,lpSurface) \ + (This)->lpVtbl -> LockSurface(This,lpSurface) + +#define IVMRSurface9_UnlockSurface(This) \ + (This)->lpVtbl -> UnlockSurface(This) + +#define IVMRSurface9_GetSurface(This,lplpSurface) \ + (This)->lpVtbl -> GetSurface(This,lplpSurface) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +HRESULT STDMETHODCALLTYPE IVMRSurface9_IsSurfaceLocked_Proxy( + IVMRSurface9 * This); + + +void __RPC_STUB IVMRSurface9_IsSurfaceLocked_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRSurface9_LockSurface_Proxy( + IVMRSurface9 * This, + /* [out] */ BYTE **lpSurface); + + +void __RPC_STUB IVMRSurface9_LockSurface_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRSurface9_UnlockSurface_Proxy( + IVMRSurface9 * This); + + +void __RPC_STUB IVMRSurface9_UnlockSurface_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRSurface9_GetSurface_Proxy( + IVMRSurface9 * This, + /* [out] */ IDirect3DSurface9 **lplpSurface); + + +void __RPC_STUB IVMRSurface9_GetSurface_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IVMRSurface9_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_vmr9_0015 */ +/* [local] */ + +typedef /* [public] */ +enum __MIDL___MIDL_itf_vmr9_0015_0001 + { RenderPrefs9_DoNotRenderBorder = 0x1, + RenderPrefs9_Mask = 0x1 + } VMR9RenderPrefs; + + + +extern RPC_IF_HANDLE __MIDL_itf_vmr9_0015_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_vmr9_0015_v0_0_s_ifspec; + +#ifndef __IVMRImagePresenterConfig9_INTERFACE_DEFINED__ +#define __IVMRImagePresenterConfig9_INTERFACE_DEFINED__ + +/* interface IVMRImagePresenterConfig9 */ +/* [unique][helpstring][uuid][local][object][local] */ + + +EXTERN_C const IID IID_IVMRImagePresenterConfig9; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("45c15cab-6e22-420a-8043-ae1f0ac02c7d") + IVMRImagePresenterConfig9 : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE SetRenderingPrefs( + /* [in] */ DWORD dwRenderFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRenderingPrefs( + /* [out] */ DWORD *dwRenderFlags) = 0; + + }; + +#else /* C style interface */ + + typedef struct IVMRImagePresenterConfig9Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IVMRImagePresenterConfig9 * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IVMRImagePresenterConfig9 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IVMRImagePresenterConfig9 * This); + + HRESULT ( STDMETHODCALLTYPE *SetRenderingPrefs )( + IVMRImagePresenterConfig9 * This, + /* [in] */ DWORD dwRenderFlags); + + HRESULT ( STDMETHODCALLTYPE *GetRenderingPrefs )( + IVMRImagePresenterConfig9 * This, + /* [out] */ DWORD *dwRenderFlags); + + END_INTERFACE + } IVMRImagePresenterConfig9Vtbl; + + interface IVMRImagePresenterConfig9 + { + CONST_VTBL struct IVMRImagePresenterConfig9Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IVMRImagePresenterConfig9_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IVMRImagePresenterConfig9_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IVMRImagePresenterConfig9_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IVMRImagePresenterConfig9_SetRenderingPrefs(This,dwRenderFlags) \ + (This)->lpVtbl -> SetRenderingPrefs(This,dwRenderFlags) + +#define IVMRImagePresenterConfig9_GetRenderingPrefs(This,dwRenderFlags) \ + (This)->lpVtbl -> GetRenderingPrefs(This,dwRenderFlags) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +HRESULT STDMETHODCALLTYPE IVMRImagePresenterConfig9_SetRenderingPrefs_Proxy( + IVMRImagePresenterConfig9 * This, + /* [in] */ DWORD dwRenderFlags); + + +void __RPC_STUB IVMRImagePresenterConfig9_SetRenderingPrefs_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRImagePresenterConfig9_GetRenderingPrefs_Proxy( + IVMRImagePresenterConfig9 * This, + /* [out] */ DWORD *dwRenderFlags); + + +void __RPC_STUB IVMRImagePresenterConfig9_GetRenderingPrefs_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IVMRImagePresenterConfig9_INTERFACE_DEFINED__ */ + + +#ifndef __IVMRVideoStreamControl9_INTERFACE_DEFINED__ +#define __IVMRVideoStreamControl9_INTERFACE_DEFINED__ + +/* interface IVMRVideoStreamControl9 */ +/* [unique][helpstring][uuid][local][object] */ + + +EXTERN_C const IID IID_IVMRVideoStreamControl9; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("d0cfe38b-93e7-4772-8957-0400c49a4485") + IVMRVideoStreamControl9 : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE SetStreamActiveState( + /* [in] */ BOOL fActive) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStreamActiveState( + /* [out] */ BOOL *lpfActive) = 0; + + }; + +#else /* C style interface */ + + typedef struct IVMRVideoStreamControl9Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IVMRVideoStreamControl9 * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IVMRVideoStreamControl9 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IVMRVideoStreamControl9 * This); + + HRESULT ( STDMETHODCALLTYPE *SetStreamActiveState )( + IVMRVideoStreamControl9 * This, + /* [in] */ BOOL fActive); + + HRESULT ( STDMETHODCALLTYPE *GetStreamActiveState )( + IVMRVideoStreamControl9 * This, + /* [out] */ BOOL *lpfActive); + + END_INTERFACE + } IVMRVideoStreamControl9Vtbl; + + interface IVMRVideoStreamControl9 + { + CONST_VTBL struct IVMRVideoStreamControl9Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IVMRVideoStreamControl9_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IVMRVideoStreamControl9_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IVMRVideoStreamControl9_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IVMRVideoStreamControl9_SetStreamActiveState(This,fActive) \ + (This)->lpVtbl -> SetStreamActiveState(This,fActive) + +#define IVMRVideoStreamControl9_GetStreamActiveState(This,lpfActive) \ + (This)->lpVtbl -> GetStreamActiveState(This,lpfActive) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl9_SetStreamActiveState_Proxy( + IVMRVideoStreamControl9 * This, + /* [in] */ BOOL fActive); + + +void __RPC_STUB IVMRVideoStreamControl9_SetStreamActiveState_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl9_GetStreamActiveState_Proxy( + IVMRVideoStreamControl9 * This, + /* [out] */ BOOL *lpfActive); + + +void __RPC_STUB IVMRVideoStreamControl9_GetStreamActiveState_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IVMRVideoStreamControl9_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_vmr9_0017 */ +/* [local] */ + +typedef /* [public] */ +enum __MIDL___MIDL_itf_vmr9_0017_0001 + { VMR9Mode_Windowed = 0x1, + VMR9Mode_Windowless = 0x2, + VMR9Mode_Renderless = 0x4, + VMR9Mode_Mask = 0x7 + } VMR9Mode; + + + +extern RPC_IF_HANDLE __MIDL_itf_vmr9_0017_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_vmr9_0017_v0_0_s_ifspec; + +#ifndef __IVMRFilterConfig9_INTERFACE_DEFINED__ +#define __IVMRFilterConfig9_INTERFACE_DEFINED__ + +/* interface IVMRFilterConfig9 */ +/* [unique][helpstring][uuid][local][object] */ + + +EXTERN_C const IID IID_IVMRFilterConfig9; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("5a804648-4f66-4867-9c43-4f5c822cf1b8") + IVMRFilterConfig9 : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE SetImageCompositor( + /* [in] */ IVMRImageCompositor9 *lpVMRImgCompositor) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetNumberOfStreams( + /* [in] */ DWORD dwMaxStreams) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetNumberOfStreams( + /* [out] */ DWORD *pdwMaxStreams) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetRenderingPrefs( + /* [in] */ DWORD dwRenderFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRenderingPrefs( + /* [out] */ DWORD *pdwRenderFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetRenderingMode( + /* [in] */ DWORD Mode) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRenderingMode( + /* [out] */ DWORD *pMode) = 0; + + }; + +#else /* C style interface */ + + typedef struct IVMRFilterConfig9Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IVMRFilterConfig9 * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IVMRFilterConfig9 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IVMRFilterConfig9 * This); + + HRESULT ( STDMETHODCALLTYPE *SetImageCompositor )( + IVMRFilterConfig9 * This, + /* [in] */ IVMRImageCompositor9 *lpVMRImgCompositor); + + HRESULT ( STDMETHODCALLTYPE *SetNumberOfStreams )( + IVMRFilterConfig9 * This, + /* [in] */ DWORD dwMaxStreams); + + HRESULT ( STDMETHODCALLTYPE *GetNumberOfStreams )( + IVMRFilterConfig9 * This, + /* [out] */ DWORD *pdwMaxStreams); + + HRESULT ( STDMETHODCALLTYPE *SetRenderingPrefs )( + IVMRFilterConfig9 * This, + /* [in] */ DWORD dwRenderFlags); + + HRESULT ( STDMETHODCALLTYPE *GetRenderingPrefs )( + IVMRFilterConfig9 * This, + /* [out] */ DWORD *pdwRenderFlags); + + HRESULT ( STDMETHODCALLTYPE *SetRenderingMode )( + IVMRFilterConfig9 * This, + /* [in] */ DWORD Mode); + + HRESULT ( STDMETHODCALLTYPE *GetRenderingMode )( + IVMRFilterConfig9 * This, + /* [out] */ DWORD *pMode); + + END_INTERFACE + } IVMRFilterConfig9Vtbl; + + interface IVMRFilterConfig9 + { + CONST_VTBL struct IVMRFilterConfig9Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IVMRFilterConfig9_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IVMRFilterConfig9_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IVMRFilterConfig9_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IVMRFilterConfig9_SetImageCompositor(This,lpVMRImgCompositor) \ + (This)->lpVtbl -> SetImageCompositor(This,lpVMRImgCompositor) + +#define IVMRFilterConfig9_SetNumberOfStreams(This,dwMaxStreams) \ + (This)->lpVtbl -> SetNumberOfStreams(This,dwMaxStreams) + +#define IVMRFilterConfig9_GetNumberOfStreams(This,pdwMaxStreams) \ + (This)->lpVtbl -> GetNumberOfStreams(This,pdwMaxStreams) + +#define IVMRFilterConfig9_SetRenderingPrefs(This,dwRenderFlags) \ + (This)->lpVtbl -> SetRenderingPrefs(This,dwRenderFlags) + +#define IVMRFilterConfig9_GetRenderingPrefs(This,pdwRenderFlags) \ + (This)->lpVtbl -> GetRenderingPrefs(This,pdwRenderFlags) + +#define IVMRFilterConfig9_SetRenderingMode(This,Mode) \ + (This)->lpVtbl -> SetRenderingMode(This,Mode) + +#define IVMRFilterConfig9_GetRenderingMode(This,pMode) \ + (This)->lpVtbl -> GetRenderingMode(This,pMode) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_SetImageCompositor_Proxy( + IVMRFilterConfig9 * This, + /* [in] */ IVMRImageCompositor9 *lpVMRImgCompositor); + + +void __RPC_STUB IVMRFilterConfig9_SetImageCompositor_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_SetNumberOfStreams_Proxy( + IVMRFilterConfig9 * This, + /* [in] */ DWORD dwMaxStreams); + + +void __RPC_STUB IVMRFilterConfig9_SetNumberOfStreams_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_GetNumberOfStreams_Proxy( + IVMRFilterConfig9 * This, + /* [out] */ DWORD *pdwMaxStreams); + + +void __RPC_STUB IVMRFilterConfig9_GetNumberOfStreams_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_SetRenderingPrefs_Proxy( + IVMRFilterConfig9 * This, + /* [in] */ DWORD dwRenderFlags); + + +void __RPC_STUB IVMRFilterConfig9_SetRenderingPrefs_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_GetRenderingPrefs_Proxy( + IVMRFilterConfig9 * This, + /* [out] */ DWORD *pdwRenderFlags); + + +void __RPC_STUB IVMRFilterConfig9_GetRenderingPrefs_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_SetRenderingMode_Proxy( + IVMRFilterConfig9 * This, + /* [in] */ DWORD Mode); + + +void __RPC_STUB IVMRFilterConfig9_SetRenderingMode_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_GetRenderingMode_Proxy( + IVMRFilterConfig9 * This, + /* [out] */ DWORD *pMode); + + +void __RPC_STUB IVMRFilterConfig9_GetRenderingMode_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IVMRFilterConfig9_INTERFACE_DEFINED__ */ + + +#ifndef __IVMRAspectRatioControl9_INTERFACE_DEFINED__ +#define __IVMRAspectRatioControl9_INTERFACE_DEFINED__ + +/* interface IVMRAspectRatioControl9 */ +/* [unique][helpstring][uuid][local][object] */ + + +EXTERN_C const IID IID_IVMRAspectRatioControl9; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("00d96c29-bbde-4efc-9901-bb5036392146") + IVMRAspectRatioControl9 : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE GetAspectRatioMode( + /* [out] */ LPDWORD lpdwARMode) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAspectRatioMode( + /* [in] */ DWORD dwARMode) = 0; + + }; + +#else /* C style interface */ + + typedef struct IVMRAspectRatioControl9Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IVMRAspectRatioControl9 * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IVMRAspectRatioControl9 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IVMRAspectRatioControl9 * This); + + HRESULT ( STDMETHODCALLTYPE *GetAspectRatioMode )( + IVMRAspectRatioControl9 * This, + /* [out] */ LPDWORD lpdwARMode); + + HRESULT ( STDMETHODCALLTYPE *SetAspectRatioMode )( + IVMRAspectRatioControl9 * This, + /* [in] */ DWORD dwARMode); + + END_INTERFACE + } IVMRAspectRatioControl9Vtbl; + + interface IVMRAspectRatioControl9 + { + CONST_VTBL struct IVMRAspectRatioControl9Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IVMRAspectRatioControl9_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IVMRAspectRatioControl9_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IVMRAspectRatioControl9_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IVMRAspectRatioControl9_GetAspectRatioMode(This,lpdwARMode) \ + (This)->lpVtbl -> GetAspectRatioMode(This,lpdwARMode) + +#define IVMRAspectRatioControl9_SetAspectRatioMode(This,dwARMode) \ + (This)->lpVtbl -> SetAspectRatioMode(This,dwARMode) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +HRESULT STDMETHODCALLTYPE IVMRAspectRatioControl9_GetAspectRatioMode_Proxy( + IVMRAspectRatioControl9 * This, + /* [out] */ LPDWORD lpdwARMode); + + +void __RPC_STUB IVMRAspectRatioControl9_GetAspectRatioMode_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRAspectRatioControl9_SetAspectRatioMode_Proxy( + IVMRAspectRatioControl9 * This, + /* [in] */ DWORD dwARMode); + + +void __RPC_STUB IVMRAspectRatioControl9_SetAspectRatioMode_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IVMRAspectRatioControl9_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_vmr9_0019 */ +/* [local] */ + +typedef struct _VMR9MonitorInfo + { + UINT uDevID; + RECT rcMonitor; + HMONITOR hMon; + DWORD dwFlags; + wchar_t szDevice[ 32 ]; + wchar_t szDescription[ 512 ]; + LARGE_INTEGER liDriverVersion; + DWORD dwVendorId; + DWORD dwDeviceId; + DWORD dwSubSysId; + DWORD dwRevision; + } VMR9MonitorInfo; + + + +extern RPC_IF_HANDLE __MIDL_itf_vmr9_0019_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_vmr9_0019_v0_0_s_ifspec; + +#ifndef __IVMRMonitorConfig9_INTERFACE_DEFINED__ +#define __IVMRMonitorConfig9_INTERFACE_DEFINED__ + +/* interface IVMRMonitorConfig9 */ +/* [unique][helpstring][uuid][local][object] */ + + +EXTERN_C const IID IID_IVMRMonitorConfig9; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("46c2e457-8ba0-4eef-b80b-0680f0978749") + IVMRMonitorConfig9 : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE SetMonitor( + /* [in] */ UINT uDev) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMonitor( + /* [out] */ UINT *puDev) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetDefaultMonitor( + /* [in] */ UINT uDev) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDefaultMonitor( + /* [out] */ UINT *puDev) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAvailableMonitors( + /* [size_is][out] */ VMR9MonitorInfo *pInfo, + /* [in] */ DWORD dwMaxInfoArraySize, + /* [out] */ DWORD *pdwNumDevices) = 0; + + }; + +#else /* C style interface */ + + typedef struct IVMRMonitorConfig9Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IVMRMonitorConfig9 * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IVMRMonitorConfig9 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IVMRMonitorConfig9 * This); + + HRESULT ( STDMETHODCALLTYPE *SetMonitor )( + IVMRMonitorConfig9 * This, + /* [in] */ UINT uDev); + + HRESULT ( STDMETHODCALLTYPE *GetMonitor )( + IVMRMonitorConfig9 * This, + /* [out] */ UINT *puDev); + + HRESULT ( STDMETHODCALLTYPE *SetDefaultMonitor )( + IVMRMonitorConfig9 * This, + /* [in] */ UINT uDev); + + HRESULT ( STDMETHODCALLTYPE *GetDefaultMonitor )( + IVMRMonitorConfig9 * This, + /* [out] */ UINT *puDev); + + HRESULT ( STDMETHODCALLTYPE *GetAvailableMonitors )( + IVMRMonitorConfig9 * This, + /* [size_is][out] */ VMR9MonitorInfo *pInfo, + /* [in] */ DWORD dwMaxInfoArraySize, + /* [out] */ DWORD *pdwNumDevices); + + END_INTERFACE + } IVMRMonitorConfig9Vtbl; + + interface IVMRMonitorConfig9 + { + CONST_VTBL struct IVMRMonitorConfig9Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IVMRMonitorConfig9_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IVMRMonitorConfig9_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IVMRMonitorConfig9_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IVMRMonitorConfig9_SetMonitor(This,uDev) \ + (This)->lpVtbl -> SetMonitor(This,uDev) + +#define IVMRMonitorConfig9_GetMonitor(This,puDev) \ + (This)->lpVtbl -> GetMonitor(This,puDev) + +#define IVMRMonitorConfig9_SetDefaultMonitor(This,uDev) \ + (This)->lpVtbl -> SetDefaultMonitor(This,uDev) + +#define IVMRMonitorConfig9_GetDefaultMonitor(This,puDev) \ + (This)->lpVtbl -> GetDefaultMonitor(This,puDev) + +#define IVMRMonitorConfig9_GetAvailableMonitors(This,pInfo,dwMaxInfoArraySize,pdwNumDevices) \ + (This)->lpVtbl -> GetAvailableMonitors(This,pInfo,dwMaxInfoArraySize,pdwNumDevices) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +HRESULT STDMETHODCALLTYPE IVMRMonitorConfig9_SetMonitor_Proxy( + IVMRMonitorConfig9 * This, + /* [in] */ UINT uDev); + + +void __RPC_STUB IVMRMonitorConfig9_SetMonitor_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRMonitorConfig9_GetMonitor_Proxy( + IVMRMonitorConfig9 * This, + /* [out] */ UINT *puDev); + + +void __RPC_STUB IVMRMonitorConfig9_GetMonitor_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRMonitorConfig9_SetDefaultMonitor_Proxy( + IVMRMonitorConfig9 * This, + /* [in] */ UINT uDev); + + +void __RPC_STUB IVMRMonitorConfig9_SetDefaultMonitor_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRMonitorConfig9_GetDefaultMonitor_Proxy( + IVMRMonitorConfig9 * This, + /* [out] */ UINT *puDev); + + +void __RPC_STUB IVMRMonitorConfig9_GetDefaultMonitor_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRMonitorConfig9_GetAvailableMonitors_Proxy( + IVMRMonitorConfig9 * This, + /* [size_is][out] */ VMR9MonitorInfo *pInfo, + /* [in] */ DWORD dwMaxInfoArraySize, + /* [out] */ DWORD *pdwNumDevices); + + +void __RPC_STUB IVMRMonitorConfig9_GetAvailableMonitors_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IVMRMonitorConfig9_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_vmr9_0020 */ +/* [local] */ + +typedef /* [public] */ +enum __MIDL___MIDL_itf_vmr9_0020_0001 + { DeinterlacePref9_NextBest = 0x1, + DeinterlacePref9_BOB = 0x2, + DeinterlacePref9_Weave = 0x4, + DeinterlacePref9_Mask = 0x7 + } VMR9DeinterlacePrefs; + +typedef /* [public][public][public] */ +enum __MIDL___MIDL_itf_vmr9_0020_0002 + { DeinterlaceTech9_Unknown = 0, + DeinterlaceTech9_BOBLineReplicate = 0x1, + DeinterlaceTech9_BOBVerticalStretch = 0x2, + DeinterlaceTech9_MedianFiltering = 0x4, + DeinterlaceTech9_EdgeFiltering = 0x10, + DeinterlaceTech9_FieldAdaptive = 0x20, + DeinterlaceTech9_PixelAdaptive = 0x40, + DeinterlaceTech9_MotionVectorSteered = 0x80 + } VMR9DeinterlaceTech; + +typedef struct _VMR9Frequency + { + DWORD dwNumerator; + DWORD dwDenominator; + } VMR9Frequency; + +typedef +enum _VMR9_SampleFormat + { VMR9_SampleReserved = 1, + VMR9_SampleProgressiveFrame = 2, + VMR9_SampleFieldInterleavedEvenFirst = 3, + VMR9_SampleFieldInterleavedOddFirst = 4, + VMR9_SampleFieldSingleEven = 5, + VMR9_SampleFieldSingleOdd = 6 + } VMR9_SampleFormat; + +typedef struct _VMR9VideoDesc + { + DWORD dwSize; + DWORD dwSampleWidth; + DWORD dwSampleHeight; + VMR9_SampleFormat SampleFormat; + DWORD dwFourCC; + VMR9Frequency InputSampleFreq; + VMR9Frequency OutputFrameFreq; + } VMR9VideoDesc; + +typedef struct _VMR9DeinterlaceCaps + { + DWORD dwSize; + DWORD dwNumPreviousOutputFrames; + DWORD dwNumForwardRefSamples; + DWORD dwNumBackwardRefSamples; + VMR9DeinterlaceTech DeinterlaceTechnology; + } VMR9DeinterlaceCaps; + + + +extern RPC_IF_HANDLE __MIDL_itf_vmr9_0020_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_vmr9_0020_v0_0_s_ifspec; + +#ifndef __IVMRDeinterlaceControl9_INTERFACE_DEFINED__ +#define __IVMRDeinterlaceControl9_INTERFACE_DEFINED__ + +/* interface IVMRDeinterlaceControl9 */ +/* [unique][helpstring][uuid][local][object] */ + + +EXTERN_C const IID IID_IVMRDeinterlaceControl9; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("a215fb8d-13c2-4f7f-993c-003d6271a459") + IVMRDeinterlaceControl9 : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE GetNumberOfDeinterlaceModes( + /* [in] */ VMR9VideoDesc *lpVideoDescription, + /* [out][in] */ LPDWORD lpdwNumDeinterlaceModes, + /* [out] */ LPGUID lpDeinterlaceModes) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDeinterlaceModeCaps( + /* [in] */ LPGUID lpDeinterlaceMode, + /* [in] */ VMR9VideoDesc *lpVideoDescription, + /* [out] */ VMR9DeinterlaceCaps *lpDeinterlaceCaps) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDeinterlaceMode( + /* [in] */ DWORD dwStreamID, + /* [out] */ LPGUID lpDeinterlaceMode) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetDeinterlaceMode( + /* [in] */ DWORD dwStreamID, + /* [in] */ LPGUID lpDeinterlaceMode) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDeinterlacePrefs( + /* [out] */ LPDWORD lpdwDeinterlacePrefs) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetDeinterlacePrefs( + /* [in] */ DWORD dwDeinterlacePrefs) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetActualDeinterlaceMode( + /* [in] */ DWORD dwStreamID, + /* [out] */ LPGUID lpDeinterlaceMode) = 0; + + }; + +#else /* C style interface */ + + typedef struct IVMRDeinterlaceControl9Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IVMRDeinterlaceControl9 * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IVMRDeinterlaceControl9 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IVMRDeinterlaceControl9 * This); + + HRESULT ( STDMETHODCALLTYPE *GetNumberOfDeinterlaceModes )( + IVMRDeinterlaceControl9 * This, + /* [in] */ VMR9VideoDesc *lpVideoDescription, + /* [out][in] */ LPDWORD lpdwNumDeinterlaceModes, + /* [out] */ LPGUID lpDeinterlaceModes); + + HRESULT ( STDMETHODCALLTYPE *GetDeinterlaceModeCaps )( + IVMRDeinterlaceControl9 * This, + /* [in] */ LPGUID lpDeinterlaceMode, + /* [in] */ VMR9VideoDesc *lpVideoDescription, + /* [out] */ VMR9DeinterlaceCaps *lpDeinterlaceCaps); + + HRESULT ( STDMETHODCALLTYPE *GetDeinterlaceMode )( + IVMRDeinterlaceControl9 * This, + /* [in] */ DWORD dwStreamID, + /* [out] */ LPGUID lpDeinterlaceMode); + + HRESULT ( STDMETHODCALLTYPE *SetDeinterlaceMode )( + IVMRDeinterlaceControl9 * This, + /* [in] */ DWORD dwStreamID, + /* [in] */ LPGUID lpDeinterlaceMode); + + HRESULT ( STDMETHODCALLTYPE *GetDeinterlacePrefs )( + IVMRDeinterlaceControl9 * This, + /* [out] */ LPDWORD lpdwDeinterlacePrefs); + + HRESULT ( STDMETHODCALLTYPE *SetDeinterlacePrefs )( + IVMRDeinterlaceControl9 * This, + /* [in] */ DWORD dwDeinterlacePrefs); + + HRESULT ( STDMETHODCALLTYPE *GetActualDeinterlaceMode )( + IVMRDeinterlaceControl9 * This, + /* [in] */ DWORD dwStreamID, + /* [out] */ LPGUID lpDeinterlaceMode); + + END_INTERFACE + } IVMRDeinterlaceControl9Vtbl; + + interface IVMRDeinterlaceControl9 + { + CONST_VTBL struct IVMRDeinterlaceControl9Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IVMRDeinterlaceControl9_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IVMRDeinterlaceControl9_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IVMRDeinterlaceControl9_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IVMRDeinterlaceControl9_GetNumberOfDeinterlaceModes(This,lpVideoDescription,lpdwNumDeinterlaceModes,lpDeinterlaceModes) \ + (This)->lpVtbl -> GetNumberOfDeinterlaceModes(This,lpVideoDescription,lpdwNumDeinterlaceModes,lpDeinterlaceModes) + +#define IVMRDeinterlaceControl9_GetDeinterlaceModeCaps(This,lpDeinterlaceMode,lpVideoDescription,lpDeinterlaceCaps) \ + (This)->lpVtbl -> GetDeinterlaceModeCaps(This,lpDeinterlaceMode,lpVideoDescription,lpDeinterlaceCaps) + +#define IVMRDeinterlaceControl9_GetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) \ + (This)->lpVtbl -> GetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) + +#define IVMRDeinterlaceControl9_SetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) \ + (This)->lpVtbl -> SetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) + +#define IVMRDeinterlaceControl9_GetDeinterlacePrefs(This,lpdwDeinterlacePrefs) \ + (This)->lpVtbl -> GetDeinterlacePrefs(This,lpdwDeinterlacePrefs) + +#define IVMRDeinterlaceControl9_SetDeinterlacePrefs(This,dwDeinterlacePrefs) \ + (This)->lpVtbl -> SetDeinterlacePrefs(This,dwDeinterlacePrefs) + +#define IVMRDeinterlaceControl9_GetActualDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) \ + (This)->lpVtbl -> GetActualDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_GetNumberOfDeinterlaceModes_Proxy( + IVMRDeinterlaceControl9 * This, + /* [in] */ VMR9VideoDesc *lpVideoDescription, + /* [out][in] */ LPDWORD lpdwNumDeinterlaceModes, + /* [out] */ LPGUID lpDeinterlaceModes); + + +void __RPC_STUB IVMRDeinterlaceControl9_GetNumberOfDeinterlaceModes_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_GetDeinterlaceModeCaps_Proxy( + IVMRDeinterlaceControl9 * This, + /* [in] */ LPGUID lpDeinterlaceMode, + /* [in] */ VMR9VideoDesc *lpVideoDescription, + /* [out] */ VMR9DeinterlaceCaps *lpDeinterlaceCaps); + + +void __RPC_STUB IVMRDeinterlaceControl9_GetDeinterlaceModeCaps_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_GetDeinterlaceMode_Proxy( + IVMRDeinterlaceControl9 * This, + /* [in] */ DWORD dwStreamID, + /* [out] */ LPGUID lpDeinterlaceMode); + + +void __RPC_STUB IVMRDeinterlaceControl9_GetDeinterlaceMode_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_SetDeinterlaceMode_Proxy( + IVMRDeinterlaceControl9 * This, + /* [in] */ DWORD dwStreamID, + /* [in] */ LPGUID lpDeinterlaceMode); + + +void __RPC_STUB IVMRDeinterlaceControl9_SetDeinterlaceMode_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_GetDeinterlacePrefs_Proxy( + IVMRDeinterlaceControl9 * This, + /* [out] */ LPDWORD lpdwDeinterlacePrefs); + + +void __RPC_STUB IVMRDeinterlaceControl9_GetDeinterlacePrefs_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_SetDeinterlacePrefs_Proxy( + IVMRDeinterlaceControl9 * This, + /* [in] */ DWORD dwDeinterlacePrefs); + + +void __RPC_STUB IVMRDeinterlaceControl9_SetDeinterlacePrefs_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_GetActualDeinterlaceMode_Proxy( + IVMRDeinterlaceControl9 * This, + /* [in] */ DWORD dwStreamID, + /* [out] */ LPGUID lpDeinterlaceMode); + + +void __RPC_STUB IVMRDeinterlaceControl9_GetActualDeinterlaceMode_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IVMRDeinterlaceControl9_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_vmr9_0021 */ +/* [local] */ + +typedef struct _VMR9VideoStreamInfo + { + IDirect3DSurface9 *pddsVideoSurface; + DWORD dwWidth; + DWORD dwHeight; + DWORD dwStrmID; + FLOAT fAlpha; + VMR9NormalizedRect rNormal; + REFERENCE_TIME rtStart; + REFERENCE_TIME rtEnd; + VMR9_SampleFormat SampleFormat; + } VMR9VideoStreamInfo; + + + +extern RPC_IF_HANDLE __MIDL_itf_vmr9_0021_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_vmr9_0021_v0_0_s_ifspec; + +#ifndef __IVMRImageCompositor9_INTERFACE_DEFINED__ +#define __IVMRImageCompositor9_INTERFACE_DEFINED__ + +/* interface IVMRImageCompositor9 */ +/* [unique][helpstring][uuid][local][object][local] */ + + +EXTERN_C const IID IID_IVMRImageCompositor9; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("4a5c89eb-df51-4654-ac2a-e48e02bbabf6") + IVMRImageCompositor9 : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE InitCompositionDevice( + /* [in] */ IUnknown *pD3DDevice) = 0; + + virtual HRESULT STDMETHODCALLTYPE TermCompositionDevice( + /* [in] */ IUnknown *pD3DDevice) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetStreamMediaType( + /* [in] */ DWORD dwStrmID, + /* [in] */ AM_MEDIA_TYPE *pmt, + /* [in] */ BOOL fTexture) = 0; + + virtual HRESULT STDMETHODCALLTYPE CompositeImage( + /* [in] */ IUnknown *pD3DDevice, + /* [in] */ IDirect3DSurface9 *pddsRenderTarget, + /* [in] */ AM_MEDIA_TYPE *pmtRenderTarget, + /* [in] */ REFERENCE_TIME rtStart, + /* [in] */ REFERENCE_TIME rtEnd, + /* [in] */ D3DCOLOR dwClrBkGnd, + /* [in] */ VMR9VideoStreamInfo *pVideoStreamInfo, + /* [in] */ UINT cStreams) = 0; + + }; + +#else /* C style interface */ + + typedef struct IVMRImageCompositor9Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IVMRImageCompositor9 * This, + /* [in] */ REFIID riid, + /* [iid_is][out] */ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IVMRImageCompositor9 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IVMRImageCompositor9 * This); + + HRESULT ( STDMETHODCALLTYPE *InitCompositionDevice )( + IVMRImageCompositor9 * This, + /* [in] */ IUnknown *pD3DDevice); + + HRESULT ( STDMETHODCALLTYPE *TermCompositionDevice )( + IVMRImageCompositor9 * This, + /* [in] */ IUnknown *pD3DDevice); + + HRESULT ( STDMETHODCALLTYPE *SetStreamMediaType )( + IVMRImageCompositor9 * This, + /* [in] */ DWORD dwStrmID, + /* [in] */ AM_MEDIA_TYPE *pmt, + /* [in] */ BOOL fTexture); + + HRESULT ( STDMETHODCALLTYPE *CompositeImage )( + IVMRImageCompositor9 * This, + /* [in] */ IUnknown *pD3DDevice, + /* [in] */ IDirect3DSurface9 *pddsRenderTarget, + /* [in] */ AM_MEDIA_TYPE *pmtRenderTarget, + /* [in] */ REFERENCE_TIME rtStart, + /* [in] */ REFERENCE_TIME rtEnd, + /* [in] */ D3DCOLOR dwClrBkGnd, + /* [in] */ VMR9VideoStreamInfo *pVideoStreamInfo, + /* [in] */ UINT cStreams); + + END_INTERFACE + } IVMRImageCompositor9Vtbl; + + interface IVMRImageCompositor9 + { + CONST_VTBL struct IVMRImageCompositor9Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IVMRImageCompositor9_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IVMRImageCompositor9_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IVMRImageCompositor9_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IVMRImageCompositor9_InitCompositionDevice(This,pD3DDevice) \ + (This)->lpVtbl -> InitCompositionDevice(This,pD3DDevice) + +#define IVMRImageCompositor9_TermCompositionDevice(This,pD3DDevice) \ + (This)->lpVtbl -> TermCompositionDevice(This,pD3DDevice) + +#define IVMRImageCompositor9_SetStreamMediaType(This,dwStrmID,pmt,fTexture) \ + (This)->lpVtbl -> SetStreamMediaType(This,dwStrmID,pmt,fTexture) + +#define IVMRImageCompositor9_CompositeImage(This,pD3DDevice,pddsRenderTarget,pmtRenderTarget,rtStart,rtEnd,dwClrBkGnd,pVideoStreamInfo,cStreams) \ + (This)->lpVtbl -> CompositeImage(This,pD3DDevice,pddsRenderTarget,pmtRenderTarget,rtStart,rtEnd,dwClrBkGnd,pVideoStreamInfo,cStreams) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + +HRESULT STDMETHODCALLTYPE IVMRImageCompositor9_InitCompositionDevice_Proxy( + IVMRImageCompositor9 * This, + /* [in] */ IUnknown *pD3DDevice); + + +void __RPC_STUB IVMRImageCompositor9_InitCompositionDevice_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRImageCompositor9_TermCompositionDevice_Proxy( + IVMRImageCompositor9 * This, + /* [in] */ IUnknown *pD3DDevice); + + +void __RPC_STUB IVMRImageCompositor9_TermCompositionDevice_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRImageCompositor9_SetStreamMediaType_Proxy( + IVMRImageCompositor9 * This, + /* [in] */ DWORD dwStrmID, + /* [in] */ AM_MEDIA_TYPE *pmt, + /* [in] */ BOOL fTexture); + + +void __RPC_STUB IVMRImageCompositor9_SetStreamMediaType_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + +HRESULT STDMETHODCALLTYPE IVMRImageCompositor9_CompositeImage_Proxy( + IVMRImageCompositor9 * This, + /* [in] */ IUnknown *pD3DDevice, + /* [in] */ IDirect3DSurface9 *pddsRenderTarget, + /* [in] */ AM_MEDIA_TYPE *pmtRenderTarget, + /* [in] */ REFERENCE_TIME rtStart, + /* [in] */ REFERENCE_TIME rtEnd, + /* [in] */ D3DCOLOR dwClrBkGnd, + /* [in] */ VMR9VideoStreamInfo *pVideoStreamInfo, + /* [in] */ UINT cStreams); + + +void __RPC_STUB IVMRImageCompositor9_CompositeImage_Stub( + IRpcStubBuffer *This, + IRpcChannelBuffer *_pRpcChannelBuffer, + PRPC_MESSAGE _pRpcMessage, + DWORD *_pdwStubPhase); + + + +#endif /* __IVMRImageCompositor9_INTERFACE_DEFINED__ */ + + +/* Additional Prototypes for ALL interfaces */ + +/* end of Additional Prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif + + |