/*** Autogenerated by WIDL 1.1.44 from vmr9.idl - Do not edit ***/ #include #include #ifndef __WIDL_VMR9_H #define __WIDL_VMR9_H #ifdef __cplusplus extern "C" { #endif /* Headers for imported files */ #include /* Forward declarations */ #ifndef __IVMRImagePresenter9_FWD_DEFINED__ #define __IVMRImagePresenter9_FWD_DEFINED__ typedef interface IVMRImagePresenter9 IVMRImagePresenter9; #endif #ifndef __IVMRSurfaceAllocator9_FWD_DEFINED__ #define __IVMRSurfaceAllocator9_FWD_DEFINED__ typedef interface IVMRSurfaceAllocator9 IVMRSurfaceAllocator9; #endif #ifndef __IVMRSurfaceAllocatorEx9_FWD_DEFINED__ #define __IVMRSurfaceAllocatorEx9_FWD_DEFINED__ typedef interface IVMRSurfaceAllocatorEx9 IVMRSurfaceAllocatorEx9; #endif #ifndef __IVMRSurfaceAllocatorNotify9_FWD_DEFINED__ #define __IVMRSurfaceAllocatorNotify9_FWD_DEFINED__ typedef interface IVMRSurfaceAllocatorNotify9 IVMRSurfaceAllocatorNotify9; #endif #ifndef __IVMRWindowlessControl9_FWD_DEFINED__ #define __IVMRWindowlessControl9_FWD_DEFINED__ typedef interface IVMRWindowlessControl9 IVMRWindowlessControl9; #endif #ifndef __IVMRMixerControl9_FWD_DEFINED__ #define __IVMRMixerControl9_FWD_DEFINED__ typedef interface IVMRMixerControl9 IVMRMixerControl9; #endif #ifndef __IVMRMixerBitmap9_FWD_DEFINED__ #define __IVMRMixerBitmap9_FWD_DEFINED__ typedef interface IVMRMixerBitmap9 IVMRMixerBitmap9; #endif #ifndef __IVMRSurface9_FWD_DEFINED__ #define __IVMRSurface9_FWD_DEFINED__ typedef interface IVMRSurface9 IVMRSurface9; #endif #ifndef __IVMRImagePresenterConfig9_FWD_DEFINED__ #define __IVMRImagePresenterConfig9_FWD_DEFINED__ typedef interface IVMRImagePresenterConfig9 IVMRImagePresenterConfig9; #endif #ifndef __IVMRVideoStreamControl9_FWD_DEFINED__ #define __IVMRVideoStreamControl9_FWD_DEFINED__ typedef interface IVMRVideoStreamControl9 IVMRVideoStreamControl9; #endif #ifndef __IVMRFilterConfig9_FWD_DEFINED__ #define __IVMRFilterConfig9_FWD_DEFINED__ typedef interface IVMRFilterConfig9 IVMRFilterConfig9; #endif #ifndef __IVMRAspectRatioControl9_FWD_DEFINED__ #define __IVMRAspectRatioControl9_FWD_DEFINED__ typedef interface IVMRAspectRatioControl9 IVMRAspectRatioControl9; #endif #ifndef __IVMRMonitorConfig9_FWD_DEFINED__ #define __IVMRMonitorConfig9_FWD_DEFINED__ typedef interface IVMRMonitorConfig9 IVMRMonitorConfig9; #endif #ifndef __IVMRDeinterlaceControl9_FWD_DEFINED__ #define __IVMRDeinterlaceControl9_FWD_DEFINED__ typedef interface IVMRDeinterlaceControl9 IVMRDeinterlaceControl9; #endif #ifndef __IVMRImageCompositor9_FWD_DEFINED__ #define __IVMRImageCompositor9_FWD_DEFINED__ typedef interface IVMRImageCompositor9 IVMRImageCompositor9; #endif #if 0 #ifndef __IDirect3DSurface9_FWD_DEFINED__ #define __IDirect3DSurface9_FWD_DEFINED__ typedef interface IDirect3DSurface9 IDirect3DSurface9; #endif #ifndef __IDirect3DDevice9_FWD_DEFINED__ #define __IDirect3DDevice9_FWD_DEFINED__ typedef interface IDirect3DDevice9 IDirect3DDevice9; #endif typedef LONGLONG REFERENCE_TIME; typedef DWORD D3DFORMAT; typedef DWORD D3DPOOL; typedef HANDLE HMONITOR; typedef struct __WIDL_vmr9_generated_name_00000000 { char dummy; } AM_MEDIA_TYPE; typedef struct __WIDL_vmr9_generated_name_00000001 { char dummy; } D3DCOLOR; #endif #ifndef __IVMRSurface9_FWD_DEFINED__ #define __IVMRSurface9_FWD_DEFINED__ typedef interface IVMRSurface9 IVMRSurface9; #endif #ifndef __IVMRSurfaceAllocator9_FWD_DEFINED__ #define __IVMRSurfaceAllocator9_FWD_DEFINED__ typedef interface IVMRSurfaceAllocator9 IVMRSurfaceAllocator9; #endif #ifndef __IVMRSurfaceAllocatorEx9_FWD_DEFINED__ #define __IVMRSurfaceAllocatorEx9_FWD_DEFINED__ typedef interface IVMRSurfaceAllocatorEx9 IVMRSurfaceAllocatorEx9; #endif #ifndef __IVMRSurfaceAllocatorNotify9_FWD_DEFINED__ #define __IVMRSurfaceAllocatorNotify9_FWD_DEFINED__ typedef interface IVMRSurfaceAllocatorNotify9 IVMRSurfaceAllocatorNotify9; #endif #ifndef __IVMRImagePresenter9_FWD_DEFINED__ #define __IVMRImagePresenter9_FWD_DEFINED__ typedef interface IVMRImagePresenter9 IVMRImagePresenter9; #endif #ifndef __IVMRImagePresenterConfig9_FWD_DEFINED__ #define __IVMRImagePresenterConfig9_FWD_DEFINED__ typedef interface IVMRImagePresenterConfig9 IVMRImagePresenterConfig9; #endif #ifndef __IVMRMonitorConfig9_FWD_DEFINED__ #define __IVMRMonitorConfig9_FWD_DEFINED__ typedef interface IVMRMonitorConfig9 IVMRMonitorConfig9; #endif #ifndef __IVMRWindowlessControl9_FWD_DEFINED__ #define __IVMRWindowlessControl9_FWD_DEFINED__ typedef interface IVMRWindowlessControl9 IVMRWindowlessControl9; #endif #ifndef __IVMRMixerControl9_FWD_DEFINED__ #define __IVMRMixerControl9_FWD_DEFINED__ typedef interface IVMRMixerControl9 IVMRMixerControl9; #endif #ifndef __IVMRImageCompositor9_FWD_DEFINED__ #define __IVMRImageCompositor9_FWD_DEFINED__ typedef interface IVMRImageCompositor9 IVMRImageCompositor9; #endif #ifndef __IVMRMixerBitmap9_FWD_DEFINED__ #define __IVMRMixerBitmap9_FWD_DEFINED__ typedef interface IVMRMixerBitmap9 IVMRMixerBitmap9; #endif #ifndef __IVMRFilterConfig9_FWD_DEFINED__ #define __IVMRFilterConfig9_FWD_DEFINED__ typedef interface IVMRFilterConfig9 IVMRFilterConfig9; #endif #ifndef __IVMRAspectRatioControl9_FWD_DEFINED__ #define __IVMRAspectRatioControl9_FWD_DEFINED__ typedef interface IVMRAspectRatioControl9 IVMRAspectRatioControl9; #endif #ifndef __IVMRVideoStreamControl9_FWD_DEFINED__ #define __IVMRVideoStreamControl9_FWD_DEFINED__ typedef interface IVMRVideoStreamControl9 IVMRVideoStreamControl9; #endif typedef enum _VMR9PresentationFlags { VMR9Sample_SyncPoint = 0x1, VMR9Sample_Preroll = 0x2, VMR9Sample_Discontinuity = 0x4, VMR9Sample_TimeValid = 0x8, VMR9Sample_SrcDstRectsValid = 0x10 } 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; /***************************************************************************** * IVMRImagePresenter9 interface */ #ifndef __IVMRImagePresenter9_INTERFACE_DEFINED__ #define __IVMRImagePresenter9_INTERFACE_DEFINED__ DEFINE_GUID(IID_IVMRImagePresenter9, 0x69188c61, 0x12a3, 0x40f0, 0x8f,0xfc, 0x34,0x2e,0x7b,0x43,0x3f,0xd7); #if defined(__cplusplus) && !defined(CINTERFACE) interface IVMRImagePresenter9 : public IUnknown { virtual HRESULT STDMETHODCALLTYPE StartPresenting( DWORD_PTR id) = 0; virtual HRESULT STDMETHODCALLTYPE StopPresenting( DWORD_PTR id) = 0; virtual HRESULT STDMETHODCALLTYPE PresentImage( DWORD_PTR id, VMR9PresentationInfo *info) = 0; }; #else typedef struct IVMRImagePresenter9Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IVMRImagePresenter9* This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IVMRImagePresenter9* This); ULONG (STDMETHODCALLTYPE *Release)( IVMRImagePresenter9* This); /*** IVMRImagePresenter9 methods ***/ HRESULT (STDMETHODCALLTYPE *StartPresenting)( IVMRImagePresenter9* This, DWORD_PTR id); HRESULT (STDMETHODCALLTYPE *StopPresenting)( IVMRImagePresenter9* This, DWORD_PTR id); HRESULT (STDMETHODCALLTYPE *PresentImage)( IVMRImagePresenter9* This, DWORD_PTR id, VMR9PresentationInfo *info); END_INTERFACE } IVMRImagePresenter9Vtbl; interface IVMRImagePresenter9 { CONST_VTBL IVMRImagePresenter9Vtbl* lpVtbl; }; #ifdef COBJMACROS /*** IUnknown methods ***/ #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) /*** IVMRImagePresenter9 methods ***/ #define IVMRImagePresenter9_StartPresenting(This,id) (This)->lpVtbl->StartPresenting(This,id) #define IVMRImagePresenter9_StopPresenting(This,id) (This)->lpVtbl->StopPresenting(This,id) #define IVMRImagePresenter9_PresentImage(This,id,info) (This)->lpVtbl->PresentImage(This,id,info) #endif #endif HRESULT STDMETHODCALLTYPE IVMRImagePresenter9_StartPresenting_Proxy( IVMRImagePresenter9* This, DWORD_PTR id); void __RPC_STUB IVMRImagePresenter9_StartPresenting_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRImagePresenter9_StopPresenting_Proxy( IVMRImagePresenter9* This, DWORD_PTR id); void __RPC_STUB IVMRImagePresenter9_StopPresenting_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRImagePresenter9_PresentImage_Proxy( IVMRImagePresenter9* This, DWORD_PTR id, VMR9PresentationInfo *info); void __RPC_STUB IVMRImagePresenter9_PresentImage_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IVMRImagePresenter9_INTERFACE_DEFINED__ */ typedef enum _VMR9SurfaceAllocationFlags { VMR9AllocFlag_3DRenderTarget = 0x1, VMR9AllocFlag_DXVATarget = 0x2, VMR9AllocFlag_TextureSurface = 0x4, VMR9AllocFlag_OffscreenSurface = 0x8, VMR9AllocFlag_RGBDynamicSwitch = 0x10, VMR9AllocFlag_UsageReserved = 0xe0, VMR9AllocFlag_UsageMask = 0xff } VMR9SurfaceAllocationFlags; typedef struct _VMR9AllocationInfo { DWORD dwFlags; DWORD dwWidth; DWORD dwHeight; D3DFORMAT Format; D3DPOOL Pool; DWORD MinBuffers; SIZE szAspectRatio; SIZE szNativeSize; } VMR9AllocationInfo; /***************************************************************************** * IVMRSurfaceAllocator9 interface */ #ifndef __IVMRSurfaceAllocator9_INTERFACE_DEFINED__ #define __IVMRSurfaceAllocator9_INTERFACE_DEFINED__ DEFINE_GUID(IID_IVMRSurfaceAllocator9, 0x8d5148ea, 0x3f5d, 0x46cf, 0x9d,0xf1, 0xd1,0xb8,0x96,0xee,0xdb,0x1f); #if defined(__cplusplus) && !defined(CINTERFACE) interface IVMRSurfaceAllocator9 : public IUnknown { virtual HRESULT STDMETHODCALLTYPE InitializeDevice( DWORD_PTR id, VMR9AllocationInfo *allocinfo, DWORD *numbuffers) = 0; virtual HRESULT STDMETHODCALLTYPE TerminateDevice( DWORD_PTR id) = 0; virtual HRESULT STDMETHODCALLTYPE GetSurface( DWORD_PTR id, DWORD surfaceindex, DWORD flags, IDirect3DSurface9 **surface) = 0; virtual HRESULT STDMETHODCALLTYPE AdviseNotify( IVMRSurfaceAllocatorNotify9 *allocnotify) = 0; }; #else typedef struct IVMRSurfaceAllocator9Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IVMRSurfaceAllocator9* This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IVMRSurfaceAllocator9* This); ULONG (STDMETHODCALLTYPE *Release)( IVMRSurfaceAllocator9* This); /*** IVMRSurfaceAllocator9 methods ***/ HRESULT (STDMETHODCALLTYPE *InitializeDevice)( IVMRSurfaceAllocator9* This, DWORD_PTR id, VMR9AllocationInfo *allocinfo, DWORD *numbuffers); HRESULT (STDMETHODCALLTYPE *TerminateDevice)( IVMRSurfaceAllocator9* This, DWORD_PTR id); HRESULT (STDMETHODCALLTYPE *GetSurface)( IVMRSurfaceAllocator9* This, DWORD_PTR id, DWORD surfaceindex, DWORD flags, IDirect3DSurface9 **surface); HRESULT (STDMETHODCALLTYPE *AdviseNotify)( IVMRSurfaceAllocator9* This, IVMRSurfaceAllocatorNotify9 *allocnotify); END_INTERFACE } IVMRSurfaceAllocator9Vtbl; interface IVMRSurfaceAllocator9 { CONST_VTBL IVMRSurfaceAllocator9Vtbl* lpVtbl; }; #ifdef COBJMACROS /*** IUnknown methods ***/ #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) /*** IVMRSurfaceAllocator9 methods ***/ #define IVMRSurfaceAllocator9_InitializeDevice(This,id,allocinfo,numbuffers) (This)->lpVtbl->InitializeDevice(This,id,allocinfo,numbuffers) #define IVMRSurfaceAllocator9_TerminateDevice(This,id) (This)->lpVtbl->TerminateDevice(This,id) #define IVMRSurfaceAllocator9_GetSurface(This,id,surfaceindex,flags,surface) (This)->lpVtbl->GetSurface(This,id,surfaceindex,flags,surface) #define IVMRSurfaceAllocator9_AdviseNotify(This,allocnotify) (This)->lpVtbl->AdviseNotify(This,allocnotify) #endif #endif HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator9_InitializeDevice_Proxy( IVMRSurfaceAllocator9* This, DWORD_PTR id, VMR9AllocationInfo *allocinfo, DWORD *numbuffers); void __RPC_STUB IVMRSurfaceAllocator9_InitializeDevice_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator9_TerminateDevice_Proxy( IVMRSurfaceAllocator9* This, DWORD_PTR id); void __RPC_STUB IVMRSurfaceAllocator9_TerminateDevice_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator9_GetSurface_Proxy( IVMRSurfaceAllocator9* This, DWORD_PTR id, DWORD surfaceindex, DWORD flags, IDirect3DSurface9 **surface); void __RPC_STUB IVMRSurfaceAllocator9_GetSurface_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator9_AdviseNotify_Proxy( IVMRSurfaceAllocator9* This, IVMRSurfaceAllocatorNotify9 *allocnotify); void __RPC_STUB IVMRSurfaceAllocator9_AdviseNotify_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IVMRSurfaceAllocator9_INTERFACE_DEFINED__ */ /***************************************************************************** * IVMRSurfaceAllocatorEx9 interface */ #ifndef __IVMRSurfaceAllocatorEx9_INTERFACE_DEFINED__ #define __IVMRSurfaceAllocatorEx9_INTERFACE_DEFINED__ DEFINE_GUID(IID_IVMRSurfaceAllocatorEx9, 0x6de9a68a, 0xa928, 0x4522, 0xbf,0x57, 0x65,0x5a,0xe3,0x86,0x64,0x56); #if defined(__cplusplus) && !defined(CINTERFACE) interface IVMRSurfaceAllocatorEx9 : public IVMRSurfaceAllocator9 { virtual HRESULT STDMETHODCALLTYPE GetSurfaceEx( DWORD_PTR id, DWORD surfaceindex, DWORD flags, IDirect3DSurface9 **surface, RECT *dest) = 0; }; #else typedef struct IVMRSurfaceAllocatorEx9Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IVMRSurfaceAllocatorEx9* This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IVMRSurfaceAllocatorEx9* This); ULONG (STDMETHODCALLTYPE *Release)( IVMRSurfaceAllocatorEx9* This); /*** IVMRSurfaceAllocator9 methods ***/ HRESULT (STDMETHODCALLTYPE *InitializeDevice)( IVMRSurfaceAllocatorEx9* This, DWORD_PTR id, VMR9AllocationInfo *allocinfo, DWORD *numbuffers); HRESULT (STDMETHODCALLTYPE *TerminateDevice)( IVMRSurfaceAllocatorEx9* This, DWORD_PTR id); HRESULT (STDMETHODCALLTYPE *GetSurface)( IVMRSurfaceAllocatorEx9* This, DWORD_PTR id, DWORD surfaceindex, DWORD flags, IDirect3DSurface9 **surface); HRESULT (STDMETHODCALLTYPE *AdviseNotify)( IVMRSurfaceAllocatorEx9* This, IVMRSurfaceAllocatorNotify9 *allocnotify); /*** IVMRSurfaceAllocatorEx9 methods ***/ HRESULT (STDMETHODCALLTYPE *GetSurfaceEx)( IVMRSurfaceAllocatorEx9* This, DWORD_PTR id, DWORD surfaceindex, DWORD flags, IDirect3DSurface9 **surface, RECT *dest); END_INTERFACE } IVMRSurfaceAllocatorEx9Vtbl; interface IVMRSurfaceAllocatorEx9 { CONST_VTBL IVMRSurfaceAllocatorEx9Vtbl* lpVtbl; }; #ifdef COBJMACROS /*** IUnknown methods ***/ #define IVMRSurfaceAllocatorEx9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IVMRSurfaceAllocatorEx9_AddRef(This) (This)->lpVtbl->AddRef(This) #define IVMRSurfaceAllocatorEx9_Release(This) (This)->lpVtbl->Release(This) /*** IVMRSurfaceAllocator9 methods ***/ #define IVMRSurfaceAllocatorEx9_InitializeDevice(This,id,allocinfo,numbuffers) (This)->lpVtbl->InitializeDevice(This,id,allocinfo,numbuffers) #define IVMRSurfaceAllocatorEx9_TerminateDevice(This,id) (This)->lpVtbl->TerminateDevice(This,id) #define IVMRSurfaceAllocatorEx9_GetSurface(This,id,surfaceindex,flags,surface) (This)->lpVtbl->GetSurface(This,id,surfaceindex,flags,surface) #define IVMRSurfaceAllocatorEx9_AdviseNotify(This,allocnotify) (This)->lpVtbl->AdviseNotify(This,allocnotify) /*** IVMRSurfaceAllocatorEx9 methods ***/ #define IVMRSurfaceAllocatorEx9_GetSurfaceEx(This,id,surfaceindex,flags,surface,dest) (This)->lpVtbl->GetSurfaceEx(This,id,surfaceindex,flags,surface,dest) #endif #endif HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorEx9_GetSurfaceEx_Proxy( IVMRSurfaceAllocatorEx9* This, DWORD_PTR id, DWORD surfaceindex, DWORD flags, IDirect3DSurface9 **surface, RECT *dest); void __RPC_STUB IVMRSurfaceAllocatorEx9_GetSurfaceEx_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IVMRSurfaceAllocatorEx9_INTERFACE_DEFINED__ */ /***************************************************************************** * IVMRSurfaceAllocatorNotify9 interface */ #ifndef __IVMRSurfaceAllocatorNotify9_INTERFACE_DEFINED__ #define __IVMRSurfaceAllocatorNotify9_INTERFACE_DEFINED__ DEFINE_GUID(IID_IVMRSurfaceAllocatorNotify9, 0xdca3f5df, 0xbb3a, 0x4d03, 0xbd,0x81, 0x84,0x61,0x4b,0xfb,0xfa,0x0c); #if defined(__cplusplus) && !defined(CINTERFACE) interface IVMRSurfaceAllocatorNotify9 : public IUnknown { virtual HRESULT STDMETHODCALLTYPE AdviseSurfaceAllocator( DWORD_PTR id, IVMRSurfaceAllocator9 *alloc) = 0; virtual HRESULT STDMETHODCALLTYPE SetD3DDevice( IDirect3DDevice9 *device, HMONITOR monitor) = 0; virtual HRESULT STDMETHODCALLTYPE ChangeD3DDevice( IDirect3DDevice9 *device, HMONITOR monitor) = 0; virtual HRESULT STDMETHODCALLTYPE AllocateSurfaceHelper( VMR9AllocationInfo *allocinfo, DWORD *numbuffers, IDirect3DSurface9 **surface) = 0; virtual HRESULT STDMETHODCALLTYPE NotifyEvent( LONG code, LONG_PTR param1, LONG_PTR param2) = 0; }; #else typedef struct IVMRSurfaceAllocatorNotify9Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IVMRSurfaceAllocatorNotify9* This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IVMRSurfaceAllocatorNotify9* This); ULONG (STDMETHODCALLTYPE *Release)( IVMRSurfaceAllocatorNotify9* This); /*** IVMRSurfaceAllocatorNotify9 methods ***/ HRESULT (STDMETHODCALLTYPE *AdviseSurfaceAllocator)( IVMRSurfaceAllocatorNotify9* This, DWORD_PTR id, IVMRSurfaceAllocator9 *alloc); HRESULT (STDMETHODCALLTYPE *SetD3DDevice)( IVMRSurfaceAllocatorNotify9* This, IDirect3DDevice9 *device, HMONITOR monitor); HRESULT (STDMETHODCALLTYPE *ChangeD3DDevice)( IVMRSurfaceAllocatorNotify9* This, IDirect3DDevice9 *device, HMONITOR monitor); HRESULT (STDMETHODCALLTYPE *AllocateSurfaceHelper)( IVMRSurfaceAllocatorNotify9* This, VMR9AllocationInfo *allocinfo, DWORD *numbuffers, IDirect3DSurface9 **surface); HRESULT (STDMETHODCALLTYPE *NotifyEvent)( IVMRSurfaceAllocatorNotify9* This, LONG code, LONG_PTR param1, LONG_PTR param2); END_INTERFACE } IVMRSurfaceAllocatorNotify9Vtbl; interface IVMRSurfaceAllocatorNotify9 { CONST_VTBL IVMRSurfaceAllocatorNotify9Vtbl* lpVtbl; }; #ifdef COBJMACROS /*** IUnknown methods ***/ #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) /*** IVMRSurfaceAllocatorNotify9 methods ***/ #define IVMRSurfaceAllocatorNotify9_AdviseSurfaceAllocator(This,id,alloc) (This)->lpVtbl->AdviseSurfaceAllocator(This,id,alloc) #define IVMRSurfaceAllocatorNotify9_SetD3DDevice(This,device,monitor) (This)->lpVtbl->SetD3DDevice(This,device,monitor) #define IVMRSurfaceAllocatorNotify9_ChangeD3DDevice(This,device,monitor) (This)->lpVtbl->ChangeD3DDevice(This,device,monitor) #define IVMRSurfaceAllocatorNotify9_AllocateSurfaceHelper(This,allocinfo,numbuffers,surface) (This)->lpVtbl->AllocateSurfaceHelper(This,allocinfo,numbuffers,surface) #define IVMRSurfaceAllocatorNotify9_NotifyEvent(This,code,param1,param2) (This)->lpVtbl->NotifyEvent(This,code,param1,param2) #endif #endif HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify9_AdviseSurfaceAllocator_Proxy( IVMRSurfaceAllocatorNotify9* This, DWORD_PTR id, IVMRSurfaceAllocator9 *alloc); void __RPC_STUB IVMRSurfaceAllocatorNotify9_AdviseSurfaceAllocator_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify9_SetD3DDevice_Proxy( IVMRSurfaceAllocatorNotify9* This, IDirect3DDevice9 *device, HMONITOR monitor); void __RPC_STUB IVMRSurfaceAllocatorNotify9_SetD3DDevice_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify9_ChangeD3DDevice_Proxy( IVMRSurfaceAllocatorNotify9* This, IDirect3DDevice9 *device, HMONITOR monitor); void __RPC_STUB IVMRSurfaceAllocatorNotify9_ChangeD3DDevice_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify9_AllocateSurfaceHelper_Proxy( IVMRSurfaceAllocatorNotify9* This, VMR9AllocationInfo *allocinfo, DWORD *numbuffers, IDirect3DSurface9 **surface); void __RPC_STUB IVMRSurfaceAllocatorNotify9_AllocateSurfaceHelper_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify9_NotifyEvent_Proxy( IVMRSurfaceAllocatorNotify9* This, LONG code, LONG_PTR param1, LONG_PTR param2); void __RPC_STUB IVMRSurfaceAllocatorNotify9_NotifyEvent_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IVMRSurfaceAllocatorNotify9_INTERFACE_DEFINED__ */ typedef enum _VMR9AspectRatioMode { VMR9ARMode_None = 0, VMR9ARMode_LetterBox = 1 } VMR9AspectRatioMode; /***************************************************************************** * IVMRWindowlessControl9 interface */ #ifndef __IVMRWindowlessControl9_INTERFACE_DEFINED__ #define __IVMRWindowlessControl9_INTERFACE_DEFINED__ DEFINE_GUID(IID_IVMRWindowlessControl9, 0x8f537d09, 0xf85e, 0x4414, 0xb2,0x3b, 0x50,0x2e,0x54,0xc7,0x99,0x27); #if defined(__cplusplus) && !defined(CINTERFACE) interface IVMRWindowlessControl9 : public IUnknown { virtual HRESULT STDMETHODCALLTYPE GetNativeVideoSize( LONG *width, LONG *height, LONG *arwidth, LONG *arheight) = 0; virtual HRESULT STDMETHODCALLTYPE GetMinIdealVideoSize( LONG *width, LONG *height) = 0; virtual HRESULT STDMETHODCALLTYPE GetMaxIdealVideoSize( LONG *width, LONG *height) = 0; virtual HRESULT STDMETHODCALLTYPE SetVideoPosition( const RECT *source, const RECT *dest) = 0; virtual HRESULT STDMETHODCALLTYPE GetVideoPosition( RECT *source, RECT *dest) = 0; virtual HRESULT STDMETHODCALLTYPE GetAspectRatioMode( DWORD *mode) = 0; virtual HRESULT STDMETHODCALLTYPE SetAspectRatioMode( DWORD mode) = 0; virtual HRESULT STDMETHODCALLTYPE SetVideoClippingWindow( HWND hwnd) = 0; virtual HRESULT STDMETHODCALLTYPE RepaintVideo( HWND hwnd, HDC hdc) = 0; virtual HRESULT STDMETHODCALLTYPE DisplayModeChanged( ) = 0; virtual HRESULT STDMETHODCALLTYPE GetCurrentImage( BYTE **dib) = 0; virtual HRESULT STDMETHODCALLTYPE SetBorderColor( COLORREF color) = 0; virtual HRESULT STDMETHODCALLTYPE GetBorderColor( COLORREF *color) = 0; }; #else typedef struct IVMRWindowlessControl9Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IVMRWindowlessControl9* This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IVMRWindowlessControl9* This); ULONG (STDMETHODCALLTYPE *Release)( IVMRWindowlessControl9* This); /*** IVMRWindowlessControl9 methods ***/ HRESULT (STDMETHODCALLTYPE *GetNativeVideoSize)( IVMRWindowlessControl9* This, LONG *width, LONG *height, LONG *arwidth, LONG *arheight); HRESULT (STDMETHODCALLTYPE *GetMinIdealVideoSize)( IVMRWindowlessControl9* This, LONG *width, LONG *height); HRESULT (STDMETHODCALLTYPE *GetMaxIdealVideoSize)( IVMRWindowlessControl9* This, LONG *width, LONG *height); HRESULT (STDMETHODCALLTYPE *SetVideoPosition)( IVMRWindowlessControl9* This, const RECT *source, const RECT *dest); HRESULT (STDMETHODCALLTYPE *GetVideoPosition)( IVMRWindowlessControl9* This, RECT *source, RECT *dest); HRESULT (STDMETHODCALLTYPE *GetAspectRatioMode)( IVMRWindowlessControl9* This, DWORD *mode); HRESULT (STDMETHODCALLTYPE *SetAspectRatioMode)( IVMRWindowlessControl9* This, DWORD mode); HRESULT (STDMETHODCALLTYPE *SetVideoClippingWindow)( IVMRWindowlessControl9* This, HWND hwnd); HRESULT (STDMETHODCALLTYPE *RepaintVideo)( IVMRWindowlessControl9* This, HWND hwnd, HDC hdc); HRESULT (STDMETHODCALLTYPE *DisplayModeChanged)( IVMRWindowlessControl9* This); HRESULT (STDMETHODCALLTYPE *GetCurrentImage)( IVMRWindowlessControl9* This, BYTE **dib); HRESULT (STDMETHODCALLTYPE *SetBorderColor)( IVMRWindowlessControl9* This, COLORREF color); HRESULT (STDMETHODCALLTYPE *GetBorderColor)( IVMRWindowlessControl9* This, COLORREF *color); END_INTERFACE } IVMRWindowlessControl9Vtbl; interface IVMRWindowlessControl9 { CONST_VTBL IVMRWindowlessControl9Vtbl* lpVtbl; }; #ifdef COBJMACROS /*** IUnknown methods ***/ #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) /*** IVMRWindowlessControl9 methods ***/ #define IVMRWindowlessControl9_GetNativeVideoSize(This,width,height,arwidth,arheight) (This)->lpVtbl->GetNativeVideoSize(This,width,height,arwidth,arheight) #define IVMRWindowlessControl9_GetMinIdealVideoSize(This,width,height) (This)->lpVtbl->GetMinIdealVideoSize(This,width,height) #define IVMRWindowlessControl9_GetMaxIdealVideoSize(This,width,height) (This)->lpVtbl->GetMaxIdealVideoSize(This,width,height) #define IVMRWindowlessControl9_SetVideoPosition(This,source,dest) (This)->lpVtbl->SetVideoPosition(This,source,dest) #define IVMRWindowlessControl9_GetVideoPosition(This,source,dest) (This)->lpVtbl->GetVideoPosition(This,source,dest) #define IVMRWindowlessControl9_GetAspectRatioMode(This,mode) (This)->lpVtbl->GetAspectRatioMode(This,mode) #define IVMRWindowlessControl9_SetAspectRatioMode(This,mode) (This)->lpVtbl->SetAspectRatioMode(This,mode) #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,dib) (This)->lpVtbl->GetCurrentImage(This,dib) #define IVMRWindowlessControl9_SetBorderColor(This,color) (This)->lpVtbl->SetBorderColor(This,color) #define IVMRWindowlessControl9_GetBorderColor(This,color) (This)->lpVtbl->GetBorderColor(This,color) #endif #endif HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetNativeVideoSize_Proxy( IVMRWindowlessControl9* This, LONG *width, LONG *height, LONG *arwidth, LONG *arheight); void __RPC_STUB IVMRWindowlessControl9_GetNativeVideoSize_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetMinIdealVideoSize_Proxy( IVMRWindowlessControl9* This, LONG *width, LONG *height); void __RPC_STUB IVMRWindowlessControl9_GetMinIdealVideoSize_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetMaxIdealVideoSize_Proxy( IVMRWindowlessControl9* This, LONG *width, LONG *height); void __RPC_STUB IVMRWindowlessControl9_GetMaxIdealVideoSize_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_SetVideoPosition_Proxy( IVMRWindowlessControl9* This, const RECT *source, const RECT *dest); void __RPC_STUB IVMRWindowlessControl9_SetVideoPosition_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetVideoPosition_Proxy( IVMRWindowlessControl9* This, RECT *source, RECT *dest); void __RPC_STUB IVMRWindowlessControl9_GetVideoPosition_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetAspectRatioMode_Proxy( IVMRWindowlessControl9* This, DWORD *mode); void __RPC_STUB IVMRWindowlessControl9_GetAspectRatioMode_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_SetAspectRatioMode_Proxy( IVMRWindowlessControl9* This, DWORD mode); void __RPC_STUB IVMRWindowlessControl9_SetAspectRatioMode_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_SetVideoClippingWindow_Proxy( IVMRWindowlessControl9* This, HWND hwnd); void __RPC_STUB IVMRWindowlessControl9_SetVideoClippingWindow_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_RepaintVideo_Proxy( IVMRWindowlessControl9* This, HWND hwnd, 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, BYTE **dib); void __RPC_STUB IVMRWindowlessControl9_GetCurrentImage_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_SetBorderColor_Proxy( IVMRWindowlessControl9* This, COLORREF color); void __RPC_STUB IVMRWindowlessControl9_SetBorderColor_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetBorderColor_Proxy( IVMRWindowlessControl9* This, COLORREF *color); void __RPC_STUB IVMRWindowlessControl9_GetBorderColor_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IVMRWindowlessControl9_INTERFACE_DEFINED__ */ typedef enum _VMR9MixerPrefs { MixerPref9_NoDecimation = 0x1, MixerPref9_DecimateOutput = 0x2, MixerPref9_ARAdjustXorY = 0x4, MixerPref9_NonSquareMixing = 0x8, 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_RenderTargetYUV = 0x2000, MixerPref9_RenderTargetReserved = 0xfc000, MixerPref9_DynamicSwitchToBOB = 0x100000, MixerPref9_DynamicDecimateBy2 = 0x200000, MixerPref9_DynamicReserved = 0xc00000, MixerPref9_DynamicMask = 0xf00000 } VMR9MixerPrefs; typedef struct _VMR9NormalizedRect { FLOAT left; FLOAT top; FLOAT right; FLOAT bottom; } VMR9NormalizedRect; typedef enum _VMR9ProcAmpControlFlags { 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; /***************************************************************************** * IVMRMixerControl9 interface */ #ifndef __IVMRMixerControl9_INTERFACE_DEFINED__ #define __IVMRMixerControl9_INTERFACE_DEFINED__ DEFINE_GUID(IID_IVMRMixerControl9, 0x1a777eaa, 0x47c8, 0x4930, 0xb2,0xc9, 0x8f,0xee,0x1c,0x1b,0x0f,0x3b); #if defined(__cplusplus) && !defined(CINTERFACE) interface IVMRMixerControl9 : public IUnknown { virtual HRESULT STDMETHODCALLTYPE SetAlpha( DWORD streamid, FLOAT alpha) = 0; virtual HRESULT STDMETHODCALLTYPE GetAlpha( DWORD streamid, FLOAT *alpha) = 0; virtual HRESULT STDMETHODCALLTYPE SetZOrder( DWORD streamid, DWORD zorder) = 0; virtual HRESULT STDMETHODCALLTYPE GetZOrder( DWORD streamid, DWORD *zorder) = 0; virtual HRESULT STDMETHODCALLTYPE SetOutputRect( DWORD streamid, const VMR9NormalizedRect *rect) = 0; virtual HRESULT STDMETHODCALLTYPE GetOutputRect( DWORD streamid, VMR9NormalizedRect *rect) = 0; virtual HRESULT STDMETHODCALLTYPE SetBackgroundClr( COLORREF back) = 0; virtual HRESULT STDMETHODCALLTYPE GetBackgroundClr( COLORREF *back) = 0; virtual HRESULT STDMETHODCALLTYPE SetMixingPrefs( DWORD mixingprefs) = 0; virtual HRESULT STDMETHODCALLTYPE GetMixingPrefs( DWORD *mixingprefs) = 0; virtual HRESULT STDMETHODCALLTYPE SetProcAmpControl( DWORD streamid, VMR9ProcAmpControl *control) = 0; virtual HRESULT STDMETHODCALLTYPE GetProcAmpControl( DWORD streamid, VMR9ProcAmpControl *control) = 0; virtual HRESULT STDMETHODCALLTYPE GetProcAmpControlRange( DWORD streamid, VMR9ProcAmpControlRange *controlrange) = 0; }; #else typedef struct IVMRMixerControl9Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IVMRMixerControl9* This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IVMRMixerControl9* This); ULONG (STDMETHODCALLTYPE *Release)( IVMRMixerControl9* This); /*** IVMRMixerControl9 methods ***/ HRESULT (STDMETHODCALLTYPE *SetAlpha)( IVMRMixerControl9* This, DWORD streamid, FLOAT alpha); HRESULT (STDMETHODCALLTYPE *GetAlpha)( IVMRMixerControl9* This, DWORD streamid, FLOAT *alpha); HRESULT (STDMETHODCALLTYPE *SetZOrder)( IVMRMixerControl9* This, DWORD streamid, DWORD zorder); HRESULT (STDMETHODCALLTYPE *GetZOrder)( IVMRMixerControl9* This, DWORD streamid, DWORD *zorder); HRESULT (STDMETHODCALLTYPE *SetOutputRect)( IVMRMixerControl9* This, DWORD streamid, const VMR9NormalizedRect *rect); HRESULT (STDMETHODCALLTYPE *GetOutputRect)( IVMRMixerControl9* This, DWORD streamid, VMR9NormalizedRect *rect); HRESULT (STDMETHODCALLTYPE *SetBackgroundClr)( IVMRMixerControl9* This, COLORREF back); HRESULT (STDMETHODCALLTYPE *GetBackgroundClr)( IVMRMixerControl9* This, COLORREF *back); HRESULT (STDMETHODCALLTYPE *SetMixingPrefs)( IVMRMixerControl9* This, DWORD mixingprefs); HRESULT (STDMETHODCALLTYPE *GetMixingPrefs)( IVMRMixerControl9* This, DWORD *mixingprefs); HRESULT (STDMETHODCALLTYPE *SetProcAmpControl)( IVMRMixerControl9* This, DWORD streamid, VMR9ProcAmpControl *control); HRESULT (STDMETHODCALLTYPE *GetProcAmpControl)( IVMRMixerControl9* This, DWORD streamid, VMR9ProcAmpControl *control); HRESULT (STDMETHODCALLTYPE *GetProcAmpControlRange)( IVMRMixerControl9* This, DWORD streamid, VMR9ProcAmpControlRange *controlrange); END_INTERFACE } IVMRMixerControl9Vtbl; interface IVMRMixerControl9 { CONST_VTBL IVMRMixerControl9Vtbl* lpVtbl; }; #ifdef COBJMACROS /*** IUnknown methods ***/ #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) /*** IVMRMixerControl9 methods ***/ #define IVMRMixerControl9_SetAlpha(This,streamid,alpha) (This)->lpVtbl->SetAlpha(This,streamid,alpha) #define IVMRMixerControl9_GetAlpha(This,streamid,alpha) (This)->lpVtbl->GetAlpha(This,streamid,alpha) #define IVMRMixerControl9_SetZOrder(This,streamid,zorder) (This)->lpVtbl->SetZOrder(This,streamid,zorder) #define IVMRMixerControl9_GetZOrder(This,streamid,zorder) (This)->lpVtbl->GetZOrder(This,streamid,zorder) #define IVMRMixerControl9_SetOutputRect(This,streamid,rect) (This)->lpVtbl->SetOutputRect(This,streamid,rect) #define IVMRMixerControl9_GetOutputRect(This,streamid,rect) (This)->lpVtbl->GetOutputRect(This,streamid,rect) #define IVMRMixerControl9_SetBackgroundClr(This,back) (This)->lpVtbl->SetBackgroundClr(This,back) #define IVMRMixerControl9_GetBackgroundClr(This,back) (This)->lpVtbl->GetBackgroundClr(This,back) #define IVMRMixerControl9_SetMixingPrefs(This,mixingprefs) (This)->lpVtbl->SetMixingPrefs(This,mixingprefs) #define IVMRMixerControl9_GetMixingPrefs(This,mixingprefs) (This)->lpVtbl->GetMixingPrefs(This,mixingprefs) #define IVMRMixerControl9_SetProcAmpControl(This,streamid,control) (This)->lpVtbl->SetProcAmpControl(This,streamid,control) #define IVMRMixerControl9_GetProcAmpControl(This,streamid,control) (This)->lpVtbl->GetProcAmpControl(This,streamid,control) #define IVMRMixerControl9_GetProcAmpControlRange(This,streamid,controlrange) (This)->lpVtbl->GetProcAmpControlRange(This,streamid,controlrange) #endif #endif HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetAlpha_Proxy( IVMRMixerControl9* This, DWORD streamid, FLOAT alpha); void __RPC_STUB IVMRMixerControl9_SetAlpha_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetAlpha_Proxy( IVMRMixerControl9* This, DWORD streamid, FLOAT *alpha); void __RPC_STUB IVMRMixerControl9_GetAlpha_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetZOrder_Proxy( IVMRMixerControl9* This, DWORD streamid, DWORD zorder); void __RPC_STUB IVMRMixerControl9_SetZOrder_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetZOrder_Proxy( IVMRMixerControl9* This, DWORD streamid, DWORD *zorder); void __RPC_STUB IVMRMixerControl9_GetZOrder_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetOutputRect_Proxy( IVMRMixerControl9* This, DWORD streamid, const VMR9NormalizedRect *rect); void __RPC_STUB IVMRMixerControl9_SetOutputRect_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetOutputRect_Proxy( IVMRMixerControl9* This, DWORD streamid, VMR9NormalizedRect *rect); void __RPC_STUB IVMRMixerControl9_GetOutputRect_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetBackgroundClr_Proxy( IVMRMixerControl9* This, COLORREF back); void __RPC_STUB IVMRMixerControl9_SetBackgroundClr_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetBackgroundClr_Proxy( IVMRMixerControl9* This, COLORREF *back); void __RPC_STUB IVMRMixerControl9_GetBackgroundClr_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetMixingPrefs_Proxy( IVMRMixerControl9* This, DWORD mixingprefs); void __RPC_STUB IVMRMixerControl9_SetMixingPrefs_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetMixingPrefs_Proxy( IVMRMixerControl9* This, DWORD *mixingprefs); void __RPC_STUB IVMRMixerControl9_GetMixingPrefs_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetProcAmpControl_Proxy( IVMRMixerControl9* This, DWORD streamid, VMR9ProcAmpControl *control); void __RPC_STUB IVMRMixerControl9_SetProcAmpControl_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetProcAmpControl_Proxy( IVMRMixerControl9* This, DWORD streamid, VMR9ProcAmpControl *control); void __RPC_STUB IVMRMixerControl9_GetProcAmpControl_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetProcAmpControlRange_Proxy( IVMRMixerControl9* This, DWORD streamid, VMR9ProcAmpControlRange *controlrange); void __RPC_STUB IVMRMixerControl9_GetProcAmpControlRange_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IVMRMixerControl9_INTERFACE_DEFINED__ */ typedef struct _VMR9AlphaBitmap { DWORD dwFlags; HDC hdc; IDirect3DSurface9 *pDDS; RECT rSrc; VMR9NormalizedRect *rDest; FLOAT fAlpha; COLORREF clrSrcKey; DWORD dwFilterMode; } VMR9AlphaBitmap; typedef enum _VMR9AlphaBitmapFlags { VMR9AlphaBitmap_Disable = 0x1, VMR9AlphaBitmap_hDC = 0x2, VMR9AlphaBitmap_EntireDDS = 0x4, VMR9AlphaBitmap_SrcColorKey = 0x8, VMR9AlphaBitmap_SrcRect = 0x10, VMR9AlphaBitmap_FilterMode = 0x20 } VMR9AlphaBitmapFlags; /***************************************************************************** * IVMRMixerBitmap9 interface */ #ifndef __IVMRMixerBitmap9_INTERFACE_DEFINED__ #define __IVMRMixerBitmap9_INTERFACE_DEFINED__ DEFINE_GUID(IID_IVMRMixerBitmap9, 0xced175e5, 0x1935, 0x4820, 0x81,0xbd, 0xff,0x6a,0xd0,0x0c,0x91,0x08); #if defined(__cplusplus) && !defined(CINTERFACE) interface IVMRMixerBitmap9 : public IUnknown { virtual HRESULT STDMETHODCALLTYPE SetAlphaBitmap( const VMR9AlphaBitmap *bitmap) = 0; virtual HRESULT STDMETHODCALLTYPE UpdateAlphaBitmapParameters( const VMR9AlphaBitmap *bitmap) = 0; virtual HRESULT STDMETHODCALLTYPE GetAlphaBitmapParameters( VMR9AlphaBitmap *bitmap) = 0; }; #else typedef struct IVMRMixerBitmap9Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IVMRMixerBitmap9* This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IVMRMixerBitmap9* This); ULONG (STDMETHODCALLTYPE *Release)( IVMRMixerBitmap9* This); /*** IVMRMixerBitmap9 methods ***/ HRESULT (STDMETHODCALLTYPE *SetAlphaBitmap)( IVMRMixerBitmap9* This, const VMR9AlphaBitmap *bitmap); HRESULT (STDMETHODCALLTYPE *UpdateAlphaBitmapParameters)( IVMRMixerBitmap9* This, const VMR9AlphaBitmap *bitmap); HRESULT (STDMETHODCALLTYPE *GetAlphaBitmapParameters)( IVMRMixerBitmap9* This, VMR9AlphaBitmap *bitmap); END_INTERFACE } IVMRMixerBitmap9Vtbl; interface IVMRMixerBitmap9 { CONST_VTBL IVMRMixerBitmap9Vtbl* lpVtbl; }; #ifdef COBJMACROS /*** IUnknown methods ***/ #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) /*** IVMRMixerBitmap9 methods ***/ #define IVMRMixerBitmap9_SetAlphaBitmap(This,bitmap) (This)->lpVtbl->SetAlphaBitmap(This,bitmap) #define IVMRMixerBitmap9_UpdateAlphaBitmapParameters(This,bitmap) (This)->lpVtbl->UpdateAlphaBitmapParameters(This,bitmap) #define IVMRMixerBitmap9_GetAlphaBitmapParameters(This,bitmap) (This)->lpVtbl->GetAlphaBitmapParameters(This,bitmap) #endif #endif HRESULT STDMETHODCALLTYPE IVMRMixerBitmap9_SetAlphaBitmap_Proxy( IVMRMixerBitmap9* This, const VMR9AlphaBitmap *bitmap); void __RPC_STUB IVMRMixerBitmap9_SetAlphaBitmap_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRMixerBitmap9_UpdateAlphaBitmapParameters_Proxy( IVMRMixerBitmap9* This, const VMR9AlphaBitmap *bitmap); void __RPC_STUB IVMRMixerBitmap9_UpdateAlphaBitmapParameters_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRMixerBitmap9_GetAlphaBitmapParameters_Proxy( IVMRMixerBitmap9* This, VMR9AlphaBitmap *bitmap); void __RPC_STUB IVMRMixerBitmap9_GetAlphaBitmapParameters_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IVMRMixerBitmap9_INTERFACE_DEFINED__ */ /***************************************************************************** * IVMRSurface9 interface */ #ifndef __IVMRSurface9_INTERFACE_DEFINED__ #define __IVMRSurface9_INTERFACE_DEFINED__ DEFINE_GUID(IID_IVMRSurface9, 0xdfc581a1, 0x6e1f, 0x4c3a, 0x8d,0x0a, 0x5e,0x97,0x92,0xea,0x2a,0xfc); #if defined(__cplusplus) && !defined(CINTERFACE) interface IVMRSurface9 : public IUnknown { virtual HRESULT STDMETHODCALLTYPE IsSurfaceLocked( ) = 0; virtual HRESULT STDMETHODCALLTYPE LockSurface( BYTE **surface) = 0; virtual HRESULT STDMETHODCALLTYPE UnlockSurface( ) = 0; virtual HRESULT STDMETHODCALLTYPE GetSurface( IDirect3DSurface9 **surface) = 0; }; #else typedef struct IVMRSurface9Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IVMRSurface9* This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IVMRSurface9* This); ULONG (STDMETHODCALLTYPE *Release)( IVMRSurface9* This); /*** IVMRSurface9 methods ***/ HRESULT (STDMETHODCALLTYPE *IsSurfaceLocked)( IVMRSurface9* This); HRESULT (STDMETHODCALLTYPE *LockSurface)( IVMRSurface9* This, BYTE **surface); HRESULT (STDMETHODCALLTYPE *UnlockSurface)( IVMRSurface9* This); HRESULT (STDMETHODCALLTYPE *GetSurface)( IVMRSurface9* This, IDirect3DSurface9 **surface); END_INTERFACE } IVMRSurface9Vtbl; interface IVMRSurface9 { CONST_VTBL IVMRSurface9Vtbl* lpVtbl; }; #ifdef COBJMACROS /*** IUnknown methods ***/ #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) /*** IVMRSurface9 methods ***/ #define IVMRSurface9_IsSurfaceLocked(This) (This)->lpVtbl->IsSurfaceLocked(This) #define IVMRSurface9_LockSurface(This,surface) (This)->lpVtbl->LockSurface(This,surface) #define IVMRSurface9_UnlockSurface(This) (This)->lpVtbl->UnlockSurface(This) #define IVMRSurface9_GetSurface(This,surface) (This)->lpVtbl->GetSurface(This,surface) #endif #endif 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, BYTE **surface); 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, IDirect3DSurface9 **surface); void __RPC_STUB IVMRSurface9_GetSurface_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IVMRSurface9_INTERFACE_DEFINED__ */ typedef enum _VMR9RenderPrefs { RenderPrefs9_DoNotRenderBorder = 0x1, RenderPrefs9_Mask = 0x1 } VMR9RenderPrefs; /***************************************************************************** * IVMRImagePresenterConfig9 interface */ #ifndef __IVMRImagePresenterConfig9_INTERFACE_DEFINED__ #define __IVMRImagePresenterConfig9_INTERFACE_DEFINED__ DEFINE_GUID(IID_IVMRImagePresenterConfig9, 0x45c15cab, 0x6e22, 0x420a, 0x80,0x43, 0xae,0x1f,0x0a,0xc0,0x2c,0x7d); #if defined(__cplusplus) && !defined(CINTERFACE) interface IVMRImagePresenterConfig9 : public IUnknown { virtual HRESULT STDMETHODCALLTYPE SetRenderingPrefs( DWORD renderflags) = 0; virtual HRESULT STDMETHODCALLTYPE GetRenderingPrefs( DWORD *renderflags) = 0; }; #else typedef struct IVMRImagePresenterConfig9Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IVMRImagePresenterConfig9* This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IVMRImagePresenterConfig9* This); ULONG (STDMETHODCALLTYPE *Release)( IVMRImagePresenterConfig9* This); /*** IVMRImagePresenterConfig9 methods ***/ HRESULT (STDMETHODCALLTYPE *SetRenderingPrefs)( IVMRImagePresenterConfig9* This, DWORD renderflags); HRESULT (STDMETHODCALLTYPE *GetRenderingPrefs)( IVMRImagePresenterConfig9* This, DWORD *renderflags); END_INTERFACE } IVMRImagePresenterConfig9Vtbl; interface IVMRImagePresenterConfig9 { CONST_VTBL IVMRImagePresenterConfig9Vtbl* lpVtbl; }; #ifdef COBJMACROS /*** IUnknown methods ***/ #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) /*** IVMRImagePresenterConfig9 methods ***/ #define IVMRImagePresenterConfig9_SetRenderingPrefs(This,renderflags) (This)->lpVtbl->SetRenderingPrefs(This,renderflags) #define IVMRImagePresenterConfig9_GetRenderingPrefs(This,renderflags) (This)->lpVtbl->GetRenderingPrefs(This,renderflags) #endif #endif HRESULT STDMETHODCALLTYPE IVMRImagePresenterConfig9_SetRenderingPrefs_Proxy( IVMRImagePresenterConfig9* This, DWORD renderflags); void __RPC_STUB IVMRImagePresenterConfig9_SetRenderingPrefs_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRImagePresenterConfig9_GetRenderingPrefs_Proxy( IVMRImagePresenterConfig9* This, DWORD *renderflags); void __RPC_STUB IVMRImagePresenterConfig9_GetRenderingPrefs_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IVMRImagePresenterConfig9_INTERFACE_DEFINED__ */ /***************************************************************************** * IVMRVideoStreamControl9 interface */ #ifndef __IVMRVideoStreamControl9_INTERFACE_DEFINED__ #define __IVMRVideoStreamControl9_INTERFACE_DEFINED__ DEFINE_GUID(IID_IVMRVideoStreamControl9, 0xd0cfe38b, 0x93e7, 0x4772, 0x89,0x57, 0x04,0x00,0xc4,0x9a,0x44,0x85); #if defined(__cplusplus) && !defined(CINTERFACE) interface IVMRVideoStreamControl9 : public IUnknown { virtual HRESULT STDMETHODCALLTYPE SetStreamActiveState( BOOL active) = 0; virtual HRESULT STDMETHODCALLTYPE GetStreamActiveState( BOOL *active) = 0; }; #else typedef struct IVMRVideoStreamControl9Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IVMRVideoStreamControl9* This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IVMRVideoStreamControl9* This); ULONG (STDMETHODCALLTYPE *Release)( IVMRVideoStreamControl9* This); /*** IVMRVideoStreamControl9 methods ***/ HRESULT (STDMETHODCALLTYPE *SetStreamActiveState)( IVMRVideoStreamControl9* This, BOOL active); HRESULT (STDMETHODCALLTYPE *GetStreamActiveState)( IVMRVideoStreamControl9* This, BOOL *active); END_INTERFACE } IVMRVideoStreamControl9Vtbl; interface IVMRVideoStreamControl9 { CONST_VTBL IVMRVideoStreamControl9Vtbl* lpVtbl; }; #ifdef COBJMACROS /*** IUnknown methods ***/ #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) /*** IVMRVideoStreamControl9 methods ***/ #define IVMRVideoStreamControl9_SetStreamActiveState(This,active) (This)->lpVtbl->SetStreamActiveState(This,active) #define IVMRVideoStreamControl9_GetStreamActiveState(This,active) (This)->lpVtbl->GetStreamActiveState(This,active) #endif #endif HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl9_SetStreamActiveState_Proxy( IVMRVideoStreamControl9* This, BOOL active); void __RPC_STUB IVMRVideoStreamControl9_SetStreamActiveState_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl9_GetStreamActiveState_Proxy( IVMRVideoStreamControl9* This, BOOL *active); void __RPC_STUB IVMRVideoStreamControl9_GetStreamActiveState_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IVMRVideoStreamControl9_INTERFACE_DEFINED__ */ typedef enum _VMR9Mode { VMR9Mode_Windowed = 0x1, VMR9Mode_Windowless = 0x2, VMR9Mode_Renderless = 0x4, VMR9Mode_Mask = 0x7 } VMR9Mode; /***************************************************************************** * IVMRFilterConfig9 interface */ #ifndef __IVMRFilterConfig9_INTERFACE_DEFINED__ #define __IVMRFilterConfig9_INTERFACE_DEFINED__ DEFINE_GUID(IID_IVMRFilterConfig9, 0x5a804648, 0x4f66, 0x4867, 0x9c,0x43, 0x4f,0x5c,0x82,0x2c,0xf1,0xb8); #if defined(__cplusplus) && !defined(CINTERFACE) interface IVMRFilterConfig9 : public IUnknown { virtual HRESULT STDMETHODCALLTYPE SetImageCompositor( IVMRImageCompositor9 *compositor) = 0; virtual HRESULT STDMETHODCALLTYPE SetNumberOfStreams( DWORD max) = 0; virtual HRESULT STDMETHODCALLTYPE GetNumberOfStreams( DWORD *max) = 0; virtual HRESULT STDMETHODCALLTYPE SetRenderingPrefs( DWORD renderflags) = 0; virtual HRESULT STDMETHODCALLTYPE GetRenderingPrefs( DWORD *renderflags) = 0; virtual HRESULT STDMETHODCALLTYPE SetRenderingMode( DWORD mode) = 0; virtual HRESULT STDMETHODCALLTYPE GetRenderingMode( DWORD *mode) = 0; }; #else typedef struct IVMRFilterConfig9Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IVMRFilterConfig9* This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IVMRFilterConfig9* This); ULONG (STDMETHODCALLTYPE *Release)( IVMRFilterConfig9* This); /*** IVMRFilterConfig9 methods ***/ HRESULT (STDMETHODCALLTYPE *SetImageCompositor)( IVMRFilterConfig9* This, IVMRImageCompositor9 *compositor); HRESULT (STDMETHODCALLTYPE *SetNumberOfStreams)( IVMRFilterConfig9* This, DWORD max); HRESULT (STDMETHODCALLTYPE *GetNumberOfStreams)( IVMRFilterConfig9* This, DWORD *max); HRESULT (STDMETHODCALLTYPE *SetRenderingPrefs)( IVMRFilterConfig9* This, DWORD renderflags); HRESULT (STDMETHODCALLTYPE *GetRenderingPrefs)( IVMRFilterConfig9* This, DWORD *renderflags); HRESULT (STDMETHODCALLTYPE *SetRenderingMode)( IVMRFilterConfig9* This, DWORD mode); HRESULT (STDMETHODCALLTYPE *GetRenderingMode)( IVMRFilterConfig9* This, DWORD *mode); END_INTERFACE } IVMRFilterConfig9Vtbl; interface IVMRFilterConfig9 { CONST_VTBL IVMRFilterConfig9Vtbl* lpVtbl; }; #ifdef COBJMACROS /*** IUnknown methods ***/ #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) /*** IVMRFilterConfig9 methods ***/ #define IVMRFilterConfig9_SetImageCompositor(This,compositor) (This)->lpVtbl->SetImageCompositor(This,compositor) #define IVMRFilterConfig9_SetNumberOfStreams(This,max) (This)->lpVtbl->SetNumberOfStreams(This,max) #define IVMRFilterConfig9_GetNumberOfStreams(This,max) (This)->lpVtbl->GetNumberOfStreams(This,max) #define IVMRFilterConfig9_SetRenderingPrefs(This,renderflags) (This)->lpVtbl->SetRenderingPrefs(This,renderflags) #define IVMRFilterConfig9_GetRenderingPrefs(This,renderflags) (This)->lpVtbl->GetRenderingPrefs(This,renderflags) #define IVMRFilterConfig9_SetRenderingMode(This,mode) (This)->lpVtbl->SetRenderingMode(This,mode) #define IVMRFilterConfig9_GetRenderingMode(This,mode) (This)->lpVtbl->GetRenderingMode(This,mode) #endif #endif HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_SetImageCompositor_Proxy( IVMRFilterConfig9* This, IVMRImageCompositor9 *compositor); void __RPC_STUB IVMRFilterConfig9_SetImageCompositor_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_SetNumberOfStreams_Proxy( IVMRFilterConfig9* This, DWORD max); void __RPC_STUB IVMRFilterConfig9_SetNumberOfStreams_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_GetNumberOfStreams_Proxy( IVMRFilterConfig9* This, DWORD *max); void __RPC_STUB IVMRFilterConfig9_GetNumberOfStreams_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_SetRenderingPrefs_Proxy( IVMRFilterConfig9* This, DWORD renderflags); void __RPC_STUB IVMRFilterConfig9_SetRenderingPrefs_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_GetRenderingPrefs_Proxy( IVMRFilterConfig9* This, DWORD *renderflags); void __RPC_STUB IVMRFilterConfig9_GetRenderingPrefs_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_SetRenderingMode_Proxy( IVMRFilterConfig9* This, DWORD mode); void __RPC_STUB IVMRFilterConfig9_SetRenderingMode_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_GetRenderingMode_Proxy( IVMRFilterConfig9* This, DWORD *mode); void __RPC_STUB IVMRFilterConfig9_GetRenderingMode_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IVMRFilterConfig9_INTERFACE_DEFINED__ */ /***************************************************************************** * IVMRAspectRatioControl9 interface */ #ifndef __IVMRAspectRatioControl9_INTERFACE_DEFINED__ #define __IVMRAspectRatioControl9_INTERFACE_DEFINED__ DEFINE_GUID(IID_IVMRAspectRatioControl9, 0x00d96c29, 0xbbde, 0x4efc, 0x99,0x01, 0xbb,0x50,0x36,0x39,0x21,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) interface IVMRAspectRatioControl9 : public IUnknown { virtual HRESULT STDMETHODCALLTYPE GetAspectRatioMode( DWORD *mode) = 0; virtual HRESULT STDMETHODCALLTYPE SetAspectRatioMode( DWORD mode) = 0; }; #else typedef struct IVMRAspectRatioControl9Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IVMRAspectRatioControl9* This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IVMRAspectRatioControl9* This); ULONG (STDMETHODCALLTYPE *Release)( IVMRAspectRatioControl9* This); /*** IVMRAspectRatioControl9 methods ***/ HRESULT (STDMETHODCALLTYPE *GetAspectRatioMode)( IVMRAspectRatioControl9* This, DWORD *mode); HRESULT (STDMETHODCALLTYPE *SetAspectRatioMode)( IVMRAspectRatioControl9* This, DWORD mode); END_INTERFACE } IVMRAspectRatioControl9Vtbl; interface IVMRAspectRatioControl9 { CONST_VTBL IVMRAspectRatioControl9Vtbl* lpVtbl; }; #ifdef COBJMACROS /*** IUnknown methods ***/ #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) /*** IVMRAspectRatioControl9 methods ***/ #define IVMRAspectRatioControl9_GetAspectRatioMode(This,mode) (This)->lpVtbl->GetAspectRatioMode(This,mode) #define IVMRAspectRatioControl9_SetAspectRatioMode(This,mode) (This)->lpVtbl->SetAspectRatioMode(This,mode) #endif #endif HRESULT STDMETHODCALLTYPE IVMRAspectRatioControl9_GetAspectRatioMode_Proxy( IVMRAspectRatioControl9* This, DWORD *mode); void __RPC_STUB IVMRAspectRatioControl9_GetAspectRatioMode_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRAspectRatioControl9_SetAspectRatioMode_Proxy( IVMRAspectRatioControl9* This, DWORD mode); void __RPC_STUB IVMRAspectRatioControl9_SetAspectRatioMode_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IVMRAspectRatioControl9_INTERFACE_DEFINED__ */ typedef struct _VMR9MonitorInfo { UINT uDevID; RECT rcMonitor; HMONITOR hMon; DWORD dwFlags; WCHAR szDevice[32]; WCHAR szDescription[512]; LARGE_INTEGER liDriverVersion; DWORD dwVendorId; DWORD dwDeviceId; DWORD dwSubSysId; DWORD dwRevision; } VMR9MonitorInfo; /***************************************************************************** * IVMRMonitorConfig9 interface */ #ifndef __IVMRMonitorConfig9_INTERFACE_DEFINED__ #define __IVMRMonitorConfig9_INTERFACE_DEFINED__ DEFINE_GUID(IID_IVMRMonitorConfig9, 0x46c2e457, 0x8ba0, 0x4eef, 0xb8,0x0b, 0x06,0x80,0xf0,0x97,0x87,0x49); #if defined(__cplusplus) && !defined(CINTERFACE) interface IVMRMonitorConfig9 : public IUnknown { virtual HRESULT STDMETHODCALLTYPE SetMonitor( UINT uDev) = 0; virtual HRESULT STDMETHODCALLTYPE GetMonitor( UINT *uDev) = 0; virtual HRESULT STDMETHODCALLTYPE SetDefaultMonitor( UINT uDev) = 0; virtual HRESULT STDMETHODCALLTYPE GetDefaultMonitor( UINT *uDev) = 0; virtual HRESULT STDMETHODCALLTYPE GetAvailableMonitors( VMR9MonitorInfo *info, DWORD arraysize, DWORD *numdev) = 0; }; #else typedef struct IVMRMonitorConfig9Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IVMRMonitorConfig9* This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IVMRMonitorConfig9* This); ULONG (STDMETHODCALLTYPE *Release)( IVMRMonitorConfig9* This); /*** IVMRMonitorConfig9 methods ***/ HRESULT (STDMETHODCALLTYPE *SetMonitor)( IVMRMonitorConfig9* This, UINT uDev); HRESULT (STDMETHODCALLTYPE *GetMonitor)( IVMRMonitorConfig9* This, UINT *uDev); HRESULT (STDMETHODCALLTYPE *SetDefaultMonitor)( IVMRMonitorConfig9* This, UINT uDev); HRESULT (STDMETHODCALLTYPE *GetDefaultMonitor)( IVMRMonitorConfig9* This, UINT *uDev); HRESULT (STDMETHODCALLTYPE *GetAvailableMonitors)( IVMRMonitorConfig9* This, VMR9MonitorInfo *info, DWORD arraysize, DWORD *numdev); END_INTERFACE } IVMRMonitorConfig9Vtbl; interface IVMRMonitorConfig9 { CONST_VTBL IVMRMonitorConfig9Vtbl* lpVtbl; }; #ifdef COBJMACROS /*** IUnknown methods ***/ #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) /*** IVMRMonitorConfig9 methods ***/ #define IVMRMonitorConfig9_SetMonitor(This,uDev) (This)->lpVtbl->SetMonitor(This,uDev) #define IVMRMonitorConfig9_GetMonitor(This,uDev) (This)->lpVtbl->GetMonitor(This,uDev) #define IVMRMonitorConfig9_SetDefaultMonitor(This,uDev) (This)->lpVtbl->SetDefaultMonitor(This,uDev) #define IVMRMonitorConfig9_GetDefaultMonitor(This,uDev) (This)->lpVtbl->GetDefaultMonitor(This,uDev) #define IVMRMonitorConfig9_GetAvailableMonitors(This,info,arraysize,numdev) (This)->lpVtbl->GetAvailableMonitors(This,info,arraysize,numdev) #endif #endif HRESULT STDMETHODCALLTYPE IVMRMonitorConfig9_SetMonitor_Proxy( IVMRMonitorConfig9* This, UINT uDev); void __RPC_STUB IVMRMonitorConfig9_SetMonitor_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRMonitorConfig9_GetMonitor_Proxy( IVMRMonitorConfig9* This, UINT *uDev); void __RPC_STUB IVMRMonitorConfig9_GetMonitor_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRMonitorConfig9_SetDefaultMonitor_Proxy( IVMRMonitorConfig9* This, UINT uDev); void __RPC_STUB IVMRMonitorConfig9_SetDefaultMonitor_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRMonitorConfig9_GetDefaultMonitor_Proxy( IVMRMonitorConfig9* This, UINT *uDev); void __RPC_STUB IVMRMonitorConfig9_GetDefaultMonitor_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRMonitorConfig9_GetAvailableMonitors_Proxy( IVMRMonitorConfig9* This, VMR9MonitorInfo *info, DWORD arraysize, DWORD *numdev); void __RPC_STUB IVMRMonitorConfig9_GetAvailableMonitors_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IVMRMonitorConfig9_INTERFACE_DEFINED__ */ typedef enum _VMR9DeinterlacePrefs { DeinterlacePref9_NextBest = 0x1, DeinterlacePref9_BOB = 0x2, DeinterlacePref9_Weave = 0x4, DeinterlacePref9_Mask = 0x7 } VMR9DeinterlacePrefs; typedef enum _VMR9DeinterlaceTech { 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; /***************************************************************************** * IVMRDeinterlaceControl9 interface */ #ifndef __IVMRDeinterlaceControl9_INTERFACE_DEFINED__ #define __IVMRDeinterlaceControl9_INTERFACE_DEFINED__ DEFINE_GUID(IID_IVMRDeinterlaceControl9, 0xa215fb8d, 0x13c2, 0x4f7f, 0x99,0x3c, 0x00,0x3d,0x62,0x71,0xa4,0x59); #if defined(__cplusplus) && !defined(CINTERFACE) interface IVMRDeinterlaceControl9 : public IUnknown { virtual HRESULT STDMETHODCALLTYPE GetNumberOfDeinterlaceModes( VMR9VideoDesc *desc, DWORD *nummodes, GUID *modes) = 0; virtual HRESULT STDMETHODCALLTYPE GetDeinterlaceModeCaps( GUID *mode, VMR9VideoDesc *desc, VMR9DeinterlaceCaps *caps) = 0; virtual HRESULT STDMETHODCALLTYPE GetDeinterlaceMode( DWORD streamid, GUID *mode) = 0; virtual HRESULT STDMETHODCALLTYPE SetDeinterlaceMode( DWORD streamid, GUID *mode) = 0; virtual HRESULT STDMETHODCALLTYPE GetDeinterlacePrefs( DWORD *prefs) = 0; virtual HRESULT STDMETHODCALLTYPE SetDeinterlacePrefs( DWORD prefs) = 0; virtual HRESULT STDMETHODCALLTYPE GetActualDeinterlaceMode( DWORD streamid, GUID *mode) = 0; }; #else typedef struct IVMRDeinterlaceControl9Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IVMRDeinterlaceControl9* This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IVMRDeinterlaceControl9* This); ULONG (STDMETHODCALLTYPE *Release)( IVMRDeinterlaceControl9* This); /*** IVMRDeinterlaceControl9 methods ***/ HRESULT (STDMETHODCALLTYPE *GetNumberOfDeinterlaceModes)( IVMRDeinterlaceControl9* This, VMR9VideoDesc *desc, DWORD *nummodes, GUID *modes); HRESULT (STDMETHODCALLTYPE *GetDeinterlaceModeCaps)( IVMRDeinterlaceControl9* This, GUID *mode, VMR9VideoDesc *desc, VMR9DeinterlaceCaps *caps); HRESULT (STDMETHODCALLTYPE *GetDeinterlaceMode)( IVMRDeinterlaceControl9* This, DWORD streamid, GUID *mode); HRESULT (STDMETHODCALLTYPE *SetDeinterlaceMode)( IVMRDeinterlaceControl9* This, DWORD streamid, GUID *mode); HRESULT (STDMETHODCALLTYPE *GetDeinterlacePrefs)( IVMRDeinterlaceControl9* This, DWORD *prefs); HRESULT (STDMETHODCALLTYPE *SetDeinterlacePrefs)( IVMRDeinterlaceControl9* This, DWORD prefs); HRESULT (STDMETHODCALLTYPE *GetActualDeinterlaceMode)( IVMRDeinterlaceControl9* This, DWORD streamid, GUID *mode); END_INTERFACE } IVMRDeinterlaceControl9Vtbl; interface IVMRDeinterlaceControl9 { CONST_VTBL IVMRDeinterlaceControl9Vtbl* lpVtbl; }; #ifdef COBJMACROS /*** IUnknown methods ***/ #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) /*** IVMRDeinterlaceControl9 methods ***/ #define IVMRDeinterlaceControl9_GetNumberOfDeinterlaceModes(This,desc,nummodes,modes) (This)->lpVtbl->GetNumberOfDeinterlaceModes(This,desc,nummodes,modes) #define IVMRDeinterlaceControl9_GetDeinterlaceModeCaps(This,mode,desc,caps) (This)->lpVtbl->GetDeinterlaceModeCaps(This,mode,desc,caps) #define IVMRDeinterlaceControl9_GetDeinterlaceMode(This,streamid,mode) (This)->lpVtbl->GetDeinterlaceMode(This,streamid,mode) #define IVMRDeinterlaceControl9_SetDeinterlaceMode(This,streamid,mode) (This)->lpVtbl->SetDeinterlaceMode(This,streamid,mode) #define IVMRDeinterlaceControl9_GetDeinterlacePrefs(This,prefs) (This)->lpVtbl->GetDeinterlacePrefs(This,prefs) #define IVMRDeinterlaceControl9_SetDeinterlacePrefs(This,prefs) (This)->lpVtbl->SetDeinterlacePrefs(This,prefs) #define IVMRDeinterlaceControl9_GetActualDeinterlaceMode(This,streamid,mode) (This)->lpVtbl->GetActualDeinterlaceMode(This,streamid,mode) #endif #endif HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_GetNumberOfDeinterlaceModes_Proxy( IVMRDeinterlaceControl9* This, VMR9VideoDesc *desc, DWORD *nummodes, GUID *modes); void __RPC_STUB IVMRDeinterlaceControl9_GetNumberOfDeinterlaceModes_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_GetDeinterlaceModeCaps_Proxy( IVMRDeinterlaceControl9* This, GUID *mode, VMR9VideoDesc *desc, VMR9DeinterlaceCaps *caps); void __RPC_STUB IVMRDeinterlaceControl9_GetDeinterlaceModeCaps_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_GetDeinterlaceMode_Proxy( IVMRDeinterlaceControl9* This, DWORD streamid, GUID *mode); void __RPC_STUB IVMRDeinterlaceControl9_GetDeinterlaceMode_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_SetDeinterlaceMode_Proxy( IVMRDeinterlaceControl9* This, DWORD streamid, GUID *mode); void __RPC_STUB IVMRDeinterlaceControl9_SetDeinterlaceMode_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_GetDeinterlacePrefs_Proxy( IVMRDeinterlaceControl9* This, DWORD *prefs); void __RPC_STUB IVMRDeinterlaceControl9_GetDeinterlacePrefs_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_SetDeinterlacePrefs_Proxy( IVMRDeinterlaceControl9* This, DWORD prefs); void __RPC_STUB IVMRDeinterlaceControl9_SetDeinterlacePrefs_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_GetActualDeinterlaceMode_Proxy( IVMRDeinterlaceControl9* This, DWORD streamid, GUID *mode); void __RPC_STUB IVMRDeinterlaceControl9_GetActualDeinterlaceMode_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IVMRDeinterlaceControl9_INTERFACE_DEFINED__ */ 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; /***************************************************************************** * IVMRImageCompositor9 interface */ #ifndef __IVMRImageCompositor9_INTERFACE_DEFINED__ #define __IVMRImageCompositor9_INTERFACE_DEFINED__ DEFINE_GUID(IID_IVMRImageCompositor9, 0x4a5c89eb, 0xdf51, 0x4654, 0xac,0x2a, 0xe4,0x8e,0x02,0xbb,0xab,0xf6); #if defined(__cplusplus) && !defined(CINTERFACE) interface IVMRImageCompositor9 : public IUnknown { virtual HRESULT STDMETHODCALLTYPE InitCompositionDevice( IUnknown *d3ddev) = 0; virtual HRESULT STDMETHODCALLTYPE TermCompositionDevice( IUnknown *d3ddev) = 0; virtual HRESULT STDMETHODCALLTYPE CompositeImage( IUnknown *d3ddev, IDirect3DSurface9 *d3dtarget, AM_MEDIA_TYPE *mttarget, REFERENCE_TIME start, REFERENCE_TIME stop, D3DCOLOR back, VMR9VideoStreamInfo *info, UINT streams) = 0; }; #else typedef struct IVMRImageCompositor9Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IVMRImageCompositor9* This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IVMRImageCompositor9* This); ULONG (STDMETHODCALLTYPE *Release)( IVMRImageCompositor9* This); /*** IVMRImageCompositor9 methods ***/ HRESULT (STDMETHODCALLTYPE *InitCompositionDevice)( IVMRImageCompositor9* This, IUnknown *d3ddev); HRESULT (STDMETHODCALLTYPE *TermCompositionDevice)( IVMRImageCompositor9* This, IUnknown *d3ddev); HRESULT (STDMETHODCALLTYPE *CompositeImage)( IVMRImageCompositor9* This, IUnknown *d3ddev, IDirect3DSurface9 *d3dtarget, AM_MEDIA_TYPE *mttarget, REFERENCE_TIME start, REFERENCE_TIME stop, D3DCOLOR back, VMR9VideoStreamInfo *info, UINT streams); END_INTERFACE } IVMRImageCompositor9Vtbl; interface IVMRImageCompositor9 { CONST_VTBL IVMRImageCompositor9Vtbl* lpVtbl; }; #ifdef COBJMACROS /*** IUnknown methods ***/ #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) /*** IVMRImageCompositor9 methods ***/ #define IVMRImageCompositor9_InitCompositionDevice(This,d3ddev) (This)->lpVtbl->InitCompositionDevice(This,d3ddev) #define IVMRImageCompositor9_TermCompositionDevice(This,d3ddev) (This)->lpVtbl->TermCompositionDevice(This,d3ddev) #define IVMRImageCompositor9_CompositeImage(This,d3ddev,d3dtarget,mttarget,start,stop,back,info,streams) (This)->lpVtbl->CompositeImage(This,d3ddev,d3dtarget,mttarget,start,stop,back,info,streams) #endif #endif HRESULT STDMETHODCALLTYPE IVMRImageCompositor9_InitCompositionDevice_Proxy( IVMRImageCompositor9* This, IUnknown *d3ddev); void __RPC_STUB IVMRImageCompositor9_InitCompositionDevice_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRImageCompositor9_TermCompositionDevice_Proxy( IVMRImageCompositor9* This, IUnknown *d3ddev); void __RPC_STUB IVMRImageCompositor9_TermCompositionDevice_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IVMRImageCompositor9_CompositeImage_Proxy( IVMRImageCompositor9* This, IUnknown *d3ddev, IDirect3DSurface9 *d3dtarget, AM_MEDIA_TYPE *mttarget, REFERENCE_TIME start, REFERENCE_TIME stop, D3DCOLOR back, VMR9VideoStreamInfo *info, UINT streams); void __RPC_STUB IVMRImageCompositor9_CompositeImage_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IVMRImageCompositor9_INTERFACE_DEFINED__ */ /* Begin additional prototypes for all interfaces */ /* End additional prototypes */ #ifdef __cplusplus } #endif #endif /* __WIDL_VMR9_H */