xpmgr/BuildTools/Include/evr.h

1952 lines
57 KiB
C++

/* 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 <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 500
#endif
/* verify that the <rpcsal.h> 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 <rpcndr.h>
#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