/* this ALWAYS GENERATED file contains the definitions for the interfaces */ /* File created by MIDL compiler version 7.00.0555 */ /* Compiler settings for evr.idl: Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 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( ) */ #pragma warning( disable: 4049 ) /* more than 64k source lines */ /* verify that the version is high enough to compile this file*/ #ifndef __REQUIRED_RPCNDR_H_VERSION__ #define __REQUIRED_RPCNDR_H_VERSION__ 500 #endif /* verify that the version is high enough to compile this file*/ #ifndef __REQUIRED_RPCSAL_H_VERSION__ #define __REQUIRED_RPCSAL_H_VERSION__ 100 #endif #include "rpc.h" #include "rpcndr.h" #ifndef __RPCNDR_H_VERSION__ #error this stub requires an updated version of #endif // __RPCNDR_H_VERSION__ #ifndef COM_NO_WINDOWS_H #include "windows.h" #include "ole2.h" #endif /*COM_NO_WINDOWS_H*/ #ifndef __evr_h__ #define __evr_h__ #if defined(_MSC_VER) && (_MSC_VER >= 1020) #pragma once #endif /* Forward Declarations */ #ifndef __IMFVideoPositionMapper_FWD_DEFINED__ #define __IMFVideoPositionMapper_FWD_DEFINED__ typedef interface IMFVideoPositionMapper IMFVideoPositionMapper; #endif /* __IMFVideoPositionMapper_FWD_DEFINED__ */ #ifndef __IMFVideoDeviceID_FWD_DEFINED__ #define __IMFVideoDeviceID_FWD_DEFINED__ typedef interface IMFVideoDeviceID IMFVideoDeviceID; #endif /* __IMFVideoDeviceID_FWD_DEFINED__ */ #ifndef __IMFVideoDisplayControl_FWD_DEFINED__ #define __IMFVideoDisplayControl_FWD_DEFINED__ typedef interface IMFVideoDisplayControl IMFVideoDisplayControl; #endif /* __IMFVideoDisplayControl_FWD_DEFINED__ */ #ifndef __IMFVideoPresenter_FWD_DEFINED__ #define __IMFVideoPresenter_FWD_DEFINED__ typedef interface IMFVideoPresenter IMFVideoPresenter; #endif /* __IMFVideoPresenter_FWD_DEFINED__ */ #ifndef __IMFDesiredSample_FWD_DEFINED__ #define __IMFDesiredSample_FWD_DEFINED__ typedef interface IMFDesiredSample IMFDesiredSample; #endif /* __IMFDesiredSample_FWD_DEFINED__ */ #ifndef __IMFTrackedSample_FWD_DEFINED__ #define __IMFTrackedSample_FWD_DEFINED__ typedef interface IMFTrackedSample IMFTrackedSample; #endif /* __IMFTrackedSample_FWD_DEFINED__ */ #ifndef __IMFVideoMixerControl_FWD_DEFINED__ #define __IMFVideoMixerControl_FWD_DEFINED__ typedef interface IMFVideoMixerControl IMFVideoMixerControl; #endif /* __IMFVideoMixerControl_FWD_DEFINED__ */ #ifndef __IMFVideoMixerControl2_FWD_DEFINED__ #define __IMFVideoMixerControl2_FWD_DEFINED__ typedef interface IMFVideoMixerControl2 IMFVideoMixerControl2; #endif /* __IMFVideoMixerControl2_FWD_DEFINED__ */ #ifndef __IMFVideoRenderer_FWD_DEFINED__ #define __IMFVideoRenderer_FWD_DEFINED__ typedef interface IMFVideoRenderer IMFVideoRenderer; #endif /* __IMFVideoRenderer_FWD_DEFINED__ */ #ifndef __IEVRFilterConfig_FWD_DEFINED__ #define __IEVRFilterConfig_FWD_DEFINED__ typedef interface IEVRFilterConfig IEVRFilterConfig; #endif /* __IEVRFilterConfig_FWD_DEFINED__ */ #ifndef __IEVRFilterConfigEx_FWD_DEFINED__ #define __IEVRFilterConfigEx_FWD_DEFINED__ typedef interface IEVRFilterConfigEx IEVRFilterConfigEx; #endif /* __IEVRFilterConfigEx_FWD_DEFINED__ */ #ifndef __IMFTopologyServiceLookup_FWD_DEFINED__ #define __IMFTopologyServiceLookup_FWD_DEFINED__ typedef interface IMFTopologyServiceLookup IMFTopologyServiceLookup; #endif /* __IMFTopologyServiceLookup_FWD_DEFINED__ */ #ifndef __IMFTopologyServiceLookupClient_FWD_DEFINED__ #define __IMFTopologyServiceLookupClient_FWD_DEFINED__ typedef interface IMFTopologyServiceLookupClient IMFTopologyServiceLookupClient; #endif /* __IMFTopologyServiceLookupClient_FWD_DEFINED__ */ #ifndef __IEVRTrustedVideoPlugin_FWD_DEFINED__ #define __IEVRTrustedVideoPlugin_FWD_DEFINED__ typedef interface IEVRTrustedVideoPlugin IEVRTrustedVideoPlugin; #endif /* __IEVRTrustedVideoPlugin_FWD_DEFINED__ */ /* header files for imported files */ #include "unknwn.h" #include "propidl.h" #include "mfidl.h" #include "strmif.h" #ifdef __cplusplus extern "C"{ #endif /* interface __MIDL_itf_evr_0000_0000 */ /* [local] */ #if defined(__midl) typedef enum _D3DFORMAT { D3DFMT_UNKNOWN = 0, D3DFMT_R8G8B8 = 20, D3DFMT_A8R8G8B8 = 21, D3DFMT_X8R8G8B8 = 22, D3DFMT_R5G6B5 = 23, D3DFMT_X1R5G5B5 = 24, D3DFMT_A1R5G5B5 = 25, D3DFMT_A4R4G4B4 = 26, D3DFMT_R3G3B2 = 27, D3DFMT_A8 = 28, D3DFMT_A8R3G3B2 = 29, D3DFMT_X4R4G4B4 = 30, D3DFMT_A2B10G10R10 = 31, D3DFMT_G16R16 = 34, D3DFMT_A8P8 = 40, D3DFMT_P8 = 41, D3DFMT_L8 = 50, D3DFMT_A8L8 = 51, D3DFMT_A4L4 = 52, D3DFMT_V8U8 = 60, D3DFMT_L6V5U5 = 61, D3DFMT_X8L8V8U8 = 62, D3DFMT_Q8W8V8U8 = 63, D3DFMT_V16U16 = 64, D3DFMT_W11V11U10 = 65, D3DFMT_A2W10V10U10 = 67, D3DFMT_D16_LOCKABLE = 70, D3DFMT_D32 = 71, D3DFMT_D15S1 = 73, D3DFMT_D24S8 = 75, D3DFMT_D16 = 80, D3DFMT_D24X8 = 77, D3DFMT_D24X4S4 = 79, D3DFMT_VERTEXDATA = 100, D3DFMT_INDEX16 = 101, D3DFMT_INDEX32 = 102, D3DFMT_FORCE_DWORD = 0x7fffffff } D3DFORMAT; #endif // __midl DEFINE_GUID(MR_VIDEO_RENDER_SERVICE, 0x1092a86c, 0xab1a, 0x459a, 0xa3, 0x36, 0x83, 0x1f, 0xbc, 0x4d, 0x11, 0xff ); DEFINE_GUID(MR_VIDEO_MIXER_SERVICE, 0x73cd2fc, 0x6cf4, 0x40b7, 0x88, 0x59, 0xe8, 0x95, 0x52, 0xc8, 0x41, 0xf8 ); DEFINE_GUID(MR_VIDEO_ACCELERATION_SERVICE, 0xefef5175, 0x5c7d, 0x4ce2, 0xbb, 0xbd, 0x34, 0xff, 0x8b, 0xca, 0x65, 0x54 ); DEFINE_GUID(MR_BUFFER_SERVICE, 0xa562248c, 0x9ac6, 0x4ffc, 0x9f, 0xba, 0x3a, 0xf8, 0xf8, 0xad, 0x1a, 0x4d ); DEFINE_GUID(VIDEO_ZOOM_RECT, 0x7aaa1638, 0x1b7f, 0x4c93, 0xbd, 0x89, 0x5b, 0x9c, 0x9f, 0xb6, 0xfc, 0xf0 ); extern RPC_IF_HANDLE __MIDL_itf_evr_0000_0000_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_evr_0000_0000_v0_0_s_ifspec; #ifndef __IMFVideoPositionMapper_INTERFACE_DEFINED__ #define __IMFVideoPositionMapper_INTERFACE_DEFINED__ /* interface IMFVideoPositionMapper */ /* [local][helpstring][uuid][object] */ EXTERN_C const IID IID_IMFVideoPositionMapper; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("1F6A9F17-E70B-4e24-8AE4-0B2C3BA7A4AE") IMFVideoPositionMapper : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE MapOutputCoordinateToInputStream( /* [in] */ float xOut, /* [in] */ float yOut, /* [in] */ DWORD dwOutputStreamIndex, /* [in] */ DWORD dwInputStreamIndex, /* [annotation][out] */ __out float *pxIn, /* [annotation][out] */ __out float *pyIn) = 0; }; #else /* C style interface */ typedef struct IMFVideoPositionMapperVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMFVideoPositionMapper * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMFVideoPositionMapper * This); ULONG ( STDMETHODCALLTYPE *Release )( IMFVideoPositionMapper * This); HRESULT ( STDMETHODCALLTYPE *MapOutputCoordinateToInputStream )( IMFVideoPositionMapper * This, /* [in] */ float xOut, /* [in] */ float yOut, /* [in] */ DWORD dwOutputStreamIndex, /* [in] */ DWORD dwInputStreamIndex, /* [annotation][out] */ __out float *pxIn, /* [annotation][out] */ __out float *pyIn); END_INTERFACE } IMFVideoPositionMapperVtbl; interface IMFVideoPositionMapper { CONST_VTBL struct IMFVideoPositionMapperVtbl *lpVtbl; }; #ifdef COBJMACROS #define IMFVideoPositionMapper_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IMFVideoPositionMapper_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IMFVideoPositionMapper_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IMFVideoPositionMapper_MapOutputCoordinateToInputStream(This,xOut,yOut,dwOutputStreamIndex,dwInputStreamIndex,pxIn,pyIn) \ ( (This)->lpVtbl -> MapOutputCoordinateToInputStream(This,xOut,yOut,dwOutputStreamIndex,dwInputStreamIndex,pxIn,pyIn) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IMFVideoPositionMapper_INTERFACE_DEFINED__ */ #ifndef __IMFVideoDeviceID_INTERFACE_DEFINED__ #define __IMFVideoDeviceID_INTERFACE_DEFINED__ /* interface IMFVideoDeviceID */ /* [local][helpstring][uuid][object] */ EXTERN_C const IID IID_IMFVideoDeviceID; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("A38D9567-5A9C-4f3c-B293-8EB415B279BA") IMFVideoDeviceID : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetDeviceID( /* [annotation][out] */ __out IID *pDeviceID) = 0; }; #else /* C style interface */ typedef struct IMFVideoDeviceIDVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMFVideoDeviceID * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMFVideoDeviceID * This); ULONG ( STDMETHODCALLTYPE *Release )( IMFVideoDeviceID * This); HRESULT ( STDMETHODCALLTYPE *GetDeviceID )( IMFVideoDeviceID * This, /* [annotation][out] */ __out IID *pDeviceID); END_INTERFACE } IMFVideoDeviceIDVtbl; interface IMFVideoDeviceID { CONST_VTBL struct IMFVideoDeviceIDVtbl *lpVtbl; }; #ifdef COBJMACROS #define IMFVideoDeviceID_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IMFVideoDeviceID_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IMFVideoDeviceID_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IMFVideoDeviceID_GetDeviceID(This,pDeviceID) \ ( (This)->lpVtbl -> GetDeviceID(This,pDeviceID) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IMFVideoDeviceID_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_evr_0000_0002 */ /* [local] */ typedef enum MFVideoAspectRatioMode { MFVideoARMode_None = 0, MFVideoARMode_PreservePicture = 0x1, MFVideoARMode_PreservePixel = 0x2, MFVideoARMode_NonLinearStretch = 0x4, MFVideoARMode_Mask = 0x7 } MFVideoAspectRatioMode; typedef enum MFVideoRenderPrefs { MFVideoRenderPrefs_DoNotRenderBorder = 0x1, MFVideoRenderPrefs_DoNotClipToDevice = 0x2, MFVideoRenderPrefs_AllowOutputThrottling = 0x4, MFVideoRenderPrefs_ForceOutputThrottling = 0x8, MFVideoRenderPrefs_ForceBatching = 0x10, MFVideoRenderPrefs_AllowBatching = 0x20, MFVideoRenderPrefs_ForceScaling = 0x40, MFVideoRenderPrefs_AllowScaling = 0x80, MFVideoRenderPrefs_DoNotRepaintOnStop = 0x100, MFVideoRenderPrefs_Mask = 0x1ff } MFVideoRenderPrefs; typedef struct MFVideoNormalizedRect { float left; float top; float right; float bottom; } MFVideoNormalizedRect; extern RPC_IF_HANDLE __MIDL_itf_evr_0000_0002_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_evr_0000_0002_v0_0_s_ifspec; #ifndef __IMFVideoDisplayControl_INTERFACE_DEFINED__ #define __IMFVideoDisplayControl_INTERFACE_DEFINED__ /* interface IMFVideoDisplayControl */ /* [helpstring][uuid][object] */ EXTERN_C const IID IID_IMFVideoDisplayControl; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("a490b1e4-ab84-4d31-a1b2-181e03b1077a") IMFVideoDisplayControl : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetNativeVideoSize( /* [unique][out][in] */ __RPC__inout_opt SIZE *pszVideo, /* [unique][out][in] */ __RPC__inout_opt SIZE *pszARVideo) = 0; virtual HRESULT STDMETHODCALLTYPE GetIdealVideoSize( /* [unique][out][in] */ __RPC__inout_opt SIZE *pszMin, /* [unique][out][in] */ __RPC__inout_opt SIZE *pszMax) = 0; virtual HRESULT STDMETHODCALLTYPE SetVideoPosition( /* [unique][in] */ __RPC__in_opt const MFVideoNormalizedRect *pnrcSource, /* [unique][in] */ __RPC__in_opt const LPRECT prcDest) = 0; virtual HRESULT STDMETHODCALLTYPE GetVideoPosition( /* [out] */ __RPC__out MFVideoNormalizedRect *pnrcSource, /* [out] */ __RPC__out LPRECT prcDest) = 0; virtual HRESULT STDMETHODCALLTYPE SetAspectRatioMode( /* [in] */ DWORD dwAspectRatioMode) = 0; virtual HRESULT STDMETHODCALLTYPE GetAspectRatioMode( /* [out] */ __RPC__out DWORD *pdwAspectRatioMode) = 0; virtual HRESULT STDMETHODCALLTYPE SetVideoWindow( /* [in] */ __RPC__in HWND hwndVideo) = 0; virtual HRESULT STDMETHODCALLTYPE GetVideoWindow( /* [out] */ __RPC__deref_out_opt HWND *phwndVideo) = 0; virtual HRESULT STDMETHODCALLTYPE RepaintVideo( void) = 0; virtual HRESULT STDMETHODCALLTYPE GetCurrentImage( /* [out][in] */ __RPC__inout BITMAPINFOHEADER *pBih, /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbDib) BYTE **pDib, /* [out] */ __RPC__out DWORD *pcbDib, /* [unique][out][in] */ __RPC__inout_opt LONGLONG *pTimeStamp) = 0; virtual HRESULT STDMETHODCALLTYPE SetBorderColor( /* [in] */ COLORREF Clr) = 0; virtual HRESULT STDMETHODCALLTYPE GetBorderColor( /* [out] */ __RPC__out COLORREF *pClr) = 0; virtual HRESULT STDMETHODCALLTYPE SetRenderingPrefs( /* [in] */ DWORD dwRenderFlags) = 0; virtual HRESULT STDMETHODCALLTYPE GetRenderingPrefs( /* [out] */ __RPC__out DWORD *pdwRenderFlags) = 0; virtual HRESULT STDMETHODCALLTYPE SetFullscreen( /* [in] */ BOOL fFullscreen) = 0; virtual HRESULT STDMETHODCALLTYPE GetFullscreen( /* [out] */ __RPC__out BOOL *pfFullscreen) = 0; }; #else /* C style interface */ typedef struct IMFVideoDisplayControlVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( __RPC__in IMFVideoDisplayControl * This, /* [in] */ __RPC__in REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( __RPC__in IMFVideoDisplayControl * This); ULONG ( STDMETHODCALLTYPE *Release )( __RPC__in IMFVideoDisplayControl * This); HRESULT ( STDMETHODCALLTYPE *GetNativeVideoSize )( __RPC__in IMFVideoDisplayControl * This, /* [unique][out][in] */ __RPC__inout_opt SIZE *pszVideo, /* [unique][out][in] */ __RPC__inout_opt SIZE *pszARVideo); HRESULT ( STDMETHODCALLTYPE *GetIdealVideoSize )( __RPC__in IMFVideoDisplayControl * This, /* [unique][out][in] */ __RPC__inout_opt SIZE *pszMin, /* [unique][out][in] */ __RPC__inout_opt SIZE *pszMax); HRESULT ( STDMETHODCALLTYPE *SetVideoPosition )( __RPC__in IMFVideoDisplayControl * This, /* [unique][in] */ __RPC__in_opt const MFVideoNormalizedRect *pnrcSource, /* [unique][in] */ __RPC__in_opt const LPRECT prcDest); HRESULT ( STDMETHODCALLTYPE *GetVideoPosition )( __RPC__in IMFVideoDisplayControl * This, /* [out] */ __RPC__out MFVideoNormalizedRect *pnrcSource, /* [out] */ __RPC__out LPRECT prcDest); HRESULT ( STDMETHODCALLTYPE *SetAspectRatioMode )( __RPC__in IMFVideoDisplayControl * This, /* [in] */ DWORD dwAspectRatioMode); HRESULT ( STDMETHODCALLTYPE *GetAspectRatioMode )( __RPC__in IMFVideoDisplayControl * This, /* [out] */ __RPC__out DWORD *pdwAspectRatioMode); HRESULT ( STDMETHODCALLTYPE *SetVideoWindow )( __RPC__in IMFVideoDisplayControl * This, /* [in] */ __RPC__in HWND hwndVideo); HRESULT ( STDMETHODCALLTYPE *GetVideoWindow )( __RPC__in IMFVideoDisplayControl * This, /* [out] */ __RPC__deref_out_opt HWND *phwndVideo); HRESULT ( STDMETHODCALLTYPE *RepaintVideo )( __RPC__in IMFVideoDisplayControl * This); HRESULT ( STDMETHODCALLTYPE *GetCurrentImage )( __RPC__in IMFVideoDisplayControl * This, /* [out][in] */ __RPC__inout BITMAPINFOHEADER *pBih, /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbDib) BYTE **pDib, /* [out] */ __RPC__out DWORD *pcbDib, /* [unique][out][in] */ __RPC__inout_opt LONGLONG *pTimeStamp); HRESULT ( STDMETHODCALLTYPE *SetBorderColor )( __RPC__in IMFVideoDisplayControl * This, /* [in] */ COLORREF Clr); HRESULT ( STDMETHODCALLTYPE *GetBorderColor )( __RPC__in IMFVideoDisplayControl * This, /* [out] */ __RPC__out COLORREF *pClr); HRESULT ( STDMETHODCALLTYPE *SetRenderingPrefs )( __RPC__in IMFVideoDisplayControl * This, /* [in] */ DWORD dwRenderFlags); HRESULT ( STDMETHODCALLTYPE *GetRenderingPrefs )( __RPC__in IMFVideoDisplayControl * This, /* [out] */ __RPC__out DWORD *pdwRenderFlags); HRESULT ( STDMETHODCALLTYPE *SetFullscreen )( __RPC__in IMFVideoDisplayControl * This, /* [in] */ BOOL fFullscreen); HRESULT ( STDMETHODCALLTYPE *GetFullscreen )( __RPC__in IMFVideoDisplayControl * This, /* [out] */ __RPC__out BOOL *pfFullscreen); END_INTERFACE } IMFVideoDisplayControlVtbl; interface IMFVideoDisplayControl { CONST_VTBL struct IMFVideoDisplayControlVtbl *lpVtbl; }; #ifdef COBJMACROS #define IMFVideoDisplayControl_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IMFVideoDisplayControl_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IMFVideoDisplayControl_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IMFVideoDisplayControl_GetNativeVideoSize(This,pszVideo,pszARVideo) \ ( (This)->lpVtbl -> GetNativeVideoSize(This,pszVideo,pszARVideo) ) #define IMFVideoDisplayControl_GetIdealVideoSize(This,pszMin,pszMax) \ ( (This)->lpVtbl -> GetIdealVideoSize(This,pszMin,pszMax) ) #define IMFVideoDisplayControl_SetVideoPosition(This,pnrcSource,prcDest) \ ( (This)->lpVtbl -> SetVideoPosition(This,pnrcSource,prcDest) ) #define IMFVideoDisplayControl_GetVideoPosition(This,pnrcSource,prcDest) \ ( (This)->lpVtbl -> GetVideoPosition(This,pnrcSource,prcDest) ) #define IMFVideoDisplayControl_SetAspectRatioMode(This,dwAspectRatioMode) \ ( (This)->lpVtbl -> SetAspectRatioMode(This,dwAspectRatioMode) ) #define IMFVideoDisplayControl_GetAspectRatioMode(This,pdwAspectRatioMode) \ ( (This)->lpVtbl -> GetAspectRatioMode(This,pdwAspectRatioMode) ) #define IMFVideoDisplayControl_SetVideoWindow(This,hwndVideo) \ ( (This)->lpVtbl -> SetVideoWindow(This,hwndVideo) ) #define IMFVideoDisplayControl_GetVideoWindow(This,phwndVideo) \ ( (This)->lpVtbl -> GetVideoWindow(This,phwndVideo) ) #define IMFVideoDisplayControl_RepaintVideo(This) \ ( (This)->lpVtbl -> RepaintVideo(This) ) #define IMFVideoDisplayControl_GetCurrentImage(This,pBih,pDib,pcbDib,pTimeStamp) \ ( (This)->lpVtbl -> GetCurrentImage(This,pBih,pDib,pcbDib,pTimeStamp) ) #define IMFVideoDisplayControl_SetBorderColor(This,Clr) \ ( (This)->lpVtbl -> SetBorderColor(This,Clr) ) #define IMFVideoDisplayControl_GetBorderColor(This,pClr) \ ( (This)->lpVtbl -> GetBorderColor(This,pClr) ) #define IMFVideoDisplayControl_SetRenderingPrefs(This,dwRenderFlags) \ ( (This)->lpVtbl -> SetRenderingPrefs(This,dwRenderFlags) ) #define IMFVideoDisplayControl_GetRenderingPrefs(This,pdwRenderFlags) \ ( (This)->lpVtbl -> GetRenderingPrefs(This,pdwRenderFlags) ) #define IMFVideoDisplayControl_SetFullscreen(This,fFullscreen) \ ( (This)->lpVtbl -> SetFullscreen(This,fFullscreen) ) #define IMFVideoDisplayControl_GetFullscreen(This,pfFullscreen) \ ( (This)->lpVtbl -> GetFullscreen(This,pfFullscreen) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IMFVideoDisplayControl_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_evr_0000_0003 */ /* [local] */ typedef enum MFVP_MESSAGE_TYPE { MFVP_MESSAGE_FLUSH = 0, MFVP_MESSAGE_INVALIDATEMEDIATYPE = 0x1, MFVP_MESSAGE_PROCESSINPUTNOTIFY = 0x2, MFVP_MESSAGE_BEGINSTREAMING = 0x3, MFVP_MESSAGE_ENDSTREAMING = 0x4, MFVP_MESSAGE_ENDOFSTREAM = 0x5, MFVP_MESSAGE_STEP = 0x6, MFVP_MESSAGE_CANCELSTEP = 0x7 } MFVP_MESSAGE_TYPE; extern RPC_IF_HANDLE __MIDL_itf_evr_0000_0003_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_evr_0000_0003_v0_0_s_ifspec; #ifndef __IMFVideoPresenter_INTERFACE_DEFINED__ #define __IMFVideoPresenter_INTERFACE_DEFINED__ /* interface IMFVideoPresenter */ /* [local][helpstring][uuid][object] */ EXTERN_C const IID IID_IMFVideoPresenter; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("29AFF080-182A-4a5d-AF3B-448F3A6346CB") IMFVideoPresenter : public IMFClockStateSink { public: virtual HRESULT STDMETHODCALLTYPE ProcessMessage( MFVP_MESSAGE_TYPE eMessage, ULONG_PTR ulParam) = 0; virtual HRESULT STDMETHODCALLTYPE GetCurrentMediaType( /* [annotation][out] */ __deref_out IMFVideoMediaType **ppMediaType) = 0; }; #else /* C style interface */ typedef struct IMFVideoPresenterVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMFVideoPresenter * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMFVideoPresenter * This); ULONG ( STDMETHODCALLTYPE *Release )( IMFVideoPresenter * This); HRESULT ( STDMETHODCALLTYPE *OnClockStart )( IMFVideoPresenter * This, /* [in] */ MFTIME hnsSystemTime, /* [in] */ LONGLONG llClockStartOffset); HRESULT ( STDMETHODCALLTYPE *OnClockStop )( IMFVideoPresenter * This, /* [in] */ MFTIME hnsSystemTime); HRESULT ( STDMETHODCALLTYPE *OnClockPause )( IMFVideoPresenter * This, /* [in] */ MFTIME hnsSystemTime); HRESULT ( STDMETHODCALLTYPE *OnClockRestart )( IMFVideoPresenter * This, /* [in] */ MFTIME hnsSystemTime); HRESULT ( STDMETHODCALLTYPE *OnClockSetRate )( IMFVideoPresenter * This, /* [in] */ MFTIME hnsSystemTime, /* [in] */ float flRate); HRESULT ( STDMETHODCALLTYPE *ProcessMessage )( IMFVideoPresenter * This, MFVP_MESSAGE_TYPE eMessage, ULONG_PTR ulParam); HRESULT ( STDMETHODCALLTYPE *GetCurrentMediaType )( IMFVideoPresenter * This, /* [annotation][out] */ __deref_out IMFVideoMediaType **ppMediaType); END_INTERFACE } IMFVideoPresenterVtbl; interface IMFVideoPresenter { CONST_VTBL struct IMFVideoPresenterVtbl *lpVtbl; }; #ifdef COBJMACROS #define IMFVideoPresenter_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IMFVideoPresenter_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IMFVideoPresenter_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IMFVideoPresenter_OnClockStart(This,hnsSystemTime,llClockStartOffset) \ ( (This)->lpVtbl -> OnClockStart(This,hnsSystemTime,llClockStartOffset) ) #define IMFVideoPresenter_OnClockStop(This,hnsSystemTime) \ ( (This)->lpVtbl -> OnClockStop(This,hnsSystemTime) ) #define IMFVideoPresenter_OnClockPause(This,hnsSystemTime) \ ( (This)->lpVtbl -> OnClockPause(This,hnsSystemTime) ) #define IMFVideoPresenter_OnClockRestart(This,hnsSystemTime) \ ( (This)->lpVtbl -> OnClockRestart(This,hnsSystemTime) ) #define IMFVideoPresenter_OnClockSetRate(This,hnsSystemTime,flRate) \ ( (This)->lpVtbl -> OnClockSetRate(This,hnsSystemTime,flRate) ) #define IMFVideoPresenter_ProcessMessage(This,eMessage,ulParam) \ ( (This)->lpVtbl -> ProcessMessage(This,eMessage,ulParam) ) #define IMFVideoPresenter_GetCurrentMediaType(This,ppMediaType) \ ( (This)->lpVtbl -> GetCurrentMediaType(This,ppMediaType) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IMFVideoPresenter_INTERFACE_DEFINED__ */ #ifndef __IMFDesiredSample_INTERFACE_DEFINED__ #define __IMFDesiredSample_INTERFACE_DEFINED__ /* interface IMFDesiredSample */ /* [local][helpstring][uuid][object] */ EXTERN_C const IID IID_IMFDesiredSample; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("56C294D0-753E-4260-8D61-A3D8820B1D54") IMFDesiredSample : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetDesiredSampleTimeAndDuration( /* [annotation][out] */ __out LONGLONG *phnsSampleTime, /* [annotation][out] */ __out LONGLONG *phnsSampleDuration) = 0; virtual void STDMETHODCALLTYPE SetDesiredSampleTimeAndDuration( /* [in] */ LONGLONG hnsSampleTime, /* [in] */ LONGLONG hnsSampleDuration) = 0; virtual void STDMETHODCALLTYPE Clear( void) = 0; }; #else /* C style interface */ typedef struct IMFDesiredSampleVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMFDesiredSample * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMFDesiredSample * This); ULONG ( STDMETHODCALLTYPE *Release )( IMFDesiredSample * This); HRESULT ( STDMETHODCALLTYPE *GetDesiredSampleTimeAndDuration )( IMFDesiredSample * This, /* [annotation][out] */ __out LONGLONG *phnsSampleTime, /* [annotation][out] */ __out LONGLONG *phnsSampleDuration); void ( STDMETHODCALLTYPE *SetDesiredSampleTimeAndDuration )( IMFDesiredSample * This, /* [in] */ LONGLONG hnsSampleTime, /* [in] */ LONGLONG hnsSampleDuration); void ( STDMETHODCALLTYPE *Clear )( IMFDesiredSample * This); END_INTERFACE } IMFDesiredSampleVtbl; interface IMFDesiredSample { CONST_VTBL struct IMFDesiredSampleVtbl *lpVtbl; }; #ifdef COBJMACROS #define IMFDesiredSample_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IMFDesiredSample_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IMFDesiredSample_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IMFDesiredSample_GetDesiredSampleTimeAndDuration(This,phnsSampleTime,phnsSampleDuration) \ ( (This)->lpVtbl -> GetDesiredSampleTimeAndDuration(This,phnsSampleTime,phnsSampleDuration) ) #define IMFDesiredSample_SetDesiredSampleTimeAndDuration(This,hnsSampleTime,hnsSampleDuration) \ ( (This)->lpVtbl -> SetDesiredSampleTimeAndDuration(This,hnsSampleTime,hnsSampleDuration) ) #define IMFDesiredSample_Clear(This) \ ( (This)->lpVtbl -> Clear(This) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IMFDesiredSample_INTERFACE_DEFINED__ */ #ifndef __IMFTrackedSample_INTERFACE_DEFINED__ #define __IMFTrackedSample_INTERFACE_DEFINED__ /* interface IMFTrackedSample */ /* [local][helpstring][uuid][object] */ EXTERN_C const IID IID_IMFTrackedSample; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("245BF8E9-0755-40f7-88A5-AE0F18D55E17") IMFTrackedSample : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE SetAllocator( /* [annotation][in] */ __in IMFAsyncCallback *pSampleAllocator, /* [unique][in] */ IUnknown *pUnkState) = 0; }; #else /* C style interface */ typedef struct IMFTrackedSampleVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMFTrackedSample * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMFTrackedSample * This); ULONG ( STDMETHODCALLTYPE *Release )( IMFTrackedSample * This); HRESULT ( STDMETHODCALLTYPE *SetAllocator )( IMFTrackedSample * This, /* [annotation][in] */ __in IMFAsyncCallback *pSampleAllocator, /* [unique][in] */ IUnknown *pUnkState); END_INTERFACE } IMFTrackedSampleVtbl; interface IMFTrackedSample { CONST_VTBL struct IMFTrackedSampleVtbl *lpVtbl; }; #ifdef COBJMACROS #define IMFTrackedSample_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IMFTrackedSample_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IMFTrackedSample_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IMFTrackedSample_SetAllocator(This,pSampleAllocator,pUnkState) \ ( (This)->lpVtbl -> SetAllocator(This,pSampleAllocator,pUnkState) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IMFTrackedSample_INTERFACE_DEFINED__ */ #ifndef __IMFVideoMixerControl_INTERFACE_DEFINED__ #define __IMFVideoMixerControl_INTERFACE_DEFINED__ /* interface IMFVideoMixerControl */ /* [helpstring][uuid][object] */ EXTERN_C const IID IID_IMFVideoMixerControl; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("A5C6C53F-C202-4aa5-9695-175BA8C508A5") IMFVideoMixerControl : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE SetStreamZOrder( /* [in] */ DWORD dwStreamID, /* [in] */ DWORD dwZ) = 0; virtual HRESULT STDMETHODCALLTYPE GetStreamZOrder( /* [in] */ DWORD dwStreamID, /* [out] */ __RPC__out DWORD *pdwZ) = 0; virtual HRESULT STDMETHODCALLTYPE SetStreamOutputRect( /* [in] */ DWORD dwStreamID, /* [in] */ __RPC__in const MFVideoNormalizedRect *pnrcOutput) = 0; virtual HRESULT STDMETHODCALLTYPE GetStreamOutputRect( /* [in] */ DWORD dwStreamID, /* [out] */ __RPC__out MFVideoNormalizedRect *pnrcOutput) = 0; }; #else /* C style interface */ typedef struct IMFVideoMixerControlVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( __RPC__in IMFVideoMixerControl * This, /* [in] */ __RPC__in REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( __RPC__in IMFVideoMixerControl * This); ULONG ( STDMETHODCALLTYPE *Release )( __RPC__in IMFVideoMixerControl * This); HRESULT ( STDMETHODCALLTYPE *SetStreamZOrder )( __RPC__in IMFVideoMixerControl * This, /* [in] */ DWORD dwStreamID, /* [in] */ DWORD dwZ); HRESULT ( STDMETHODCALLTYPE *GetStreamZOrder )( __RPC__in IMFVideoMixerControl * This, /* [in] */ DWORD dwStreamID, /* [out] */ __RPC__out DWORD *pdwZ); HRESULT ( STDMETHODCALLTYPE *SetStreamOutputRect )( __RPC__in IMFVideoMixerControl * This, /* [in] */ DWORD dwStreamID, /* [in] */ __RPC__in const MFVideoNormalizedRect *pnrcOutput); HRESULT ( STDMETHODCALLTYPE *GetStreamOutputRect )( __RPC__in IMFVideoMixerControl * This, /* [in] */ DWORD dwStreamID, /* [out] */ __RPC__out MFVideoNormalizedRect *pnrcOutput); END_INTERFACE } IMFVideoMixerControlVtbl; interface IMFVideoMixerControl { CONST_VTBL struct IMFVideoMixerControlVtbl *lpVtbl; }; #ifdef COBJMACROS #define IMFVideoMixerControl_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IMFVideoMixerControl_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IMFVideoMixerControl_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IMFVideoMixerControl_SetStreamZOrder(This,dwStreamID,dwZ) \ ( (This)->lpVtbl -> SetStreamZOrder(This,dwStreamID,dwZ) ) #define IMFVideoMixerControl_GetStreamZOrder(This,dwStreamID,pdwZ) \ ( (This)->lpVtbl -> GetStreamZOrder(This,dwStreamID,pdwZ) ) #define IMFVideoMixerControl_SetStreamOutputRect(This,dwStreamID,pnrcOutput) \ ( (This)->lpVtbl -> SetStreamOutputRect(This,dwStreamID,pnrcOutput) ) #define IMFVideoMixerControl_GetStreamOutputRect(This,dwStreamID,pnrcOutput) \ ( (This)->lpVtbl -> GetStreamOutputRect(This,dwStreamID,pnrcOutput) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IMFVideoMixerControl_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_evr_0000_0007 */ /* [local] */ typedef enum _MFVideoMixPrefs { MFVideoMixPrefs_ForceHalfInterlace = 0x1, MFVideoMixPrefs_AllowDropToHalfInterlace = 0x2, MFVideoMixPrefs_AllowDropToBob = 0x4, MFVideoMixPrefs_ForceBob = 0x8, MFVideoMixPrefs_Mask = 0xf } MFVideoMixPrefs; extern RPC_IF_HANDLE __MIDL_itf_evr_0000_0007_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_evr_0000_0007_v0_0_s_ifspec; #ifndef __IMFVideoMixerControl2_INTERFACE_DEFINED__ #define __IMFVideoMixerControl2_INTERFACE_DEFINED__ /* interface IMFVideoMixerControl2 */ /* [helpstring][uuid][object] */ EXTERN_C const IID IID_IMFVideoMixerControl2; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("8459616d-966e-4930-b658-54fa7e5a16d3") IMFVideoMixerControl2 : public IMFVideoMixerControl { public: virtual HRESULT STDMETHODCALLTYPE SetMixingPrefs( /* [in] */ DWORD dwMixFlags) = 0; virtual HRESULT STDMETHODCALLTYPE GetMixingPrefs( /* [out] */ __RPC__out DWORD *pdwMixFlags) = 0; }; #else /* C style interface */ typedef struct IMFVideoMixerControl2Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( __RPC__in IMFVideoMixerControl2 * This, /* [in] */ __RPC__in REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( __RPC__in IMFVideoMixerControl2 * This); ULONG ( STDMETHODCALLTYPE *Release )( __RPC__in IMFVideoMixerControl2 * This); HRESULT ( STDMETHODCALLTYPE *SetStreamZOrder )( __RPC__in IMFVideoMixerControl2 * This, /* [in] */ DWORD dwStreamID, /* [in] */ DWORD dwZ); HRESULT ( STDMETHODCALLTYPE *GetStreamZOrder )( __RPC__in IMFVideoMixerControl2 * This, /* [in] */ DWORD dwStreamID, /* [out] */ __RPC__out DWORD *pdwZ); HRESULT ( STDMETHODCALLTYPE *SetStreamOutputRect )( __RPC__in IMFVideoMixerControl2 * This, /* [in] */ DWORD dwStreamID, /* [in] */ __RPC__in const MFVideoNormalizedRect *pnrcOutput); HRESULT ( STDMETHODCALLTYPE *GetStreamOutputRect )( __RPC__in IMFVideoMixerControl2 * This, /* [in] */ DWORD dwStreamID, /* [out] */ __RPC__out MFVideoNormalizedRect *pnrcOutput); HRESULT ( STDMETHODCALLTYPE *SetMixingPrefs )( __RPC__in IMFVideoMixerControl2 * This, /* [in] */ DWORD dwMixFlags); HRESULT ( STDMETHODCALLTYPE *GetMixingPrefs )( __RPC__in IMFVideoMixerControl2 * This, /* [out] */ __RPC__out DWORD *pdwMixFlags); END_INTERFACE } IMFVideoMixerControl2Vtbl; interface IMFVideoMixerControl2 { CONST_VTBL struct IMFVideoMixerControl2Vtbl *lpVtbl; }; #ifdef COBJMACROS #define IMFVideoMixerControl2_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IMFVideoMixerControl2_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IMFVideoMixerControl2_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IMFVideoMixerControl2_SetStreamZOrder(This,dwStreamID,dwZ) \ ( (This)->lpVtbl -> SetStreamZOrder(This,dwStreamID,dwZ) ) #define IMFVideoMixerControl2_GetStreamZOrder(This,dwStreamID,pdwZ) \ ( (This)->lpVtbl -> GetStreamZOrder(This,dwStreamID,pdwZ) ) #define IMFVideoMixerControl2_SetStreamOutputRect(This,dwStreamID,pnrcOutput) \ ( (This)->lpVtbl -> SetStreamOutputRect(This,dwStreamID,pnrcOutput) ) #define IMFVideoMixerControl2_GetStreamOutputRect(This,dwStreamID,pnrcOutput) \ ( (This)->lpVtbl -> GetStreamOutputRect(This,dwStreamID,pnrcOutput) ) #define IMFVideoMixerControl2_SetMixingPrefs(This,dwMixFlags) \ ( (This)->lpVtbl -> SetMixingPrefs(This,dwMixFlags) ) #define IMFVideoMixerControl2_GetMixingPrefs(This,pdwMixFlags) \ ( (This)->lpVtbl -> GetMixingPrefs(This,pdwMixFlags) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IMFVideoMixerControl2_INTERFACE_DEFINED__ */ #ifndef __IMFVideoRenderer_INTERFACE_DEFINED__ #define __IMFVideoRenderer_INTERFACE_DEFINED__ /* interface IMFVideoRenderer */ /* [local][helpstring][uuid][object] */ EXTERN_C const IID IID_IMFVideoRenderer; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("DFDFD197-A9CA-43d8-B341-6AF3503792CD") IMFVideoRenderer : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE InitializeRenderer( /* [annotation][unique][in] */ __in_opt IMFTransform *pVideoMixer, /* [annotation][unique][in] */ __in_opt IMFVideoPresenter *pVideoPresenter) = 0; }; #else /* C style interface */ typedef struct IMFVideoRendererVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMFVideoRenderer * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMFVideoRenderer * This); ULONG ( STDMETHODCALLTYPE *Release )( IMFVideoRenderer * This); HRESULT ( STDMETHODCALLTYPE *InitializeRenderer )( IMFVideoRenderer * This, /* [annotation][unique][in] */ __in_opt IMFTransform *pVideoMixer, /* [annotation][unique][in] */ __in_opt IMFVideoPresenter *pVideoPresenter); END_INTERFACE } IMFVideoRendererVtbl; interface IMFVideoRenderer { CONST_VTBL struct IMFVideoRendererVtbl *lpVtbl; }; #ifdef COBJMACROS #define IMFVideoRenderer_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IMFVideoRenderer_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IMFVideoRenderer_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IMFVideoRenderer_InitializeRenderer(This,pVideoMixer,pVideoPresenter) \ ( (This)->lpVtbl -> InitializeRenderer(This,pVideoMixer,pVideoPresenter) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IMFVideoRenderer_INTERFACE_DEFINED__ */ #ifndef __IEVRFilterConfig_INTERFACE_DEFINED__ #define __IEVRFilterConfig_INTERFACE_DEFINED__ /* interface IEVRFilterConfig */ /* [local][helpstring][uuid][object] */ EXTERN_C const IID IID_IEVRFilterConfig; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("83E91E85-82C1-4ea7-801D-85DC50B75086") IEVRFilterConfig : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE SetNumberOfStreams( /* [in] */ DWORD dwMaxStreams) = 0; virtual HRESULT STDMETHODCALLTYPE GetNumberOfStreams( /* [annotation][out] */ __out DWORD *pdwMaxStreams) = 0; }; #else /* C style interface */ typedef struct IEVRFilterConfigVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IEVRFilterConfig * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IEVRFilterConfig * This); ULONG ( STDMETHODCALLTYPE *Release )( IEVRFilterConfig * This); HRESULT ( STDMETHODCALLTYPE *SetNumberOfStreams )( IEVRFilterConfig * This, /* [in] */ DWORD dwMaxStreams); HRESULT ( STDMETHODCALLTYPE *GetNumberOfStreams )( IEVRFilterConfig * This, /* [annotation][out] */ __out DWORD *pdwMaxStreams); END_INTERFACE } IEVRFilterConfigVtbl; interface IEVRFilterConfig { CONST_VTBL struct IEVRFilterConfigVtbl *lpVtbl; }; #ifdef COBJMACROS #define IEVRFilterConfig_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IEVRFilterConfig_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IEVRFilterConfig_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IEVRFilterConfig_SetNumberOfStreams(This,dwMaxStreams) \ ( (This)->lpVtbl -> SetNumberOfStreams(This,dwMaxStreams) ) #define IEVRFilterConfig_GetNumberOfStreams(This,pdwMaxStreams) \ ( (This)->lpVtbl -> GetNumberOfStreams(This,pdwMaxStreams) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IEVRFilterConfig_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_evr_0000_0010 */ /* [local] */ typedef enum _EVRFilterConfig_Prefs { EVRFilterConfigPrefs_EnableQoS = 0x1, EVRFilterConfigPrefs_Mask = 0x1 } EVRFilterConfigPrefs; extern RPC_IF_HANDLE __MIDL_itf_evr_0000_0010_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_evr_0000_0010_v0_0_s_ifspec; #ifndef __IEVRFilterConfigEx_INTERFACE_DEFINED__ #define __IEVRFilterConfigEx_INTERFACE_DEFINED__ /* interface IEVRFilterConfigEx */ /* [helpstring][uuid][object] */ EXTERN_C const IID IID_IEVRFilterConfigEx; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("aea36028-796d-454f-beee-b48071e24304") IEVRFilterConfigEx : public IEVRFilterConfig { public: virtual HRESULT STDMETHODCALLTYPE SetConfigPrefs( /* [in] */ DWORD dwConfigFlags) = 0; virtual HRESULT STDMETHODCALLTYPE GetConfigPrefs( /* [out] */ __RPC__out DWORD *pdwConfigFlags) = 0; }; #else /* C style interface */ typedef struct IEVRFilterConfigExVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( __RPC__in IEVRFilterConfigEx * This, /* [in] */ __RPC__in REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( __RPC__in IEVRFilterConfigEx * This); ULONG ( STDMETHODCALLTYPE *Release )( __RPC__in IEVRFilterConfigEx * This); HRESULT ( STDMETHODCALLTYPE *SetNumberOfStreams )( __RPC__in IEVRFilterConfigEx * This, /* [in] */ DWORD dwMaxStreams); HRESULT ( STDMETHODCALLTYPE *GetNumberOfStreams )( __RPC__in IEVRFilterConfigEx * This, /* [annotation][out] */ __out DWORD *pdwMaxStreams); HRESULT ( STDMETHODCALLTYPE *SetConfigPrefs )( __RPC__in IEVRFilterConfigEx * This, /* [in] */ DWORD dwConfigFlags); HRESULT ( STDMETHODCALLTYPE *GetConfigPrefs )( __RPC__in IEVRFilterConfigEx * This, /* [out] */ __RPC__out DWORD *pdwConfigFlags); END_INTERFACE } IEVRFilterConfigExVtbl; interface IEVRFilterConfigEx { CONST_VTBL struct IEVRFilterConfigExVtbl *lpVtbl; }; #ifdef COBJMACROS #define IEVRFilterConfigEx_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IEVRFilterConfigEx_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IEVRFilterConfigEx_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IEVRFilterConfigEx_SetNumberOfStreams(This,dwMaxStreams) \ ( (This)->lpVtbl -> SetNumberOfStreams(This,dwMaxStreams) ) #define IEVRFilterConfigEx_GetNumberOfStreams(This,pdwMaxStreams) \ ( (This)->lpVtbl -> GetNumberOfStreams(This,pdwMaxStreams) ) #define IEVRFilterConfigEx_SetConfigPrefs(This,dwConfigFlags) \ ( (This)->lpVtbl -> SetConfigPrefs(This,dwConfigFlags) ) #define IEVRFilterConfigEx_GetConfigPrefs(This,pdwConfigFlags) \ ( (This)->lpVtbl -> GetConfigPrefs(This,pdwConfigFlags) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IEVRFilterConfigEx_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_evr_0000_0011 */ /* [local] */ typedef enum _MF_SERVICE_LOOKUP_TYPE { MF_SERVICE_LOOKUP_UPSTREAM = 0, MF_SERVICE_LOOKUP_UPSTREAM_DIRECT = ( MF_SERVICE_LOOKUP_UPSTREAM + 1 ) , MF_SERVICE_LOOKUP_DOWNSTREAM = ( MF_SERVICE_LOOKUP_UPSTREAM_DIRECT + 1 ) , MF_SERVICE_LOOKUP_DOWNSTREAM_DIRECT = ( MF_SERVICE_LOOKUP_DOWNSTREAM + 1 ) , MF_SERVICE_LOOKUP_ALL = ( MF_SERVICE_LOOKUP_DOWNSTREAM_DIRECT + 1 ) , MF_SERVICE_LOOKUP_GLOBAL = ( MF_SERVICE_LOOKUP_ALL + 1 ) } MF_SERVICE_LOOKUP_TYPE; extern RPC_IF_HANDLE __MIDL_itf_evr_0000_0011_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_evr_0000_0011_v0_0_s_ifspec; #ifndef __IMFTopologyServiceLookup_INTERFACE_DEFINED__ #define __IMFTopologyServiceLookup_INTERFACE_DEFINED__ /* interface IMFTopologyServiceLookup */ /* [local][helpstring][uuid][object] */ EXTERN_C const IID IID_IMFTopologyServiceLookup; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("fa993889-4383-415a-a930-dd472a8cf6f7") IMFTopologyServiceLookup : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE LookupService( /* [in] */ MF_SERVICE_LOOKUP_TYPE Type, /* [in] */ DWORD dwIndex, /* [in] */ REFGUID guidService, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __out_ecount_full(*pnObjects) LPVOID *ppvObjects, /* [annotation][out][in] */ __inout DWORD *pnObjects) = 0; }; #else /* C style interface */ typedef struct IMFTopologyServiceLookupVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMFTopologyServiceLookup * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMFTopologyServiceLookup * This); ULONG ( STDMETHODCALLTYPE *Release )( IMFTopologyServiceLookup * This); HRESULT ( STDMETHODCALLTYPE *LookupService )( IMFTopologyServiceLookup * This, /* [in] */ MF_SERVICE_LOOKUP_TYPE Type, /* [in] */ DWORD dwIndex, /* [in] */ REFGUID guidService, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __out_ecount_full(*pnObjects) LPVOID *ppvObjects, /* [annotation][out][in] */ __inout DWORD *pnObjects); END_INTERFACE } IMFTopologyServiceLookupVtbl; interface IMFTopologyServiceLookup { CONST_VTBL struct IMFTopologyServiceLookupVtbl *lpVtbl; }; #ifdef COBJMACROS #define IMFTopologyServiceLookup_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IMFTopologyServiceLookup_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IMFTopologyServiceLookup_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IMFTopologyServiceLookup_LookupService(This,Type,dwIndex,guidService,riid,ppvObjects,pnObjects) \ ( (This)->lpVtbl -> LookupService(This,Type,dwIndex,guidService,riid,ppvObjects,pnObjects) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IMFTopologyServiceLookup_INTERFACE_DEFINED__ */ #ifndef __IMFTopologyServiceLookupClient_INTERFACE_DEFINED__ #define __IMFTopologyServiceLookupClient_INTERFACE_DEFINED__ /* interface IMFTopologyServiceLookupClient */ /* [uuid][object][local] */ EXTERN_C const IID IID_IMFTopologyServiceLookupClient; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("fa99388a-4383-415a-a930-dd472a8cf6f7") IMFTopologyServiceLookupClient : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE InitServicePointers( /* [annotation][in] */ __in IMFTopologyServiceLookup *pLookup) = 0; virtual HRESULT STDMETHODCALLTYPE ReleaseServicePointers( void) = 0; }; #else /* C style interface */ typedef struct IMFTopologyServiceLookupClientVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMFTopologyServiceLookupClient * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMFTopologyServiceLookupClient * This); ULONG ( STDMETHODCALLTYPE *Release )( IMFTopologyServiceLookupClient * This); HRESULT ( STDMETHODCALLTYPE *InitServicePointers )( IMFTopologyServiceLookupClient * This, /* [annotation][in] */ __in IMFTopologyServiceLookup *pLookup); HRESULT ( STDMETHODCALLTYPE *ReleaseServicePointers )( IMFTopologyServiceLookupClient * This); END_INTERFACE } IMFTopologyServiceLookupClientVtbl; interface IMFTopologyServiceLookupClient { CONST_VTBL struct IMFTopologyServiceLookupClientVtbl *lpVtbl; }; #ifdef COBJMACROS #define IMFTopologyServiceLookupClient_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IMFTopologyServiceLookupClient_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IMFTopologyServiceLookupClient_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IMFTopologyServiceLookupClient_InitServicePointers(This,pLookup) \ ( (This)->lpVtbl -> InitServicePointers(This,pLookup) ) #define IMFTopologyServiceLookupClient_ReleaseServicePointers(This) \ ( (This)->lpVtbl -> ReleaseServicePointers(This) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IMFTopologyServiceLookupClient_INTERFACE_DEFINED__ */ #ifndef __IEVRTrustedVideoPlugin_INTERFACE_DEFINED__ #define __IEVRTrustedVideoPlugin_INTERFACE_DEFINED__ /* interface IEVRTrustedVideoPlugin */ /* [local][helpstring][uuid][object] */ EXTERN_C const IID IID_IEVRTrustedVideoPlugin; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("83A4CE40-7710-494b-A893-A472049AF630") IEVRTrustedVideoPlugin : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE IsInTrustedVideoMode( /* [out] */ BOOL *pYes) = 0; virtual HRESULT STDMETHODCALLTYPE CanConstrict( /* [out] */ BOOL *pYes) = 0; virtual HRESULT STDMETHODCALLTYPE SetConstriction( DWORD dwKPix) = 0; virtual HRESULT STDMETHODCALLTYPE DisableImageExport( BOOL bDisable) = 0; }; #else /* C style interface */ typedef struct IEVRTrustedVideoPluginVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IEVRTrustedVideoPlugin * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IEVRTrustedVideoPlugin * This); ULONG ( STDMETHODCALLTYPE *Release )( IEVRTrustedVideoPlugin * This); HRESULT ( STDMETHODCALLTYPE *IsInTrustedVideoMode )( IEVRTrustedVideoPlugin * This, /* [out] */ BOOL *pYes); HRESULT ( STDMETHODCALLTYPE *CanConstrict )( IEVRTrustedVideoPlugin * This, /* [out] */ BOOL *pYes); HRESULT ( STDMETHODCALLTYPE *SetConstriction )( IEVRTrustedVideoPlugin * This, DWORD dwKPix); HRESULT ( STDMETHODCALLTYPE *DisableImageExport )( IEVRTrustedVideoPlugin * This, BOOL bDisable); END_INTERFACE } IEVRTrustedVideoPluginVtbl; interface IEVRTrustedVideoPlugin { CONST_VTBL struct IEVRTrustedVideoPluginVtbl *lpVtbl; }; #ifdef COBJMACROS #define IEVRTrustedVideoPlugin_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IEVRTrustedVideoPlugin_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IEVRTrustedVideoPlugin_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IEVRTrustedVideoPlugin_IsInTrustedVideoMode(This,pYes) \ ( (This)->lpVtbl -> IsInTrustedVideoMode(This,pYes) ) #define IEVRTrustedVideoPlugin_CanConstrict(This,pYes) \ ( (This)->lpVtbl -> CanConstrict(This,pYes) ) #define IEVRTrustedVideoPlugin_SetConstriction(This,dwKPix) \ ( (This)->lpVtbl -> SetConstriction(This,dwKPix) ) #define IEVRTrustedVideoPlugin_DisableImageExport(This,bDisable) \ ( (This)->lpVtbl -> DisableImageExport(This,bDisable) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IEVRTrustedVideoPlugin_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_evr_0000_0014 */ /* [local] */ #if MFEVRDLL #define EVRPUBLIC(func) STDAPI _##func #else #define EVRPUBLIC(func) STDAPI func #endif EVRPUBLIC(MFCreateVideoPresenter)( __in_opt IUnknown * pOwner, REFIID riidDevice, REFIID riid, __deref_out_opt void ** ppVideoPresenter ); EVRPUBLIC(MFCreateVideoMixer)( __in_opt IUnknown * pOwner, REFIID riidDevice, REFIID riid, __deref_out_opt void ** ppVideoMixer ); EVRPUBLIC(MFCreateVideoMixerAndPresenter)( __in_opt IUnknown * pMixerOwner, __in_opt IUnknown * pPresenterOwner, REFIID riidMixer, __deref_out void ** ppvVideoMixer, REFIID riidPresenter, __deref_out void ** ppvVideoPresenter ); EVRPUBLIC(MFCreateVideoRenderer)( REFIID riidRenderer, __deref_out_opt void ** ppVideoRenderer ); EVRPUBLIC(MFCreateVideoSampleFromSurface)( __in_opt IUnknown* pUnkSurface, __deref_out_opt IMFSample** ppSample ); extern RPC_IF_HANDLE __MIDL_itf_evr_0000_0014_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_evr_0000_0014_v0_0_s_ifspec; /* Additional Prototypes for ALL interfaces */ unsigned long __RPC_USER HWND_UserSize( __RPC__in unsigned long *, unsigned long , __RPC__in HWND * ); unsigned char * __RPC_USER HWND_UserMarshal( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in HWND * ); unsigned char * __RPC_USER HWND_UserUnmarshal(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out HWND * ); void __RPC_USER HWND_UserFree( __RPC__in unsigned long *, __RPC__in HWND * ); unsigned long __RPC_USER HWND_UserSize64( __RPC__in unsigned long *, unsigned long , __RPC__in HWND * ); unsigned char * __RPC_USER HWND_UserMarshal64( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in HWND * ); unsigned char * __RPC_USER HWND_UserUnmarshal64(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out HWND * ); void __RPC_USER HWND_UserFree64( __RPC__in unsigned long *, __RPC__in HWND * ); /* end of Additional Prototypes */ #ifdef __cplusplus } #endif #endif