xpmgr/BuildTools/Include/mfobjects.h

4969 lines
164 KiB
C++

/* this ALWAYS GENERATED file contains the definitions for the interfaces */
/* File created by MIDL compiler version 7.00.0555 */
/* Compiler settings for mfobjects.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 __mfobjects_h__
#define __mfobjects_h__
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif
/* Forward Declarations */
#ifndef __IMFAttributes_FWD_DEFINED__
#define __IMFAttributes_FWD_DEFINED__
typedef interface IMFAttributes IMFAttributes;
#endif /* __IMFAttributes_FWD_DEFINED__ */
#ifndef __IMFMediaBuffer_FWD_DEFINED__
#define __IMFMediaBuffer_FWD_DEFINED__
typedef interface IMFMediaBuffer IMFMediaBuffer;
#endif /* __IMFMediaBuffer_FWD_DEFINED__ */
#ifndef __IMFSample_FWD_DEFINED__
#define __IMFSample_FWD_DEFINED__
typedef interface IMFSample IMFSample;
#endif /* __IMFSample_FWD_DEFINED__ */
#ifndef __IMF2DBuffer_FWD_DEFINED__
#define __IMF2DBuffer_FWD_DEFINED__
typedef interface IMF2DBuffer IMF2DBuffer;
#endif /* __IMF2DBuffer_FWD_DEFINED__ */
#ifndef __IMFMediaType_FWD_DEFINED__
#define __IMFMediaType_FWD_DEFINED__
typedef interface IMFMediaType IMFMediaType;
#endif /* __IMFMediaType_FWD_DEFINED__ */
#ifndef __IMFAudioMediaType_FWD_DEFINED__
#define __IMFAudioMediaType_FWD_DEFINED__
typedef interface IMFAudioMediaType IMFAudioMediaType;
#endif /* __IMFAudioMediaType_FWD_DEFINED__ */
#ifndef __IMFVideoMediaType_FWD_DEFINED__
#define __IMFVideoMediaType_FWD_DEFINED__
typedef interface IMFVideoMediaType IMFVideoMediaType;
#endif /* __IMFVideoMediaType_FWD_DEFINED__ */
#ifndef __IMFAsyncResult_FWD_DEFINED__
#define __IMFAsyncResult_FWD_DEFINED__
typedef interface IMFAsyncResult IMFAsyncResult;
#endif /* __IMFAsyncResult_FWD_DEFINED__ */
#ifndef __IMFAsyncCallback_FWD_DEFINED__
#define __IMFAsyncCallback_FWD_DEFINED__
typedef interface IMFAsyncCallback IMFAsyncCallback;
#endif /* __IMFAsyncCallback_FWD_DEFINED__ */
#ifndef __IMFMediaEvent_FWD_DEFINED__
#define __IMFMediaEvent_FWD_DEFINED__
typedef interface IMFMediaEvent IMFMediaEvent;
#endif /* __IMFMediaEvent_FWD_DEFINED__ */
#ifndef __IMFMediaEventGenerator_FWD_DEFINED__
#define __IMFMediaEventGenerator_FWD_DEFINED__
typedef interface IMFMediaEventGenerator IMFMediaEventGenerator;
#endif /* __IMFMediaEventGenerator_FWD_DEFINED__ */
#ifndef __IMFRemoteAsyncCallback_FWD_DEFINED__
#define __IMFRemoteAsyncCallback_FWD_DEFINED__
typedef interface IMFRemoteAsyncCallback IMFRemoteAsyncCallback;
#endif /* __IMFRemoteAsyncCallback_FWD_DEFINED__ */
#ifndef __IMFByteStream_FWD_DEFINED__
#define __IMFByteStream_FWD_DEFINED__
typedef interface IMFByteStream IMFByteStream;
#endif /* __IMFByteStream_FWD_DEFINED__ */
#ifndef __IMFCollection_FWD_DEFINED__
#define __IMFCollection_FWD_DEFINED__
typedef interface IMFCollection IMFCollection;
#endif /* __IMFCollection_FWD_DEFINED__ */
#ifndef __IMFMediaEventQueue_FWD_DEFINED__
#define __IMFMediaEventQueue_FWD_DEFINED__
typedef interface IMFMediaEventQueue IMFMediaEventQueue;
#endif /* __IMFMediaEventQueue_FWD_DEFINED__ */
#ifndef __IMFActivate_FWD_DEFINED__
#define __IMFActivate_FWD_DEFINED__
typedef interface IMFActivate IMFActivate;
#endif /* __IMFActivate_FWD_DEFINED__ */
#ifndef __IMFPluginControl_FWD_DEFINED__
#define __IMFPluginControl_FWD_DEFINED__
typedef interface IMFPluginControl IMFPluginControl;
#endif /* __IMFPluginControl_FWD_DEFINED__ */
/* header files for imported files */
#include "unknwn.h"
#include "propsys.h"
#include "mediaobj.h"
#ifdef __cplusplus
extern "C"{
#endif
/* interface __MIDL_itf_mfobjects_0000_0000 */
/* [local] */
typedef ULONGLONG QWORD;
#include <mmreg.h>
#if 0
#pragma pack(push, 1)
typedef struct tWAVEFORMATEX
{
WORD wFormatTag;
WORD nChannels;
DWORD nSamplesPerSec;
DWORD nAvgBytesPerSec;
WORD nBlockAlign;
WORD wBitsPerSample;
WORD cbSize;
BYTE pExtraBytes[ 1 ];
} WAVEFORMATEX;
typedef struct tWAVEFORMATEX *PWAVEFORMATEX;
typedef struct tWAVEFORMATEX *NPWAVEFORMATEX;
typedef struct tWAVEFORMATEX *LPWAVEFORMATEX;
typedef /* [public] */ struct __MIDL___MIDL_itf_mfobjects_0000_0000_0001
{
WORD wFormatTag;
WORD nChannels;
DWORD nSamplesPerSec;
DWORD nAvgBytesPerSec;
WORD nBlockAlign;
WORD wBitsPerSample;
WORD cbSize;
WORD wValidBitsPerSample;
DWORD dwChannelMask;
GUID SubFormat;
} WAVEFORMATEXTENSIBLE;
typedef struct __MIDL___MIDL_itf_mfobjects_0000_0000_0001 *PWAVEFORMATEXTENSIBLE;
#pragma pack(pop)
#endif /* 0 */
typedef
enum _MF_ATTRIBUTE_TYPE
{ MF_ATTRIBUTE_UINT32 = VT_UI4,
MF_ATTRIBUTE_UINT64 = VT_UI8,
MF_ATTRIBUTE_DOUBLE = VT_R8,
MF_ATTRIBUTE_GUID = VT_CLSID,
MF_ATTRIBUTE_STRING = VT_LPWSTR,
MF_ATTRIBUTE_BLOB = ( VT_VECTOR | VT_UI1 ) ,
MF_ATTRIBUTE_IUNKNOWN = VT_UNKNOWN
} MF_ATTRIBUTE_TYPE;
typedef
enum _MF_ATTRIBUTES_MATCH_TYPE
{ MF_ATTRIBUTES_MATCH_OUR_ITEMS = 0,
MF_ATTRIBUTES_MATCH_THEIR_ITEMS = 1,
MF_ATTRIBUTES_MATCH_ALL_ITEMS = 2,
MF_ATTRIBUTES_MATCH_INTERSECTION = 3,
MF_ATTRIBUTES_MATCH_SMALLER = 4
} MF_ATTRIBUTES_MATCH_TYPE;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0000_v0_0_s_ifspec;
#ifndef __IMFAttributes_INTERFACE_DEFINED__
#define __IMFAttributes_INTERFACE_DEFINED__
/* interface IMFAttributes */
/* [uuid][object] */
EXTERN_C const IID IID_IMFAttributes;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("2cd2d921-c447-44a7-a13c-4adabfc247e3")
IMFAttributes : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetItem(
__RPC__in REFGUID guidKey,
/* [full][out][in] */ __RPC__inout_opt PROPVARIANT *pValue) = 0;
virtual HRESULT STDMETHODCALLTYPE GetItemType(
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out MF_ATTRIBUTE_TYPE *pType) = 0;
virtual HRESULT STDMETHODCALLTYPE CompareItem(
__RPC__in REFGUID guidKey,
__RPC__in REFPROPVARIANT Value,
/* [out] */ __RPC__out BOOL *pbResult) = 0;
virtual HRESULT STDMETHODCALLTYPE Compare(
__RPC__in_opt IMFAttributes *pTheirs,
MF_ATTRIBUTES_MATCH_TYPE MatchType,
/* [out] */ __RPC__out BOOL *pbResult) = 0;
virtual HRESULT STDMETHODCALLTYPE GetUINT32(
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out UINT32 *punValue) = 0;
virtual HRESULT STDMETHODCALLTYPE GetUINT64(
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out UINT64 *punValue) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDouble(
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out double *pfValue) = 0;
virtual HRESULT STDMETHODCALLTYPE GetGUID(
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out GUID *pguidValue) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStringLength(
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out UINT32 *pcchLength) = 0;
virtual HRESULT STDMETHODCALLTYPE GetString(
__RPC__in REFGUID guidKey,
/* [size_is][out] */ __RPC__out_ecount_full(cchBufSize) LPWSTR pwszValue,
UINT32 cchBufSize,
/* [full][out][in] */ __RPC__inout_opt UINT32 *pcchLength) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAllocatedString(
__RPC__in REFGUID guidKey,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(( *pcchLength + 1 ) ) LPWSTR *ppwszValue,
/* [out] */ __RPC__out UINT32 *pcchLength) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBlobSize(
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out UINT32 *pcbBlobSize) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBlob(
__RPC__in REFGUID guidKey,
/* [size_is][out] */ __RPC__out_ecount_full(cbBufSize) UINT8 *pBuf,
UINT32 cbBufSize,
/* [full][out][in] */ __RPC__inout_opt UINT32 *pcbBlobSize) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAllocatedBlob(
__RPC__in REFGUID guidKey,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbSize) UINT8 **ppBuf,
/* [out] */ __RPC__out UINT32 *pcbSize) = 0;
virtual HRESULT STDMETHODCALLTYPE GetUnknown(
__RPC__in REFGUID guidKey,
__RPC__in REFIID riid,
/* [iid_is][out] */ __RPC__deref_out_opt LPVOID *ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE SetItem(
__RPC__in REFGUID guidKey,
__RPC__in REFPROPVARIANT Value) = 0;
virtual HRESULT STDMETHODCALLTYPE DeleteItem(
__RPC__in REFGUID guidKey) = 0;
virtual HRESULT STDMETHODCALLTYPE DeleteAllItems( void) = 0;
virtual HRESULT STDMETHODCALLTYPE SetUINT32(
__RPC__in REFGUID guidKey,
UINT32 unValue) = 0;
virtual HRESULT STDMETHODCALLTYPE SetUINT64(
__RPC__in REFGUID guidKey,
UINT64 unValue) = 0;
virtual HRESULT STDMETHODCALLTYPE SetDouble(
__RPC__in REFGUID guidKey,
double fValue) = 0;
virtual HRESULT STDMETHODCALLTYPE SetGUID(
__RPC__in REFGUID guidKey,
__RPC__in REFGUID guidValue) = 0;
virtual HRESULT STDMETHODCALLTYPE SetString(
__RPC__in REFGUID guidKey,
/* [string][in] */ __RPC__in_string LPCWSTR wszValue) = 0;
virtual HRESULT STDMETHODCALLTYPE SetBlob(
__RPC__in REFGUID guidKey,
/* [size_is][in] */ __RPC__in_ecount_full(cbBufSize) const UINT8 *pBuf,
UINT32 cbBufSize) = 0;
virtual HRESULT STDMETHODCALLTYPE SetUnknown(
__RPC__in REFGUID guidKey,
/* [in] */ __RPC__in_opt IUnknown *pUnknown) = 0;
virtual HRESULT STDMETHODCALLTYPE LockStore( void) = 0;
virtual HRESULT STDMETHODCALLTYPE UnlockStore( void) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCount(
/* [out] */ __RPC__out UINT32 *pcItems) = 0;
virtual HRESULT STDMETHODCALLTYPE GetItemByIndex(
UINT32 unIndex,
/* [out] */ __RPC__out GUID *pguidKey,
/* [full][out][in] */ __RPC__inout_opt PROPVARIANT *pValue) = 0;
virtual HRESULT STDMETHODCALLTYPE CopyAllItems(
/* [in] */ __RPC__in_opt IMFAttributes *pDest) = 0;
};
#else /* C style interface */
typedef struct IMFAttributesVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFAttributes * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFAttributes * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFAttributes * This);
HRESULT ( STDMETHODCALLTYPE *GetItem )(
__RPC__in IMFAttributes * This,
__RPC__in REFGUID guidKey,
/* [full][out][in] */ __RPC__inout_opt PROPVARIANT *pValue);
HRESULT ( STDMETHODCALLTYPE *GetItemType )(
__RPC__in IMFAttributes * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out MF_ATTRIBUTE_TYPE *pType);
HRESULT ( STDMETHODCALLTYPE *CompareItem )(
__RPC__in IMFAttributes * This,
__RPC__in REFGUID guidKey,
__RPC__in REFPROPVARIANT Value,
/* [out] */ __RPC__out BOOL *pbResult);
HRESULT ( STDMETHODCALLTYPE *Compare )(
__RPC__in IMFAttributes * This,
__RPC__in_opt IMFAttributes *pTheirs,
MF_ATTRIBUTES_MATCH_TYPE MatchType,
/* [out] */ __RPC__out BOOL *pbResult);
HRESULT ( STDMETHODCALLTYPE *GetUINT32 )(
__RPC__in IMFAttributes * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out UINT32 *punValue);
HRESULT ( STDMETHODCALLTYPE *GetUINT64 )(
__RPC__in IMFAttributes * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out UINT64 *punValue);
HRESULT ( STDMETHODCALLTYPE *GetDouble )(
__RPC__in IMFAttributes * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out double *pfValue);
HRESULT ( STDMETHODCALLTYPE *GetGUID )(
__RPC__in IMFAttributes * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out GUID *pguidValue);
HRESULT ( STDMETHODCALLTYPE *GetStringLength )(
__RPC__in IMFAttributes * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetString )(
__RPC__in IMFAttributes * This,
__RPC__in REFGUID guidKey,
/* [size_is][out] */ __RPC__out_ecount_full(cchBufSize) LPWSTR pwszValue,
UINT32 cchBufSize,
/* [full][out][in] */ __RPC__inout_opt UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetAllocatedString )(
__RPC__in IMFAttributes * This,
__RPC__in REFGUID guidKey,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(( *pcchLength + 1 ) ) LPWSTR *ppwszValue,
/* [out] */ __RPC__out UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetBlobSize )(
__RPC__in IMFAttributes * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out UINT32 *pcbBlobSize);
HRESULT ( STDMETHODCALLTYPE *GetBlob )(
__RPC__in IMFAttributes * This,
__RPC__in REFGUID guidKey,
/* [size_is][out] */ __RPC__out_ecount_full(cbBufSize) UINT8 *pBuf,
UINT32 cbBufSize,
/* [full][out][in] */ __RPC__inout_opt UINT32 *pcbBlobSize);
HRESULT ( STDMETHODCALLTYPE *GetAllocatedBlob )(
__RPC__in IMFAttributes * This,
__RPC__in REFGUID guidKey,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbSize) UINT8 **ppBuf,
/* [out] */ __RPC__out UINT32 *pcbSize);
HRESULT ( STDMETHODCALLTYPE *GetUnknown )(
__RPC__in IMFAttributes * This,
__RPC__in REFGUID guidKey,
__RPC__in REFIID riid,
/* [iid_is][out] */ __RPC__deref_out_opt LPVOID *ppv);
HRESULT ( STDMETHODCALLTYPE *SetItem )(
__RPC__in IMFAttributes * This,
__RPC__in REFGUID guidKey,
__RPC__in REFPROPVARIANT Value);
HRESULT ( STDMETHODCALLTYPE *DeleteItem )(
__RPC__in IMFAttributes * This,
__RPC__in REFGUID guidKey);
HRESULT ( STDMETHODCALLTYPE *DeleteAllItems )(
__RPC__in IMFAttributes * This);
HRESULT ( STDMETHODCALLTYPE *SetUINT32 )(
__RPC__in IMFAttributes * This,
__RPC__in REFGUID guidKey,
UINT32 unValue);
HRESULT ( STDMETHODCALLTYPE *SetUINT64 )(
__RPC__in IMFAttributes * This,
__RPC__in REFGUID guidKey,
UINT64 unValue);
HRESULT ( STDMETHODCALLTYPE *SetDouble )(
__RPC__in IMFAttributes * This,
__RPC__in REFGUID guidKey,
double fValue);
HRESULT ( STDMETHODCALLTYPE *SetGUID )(
__RPC__in IMFAttributes * This,
__RPC__in REFGUID guidKey,
__RPC__in REFGUID guidValue);
HRESULT ( STDMETHODCALLTYPE *SetString )(
__RPC__in IMFAttributes * This,
__RPC__in REFGUID guidKey,
/* [string][in] */ __RPC__in_string LPCWSTR wszValue);
HRESULT ( STDMETHODCALLTYPE *SetBlob )(
__RPC__in IMFAttributes * This,
__RPC__in REFGUID guidKey,
/* [size_is][in] */ __RPC__in_ecount_full(cbBufSize) const UINT8 *pBuf,
UINT32 cbBufSize);
HRESULT ( STDMETHODCALLTYPE *SetUnknown )(
__RPC__in IMFAttributes * This,
__RPC__in REFGUID guidKey,
/* [in] */ __RPC__in_opt IUnknown *pUnknown);
HRESULT ( STDMETHODCALLTYPE *LockStore )(
__RPC__in IMFAttributes * This);
HRESULT ( STDMETHODCALLTYPE *UnlockStore )(
__RPC__in IMFAttributes * This);
HRESULT ( STDMETHODCALLTYPE *GetCount )(
__RPC__in IMFAttributes * This,
/* [out] */ __RPC__out UINT32 *pcItems);
HRESULT ( STDMETHODCALLTYPE *GetItemByIndex )(
__RPC__in IMFAttributes * This,
UINT32 unIndex,
/* [out] */ __RPC__out GUID *pguidKey,
/* [full][out][in] */ __RPC__inout_opt PROPVARIANT *pValue);
HRESULT ( STDMETHODCALLTYPE *CopyAllItems )(
__RPC__in IMFAttributes * This,
/* [in] */ __RPC__in_opt IMFAttributes *pDest);
END_INTERFACE
} IMFAttributesVtbl;
interface IMFAttributes
{
CONST_VTBL struct IMFAttributesVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFAttributes_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFAttributes_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFAttributes_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFAttributes_GetItem(This,guidKey,pValue) \
( (This)->lpVtbl -> GetItem(This,guidKey,pValue) )
#define IMFAttributes_GetItemType(This,guidKey,pType) \
( (This)->lpVtbl -> GetItemType(This,guidKey,pType) )
#define IMFAttributes_CompareItem(This,guidKey,Value,pbResult) \
( (This)->lpVtbl -> CompareItem(This,guidKey,Value,pbResult) )
#define IMFAttributes_Compare(This,pTheirs,MatchType,pbResult) \
( (This)->lpVtbl -> Compare(This,pTheirs,MatchType,pbResult) )
#define IMFAttributes_GetUINT32(This,guidKey,punValue) \
( (This)->lpVtbl -> GetUINT32(This,guidKey,punValue) )
#define IMFAttributes_GetUINT64(This,guidKey,punValue) \
( (This)->lpVtbl -> GetUINT64(This,guidKey,punValue) )
#define IMFAttributes_GetDouble(This,guidKey,pfValue) \
( (This)->lpVtbl -> GetDouble(This,guidKey,pfValue) )
#define IMFAttributes_GetGUID(This,guidKey,pguidValue) \
( (This)->lpVtbl -> GetGUID(This,guidKey,pguidValue) )
#define IMFAttributes_GetStringLength(This,guidKey,pcchLength) \
( (This)->lpVtbl -> GetStringLength(This,guidKey,pcchLength) )
#define IMFAttributes_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) \
( (This)->lpVtbl -> GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) )
#define IMFAttributes_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) \
( (This)->lpVtbl -> GetAllocatedString(This,guidKey,ppwszValue,pcchLength) )
#define IMFAttributes_GetBlobSize(This,guidKey,pcbBlobSize) \
( (This)->lpVtbl -> GetBlobSize(This,guidKey,pcbBlobSize) )
#define IMFAttributes_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) \
( (This)->lpVtbl -> GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) )
#define IMFAttributes_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) \
( (This)->lpVtbl -> GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) )
#define IMFAttributes_GetUnknown(This,guidKey,riid,ppv) \
( (This)->lpVtbl -> GetUnknown(This,guidKey,riid,ppv) )
#define IMFAttributes_SetItem(This,guidKey,Value) \
( (This)->lpVtbl -> SetItem(This,guidKey,Value) )
#define IMFAttributes_DeleteItem(This,guidKey) \
( (This)->lpVtbl -> DeleteItem(This,guidKey) )
#define IMFAttributes_DeleteAllItems(This) \
( (This)->lpVtbl -> DeleteAllItems(This) )
#define IMFAttributes_SetUINT32(This,guidKey,unValue) \
( (This)->lpVtbl -> SetUINT32(This,guidKey,unValue) )
#define IMFAttributes_SetUINT64(This,guidKey,unValue) \
( (This)->lpVtbl -> SetUINT64(This,guidKey,unValue) )
#define IMFAttributes_SetDouble(This,guidKey,fValue) \
( (This)->lpVtbl -> SetDouble(This,guidKey,fValue) )
#define IMFAttributes_SetGUID(This,guidKey,guidValue) \
( (This)->lpVtbl -> SetGUID(This,guidKey,guidValue) )
#define IMFAttributes_SetString(This,guidKey,wszValue) \
( (This)->lpVtbl -> SetString(This,guidKey,wszValue) )
#define IMFAttributes_SetBlob(This,guidKey,pBuf,cbBufSize) \
( (This)->lpVtbl -> SetBlob(This,guidKey,pBuf,cbBufSize) )
#define IMFAttributes_SetUnknown(This,guidKey,pUnknown) \
( (This)->lpVtbl -> SetUnknown(This,guidKey,pUnknown) )
#define IMFAttributes_LockStore(This) \
( (This)->lpVtbl -> LockStore(This) )
#define IMFAttributes_UnlockStore(This) \
( (This)->lpVtbl -> UnlockStore(This) )
#define IMFAttributes_GetCount(This,pcItems) \
( (This)->lpVtbl -> GetCount(This,pcItems) )
#define IMFAttributes_GetItemByIndex(This,unIndex,pguidKey,pValue) \
( (This)->lpVtbl -> GetItemByIndex(This,unIndex,pguidKey,pValue) )
#define IMFAttributes_CopyAllItems(This,pDest) \
( (This)->lpVtbl -> CopyAllItems(This,pDest) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFAttributes_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfobjects_0000_0001 */
/* [local] */
enum MF_ATTRIBUTE_SERIALIZE_OPTIONS
{ MF_ATTRIBUTE_SERIALIZE_UNKNOWN_BYREF = 0x1
} ;
STDAPI MFSerializeAttributesToStream(
IMFAttributes * pAttr,
DWORD dwOptions,
IStream * pStm);
STDAPI MFDeserializeAttributesFromStream(
IMFAttributes * pAttr,
DWORD dwOptions,
IStream * pStm);
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0001_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0001_v0_0_s_ifspec;
#ifndef __IMFMediaBuffer_INTERFACE_DEFINED__
#define __IMFMediaBuffer_INTERFACE_DEFINED__
/* interface IMFMediaBuffer */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFMediaBuffer;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("045FA593-8799-42b8-BC8D-8968C6453507")
IMFMediaBuffer : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE Lock(
/* [annotation][out] */
__deref_out_bcount_part(*pcbMaxLength, *pcbCurrentLength) BYTE **ppbBuffer,
/* [annotation][out] */
__out_opt DWORD *pcbMaxLength,
/* [annotation][out] */
__out_opt DWORD *pcbCurrentLength) = 0;
virtual HRESULT STDMETHODCALLTYPE Unlock( void) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentLength(
/* [annotation][out] */
__out DWORD *pcbCurrentLength) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCurrentLength(
/* [in] */ DWORD cbCurrentLength) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMaxLength(
/* [annotation][out] */
__out DWORD *pcbMaxLength) = 0;
};
#else /* C style interface */
typedef struct IMFMediaBufferVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFMediaBuffer * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFMediaBuffer * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFMediaBuffer * This);
HRESULT ( STDMETHODCALLTYPE *Lock )(
IMFMediaBuffer * This,
/* [annotation][out] */
__deref_out_bcount_part(*pcbMaxLength, *pcbCurrentLength) BYTE **ppbBuffer,
/* [annotation][out] */
__out_opt DWORD *pcbMaxLength,
/* [annotation][out] */
__out_opt DWORD *pcbCurrentLength);
HRESULT ( STDMETHODCALLTYPE *Unlock )(
IMFMediaBuffer * This);
HRESULT ( STDMETHODCALLTYPE *GetCurrentLength )(
IMFMediaBuffer * This,
/* [annotation][out] */
__out DWORD *pcbCurrentLength);
HRESULT ( STDMETHODCALLTYPE *SetCurrentLength )(
IMFMediaBuffer * This,
/* [in] */ DWORD cbCurrentLength);
HRESULT ( STDMETHODCALLTYPE *GetMaxLength )(
IMFMediaBuffer * This,
/* [annotation][out] */
__out DWORD *pcbMaxLength);
END_INTERFACE
} IMFMediaBufferVtbl;
interface IMFMediaBuffer
{
CONST_VTBL struct IMFMediaBufferVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFMediaBuffer_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFMediaBuffer_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFMediaBuffer_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFMediaBuffer_Lock(This,ppbBuffer,pcbMaxLength,pcbCurrentLength) \
( (This)->lpVtbl -> Lock(This,ppbBuffer,pcbMaxLength,pcbCurrentLength) )
#define IMFMediaBuffer_Unlock(This) \
( (This)->lpVtbl -> Unlock(This) )
#define IMFMediaBuffer_GetCurrentLength(This,pcbCurrentLength) \
( (This)->lpVtbl -> GetCurrentLength(This,pcbCurrentLength) )
#define IMFMediaBuffer_SetCurrentLength(This,cbCurrentLength) \
( (This)->lpVtbl -> SetCurrentLength(This,cbCurrentLength) )
#define IMFMediaBuffer_GetMaxLength(This,pcbMaxLength) \
( (This)->lpVtbl -> GetMaxLength(This,pcbMaxLength) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFMediaBuffer_INTERFACE_DEFINED__ */
#ifndef __IMFSample_INTERFACE_DEFINED__
#define __IMFSample_INTERFACE_DEFINED__
/* interface IMFSample */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFSample;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c40a00f2-b93a-4d80-ae8c-5a1c634f58e4")
IMFSample : public IMFAttributes
{
public:
virtual HRESULT STDMETHODCALLTYPE GetSampleFlags(
/* [annotation][out] */
__out DWORD *pdwSampleFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE SetSampleFlags(
/* [in] */ DWORD dwSampleFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSampleTime(
/* [annotation][out] */
__out LONGLONG *phnsSampleTime) = 0;
virtual HRESULT STDMETHODCALLTYPE SetSampleTime(
/* [in] */ LONGLONG hnsSampleTime) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSampleDuration(
/* [annotation][out] */
__out LONGLONG *phnsSampleDuration) = 0;
virtual HRESULT STDMETHODCALLTYPE SetSampleDuration(
/* [in] */ LONGLONG hnsSampleDuration) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBufferCount(
/* [annotation][out] */
__out DWORD *pdwBufferCount) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBufferByIndex(
/* [in] */ DWORD dwIndex,
/* [annotation][out] */
__out IMFMediaBuffer **ppBuffer) = 0;
virtual HRESULT STDMETHODCALLTYPE ConvertToContiguousBuffer(
/* [annotation][out] */
__out IMFMediaBuffer **ppBuffer) = 0;
virtual HRESULT STDMETHODCALLTYPE AddBuffer(
/* [in] */ IMFMediaBuffer *pBuffer) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveBufferByIndex(
/* [in] */ DWORD dwIndex) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveAllBuffers( void) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTotalLength(
/* [annotation][out] */
__out DWORD *pcbTotalLength) = 0;
virtual HRESULT STDMETHODCALLTYPE CopyToBuffer(
/* [in] */ IMFMediaBuffer *pBuffer) = 0;
};
#else /* C style interface */
typedef struct IMFSampleVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFSample * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFSample * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFSample * This);
HRESULT ( STDMETHODCALLTYPE *GetItem )(
IMFSample * This,
REFGUID guidKey,
/* [full][out][in] */ PROPVARIANT *pValue);
HRESULT ( STDMETHODCALLTYPE *GetItemType )(
IMFSample * This,
REFGUID guidKey,
/* [out] */ MF_ATTRIBUTE_TYPE *pType);
HRESULT ( STDMETHODCALLTYPE *CompareItem )(
IMFSample * This,
REFGUID guidKey,
REFPROPVARIANT Value,
/* [out] */ BOOL *pbResult);
HRESULT ( STDMETHODCALLTYPE *Compare )(
IMFSample * This,
IMFAttributes *pTheirs,
MF_ATTRIBUTES_MATCH_TYPE MatchType,
/* [out] */ BOOL *pbResult);
HRESULT ( STDMETHODCALLTYPE *GetUINT32 )(
IMFSample * This,
REFGUID guidKey,
/* [out] */ UINT32 *punValue);
HRESULT ( STDMETHODCALLTYPE *GetUINT64 )(
IMFSample * This,
REFGUID guidKey,
/* [out] */ UINT64 *punValue);
HRESULT ( STDMETHODCALLTYPE *GetDouble )(
IMFSample * This,
REFGUID guidKey,
/* [out] */ double *pfValue);
HRESULT ( STDMETHODCALLTYPE *GetGUID )(
IMFSample * This,
REFGUID guidKey,
/* [out] */ GUID *pguidValue);
HRESULT ( STDMETHODCALLTYPE *GetStringLength )(
IMFSample * This,
REFGUID guidKey,
/* [out] */ UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetString )(
IMFSample * This,
REFGUID guidKey,
/* [size_is][out] */ LPWSTR pwszValue,
UINT32 cchBufSize,
/* [full][out][in] */ UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetAllocatedString )(
IMFSample * This,
REFGUID guidKey,
/* [size_is][size_is][out] */ LPWSTR *ppwszValue,
/* [out] */ UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetBlobSize )(
IMFSample * This,
REFGUID guidKey,
/* [out] */ UINT32 *pcbBlobSize);
HRESULT ( STDMETHODCALLTYPE *GetBlob )(
IMFSample * This,
REFGUID guidKey,
/* [size_is][out] */ UINT8 *pBuf,
UINT32 cbBufSize,
/* [full][out][in] */ UINT32 *pcbBlobSize);
HRESULT ( STDMETHODCALLTYPE *GetAllocatedBlob )(
IMFSample * This,
REFGUID guidKey,
/* [size_is][size_is][out] */ UINT8 **ppBuf,
/* [out] */ UINT32 *pcbSize);
HRESULT ( STDMETHODCALLTYPE *GetUnknown )(
IMFSample * This,
REFGUID guidKey,
REFIID riid,
/* [iid_is][out] */ LPVOID *ppv);
HRESULT ( STDMETHODCALLTYPE *SetItem )(
IMFSample * This,
REFGUID guidKey,
REFPROPVARIANT Value);
HRESULT ( STDMETHODCALLTYPE *DeleteItem )(
IMFSample * This,
REFGUID guidKey);
HRESULT ( STDMETHODCALLTYPE *DeleteAllItems )(
IMFSample * This);
HRESULT ( STDMETHODCALLTYPE *SetUINT32 )(
IMFSample * This,
REFGUID guidKey,
UINT32 unValue);
HRESULT ( STDMETHODCALLTYPE *SetUINT64 )(
IMFSample * This,
REFGUID guidKey,
UINT64 unValue);
HRESULT ( STDMETHODCALLTYPE *SetDouble )(
IMFSample * This,
REFGUID guidKey,
double fValue);
HRESULT ( STDMETHODCALLTYPE *SetGUID )(
IMFSample * This,
REFGUID guidKey,
REFGUID guidValue);
HRESULT ( STDMETHODCALLTYPE *SetString )(
IMFSample * This,
REFGUID guidKey,
/* [string][in] */ LPCWSTR wszValue);
HRESULT ( STDMETHODCALLTYPE *SetBlob )(
IMFSample * This,
REFGUID guidKey,
/* [size_is][in] */ const UINT8 *pBuf,
UINT32 cbBufSize);
HRESULT ( STDMETHODCALLTYPE *SetUnknown )(
IMFSample * This,
REFGUID guidKey,
/* [in] */ IUnknown *pUnknown);
HRESULT ( STDMETHODCALLTYPE *LockStore )(
IMFSample * This);
HRESULT ( STDMETHODCALLTYPE *UnlockStore )(
IMFSample * This);
HRESULT ( STDMETHODCALLTYPE *GetCount )(
IMFSample * This,
/* [out] */ UINT32 *pcItems);
HRESULT ( STDMETHODCALLTYPE *GetItemByIndex )(
IMFSample * This,
UINT32 unIndex,
/* [out] */ GUID *pguidKey,
/* [full][out][in] */ PROPVARIANT *pValue);
HRESULT ( STDMETHODCALLTYPE *CopyAllItems )(
IMFSample * This,
/* [in] */ IMFAttributes *pDest);
HRESULT ( STDMETHODCALLTYPE *GetSampleFlags )(
IMFSample * This,
/* [annotation][out] */
__out DWORD *pdwSampleFlags);
HRESULT ( STDMETHODCALLTYPE *SetSampleFlags )(
IMFSample * This,
/* [in] */ DWORD dwSampleFlags);
HRESULT ( STDMETHODCALLTYPE *GetSampleTime )(
IMFSample * This,
/* [annotation][out] */
__out LONGLONG *phnsSampleTime);
HRESULT ( STDMETHODCALLTYPE *SetSampleTime )(
IMFSample * This,
/* [in] */ LONGLONG hnsSampleTime);
HRESULT ( STDMETHODCALLTYPE *GetSampleDuration )(
IMFSample * This,
/* [annotation][out] */
__out LONGLONG *phnsSampleDuration);
HRESULT ( STDMETHODCALLTYPE *SetSampleDuration )(
IMFSample * This,
/* [in] */ LONGLONG hnsSampleDuration);
HRESULT ( STDMETHODCALLTYPE *GetBufferCount )(
IMFSample * This,
/* [annotation][out] */
__out DWORD *pdwBufferCount);
HRESULT ( STDMETHODCALLTYPE *GetBufferByIndex )(
IMFSample * This,
/* [in] */ DWORD dwIndex,
/* [annotation][out] */
__out IMFMediaBuffer **ppBuffer);
HRESULT ( STDMETHODCALLTYPE *ConvertToContiguousBuffer )(
IMFSample * This,
/* [annotation][out] */
__out IMFMediaBuffer **ppBuffer);
HRESULT ( STDMETHODCALLTYPE *AddBuffer )(
IMFSample * This,
/* [in] */ IMFMediaBuffer *pBuffer);
HRESULT ( STDMETHODCALLTYPE *RemoveBufferByIndex )(
IMFSample * This,
/* [in] */ DWORD dwIndex);
HRESULT ( STDMETHODCALLTYPE *RemoveAllBuffers )(
IMFSample * This);
HRESULT ( STDMETHODCALLTYPE *GetTotalLength )(
IMFSample * This,
/* [annotation][out] */
__out DWORD *pcbTotalLength);
HRESULT ( STDMETHODCALLTYPE *CopyToBuffer )(
IMFSample * This,
/* [in] */ IMFMediaBuffer *pBuffer);
END_INTERFACE
} IMFSampleVtbl;
interface IMFSample
{
CONST_VTBL struct IMFSampleVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFSample_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFSample_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFSample_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFSample_GetItem(This,guidKey,pValue) \
( (This)->lpVtbl -> GetItem(This,guidKey,pValue) )
#define IMFSample_GetItemType(This,guidKey,pType) \
( (This)->lpVtbl -> GetItemType(This,guidKey,pType) )
#define IMFSample_CompareItem(This,guidKey,Value,pbResult) \
( (This)->lpVtbl -> CompareItem(This,guidKey,Value,pbResult) )
#define IMFSample_Compare(This,pTheirs,MatchType,pbResult) \
( (This)->lpVtbl -> Compare(This,pTheirs,MatchType,pbResult) )
#define IMFSample_GetUINT32(This,guidKey,punValue) \
( (This)->lpVtbl -> GetUINT32(This,guidKey,punValue) )
#define IMFSample_GetUINT64(This,guidKey,punValue) \
( (This)->lpVtbl -> GetUINT64(This,guidKey,punValue) )
#define IMFSample_GetDouble(This,guidKey,pfValue) \
( (This)->lpVtbl -> GetDouble(This,guidKey,pfValue) )
#define IMFSample_GetGUID(This,guidKey,pguidValue) \
( (This)->lpVtbl -> GetGUID(This,guidKey,pguidValue) )
#define IMFSample_GetStringLength(This,guidKey,pcchLength) \
( (This)->lpVtbl -> GetStringLength(This,guidKey,pcchLength) )
#define IMFSample_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) \
( (This)->lpVtbl -> GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) )
#define IMFSample_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) \
( (This)->lpVtbl -> GetAllocatedString(This,guidKey,ppwszValue,pcchLength) )
#define IMFSample_GetBlobSize(This,guidKey,pcbBlobSize) \
( (This)->lpVtbl -> GetBlobSize(This,guidKey,pcbBlobSize) )
#define IMFSample_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) \
( (This)->lpVtbl -> GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) )
#define IMFSample_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) \
( (This)->lpVtbl -> GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) )
#define IMFSample_GetUnknown(This,guidKey,riid,ppv) \
( (This)->lpVtbl -> GetUnknown(This,guidKey,riid,ppv) )
#define IMFSample_SetItem(This,guidKey,Value) \
( (This)->lpVtbl -> SetItem(This,guidKey,Value) )
#define IMFSample_DeleteItem(This,guidKey) \
( (This)->lpVtbl -> DeleteItem(This,guidKey) )
#define IMFSample_DeleteAllItems(This) \
( (This)->lpVtbl -> DeleteAllItems(This) )
#define IMFSample_SetUINT32(This,guidKey,unValue) \
( (This)->lpVtbl -> SetUINT32(This,guidKey,unValue) )
#define IMFSample_SetUINT64(This,guidKey,unValue) \
( (This)->lpVtbl -> SetUINT64(This,guidKey,unValue) )
#define IMFSample_SetDouble(This,guidKey,fValue) \
( (This)->lpVtbl -> SetDouble(This,guidKey,fValue) )
#define IMFSample_SetGUID(This,guidKey,guidValue) \
( (This)->lpVtbl -> SetGUID(This,guidKey,guidValue) )
#define IMFSample_SetString(This,guidKey,wszValue) \
( (This)->lpVtbl -> SetString(This,guidKey,wszValue) )
#define IMFSample_SetBlob(This,guidKey,pBuf,cbBufSize) \
( (This)->lpVtbl -> SetBlob(This,guidKey,pBuf,cbBufSize) )
#define IMFSample_SetUnknown(This,guidKey,pUnknown) \
( (This)->lpVtbl -> SetUnknown(This,guidKey,pUnknown) )
#define IMFSample_LockStore(This) \
( (This)->lpVtbl -> LockStore(This) )
#define IMFSample_UnlockStore(This) \
( (This)->lpVtbl -> UnlockStore(This) )
#define IMFSample_GetCount(This,pcItems) \
( (This)->lpVtbl -> GetCount(This,pcItems) )
#define IMFSample_GetItemByIndex(This,unIndex,pguidKey,pValue) \
( (This)->lpVtbl -> GetItemByIndex(This,unIndex,pguidKey,pValue) )
#define IMFSample_CopyAllItems(This,pDest) \
( (This)->lpVtbl -> CopyAllItems(This,pDest) )
#define IMFSample_GetSampleFlags(This,pdwSampleFlags) \
( (This)->lpVtbl -> GetSampleFlags(This,pdwSampleFlags) )
#define IMFSample_SetSampleFlags(This,dwSampleFlags) \
( (This)->lpVtbl -> SetSampleFlags(This,dwSampleFlags) )
#define IMFSample_GetSampleTime(This,phnsSampleTime) \
( (This)->lpVtbl -> GetSampleTime(This,phnsSampleTime) )
#define IMFSample_SetSampleTime(This,hnsSampleTime) \
( (This)->lpVtbl -> SetSampleTime(This,hnsSampleTime) )
#define IMFSample_GetSampleDuration(This,phnsSampleDuration) \
( (This)->lpVtbl -> GetSampleDuration(This,phnsSampleDuration) )
#define IMFSample_SetSampleDuration(This,hnsSampleDuration) \
( (This)->lpVtbl -> SetSampleDuration(This,hnsSampleDuration) )
#define IMFSample_GetBufferCount(This,pdwBufferCount) \
( (This)->lpVtbl -> GetBufferCount(This,pdwBufferCount) )
#define IMFSample_GetBufferByIndex(This,dwIndex,ppBuffer) \
( (This)->lpVtbl -> GetBufferByIndex(This,dwIndex,ppBuffer) )
#define IMFSample_ConvertToContiguousBuffer(This,ppBuffer) \
( (This)->lpVtbl -> ConvertToContiguousBuffer(This,ppBuffer) )
#define IMFSample_AddBuffer(This,pBuffer) \
( (This)->lpVtbl -> AddBuffer(This,pBuffer) )
#define IMFSample_RemoveBufferByIndex(This,dwIndex) \
( (This)->lpVtbl -> RemoveBufferByIndex(This,dwIndex) )
#define IMFSample_RemoveAllBuffers(This) \
( (This)->lpVtbl -> RemoveAllBuffers(This) )
#define IMFSample_GetTotalLength(This,pcbTotalLength) \
( (This)->lpVtbl -> GetTotalLength(This,pcbTotalLength) )
#define IMFSample_CopyToBuffer(This,pBuffer) \
( (This)->lpVtbl -> CopyToBuffer(This,pBuffer) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFSample_INTERFACE_DEFINED__ */
#ifndef __IMF2DBuffer_INTERFACE_DEFINED__
#define __IMF2DBuffer_INTERFACE_DEFINED__
/* interface IMF2DBuffer */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMF2DBuffer;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("7DC9D5F9-9ED9-44ec-9BBF-0600BB589FBB")
IMF2DBuffer : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE Lock2D(
/* [annotation][out] */
__out BYTE **pbScanline0,
/* [out] */ LONG *plPitch) = 0;
virtual HRESULT STDMETHODCALLTYPE Unlock2D( void) = 0;
virtual HRESULT STDMETHODCALLTYPE GetScanline0AndPitch(
/* [annotation][out] */
__out BYTE **pbScanline0,
/* [annotation][out] */
__out LONG *plPitch) = 0;
virtual HRESULT STDMETHODCALLTYPE IsContiguousFormat(
/* [annotation][out] */
__out BOOL *pfIsContiguous) = 0;
virtual HRESULT STDMETHODCALLTYPE GetContiguousLength(
/* [annotation][out] */
__out DWORD *pcbLength) = 0;
virtual HRESULT STDMETHODCALLTYPE ContiguousCopyTo(
/* [annotation][size_is][out] */
__out_bcount(cbDestBuffer) BYTE *pbDestBuffer,
/* [in] */ DWORD cbDestBuffer) = 0;
virtual HRESULT STDMETHODCALLTYPE ContiguousCopyFrom(
/* [annotation][size_is][in] */
__in_bcount(cbSrcBuffer) const BYTE *pbSrcBuffer,
/* [in] */ DWORD cbSrcBuffer) = 0;
};
#else /* C style interface */
typedef struct IMF2DBufferVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMF2DBuffer * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMF2DBuffer * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMF2DBuffer * This);
HRESULT ( STDMETHODCALLTYPE *Lock2D )(
IMF2DBuffer * This,
/* [annotation][out] */
__out BYTE **pbScanline0,
/* [out] */ LONG *plPitch);
HRESULT ( STDMETHODCALLTYPE *Unlock2D )(
IMF2DBuffer * This);
HRESULT ( STDMETHODCALLTYPE *GetScanline0AndPitch )(
IMF2DBuffer * This,
/* [annotation][out] */
__out BYTE **pbScanline0,
/* [annotation][out] */
__out LONG *plPitch);
HRESULT ( STDMETHODCALLTYPE *IsContiguousFormat )(
IMF2DBuffer * This,
/* [annotation][out] */
__out BOOL *pfIsContiguous);
HRESULT ( STDMETHODCALLTYPE *GetContiguousLength )(
IMF2DBuffer * This,
/* [annotation][out] */
__out DWORD *pcbLength);
HRESULT ( STDMETHODCALLTYPE *ContiguousCopyTo )(
IMF2DBuffer * This,
/* [annotation][size_is][out] */
__out_bcount(cbDestBuffer) BYTE *pbDestBuffer,
/* [in] */ DWORD cbDestBuffer);
HRESULT ( STDMETHODCALLTYPE *ContiguousCopyFrom )(
IMF2DBuffer * This,
/* [annotation][size_is][in] */
__in_bcount(cbSrcBuffer) const BYTE *pbSrcBuffer,
/* [in] */ DWORD cbSrcBuffer);
END_INTERFACE
} IMF2DBufferVtbl;
interface IMF2DBuffer
{
CONST_VTBL struct IMF2DBufferVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMF2DBuffer_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMF2DBuffer_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMF2DBuffer_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMF2DBuffer_Lock2D(This,pbScanline0,plPitch) \
( (This)->lpVtbl -> Lock2D(This,pbScanline0,plPitch) )
#define IMF2DBuffer_Unlock2D(This) \
( (This)->lpVtbl -> Unlock2D(This) )
#define IMF2DBuffer_GetScanline0AndPitch(This,pbScanline0,plPitch) \
( (This)->lpVtbl -> GetScanline0AndPitch(This,pbScanline0,plPitch) )
#define IMF2DBuffer_IsContiguousFormat(This,pfIsContiguous) \
( (This)->lpVtbl -> IsContiguousFormat(This,pfIsContiguous) )
#define IMF2DBuffer_GetContiguousLength(This,pcbLength) \
( (This)->lpVtbl -> GetContiguousLength(This,pcbLength) )
#define IMF2DBuffer_ContiguousCopyTo(This,pbDestBuffer,cbDestBuffer) \
( (This)->lpVtbl -> ContiguousCopyTo(This,pbDestBuffer,cbDestBuffer) )
#define IMF2DBuffer_ContiguousCopyFrom(This,pbSrcBuffer,cbSrcBuffer) \
( (This)->lpVtbl -> ContiguousCopyFrom(This,pbSrcBuffer,cbSrcBuffer) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMF2DBuffer_INTERFACE_DEFINED__ */
#ifndef __IMFMediaType_INTERFACE_DEFINED__
#define __IMFMediaType_INTERFACE_DEFINED__
/* interface IMFMediaType */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFMediaType;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("44ae0fa8-ea31-4109-8d2e-4cae4997c555")
IMFMediaType : public IMFAttributes
{
public:
virtual HRESULT STDMETHODCALLTYPE GetMajorType(
/* [annotation][out] */
__out GUID *pguidMajorType) = 0;
virtual HRESULT STDMETHODCALLTYPE IsCompressedFormat(
/* [annotation][out] */
__out BOOL *pfCompressed) = 0;
virtual HRESULT STDMETHODCALLTYPE IsEqual(
/* [in] */ IMFMediaType *pIMediaType,
/* [annotation][out] */
__out DWORD *pdwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetRepresentation(
/* [in] */ GUID guidRepresentation,
/* [annotation][out] */
__out LPVOID *ppvRepresentation) = 0;
virtual HRESULT STDMETHODCALLTYPE FreeRepresentation(
/* [in] */ GUID guidRepresentation,
/* [in] */ LPVOID pvRepresentation) = 0;
};
#else /* C style interface */
typedef struct IMFMediaTypeVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFMediaType * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFMediaType * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFMediaType * This);
HRESULT ( STDMETHODCALLTYPE *GetItem )(
IMFMediaType * This,
REFGUID guidKey,
/* [full][out][in] */ PROPVARIANT *pValue);
HRESULT ( STDMETHODCALLTYPE *GetItemType )(
IMFMediaType * This,
REFGUID guidKey,
/* [out] */ MF_ATTRIBUTE_TYPE *pType);
HRESULT ( STDMETHODCALLTYPE *CompareItem )(
IMFMediaType * This,
REFGUID guidKey,
REFPROPVARIANT Value,
/* [out] */ BOOL *pbResult);
HRESULT ( STDMETHODCALLTYPE *Compare )(
IMFMediaType * This,
IMFAttributes *pTheirs,
MF_ATTRIBUTES_MATCH_TYPE MatchType,
/* [out] */ BOOL *pbResult);
HRESULT ( STDMETHODCALLTYPE *GetUINT32 )(
IMFMediaType * This,
REFGUID guidKey,
/* [out] */ UINT32 *punValue);
HRESULT ( STDMETHODCALLTYPE *GetUINT64 )(
IMFMediaType * This,
REFGUID guidKey,
/* [out] */ UINT64 *punValue);
HRESULT ( STDMETHODCALLTYPE *GetDouble )(
IMFMediaType * This,
REFGUID guidKey,
/* [out] */ double *pfValue);
HRESULT ( STDMETHODCALLTYPE *GetGUID )(
IMFMediaType * This,
REFGUID guidKey,
/* [out] */ GUID *pguidValue);
HRESULT ( STDMETHODCALLTYPE *GetStringLength )(
IMFMediaType * This,
REFGUID guidKey,
/* [out] */ UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetString )(
IMFMediaType * This,
REFGUID guidKey,
/* [size_is][out] */ LPWSTR pwszValue,
UINT32 cchBufSize,
/* [full][out][in] */ UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetAllocatedString )(
IMFMediaType * This,
REFGUID guidKey,
/* [size_is][size_is][out] */ LPWSTR *ppwszValue,
/* [out] */ UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetBlobSize )(
IMFMediaType * This,
REFGUID guidKey,
/* [out] */ UINT32 *pcbBlobSize);
HRESULT ( STDMETHODCALLTYPE *GetBlob )(
IMFMediaType * This,
REFGUID guidKey,
/* [size_is][out] */ UINT8 *pBuf,
UINT32 cbBufSize,
/* [full][out][in] */ UINT32 *pcbBlobSize);
HRESULT ( STDMETHODCALLTYPE *GetAllocatedBlob )(
IMFMediaType * This,
REFGUID guidKey,
/* [size_is][size_is][out] */ UINT8 **ppBuf,
/* [out] */ UINT32 *pcbSize);
HRESULT ( STDMETHODCALLTYPE *GetUnknown )(
IMFMediaType * This,
REFGUID guidKey,
REFIID riid,
/* [iid_is][out] */ LPVOID *ppv);
HRESULT ( STDMETHODCALLTYPE *SetItem )(
IMFMediaType * This,
REFGUID guidKey,
REFPROPVARIANT Value);
HRESULT ( STDMETHODCALLTYPE *DeleteItem )(
IMFMediaType * This,
REFGUID guidKey);
HRESULT ( STDMETHODCALLTYPE *DeleteAllItems )(
IMFMediaType * This);
HRESULT ( STDMETHODCALLTYPE *SetUINT32 )(
IMFMediaType * This,
REFGUID guidKey,
UINT32 unValue);
HRESULT ( STDMETHODCALLTYPE *SetUINT64 )(
IMFMediaType * This,
REFGUID guidKey,
UINT64 unValue);
HRESULT ( STDMETHODCALLTYPE *SetDouble )(
IMFMediaType * This,
REFGUID guidKey,
double fValue);
HRESULT ( STDMETHODCALLTYPE *SetGUID )(
IMFMediaType * This,
REFGUID guidKey,
REFGUID guidValue);
HRESULT ( STDMETHODCALLTYPE *SetString )(
IMFMediaType * This,
REFGUID guidKey,
/* [string][in] */ LPCWSTR wszValue);
HRESULT ( STDMETHODCALLTYPE *SetBlob )(
IMFMediaType * This,
REFGUID guidKey,
/* [size_is][in] */ const UINT8 *pBuf,
UINT32 cbBufSize);
HRESULT ( STDMETHODCALLTYPE *SetUnknown )(
IMFMediaType * This,
REFGUID guidKey,
/* [in] */ IUnknown *pUnknown);
HRESULT ( STDMETHODCALLTYPE *LockStore )(
IMFMediaType * This);
HRESULT ( STDMETHODCALLTYPE *UnlockStore )(
IMFMediaType * This);
HRESULT ( STDMETHODCALLTYPE *GetCount )(
IMFMediaType * This,
/* [out] */ UINT32 *pcItems);
HRESULT ( STDMETHODCALLTYPE *GetItemByIndex )(
IMFMediaType * This,
UINT32 unIndex,
/* [out] */ GUID *pguidKey,
/* [full][out][in] */ PROPVARIANT *pValue);
HRESULT ( STDMETHODCALLTYPE *CopyAllItems )(
IMFMediaType * This,
/* [in] */ IMFAttributes *pDest);
HRESULT ( STDMETHODCALLTYPE *GetMajorType )(
IMFMediaType * This,
/* [annotation][out] */
__out GUID *pguidMajorType);
HRESULT ( STDMETHODCALLTYPE *IsCompressedFormat )(
IMFMediaType * This,
/* [annotation][out] */
__out BOOL *pfCompressed);
HRESULT ( STDMETHODCALLTYPE *IsEqual )(
IMFMediaType * This,
/* [in] */ IMFMediaType *pIMediaType,
/* [annotation][out] */
__out DWORD *pdwFlags);
HRESULT ( STDMETHODCALLTYPE *GetRepresentation )(
IMFMediaType * This,
/* [in] */ GUID guidRepresentation,
/* [annotation][out] */
__out LPVOID *ppvRepresentation);
HRESULT ( STDMETHODCALLTYPE *FreeRepresentation )(
IMFMediaType * This,
/* [in] */ GUID guidRepresentation,
/* [in] */ LPVOID pvRepresentation);
END_INTERFACE
} IMFMediaTypeVtbl;
interface IMFMediaType
{
CONST_VTBL struct IMFMediaTypeVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFMediaType_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFMediaType_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFMediaType_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFMediaType_GetItem(This,guidKey,pValue) \
( (This)->lpVtbl -> GetItem(This,guidKey,pValue) )
#define IMFMediaType_GetItemType(This,guidKey,pType) \
( (This)->lpVtbl -> GetItemType(This,guidKey,pType) )
#define IMFMediaType_CompareItem(This,guidKey,Value,pbResult) \
( (This)->lpVtbl -> CompareItem(This,guidKey,Value,pbResult) )
#define IMFMediaType_Compare(This,pTheirs,MatchType,pbResult) \
( (This)->lpVtbl -> Compare(This,pTheirs,MatchType,pbResult) )
#define IMFMediaType_GetUINT32(This,guidKey,punValue) \
( (This)->lpVtbl -> GetUINT32(This,guidKey,punValue) )
#define IMFMediaType_GetUINT64(This,guidKey,punValue) \
( (This)->lpVtbl -> GetUINT64(This,guidKey,punValue) )
#define IMFMediaType_GetDouble(This,guidKey,pfValue) \
( (This)->lpVtbl -> GetDouble(This,guidKey,pfValue) )
#define IMFMediaType_GetGUID(This,guidKey,pguidValue) \
( (This)->lpVtbl -> GetGUID(This,guidKey,pguidValue) )
#define IMFMediaType_GetStringLength(This,guidKey,pcchLength) \
( (This)->lpVtbl -> GetStringLength(This,guidKey,pcchLength) )
#define IMFMediaType_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) \
( (This)->lpVtbl -> GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) )
#define IMFMediaType_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) \
( (This)->lpVtbl -> GetAllocatedString(This,guidKey,ppwszValue,pcchLength) )
#define IMFMediaType_GetBlobSize(This,guidKey,pcbBlobSize) \
( (This)->lpVtbl -> GetBlobSize(This,guidKey,pcbBlobSize) )
#define IMFMediaType_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) \
( (This)->lpVtbl -> GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) )
#define IMFMediaType_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) \
( (This)->lpVtbl -> GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) )
#define IMFMediaType_GetUnknown(This,guidKey,riid,ppv) \
( (This)->lpVtbl -> GetUnknown(This,guidKey,riid,ppv) )
#define IMFMediaType_SetItem(This,guidKey,Value) \
( (This)->lpVtbl -> SetItem(This,guidKey,Value) )
#define IMFMediaType_DeleteItem(This,guidKey) \
( (This)->lpVtbl -> DeleteItem(This,guidKey) )
#define IMFMediaType_DeleteAllItems(This) \
( (This)->lpVtbl -> DeleteAllItems(This) )
#define IMFMediaType_SetUINT32(This,guidKey,unValue) \
( (This)->lpVtbl -> SetUINT32(This,guidKey,unValue) )
#define IMFMediaType_SetUINT64(This,guidKey,unValue) \
( (This)->lpVtbl -> SetUINT64(This,guidKey,unValue) )
#define IMFMediaType_SetDouble(This,guidKey,fValue) \
( (This)->lpVtbl -> SetDouble(This,guidKey,fValue) )
#define IMFMediaType_SetGUID(This,guidKey,guidValue) \
( (This)->lpVtbl -> SetGUID(This,guidKey,guidValue) )
#define IMFMediaType_SetString(This,guidKey,wszValue) \
( (This)->lpVtbl -> SetString(This,guidKey,wszValue) )
#define IMFMediaType_SetBlob(This,guidKey,pBuf,cbBufSize) \
( (This)->lpVtbl -> SetBlob(This,guidKey,pBuf,cbBufSize) )
#define IMFMediaType_SetUnknown(This,guidKey,pUnknown) \
( (This)->lpVtbl -> SetUnknown(This,guidKey,pUnknown) )
#define IMFMediaType_LockStore(This) \
( (This)->lpVtbl -> LockStore(This) )
#define IMFMediaType_UnlockStore(This) \
( (This)->lpVtbl -> UnlockStore(This) )
#define IMFMediaType_GetCount(This,pcItems) \
( (This)->lpVtbl -> GetCount(This,pcItems) )
#define IMFMediaType_GetItemByIndex(This,unIndex,pguidKey,pValue) \
( (This)->lpVtbl -> GetItemByIndex(This,unIndex,pguidKey,pValue) )
#define IMFMediaType_CopyAllItems(This,pDest) \
( (This)->lpVtbl -> CopyAllItems(This,pDest) )
#define IMFMediaType_GetMajorType(This,pguidMajorType) \
( (This)->lpVtbl -> GetMajorType(This,pguidMajorType) )
#define IMFMediaType_IsCompressedFormat(This,pfCompressed) \
( (This)->lpVtbl -> IsCompressedFormat(This,pfCompressed) )
#define IMFMediaType_IsEqual(This,pIMediaType,pdwFlags) \
( (This)->lpVtbl -> IsEqual(This,pIMediaType,pdwFlags) )
#define IMFMediaType_GetRepresentation(This,guidRepresentation,ppvRepresentation) \
( (This)->lpVtbl -> GetRepresentation(This,guidRepresentation,ppvRepresentation) )
#define IMFMediaType_FreeRepresentation(This,guidRepresentation,pvRepresentation) \
( (This)->lpVtbl -> FreeRepresentation(This,guidRepresentation,pvRepresentation) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFMediaType_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfobjects_0000_0005 */
/* [local] */
#define MF_MEDIATYPE_EQUAL_MAJOR_TYPES 0x00000001
#define MF_MEDIATYPE_EQUAL_FORMAT_TYPES 0x00000002
#define MF_MEDIATYPE_EQUAL_FORMAT_DATA 0x00000004
#define MF_MEDIATYPE_EQUAL_FORMAT_USER_DATA 0x00000008
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0005_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0005_v0_0_s_ifspec;
#ifndef __IMFAudioMediaType_INTERFACE_DEFINED__
#define __IMFAudioMediaType_INTERFACE_DEFINED__
/* interface IMFAudioMediaType */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFAudioMediaType;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("26a0adc3-ce26-4672-9304-69552edd3faf")
IMFAudioMediaType : public IMFMediaType
{
public:
virtual const WAVEFORMATEX *STDMETHODCALLTYPE GetAudioFormat( void) = 0;
};
#else /* C style interface */
typedef struct IMFAudioMediaTypeVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFAudioMediaType * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFAudioMediaType * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFAudioMediaType * This);
HRESULT ( STDMETHODCALLTYPE *GetItem )(
IMFAudioMediaType * This,
REFGUID guidKey,
/* [full][out][in] */ PROPVARIANT *pValue);
HRESULT ( STDMETHODCALLTYPE *GetItemType )(
IMFAudioMediaType * This,
REFGUID guidKey,
/* [out] */ MF_ATTRIBUTE_TYPE *pType);
HRESULT ( STDMETHODCALLTYPE *CompareItem )(
IMFAudioMediaType * This,
REFGUID guidKey,
REFPROPVARIANT Value,
/* [out] */ BOOL *pbResult);
HRESULT ( STDMETHODCALLTYPE *Compare )(
IMFAudioMediaType * This,
IMFAttributes *pTheirs,
MF_ATTRIBUTES_MATCH_TYPE MatchType,
/* [out] */ BOOL *pbResult);
HRESULT ( STDMETHODCALLTYPE *GetUINT32 )(
IMFAudioMediaType * This,
REFGUID guidKey,
/* [out] */ UINT32 *punValue);
HRESULT ( STDMETHODCALLTYPE *GetUINT64 )(
IMFAudioMediaType * This,
REFGUID guidKey,
/* [out] */ UINT64 *punValue);
HRESULT ( STDMETHODCALLTYPE *GetDouble )(
IMFAudioMediaType * This,
REFGUID guidKey,
/* [out] */ double *pfValue);
HRESULT ( STDMETHODCALLTYPE *GetGUID )(
IMFAudioMediaType * This,
REFGUID guidKey,
/* [out] */ GUID *pguidValue);
HRESULT ( STDMETHODCALLTYPE *GetStringLength )(
IMFAudioMediaType * This,
REFGUID guidKey,
/* [out] */ UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetString )(
IMFAudioMediaType * This,
REFGUID guidKey,
/* [size_is][out] */ LPWSTR pwszValue,
UINT32 cchBufSize,
/* [full][out][in] */ UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetAllocatedString )(
IMFAudioMediaType * This,
REFGUID guidKey,
/* [size_is][size_is][out] */ LPWSTR *ppwszValue,
/* [out] */ UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetBlobSize )(
IMFAudioMediaType * This,
REFGUID guidKey,
/* [out] */ UINT32 *pcbBlobSize);
HRESULT ( STDMETHODCALLTYPE *GetBlob )(
IMFAudioMediaType * This,
REFGUID guidKey,
/* [size_is][out] */ UINT8 *pBuf,
UINT32 cbBufSize,
/* [full][out][in] */ UINT32 *pcbBlobSize);
HRESULT ( STDMETHODCALLTYPE *GetAllocatedBlob )(
IMFAudioMediaType * This,
REFGUID guidKey,
/* [size_is][size_is][out] */ UINT8 **ppBuf,
/* [out] */ UINT32 *pcbSize);
HRESULT ( STDMETHODCALLTYPE *GetUnknown )(
IMFAudioMediaType * This,
REFGUID guidKey,
REFIID riid,
/* [iid_is][out] */ LPVOID *ppv);
HRESULT ( STDMETHODCALLTYPE *SetItem )(
IMFAudioMediaType * This,
REFGUID guidKey,
REFPROPVARIANT Value);
HRESULT ( STDMETHODCALLTYPE *DeleteItem )(
IMFAudioMediaType * This,
REFGUID guidKey);
HRESULT ( STDMETHODCALLTYPE *DeleteAllItems )(
IMFAudioMediaType * This);
HRESULT ( STDMETHODCALLTYPE *SetUINT32 )(
IMFAudioMediaType * This,
REFGUID guidKey,
UINT32 unValue);
HRESULT ( STDMETHODCALLTYPE *SetUINT64 )(
IMFAudioMediaType * This,
REFGUID guidKey,
UINT64 unValue);
HRESULT ( STDMETHODCALLTYPE *SetDouble )(
IMFAudioMediaType * This,
REFGUID guidKey,
double fValue);
HRESULT ( STDMETHODCALLTYPE *SetGUID )(
IMFAudioMediaType * This,
REFGUID guidKey,
REFGUID guidValue);
HRESULT ( STDMETHODCALLTYPE *SetString )(
IMFAudioMediaType * This,
REFGUID guidKey,
/* [string][in] */ LPCWSTR wszValue);
HRESULT ( STDMETHODCALLTYPE *SetBlob )(
IMFAudioMediaType * This,
REFGUID guidKey,
/* [size_is][in] */ const UINT8 *pBuf,
UINT32 cbBufSize);
HRESULT ( STDMETHODCALLTYPE *SetUnknown )(
IMFAudioMediaType * This,
REFGUID guidKey,
/* [in] */ IUnknown *pUnknown);
HRESULT ( STDMETHODCALLTYPE *LockStore )(
IMFAudioMediaType * This);
HRESULT ( STDMETHODCALLTYPE *UnlockStore )(
IMFAudioMediaType * This);
HRESULT ( STDMETHODCALLTYPE *GetCount )(
IMFAudioMediaType * This,
/* [out] */ UINT32 *pcItems);
HRESULT ( STDMETHODCALLTYPE *GetItemByIndex )(
IMFAudioMediaType * This,
UINT32 unIndex,
/* [out] */ GUID *pguidKey,
/* [full][out][in] */ PROPVARIANT *pValue);
HRESULT ( STDMETHODCALLTYPE *CopyAllItems )(
IMFAudioMediaType * This,
/* [in] */ IMFAttributes *pDest);
HRESULT ( STDMETHODCALLTYPE *GetMajorType )(
IMFAudioMediaType * This,
/* [annotation][out] */
__out GUID *pguidMajorType);
HRESULT ( STDMETHODCALLTYPE *IsCompressedFormat )(
IMFAudioMediaType * This,
/* [annotation][out] */
__out BOOL *pfCompressed);
HRESULT ( STDMETHODCALLTYPE *IsEqual )(
IMFAudioMediaType * This,
/* [in] */ IMFMediaType *pIMediaType,
/* [annotation][out] */
__out DWORD *pdwFlags);
HRESULT ( STDMETHODCALLTYPE *GetRepresentation )(
IMFAudioMediaType * This,
/* [in] */ GUID guidRepresentation,
/* [annotation][out] */
__out LPVOID *ppvRepresentation);
HRESULT ( STDMETHODCALLTYPE *FreeRepresentation )(
IMFAudioMediaType * This,
/* [in] */ GUID guidRepresentation,
/* [in] */ LPVOID pvRepresentation);
const WAVEFORMATEX *( STDMETHODCALLTYPE *GetAudioFormat )(
IMFAudioMediaType * This);
END_INTERFACE
} IMFAudioMediaTypeVtbl;
interface IMFAudioMediaType
{
CONST_VTBL struct IMFAudioMediaTypeVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFAudioMediaType_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFAudioMediaType_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFAudioMediaType_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFAudioMediaType_GetItem(This,guidKey,pValue) \
( (This)->lpVtbl -> GetItem(This,guidKey,pValue) )
#define IMFAudioMediaType_GetItemType(This,guidKey,pType) \
( (This)->lpVtbl -> GetItemType(This,guidKey,pType) )
#define IMFAudioMediaType_CompareItem(This,guidKey,Value,pbResult) \
( (This)->lpVtbl -> CompareItem(This,guidKey,Value,pbResult) )
#define IMFAudioMediaType_Compare(This,pTheirs,MatchType,pbResult) \
( (This)->lpVtbl -> Compare(This,pTheirs,MatchType,pbResult) )
#define IMFAudioMediaType_GetUINT32(This,guidKey,punValue) \
( (This)->lpVtbl -> GetUINT32(This,guidKey,punValue) )
#define IMFAudioMediaType_GetUINT64(This,guidKey,punValue) \
( (This)->lpVtbl -> GetUINT64(This,guidKey,punValue) )
#define IMFAudioMediaType_GetDouble(This,guidKey,pfValue) \
( (This)->lpVtbl -> GetDouble(This,guidKey,pfValue) )
#define IMFAudioMediaType_GetGUID(This,guidKey,pguidValue) \
( (This)->lpVtbl -> GetGUID(This,guidKey,pguidValue) )
#define IMFAudioMediaType_GetStringLength(This,guidKey,pcchLength) \
( (This)->lpVtbl -> GetStringLength(This,guidKey,pcchLength) )
#define IMFAudioMediaType_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) \
( (This)->lpVtbl -> GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) )
#define IMFAudioMediaType_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) \
( (This)->lpVtbl -> GetAllocatedString(This,guidKey,ppwszValue,pcchLength) )
#define IMFAudioMediaType_GetBlobSize(This,guidKey,pcbBlobSize) \
( (This)->lpVtbl -> GetBlobSize(This,guidKey,pcbBlobSize) )
#define IMFAudioMediaType_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) \
( (This)->lpVtbl -> GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) )
#define IMFAudioMediaType_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) \
( (This)->lpVtbl -> GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) )
#define IMFAudioMediaType_GetUnknown(This,guidKey,riid,ppv) \
( (This)->lpVtbl -> GetUnknown(This,guidKey,riid,ppv) )
#define IMFAudioMediaType_SetItem(This,guidKey,Value) \
( (This)->lpVtbl -> SetItem(This,guidKey,Value) )
#define IMFAudioMediaType_DeleteItem(This,guidKey) \
( (This)->lpVtbl -> DeleteItem(This,guidKey) )
#define IMFAudioMediaType_DeleteAllItems(This) \
( (This)->lpVtbl -> DeleteAllItems(This) )
#define IMFAudioMediaType_SetUINT32(This,guidKey,unValue) \
( (This)->lpVtbl -> SetUINT32(This,guidKey,unValue) )
#define IMFAudioMediaType_SetUINT64(This,guidKey,unValue) \
( (This)->lpVtbl -> SetUINT64(This,guidKey,unValue) )
#define IMFAudioMediaType_SetDouble(This,guidKey,fValue) \
( (This)->lpVtbl -> SetDouble(This,guidKey,fValue) )
#define IMFAudioMediaType_SetGUID(This,guidKey,guidValue) \
( (This)->lpVtbl -> SetGUID(This,guidKey,guidValue) )
#define IMFAudioMediaType_SetString(This,guidKey,wszValue) \
( (This)->lpVtbl -> SetString(This,guidKey,wszValue) )
#define IMFAudioMediaType_SetBlob(This,guidKey,pBuf,cbBufSize) \
( (This)->lpVtbl -> SetBlob(This,guidKey,pBuf,cbBufSize) )
#define IMFAudioMediaType_SetUnknown(This,guidKey,pUnknown) \
( (This)->lpVtbl -> SetUnknown(This,guidKey,pUnknown) )
#define IMFAudioMediaType_LockStore(This) \
( (This)->lpVtbl -> LockStore(This) )
#define IMFAudioMediaType_UnlockStore(This) \
( (This)->lpVtbl -> UnlockStore(This) )
#define IMFAudioMediaType_GetCount(This,pcItems) \
( (This)->lpVtbl -> GetCount(This,pcItems) )
#define IMFAudioMediaType_GetItemByIndex(This,unIndex,pguidKey,pValue) \
( (This)->lpVtbl -> GetItemByIndex(This,unIndex,pguidKey,pValue) )
#define IMFAudioMediaType_CopyAllItems(This,pDest) \
( (This)->lpVtbl -> CopyAllItems(This,pDest) )
#define IMFAudioMediaType_GetMajorType(This,pguidMajorType) \
( (This)->lpVtbl -> GetMajorType(This,pguidMajorType) )
#define IMFAudioMediaType_IsCompressedFormat(This,pfCompressed) \
( (This)->lpVtbl -> IsCompressedFormat(This,pfCompressed) )
#define IMFAudioMediaType_IsEqual(This,pIMediaType,pdwFlags) \
( (This)->lpVtbl -> IsEqual(This,pIMediaType,pdwFlags) )
#define IMFAudioMediaType_GetRepresentation(This,guidRepresentation,ppvRepresentation) \
( (This)->lpVtbl -> GetRepresentation(This,guidRepresentation,ppvRepresentation) )
#define IMFAudioMediaType_FreeRepresentation(This,guidRepresentation,pvRepresentation) \
( (This)->lpVtbl -> FreeRepresentation(This,guidRepresentation,pvRepresentation) )
#define IMFAudioMediaType_GetAudioFormat(This) \
( (This)->lpVtbl -> GetAudioFormat(This) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFAudioMediaType_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfobjects_0000_0006 */
/* [local] */
#ifndef _WINGDI_
typedef DWORD RGBQUAD;
typedef /* [public][public] */ struct __MIDL___MIDL_itf_mfobjects_0000_0006_0001
{
DWORD biSize;
LONG biWidth;
LONG biHeight;
WORD biPlanes;
WORD biBitCount;
DWORD biCompression;
DWORD biSizeImage;
LONG biXPelsPerMeter;
LONG biYPelsPerMeter;
DWORD biClrUsed;
DWORD biClrImportant;
} BITMAPINFOHEADER;
typedef /* [public] */ struct __MIDL___MIDL_itf_mfobjects_0000_0006_0002
{
BITMAPINFOHEADER bmiHeader;
RGBQUAD bmiColors[ 1 ];
} BITMAPINFO;
#endif
typedef /* [public] */ struct __MIDL___MIDL_itf_mfobjects_0000_0006_0003
{
GUID guidMajorType;
GUID guidSubtype;
} MFT_REGISTER_TYPE_INFO;
#if !defined( _MFVIDEOFORMAT_ )
#define _MFVIDEOFORMAT_
typedef
enum _MFVideoInterlaceMode
{ MFVideoInterlace_Unknown = 0,
MFVideoInterlace_Progressive = 2,
MFVideoInterlace_FieldInterleavedUpperFirst = 3,
MFVideoInterlace_FieldInterleavedLowerFirst = 4,
MFVideoInterlace_FieldSingleUpper = 5,
MFVideoInterlace_FieldSingleLower = 6,
MFVideoInterlace_MixedInterlaceOrProgressive = 7,
MFVideoInterlace_Last = ( MFVideoInterlace_MixedInterlaceOrProgressive + 1 ) ,
MFVideoInterlace_ForceDWORD = 0x7fffffff
} MFVideoInterlaceMode;
#define MFVideoInterlace_FieldSingleUpperFirst MFVideoInterlace_FieldSingleUpper
#define MFVideoInterlace_FieldSingleLowerFirst MFVideoInterlace_FieldSingleLower
typedef
enum _MFVideoTransferFunction
{ MFVideoTransFunc_Unknown = 0,
MFVideoTransFunc_10 = 1,
MFVideoTransFunc_18 = 2,
MFVideoTransFunc_20 = 3,
MFVideoTransFunc_22 = 4,
MFVideoTransFunc_709 = 5,
MFVideoTransFunc_240M = 6,
MFVideoTransFunc_sRGB = 7,
MFVideoTransFunc_28 = 8,
MFVideoTransFunc_Log_100 = 9,
MFVideoTransFunc_Log_316 = 10,
MFVideoTransFunc_709_sym = 11,
MFVideoTransFunc_Last = ( MFVideoTransFunc_709_sym + 1 ) ,
MFVideoTransFunc_ForceDWORD = 0x7fffffff
} MFVideoTransferFunction;
typedef
enum _MFVideoPrimaries
{ MFVideoPrimaries_Unknown = 0,
MFVideoPrimaries_reserved = 1,
MFVideoPrimaries_BT709 = 2,
MFVideoPrimaries_BT470_2_SysM = 3,
MFVideoPrimaries_BT470_2_SysBG = 4,
MFVideoPrimaries_SMPTE170M = 5,
MFVideoPrimaries_SMPTE240M = 6,
MFVideoPrimaries_EBU3213 = 7,
MFVideoPrimaries_SMPTE_C = 8,
MFVideoPrimaries_Last = ( MFVideoPrimaries_SMPTE_C + 1 ) ,
MFVideoPrimaries_ForceDWORD = 0x7fffffff
} MFVideoPrimaries;
typedef
enum _MFVideoLighting
{ MFVideoLighting_Unknown = 0,
MFVideoLighting_bright = 1,
MFVideoLighting_office = 2,
MFVideoLighting_dim = 3,
MFVideoLighting_dark = 4,
MFVideoLighting_Last = ( MFVideoLighting_dark + 1 ) ,
MFVideoLighting_ForceDWORD = 0x7fffffff
} MFVideoLighting;
typedef
enum _MFVideoTransferMatrix
{ MFVideoTransferMatrix_Unknown = 0,
MFVideoTransferMatrix_BT709 = 1,
MFVideoTransferMatrix_BT601 = 2,
MFVideoTransferMatrix_SMPTE240M = 3,
MFVideoTransferMatrix_Last = ( MFVideoTransferMatrix_SMPTE240M + 1 ) ,
MFVideoTransferMatrix_ForceDWORD = 0x7fffffff
} MFVideoTransferMatrix;
typedef
enum _MFVideoChromaSubsampling
{ MFVideoChromaSubsampling_Unknown = 0,
MFVideoChromaSubsampling_ProgressiveChroma = 0x8,
MFVideoChromaSubsampling_Horizontally_Cosited = 0x4,
MFVideoChromaSubsampling_Vertically_Cosited = 0x2,
MFVideoChromaSubsampling_Vertically_AlignedChromaPlanes = 0x1,
MFVideoChromaSubsampling_MPEG2 = ( MFVideoChromaSubsampling_Horizontally_Cosited | MFVideoChromaSubsampling_Vertically_AlignedChromaPlanes ) ,
MFVideoChromaSubsampling_MPEG1 = MFVideoChromaSubsampling_Vertically_AlignedChromaPlanes,
MFVideoChromaSubsampling_DV_PAL = ( MFVideoChromaSubsampling_Horizontally_Cosited | MFVideoChromaSubsampling_Vertically_Cosited ) ,
MFVideoChromaSubsampling_Cosited = ( ( MFVideoChromaSubsampling_Horizontally_Cosited | MFVideoChromaSubsampling_Vertically_Cosited ) | MFVideoChromaSubsampling_Vertically_AlignedChromaPlanes ) ,
MFVideoChromaSubsampling_Last = ( MFVideoChromaSubsampling_Cosited + 1 ) ,
MFVideoChromaSubsampling_ForceDWORD = 0x7fffffff
} MFVideoChromaSubsampling;
typedef
enum _MFNominalRange
{ MFNominalRange_Unknown = 0,
MFNominalRange_Normal = 1,
MFNominalRange_Wide = 2,
MFNominalRange_0_255 = 1,
MFNominalRange_16_235 = 2,
MFNominalRange_48_208 = 3,
MFNominalRange_64_127 = 4,
MFNominalRange_Last = ( MFNominalRange_64_127 + 1 ) ,
MFNominalRange_ForceDWORD = 0x7fffffff
} MFNominalRange;
typedef
enum _MFVideoFlags
{ MFVideoFlag_PAD_TO_Mask = ( 0x1 | 0x2 ) ,
MFVideoFlag_PAD_TO_None = ( 0 * 0x1 ) ,
MFVideoFlag_PAD_TO_4x3 = ( 1 * 0x1 ) ,
MFVideoFlag_PAD_TO_16x9 = ( 2 * 0x1 ) ,
MFVideoFlag_SrcContentHintMask = ( ( 0x4 | 0x8 ) | 0x10 ) ,
MFVideoFlag_SrcContentHintNone = ( 0 * 0x4 ) ,
MFVideoFlag_SrcContentHint16x9 = ( 1 * 0x4 ) ,
MFVideoFlag_SrcContentHint235_1 = ( 2 * 0x4 ) ,
MFVideoFlag_AnalogProtected = 0x20,
MFVideoFlag_DigitallyProtected = 0x40,
MFVideoFlag_ProgressiveContent = 0x80,
MFVideoFlag_FieldRepeatCountMask = ( ( 0x100 | 0x200 ) | 0x400 ) ,
MFVideoFlag_FieldRepeatCountShift = 8,
MFVideoFlag_ProgressiveSeqReset = 0x800,
MFVideoFlag_PanScanEnabled = 0x20000,
MFVideoFlag_LowerFieldFirst = 0x40000,
MFVideoFlag_BottomUpLinearRep = 0x80000,
MFVideoFlags_DXVASurface = 0x100000,
MFVideoFlags_RenderTargetSurface = 0x400000,
MFVideoFlags_ForceQWORD = 0x7fffffff
} MFVideoFlags;
typedef struct _MFRatio
{
DWORD Numerator;
DWORD Denominator;
} MFRatio;
typedef struct _MFOffset
{
WORD fract;
short value;
} MFOffset;
typedef struct _MFVideoArea
{
MFOffset OffsetX;
MFOffset OffsetY;
SIZE Area;
} MFVideoArea;
typedef struct _MFVideoInfo
{
DWORD dwWidth;
DWORD dwHeight;
MFRatio PixelAspectRatio;
MFVideoChromaSubsampling SourceChromaSubsampling;
MFVideoInterlaceMode InterlaceMode;
MFVideoTransferFunction TransferFunction;
MFVideoPrimaries ColorPrimaries;
MFVideoTransferMatrix TransferMatrix;
MFVideoLighting SourceLighting;
MFRatio FramesPerSecond;
MFNominalRange NominalRange;
MFVideoArea GeometricAperture;
MFVideoArea MinimumDisplayAperture;
MFVideoArea PanScanAperture;
unsigned __int64 VideoFlags;
} MFVideoInfo;
typedef struct __MFAYUVSample
{
BYTE bCrValue;
BYTE bCbValue;
BYTE bYValue;
BYTE bSampleAlpha8;
} MFAYUVSample;
typedef struct _MFARGB
{
BYTE rgbBlue;
BYTE rgbGreen;
BYTE rgbRed;
BYTE rgbAlpha;
} MFARGB;
typedef union _MFPaletteEntry
{
MFARGB ARGB;
MFAYUVSample AYCbCr;
} MFPaletteEntry;
typedef struct _MFVideoSurfaceInfo
{
DWORD Format;
DWORD PaletteEntries;
MFPaletteEntry Palette[ 1 ];
} MFVideoSurfaceInfo;
typedef struct _MFVideoCompressedInfo
{
LONGLONG AvgBitrate;
LONGLONG AvgBitErrorRate;
DWORD MaxKeyFrameSpacing;
} MFVideoCompressedInfo;
typedef struct _MFVIDEOFORMAT
{
DWORD dwSize;
MFVideoInfo videoInfo;
GUID guidFormat;
MFVideoCompressedInfo compressedInfo;
MFVideoSurfaceInfo surfaceInfo;
} MFVIDEOFORMAT;
typedef
enum _MFStandardVideoFormat
{ MFStdVideoFormat_reserved = 0,
MFStdVideoFormat_NTSC = ( MFStdVideoFormat_reserved + 1 ) ,
MFStdVideoFormat_PAL = ( MFStdVideoFormat_NTSC + 1 ) ,
MFStdVideoFormat_DVD_NTSC = ( MFStdVideoFormat_PAL + 1 ) ,
MFStdVideoFormat_DVD_PAL = ( MFStdVideoFormat_DVD_NTSC + 1 ) ,
MFStdVideoFormat_DV_PAL = ( MFStdVideoFormat_DVD_PAL + 1 ) ,
MFStdVideoFormat_DV_NTSC = ( MFStdVideoFormat_DV_PAL + 1 ) ,
MFStdVideoFormat_ATSC_SD480i = ( MFStdVideoFormat_DV_NTSC + 1 ) ,
MFStdVideoFormat_ATSC_HD1080i = ( MFStdVideoFormat_ATSC_SD480i + 1 ) ,
MFStdVideoFormat_ATSC_HD720p = ( MFStdVideoFormat_ATSC_HD1080i + 1 )
} MFStandardVideoFormat;
#endif
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0006_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0006_v0_0_s_ifspec;
#ifndef __IMFVideoMediaType_INTERFACE_DEFINED__
#define __IMFVideoMediaType_INTERFACE_DEFINED__
/* interface IMFVideoMediaType */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFVideoMediaType;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("b99f381f-a8f9-47a2-a5af-ca3a225a3890")
IMFVideoMediaType : public IMFMediaType
{
public:
virtual const MFVIDEOFORMAT *STDMETHODCALLTYPE GetVideoFormat( void) = 0;
virtual HRESULT STDMETHODCALLTYPE GetVideoRepresentation(
/* [in] */ GUID guidRepresentation,
/* [annotation][out] */
__out LPVOID *ppvRepresentation,
/* [in] */ LONG lStride) = 0;
};
#else /* C style interface */
typedef struct IMFVideoMediaTypeVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFVideoMediaType * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFVideoMediaType * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFVideoMediaType * This);
HRESULT ( STDMETHODCALLTYPE *GetItem )(
IMFVideoMediaType * This,
REFGUID guidKey,
/* [full][out][in] */ PROPVARIANT *pValue);
HRESULT ( STDMETHODCALLTYPE *GetItemType )(
IMFVideoMediaType * This,
REFGUID guidKey,
/* [out] */ MF_ATTRIBUTE_TYPE *pType);
HRESULT ( STDMETHODCALLTYPE *CompareItem )(
IMFVideoMediaType * This,
REFGUID guidKey,
REFPROPVARIANT Value,
/* [out] */ BOOL *pbResult);
HRESULT ( STDMETHODCALLTYPE *Compare )(
IMFVideoMediaType * This,
IMFAttributes *pTheirs,
MF_ATTRIBUTES_MATCH_TYPE MatchType,
/* [out] */ BOOL *pbResult);
HRESULT ( STDMETHODCALLTYPE *GetUINT32 )(
IMFVideoMediaType * This,
REFGUID guidKey,
/* [out] */ UINT32 *punValue);
HRESULT ( STDMETHODCALLTYPE *GetUINT64 )(
IMFVideoMediaType * This,
REFGUID guidKey,
/* [out] */ UINT64 *punValue);
HRESULT ( STDMETHODCALLTYPE *GetDouble )(
IMFVideoMediaType * This,
REFGUID guidKey,
/* [out] */ double *pfValue);
HRESULT ( STDMETHODCALLTYPE *GetGUID )(
IMFVideoMediaType * This,
REFGUID guidKey,
/* [out] */ GUID *pguidValue);
HRESULT ( STDMETHODCALLTYPE *GetStringLength )(
IMFVideoMediaType * This,
REFGUID guidKey,
/* [out] */ UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetString )(
IMFVideoMediaType * This,
REFGUID guidKey,
/* [size_is][out] */ LPWSTR pwszValue,
UINT32 cchBufSize,
/* [full][out][in] */ UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetAllocatedString )(
IMFVideoMediaType * This,
REFGUID guidKey,
/* [size_is][size_is][out] */ LPWSTR *ppwszValue,
/* [out] */ UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetBlobSize )(
IMFVideoMediaType * This,
REFGUID guidKey,
/* [out] */ UINT32 *pcbBlobSize);
HRESULT ( STDMETHODCALLTYPE *GetBlob )(
IMFVideoMediaType * This,
REFGUID guidKey,
/* [size_is][out] */ UINT8 *pBuf,
UINT32 cbBufSize,
/* [full][out][in] */ UINT32 *pcbBlobSize);
HRESULT ( STDMETHODCALLTYPE *GetAllocatedBlob )(
IMFVideoMediaType * This,
REFGUID guidKey,
/* [size_is][size_is][out] */ UINT8 **ppBuf,
/* [out] */ UINT32 *pcbSize);
HRESULT ( STDMETHODCALLTYPE *GetUnknown )(
IMFVideoMediaType * This,
REFGUID guidKey,
REFIID riid,
/* [iid_is][out] */ LPVOID *ppv);
HRESULT ( STDMETHODCALLTYPE *SetItem )(
IMFVideoMediaType * This,
REFGUID guidKey,
REFPROPVARIANT Value);
HRESULT ( STDMETHODCALLTYPE *DeleteItem )(
IMFVideoMediaType * This,
REFGUID guidKey);
HRESULT ( STDMETHODCALLTYPE *DeleteAllItems )(
IMFVideoMediaType * This);
HRESULT ( STDMETHODCALLTYPE *SetUINT32 )(
IMFVideoMediaType * This,
REFGUID guidKey,
UINT32 unValue);
HRESULT ( STDMETHODCALLTYPE *SetUINT64 )(
IMFVideoMediaType * This,
REFGUID guidKey,
UINT64 unValue);
HRESULT ( STDMETHODCALLTYPE *SetDouble )(
IMFVideoMediaType * This,
REFGUID guidKey,
double fValue);
HRESULT ( STDMETHODCALLTYPE *SetGUID )(
IMFVideoMediaType * This,
REFGUID guidKey,
REFGUID guidValue);
HRESULT ( STDMETHODCALLTYPE *SetString )(
IMFVideoMediaType * This,
REFGUID guidKey,
/* [string][in] */ LPCWSTR wszValue);
HRESULT ( STDMETHODCALLTYPE *SetBlob )(
IMFVideoMediaType * This,
REFGUID guidKey,
/* [size_is][in] */ const UINT8 *pBuf,
UINT32 cbBufSize);
HRESULT ( STDMETHODCALLTYPE *SetUnknown )(
IMFVideoMediaType * This,
REFGUID guidKey,
/* [in] */ IUnknown *pUnknown);
HRESULT ( STDMETHODCALLTYPE *LockStore )(
IMFVideoMediaType * This);
HRESULT ( STDMETHODCALLTYPE *UnlockStore )(
IMFVideoMediaType * This);
HRESULT ( STDMETHODCALLTYPE *GetCount )(
IMFVideoMediaType * This,
/* [out] */ UINT32 *pcItems);
HRESULT ( STDMETHODCALLTYPE *GetItemByIndex )(
IMFVideoMediaType * This,
UINT32 unIndex,
/* [out] */ GUID *pguidKey,
/* [full][out][in] */ PROPVARIANT *pValue);
HRESULT ( STDMETHODCALLTYPE *CopyAllItems )(
IMFVideoMediaType * This,
/* [in] */ IMFAttributes *pDest);
HRESULT ( STDMETHODCALLTYPE *GetMajorType )(
IMFVideoMediaType * This,
/* [annotation][out] */
__out GUID *pguidMajorType);
HRESULT ( STDMETHODCALLTYPE *IsCompressedFormat )(
IMFVideoMediaType * This,
/* [annotation][out] */
__out BOOL *pfCompressed);
HRESULT ( STDMETHODCALLTYPE *IsEqual )(
IMFVideoMediaType * This,
/* [in] */ IMFMediaType *pIMediaType,
/* [annotation][out] */
__out DWORD *pdwFlags);
HRESULT ( STDMETHODCALLTYPE *GetRepresentation )(
IMFVideoMediaType * This,
/* [in] */ GUID guidRepresentation,
/* [annotation][out] */
__out LPVOID *ppvRepresentation);
HRESULT ( STDMETHODCALLTYPE *FreeRepresentation )(
IMFVideoMediaType * This,
/* [in] */ GUID guidRepresentation,
/* [in] */ LPVOID pvRepresentation);
const MFVIDEOFORMAT *( STDMETHODCALLTYPE *GetVideoFormat )(
IMFVideoMediaType * This);
HRESULT ( STDMETHODCALLTYPE *GetVideoRepresentation )(
IMFVideoMediaType * This,
/* [in] */ GUID guidRepresentation,
/* [annotation][out] */
__out LPVOID *ppvRepresentation,
/* [in] */ LONG lStride);
END_INTERFACE
} IMFVideoMediaTypeVtbl;
interface IMFVideoMediaType
{
CONST_VTBL struct IMFVideoMediaTypeVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFVideoMediaType_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFVideoMediaType_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFVideoMediaType_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFVideoMediaType_GetItem(This,guidKey,pValue) \
( (This)->lpVtbl -> GetItem(This,guidKey,pValue) )
#define IMFVideoMediaType_GetItemType(This,guidKey,pType) \
( (This)->lpVtbl -> GetItemType(This,guidKey,pType) )
#define IMFVideoMediaType_CompareItem(This,guidKey,Value,pbResult) \
( (This)->lpVtbl -> CompareItem(This,guidKey,Value,pbResult) )
#define IMFVideoMediaType_Compare(This,pTheirs,MatchType,pbResult) \
( (This)->lpVtbl -> Compare(This,pTheirs,MatchType,pbResult) )
#define IMFVideoMediaType_GetUINT32(This,guidKey,punValue) \
( (This)->lpVtbl -> GetUINT32(This,guidKey,punValue) )
#define IMFVideoMediaType_GetUINT64(This,guidKey,punValue) \
( (This)->lpVtbl -> GetUINT64(This,guidKey,punValue) )
#define IMFVideoMediaType_GetDouble(This,guidKey,pfValue) \
( (This)->lpVtbl -> GetDouble(This,guidKey,pfValue) )
#define IMFVideoMediaType_GetGUID(This,guidKey,pguidValue) \
( (This)->lpVtbl -> GetGUID(This,guidKey,pguidValue) )
#define IMFVideoMediaType_GetStringLength(This,guidKey,pcchLength) \
( (This)->lpVtbl -> GetStringLength(This,guidKey,pcchLength) )
#define IMFVideoMediaType_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) \
( (This)->lpVtbl -> GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) )
#define IMFVideoMediaType_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) \
( (This)->lpVtbl -> GetAllocatedString(This,guidKey,ppwszValue,pcchLength) )
#define IMFVideoMediaType_GetBlobSize(This,guidKey,pcbBlobSize) \
( (This)->lpVtbl -> GetBlobSize(This,guidKey,pcbBlobSize) )
#define IMFVideoMediaType_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) \
( (This)->lpVtbl -> GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) )
#define IMFVideoMediaType_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) \
( (This)->lpVtbl -> GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) )
#define IMFVideoMediaType_GetUnknown(This,guidKey,riid,ppv) \
( (This)->lpVtbl -> GetUnknown(This,guidKey,riid,ppv) )
#define IMFVideoMediaType_SetItem(This,guidKey,Value) \
( (This)->lpVtbl -> SetItem(This,guidKey,Value) )
#define IMFVideoMediaType_DeleteItem(This,guidKey) \
( (This)->lpVtbl -> DeleteItem(This,guidKey) )
#define IMFVideoMediaType_DeleteAllItems(This) \
( (This)->lpVtbl -> DeleteAllItems(This) )
#define IMFVideoMediaType_SetUINT32(This,guidKey,unValue) \
( (This)->lpVtbl -> SetUINT32(This,guidKey,unValue) )
#define IMFVideoMediaType_SetUINT64(This,guidKey,unValue) \
( (This)->lpVtbl -> SetUINT64(This,guidKey,unValue) )
#define IMFVideoMediaType_SetDouble(This,guidKey,fValue) \
( (This)->lpVtbl -> SetDouble(This,guidKey,fValue) )
#define IMFVideoMediaType_SetGUID(This,guidKey,guidValue) \
( (This)->lpVtbl -> SetGUID(This,guidKey,guidValue) )
#define IMFVideoMediaType_SetString(This,guidKey,wszValue) \
( (This)->lpVtbl -> SetString(This,guidKey,wszValue) )
#define IMFVideoMediaType_SetBlob(This,guidKey,pBuf,cbBufSize) \
( (This)->lpVtbl -> SetBlob(This,guidKey,pBuf,cbBufSize) )
#define IMFVideoMediaType_SetUnknown(This,guidKey,pUnknown) \
( (This)->lpVtbl -> SetUnknown(This,guidKey,pUnknown) )
#define IMFVideoMediaType_LockStore(This) \
( (This)->lpVtbl -> LockStore(This) )
#define IMFVideoMediaType_UnlockStore(This) \
( (This)->lpVtbl -> UnlockStore(This) )
#define IMFVideoMediaType_GetCount(This,pcItems) \
( (This)->lpVtbl -> GetCount(This,pcItems) )
#define IMFVideoMediaType_GetItemByIndex(This,unIndex,pguidKey,pValue) \
( (This)->lpVtbl -> GetItemByIndex(This,unIndex,pguidKey,pValue) )
#define IMFVideoMediaType_CopyAllItems(This,pDest) \
( (This)->lpVtbl -> CopyAllItems(This,pDest) )
#define IMFVideoMediaType_GetMajorType(This,pguidMajorType) \
( (This)->lpVtbl -> GetMajorType(This,pguidMajorType) )
#define IMFVideoMediaType_IsCompressedFormat(This,pfCompressed) \
( (This)->lpVtbl -> IsCompressedFormat(This,pfCompressed) )
#define IMFVideoMediaType_IsEqual(This,pIMediaType,pdwFlags) \
( (This)->lpVtbl -> IsEqual(This,pIMediaType,pdwFlags) )
#define IMFVideoMediaType_GetRepresentation(This,guidRepresentation,ppvRepresentation) \
( (This)->lpVtbl -> GetRepresentation(This,guidRepresentation,ppvRepresentation) )
#define IMFVideoMediaType_FreeRepresentation(This,guidRepresentation,pvRepresentation) \
( (This)->lpVtbl -> FreeRepresentation(This,guidRepresentation,pvRepresentation) )
#define IMFVideoMediaType_GetVideoFormat(This) \
( (This)->lpVtbl -> GetVideoFormat(This) )
#define IMFVideoMediaType_GetVideoRepresentation(This,guidRepresentation,ppvRepresentation,lStride) \
( (This)->lpVtbl -> GetVideoRepresentation(This,guidRepresentation,ppvRepresentation,lStride) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFVideoMediaType_INTERFACE_DEFINED__ */
#ifndef __IMFAsyncResult_INTERFACE_DEFINED__
#define __IMFAsyncResult_INTERFACE_DEFINED__
/* interface IMFAsyncResult */
/* [uuid][object] */
EXTERN_C const IID IID_IMFAsyncResult;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("ac6b7889-0740-4d51-8619-905994a55cc6")
IMFAsyncResult : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetState(
/* [out] */ __RPC__deref_out_opt IUnknown **ppunkState) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStatus( void) = 0;
virtual HRESULT STDMETHODCALLTYPE SetStatus(
/* [in] */ HRESULT hrStatus) = 0;
virtual HRESULT STDMETHODCALLTYPE GetObject(
/* [out] */ __RPC__deref_out_opt IUnknown **ppObject) = 0;
virtual /* [local] */ IUnknown *STDMETHODCALLTYPE GetStateNoAddRef( void) = 0;
};
#else /* C style interface */
typedef struct IMFAsyncResultVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFAsyncResult * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFAsyncResult * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFAsyncResult * This);
HRESULT ( STDMETHODCALLTYPE *GetState )(
__RPC__in IMFAsyncResult * This,
/* [out] */ __RPC__deref_out_opt IUnknown **ppunkState);
HRESULT ( STDMETHODCALLTYPE *GetStatus )(
__RPC__in IMFAsyncResult * This);
HRESULT ( STDMETHODCALLTYPE *SetStatus )(
__RPC__in IMFAsyncResult * This,
/* [in] */ HRESULT hrStatus);
HRESULT ( STDMETHODCALLTYPE *GetObject )(
__RPC__in IMFAsyncResult * This,
/* [out] */ __RPC__deref_out_opt IUnknown **ppObject);
/* [local] */ IUnknown *( STDMETHODCALLTYPE *GetStateNoAddRef )(
IMFAsyncResult * This);
END_INTERFACE
} IMFAsyncResultVtbl;
interface IMFAsyncResult
{
CONST_VTBL struct IMFAsyncResultVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFAsyncResult_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFAsyncResult_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFAsyncResult_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFAsyncResult_GetState(This,ppunkState) \
( (This)->lpVtbl -> GetState(This,ppunkState) )
#define IMFAsyncResult_GetStatus(This) \
( (This)->lpVtbl -> GetStatus(This) )
#define IMFAsyncResult_SetStatus(This,hrStatus) \
( (This)->lpVtbl -> SetStatus(This,hrStatus) )
#define IMFAsyncResult_GetObject(This,ppObject) \
( (This)->lpVtbl -> GetObject(This,ppObject) )
#define IMFAsyncResult_GetStateNoAddRef(This) \
( (This)->lpVtbl -> GetStateNoAddRef(This) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFAsyncResult_INTERFACE_DEFINED__ */
#ifndef __IMFAsyncCallback_INTERFACE_DEFINED__
#define __IMFAsyncCallback_INTERFACE_DEFINED__
/* interface IMFAsyncCallback */
/* [uuid][object] */
EXTERN_C const IID IID_IMFAsyncCallback;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("a27003cf-2354-4f2a-8d6a-ab7cff15437e")
IMFAsyncCallback : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetParameters(
/* [out] */ __RPC__out DWORD *pdwFlags,
/* [out] */ __RPC__out DWORD *pdwQueue) = 0;
virtual HRESULT STDMETHODCALLTYPE Invoke(
/* [in] */ __RPC__in_opt IMFAsyncResult *pAsyncResult) = 0;
};
#else /* C style interface */
typedef struct IMFAsyncCallbackVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFAsyncCallback * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFAsyncCallback * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFAsyncCallback * This);
HRESULT ( STDMETHODCALLTYPE *GetParameters )(
__RPC__in IMFAsyncCallback * This,
/* [out] */ __RPC__out DWORD *pdwFlags,
/* [out] */ __RPC__out DWORD *pdwQueue);
HRESULT ( STDMETHODCALLTYPE *Invoke )(
__RPC__in IMFAsyncCallback * This,
/* [in] */ __RPC__in_opt IMFAsyncResult *pAsyncResult);
END_INTERFACE
} IMFAsyncCallbackVtbl;
interface IMFAsyncCallback
{
CONST_VTBL struct IMFAsyncCallbackVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFAsyncCallback_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFAsyncCallback_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFAsyncCallback_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFAsyncCallback_GetParameters(This,pdwFlags,pdwQueue) \
( (This)->lpVtbl -> GetParameters(This,pdwFlags,pdwQueue) )
#define IMFAsyncCallback_Invoke(This,pAsyncResult) \
( (This)->lpVtbl -> Invoke(This,pAsyncResult) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFAsyncCallback_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfobjects_0000_0009 */
/* [local] */
#define MFASYNC_FAST_IO_PROCESSING_CALLBACK 0x00000001
#define MFASYNC_SIGNAL_CALLBACK 0x00000002
#define MFASYNC_CALLBACK_QUEUE_UNDEFINED 0x00000000
#define MFASYNC_CALLBACK_QUEUE_STANDARD 0x00000001
#define MFASYNC_CALLBACK_QUEUE_RT 0x00000002
#define MFASYNC_CALLBACK_QUEUE_IO 0x00000003
#define MFASYNC_CALLBACK_QUEUE_TIMER 0x00000004
#define MFASYNC_CALLBACK_QUEUE_LONG_FUNCTION 0x00000007
#define MFASYNC_CALLBACK_QUEUE_PRIVATE_MASK 0xFFFF0000
#define MFASYNC_CALLBACK_QUEUE_ALL 0xFFFFFFFF
enum __MIDL___MIDL_itf_mfobjects_0000_0009_0001
{ MEUnknown = 0,
MEError = 1,
MEExtendedType = 2,
MENonFatalError = 3,
MEGenericV1Anchor = MENonFatalError,
MESessionUnknown = 100,
MESessionTopologySet = 101,
MESessionTopologiesCleared = 102,
MESessionStarted = 103,
MESessionPaused = 104,
MESessionStopped = 105,
MESessionClosed = 106,
MESessionEnded = 107,
MESessionRateChanged = 108,
MESessionScrubSampleComplete = 109,
MESessionCapabilitiesChanged = 110,
MESessionTopologyStatus = 111,
MESessionNotifyPresentationTime = 112,
MENewPresentation = 113,
MELicenseAcquisitionStart = 114,
MELicenseAcquisitionCompleted = 115,
MEIndividualizationStart = 116,
MEIndividualizationCompleted = 117,
MEEnablerProgress = 118,
MEEnablerCompleted = 119,
MEPolicyError = 120,
MEPolicyReport = 121,
MEBufferingStarted = 122,
MEBufferingStopped = 123,
MEConnectStart = 124,
MEConnectEnd = 125,
MEReconnectStart = 126,
MEReconnectEnd = 127,
MERendererEvent = 128,
MESessionStreamSinkFormatChanged = 129,
MESessionV1Anchor = MESessionStreamSinkFormatChanged,
MESourceUnknown = 200,
MESourceStarted = 201,
MEStreamStarted = 202,
MESourceSeeked = 203,
MEStreamSeeked = 204,
MENewStream = 205,
MEUpdatedStream = 206,
MESourceStopped = 207,
MEStreamStopped = 208,
MESourcePaused = 209,
MEStreamPaused = 210,
MEEndOfPresentation = 211,
MEEndOfStream = 212,
MEMediaSample = 213,
MEStreamTick = 214,
MEStreamThinMode = 215,
MEStreamFormatChanged = 216,
MESourceRateChanged = 217,
MEEndOfPresentationSegment = 218,
MESourceCharacteristicsChanged = 219,
MESourceRateChangeRequested = 220,
MESourceMetadataChanged = 221,
MESequencerSourceTopologyUpdated = 222,
MESourceV1Anchor = MESequencerSourceTopologyUpdated,
MESinkUnknown = 300,
MEStreamSinkStarted = 301,
MEStreamSinkStopped = 302,
MEStreamSinkPaused = 303,
MEStreamSinkRateChanged = 304,
MEStreamSinkRequestSample = 305,
MEStreamSinkMarker = 306,
MEStreamSinkPrerolled = 307,
MEStreamSinkScrubSampleComplete = 308,
MEStreamSinkFormatChanged = 309,
MEStreamSinkDeviceChanged = 310,
MEQualityNotify = 311,
MESinkInvalidated = 312,
MEAudioSessionNameChanged = 313,
MEAudioSessionVolumeChanged = 314,
MEAudioSessionDeviceRemoved = 315,
MEAudioSessionServerShutdown = 316,
MEAudioSessionGroupingParamChanged = 317,
MEAudioSessionIconChanged = 318,
MEAudioSessionFormatChanged = 319,
MEAudioSessionDisconnected = 320,
MEAudioSessionExclusiveModeOverride = 321,
MESinkV1Anchor = MEAudioSessionExclusiveModeOverride,
METrustUnknown = 400,
MEPolicyChanged = 401,
MEContentProtectionMessage = 402,
MEPolicySet = 403,
METrustV1Anchor = MEPolicySet,
MEWMDRMLicenseBackupCompleted = 500,
MEWMDRMLicenseBackupProgress = 501,
MEWMDRMLicenseRestoreCompleted = 502,
MEWMDRMLicenseRestoreProgress = 503,
MEWMDRMLicenseAcquisitionCompleted = 506,
MEWMDRMIndividualizationCompleted = 508,
MEWMDRMIndividualizationProgress = 513,
MEWMDRMProximityCompleted = 514,
MEWMDRMLicenseStoreCleaned = 515,
MEWMDRMRevocationDownloadCompleted = 516,
MEWMDRMV1Anchor = MEWMDRMRevocationDownloadCompleted,
METransformUnknown = 600,
METransformNeedInput = ( METransformUnknown + 1 ) ,
METransformHaveOutput = ( METransformNeedInput + 1 ) ,
METransformDrainComplete = ( METransformHaveOutput + 1 ) ,
METransformMarker = ( METransformDrainComplete + 1 ) ,
MEReservedMax = 10000
} ;
typedef DWORD MediaEventType;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0009_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0009_v0_0_s_ifspec;
#ifndef __IMFMediaEvent_INTERFACE_DEFINED__
#define __IMFMediaEvent_INTERFACE_DEFINED__
/* interface IMFMediaEvent */
/* [uuid][object] */
EXTERN_C const IID IID_IMFMediaEvent;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("DF598932-F10C-4E39-BBA2-C308F101DAA3")
IMFMediaEvent : public IMFAttributes
{
public:
virtual HRESULT STDMETHODCALLTYPE GetType(
/* [out] */ __RPC__out MediaEventType *pmet) = 0;
virtual HRESULT STDMETHODCALLTYPE GetExtendedType(
/* [out] */ __RPC__out GUID *pguidExtendedType) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStatus(
/* [out] */ __RPC__out HRESULT *phrStatus) = 0;
virtual HRESULT STDMETHODCALLTYPE GetValue(
/* [out] */ __RPC__out PROPVARIANT *pvValue) = 0;
};
#else /* C style interface */
typedef struct IMFMediaEventVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFMediaEvent * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFMediaEvent * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFMediaEvent * This);
HRESULT ( STDMETHODCALLTYPE *GetItem )(
__RPC__in IMFMediaEvent * This,
__RPC__in REFGUID guidKey,
/* [full][out][in] */ __RPC__inout_opt PROPVARIANT *pValue);
HRESULT ( STDMETHODCALLTYPE *GetItemType )(
__RPC__in IMFMediaEvent * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out MF_ATTRIBUTE_TYPE *pType);
HRESULT ( STDMETHODCALLTYPE *CompareItem )(
__RPC__in IMFMediaEvent * This,
__RPC__in REFGUID guidKey,
__RPC__in REFPROPVARIANT Value,
/* [out] */ __RPC__out BOOL *pbResult);
HRESULT ( STDMETHODCALLTYPE *Compare )(
__RPC__in IMFMediaEvent * This,
__RPC__in_opt IMFAttributes *pTheirs,
MF_ATTRIBUTES_MATCH_TYPE MatchType,
/* [out] */ __RPC__out BOOL *pbResult);
HRESULT ( STDMETHODCALLTYPE *GetUINT32 )(
__RPC__in IMFMediaEvent * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out UINT32 *punValue);
HRESULT ( STDMETHODCALLTYPE *GetUINT64 )(
__RPC__in IMFMediaEvent * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out UINT64 *punValue);
HRESULT ( STDMETHODCALLTYPE *GetDouble )(
__RPC__in IMFMediaEvent * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out double *pfValue);
HRESULT ( STDMETHODCALLTYPE *GetGUID )(
__RPC__in IMFMediaEvent * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out GUID *pguidValue);
HRESULT ( STDMETHODCALLTYPE *GetStringLength )(
__RPC__in IMFMediaEvent * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetString )(
__RPC__in IMFMediaEvent * This,
__RPC__in REFGUID guidKey,
/* [size_is][out] */ __RPC__out_ecount_full(cchBufSize) LPWSTR pwszValue,
UINT32 cchBufSize,
/* [full][out][in] */ __RPC__inout_opt UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetAllocatedString )(
__RPC__in IMFMediaEvent * This,
__RPC__in REFGUID guidKey,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(( *pcchLength + 1 ) ) LPWSTR *ppwszValue,
/* [out] */ __RPC__out UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetBlobSize )(
__RPC__in IMFMediaEvent * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out UINT32 *pcbBlobSize);
HRESULT ( STDMETHODCALLTYPE *GetBlob )(
__RPC__in IMFMediaEvent * This,
__RPC__in REFGUID guidKey,
/* [size_is][out] */ __RPC__out_ecount_full(cbBufSize) UINT8 *pBuf,
UINT32 cbBufSize,
/* [full][out][in] */ __RPC__inout_opt UINT32 *pcbBlobSize);
HRESULT ( STDMETHODCALLTYPE *GetAllocatedBlob )(
__RPC__in IMFMediaEvent * This,
__RPC__in REFGUID guidKey,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbSize) UINT8 **ppBuf,
/* [out] */ __RPC__out UINT32 *pcbSize);
HRESULT ( STDMETHODCALLTYPE *GetUnknown )(
__RPC__in IMFMediaEvent * This,
__RPC__in REFGUID guidKey,
__RPC__in REFIID riid,
/* [iid_is][out] */ __RPC__deref_out_opt LPVOID *ppv);
HRESULT ( STDMETHODCALLTYPE *SetItem )(
__RPC__in IMFMediaEvent * This,
__RPC__in REFGUID guidKey,
__RPC__in REFPROPVARIANT Value);
HRESULT ( STDMETHODCALLTYPE *DeleteItem )(
__RPC__in IMFMediaEvent * This,
__RPC__in REFGUID guidKey);
HRESULT ( STDMETHODCALLTYPE *DeleteAllItems )(
__RPC__in IMFMediaEvent * This);
HRESULT ( STDMETHODCALLTYPE *SetUINT32 )(
__RPC__in IMFMediaEvent * This,
__RPC__in REFGUID guidKey,
UINT32 unValue);
HRESULT ( STDMETHODCALLTYPE *SetUINT64 )(
__RPC__in IMFMediaEvent * This,
__RPC__in REFGUID guidKey,
UINT64 unValue);
HRESULT ( STDMETHODCALLTYPE *SetDouble )(
__RPC__in IMFMediaEvent * This,
__RPC__in REFGUID guidKey,
double fValue);
HRESULT ( STDMETHODCALLTYPE *SetGUID )(
__RPC__in IMFMediaEvent * This,
__RPC__in REFGUID guidKey,
__RPC__in REFGUID guidValue);
HRESULT ( STDMETHODCALLTYPE *SetString )(
__RPC__in IMFMediaEvent * This,
__RPC__in REFGUID guidKey,
/* [string][in] */ __RPC__in_string LPCWSTR wszValue);
HRESULT ( STDMETHODCALLTYPE *SetBlob )(
__RPC__in IMFMediaEvent * This,
__RPC__in REFGUID guidKey,
/* [size_is][in] */ __RPC__in_ecount_full(cbBufSize) const UINT8 *pBuf,
UINT32 cbBufSize);
HRESULT ( STDMETHODCALLTYPE *SetUnknown )(
__RPC__in IMFMediaEvent * This,
__RPC__in REFGUID guidKey,
/* [in] */ __RPC__in_opt IUnknown *pUnknown);
HRESULT ( STDMETHODCALLTYPE *LockStore )(
__RPC__in IMFMediaEvent * This);
HRESULT ( STDMETHODCALLTYPE *UnlockStore )(
__RPC__in IMFMediaEvent * This);
HRESULT ( STDMETHODCALLTYPE *GetCount )(
__RPC__in IMFMediaEvent * This,
/* [out] */ __RPC__out UINT32 *pcItems);
HRESULT ( STDMETHODCALLTYPE *GetItemByIndex )(
__RPC__in IMFMediaEvent * This,
UINT32 unIndex,
/* [out] */ __RPC__out GUID *pguidKey,
/* [full][out][in] */ __RPC__inout_opt PROPVARIANT *pValue);
HRESULT ( STDMETHODCALLTYPE *CopyAllItems )(
__RPC__in IMFMediaEvent * This,
/* [in] */ __RPC__in_opt IMFAttributes *pDest);
HRESULT ( STDMETHODCALLTYPE *GetType )(
__RPC__in IMFMediaEvent * This,
/* [out] */ __RPC__out MediaEventType *pmet);
HRESULT ( STDMETHODCALLTYPE *GetExtendedType )(
__RPC__in IMFMediaEvent * This,
/* [out] */ __RPC__out GUID *pguidExtendedType);
HRESULT ( STDMETHODCALLTYPE *GetStatus )(
__RPC__in IMFMediaEvent * This,
/* [out] */ __RPC__out HRESULT *phrStatus);
HRESULT ( STDMETHODCALLTYPE *GetValue )(
__RPC__in IMFMediaEvent * This,
/* [out] */ __RPC__out PROPVARIANT *pvValue);
END_INTERFACE
} IMFMediaEventVtbl;
interface IMFMediaEvent
{
CONST_VTBL struct IMFMediaEventVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFMediaEvent_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFMediaEvent_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFMediaEvent_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFMediaEvent_GetItem(This,guidKey,pValue) \
( (This)->lpVtbl -> GetItem(This,guidKey,pValue) )
#define IMFMediaEvent_GetItemType(This,guidKey,pType) \
( (This)->lpVtbl -> GetItemType(This,guidKey,pType) )
#define IMFMediaEvent_CompareItem(This,guidKey,Value,pbResult) \
( (This)->lpVtbl -> CompareItem(This,guidKey,Value,pbResult) )
#define IMFMediaEvent_Compare(This,pTheirs,MatchType,pbResult) \
( (This)->lpVtbl -> Compare(This,pTheirs,MatchType,pbResult) )
#define IMFMediaEvent_GetUINT32(This,guidKey,punValue) \
( (This)->lpVtbl -> GetUINT32(This,guidKey,punValue) )
#define IMFMediaEvent_GetUINT64(This,guidKey,punValue) \
( (This)->lpVtbl -> GetUINT64(This,guidKey,punValue) )
#define IMFMediaEvent_GetDouble(This,guidKey,pfValue) \
( (This)->lpVtbl -> GetDouble(This,guidKey,pfValue) )
#define IMFMediaEvent_GetGUID(This,guidKey,pguidValue) \
( (This)->lpVtbl -> GetGUID(This,guidKey,pguidValue) )
#define IMFMediaEvent_GetStringLength(This,guidKey,pcchLength) \
( (This)->lpVtbl -> GetStringLength(This,guidKey,pcchLength) )
#define IMFMediaEvent_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) \
( (This)->lpVtbl -> GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) )
#define IMFMediaEvent_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) \
( (This)->lpVtbl -> GetAllocatedString(This,guidKey,ppwszValue,pcchLength) )
#define IMFMediaEvent_GetBlobSize(This,guidKey,pcbBlobSize) \
( (This)->lpVtbl -> GetBlobSize(This,guidKey,pcbBlobSize) )
#define IMFMediaEvent_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) \
( (This)->lpVtbl -> GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) )
#define IMFMediaEvent_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) \
( (This)->lpVtbl -> GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) )
#define IMFMediaEvent_GetUnknown(This,guidKey,riid,ppv) \
( (This)->lpVtbl -> GetUnknown(This,guidKey,riid,ppv) )
#define IMFMediaEvent_SetItem(This,guidKey,Value) \
( (This)->lpVtbl -> SetItem(This,guidKey,Value) )
#define IMFMediaEvent_DeleteItem(This,guidKey) \
( (This)->lpVtbl -> DeleteItem(This,guidKey) )
#define IMFMediaEvent_DeleteAllItems(This) \
( (This)->lpVtbl -> DeleteAllItems(This) )
#define IMFMediaEvent_SetUINT32(This,guidKey,unValue) \
( (This)->lpVtbl -> SetUINT32(This,guidKey,unValue) )
#define IMFMediaEvent_SetUINT64(This,guidKey,unValue) \
( (This)->lpVtbl -> SetUINT64(This,guidKey,unValue) )
#define IMFMediaEvent_SetDouble(This,guidKey,fValue) \
( (This)->lpVtbl -> SetDouble(This,guidKey,fValue) )
#define IMFMediaEvent_SetGUID(This,guidKey,guidValue) \
( (This)->lpVtbl -> SetGUID(This,guidKey,guidValue) )
#define IMFMediaEvent_SetString(This,guidKey,wszValue) \
( (This)->lpVtbl -> SetString(This,guidKey,wszValue) )
#define IMFMediaEvent_SetBlob(This,guidKey,pBuf,cbBufSize) \
( (This)->lpVtbl -> SetBlob(This,guidKey,pBuf,cbBufSize) )
#define IMFMediaEvent_SetUnknown(This,guidKey,pUnknown) \
( (This)->lpVtbl -> SetUnknown(This,guidKey,pUnknown) )
#define IMFMediaEvent_LockStore(This) \
( (This)->lpVtbl -> LockStore(This) )
#define IMFMediaEvent_UnlockStore(This) \
( (This)->lpVtbl -> UnlockStore(This) )
#define IMFMediaEvent_GetCount(This,pcItems) \
( (This)->lpVtbl -> GetCount(This,pcItems) )
#define IMFMediaEvent_GetItemByIndex(This,unIndex,pguidKey,pValue) \
( (This)->lpVtbl -> GetItemByIndex(This,unIndex,pguidKey,pValue) )
#define IMFMediaEvent_CopyAllItems(This,pDest) \
( (This)->lpVtbl -> CopyAllItems(This,pDest) )
#define IMFMediaEvent_GetType(This,pmet) \
( (This)->lpVtbl -> GetType(This,pmet) )
#define IMFMediaEvent_GetExtendedType(This,pguidExtendedType) \
( (This)->lpVtbl -> GetExtendedType(This,pguidExtendedType) )
#define IMFMediaEvent_GetStatus(This,phrStatus) \
( (This)->lpVtbl -> GetStatus(This,phrStatus) )
#define IMFMediaEvent_GetValue(This,pvValue) \
( (This)->lpVtbl -> GetValue(This,pvValue) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFMediaEvent_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfobjects_0000_0010 */
/* [local] */
#define MF_EVENT_FLAG_NO_WAIT 0x00000001
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0010_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0010_v0_0_s_ifspec;
#ifndef __IMFMediaEventGenerator_INTERFACE_DEFINED__
#define __IMFMediaEventGenerator_INTERFACE_DEFINED__
/* interface IMFMediaEventGenerator */
/* [uuid][object] */
EXTERN_C const IID IID_IMFMediaEventGenerator;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("2CD0BD52-BCD5-4B89-B62C-EADC0C031E7D")
IMFMediaEventGenerator : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetEvent(
/* [in] */ DWORD dwFlags,
/* [out] */ __RPC__deref_out_opt IMFMediaEvent **ppEvent) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE BeginGetEvent(
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE EndGetEvent(
/* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */
__out IMFMediaEvent **ppEvent) = 0;
virtual HRESULT STDMETHODCALLTYPE QueueEvent(
/* [in] */ MediaEventType met,
/* [in] */ __RPC__in REFGUID guidExtendedType,
/* [in] */ HRESULT hrStatus,
/* [unique][in] */ __RPC__in_opt const PROPVARIANT *pvValue) = 0;
};
#else /* C style interface */
typedef struct IMFMediaEventGeneratorVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFMediaEventGenerator * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFMediaEventGenerator * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFMediaEventGenerator * This);
HRESULT ( STDMETHODCALLTYPE *GetEvent )(
__RPC__in IMFMediaEventGenerator * This,
/* [in] */ DWORD dwFlags,
/* [out] */ __RPC__deref_out_opt IMFMediaEvent **ppEvent);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginGetEvent )(
IMFMediaEventGenerator * This,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *EndGetEvent )(
IMFMediaEventGenerator * This,
/* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */
__out IMFMediaEvent **ppEvent);
HRESULT ( STDMETHODCALLTYPE *QueueEvent )(
__RPC__in IMFMediaEventGenerator * This,
/* [in] */ MediaEventType met,
/* [in] */ __RPC__in REFGUID guidExtendedType,
/* [in] */ HRESULT hrStatus,
/* [unique][in] */ __RPC__in_opt const PROPVARIANT *pvValue);
END_INTERFACE
} IMFMediaEventGeneratorVtbl;
interface IMFMediaEventGenerator
{
CONST_VTBL struct IMFMediaEventGeneratorVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFMediaEventGenerator_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFMediaEventGenerator_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFMediaEventGenerator_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFMediaEventGenerator_GetEvent(This,dwFlags,ppEvent) \
( (This)->lpVtbl -> GetEvent(This,dwFlags,ppEvent) )
#define IMFMediaEventGenerator_BeginGetEvent(This,pCallback,punkState) \
( (This)->lpVtbl -> BeginGetEvent(This,pCallback,punkState) )
#define IMFMediaEventGenerator_EndGetEvent(This,pResult,ppEvent) \
( (This)->lpVtbl -> EndGetEvent(This,pResult,ppEvent) )
#define IMFMediaEventGenerator_QueueEvent(This,met,guidExtendedType,hrStatus,pvValue) \
( (This)->lpVtbl -> QueueEvent(This,met,guidExtendedType,hrStatus,pvValue) )
#endif /* COBJMACROS */
#endif /* C style interface */
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFMediaEventGenerator_RemoteBeginGetEvent_Proxy(
__RPC__in IMFMediaEventGenerator * This,
/* [in] */ __RPC__in_opt IMFRemoteAsyncCallback *pCallback);
void __RPC_STUB IMFMediaEventGenerator_RemoteBeginGetEvent_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFMediaEventGenerator_RemoteEndGetEvent_Proxy(
__RPC__in IMFMediaEventGenerator * This,
/* [in] */ __RPC__in_opt IUnknown *pResult,
/* [out] */ __RPC__out DWORD *pcbEvent,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbEvent) BYTE **ppbEvent);
void __RPC_STUB IMFMediaEventGenerator_RemoteEndGetEvent_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
#endif /* __IMFMediaEventGenerator_INTERFACE_DEFINED__ */
#ifndef __IMFRemoteAsyncCallback_INTERFACE_DEFINED__
#define __IMFRemoteAsyncCallback_INTERFACE_DEFINED__
/* interface IMFRemoteAsyncCallback */
/* [uuid][object] */
EXTERN_C const IID IID_IMFRemoteAsyncCallback;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("a27003d0-2354-4f2a-8d6a-ab7cff15437e")
IMFRemoteAsyncCallback : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE Invoke(
/* [in] */ HRESULT hr,
/* [in] */ __RPC__in_opt IUnknown *pRemoteResult) = 0;
};
#else /* C style interface */
typedef struct IMFRemoteAsyncCallbackVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFRemoteAsyncCallback * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFRemoteAsyncCallback * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFRemoteAsyncCallback * This);
HRESULT ( STDMETHODCALLTYPE *Invoke )(
__RPC__in IMFRemoteAsyncCallback * This,
/* [in] */ HRESULT hr,
/* [in] */ __RPC__in_opt IUnknown *pRemoteResult);
END_INTERFACE
} IMFRemoteAsyncCallbackVtbl;
interface IMFRemoteAsyncCallback
{
CONST_VTBL struct IMFRemoteAsyncCallbackVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFRemoteAsyncCallback_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFRemoteAsyncCallback_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFRemoteAsyncCallback_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFRemoteAsyncCallback_Invoke(This,hr,pRemoteResult) \
( (This)->lpVtbl -> Invoke(This,hr,pRemoteResult) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFRemoteAsyncCallback_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfobjects_0000_0012 */
/* [local] */
typedef
enum _MFBYTESTREAM_SEEK_ORIGIN
{ msoBegin = 0,
msoCurrent = ( msoBegin + 1 )
} MFBYTESTREAM_SEEK_ORIGIN;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0012_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0012_v0_0_s_ifspec;
#ifndef __IMFByteStream_INTERFACE_DEFINED__
#define __IMFByteStream_INTERFACE_DEFINED__
/* interface IMFByteStream */
/* [uuid][object] */
EXTERN_C const IID IID_IMFByteStream;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("ad4c1b00-4bf7-422f-9175-756693d9130d")
IMFByteStream : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetCapabilities(
/* [out] */ __RPC__out DWORD *pdwCapabilities) = 0;
virtual HRESULT STDMETHODCALLTYPE GetLength(
/* [out] */ __RPC__out QWORD *pqwLength) = 0;
virtual HRESULT STDMETHODCALLTYPE SetLength(
/* [in] */ QWORD qwLength) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentPosition(
/* [out] */ __RPC__out QWORD *pqwPosition) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCurrentPosition(
/* [in] */ QWORD qwPosition) = 0;
virtual HRESULT STDMETHODCALLTYPE IsEndOfStream(
/* [out] */ __RPC__out BOOL *pfEndOfStream) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE Read(
/* [annotation][in] */
__out_bcount_part(cb, *pcbRead) BYTE *pb,
/* [in] */ ULONG cb,
/* [annotation][out] */
__out ULONG *pcbRead) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE BeginRead(
/* [annotation][in] */
__out_bcount(cb) BYTE *pb,
/* [in] */ ULONG cb,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE EndRead(
/* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */
__out ULONG *pcbRead) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE Write(
/* [annotation][in] */
__in_bcount(cb) const BYTE *pb,
/* [in] */ ULONG cb,
/* [annotation][out] */
__out __deref_out_range(<=, cb) ULONG *pcbWritten) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE BeginWrite(
/* [annotation][in] */
__in_bcount(cb) const BYTE *pb,
/* [in] */ ULONG cb,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE EndWrite(
/* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */
__out ULONG *pcbWritten) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE Seek(
/* [in] */ MFBYTESTREAM_SEEK_ORIGIN SeekOrigin,
/* [in] */ LONGLONG llSeekOffset,
/* [in] */ DWORD dwSeekFlags,
/* [annotation][out] */
__out_opt QWORD *pqwCurrentPosition) = 0;
virtual HRESULT STDMETHODCALLTYPE Flush( void) = 0;
virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
};
#else /* C style interface */
typedef struct IMFByteStreamVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFByteStream * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFByteStream * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFByteStream * This);
HRESULT ( STDMETHODCALLTYPE *GetCapabilities )(
__RPC__in IMFByteStream * This,
/* [out] */ __RPC__out DWORD *pdwCapabilities);
HRESULT ( STDMETHODCALLTYPE *GetLength )(
__RPC__in IMFByteStream * This,
/* [out] */ __RPC__out QWORD *pqwLength);
HRESULT ( STDMETHODCALLTYPE *SetLength )(
__RPC__in IMFByteStream * This,
/* [in] */ QWORD qwLength);
HRESULT ( STDMETHODCALLTYPE *GetCurrentPosition )(
__RPC__in IMFByteStream * This,
/* [out] */ __RPC__out QWORD *pqwPosition);
HRESULT ( STDMETHODCALLTYPE *SetCurrentPosition )(
__RPC__in IMFByteStream * This,
/* [in] */ QWORD qwPosition);
HRESULT ( STDMETHODCALLTYPE *IsEndOfStream )(
__RPC__in IMFByteStream * This,
/* [out] */ __RPC__out BOOL *pfEndOfStream);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Read )(
IMFByteStream * This,
/* [annotation][in] */
__out_bcount_part(cb, *pcbRead) BYTE *pb,
/* [in] */ ULONG cb,
/* [annotation][out] */
__out ULONG *pcbRead);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginRead )(
IMFByteStream * This,
/* [annotation][in] */
__out_bcount(cb) BYTE *pb,
/* [in] */ ULONG cb,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *EndRead )(
IMFByteStream * This,
/* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */
__out ULONG *pcbRead);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Write )(
IMFByteStream * This,
/* [annotation][in] */
__in_bcount(cb) const BYTE *pb,
/* [in] */ ULONG cb,
/* [annotation][out] */
__out __deref_out_range(<=, cb) ULONG *pcbWritten);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginWrite )(
IMFByteStream * This,
/* [annotation][in] */
__in_bcount(cb) const BYTE *pb,
/* [in] */ ULONG cb,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *EndWrite )(
IMFByteStream * This,
/* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */
__out ULONG *pcbWritten);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Seek )(
IMFByteStream * This,
/* [in] */ MFBYTESTREAM_SEEK_ORIGIN SeekOrigin,
/* [in] */ LONGLONG llSeekOffset,
/* [in] */ DWORD dwSeekFlags,
/* [annotation][out] */
__out_opt QWORD *pqwCurrentPosition);
HRESULT ( STDMETHODCALLTYPE *Flush )(
__RPC__in IMFByteStream * This);
HRESULT ( STDMETHODCALLTYPE *Close )(
__RPC__in IMFByteStream * This);
END_INTERFACE
} IMFByteStreamVtbl;
interface IMFByteStream
{
CONST_VTBL struct IMFByteStreamVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFByteStream_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFByteStream_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFByteStream_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFByteStream_GetCapabilities(This,pdwCapabilities) \
( (This)->lpVtbl -> GetCapabilities(This,pdwCapabilities) )
#define IMFByteStream_GetLength(This,pqwLength) \
( (This)->lpVtbl -> GetLength(This,pqwLength) )
#define IMFByteStream_SetLength(This,qwLength) \
( (This)->lpVtbl -> SetLength(This,qwLength) )
#define IMFByteStream_GetCurrentPosition(This,pqwPosition) \
( (This)->lpVtbl -> GetCurrentPosition(This,pqwPosition) )
#define IMFByteStream_SetCurrentPosition(This,qwPosition) \
( (This)->lpVtbl -> SetCurrentPosition(This,qwPosition) )
#define IMFByteStream_IsEndOfStream(This,pfEndOfStream) \
( (This)->lpVtbl -> IsEndOfStream(This,pfEndOfStream) )
#define IMFByteStream_Read(This,pb,cb,pcbRead) \
( (This)->lpVtbl -> Read(This,pb,cb,pcbRead) )
#define IMFByteStream_BeginRead(This,pb,cb,pCallback,punkState) \
( (This)->lpVtbl -> BeginRead(This,pb,cb,pCallback,punkState) )
#define IMFByteStream_EndRead(This,pResult,pcbRead) \
( (This)->lpVtbl -> EndRead(This,pResult,pcbRead) )
#define IMFByteStream_Write(This,pb,cb,pcbWritten) \
( (This)->lpVtbl -> Write(This,pb,cb,pcbWritten) )
#define IMFByteStream_BeginWrite(This,pb,cb,pCallback,punkState) \
( (This)->lpVtbl -> BeginWrite(This,pb,cb,pCallback,punkState) )
#define IMFByteStream_EndWrite(This,pResult,pcbWritten) \
( (This)->lpVtbl -> EndWrite(This,pResult,pcbWritten) )
#define IMFByteStream_Seek(This,SeekOrigin,llSeekOffset,dwSeekFlags,pqwCurrentPosition) \
( (This)->lpVtbl -> Seek(This,SeekOrigin,llSeekOffset,dwSeekFlags,pqwCurrentPosition) )
#define IMFByteStream_Flush(This) \
( (This)->lpVtbl -> Flush(This) )
#define IMFByteStream_Close(This) \
( (This)->lpVtbl -> Close(This) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFByteStream_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfobjects_0000_0013 */
/* [local] */
#define MFBYTESTREAM_IS_READABLE 0x00000001
#define MFBYTESTREAM_IS_WRITABLE 0x00000002
#define MFBYTESTREAM_IS_SEEKABLE 0x00000004
#define MFBYTESTREAM_IS_REMOTE 0x00000008
#define MFBYTESTREAM_IS_DIRECTORY 0x00000080
#define MFBYTESTREAM_HAS_SLOW_SEEK 0x00000100
#define MFBYTESTREAM_IS_PARTIALLY_DOWNLOADED 0x00000200
#if (WINVER >= _WIN32_WINNT_WIN7)
#define MFBYTESTREAM_SHARE_WRITE 0x00000400
#endif // (WINVER >= _WIN32_WINNT_WIN7)
#define MFBYTESTREAM_SEEK_FLAG_CANCEL_PENDING_IO 0x00000001
EXTERN_GUID( MF_BYTESTREAM_ORIGIN_NAME, 0xfc358288, 0x3cb6, 0x460c, 0xa4, 0x24, 0xb6, 0x68, 0x12, 0x60, 0x37, 0x5a);
EXTERN_GUID( MF_BYTESTREAM_CONTENT_TYPE, 0xfc358289, 0x3cb6, 0x460c, 0xa4, 0x24, 0xb6, 0x68, 0x12, 0x60, 0x37, 0x5a);
EXTERN_GUID( MF_BYTESTREAM_DURATION, 0xfc35828a, 0x3cb6, 0x460c, 0xa4, 0x24, 0xb6, 0x68, 0x12, 0x60, 0x37, 0x5a);
EXTERN_GUID( MF_BYTESTREAM_LAST_MODIFIED_TIME, 0xfc35828b, 0x3cb6, 0x460c, 0xa4, 0x24, 0xb6, 0x68, 0x12, 0x60, 0x37, 0x5a);
#if (WINVER >= _WIN32_WINNT_WIN7)
EXTERN_GUID( MF_BYTESTREAM_IFO_FILE_URI, 0xfc35828c, 0x3cb6, 0x460c, 0xa4, 0x24, 0xb6, 0x68, 0x12, 0x60, 0x37, 0x5a);
EXTERN_GUID( MF_BYTESTREAM_DLNA_PROFILE_ID, 0xfc35828d, 0x3cb6, 0x460c, 0xa4, 0x24, 0xb6, 0x68, 0x12, 0x60, 0x37, 0x5a);
#endif // (WINVER >= _WIN32_WINNT_WIN7)
typedef /* [public] */
enum __MIDL___MIDL_itf_mfobjects_0000_0013_0001
{ MF_ACCESSMODE_READ = 1,
MF_ACCESSMODE_WRITE = 2,
MF_ACCESSMODE_READWRITE = 3
} MF_FILE_ACCESSMODE;
typedef /* [public] */
enum __MIDL___MIDL_itf_mfobjects_0000_0013_0002
{ MF_OPENMODE_FAIL_IF_NOT_EXIST = 0,
MF_OPENMODE_FAIL_IF_EXIST = 1,
MF_OPENMODE_RESET_IF_EXIST = 2,
MF_OPENMODE_APPEND_IF_EXIST = 3,
MF_OPENMODE_DELETE_IF_EXIST = 4
} MF_FILE_OPENMODE;
typedef /* [public] */
enum __MIDL___MIDL_itf_mfobjects_0000_0013_0003
{ MF_FILEFLAGS_NONE = 0,
MF_FILEFLAGS_NOBUFFERING = 0x1,
MF_FILEFLAGS_ALLOW_WRITE_SHARING = 0x2
} MF_FILE_FLAGS;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0013_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0013_v0_0_s_ifspec;
#ifndef __IMFCollection_INTERFACE_DEFINED__
#define __IMFCollection_INTERFACE_DEFINED__
/* interface IMFCollection */
/* [uuid][object] */
EXTERN_C const IID IID_IMFCollection;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("5BC8A76B-869A-46a3-9B03-FA218A66AEBE")
IMFCollection : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetElementCount(
/* [out] */ __RPC__out DWORD *pcElements) = 0;
virtual HRESULT STDMETHODCALLTYPE GetElement(
/* [in] */ DWORD dwElementIndex,
/* [out] */ __RPC__deref_out_opt IUnknown **ppUnkElement) = 0;
virtual HRESULT STDMETHODCALLTYPE AddElement(
/* [in] */ __RPC__in_opt IUnknown *pUnkElement) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveElement(
/* [in] */ DWORD dwElementIndex,
/* [out] */ __RPC__deref_out_opt IUnknown **ppUnkElement) = 0;
virtual HRESULT STDMETHODCALLTYPE InsertElementAt(
/* [in] */ DWORD dwIndex,
/* [in] */ __RPC__in_opt IUnknown *pUnknown) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveAllElements( void) = 0;
};
#else /* C style interface */
typedef struct IMFCollectionVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFCollection * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFCollection * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFCollection * This);
HRESULT ( STDMETHODCALLTYPE *GetElementCount )(
__RPC__in IMFCollection * This,
/* [out] */ __RPC__out DWORD *pcElements);
HRESULT ( STDMETHODCALLTYPE *GetElement )(
__RPC__in IMFCollection * This,
/* [in] */ DWORD dwElementIndex,
/* [out] */ __RPC__deref_out_opt IUnknown **ppUnkElement);
HRESULT ( STDMETHODCALLTYPE *AddElement )(
__RPC__in IMFCollection * This,
/* [in] */ __RPC__in_opt IUnknown *pUnkElement);
HRESULT ( STDMETHODCALLTYPE *RemoveElement )(
__RPC__in IMFCollection * This,
/* [in] */ DWORD dwElementIndex,
/* [out] */ __RPC__deref_out_opt IUnknown **ppUnkElement);
HRESULT ( STDMETHODCALLTYPE *InsertElementAt )(
__RPC__in IMFCollection * This,
/* [in] */ DWORD dwIndex,
/* [in] */ __RPC__in_opt IUnknown *pUnknown);
HRESULT ( STDMETHODCALLTYPE *RemoveAllElements )(
__RPC__in IMFCollection * This);
END_INTERFACE
} IMFCollectionVtbl;
interface IMFCollection
{
CONST_VTBL struct IMFCollectionVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFCollection_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFCollection_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFCollection_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFCollection_GetElementCount(This,pcElements) \
( (This)->lpVtbl -> GetElementCount(This,pcElements) )
#define IMFCollection_GetElement(This,dwElementIndex,ppUnkElement) \
( (This)->lpVtbl -> GetElement(This,dwElementIndex,ppUnkElement) )
#define IMFCollection_AddElement(This,pUnkElement) \
( (This)->lpVtbl -> AddElement(This,pUnkElement) )
#define IMFCollection_RemoveElement(This,dwElementIndex,ppUnkElement) \
( (This)->lpVtbl -> RemoveElement(This,dwElementIndex,ppUnkElement) )
#define IMFCollection_InsertElementAt(This,dwIndex,pUnknown) \
( (This)->lpVtbl -> InsertElementAt(This,dwIndex,pUnknown) )
#define IMFCollection_RemoveAllElements(This) \
( (This)->lpVtbl -> RemoveAllElements(This) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFCollection_INTERFACE_DEFINED__ */
#ifndef __IMFMediaEventQueue_INTERFACE_DEFINED__
#define __IMFMediaEventQueue_INTERFACE_DEFINED__
/* interface IMFMediaEventQueue */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFMediaEventQueue;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("36f846fc-2256-48b6-b58e-e2b638316581")
IMFMediaEventQueue : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetEvent(
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__out IMFMediaEvent **ppEvent) = 0;
virtual HRESULT STDMETHODCALLTYPE BeginGetEvent(
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState) = 0;
virtual HRESULT STDMETHODCALLTYPE EndGetEvent(
/* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */
__out IMFMediaEvent **ppEvent) = 0;
virtual HRESULT STDMETHODCALLTYPE QueueEvent(
/* [in] */ IMFMediaEvent *pEvent) = 0;
virtual HRESULT STDMETHODCALLTYPE QueueEventParamVar(
/* [in] */ MediaEventType met,
/* [in] */ REFGUID guidExtendedType,
/* [in] */ HRESULT hrStatus,
/* [unique][in] */ const PROPVARIANT *pvValue) = 0;
virtual HRESULT STDMETHODCALLTYPE QueueEventParamUnk(
/* [in] */ MediaEventType met,
/* [in] */ REFGUID guidExtendedType,
/* [in] */ HRESULT hrStatus,
/* [unique][in] */ IUnknown *pUnk) = 0;
virtual HRESULT STDMETHODCALLTYPE Shutdown( void) = 0;
};
#else /* C style interface */
typedef struct IMFMediaEventQueueVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFMediaEventQueue * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFMediaEventQueue * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFMediaEventQueue * This);
HRESULT ( STDMETHODCALLTYPE *GetEvent )(
IMFMediaEventQueue * This,
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__out IMFMediaEvent **ppEvent);
HRESULT ( STDMETHODCALLTYPE *BeginGetEvent )(
IMFMediaEventQueue * This,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState);
HRESULT ( STDMETHODCALLTYPE *EndGetEvent )(
IMFMediaEventQueue * This,
/* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */
__out IMFMediaEvent **ppEvent);
HRESULT ( STDMETHODCALLTYPE *QueueEvent )(
IMFMediaEventQueue * This,
/* [in] */ IMFMediaEvent *pEvent);
HRESULT ( STDMETHODCALLTYPE *QueueEventParamVar )(
IMFMediaEventQueue * This,
/* [in] */ MediaEventType met,
/* [in] */ REFGUID guidExtendedType,
/* [in] */ HRESULT hrStatus,
/* [unique][in] */ const PROPVARIANT *pvValue);
HRESULT ( STDMETHODCALLTYPE *QueueEventParamUnk )(
IMFMediaEventQueue * This,
/* [in] */ MediaEventType met,
/* [in] */ REFGUID guidExtendedType,
/* [in] */ HRESULT hrStatus,
/* [unique][in] */ IUnknown *pUnk);
HRESULT ( STDMETHODCALLTYPE *Shutdown )(
IMFMediaEventQueue * This);
END_INTERFACE
} IMFMediaEventQueueVtbl;
interface IMFMediaEventQueue
{
CONST_VTBL struct IMFMediaEventQueueVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFMediaEventQueue_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFMediaEventQueue_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFMediaEventQueue_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFMediaEventQueue_GetEvent(This,dwFlags,ppEvent) \
( (This)->lpVtbl -> GetEvent(This,dwFlags,ppEvent) )
#define IMFMediaEventQueue_BeginGetEvent(This,pCallback,punkState) \
( (This)->lpVtbl -> BeginGetEvent(This,pCallback,punkState) )
#define IMFMediaEventQueue_EndGetEvent(This,pResult,ppEvent) \
( (This)->lpVtbl -> EndGetEvent(This,pResult,ppEvent) )
#define IMFMediaEventQueue_QueueEvent(This,pEvent) \
( (This)->lpVtbl -> QueueEvent(This,pEvent) )
#define IMFMediaEventQueue_QueueEventParamVar(This,met,guidExtendedType,hrStatus,pvValue) \
( (This)->lpVtbl -> QueueEventParamVar(This,met,guidExtendedType,hrStatus,pvValue) )
#define IMFMediaEventQueue_QueueEventParamUnk(This,met,guidExtendedType,hrStatus,pUnk) \
( (This)->lpVtbl -> QueueEventParamUnk(This,met,guidExtendedType,hrStatus,pUnk) )
#define IMFMediaEventQueue_Shutdown(This) \
( (This)->lpVtbl -> Shutdown(This) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFMediaEventQueue_INTERFACE_DEFINED__ */
#ifndef __IMFActivate_INTERFACE_DEFINED__
#define __IMFActivate_INTERFACE_DEFINED__
/* interface IMFActivate */
/* [unique][helpstring][uuid][object] */
EXTERN_C const IID IID_IMFActivate;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("7FEE9E9A-4A89-47a6-899C-B6A53A70FB67")
IMFActivate : public IMFAttributes
{
public:
virtual HRESULT STDMETHODCALLTYPE ActivateObject(
/* [in] */ __RPC__in REFIID riid,
/* [retval][iid_is][out] */ __RPC__deref_out_opt void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE ShutdownObject( void) = 0;
virtual HRESULT STDMETHODCALLTYPE DetachObject( void) = 0;
};
#else /* C style interface */
typedef struct IMFActivateVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFActivate * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFActivate * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFActivate * This);
HRESULT ( STDMETHODCALLTYPE *GetItem )(
__RPC__in IMFActivate * This,
__RPC__in REFGUID guidKey,
/* [full][out][in] */ __RPC__inout_opt PROPVARIANT *pValue);
HRESULT ( STDMETHODCALLTYPE *GetItemType )(
__RPC__in IMFActivate * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out MF_ATTRIBUTE_TYPE *pType);
HRESULT ( STDMETHODCALLTYPE *CompareItem )(
__RPC__in IMFActivate * This,
__RPC__in REFGUID guidKey,
__RPC__in REFPROPVARIANT Value,
/* [out] */ __RPC__out BOOL *pbResult);
HRESULT ( STDMETHODCALLTYPE *Compare )(
__RPC__in IMFActivate * This,
__RPC__in_opt IMFAttributes *pTheirs,
MF_ATTRIBUTES_MATCH_TYPE MatchType,
/* [out] */ __RPC__out BOOL *pbResult);
HRESULT ( STDMETHODCALLTYPE *GetUINT32 )(
__RPC__in IMFActivate * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out UINT32 *punValue);
HRESULT ( STDMETHODCALLTYPE *GetUINT64 )(
__RPC__in IMFActivate * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out UINT64 *punValue);
HRESULT ( STDMETHODCALLTYPE *GetDouble )(
__RPC__in IMFActivate * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out double *pfValue);
HRESULT ( STDMETHODCALLTYPE *GetGUID )(
__RPC__in IMFActivate * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out GUID *pguidValue);
HRESULT ( STDMETHODCALLTYPE *GetStringLength )(
__RPC__in IMFActivate * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetString )(
__RPC__in IMFActivate * This,
__RPC__in REFGUID guidKey,
/* [size_is][out] */ __RPC__out_ecount_full(cchBufSize) LPWSTR pwszValue,
UINT32 cchBufSize,
/* [full][out][in] */ __RPC__inout_opt UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetAllocatedString )(
__RPC__in IMFActivate * This,
__RPC__in REFGUID guidKey,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(( *pcchLength + 1 ) ) LPWSTR *ppwszValue,
/* [out] */ __RPC__out UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetBlobSize )(
__RPC__in IMFActivate * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out UINT32 *pcbBlobSize);
HRESULT ( STDMETHODCALLTYPE *GetBlob )(
__RPC__in IMFActivate * This,
__RPC__in REFGUID guidKey,
/* [size_is][out] */ __RPC__out_ecount_full(cbBufSize) UINT8 *pBuf,
UINT32 cbBufSize,
/* [full][out][in] */ __RPC__inout_opt UINT32 *pcbBlobSize);
HRESULT ( STDMETHODCALLTYPE *GetAllocatedBlob )(
__RPC__in IMFActivate * This,
__RPC__in REFGUID guidKey,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbSize) UINT8 **ppBuf,
/* [out] */ __RPC__out UINT32 *pcbSize);
HRESULT ( STDMETHODCALLTYPE *GetUnknown )(
__RPC__in IMFActivate * This,
__RPC__in REFGUID guidKey,
__RPC__in REFIID riid,
/* [iid_is][out] */ __RPC__deref_out_opt LPVOID *ppv);
HRESULT ( STDMETHODCALLTYPE *SetItem )(
__RPC__in IMFActivate * This,
__RPC__in REFGUID guidKey,
__RPC__in REFPROPVARIANT Value);
HRESULT ( STDMETHODCALLTYPE *DeleteItem )(
__RPC__in IMFActivate * This,
__RPC__in REFGUID guidKey);
HRESULT ( STDMETHODCALLTYPE *DeleteAllItems )(
__RPC__in IMFActivate * This);
HRESULT ( STDMETHODCALLTYPE *SetUINT32 )(
__RPC__in IMFActivate * This,
__RPC__in REFGUID guidKey,
UINT32 unValue);
HRESULT ( STDMETHODCALLTYPE *SetUINT64 )(
__RPC__in IMFActivate * This,
__RPC__in REFGUID guidKey,
UINT64 unValue);
HRESULT ( STDMETHODCALLTYPE *SetDouble )(
__RPC__in IMFActivate * This,
__RPC__in REFGUID guidKey,
double fValue);
HRESULT ( STDMETHODCALLTYPE *SetGUID )(
__RPC__in IMFActivate * This,
__RPC__in REFGUID guidKey,
__RPC__in REFGUID guidValue);
HRESULT ( STDMETHODCALLTYPE *SetString )(
__RPC__in IMFActivate * This,
__RPC__in REFGUID guidKey,
/* [string][in] */ __RPC__in_string LPCWSTR wszValue);
HRESULT ( STDMETHODCALLTYPE *SetBlob )(
__RPC__in IMFActivate * This,
__RPC__in REFGUID guidKey,
/* [size_is][in] */ __RPC__in_ecount_full(cbBufSize) const UINT8 *pBuf,
UINT32 cbBufSize);
HRESULT ( STDMETHODCALLTYPE *SetUnknown )(
__RPC__in IMFActivate * This,
__RPC__in REFGUID guidKey,
/* [in] */ __RPC__in_opt IUnknown *pUnknown);
HRESULT ( STDMETHODCALLTYPE *LockStore )(
__RPC__in IMFActivate * This);
HRESULT ( STDMETHODCALLTYPE *UnlockStore )(
__RPC__in IMFActivate * This);
HRESULT ( STDMETHODCALLTYPE *GetCount )(
__RPC__in IMFActivate * This,
/* [out] */ __RPC__out UINT32 *pcItems);
HRESULT ( STDMETHODCALLTYPE *GetItemByIndex )(
__RPC__in IMFActivate * This,
UINT32 unIndex,
/* [out] */ __RPC__out GUID *pguidKey,
/* [full][out][in] */ __RPC__inout_opt PROPVARIANT *pValue);
HRESULT ( STDMETHODCALLTYPE *CopyAllItems )(
__RPC__in IMFActivate * This,
/* [in] */ __RPC__in_opt IMFAttributes *pDest);
HRESULT ( STDMETHODCALLTYPE *ActivateObject )(
__RPC__in IMFActivate * This,
/* [in] */ __RPC__in REFIID riid,
/* [retval][iid_is][out] */ __RPC__deref_out_opt void **ppv);
HRESULT ( STDMETHODCALLTYPE *ShutdownObject )(
__RPC__in IMFActivate * This);
HRESULT ( STDMETHODCALLTYPE *DetachObject )(
__RPC__in IMFActivate * This);
END_INTERFACE
} IMFActivateVtbl;
interface IMFActivate
{
CONST_VTBL struct IMFActivateVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFActivate_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFActivate_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFActivate_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFActivate_GetItem(This,guidKey,pValue) \
( (This)->lpVtbl -> GetItem(This,guidKey,pValue) )
#define IMFActivate_GetItemType(This,guidKey,pType) \
( (This)->lpVtbl -> GetItemType(This,guidKey,pType) )
#define IMFActivate_CompareItem(This,guidKey,Value,pbResult) \
( (This)->lpVtbl -> CompareItem(This,guidKey,Value,pbResult) )
#define IMFActivate_Compare(This,pTheirs,MatchType,pbResult) \
( (This)->lpVtbl -> Compare(This,pTheirs,MatchType,pbResult) )
#define IMFActivate_GetUINT32(This,guidKey,punValue) \
( (This)->lpVtbl -> GetUINT32(This,guidKey,punValue) )
#define IMFActivate_GetUINT64(This,guidKey,punValue) \
( (This)->lpVtbl -> GetUINT64(This,guidKey,punValue) )
#define IMFActivate_GetDouble(This,guidKey,pfValue) \
( (This)->lpVtbl -> GetDouble(This,guidKey,pfValue) )
#define IMFActivate_GetGUID(This,guidKey,pguidValue) \
( (This)->lpVtbl -> GetGUID(This,guidKey,pguidValue) )
#define IMFActivate_GetStringLength(This,guidKey,pcchLength) \
( (This)->lpVtbl -> GetStringLength(This,guidKey,pcchLength) )
#define IMFActivate_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) \
( (This)->lpVtbl -> GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) )
#define IMFActivate_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) \
( (This)->lpVtbl -> GetAllocatedString(This,guidKey,ppwszValue,pcchLength) )
#define IMFActivate_GetBlobSize(This,guidKey,pcbBlobSize) \
( (This)->lpVtbl -> GetBlobSize(This,guidKey,pcbBlobSize) )
#define IMFActivate_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) \
( (This)->lpVtbl -> GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) )
#define IMFActivate_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) \
( (This)->lpVtbl -> GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) )
#define IMFActivate_GetUnknown(This,guidKey,riid,ppv) \
( (This)->lpVtbl -> GetUnknown(This,guidKey,riid,ppv) )
#define IMFActivate_SetItem(This,guidKey,Value) \
( (This)->lpVtbl -> SetItem(This,guidKey,Value) )
#define IMFActivate_DeleteItem(This,guidKey) \
( (This)->lpVtbl -> DeleteItem(This,guidKey) )
#define IMFActivate_DeleteAllItems(This) \
( (This)->lpVtbl -> DeleteAllItems(This) )
#define IMFActivate_SetUINT32(This,guidKey,unValue) \
( (This)->lpVtbl -> SetUINT32(This,guidKey,unValue) )
#define IMFActivate_SetUINT64(This,guidKey,unValue) \
( (This)->lpVtbl -> SetUINT64(This,guidKey,unValue) )
#define IMFActivate_SetDouble(This,guidKey,fValue) \
( (This)->lpVtbl -> SetDouble(This,guidKey,fValue) )
#define IMFActivate_SetGUID(This,guidKey,guidValue) \
( (This)->lpVtbl -> SetGUID(This,guidKey,guidValue) )
#define IMFActivate_SetString(This,guidKey,wszValue) \
( (This)->lpVtbl -> SetString(This,guidKey,wszValue) )
#define IMFActivate_SetBlob(This,guidKey,pBuf,cbBufSize) \
( (This)->lpVtbl -> SetBlob(This,guidKey,pBuf,cbBufSize) )
#define IMFActivate_SetUnknown(This,guidKey,pUnknown) \
( (This)->lpVtbl -> SetUnknown(This,guidKey,pUnknown) )
#define IMFActivate_LockStore(This) \
( (This)->lpVtbl -> LockStore(This) )
#define IMFActivate_UnlockStore(This) \
( (This)->lpVtbl -> UnlockStore(This) )
#define IMFActivate_GetCount(This,pcItems) \
( (This)->lpVtbl -> GetCount(This,pcItems) )
#define IMFActivate_GetItemByIndex(This,unIndex,pguidKey,pValue) \
( (This)->lpVtbl -> GetItemByIndex(This,unIndex,pguidKey,pValue) )
#define IMFActivate_CopyAllItems(This,pDest) \
( (This)->lpVtbl -> CopyAllItems(This,pDest) )
#define IMFActivate_ActivateObject(This,riid,ppv) \
( (This)->lpVtbl -> ActivateObject(This,riid,ppv) )
#define IMFActivate_ShutdownObject(This) \
( (This)->lpVtbl -> ShutdownObject(This) )
#define IMFActivate_DetachObject(This) \
( (This)->lpVtbl -> DetachObject(This) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFActivate_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfobjects_0000_0016 */
/* [local] */
#if (WINVER >= _WIN32_WINNT_WIN7)
typedef
enum _MF_Plugin_Type
{ MF_Plugin_Type_MFT = 0,
MF_Plugin_Type_MediaSource = 1
} MF_Plugin_Type;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0016_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0016_v0_0_s_ifspec;
#ifndef __IMFPluginControl_INTERFACE_DEFINED__
#define __IMFPluginControl_INTERFACE_DEFINED__
/* interface IMFPluginControl */
/* [unique][helpstring][uuid][local][object] */
EXTERN_C const IID IID_IMFPluginControl;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("5c6c44bf-1db6-435b-9249-e8cd10fdec96")
IMFPluginControl : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetPreferredClsid(
DWORD pluginType,
/* [annotation] */
__in LPCWSTR selector,
/* [annotation] */
__out CLSID *clsid) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPreferredClsidByIndex(
DWORD pluginType,
DWORD index,
/* [annotation] */
__out LPWSTR *selector,
/* [annotation] */
__out CLSID *clsid) = 0;
virtual HRESULT STDMETHODCALLTYPE SetPreferredClsid(
DWORD pluginType,
/* [annotation] */
__in LPCWSTR selector,
/* [annotation] */
__in_opt const CLSID *clsid) = 0;
virtual HRESULT STDMETHODCALLTYPE IsDisabled(
DWORD pluginType,
REFCLSID clsid) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDisabledByIndex(
DWORD pluginType,
DWORD index,
/* [annotation] */
__out CLSID *clsid) = 0;
virtual HRESULT STDMETHODCALLTYPE SetDisabled(
DWORD pluginType,
REFCLSID clsid,
BOOL disabled) = 0;
};
#else /* C style interface */
typedef struct IMFPluginControlVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFPluginControl * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFPluginControl * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFPluginControl * This);
HRESULT ( STDMETHODCALLTYPE *GetPreferredClsid )(
IMFPluginControl * This,
DWORD pluginType,
/* [annotation] */
__in LPCWSTR selector,
/* [annotation] */
__out CLSID *clsid);
HRESULT ( STDMETHODCALLTYPE *GetPreferredClsidByIndex )(
IMFPluginControl * This,
DWORD pluginType,
DWORD index,
/* [annotation] */
__out LPWSTR *selector,
/* [annotation] */
__out CLSID *clsid);
HRESULT ( STDMETHODCALLTYPE *SetPreferredClsid )(
IMFPluginControl * This,
DWORD pluginType,
/* [annotation] */
__in LPCWSTR selector,
/* [annotation] */
__in_opt const CLSID *clsid);
HRESULT ( STDMETHODCALLTYPE *IsDisabled )(
IMFPluginControl * This,
DWORD pluginType,
REFCLSID clsid);
HRESULT ( STDMETHODCALLTYPE *GetDisabledByIndex )(
IMFPluginControl * This,
DWORD pluginType,
DWORD index,
/* [annotation] */
__out CLSID *clsid);
HRESULT ( STDMETHODCALLTYPE *SetDisabled )(
IMFPluginControl * This,
DWORD pluginType,
REFCLSID clsid,
BOOL disabled);
END_INTERFACE
} IMFPluginControlVtbl;
interface IMFPluginControl
{
CONST_VTBL struct IMFPluginControlVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFPluginControl_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFPluginControl_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFPluginControl_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFPluginControl_GetPreferredClsid(This,pluginType,selector,clsid) \
( (This)->lpVtbl -> GetPreferredClsid(This,pluginType,selector,clsid) )
#define IMFPluginControl_GetPreferredClsidByIndex(This,pluginType,index,selector,clsid) \
( (This)->lpVtbl -> GetPreferredClsidByIndex(This,pluginType,index,selector,clsid) )
#define IMFPluginControl_SetPreferredClsid(This,pluginType,selector,clsid) \
( (This)->lpVtbl -> SetPreferredClsid(This,pluginType,selector,clsid) )
#define IMFPluginControl_IsDisabled(This,pluginType,clsid) \
( (This)->lpVtbl -> IsDisabled(This,pluginType,clsid) )
#define IMFPluginControl_GetDisabledByIndex(This,pluginType,index,clsid) \
( (This)->lpVtbl -> GetDisabledByIndex(This,pluginType,index,clsid) )
#define IMFPluginControl_SetDisabled(This,pluginType,clsid,disabled) \
( (This)->lpVtbl -> SetDisabled(This,pluginType,clsid,disabled) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFPluginControl_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfobjects_0000_0017 */
/* [local] */
#endif // (WINVER >= _WIN32_WINNT_WIN7)
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0017_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0017_v0_0_s_ifspec;
/* Additional Prototypes for ALL interfaces */
unsigned long __RPC_USER BSTR_UserSize( __RPC__in unsigned long *, unsigned long , __RPC__in BSTR * );
unsigned char * __RPC_USER BSTR_UserMarshal( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in BSTR * );
unsigned char * __RPC_USER BSTR_UserUnmarshal(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out BSTR * );
void __RPC_USER BSTR_UserFree( __RPC__in unsigned long *, __RPC__in BSTR * );
unsigned long __RPC_USER LPSAFEARRAY_UserSize( __RPC__in unsigned long *, unsigned long , __RPC__in LPSAFEARRAY * );
unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in LPSAFEARRAY * );
unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out LPSAFEARRAY * );
void __RPC_USER LPSAFEARRAY_UserFree( __RPC__in unsigned long *, __RPC__in LPSAFEARRAY * );
unsigned long __RPC_USER BSTR_UserSize64( __RPC__in unsigned long *, unsigned long , __RPC__in BSTR * );
unsigned char * __RPC_USER BSTR_UserMarshal64( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in BSTR * );
unsigned char * __RPC_USER BSTR_UserUnmarshal64(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out BSTR * );
void __RPC_USER BSTR_UserFree64( __RPC__in unsigned long *, __RPC__in BSTR * );
unsigned long __RPC_USER LPSAFEARRAY_UserSize64( __RPC__in unsigned long *, unsigned long , __RPC__in LPSAFEARRAY * );
unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal64( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in LPSAFEARRAY * );
unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal64(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out LPSAFEARRAY * );
void __RPC_USER LPSAFEARRAY_UserFree64( __RPC__in unsigned long *, __RPC__in LPSAFEARRAY * );
/* [local] */ HRESULT STDMETHODCALLTYPE IMFMediaEventGenerator_BeginGetEvent_Proxy(
IMFMediaEventGenerator * This,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFMediaEventGenerator_BeginGetEvent_Stub(
__RPC__in IMFMediaEventGenerator * This,
/* [in] */ __RPC__in_opt IMFRemoteAsyncCallback *pCallback);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFMediaEventGenerator_EndGetEvent_Proxy(
IMFMediaEventGenerator * This,
/* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */
__out IMFMediaEvent **ppEvent);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFMediaEventGenerator_EndGetEvent_Stub(
__RPC__in IMFMediaEventGenerator * This,
/* [in] */ __RPC__in_opt IUnknown *pResult,
/* [out] */ __RPC__out DWORD *pcbEvent,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbEvent) BYTE **ppbEvent);
/* end of Additional Prototypes */
#ifdef __cplusplus
}
#endif
#endif