blob: b491d0f26feb9deeb8de9406842ede7cf3ecae5f [file] [log] [blame]
/*** Autogenerated by WIDL 6.3 from include/mfobjects.idl - Do not edit ***/
#ifdef _WIN32
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#include <rpc.h>
#include <rpcndr.h>
#endif
#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif
#ifndef __mfobjects_h__
#define __mfobjects_h__
/* Forward declarations */
#ifndef __IMFAttributes_FWD_DEFINED__
#define __IMFAttributes_FWD_DEFINED__
typedef interface IMFAttributes IMFAttributes;
#ifdef __cplusplus
interface IMFAttributes;
#endif /* __cplusplus */
#endif
#ifndef __IMFMediaBuffer_FWD_DEFINED__
#define __IMFMediaBuffer_FWD_DEFINED__
typedef interface IMFMediaBuffer IMFMediaBuffer;
#ifdef __cplusplus
interface IMFMediaBuffer;
#endif /* __cplusplus */
#endif
#ifndef __IMFSample_FWD_DEFINED__
#define __IMFSample_FWD_DEFINED__
typedef interface IMFSample IMFSample;
#ifdef __cplusplus
interface IMFSample;
#endif /* __cplusplus */
#endif
#ifndef __IMF2DBuffer_FWD_DEFINED__
#define __IMF2DBuffer_FWD_DEFINED__
typedef interface IMF2DBuffer IMF2DBuffer;
#ifdef __cplusplus
interface IMF2DBuffer;
#endif /* __cplusplus */
#endif
#ifndef __IMF2DBuffer2_FWD_DEFINED__
#define __IMF2DBuffer2_FWD_DEFINED__
typedef interface IMF2DBuffer2 IMF2DBuffer2;
#ifdef __cplusplus
interface IMF2DBuffer2;
#endif /* __cplusplus */
#endif
#ifndef __IMFDXGIBuffer_FWD_DEFINED__
#define __IMFDXGIBuffer_FWD_DEFINED__
typedef interface IMFDXGIBuffer IMFDXGIBuffer;
#ifdef __cplusplus
interface IMFDXGIBuffer;
#endif /* __cplusplus */
#endif
#ifndef __IMFMediaType_FWD_DEFINED__
#define __IMFMediaType_FWD_DEFINED__
typedef interface IMFMediaType IMFMediaType;
#ifdef __cplusplus
interface IMFMediaType;
#endif /* __cplusplus */
#endif
#ifndef __IMFAudioMediaType_FWD_DEFINED__
#define __IMFAudioMediaType_FWD_DEFINED__
typedef interface IMFAudioMediaType IMFAudioMediaType;
#ifdef __cplusplus
interface IMFAudioMediaType;
#endif /* __cplusplus */
#endif
#ifndef __IMFVideoMediaType_FWD_DEFINED__
#define __IMFVideoMediaType_FWD_DEFINED__
typedef interface IMFVideoMediaType IMFVideoMediaType;
#ifdef __cplusplus
interface IMFVideoMediaType;
#endif /* __cplusplus */
#endif
#ifndef __IMFAsyncResult_FWD_DEFINED__
#define __IMFAsyncResult_FWD_DEFINED__
typedef interface IMFAsyncResult IMFAsyncResult;
#ifdef __cplusplus
interface IMFAsyncResult;
#endif /* __cplusplus */
#endif
#ifndef __IMFAsyncCallback_FWD_DEFINED__
#define __IMFAsyncCallback_FWD_DEFINED__
typedef interface IMFAsyncCallback IMFAsyncCallback;
#ifdef __cplusplus
interface IMFAsyncCallback;
#endif /* __cplusplus */
#endif
#ifndef __IMFAsyncCallbackLogging_FWD_DEFINED__
#define __IMFAsyncCallbackLogging_FWD_DEFINED__
typedef interface IMFAsyncCallbackLogging IMFAsyncCallbackLogging;
#ifdef __cplusplus
interface IMFAsyncCallbackLogging;
#endif /* __cplusplus */
#endif
#ifndef __IMFMediaEvent_FWD_DEFINED__
#define __IMFMediaEvent_FWD_DEFINED__
typedef interface IMFMediaEvent IMFMediaEvent;
#ifdef __cplusplus
interface IMFMediaEvent;
#endif /* __cplusplus */
#endif
#ifndef __IMFMediaEventGenerator_FWD_DEFINED__
#define __IMFMediaEventGenerator_FWD_DEFINED__
typedef interface IMFMediaEventGenerator IMFMediaEventGenerator;
#ifdef __cplusplus
interface IMFMediaEventGenerator;
#endif /* __cplusplus */
#endif
#ifndef __IMFRemoteAsyncCallback_FWD_DEFINED__
#define __IMFRemoteAsyncCallback_FWD_DEFINED__
typedef interface IMFRemoteAsyncCallback IMFRemoteAsyncCallback;
#ifdef __cplusplus
interface IMFRemoteAsyncCallback;
#endif /* __cplusplus */
#endif
#ifndef __IMFByteStream_FWD_DEFINED__
#define __IMFByteStream_FWD_DEFINED__
typedef interface IMFByteStream IMFByteStream;
#ifdef __cplusplus
interface IMFByteStream;
#endif /* __cplusplus */
#endif
#ifndef __IMFByteStreamProxyClassFactory_FWD_DEFINED__
#define __IMFByteStreamProxyClassFactory_FWD_DEFINED__
typedef interface IMFByteStreamProxyClassFactory IMFByteStreamProxyClassFactory;
#ifdef __cplusplus
interface IMFByteStreamProxyClassFactory;
#endif /* __cplusplus */
#endif
#ifndef __IMFSampleOutputStream_FWD_DEFINED__
#define __IMFSampleOutputStream_FWD_DEFINED__
typedef interface IMFSampleOutputStream IMFSampleOutputStream;
#ifdef __cplusplus
interface IMFSampleOutputStream;
#endif /* __cplusplus */
#endif
#ifndef __IMFCollection_FWD_DEFINED__
#define __IMFCollection_FWD_DEFINED__
typedef interface IMFCollection IMFCollection;
#ifdef __cplusplus
interface IMFCollection;
#endif /* __cplusplus */
#endif
#ifndef __IMFMediaEventQueue_FWD_DEFINED__
#define __IMFMediaEventQueue_FWD_DEFINED__
typedef interface IMFMediaEventQueue IMFMediaEventQueue;
#ifdef __cplusplus
interface IMFMediaEventQueue;
#endif /* __cplusplus */
#endif
#ifndef __IMFActivate_FWD_DEFINED__
#define __IMFActivate_FWD_DEFINED__
typedef interface IMFActivate IMFActivate;
#ifdef __cplusplus
interface IMFActivate;
#endif /* __cplusplus */
#endif
#ifndef __IMFPluginControl_FWD_DEFINED__
#define __IMFPluginControl_FWD_DEFINED__
typedef interface IMFPluginControl IMFPluginControl;
#ifdef __cplusplus
interface IMFPluginControl;
#endif /* __cplusplus */
#endif
#ifndef __IMFPluginControl2_FWD_DEFINED__
#define __IMFPluginControl2_FWD_DEFINED__
typedef interface IMFPluginControl2 IMFPluginControl2;
#ifdef __cplusplus
interface IMFPluginControl2;
#endif /* __cplusplus */
#endif
#ifndef __IMFDXGIDeviceManager_FWD_DEFINED__
#define __IMFDXGIDeviceManager_FWD_DEFINED__
typedef interface IMFDXGIDeviceManager IMFDXGIDeviceManager;
#ifdef __cplusplus
interface IMFDXGIDeviceManager;
#endif /* __cplusplus */
#endif
#ifndef __IMFMuxStreamAttributesManager_FWD_DEFINED__
#define __IMFMuxStreamAttributesManager_FWD_DEFINED__
typedef interface IMFMuxStreamAttributesManager IMFMuxStreamAttributesManager;
#ifdef __cplusplus
interface IMFMuxStreamAttributesManager;
#endif /* __cplusplus */
#endif
#ifndef __IMFMuxStreamMediaTypeManager_FWD_DEFINED__
#define __IMFMuxStreamMediaTypeManager_FWD_DEFINED__
typedef interface IMFMuxStreamMediaTypeManager IMFMuxStreamMediaTypeManager;
#ifdef __cplusplus
interface IMFMuxStreamMediaTypeManager;
#endif /* __cplusplus */
#endif
#ifndef __IMFMuxStreamSampleManager_FWD_DEFINED__
#define __IMFMuxStreamSampleManager_FWD_DEFINED__
typedef interface IMFMuxStreamSampleManager IMFMuxStreamSampleManager;
#ifdef __cplusplus
interface IMFMuxStreamSampleManager;
#endif /* __cplusplus */
#endif
/* Headers for imported files */
#include <unknwn.h>
#include <propsys.h>
#include <mediaobj.h>
#ifdef __cplusplus
extern "C" {
#endif
/**
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER within this package.
*/
#include <winapifamily.h>
typedef ULONGLONG QWORD;
#include <mmreg.h>
#if 0
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 struct __WIDL_mfobjects_generated_name_00000027 {
WORD wFormatTag;
WORD nChannels;
DWORD nSamplesPerSec;
DWORD nAvgBytesPerSec;
WORD nBlockAlign;
WORD wBitsPerSample;
WORD cbSize;
WORD wValidBitsPerSample;
DWORD dwChannelMask;
GUID SubFormat;
} WAVEFORMATEXTENSIBLE;
typedef struct __WIDL_mfobjects_generated_name_00000027 *PWAVEFORMATEXTENSIBLE;
#endif
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
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;
/*****************************************************************************
* IMFAttributes interface
*/
#ifndef __IMFAttributes_INTERFACE_DEFINED__
#define __IMFAttributes_INTERFACE_DEFINED__
DEFINE_GUID(IID_IMFAttributes, 0x2cd2d921, 0xc447, 0x44a7, 0xa1,0x3c, 0x4a,0xda,0xbf,0xc2,0x47,0xe3);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("2cd2d921-c447-44a7-a13c-4adabfc247e3")
IMFAttributes : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetItem(
REFGUID guidKey,
PROPVARIANT *pValue) = 0;
virtual HRESULT STDMETHODCALLTYPE GetItemType(
REFGUID guidKey,
MF_ATTRIBUTE_TYPE *pType) = 0;
virtual HRESULT STDMETHODCALLTYPE CompareItem(
REFGUID guidKey,
REFPROPVARIANT Value,
WINBOOL *pbResult) = 0;
virtual HRESULT STDMETHODCALLTYPE Compare(
IMFAttributes *pTheirs,
MF_ATTRIBUTES_MATCH_TYPE MatchType,
WINBOOL *pbResult) = 0;
virtual HRESULT STDMETHODCALLTYPE GetUINT32(
REFGUID guidKey,
UINT32 *punValue) = 0;
virtual HRESULT STDMETHODCALLTYPE GetUINT64(
REFGUID guidKey,
UINT64 *punValue) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDouble(
REFGUID guidKey,
double *pfValue) = 0;
virtual HRESULT STDMETHODCALLTYPE GetGUID(
REFGUID guidKey,
GUID *pguidValue) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStringLength(
REFGUID guidKey,
UINT32 *pcchLength) = 0;
virtual HRESULT STDMETHODCALLTYPE GetString(
REFGUID guidKey,
LPWSTR pwszValue,
UINT32 cchBufSize,
UINT32 *pcchLength) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAllocatedString(
REFGUID guidKey,
LPWSTR *ppwszValue,
UINT32 *pcchLength) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBlobSize(
REFGUID guidKey,
UINT32 *pcbBlobSize) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBlob(
REFGUID guidKey,
UINT8 *pBuf,
UINT32 cbBufSize,
UINT32 *pcbBlobSize) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAllocatedBlob(
REFGUID guidKey,
UINT8 **ppBuf,
UINT32 *pcbSize) = 0;
virtual HRESULT STDMETHODCALLTYPE GetUnknown(
REFGUID guidKey,
REFIID riid,
LPVOID *ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE SetItem(
REFGUID guidKey,
REFPROPVARIANT Value) = 0;
virtual HRESULT STDMETHODCALLTYPE DeleteItem(
REFGUID guidKey) = 0;
virtual HRESULT STDMETHODCALLTYPE DeleteAllItems(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetUINT32(
REFGUID guidKey,
UINT32 unValue) = 0;
virtual HRESULT STDMETHODCALLTYPE SetUINT64(
REFGUID guidKey,
UINT64 unValue) = 0;
virtual HRESULT STDMETHODCALLTYPE SetDouble(
REFGUID guidKey,
double fValue) = 0;
virtual HRESULT STDMETHODCALLTYPE SetGUID(
REFGUID guidKey,
REFGUID guidValue) = 0;
virtual HRESULT STDMETHODCALLTYPE SetString(
REFGUID guidKey,
LPCWSTR wszValue) = 0;
virtual HRESULT STDMETHODCALLTYPE SetBlob(
REFGUID guidKey,
const UINT8 *pBuf,
UINT32 cbBufSize) = 0;
virtual HRESULT STDMETHODCALLTYPE SetUnknown(
REFGUID guidKey,
IUnknown *pUnknown) = 0;
virtual HRESULT STDMETHODCALLTYPE LockStore(
) = 0;
virtual HRESULT STDMETHODCALLTYPE UnlockStore(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCount(
UINT32 *pcItems) = 0;
virtual HRESULT STDMETHODCALLTYPE GetItemByIndex(
UINT32 unIndex,
GUID *pguidKey,
PROPVARIANT *pValue) = 0;
virtual HRESULT STDMETHODCALLTYPE CopyAllItems(
IMFAttributes *pDest) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IMFAttributes, 0x2cd2d921, 0xc447, 0x44a7, 0xa1,0x3c, 0x4a,0xda,0xbf,0xc2,0x47,0xe3)
#endif
#else
typedef struct IMFAttributesVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IMFAttributes *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IMFAttributes *This);
ULONG (STDMETHODCALLTYPE *Release)(
IMFAttributes *This);
/*** IMFAttributes methods ***/
HRESULT (STDMETHODCALLTYPE *GetItem)(
IMFAttributes *This,
REFGUID guidKey,
PROPVARIANT *pValue);
HRESULT (STDMETHODCALLTYPE *GetItemType)(
IMFAttributes *This,
REFGUID guidKey,
MF_ATTRIBUTE_TYPE *pType);
HRESULT (STDMETHODCALLTYPE *CompareItem)(
IMFAttributes *This,
REFGUID guidKey,
REFPROPVARIANT Value,
WINBOOL *pbResult);
HRESULT (STDMETHODCALLTYPE *Compare)(
IMFAttributes *This,
IMFAttributes *pTheirs,
MF_ATTRIBUTES_MATCH_TYPE MatchType,
WINBOOL *pbResult);
HRESULT (STDMETHODCALLTYPE *GetUINT32)(
IMFAttributes *This,
REFGUID guidKey,
UINT32 *punValue);
HRESULT (STDMETHODCALLTYPE *GetUINT64)(
IMFAttributes *This,
REFGUID guidKey,
UINT64 *punValue);
HRESULT (STDMETHODCALLTYPE *GetDouble)(
IMFAttributes *This,
REFGUID guidKey,
double *pfValue);
HRESULT (STDMETHODCALLTYPE *GetGUID)(
IMFAttributes *This,
REFGUID guidKey,
GUID *pguidValue);
HRESULT (STDMETHODCALLTYPE *GetStringLength)(
IMFAttributes *This,
REFGUID guidKey,
UINT32 *pcchLength);
HRESULT (STDMETHODCALLTYPE *GetString)(
IMFAttributes *This,
REFGUID guidKey,
LPWSTR pwszValue,
UINT32 cchBufSize,
UINT32 *pcchLength);
HRESULT (STDMETHODCALLTYPE *GetAllocatedString)(
IMFAttributes *This,
REFGUID guidKey,
LPWSTR *ppwszValue,
UINT32 *pcchLength);
HRESULT (STDMETHODCALLTYPE *GetBlobSize)(
IMFAttributes *This,
REFGUID guidKey,
UINT32 *pcbBlobSize);
HRESULT (STDMETHODCALLTYPE *GetBlob)(
IMFAttributes *This,
REFGUID guidKey,
UINT8 *pBuf,
UINT32 cbBufSize,
UINT32 *pcbBlobSize);
HRESULT (STDMETHODCALLTYPE *GetAllocatedBlob)(
IMFAttributes *This,
REFGUID guidKey,
UINT8 **ppBuf,
UINT32 *pcbSize);
HRESULT (STDMETHODCALLTYPE *GetUnknown)(
IMFAttributes *This,
REFGUID guidKey,
REFIID riid,
LPVOID *ppv);
HRESULT (STDMETHODCALLTYPE *SetItem)(
IMFAttributes *This,
REFGUID guidKey,
REFPROPVARIANT Value);
HRESULT (STDMETHODCALLTYPE *DeleteItem)(
IMFAttributes *This,
REFGUID guidKey);
HRESULT (STDMETHODCALLTYPE *DeleteAllItems)(
IMFAttributes *This);
HRESULT (STDMETHODCALLTYPE *SetUINT32)(
IMFAttributes *This,
REFGUID guidKey,
UINT32 unValue);
HRESULT (STDMETHODCALLTYPE *SetUINT64)(
IMFAttributes *This,
REFGUID guidKey,
UINT64 unValue);
HRESULT (STDMETHODCALLTYPE *SetDouble)(
IMFAttributes *This,
REFGUID guidKey,
double fValue);
HRESULT (STDMETHODCALLTYPE *SetGUID)(
IMFAttributes *This,
REFGUID guidKey,
REFGUID guidValue);
HRESULT (STDMETHODCALLTYPE *SetString)(
IMFAttributes *This,
REFGUID guidKey,
LPCWSTR wszValue);
HRESULT (STDMETHODCALLTYPE *SetBlob)(
IMFAttributes *This,
REFGUID guidKey,
const UINT8 *pBuf,
UINT32 cbBufSize);
HRESULT (STDMETHODCALLTYPE *SetUnknown)(
IMFAttributes *This,
REFGUID guidKey,
IUnknown *pUnknown);
HRESULT (STDMETHODCALLTYPE *LockStore)(
IMFAttributes *This);
HRESULT (STDMETHODCALLTYPE *UnlockStore)(
IMFAttributes *This);
HRESULT (STDMETHODCALLTYPE *GetCount)(
IMFAttributes *This,
UINT32 *pcItems);
HRESULT (STDMETHODCALLTYPE *GetItemByIndex)(
IMFAttributes *This,
UINT32 unIndex,
GUID *pguidKey,
PROPVARIANT *pValue);
HRESULT (STDMETHODCALLTYPE *CopyAllItems)(
IMFAttributes *This,
IMFAttributes *pDest);
END_INTERFACE
} IMFAttributesVtbl;
interface IMFAttributes {
CONST_VTBL IMFAttributesVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#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)
/*** IMFAttributes methods ***/
#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)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IMFAttributes_QueryInterface(IMFAttributes* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IMFAttributes_AddRef(IMFAttributes* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IMFAttributes_Release(IMFAttributes* This) {
return This->lpVtbl->Release(This);
}
/*** IMFAttributes methods ***/
static FORCEINLINE HRESULT IMFAttributes_GetItem(IMFAttributes* This,REFGUID guidKey,PROPVARIANT *pValue) {
return This->lpVtbl->GetItem(This,guidKey,pValue);
}
static FORCEINLINE HRESULT IMFAttributes_GetItemType(IMFAttributes* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) {
return This->lpVtbl->GetItemType(This,guidKey,pType);
}
static FORCEINLINE HRESULT IMFAttributes_CompareItem(IMFAttributes* This,REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) {
return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult);
}
static FORCEINLINE HRESULT IMFAttributes_Compare(IMFAttributes* This,IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,WINBOOL *pbResult) {
return This->lpVtbl->Compare(This,pTheirs,MatchType,pbResult);
}
static FORCEINLINE HRESULT IMFAttributes_GetUINT32(IMFAttributes* This,REFGUID guidKey,UINT32 *punValue) {
return This->lpVtbl->GetUINT32(This,guidKey,punValue);
}
static FORCEINLINE HRESULT IMFAttributes_GetUINT64(IMFAttributes* This,REFGUID guidKey,UINT64 *punValue) {
return This->lpVtbl->GetUINT64(This,guidKey,punValue);
}
static FORCEINLINE HRESULT IMFAttributes_GetDouble(IMFAttributes* This,REFGUID guidKey,double *pfValue) {
return This->lpVtbl->GetDouble(This,guidKey,pfValue);
}
static FORCEINLINE HRESULT IMFAttributes_GetGUID(IMFAttributes* This,REFGUID guidKey,GUID *pguidValue) {
return This->lpVtbl->GetGUID(This,guidKey,pguidValue);
}
static FORCEINLINE HRESULT IMFAttributes_GetStringLength(IMFAttributes* This,REFGUID guidKey,UINT32 *pcchLength) {
return This->lpVtbl->GetStringLength(This,guidKey,pcchLength);
}
static FORCEINLINE HRESULT IMFAttributes_GetString(IMFAttributes* This,REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) {
return This->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength);
}
static FORCEINLINE HRESULT IMFAttributes_GetAllocatedString(IMFAttributes* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) {
return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength);
}
static FORCEINLINE HRESULT IMFAttributes_GetBlobSize(IMFAttributes* This,REFGUID guidKey,UINT32 *pcbBlobSize) {
return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize);
}
static FORCEINLINE HRESULT IMFAttributes_GetBlob(IMFAttributes* This,REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) {
return This->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize);
}
static FORCEINLINE HRESULT IMFAttributes_GetAllocatedBlob(IMFAttributes* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) {
return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize);
}
static FORCEINLINE HRESULT IMFAttributes_GetUnknown(IMFAttributes* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) {
return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv);
}
static FORCEINLINE HRESULT IMFAttributes_SetItem(IMFAttributes* This,REFGUID guidKey,REFPROPVARIANT Value) {
return This->lpVtbl->SetItem(This,guidKey,Value);
}
static FORCEINLINE HRESULT IMFAttributes_DeleteItem(IMFAttributes* This,REFGUID guidKey) {
return This->lpVtbl->DeleteItem(This,guidKey);
}
static FORCEINLINE HRESULT IMFAttributes_DeleteAllItems(IMFAttributes* This) {
return This->lpVtbl->DeleteAllItems(This);
}
static FORCEINLINE HRESULT IMFAttributes_SetUINT32(IMFAttributes* This,REFGUID guidKey,UINT32 unValue) {
return This->lpVtbl->SetUINT32(This,guidKey,unValue);
}
static FORCEINLINE HRESULT IMFAttributes_SetUINT64(IMFAttributes* This,REFGUID guidKey,UINT64 unValue) {
return This->lpVtbl->SetUINT64(This,guidKey,unValue);
}
static FORCEINLINE HRESULT IMFAttributes_SetDouble(IMFAttributes* This,REFGUID guidKey,double fValue) {
return This->lpVtbl->SetDouble(This,guidKey,fValue);
}
static FORCEINLINE HRESULT IMFAttributes_SetGUID(IMFAttributes* This,REFGUID guidKey,REFGUID guidValue) {
return This->lpVtbl->SetGUID(This,guidKey,guidValue);
}
static FORCEINLINE HRESULT IMFAttributes_SetString(IMFAttributes* This,REFGUID guidKey,LPCWSTR wszValue) {
return This->lpVtbl->SetString(This,guidKey,wszValue);
}
static FORCEINLINE HRESULT IMFAttributes_SetBlob(IMFAttributes* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) {
return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize);
}
static FORCEINLINE HRESULT IMFAttributes_SetUnknown(IMFAttributes* This,REFGUID guidKey,IUnknown *pUnknown) {
return This->lpVtbl->SetUnknown(This,guidKey,pUnknown);
}
static FORCEINLINE HRESULT IMFAttributes_LockStore(IMFAttributes* This) {
return This->lpVtbl->LockStore(This);
}
static FORCEINLINE HRESULT IMFAttributes_UnlockStore(IMFAttributes* This) {
return This->lpVtbl->UnlockStore(This);
}
static FORCEINLINE HRESULT IMFAttributes_GetCount(IMFAttributes* This,UINT32 *pcItems) {
return This->lpVtbl->GetCount(This,pcItems);
}
static FORCEINLINE HRESULT IMFAttributes_GetItemByIndex(IMFAttributes* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) {
return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue);
}
static FORCEINLINE HRESULT IMFAttributes_CopyAllItems(IMFAttributes* This,IMFAttributes *pDest) {
return This->lpVtbl->CopyAllItems(This,pDest);
}
#endif
#endif
#endif
#endif /* __IMFAttributes_INTERFACE_DEFINED__ */
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);
/*****************************************************************************
* IMFMediaBuffer interface
*/
#ifndef __IMFMediaBuffer_INTERFACE_DEFINED__
#define __IMFMediaBuffer_INTERFACE_DEFINED__
DEFINE_GUID(IID_IMFMediaBuffer, 0x045fa593, 0x8799, 0x42b8, 0xbc,0x8d, 0x89,0x68,0xc6,0x45,0x35,0x07);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("045fa593-8799-42b8-bc8d-8968c6453507")
IMFMediaBuffer : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Lock(
BYTE **ppbBuffer,
DWORD *pcbMaxLength,
DWORD *pcbCurrentLength) = 0;
virtual HRESULT STDMETHODCALLTYPE Unlock(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentLength(
DWORD *pcbCurrentLength) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCurrentLength(
DWORD cbCurrentLength) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMaxLength(
DWORD *pcbMaxLength) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IMFMediaBuffer, 0x045fa593, 0x8799, 0x42b8, 0xbc,0x8d, 0x89,0x68,0xc6,0x45,0x35,0x07)
#endif
#else
typedef struct IMFMediaBufferVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IMFMediaBuffer *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IMFMediaBuffer *This);
ULONG (STDMETHODCALLTYPE *Release)(
IMFMediaBuffer *This);
/*** IMFMediaBuffer methods ***/
HRESULT (STDMETHODCALLTYPE *Lock)(
IMFMediaBuffer *This,
BYTE **ppbBuffer,
DWORD *pcbMaxLength,
DWORD *pcbCurrentLength);
HRESULT (STDMETHODCALLTYPE *Unlock)(
IMFMediaBuffer *This);
HRESULT (STDMETHODCALLTYPE *GetCurrentLength)(
IMFMediaBuffer *This,
DWORD *pcbCurrentLength);
HRESULT (STDMETHODCALLTYPE *SetCurrentLength)(
IMFMediaBuffer *This,
DWORD cbCurrentLength);
HRESULT (STDMETHODCALLTYPE *GetMaxLength)(
IMFMediaBuffer *This,
DWORD *pcbMaxLength);
END_INTERFACE
} IMFMediaBufferVtbl;
interface IMFMediaBuffer {
CONST_VTBL IMFMediaBufferVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#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)
/*** IMFMediaBuffer methods ***/
#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)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IMFMediaBuffer_QueryInterface(IMFMediaBuffer* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IMFMediaBuffer_AddRef(IMFMediaBuffer* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IMFMediaBuffer_Release(IMFMediaBuffer* This) {
return This->lpVtbl->Release(This);
}
/*** IMFMediaBuffer methods ***/
static FORCEINLINE HRESULT IMFMediaBuffer_Lock(IMFMediaBuffer* This,BYTE **ppbBuffer,DWORD *pcbMaxLength,DWORD *pcbCurrentLength) {
return This->lpVtbl->Lock(This,ppbBuffer,pcbMaxLength,pcbCurrentLength);
}
static FORCEINLINE HRESULT IMFMediaBuffer_Unlock(IMFMediaBuffer* This) {
return This->lpVtbl->Unlock(This);
}
static FORCEINLINE HRESULT IMFMediaBuffer_GetCurrentLength(IMFMediaBuffer* This,DWORD *pcbCurrentLength) {
return This->lpVtbl->GetCurrentLength(This,pcbCurrentLength);
}
static FORCEINLINE HRESULT IMFMediaBuffer_SetCurrentLength(IMFMediaBuffer* This,DWORD cbCurrentLength) {
return This->lpVtbl->SetCurrentLength(This,cbCurrentLength);
}
static FORCEINLINE HRESULT IMFMediaBuffer_GetMaxLength(IMFMediaBuffer* This,DWORD *pcbMaxLength) {
return This->lpVtbl->GetMaxLength(This,pcbMaxLength);
}
#endif
#endif
#endif
#endif /* __IMFMediaBuffer_INTERFACE_DEFINED__ */
/*****************************************************************************
* IMFSample interface
*/
#ifndef __IMFSample_INTERFACE_DEFINED__
#define __IMFSample_INTERFACE_DEFINED__
DEFINE_GUID(IID_IMFSample, 0xc40a00f2, 0xb93a, 0x4d80, 0xae,0x8c, 0x5a,0x1c,0x63,0x4f,0x58,0xe4);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c40a00f2-b93a-4d80-ae8c-5a1c634f58e4")
IMFSample : public IMFAttributes
{
virtual HRESULT STDMETHODCALLTYPE GetSampleFlags(
DWORD *pdwSampleFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE SetSampleFlags(
DWORD dwSampleFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSampleTime(
LONGLONG *phnsSampleTime) = 0;
virtual HRESULT STDMETHODCALLTYPE SetSampleTime(
LONGLONG hnsSampleTime) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSampleDuration(
LONGLONG *phnsSampleDuration) = 0;
virtual HRESULT STDMETHODCALLTYPE SetSampleDuration(
LONGLONG hnsSampleDuration) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBufferCount(
DWORD *pdwBufferCount) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBufferByIndex(
DWORD dwIndex,
IMFMediaBuffer **ppBuffer) = 0;
virtual HRESULT STDMETHODCALLTYPE ConvertToContiguousBuffer(
IMFMediaBuffer **ppBuffer) = 0;
virtual HRESULT STDMETHODCALLTYPE AddBuffer(
IMFMediaBuffer *pBuffer) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveBufferByIndex(
DWORD dwIndex) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveAllBuffers(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTotalLength(
DWORD *pcbTotalLength) = 0;
virtual HRESULT STDMETHODCALLTYPE CopyToBuffer(
IMFMediaBuffer *pBuffer) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IMFSample, 0xc40a00f2, 0xb93a, 0x4d80, 0xae,0x8c, 0x5a,0x1c,0x63,0x4f,0x58,0xe4)
#endif
#else
typedef struct IMFSampleVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IMFSample *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IMFSample *This);
ULONG (STDMETHODCALLTYPE *Release)(
IMFSample *This);
/*** IMFAttributes methods ***/
HRESULT (STDMETHODCALLTYPE *GetItem)(
IMFSample *This,
REFGUID guidKey,
PROPVARIANT *pValue);
HRESULT (STDMETHODCALLTYPE *GetItemType)(
IMFSample *This,
REFGUID guidKey,
MF_ATTRIBUTE_TYPE *pType);
HRESULT (STDMETHODCALLTYPE *CompareItem)(
IMFSample *This,
REFGUID guidKey,
REFPROPVARIANT Value,
WINBOOL *pbResult);
HRESULT (STDMETHODCALLTYPE *Compare)(
IMFSample *This,
IMFAttributes *pTheirs,
MF_ATTRIBUTES_MATCH_TYPE MatchType,
WINBOOL *pbResult);
HRESULT (STDMETHODCALLTYPE *GetUINT32)(
IMFSample *This,
REFGUID guidKey,
UINT32 *punValue);
HRESULT (STDMETHODCALLTYPE *GetUINT64)(
IMFSample *This,
REFGUID guidKey,
UINT64 *punValue);
HRESULT (STDMETHODCALLTYPE *GetDouble)(
IMFSample *This,
REFGUID guidKey,
double *pfValue);
HRESULT (STDMETHODCALLTYPE *GetGUID)(
IMFSample *This,
REFGUID guidKey,
GUID *pguidValue);
HRESULT (STDMETHODCALLTYPE *GetStringLength)(
IMFSample *This,
REFGUID guidKey,
UINT32 *pcchLength);
HRESULT (STDMETHODCALLTYPE *GetString)(
IMFSample *This,
REFGUID guidKey,
LPWSTR pwszValue,
UINT32 cchBufSize,
UINT32 *pcchLength);
HRESULT (STDMETHODCALLTYPE *GetAllocatedString)(
IMFSample *This,
REFGUID guidKey,
LPWSTR *ppwszValue,
UINT32 *pcchLength);
HRESULT (STDMETHODCALLTYPE *GetBlobSize)(
IMFSample *This,
REFGUID guidKey,
UINT32 *pcbBlobSize);
HRESULT (STDMETHODCALLTYPE *GetBlob)(
IMFSample *This,
REFGUID guidKey,
UINT8 *pBuf,
UINT32 cbBufSize,
UINT32 *pcbBlobSize);
HRESULT (STDMETHODCALLTYPE *GetAllocatedBlob)(
IMFSample *This,
REFGUID guidKey,
UINT8 **ppBuf,
UINT32 *pcbSize);
HRESULT (STDMETHODCALLTYPE *GetUnknown)(
IMFSample *This,
REFGUID guidKey,
REFIID riid,
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,
LPCWSTR wszValue);
HRESULT (STDMETHODCALLTYPE *SetBlob)(
IMFSample *This,
REFGUID guidKey,
const UINT8 *pBuf,
UINT32 cbBufSize);
HRESULT (STDMETHODCALLTYPE *SetUnknown)(
IMFSample *This,
REFGUID guidKey,
IUnknown *pUnknown);
HRESULT (STDMETHODCALLTYPE *LockStore)(
IMFSample *This);
HRESULT (STDMETHODCALLTYPE *UnlockStore)(
IMFSample *This);
HRESULT (STDMETHODCALLTYPE *GetCount)(
IMFSample *This,
UINT32 *pcItems);
HRESULT (STDMETHODCALLTYPE *GetItemByIndex)(
IMFSample *This,
UINT32 unIndex,
GUID *pguidKey,
PROPVARIANT *pValue);
HRESULT (STDMETHODCALLTYPE *CopyAllItems)(
IMFSample *This,
IMFAttributes *pDest);
/*** IMFSample methods ***/
HRESULT (STDMETHODCALLTYPE *GetSampleFlags)(
IMFSample *This,
DWORD *pdwSampleFlags);
HRESULT (STDMETHODCALLTYPE *SetSampleFlags)(
IMFSample *This,
DWORD dwSampleFlags);
HRESULT (STDMETHODCALLTYPE *GetSampleTime)(
IMFSample *This,
LONGLONG *phnsSampleTime);
HRESULT (STDMETHODCALLTYPE *SetSampleTime)(
IMFSample *This,
LONGLONG hnsSampleTime);
HRESULT (STDMETHODCALLTYPE *GetSampleDuration)(
IMFSample *This,
LONGLONG *phnsSampleDuration);
HRESULT (STDMETHODCALLTYPE *SetSampleDuration)(
IMFSample *This,
LONGLONG hnsSampleDuration);
HRESULT (STDMETHODCALLTYPE *GetBufferCount)(
IMFSample *This,
DWORD *pdwBufferCount);
HRESULT (STDMETHODCALLTYPE *GetBufferByIndex)(
IMFSample *This,
DWORD dwIndex,
IMFMediaBuffer **ppBuffer);
HRESULT (STDMETHODCALLTYPE *ConvertToContiguousBuffer)(
IMFSample *This,
IMFMediaBuffer **ppBuffer);
HRESULT (STDMETHODCALLTYPE *AddBuffer)(
IMFSample *This,
IMFMediaBuffer *pBuffer);
HRESULT (STDMETHODCALLTYPE *RemoveBufferByIndex)(
IMFSample *This,
DWORD dwIndex);
HRESULT (STDMETHODCALLTYPE *RemoveAllBuffers)(
IMFSample *This);
HRESULT (STDMETHODCALLTYPE *GetTotalLength)(
IMFSample *This,
DWORD *pcbTotalLength);
HRESULT (STDMETHODCALLTYPE *CopyToBuffer)(
IMFSample *This,
IMFMediaBuffer *pBuffer);
END_INTERFACE
} IMFSampleVtbl;
interface IMFSample {
CONST_VTBL IMFSampleVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#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)
/*** IMFAttributes methods ***/
#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)
/*** IMFSample methods ***/
#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)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IMFSample_QueryInterface(IMFSample* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IMFSample_AddRef(IMFSample* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IMFSample_Release(IMFSample* This) {
return This->lpVtbl->Release(This);
}
/*** IMFAttributes methods ***/
static FORCEINLINE HRESULT IMFSample_GetItem(IMFSample* This,REFGUID guidKey,PROPVARIANT *pValue) {
return This->lpVtbl->GetItem(This,guidKey,pValue);
}
static FORCEINLINE HRESULT IMFSample_GetItemType(IMFSample* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) {
return This->lpVtbl->GetItemType(This,guidKey,pType);
}
static FORCEINLINE HRESULT IMFSample_CompareItem(IMFSample* This,REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) {
return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult);
}
static FORCEINLINE HRESULT IMFSample_Compare(IMFSample* This,IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,WINBOOL *pbResult) {
return This->lpVtbl->Compare(This,pTheirs,MatchType,pbResult);
}
static FORCEINLINE HRESULT IMFSample_GetUINT32(IMFSample* This,REFGUID guidKey,UINT32 *punValue) {
return This->lpVtbl->GetUINT32(This,guidKey,punValue);
}
static FORCEINLINE HRESULT IMFSample_GetUINT64(IMFSample* This,REFGUID guidKey,UINT64 *punValue) {
return This->lpVtbl->GetUINT64(This,guidKey,punValue);
}
static FORCEINLINE HRESULT IMFSample_GetDouble(IMFSample* This,REFGUID guidKey,double *pfValue) {
return This->lpVtbl->GetDouble(This,guidKey,pfValue);
}
static FORCEINLINE HRESULT IMFSample_GetGUID(IMFSample* This,REFGUID guidKey,GUID *pguidValue) {
return This->lpVtbl->GetGUID(This,guidKey,pguidValue);
}
static FORCEINLINE HRESULT IMFSample_GetStringLength(IMFSample* This,REFGUID guidKey,UINT32 *pcchLength) {
return This->lpVtbl->GetStringLength(This,guidKey,pcchLength);
}
static FORCEINLINE HRESULT IMFSample_GetString(IMFSample* This,REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) {
return This->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength);
}
static FORCEINLINE HRESULT IMFSample_GetAllocatedString(IMFSample* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) {
return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength);
}
static FORCEINLINE HRESULT IMFSample_GetBlobSize(IMFSample* This,REFGUID guidKey,UINT32 *pcbBlobSize) {
return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize);
}
static FORCEINLINE HRESULT IMFSample_GetBlob(IMFSample* This,REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) {
return This->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize);
}
static FORCEINLINE HRESULT IMFSample_GetAllocatedBlob(IMFSample* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) {
return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize);
}
static FORCEINLINE HRESULT IMFSample_GetUnknown(IMFSample* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) {
return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv);
}
static FORCEINLINE HRESULT IMFSample_SetItem(IMFSample* This,REFGUID guidKey,REFPROPVARIANT Value) {
return This->lpVtbl->SetItem(This,guidKey,Value);
}
static FORCEINLINE HRESULT IMFSample_DeleteItem(IMFSample* This,REFGUID guidKey) {
return This->lpVtbl->DeleteItem(This,guidKey);
}
static FORCEINLINE HRESULT IMFSample_DeleteAllItems(IMFSample* This) {
return This->lpVtbl->DeleteAllItems(This);
}
static FORCEINLINE HRESULT IMFSample_SetUINT32(IMFSample* This,REFGUID guidKey,UINT32 unValue) {
return This->lpVtbl->SetUINT32(This,guidKey,unValue);
}
static FORCEINLINE HRESULT IMFSample_SetUINT64(IMFSample* This,REFGUID guidKey,UINT64 unValue) {
return This->lpVtbl->SetUINT64(This,guidKey,unValue);
}
static FORCEINLINE HRESULT IMFSample_SetDouble(IMFSample* This,REFGUID guidKey,double fValue) {
return This->lpVtbl->SetDouble(This,guidKey,fValue);
}
static FORCEINLINE HRESULT IMFSample_SetGUID(IMFSample* This,REFGUID guidKey,REFGUID guidValue) {
return This->lpVtbl->SetGUID(This,guidKey,guidValue);
}
static FORCEINLINE HRESULT IMFSample_SetString(IMFSample* This,REFGUID guidKey,LPCWSTR wszValue) {
return This->lpVtbl->SetString(This,guidKey,wszValue);
}
static FORCEINLINE HRESULT IMFSample_SetBlob(IMFSample* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) {
return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize);
}
static FORCEINLINE HRESULT IMFSample_SetUnknown(IMFSample* This,REFGUID guidKey,IUnknown *pUnknown) {
return This->lpVtbl->SetUnknown(This,guidKey,pUnknown);
}
static FORCEINLINE HRESULT IMFSample_LockStore(IMFSample* This) {
return This->lpVtbl->LockStore(This);
}
static FORCEINLINE HRESULT IMFSample_UnlockStore(IMFSample* This) {
return This->lpVtbl->UnlockStore(This);
}
static FORCEINLINE HRESULT IMFSample_GetCount(IMFSample* This,UINT32 *pcItems) {
return This->lpVtbl->GetCount(This,pcItems);
}
static FORCEINLINE HRESULT IMFSample_GetItemByIndex(IMFSample* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) {
return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue);
}
static FORCEINLINE HRESULT IMFSample_CopyAllItems(IMFSample* This,IMFAttributes *pDest) {
return This->lpVtbl->CopyAllItems(This,pDest);
}
/*** IMFSample methods ***/
static FORCEINLINE HRESULT IMFSample_GetSampleFlags(IMFSample* This,DWORD *pdwSampleFlags) {
return This->lpVtbl->GetSampleFlags(This,pdwSampleFlags);
}
static FORCEINLINE HRESULT IMFSample_SetSampleFlags(IMFSample* This,DWORD dwSampleFlags) {
return This->lpVtbl->SetSampleFlags(This,dwSampleFlags);
}
static FORCEINLINE HRESULT IMFSample_GetSampleTime(IMFSample* This,LONGLONG *phnsSampleTime) {
return This->lpVtbl->GetSampleTime(This,phnsSampleTime);
}
static FORCEINLINE HRESULT IMFSample_SetSampleTime(IMFSample* This,LONGLONG hnsSampleTime) {
return This->lpVtbl->SetSampleTime(This,hnsSampleTime);
}
static FORCEINLINE HRESULT IMFSample_GetSampleDuration(IMFSample* This,LONGLONG *phnsSampleDuration) {
return This->lpVtbl->GetSampleDuration(This,phnsSampleDuration);
}
static FORCEINLINE HRESULT IMFSample_SetSampleDuration(IMFSample* This,LONGLONG hnsSampleDuration) {
return This->lpVtbl->SetSampleDuration(This,hnsSampleDuration);
}
static FORCEINLINE HRESULT IMFSample_GetBufferCount(IMFSample* This,DWORD *pdwBufferCount) {
return This->lpVtbl->GetBufferCount(This,pdwBufferCount);
}
static FORCEINLINE HRESULT IMFSample_GetBufferByIndex(IMFSample* This,DWORD dwIndex,IMFMediaBuffer **ppBuffer) {
return This->lpVtbl->GetBufferByIndex(This,dwIndex,ppBuffer);
}
static FORCEINLINE HRESULT IMFSample_ConvertToContiguousBuffer(IMFSample* This,IMFMediaBuffer **ppBuffer) {
return This->lpVtbl->ConvertToContiguousBuffer(This,ppBuffer);
}
static FORCEINLINE HRESULT IMFSample_AddBuffer(IMFSample* This,IMFMediaBuffer *pBuffer) {
return This->lpVtbl->AddBuffer(This,pBuffer);
}
static FORCEINLINE HRESULT IMFSample_RemoveBufferByIndex(IMFSample* This,DWORD dwIndex) {
return This->lpVtbl->RemoveBufferByIndex(This,dwIndex);
}
static FORCEINLINE HRESULT IMFSample_RemoveAllBuffers(IMFSample* This) {
return This->lpVtbl->RemoveAllBuffers(This);
}
static FORCEINLINE HRESULT IMFSample_GetTotalLength(IMFSample* This,DWORD *pcbTotalLength) {
return This->lpVtbl->GetTotalLength(This,pcbTotalLength);
}
static FORCEINLINE HRESULT IMFSample_CopyToBuffer(IMFSample* This,IMFMediaBuffer *pBuffer) {
return This->lpVtbl->CopyToBuffer(This,pBuffer);
}
#endif
#endif
#endif
#endif /* __IMFSample_INTERFACE_DEFINED__ */
/*****************************************************************************
* IMF2DBuffer interface
*/
#ifndef __IMF2DBuffer_INTERFACE_DEFINED__
#define __IMF2DBuffer_INTERFACE_DEFINED__
DEFINE_GUID(IID_IMF2DBuffer, 0x7dc9d5f9, 0x9ed9, 0x44ec, 0x9b,0xbf, 0x06,0x00,0xbb,0x58,0x9f,0xbb);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("7dc9d5f9-9ed9-44ec-9bbf-0600bb589fbb")
IMF2DBuffer : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Lock2D(
BYTE **ppbScanline0,
LONG *plPitch) = 0;
virtual HRESULT STDMETHODCALLTYPE Unlock2D(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetScanline0AndPitch(
BYTE **pbScanline0,
LONG *plPitch) = 0;
virtual HRESULT STDMETHODCALLTYPE IsContiguousFormat(
WINBOOL *pfIsContiguous) = 0;
virtual HRESULT STDMETHODCALLTYPE GetContiguousLength(
DWORD *pcbLength) = 0;
virtual HRESULT STDMETHODCALLTYPE ContiguousCopyTo(
BYTE *pbDestBuffer,
DWORD cbDestBuffer) = 0;
virtual HRESULT STDMETHODCALLTYPE ContiguousCopyFrom(
const BYTE *pbSrcBuffer,
DWORD cbSrcBuffer) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IMF2DBuffer, 0x7dc9d5f9, 0x9ed9, 0x44ec, 0x9b,0xbf, 0x06,0x00,0xbb,0x58,0x9f,0xbb)
#endif
#else
typedef struct IMF2DBufferVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IMF2DBuffer *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IMF2DBuffer *This);
ULONG (STDMETHODCALLTYPE *Release)(
IMF2DBuffer *This);
/*** IMF2DBuffer methods ***/
HRESULT (STDMETHODCALLTYPE *Lock2D)(
IMF2DBuffer *This,
BYTE **ppbScanline0,
LONG *plPitch);
HRESULT (STDMETHODCALLTYPE *Unlock2D)(
IMF2DBuffer *This);
HRESULT (STDMETHODCALLTYPE *GetScanline0AndPitch)(
IMF2DBuffer *This,
BYTE **pbScanline0,
LONG *plPitch);
HRESULT (STDMETHODCALLTYPE *IsContiguousFormat)(
IMF2DBuffer *This,
WINBOOL *pfIsContiguous);
HRESULT (STDMETHODCALLTYPE *GetContiguousLength)(
IMF2DBuffer *This,
DWORD *pcbLength);
HRESULT (STDMETHODCALLTYPE *ContiguousCopyTo)(
IMF2DBuffer *This,
BYTE *pbDestBuffer,
DWORD cbDestBuffer);
HRESULT (STDMETHODCALLTYPE *ContiguousCopyFrom)(
IMF2DBuffer *This,
const BYTE *pbSrcBuffer,
DWORD cbSrcBuffer);
END_INTERFACE
} IMF2DBufferVtbl;
interface IMF2DBuffer {
CONST_VTBL IMF2DBufferVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#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)
/*** IMF2DBuffer methods ***/
#define IMF2DBuffer_Lock2D(This,ppbScanline0,plPitch) (This)->lpVtbl->Lock2D(This,ppbScanline0,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)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IMF2DBuffer_QueryInterface(IMF2DBuffer* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IMF2DBuffer_AddRef(IMF2DBuffer* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IMF2DBuffer_Release(IMF2DBuffer* This) {
return This->lpVtbl->Release(This);
}
/*** IMF2DBuffer methods ***/
static FORCEINLINE HRESULT IMF2DBuffer_Lock2D(IMF2DBuffer* This,BYTE **ppbScanline0,LONG *plPitch) {
return This->lpVtbl->Lock2D(This,ppbScanline0,plPitch);
}
static FORCEINLINE HRESULT IMF2DBuffer_Unlock2D(IMF2DBuffer* This) {
return This->lpVtbl->Unlock2D(This);
}
static FORCEINLINE HRESULT IMF2DBuffer_GetScanline0AndPitch(IMF2DBuffer* This,BYTE **pbScanline0,LONG *plPitch) {
return This->lpVtbl->GetScanline0AndPitch(This,pbScanline0,plPitch);
}
static FORCEINLINE HRESULT IMF2DBuffer_IsContiguousFormat(IMF2DBuffer* This,WINBOOL *pfIsContiguous) {
return This->lpVtbl->IsContiguousFormat(This,pfIsContiguous);
}
static FORCEINLINE HRESULT IMF2DBuffer_GetContiguousLength(IMF2DBuffer* This,DWORD *pcbLength) {
return This->lpVtbl->GetContiguousLength(This,pcbLength);
}
static FORCEINLINE HRESULT IMF2DBuffer_ContiguousCopyTo(IMF2DBuffer* This,BYTE *pbDestBuffer,DWORD cbDestBuffer) {
return This->lpVtbl->ContiguousCopyTo(This,pbDestBuffer,cbDestBuffer);
}
static FORCEINLINE HRESULT IMF2DBuffer_ContiguousCopyFrom(IMF2DBuffer* This,const BYTE *pbSrcBuffer,DWORD cbSrcBuffer) {
return This->lpVtbl->ContiguousCopyFrom(This,pbSrcBuffer,cbSrcBuffer);
}
#endif
#endif
#endif
#endif /* __IMF2DBuffer_INTERFACE_DEFINED__ */
typedef enum _MF2DBuffer_LockFlags {
MF2DBuffer_LockFlags_LockTypeMask = (0x1 | 0x2) | 0x3,
MF2DBuffer_LockFlags_Read = 0x1,
MF2DBuffer_LockFlags_Write = 0x2,
MF2DBuffer_LockFlags_ReadWrite = 0x3,
MF2DBuffer_LockFlags_ForceDWORD = 0x7fffffff
} MF2DBuffer_LockFlags;
/*****************************************************************************
* IMF2DBuffer2 interface
*/
#ifndef __IMF2DBuffer2_INTERFACE_DEFINED__
#define __IMF2DBuffer2_INTERFACE_DEFINED__
DEFINE_GUID(IID_IMF2DBuffer2, 0x33ae5ea6, 0x4316, 0x436f, 0x8d,0xdd, 0xd7,0x3d,0x22,0xf8,0x29,0xec);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("33ae5ea6-4316-436f-8ddd-d73d22f829ec")
IMF2DBuffer2 : public IMF2DBuffer
{
virtual HRESULT STDMETHODCALLTYPE Lock2DSize(
MF2DBuffer_LockFlags lockFlags,
BYTE **ppbScanline0,
LONG *plPitch,
BYTE **ppbBufferStart,
DWORD *pcbBufferLength) = 0;
virtual HRESULT STDMETHODCALLTYPE Copy2DTo(
IMF2DBuffer2 *pDestBuffer) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IMF2DBuffer2, 0x33ae5ea6, 0x4316, 0x436f, 0x8d,0xdd, 0xd7,0x3d,0x22,0xf8,0x29,0xec)
#endif
#else
typedef struct IMF2DBuffer2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IMF2DBuffer2 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IMF2DBuffer2 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IMF2DBuffer2 *This);
/*** IMF2DBuffer methods ***/
HRESULT (STDMETHODCALLTYPE *Lock2D)(
IMF2DBuffer2 *This,
BYTE **ppbScanline0,
LONG *plPitch);
HRESULT (STDMETHODCALLTYPE *Unlock2D)(
IMF2DBuffer2 *This);
HRESULT (STDMETHODCALLTYPE *GetScanline0AndPitch)(
IMF2DBuffer2 *This,
BYTE **pbScanline0,
LONG *plPitch);
HRESULT (STDMETHODCALLTYPE *IsContiguousFormat)(
IMF2DBuffer2 *This,
WINBOOL *pfIsContiguous);
HRESULT (STDMETHODCALLTYPE *GetContiguousLength)(
IMF2DBuffer2 *This,
DWORD *pcbLength);
HRESULT (STDMETHODCALLTYPE *ContiguousCopyTo)(
IMF2DBuffer2 *This,
BYTE *pbDestBuffer,
DWORD cbDestBuffer);
HRESULT (STDMETHODCALLTYPE *ContiguousCopyFrom)(
IMF2DBuffer2 *This,
const BYTE *pbSrcBuffer,
DWORD cbSrcBuffer);
/*** IMF2DBuffer2 methods ***/
HRESULT (STDMETHODCALLTYPE *Lock2DSize)(
IMF2DBuffer2 *This,
MF2DBuffer_LockFlags lockFlags,
BYTE **ppbScanline0,
LONG *plPitch,
BYTE **ppbBufferStart,
DWORD *pcbBufferLength);
HRESULT (STDMETHODCALLTYPE *Copy2DTo)(
IMF2DBuffer2 *This,
IMF2DBuffer2 *pDestBuffer);
END_INTERFACE
} IMF2DBuffer2Vtbl;
interface IMF2DBuffer2 {
CONST_VTBL IMF2DBuffer2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IMF2DBuffer2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IMF2DBuffer2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IMF2DBuffer2_Release(This) (This)->lpVtbl->Release(This)
/*** IMF2DBuffer methods ***/
#define IMF2DBuffer2_Lock2D(This,ppbScanline0,plPitch) (This)->lpVtbl->Lock2D(This,ppbScanline0,plPitch)
#define IMF2DBuffer2_Unlock2D(This) (This)->lpVtbl->Unlock2D(This)
#define IMF2DBuffer2_GetScanline0AndPitch(This,pbScanline0,plPitch) (This)->lpVtbl->GetScanline0AndPitch(This,pbScanline0,plPitch)
#define IMF2DBuffer2_IsContiguousFormat(This,pfIsContiguous) (This)->lpVtbl->IsContiguousFormat(This,pfIsContiguous)
#define IMF2DBuffer2_GetContiguousLength(This,pcbLength) (This)->lpVtbl->GetContiguousLength(This,pcbLength)
#define IMF2DBuffer2_ContiguousCopyTo(This,pbDestBuffer,cbDestBuffer) (This)->lpVtbl->ContiguousCopyTo(This,pbDestBuffer,cbDestBuffer)
#define IMF2DBuffer2_ContiguousCopyFrom(This,pbSrcBuffer,cbSrcBuffer) (This)->lpVtbl->ContiguousCopyFrom(This,pbSrcBuffer,cbSrcBuffer)
/*** IMF2DBuffer2 methods ***/
#define IMF2DBuffer2_Lock2DSize(This,lockFlags,ppbScanline0,plPitch,ppbBufferStart,pcbBufferLength) (This)->lpVtbl->Lock2DSize(This,lockFlags,ppbScanline0,plPitch,ppbBufferStart,pcbBufferLength)
#define IMF2DBuffer2_Copy2DTo(This,pDestBuffer) (This)->lpVtbl->Copy2DTo(This,pDestBuffer)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IMF2DBuffer2_QueryInterface(IMF2DBuffer2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IMF2DBuffer2_AddRef(IMF2DBuffer2* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IMF2DBuffer2_Release(IMF2DBuffer2* This) {
return This->lpVtbl->Release(This);
}
/*** IMF2DBuffer methods ***/
static FORCEINLINE HRESULT IMF2DBuffer2_Lock2D(IMF2DBuffer2* This,BYTE **ppbScanline0,LONG *plPitch) {
return This->lpVtbl->Lock2D(This,ppbScanline0,plPitch);
}
static FORCEINLINE HRESULT IMF2DBuffer2_Unlock2D(IMF2DBuffer2* This) {
return This->lpVtbl->Unlock2D(This);
}
static FORCEINLINE HRESULT IMF2DBuffer2_GetScanline0AndPitch(IMF2DBuffer2* This,BYTE **pbScanline0,LONG *plPitch) {
return This->lpVtbl->GetScanline0AndPitch(This,pbScanline0,plPitch);
}
static FORCEINLINE HRESULT IMF2DBuffer2_IsContiguousFormat(IMF2DBuffer2* This,WINBOOL *pfIsContiguous) {
return This->lpVtbl->IsContiguousFormat(This,pfIsContiguous);
}
static FORCEINLINE HRESULT IMF2DBuffer2_GetContiguousLength(IMF2DBuffer2* This,DWORD *pcbLength) {
return This->lpVtbl->GetContiguousLength(This,pcbLength);
}
static FORCEINLINE HRESULT IMF2DBuffer2_ContiguousCopyTo(IMF2DBuffer2* This,BYTE *pbDestBuffer,DWORD cbDestBuffer) {
return This->lpVtbl->ContiguousCopyTo(This,pbDestBuffer,cbDestBuffer);
}
static FORCEINLINE HRESULT IMF2DBuffer2_ContiguousCopyFrom(IMF2DBuffer2* This,const BYTE *pbSrcBuffer,DWORD cbSrcBuffer) {
return This->lpVtbl->ContiguousCopyFrom(This,pbSrcBuffer,cbSrcBuffer);
}
/*** IMF2DBuffer2 methods ***/
static FORCEINLINE HRESULT IMF2DBuffer2_Lock2DSize(IMF2DBuffer2* This,MF2DBuffer_LockFlags lockFlags,BYTE **ppbScanline0,LONG *plPitch,BYTE **ppbBufferStart,DWORD *pcbBufferLength) {
return This->lpVtbl->Lock2DSize(This,lockFlags,ppbScanline0,plPitch,ppbBufferStart,pcbBufferLength);
}
static FORCEINLINE HRESULT IMF2DBuffer2_Copy2DTo(IMF2DBuffer2* This,IMF2DBuffer2 *pDestBuffer) {
return This->lpVtbl->Copy2DTo(This,pDestBuffer);
}
#endif
#endif
#endif
#endif /* __IMF2DBuffer2_INTERFACE_DEFINED__ */
/*****************************************************************************
* IMFDXGIBuffer interface
*/
#ifndef __IMFDXGIBuffer_INTERFACE_DEFINED__
#define __IMFDXGIBuffer_INTERFACE_DEFINED__
DEFINE_GUID(IID_IMFDXGIBuffer, 0xe7174cfa, 0x1c9e, 0x48b1, 0x88,0x66, 0x62,0x62,0x26,0xbf,0xc2,0x58);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("e7174cfa-1c9e-48b1-8866-626226bfc258")
IMFDXGIBuffer : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetResource(
REFIID riid,
LPVOID *ppvObject) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSubresourceIndex(
UINT *puSubresource) = 0;
virtual HRESULT STDMETHODCALLTYPE GetUnknown(
REFIID guid,
REFIID riid,
LPVOID *ppvObject) = 0;
virtual HRESULT STDMETHODCALLTYPE SetUnknown(
REFIID guid,
IUnknown *pUnkData) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IMFDXGIBuffer, 0xe7174cfa, 0x1c9e, 0x48b1, 0x88,0x66, 0x62,0x62,0x26,0xbf,0xc2,0x58)
#endif
#else
typedef struct IMFDXGIBufferVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IMFDXGIBuffer *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IMFDXGIBuffer *This);
ULONG (STDMETHODCALLTYPE *Release)(
IMFDXGIBuffer *This);
/*** IMFDXGIBuffer methods ***/
HRESULT (STDMETHODCALLTYPE *GetResource)(
IMFDXGIBuffer *This,
REFIID riid,
LPVOID *ppvObject);
HRESULT (STDMETHODCALLTYPE *GetSubresourceIndex)(
IMFDXGIBuffer *This,
UINT *puSubresource);
HRESULT (STDMETHODCALLTYPE *GetUnknown)(
IMFDXGIBuffer *This,
REFIID guid,
REFIID riid,
LPVOID *ppvObject);
HRESULT (STDMETHODCALLTYPE *SetUnknown)(
IMFDXGIBuffer *This,
REFIID guid,
IUnknown *pUnkData);
END_INTERFACE
} IMFDXGIBufferVtbl;
interface IMFDXGIBuffer {
CONST_VTBL IMFDXGIBufferVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IMFDXGIBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IMFDXGIBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IMFDXGIBuffer_Release(This) (This)->lpVtbl->Release(This)
/*** IMFDXGIBuffer methods ***/
#define IMFDXGIBuffer_GetResource(This,riid,ppvObject) (This)->lpVtbl->GetResource(This,riid,ppvObject)
#define IMFDXGIBuffer_GetSubresourceIndex(This,puSubresource) (This)->lpVtbl->GetSubresourceIndex(This,puSubresource)
#define IMFDXGIBuffer_GetUnknown(This,guid,riid,ppvObject) (This)->lpVtbl->GetUnknown(This,guid,riid,ppvObject)
#define IMFDXGIBuffer_SetUnknown(This,guid,pUnkData) (This)->lpVtbl->SetUnknown(This,guid,pUnkData)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IMFDXGIBuffer_QueryInterface(IMFDXGIBuffer* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IMFDXGIBuffer_AddRef(IMFDXGIBuffer* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IMFDXGIBuffer_Release(IMFDXGIBuffer* This) {
return This->lpVtbl->Release(This);
}
/*** IMFDXGIBuffer methods ***/
static FORCEINLINE HRESULT IMFDXGIBuffer_GetResource(IMFDXGIBuffer* This,REFIID riid,LPVOID *ppvObject) {
return This->lpVtbl->GetResource(This,riid,ppvObject);
}
static FORCEINLINE HRESULT IMFDXGIBuffer_GetSubresourceIndex(IMFDXGIBuffer* This,UINT *puSubresource) {
return This->lpVtbl->GetSubresourceIndex(This,puSubresource);
}
static FORCEINLINE HRESULT IMFDXGIBuffer_GetUnknown(IMFDXGIBuffer* This,REFIID guid,REFIID riid,LPVOID *ppvObject) {
return This->lpVtbl->GetUnknown(This,guid,riid,ppvObject);
}
static FORCEINLINE HRESULT IMFDXGIBuffer_SetUnknown(IMFDXGIBuffer* This,REFIID guid,IUnknown *pUnkData) {
return This->lpVtbl->SetUnknown(This,guid,pUnkData);
}
#endif
#endif
#endif
#endif /* __IMFDXGIBuffer_INTERFACE_DEFINED__ */
/*****************************************************************************
* IMFMediaType interface
*/
#ifndef __IMFMediaType_INTERFACE_DEFINED__
#define __IMFMediaType_INTERFACE_DEFINED__
DEFINE_GUID(IID_IMFMediaType, 0x44ae0fa8, 0xea31, 0x4109, 0x8d,0x2e, 0x4c,0xae,0x49,0x97,0xc5,0x55);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("44ae0fa8-ea31-4109-8d2e-4cae4997c555")
IMFMediaType : public IMFAttributes
{
virtual HRESULT STDMETHODCALLTYPE GetMajorType(
GUID *pguidMajorType) = 0;
virtual HRESULT STDMETHODCALLTYPE IsCompressedFormat(
WINBOOL *pfCompressed) = 0;
virtual HRESULT STDMETHODCALLTYPE IsEqual(
IMFMediaType *pIMediaType,
DWORD *pdwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetRepresentation(
GUID guidRepresentation,
LPVOID *ppvRepresentation) = 0;
virtual HRESULT STDMETHODCALLTYPE FreeRepresentation(
GUID guidRepresentation,
LPVOID pvRepresentation) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IMFMediaType, 0x44ae0fa8, 0xea31, 0x4109, 0x8d,0x2e, 0x4c,0xae,0x49,0x97,0xc5,0x55)
#endif
#else
typedef struct IMFMediaTypeVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IMFMediaType *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IMFMediaType *This);
ULONG (STDMETHODCALLTYPE *Release)(
IMFMediaType *This);
/*** IMFAttributes methods ***/
HRESULT (STDMETHODCALLTYPE *GetItem)(
IMFMediaType *This,
REFGUID guidKey,
PROPVARIANT *pValue);
HRESULT (STDMETHODCALLTYPE *GetItemType)(
IMFMediaType *This,
REFGUID guidKey,
MF_ATTRIBUTE_TYPE *pType);
HRESULT (STDMETHODCALLTYPE *CompareItem)(
IMFMediaType *This,
REFGUID guidKey,
REFPROPVARIANT Value,
WINBOOL *pbResult);
HRESULT (STDMETHODCALLTYPE *Compare)(
IMFMediaType *This,
IMFAttributes *pTheirs,
MF_ATTRIBUTES_MATCH_TYPE MatchType,
WINBOOL *pbResult);
HRESULT (STDMETHODCALLTYPE *GetUINT32)(
IMFMediaType *This,
REFGUID guidKey,
UINT32 *punValue);
HRESULT (STDMETHODCALLTYPE *GetUINT64)(
IMFMediaType *This,
REFGUID guidKey,
UINT64 *punValue);
HRESULT (STDMETHODCALLTYPE *GetDouble)(
IMFMediaType *This,
REFGUID guidKey,
double *pfValue);
HRESULT (STDMETHODCALLTYPE *GetGUID)(
IMFMediaType *This,
REFGUID guidKey,
GUID *pguidValue);
HRESULT (STDMETHODCALLTYPE *GetStringLength)(
IMFMediaType *This,
REFGUID guidKey,
UINT32 *pcchLength);
HRESULT (STDMETHODCALLTYPE *GetString)(
IMFMediaType *This,
REFGUID guidKey,
LPWSTR pwszValue,
UINT32 cchBufSize,
UINT32 *pcchLength);
HRESULT (STDMETHODCALLTYPE *GetAllocatedString)(
IMFMediaType *This,
REFGUID guidKey,
LPWSTR *ppwszValue,
UINT32 *pcchLength);
HRESULT (STDMETHODCALLTYPE *GetBlobSize)(
IMFMediaType *This,
REFGUID guidKey,
UINT32 *pcbBlobSize);
HRESULT (STDMETHODCALLTYPE *GetBlob)(
IMFMediaType *This,
REFGUID guidKey,
UINT8 *pBuf,
UINT32 cbBufSize,
UINT32 *pcbBlobSize);
HRESULT (STDMETHODCALLTYPE *GetAllocatedBlob)(
IMFMediaType *This,
REFGUID guidKey,
UINT8 **ppBuf,
UINT32 *pcbSize);
HRESULT (STDMETHODCALLTYPE *GetUnknown)(
IMFMediaType *This,
REFGUID guidKey,
REFIID riid,
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,
LPCWSTR wszValue);
HRESULT (STDMETHODCALLTYPE *SetBlob)(
IMFMediaType *This,
REFGUID guidKey,
const UINT8 *pBuf,
UINT32 cbBufSize);
HRESULT (STDMETHODCALLTYPE *SetUnknown)(
IMFMediaType *This,
REFGUID guidKey,
IUnknown *pUnknown);
HRESULT (STDMETHODCALLTYPE *LockStore)(
IMFMediaType *This);
HRESULT (STDMETHODCALLTYPE *UnlockStore)(
IMFMediaType *This);
HRESULT (STDMETHODCALLTYPE *GetCount)(
IMFMediaType *This,
UINT32 *pcItems);
HRESULT (STDMETHODCALLTYPE *GetItemByIndex)(
IMFMediaType *This,
UINT32 unIndex,
GUID *pguidKey,
PROPVARIANT *pValue);
HRESULT (STDMETHODCALLTYPE *CopyAllItems)(
IMFMediaType *This,
IMFAttributes *pDest);
/*** IMFMediaType methods ***/
HRESULT (STDMETHODCALLTYPE *GetMajorType)(
IMFMediaType *This,
GUID *pguidMajorType);
HRESULT (STDMETHODCALLTYPE *IsCompressedFormat)(
IMFMediaType *This,
WINBOOL *pfCompressed);
HRESULT (STDMETHODCALLTYPE *IsEqual)(
IMFMediaType *This,
IMFMediaType *pIMediaType,
DWORD *pdwFlags);
HRESULT (STDMETHODCALLTYPE *GetRepresentation)(
IMFMediaType *This,
GUID guidRepresentation,
LPVOID *ppvRepresentation);
HRESULT (STDMETHODCALLTYPE *FreeRepresentation)(
IMFMediaType *This,
GUID guidRepresentation,
LPVOID pvRepresentation);
END_INTERFACE
} IMFMediaTypeVtbl;
interface IMFMediaType {
CONST_VTBL IMFMediaTypeVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#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)
/*** IMFAttributes methods ***/
#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)
/*** IMFMediaType methods ***/
#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)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IMFMediaType_QueryInterface(IMFMediaType* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IMFMediaType_AddRef(IMFMediaType* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IMFMediaType_Release(IMFMediaType* This) {
return This->lpVtbl->Release(This);
}
/*** IMFAttributes methods ***/
static FORCEINLINE HRESULT IMFMediaType_GetItem(IMFMediaType* This,REFGUID guidKey,PROPVARIANT *pValue) {
return This->lpVtbl->GetItem(This,guidKey,pValue);
}
static FORCEINLINE HRESULT IMFMediaType_GetItemType(IMFMediaType* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) {
return This->lpVtbl->GetItemType(This,guidKey,pType);
}
static FORCEINLINE HRESULT IMFMediaType_CompareItem(IMFMediaType* This,REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) {
return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult);
}
static FORCEINLINE HRESULT IMFMediaType_Compare(IMFMediaType* This,IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,WINBOOL *pbResult) {
return This->lpVtbl->Compare(This,pTheirs,MatchType,pbResult);
}
static FORCEINLINE HRESULT IMFMediaType_GetUINT32(IMFMediaType* This,REFGUID guidKey,UINT32 *punValue) {
return This->lpVtbl->GetUINT32(This,guidKey,punValue);
}
static FORCEINLINE HRESULT IMFMediaType_GetUINT64(IMFMediaType* This,REFGUID guidKey,UINT64 *punValue) {
return This->lpVtbl->GetUINT64(This,guidKey,punValue);
}
static FORCEINLINE HRESULT IMFMediaType_GetDouble(IMFMediaType* This,REFGUID guidKey,double *pfValue) {
return This->lpVtbl->GetDouble(This,guidKey,pfValue);
}
static FORCEINLINE HRESULT IMFMediaType_GetGUID(IMFMediaType* This,REFGUID guidKey,GUID *pguidValue) {
return This->lpVtbl->GetGUID(This,guidKey,pguidValue);
}
static FORCEINLINE HRESULT IMFMediaType_GetStringLength(IMFMediaType* This,REFGUID guidKey,UINT32 *pcchLength) {
return This->lpVtbl->GetStringLength(This,guidKey,pcchLength);
}
static FORCEINLINE HRESULT IMFMediaType_GetString(IMFMediaType* This,REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) {
return This->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength);
}
static FORCEINLINE HRESULT IMFMediaType_GetAllocatedString(IMFMediaType* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) {
return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength);
}
static FORCEINLINE HRESULT IMFMediaType_GetBlobSize(IMFMediaType* This,REFGUID guidKey,UINT32 *pcbBlobSize) {
return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize);
}
static FORCEINLINE HRESULT IMFMediaType_GetBlob(IMFMediaType* This,REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) {
return This->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize);
}
static FORCEINLINE HRESULT IMFMediaType_GetAllocatedBlob(IMFMediaType* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) {
return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize);
}
static FORCEINLINE HRESULT IMFMediaType_GetUnknown(IMFMediaType* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) {
return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv);
}
static FORCEINLINE HRESULT IMFMediaType_SetItem(IMFMediaType* This,REFGUID guidKey,REFPROPVARIANT Value) {
return This->lpVtbl->SetItem(This,guidKey,Value);
}
static FORCEINLINE HRESULT IMFMediaType_DeleteItem(IMFMediaType* This,REFGUID guidKey) {
return This->lpVtbl->DeleteItem(This,guidKey);
}
static FORCEINLINE HRESULT IMFMediaType_DeleteAllItems(IMFMediaType* This) {
return This->lpVtbl->DeleteAllItems(This);
}
static FORCEINLINE HRESULT IMFMediaType_SetUINT32(IMFMediaType* This,REFGUID guidKey,UINT32 unValue) {
return This->lpVtbl->SetUINT32(This,guidKey,unValue);
}
static FORCEINLINE HRESULT IMFMediaType_SetUINT64(IMFMediaType* This,REFGUID guidKey,UINT64 unValue) {
return This->lpVtbl->SetUINT64(This,guidKey,unValue);
}
static FORCEINLINE HRESULT IMFMediaType_SetDouble(IMFMediaType* This,REFGUID guidKey,double fValue) {
return This->lpVtbl->SetDouble(This,guidKey,fValue);
}
static FORCEINLINE HRESULT IMFMediaType_SetGUID(IMFMediaType* This,REFGUID guidKey,REFGUID guidValue) {
return This->lpVtbl->SetGUID(This,guidKey,guidValue);
}
static FORCEINLINE HRESULT IMFMediaType_SetString(IMFMediaType* This,REFGUID guidKey,LPCWSTR wszValue) {
return This->lpVtbl->SetString(This,guidKey,wszValue);
}
static FORCEINLINE HRESULT IMFMediaType_SetBlob(IMFMediaType* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) {
return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize);
}
static FORCEINLINE HRESULT IMFMediaType_SetUnknown(IMFMediaType* This,REFGUID guidKey,IUnknown *pUnknown) {
return This->lpVtbl->SetUnknown(This,guidKey,pUnknown);
}
static FORCEINLINE HRESULT IMFMediaType_LockStore(IMFMediaType* This) {
return This->lpVtbl->LockStore(This);
}
static FORCEINLINE HRESULT IMFMediaType_UnlockStore(IMFMediaType* This) {
return This->lpVtbl->UnlockStore(This);
}
static FORCEINLINE HRESULT IMFMediaType_GetCount(IMFMediaType* This,UINT32 *pcItems) {
return This->lpVtbl->GetCount(This,pcItems);
}
static FORCEINLINE HRESULT IMFMediaType_GetItemByIndex(IMFMediaType* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) {
return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue);
}
static FORCEINLINE HRESULT IMFMediaType_CopyAllItems(IMFMediaType* This,IMFAttributes *pDest) {
return This->lpVtbl->CopyAllItems(This,pDest);
}
/*** IMFMediaType methods ***/
static FORCEINLINE HRESULT IMFMediaType_GetMajorType(IMFMediaType* This,GUID *pguidMajorType) {
return This->lpVtbl->GetMajorType(This,pguidMajorType);
}
static FORCEINLINE HRESULT IMFMediaType_IsCompressedFormat(IMFMediaType* This,WINBOOL *pfCompressed) {
return This->lpVtbl->IsCompressedFormat(This,pfCompressed);
}
static FORCEINLINE HRESULT IMFMediaType_IsEqual(IMFMediaType* This,IMFMediaType *pIMediaType,DWORD *pdwFlags) {
return This->lpVtbl->IsEqual(This,pIMediaType,pdwFlags);
}
static FORCEINLINE HRESULT IMFMediaType_GetRepresentation(IMFMediaType* This,GUID guidRepresentation,LPVOID *ppvRepresentation) {
return This->lpVtbl->GetRepresentation(This,guidRepresentation,ppvRepresentation);
}
static FORCEINLINE HRESULT IMFMediaType_FreeRepresentation(IMFMediaType* This,GUID guidRepresentation,LPVOID pvRepresentation) {
return This->lpVtbl->FreeRepresentation(This,guidRepresentation,pvRepresentation);
}
#endif
#endif
#endif
#endif /* __IMFMediaType_INTERFACE_DEFINED__ */
#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
#endif
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
/*****************************************************************************
* IMFAudioMediaType interface
*/
#ifndef __IMFAudioMediaType_INTERFACE_DEFINED__
#define __IMFAudioMediaType_INTERFACE_DEFINED__
DEFINE_GUID(IID_IMFAudioMediaType, 0x26a0adc3, 0xce26, 0x4672, 0x93,0x04, 0x69,0x55,0x2e,0xdd,0x3f,0xaf);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("26a0adc3-ce26-4672-9304-69552edd3faf")
IMFAudioMediaType : public IMFMediaType
{
virtual const WAVEFORMATEX * STDMETHODCALLTYPE GetAudioFormat(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IMFAudioMediaType, 0x26a0adc3, 0xce26, 0x4672, 0x93,0x04, 0x69,0x55,0x2e,0xdd,0x3f,0xaf)
#endif
#else
typedef struct IMFAudioMediaTypeVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IMFAudioMediaType *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IMFAudioMediaType *This);
ULONG (STDMETHODCALLTYPE *Release)(
IMFAudioMediaType *This);
/*** IMFAttributes methods ***/
HRESULT (STDMETHODCALLTYPE *GetItem)(
IMFAudioMediaType *This,
REFGUID guidKey,
PROPVARIANT *pValue);
HRESULT (STDMETHODCALLTYPE *GetItemType)(
IMFAudioMediaType *This,
REFGUID guidKey,
MF_ATTRIBUTE_TYPE *pType);
HRESULT (STDMETHODCALLTYPE *CompareItem)(
IMFAudioMediaType *This,
REFGUID guidKey,
REFPROPVARIANT Value,
WINBOOL *pbResult);
HRESULT (STDMETHODCALLTYPE *Compare)(
IMFAudioMediaType *This,
IMFAttributes *pTheirs,
MF_ATTRIBUTES_MATCH_TYPE MatchType,
WINBOOL *pbResult);
HRESULT (STDMETHODCALLTYPE *GetUINT32)(
IMFAudioMediaType *This,
REFGUID guidKey,
UINT32 *punValue);
HRESULT (STDMETHODCALLTYPE *GetUINT64)(
IMFAudioMediaType *This,
REFGUID guidKey,
UINT64 *punValue);
HRESULT (STDMETHODCALLTYPE *GetDouble)(
IMFAudioMediaType *This,
REFGUID guidKey,
double *pfValue);
HRESULT (STDMETHODCALLTYPE *GetGUID)(
IMFAudioMediaType *This,
REFGUID guidKey,
GUID *pguidValue);
HRESULT (STDMETHODCALLTYPE *GetStringLength)(
IMFAudioMediaType *This,
REFGUID guidKey,
UINT32 *pcchLength);
HRESULT (STDMETHODCALLTYPE *GetString)(
IMFAudioMediaType *This,
REFGUID guidKey,
LPWSTR pwszValue,
UINT32 cchBufSize,
UINT32 *pcchLength);
HRESULT (STDMETHODCALLTYPE *GetAllocatedString)(
IMFAudioMediaType *This,
REFGUID guidKey,
LPWSTR *ppwszValue,
UINT32 *pcchLength);
HRESULT (STDMETHODCALLTYPE *GetBlobSize)(
IMFAudioMediaType *This,
REFGUID guidKey,
UINT32 *pcbBlobSize);
HRESULT (STDMETHODCALLTYPE *GetBlob)(
IMFAudioMediaType *This,
REFGUID guidKey,
UINT8 *pBuf,
UINT32 cbBufSize,
UINT32 *pcbBlobSize);
HRESULT (STDMETHODCALLTYPE *GetAllocatedBlob)(
IMFAudioMediaType *This,
REFGUID guidKey,
UINT8 **ppBuf,
UINT32 *pcbSize);
HRESULT (STDMETHODCALLTYPE *GetUnknown)(
IMFAudioMediaType *This,
REFGUID guidKey,
REFIID riid,
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,
LPCWSTR wszValue);
HRESULT (STDMETHODCALLTYPE *SetBlob)(
IMFAudioMediaType *This,
REFGUID guidKey,
const UINT8 *pBuf,
UINT32 cbBufSize);
HRESULT (STDMETHODCALLTYPE *SetUnknown)(
IMFAudioMediaType *This,
REFGUID guidKey,
IUnknown *pUnknown);
HRESULT (STDMETHODCALLTYPE *LockStore)(
IMFAudioMediaType *This);
HRESULT (STDMETHODCALLTYPE *UnlockStore)(
IMFAudioMediaType *This);
HRESULT (STDMETHODCALLTYPE *GetCount)(
IMFAudioMediaType *This,
UINT32 *pcItems);
HRESULT (STDMETHODCALLTYPE *GetItemByIndex)(
IMFAudioMediaType *This,
UINT32 unIndex,
GUID *pguidKey,
PROPVARIANT *pValue);
HRESULT (STDMETHODCALLTYPE *CopyAllItems)(
IMFAudioMediaType *This,
IMFAttributes *pDest);
/*** IMFMediaType methods ***/
HRESULT (STDMETHODCALLTYPE *GetMajorType)(
IMFAudioMediaType *This,
GUID *pguidMajorType);
HRESULT (STDMETHODCALLTYPE *IsCompressedFormat)(
IMFAudioMediaType *This,
WINBOOL *pfCompressed);
HRESULT (STDMETHODCALLTYPE *IsEqual)(
IMFAudioMediaType *This,
IMFMediaType *pIMediaType,
DWORD *pdwFlags);
HRESULT (STDMETHODCALLTYPE *GetRepresentation)(
IMFAudioMediaType *This,
GUID guidRepresentation,
LPVOID *ppvRepresentation);
HRESULT (STDMETHODCALLTYPE *FreeRepresentation)(
IMFAudioMediaType *This,
GUID guidRepresentation,
LPVOID pvRepresentation);
/*** IMFAudioMediaType methods ***/
const WAVEFORMATEX * (STDMETHODCALLTYPE *GetAudioFormat)(
IMFAudioMediaType *This);
END_INTERFACE
} IMFAudioMediaTypeVtbl;
interface IMFAudioMediaType {
CONST_VTBL IMFAudioMediaTypeVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#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)
/*** IMFAttributes methods ***/
#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)
/*** IMFMediaType methods ***/
#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)
/*** IMFAudioMediaType methods ***/
#define IMFAudioMediaType_GetAudioFormat(This) (This)->lpVtbl->GetAudioFormat(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IMFAudioMediaType_QueryInterface(IMFAudioMediaType* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IMFAudioMediaType_AddRef(IMFAudioMediaType* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IMFAudioMediaType_Release(IMFAudioMediaType* This) {
return This->lpVtbl->Release(This);
}
/*** IMFAttributes methods ***/
static FORCEINLINE HRESULT IMFAudioMediaType_GetItem(IMFAudioMediaType* This,REFGUID guidKey,PROPVARIANT *pValue) {
return This->lpVtbl->GetItem(This,guidKey,pValue);
}
static FORCEINLINE HRESULT IMFAudioMediaType_GetItemType(IMFAudioMediaType* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) {
return This->lpVtbl->GetItemType(This,guidKey,pType);
}
static FORCEINLINE HRESULT IMFAudioMediaType_CompareItem(IMFAudioMediaType* This,REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) {
return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult);
}
static FORCEINLINE HRESULT IMFAudioMediaType_Compare(IMFAudioMediaType* This,IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,WINBOOL *pbResult) {
return This->lpVtbl->Compare(This,pTheirs,MatchType,pbResult);
}
static FORCEINLINE HRESULT IMFAudioMediaType_GetUINT32(IMFAudioMediaType* This,REFGUID guidKey,UINT32 *punValue) {
return This->lpVtbl->GetUINT32(This,guidKey,punValue);
}
static FORCEINLINE HRESULT IMFAudioMediaType_GetUINT64(IMFAudioMediaType* This,REFGUID guidKey,UINT64 *punValue) {
return This->lpVtbl->GetUINT64(This,guidKey,punValue);
}
static FORCEINLINE HRESULT IMFAudioMediaType_GetDouble(IMFAudioMediaType* This,REFGUID guidKey,double *pfValue) {
return This->lpVtbl->GetDouble(This,guidKey,pfValue);
}
static FORCEINLINE HRESULT IMFAudioMediaType_GetGUID(IMFAudioMediaType* This,REFGUID guidKey,GUID *pguidValue) {
return This->lpVtbl->GetGUID(This,guidKey,pguidValue);
}
static FORCEINLINE HRESULT IMFAudioMediaType_GetStringLength(IMFAudioMediaType* This,REFGUID guidKey,UINT32 *pcchLength) {
return This->lpVtbl->GetStringLength(This,guidKey,pcchLength);
}
static FORCEINLINE HRESULT IMFAudioMediaType_GetString(IMFAudioMediaType* This,REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) {
return This->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength);
}
static FORCEINLINE HRESULT IMFAudioMediaType_GetAllocatedString(IMFAudioMediaType* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) {
return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength);
}
static FORCEINLINE HRESULT IMFAudioMediaType_GetBlobSize(IMFAudioMediaType* This,REFGUID guidKey,UINT32 *pcbBlobSize) {
return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize);
}
static FORCEINLINE HRESULT IMFAudioMediaType_GetBlob(IMFAudioMediaType* This,REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) {
return This->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize);
}
static FORCEINLINE HRESULT IMFAudioMediaType_GetAllocatedBlob(IMFAudioMediaType* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) {
return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize);
}
static FORCEINLINE HRESULT IMFAudioMediaType_GetUnknown(IMFAudioMediaType* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) {
return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv);
}
static FORCEINLINE HRESULT IMFAudioMediaType_SetItem(IMFAudioMediaType* This,REFGUID guidKey,REFPROPVARIANT Value) {
return This->lpVtbl->SetItem(This,guidKey,Value);
}
static FORCEINLINE HRESULT IMFAudioMediaType_DeleteItem(IMFAudioMediaType* This,REFGUID guidKey) {
return This->lpVtbl->DeleteItem(This,guidKey);
}
static FORCEINLINE HRESULT IMFAudioMediaType_DeleteAllItems(IMFAudioMediaType* This) {
return This->lpVtbl->DeleteAllItems(This);
}
static FORCEINLINE HRESULT IMFAudioMediaType_SetUINT32(IMFAudioMediaType* This,REFGUID guidKey,UINT32 unValue) {
return This->lpVtbl->SetUINT32(This,guidKey,unValue);
}
static FORCEINLINE HRESULT IMFAudioMediaType_SetUINT64(IMFAudioMediaType* This,REFGUID guidKey,UINT64 unValue) {
return This->lpVtbl->SetUINT64(This,guidKey,unValue);
}
static FORCEINLINE HRESULT IMFAudioMediaType_SetDouble(IMFAudioMediaType* This,REFGUID guidKey,double fValue) {
return This->lpVtbl->SetDouble(This,guidKey,fValue);
}
static FORCEINLINE HRESULT IMFAudioMediaType_SetGUID(IMFAudioMediaType* This,REFGUID guidKey,REFGUID guidValue) {
return This->lpVtbl->SetGUID(This,guidKey,guidValue);
}
static FORCEINLINE HRESULT IMFAudioMediaType_SetString(IMFAudioMediaType* This,REFGUID guidKey,LPCWSTR wszValue) {
return This->lpVtbl->SetString(This,guidKey,wszValue);
}
static FORCEINLINE HRESULT IMFAudioMediaType_SetBlob(IMFAudioMediaType* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) {
return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize);
}
static FORCEINLINE HRESULT IMFAudioMediaType_SetUnknown(IMFAudioMediaType* This,REFGUID guidKey,IUnknown *pUnknown) {
return This->lpVtbl->SetUnknown(This,guidKey,pUnknown);
}
static FORCEINLINE HRESULT IMFAudioMediaType_LockStore(IMFAudioMediaType* This) {
return This->lpVtbl->LockStore(This);
}
static FORCEINLINE HRESULT IMFAudioMediaType_UnlockStore(IMFAudioMediaType* This) {
return This->lpVtbl->UnlockStore(This);
}
static FORCEINLINE HRESULT IMFAudioMediaType_GetCount(IMFAudioMediaType* This,UINT32 *pcItems) {
return This->lpVtbl->GetCount(This,pcItems);
}
static FORCEINLINE HRESULT IMFAudioMediaType_GetItemByIndex(IMFAudioMediaType* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) {
return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue);
}
static FORCEINLINE HRESULT IMFAudioMediaType_CopyAllItems(IMFAudioMediaType* This,IMFAttributes *pDest) {
return This->lpVtbl->CopyAllItems(This,pDest);
}
/*** IMFMediaType methods ***/
static FORCEINLINE HRESULT IMFAudioMediaType_GetMajorType(IMFAudioMediaType* This,GUID *pguidMajorType) {
return This->lpVtbl->GetMajorType(This,pguidMajorType);
}
static FORCEINLINE HRESULT IMFAudioMediaType_IsCompressedFormat(IMFAudioMediaType* This,WINBOOL *pfCompressed) {
return This->lpVtbl->IsCompressedFormat(This,pfCompressed);
}
static FORCEINLINE HRESULT IMFAudioMediaType_IsEqual(IMFAudioMediaType* This,IMFMediaType *pIMediaType,DWORD *pdwFlags) {
return This->lpVtbl->IsEqual(This,pIMediaType,pdwFlags);
}
static FORCEINLINE HRESULT IMFAudioMediaType_GetRepresentation(IMFAudioMediaType* This,GUID guidRepresentation,LPVOID *ppvRepresentation) {
return This->lpVtbl->GetRepresentation(This,guidRepresentation,ppvRepresentation);
}
static FORCEINLINE HRESULT IMFAudioMediaType_FreeRepresentation(IMFAudioMediaType* This,GUID guidRepresentation,LPVOID pvRepresentation) {
return This->lpVtbl->FreeRepresentation(This,guidRepresentation,pvRepresentation);
}
/*** IMFAudioMediaType methods ***/
static FORCEINLINE const WAVEFORMATEX * IMFAudioMediaType_GetAudioFormat(IMFAudioMediaType* This) {
return This->lpVtbl->GetAudioFormat(This);
}
#endif
#endif
#endif
#endif /* __IMFAudioMediaType_INTERFACE_DEFINED__ */
#ifndef _WINGDI_
typedef DWORD RGBQUAD;
typedef struct __WIDL_mfobjects_generated_name_00000028 {
DWORD biSize;
LONG biWidth;
LONG biHeight;
WORD biPlanes;
WORD biBitCount;
DWORD biCompression;
DWORD biSizeImage;
LONG biXPelsPerMeter;
LONG biYPelsPerMeter;
DWORD biClrUsed;
DWORD biClrImportant;
} BITMAPINFOHEADER;
typedef struct __WIDL_mfobjects_generated_name_00000029 {
BITMAPINFOHEADER bmiHeader;
RGBQUAD bmiColors[1];
} BITMAPINFO;
#endif
typedef struct __WIDL_mfobjects_generated_name_0000002A {
GUID guidMajorType;
GUID guidSubtype;
} MFT_REGISTER_TYPE_INFO;
#endif
#ifndef _MFVIDEOFORMAT_
#define _MFVIDEOFORMAT_
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
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 = 8,
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_2020_const = 12,
MFVideoTransFunc_2020 = 13,
MFVideoTransFunc_26 = 14,
MFVideoTransFunc_2084 = 15,
MFVideoTransFunc_HLG = 16,
MFVideoTransFunc_10_rel = 17,
MFVideoTransFunc_Last = 18,
MFVideoTransFunc_ForceDWORD = 0x7fffffff
} MFVideoTransferFunction;
typedef enum _MFVideoPrimaries {
MFVideoPrimaries_Unknown = 0,
MFVideoPrimari