|  | /*** Autogenerated by WIDL 1.5.22 from include/mfobjects.idl - Do not edit ***/ | 
|  |  | 
|  | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 
|  | #define __REQUIRED_RPCNDR_H_VERSION__ 475 | 
|  | #endif | 
|  |  | 
|  | #include <rpc.h> | 
|  | #include <rpcndr.h> | 
|  |  | 
|  | #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; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMFMediaBuffer_FWD_DEFINED__ | 
|  | #define __IMFMediaBuffer_FWD_DEFINED__ | 
|  | typedef interface IMFMediaBuffer IMFMediaBuffer; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMFSample_FWD_DEFINED__ | 
|  | #define __IMFSample_FWD_DEFINED__ | 
|  | typedef interface IMFSample IMFSample; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMF2DBuffer_FWD_DEFINED__ | 
|  | #define __IMF2DBuffer_FWD_DEFINED__ | 
|  | typedef interface IMF2DBuffer IMF2DBuffer; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMFMediaType_FWD_DEFINED__ | 
|  | #define __IMFMediaType_FWD_DEFINED__ | 
|  | typedef interface IMFMediaType IMFMediaType; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMFAudioMediaType_FWD_DEFINED__ | 
|  | #define __IMFAudioMediaType_FWD_DEFINED__ | 
|  | typedef interface IMFAudioMediaType IMFAudioMediaType; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMFVideoMediaType_FWD_DEFINED__ | 
|  | #define __IMFVideoMediaType_FWD_DEFINED__ | 
|  | typedef interface IMFVideoMediaType IMFVideoMediaType; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMFAsyncResult_FWD_DEFINED__ | 
|  | #define __IMFAsyncResult_FWD_DEFINED__ | 
|  | typedef interface IMFAsyncResult IMFAsyncResult; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMFAsyncCallback_FWD_DEFINED__ | 
|  | #define __IMFAsyncCallback_FWD_DEFINED__ | 
|  | typedef interface IMFAsyncCallback IMFAsyncCallback; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMFRemoteAsyncCallback_FWD_DEFINED__ | 
|  | #define __IMFRemoteAsyncCallback_FWD_DEFINED__ | 
|  | typedef interface IMFRemoteAsyncCallback IMFRemoteAsyncCallback; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMFMediaEvent_FWD_DEFINED__ | 
|  | #define __IMFMediaEvent_FWD_DEFINED__ | 
|  | typedef interface IMFMediaEvent IMFMediaEvent; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMFMediaEventGenerator_FWD_DEFINED__ | 
|  | #define __IMFMediaEventGenerator_FWD_DEFINED__ | 
|  | typedef interface IMFMediaEventGenerator IMFMediaEventGenerator; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMFByteStream_FWD_DEFINED__ | 
|  | #define __IMFByteStream_FWD_DEFINED__ | 
|  | typedef interface IMFByteStream IMFByteStream; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMFCollection_FWD_DEFINED__ | 
|  | #define __IMFCollection_FWD_DEFINED__ | 
|  | typedef interface IMFCollection IMFCollection; | 
|  | #endif | 
|  |  | 
|  | /* Headers for imported files */ | 
|  |  | 
|  | #include <unknwn.h> | 
|  | #include <propsys.h> | 
|  | #include <mediaobj.h> | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | extern "C" { | 
|  | #endif | 
|  |  | 
|  | #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_mmreg_h_generated_name_00000000 { | 
|  | WORD wFormatTag; | 
|  | WORD nChannels; | 
|  | DWORD nSamplesPerSec; | 
|  | DWORD nAvgBytesPerSec; | 
|  | WORD nBlockAlign; | 
|  | WORD wBitsPerSample; | 
|  | WORD cbSize; | 
|  | WORD wValidBitsPerSample; | 
|  | DWORD dwChannelMask; | 
|  | GUID SubFormat; | 
|  | } WAVEFORMATEXTENSIBLE; | 
|  | typedef struct __WIDL_mmreg_h_generated_name_00000000 *PWAVEFORMATEXTENSIBLE; | 
|  | #endif | 
|  | typedef ULONGLONG QWORD; | 
|  | 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 | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE IMFAttributes_GetItem_Proxy( | 
|  | IMFAttributes* This, | 
|  | REFGUID guidKey, | 
|  | PROPVARIANT *pValue); | 
|  | void __RPC_STUB IMFAttributes_GetItem_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFAttributes_GetItemType_Proxy( | 
|  | IMFAttributes* This, | 
|  | REFGUID guidKey, | 
|  | MF_ATTRIBUTE_TYPE *pType); | 
|  | void __RPC_STUB IMFAttributes_GetItemType_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFAttributes_CompareItem_Proxy( | 
|  | IMFAttributes* This, | 
|  | REFGUID guidKey, | 
|  | REFPROPVARIANT Value, | 
|  | WINBOOL *pbResult); | 
|  | void __RPC_STUB IMFAttributes_CompareItem_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFAttributes_Compare_Proxy( | 
|  | IMFAttributes* This, | 
|  | IMFAttributes *pTheirs, | 
|  | MF_ATTRIBUTES_MATCH_TYPE MatchType, | 
|  | WINBOOL *pbResult); | 
|  | void __RPC_STUB IMFAttributes_Compare_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFAttributes_GetUINT32_Proxy( | 
|  | IMFAttributes* This, | 
|  | REFGUID guidKey, | 
|  | UINT32 *punValue); | 
|  | void __RPC_STUB IMFAttributes_GetUINT32_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFAttributes_GetUINT64_Proxy( | 
|  | IMFAttributes* This, | 
|  | REFGUID guidKey, | 
|  | UINT64 *punValue); | 
|  | void __RPC_STUB IMFAttributes_GetUINT64_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFAttributes_GetDouble_Proxy( | 
|  | IMFAttributes* This, | 
|  | REFGUID guidKey, | 
|  | double *pfValue); | 
|  | void __RPC_STUB IMFAttributes_GetDouble_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFAttributes_GetGUID_Proxy( | 
|  | IMFAttributes* This, | 
|  | REFGUID guidKey, | 
|  | GUID *pguidValue); | 
|  | void __RPC_STUB IMFAttributes_GetGUID_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFAttributes_GetStringLength_Proxy( | 
|  | IMFAttributes* This, | 
|  | REFGUID guidKey, | 
|  | UINT32 *pcchLength); | 
|  | void __RPC_STUB IMFAttributes_GetStringLength_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFAttributes_GetString_Proxy( | 
|  | IMFAttributes* This, | 
|  | REFGUID guidKey, | 
|  | LPWSTR pwszValue, | 
|  | UINT32 cchBufSize, | 
|  | UINT32 *pcchLength); | 
|  | void __RPC_STUB IMFAttributes_GetString_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFAttributes_GetAllocatedString_Proxy( | 
|  | IMFAttributes* This, | 
|  | REFGUID guidKey, | 
|  | LPWSTR *ppwszValue, | 
|  | UINT32 *pcchLength); | 
|  | void __RPC_STUB IMFAttributes_GetAllocatedString_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFAttributes_GetBlobSize_Proxy( | 
|  | IMFAttributes* This, | 
|  | REFGUID guidKey, | 
|  | UINT32 *pcbBlobSize); | 
|  | void __RPC_STUB IMFAttributes_GetBlobSize_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFAttributes_GetBlob_Proxy( | 
|  | IMFAttributes* This, | 
|  | REFGUID guidKey, | 
|  | UINT8 *pBuf, | 
|  | UINT32 cbBufSize, | 
|  | UINT32 *pcbBlobSize); | 
|  | void __RPC_STUB IMFAttributes_GetBlob_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFAttributes_GetAllocatedBlob_Proxy( | 
|  | IMFAttributes* This, | 
|  | REFGUID guidKey, | 
|  | UINT8 **ppBuf, | 
|  | UINT32 *pcbSize); | 
|  | void __RPC_STUB IMFAttributes_GetAllocatedBlob_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFAttributes_GetUnknown_Proxy( | 
|  | IMFAttributes* This, | 
|  | REFGUID guidKey, | 
|  | REFIID riid, | 
|  | LPVOID *ppv); | 
|  | void __RPC_STUB IMFAttributes_GetUnknown_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFAttributes_SetItem_Proxy( | 
|  | IMFAttributes* This, | 
|  | REFGUID guidKey, | 
|  | REFPROPVARIANT Value); | 
|  | void __RPC_STUB IMFAttributes_SetItem_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFAttributes_DeleteItem_Proxy( | 
|  | IMFAttributes* This, | 
|  | REFGUID guidKey); | 
|  | void __RPC_STUB IMFAttributes_DeleteItem_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFAttributes_DeleteAllItems_Proxy( | 
|  | IMFAttributes* This); | 
|  | void __RPC_STUB IMFAttributes_DeleteAllItems_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFAttributes_SetUINT32_Proxy( | 
|  | IMFAttributes* This, | 
|  | REFGUID guidKey, | 
|  | UINT32 unValue); | 
|  | void __RPC_STUB IMFAttributes_SetUINT32_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFAttributes_SetUINT64_Proxy( | 
|  | IMFAttributes* This, | 
|  | REFGUID guidKey, | 
|  | UINT64 unValue); | 
|  | void __RPC_STUB IMFAttributes_SetUINT64_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFAttributes_SetDouble_Proxy( | 
|  | IMFAttributes* This, | 
|  | REFGUID guidKey, | 
|  | double fValue); | 
|  | void __RPC_STUB IMFAttributes_SetDouble_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFAttributes_SetGUID_Proxy( | 
|  | IMFAttributes* This, | 
|  | REFGUID guidKey, | 
|  | REFGUID guidValue); | 
|  | void __RPC_STUB IMFAttributes_SetGUID_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFAttributes_SetString_Proxy( | 
|  | IMFAttributes* This, | 
|  | REFGUID guidKey, | 
|  | LPCWSTR wszValue); | 
|  | void __RPC_STUB IMFAttributes_SetString_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFAttributes_SetBlob_Proxy( | 
|  | IMFAttributes* This, | 
|  | REFGUID guidKey, | 
|  | const UINT8 *pBuf, | 
|  | UINT32 cbBufSize); | 
|  | void __RPC_STUB IMFAttributes_SetBlob_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFAttributes_SetUnknown_Proxy( | 
|  | IMFAttributes* This, | 
|  | REFGUID guidKey, | 
|  | IUnknown *pUnknown); | 
|  | void __RPC_STUB IMFAttributes_SetUnknown_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFAttributes_LockStore_Proxy( | 
|  | IMFAttributes* This); | 
|  | void __RPC_STUB IMFAttributes_LockStore_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFAttributes_UnlockStore_Proxy( | 
|  | IMFAttributes* This); | 
|  | void __RPC_STUB IMFAttributes_UnlockStore_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFAttributes_GetCount_Proxy( | 
|  | IMFAttributes* This, | 
|  | UINT32 *pcItems); | 
|  | void __RPC_STUB IMFAttributes_GetCount_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFAttributes_GetItemByIndex_Proxy( | 
|  | IMFAttributes* This, | 
|  | UINT32 unIndex, | 
|  | GUID *pguidKey, | 
|  | PROPVARIANT *pValue); | 
|  | void __RPC_STUB IMFAttributes_GetItemByIndex_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFAttributes_CopyAllItems_Proxy( | 
|  | IMFAttributes* This, | 
|  | IMFAttributes *pDest); | 
|  | void __RPC_STUB IMFAttributes_CopyAllItems_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __IMFAttributes_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | enum MF_ATTRIBUTE_SERIALIZE_OPTIONS { | 
|  | MF_ATTRIBUTE_SERIALIZE_UNKNOWN_BYREF = 0x1 | 
|  | }; | 
|  |  | 
|  | /***************************************************************************** | 
|  | * 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 | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE IMFMediaBuffer_Lock_Proxy( | 
|  | IMFMediaBuffer* This, | 
|  | BYTE **ppbBuffer, | 
|  | DWORD *pcbMaxLength, | 
|  | DWORD *pcbCurrentLength); | 
|  | void __RPC_STUB IMFMediaBuffer_Lock_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFMediaBuffer_Unlock_Proxy( | 
|  | IMFMediaBuffer* This); | 
|  | void __RPC_STUB IMFMediaBuffer_Unlock_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFMediaBuffer_GetCurrentLength_Proxy( | 
|  | IMFMediaBuffer* This, | 
|  | DWORD *pcbCurrentLength); | 
|  | void __RPC_STUB IMFMediaBuffer_GetCurrentLength_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFMediaBuffer_SetCurrentLength_Proxy( | 
|  | IMFMediaBuffer* This, | 
|  | DWORD cbCurrentLength); | 
|  | void __RPC_STUB IMFMediaBuffer_SetCurrentLength_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFMediaBuffer_GetMaxLength_Proxy( | 
|  | IMFMediaBuffer* This, | 
|  | DWORD *pcbMaxLength); | 
|  | void __RPC_STUB IMFMediaBuffer_GetMaxLength_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #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 | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE IMFSample_GetSampleFlags_Proxy( | 
|  | IMFSample* This, | 
|  | DWORD *pdwSampleFlags); | 
|  | void __RPC_STUB IMFSample_GetSampleFlags_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFSample_SetSampleFlags_Proxy( | 
|  | IMFSample* This, | 
|  | DWORD dwSampleFlags); | 
|  | void __RPC_STUB IMFSample_SetSampleFlags_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFSample_GetSampleTime_Proxy( | 
|  | IMFSample* This, | 
|  | LONGLONG *phnsSampleTime); | 
|  | void __RPC_STUB IMFSample_GetSampleTime_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFSample_SetSampleTime_Proxy( | 
|  | IMFSample* This, | 
|  | LONGLONG hnsSampleTime); | 
|  | void __RPC_STUB IMFSample_SetSampleTime_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFSample_GetSampleDuration_Proxy( | 
|  | IMFSample* This, | 
|  | LONGLONG *phnsSampleDuration); | 
|  | void __RPC_STUB IMFSample_GetSampleDuration_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFSample_SetSampleDuration_Proxy( | 
|  | IMFSample* This, | 
|  | LONGLONG hnsSampleDuration); | 
|  | void __RPC_STUB IMFSample_SetSampleDuration_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFSample_GetBufferCount_Proxy( | 
|  | IMFSample* This, | 
|  | DWORD *pdwBufferCount); | 
|  | void __RPC_STUB IMFSample_GetBufferCount_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFSample_GetBufferByIndex_Proxy( | 
|  | IMFSample* This, | 
|  | DWORD dwIndex, | 
|  | IMFMediaBuffer **ppBuffer); | 
|  | void __RPC_STUB IMFSample_GetBufferByIndex_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFSample_ConvertToContiguousBuffer_Proxy( | 
|  | IMFSample* This, | 
|  | IMFMediaBuffer **ppBuffer); | 
|  | void __RPC_STUB IMFSample_ConvertToContiguousBuffer_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFSample_AddBuffer_Proxy( | 
|  | IMFSample* This, | 
|  | IMFMediaBuffer *pBuffer); | 
|  | void __RPC_STUB IMFSample_AddBuffer_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFSample_RemoveBufferByIndex_Proxy( | 
|  | IMFSample* This, | 
|  | DWORD dwIndex); | 
|  | void __RPC_STUB IMFSample_RemoveBufferByIndex_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFSample_RemoveAllBuffers_Proxy( | 
|  | IMFSample* This); | 
|  | void __RPC_STUB IMFSample_RemoveAllBuffers_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFSample_GetTotalLength_Proxy( | 
|  | IMFSample* This, | 
|  | DWORD *pcbTotalLength); | 
|  | void __RPC_STUB IMFSample_GetTotalLength_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFSample_CopyToBuffer_Proxy( | 
|  | IMFSample* This, | 
|  | IMFMediaBuffer *pBuffer); | 
|  | void __RPC_STUB IMFSample_CopyToBuffer_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #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 **pbScanline0, | 
|  | 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 **pbScanline0, | 
|  | 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,pbScanline0,plPitch) (This)->lpVtbl->Lock2D(This,pbScanline0,plPitch) | 
|  | #define IMF2DBuffer_Unlock2D(This) (This)->lpVtbl->Unlock2D(This) | 
|  | #define IMF2DBuffer_GetScanline0AndPitch(This,pbScanline0,plPitch) (This)->lpVtbl->GetScanline0AndPitch(This,pbScanline0,plPitch) | 
|  | #define IMF2DBuffer_IsContiguousFormat(This,pfIsContiguous) (This)->lpVtbl->IsContiguousFormat(This,pfIsContiguous) | 
|  | #define IMF2DBuffer_GetContiguousLength(This,pcbLength) (This)->lpVtbl->GetContiguousLength(This,pcbLength) | 
|  | #define IMF2DBuffer_ContiguousCopyTo(This,pbDestBuffer,cbDestBuffer) (This)->lpVtbl->ContiguousCopyTo(This,pbDestBuffer,cbDestBuffer) | 
|  | #define IMF2DBuffer_ContiguousCopyFrom(This,pbSrcBuffer,cbSrcBuffer) (This)->lpVtbl->ContiguousCopyFrom(This,pbSrcBuffer,cbSrcBuffer) | 
|  | #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 **pbScanline0,LONG *plPitch) { | 
|  | return This->lpVtbl->Lock2D(This,pbScanline0,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 | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE IMF2DBuffer_Lock2D_Proxy( | 
|  | IMF2DBuffer* This, | 
|  | BYTE **pbScanline0, | 
|  | LONG *plPitch); | 
|  | void __RPC_STUB IMF2DBuffer_Lock2D_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMF2DBuffer_Unlock2D_Proxy( | 
|  | IMF2DBuffer* This); | 
|  | void __RPC_STUB IMF2DBuffer_Unlock2D_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMF2DBuffer_GetScanline0AndPitch_Proxy( | 
|  | IMF2DBuffer* This, | 
|  | BYTE **pbScanline0, | 
|  | LONG *plPitch); | 
|  | void __RPC_STUB IMF2DBuffer_GetScanline0AndPitch_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMF2DBuffer_IsContiguousFormat_Proxy( | 
|  | IMF2DBuffer* This, | 
|  | WINBOOL *pfIsContiguous); | 
|  | void __RPC_STUB IMF2DBuffer_IsContiguousFormat_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMF2DBuffer_GetContiguousLength_Proxy( | 
|  | IMF2DBuffer* This, | 
|  | DWORD *pcbLength); | 
|  | void __RPC_STUB IMF2DBuffer_GetContiguousLength_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMF2DBuffer_ContiguousCopyTo_Proxy( | 
|  | IMF2DBuffer* This, | 
|  | BYTE *pbDestBuffer, | 
|  | DWORD cbDestBuffer); | 
|  | void __RPC_STUB IMF2DBuffer_ContiguousCopyTo_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMF2DBuffer_ContiguousCopyFrom_Proxy( | 
|  | IMF2DBuffer* This, | 
|  | const BYTE *pbSrcBuffer, | 
|  | DWORD cbSrcBuffer); | 
|  | void __RPC_STUB IMF2DBuffer_ContiguousCopyFrom_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __IMF2DBuffer_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 | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE IMFMediaType_GetMajorType_Proxy( | 
|  | IMFMediaType* This, | 
|  | GUID *pguidMajorType); | 
|  | void __RPC_STUB IMFMediaType_GetMajorType_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFMediaType_IsCompressedFormat_Proxy( | 
|  | IMFMediaType* This, | 
|  | WINBOOL *pfCompressed); | 
|  | void __RPC_STUB IMFMediaType_IsCompressedFormat_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFMediaType_IsEqual_Proxy( | 
|  | IMFMediaType* This, | 
|  | IMFMediaType *pIMediaType, | 
|  | DWORD *pdwFlags); | 
|  | void __RPC_STUB IMFMediaType_IsEqual_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFMediaType_GetRepresentation_Proxy( | 
|  | IMFMediaType* This, | 
|  | GUID guidRepresentation, | 
|  | LPVOID *ppvRepresentation); | 
|  | void __RPC_STUB IMFMediaType_GetRepresentation_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFMediaType_FreeRepresentation_Proxy( | 
|  | IMFMediaType* This, | 
|  | GUID guidRepresentation, | 
|  | LPVOID pvRepresentation); | 
|  | void __RPC_STUB IMFMediaType_FreeRepresentation_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __IMFMediaType_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * 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 | 
|  |  | 
|  | const WAVEFORMATEX * STDMETHODCALLTYPE IMFAudioMediaType_GetAudioFormat_Proxy( | 
|  | IMFAudioMediaType* This); | 
|  | void __RPC_STUB IMFAudioMediaType_GetAudioFormat_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __IMFAudioMediaType_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef struct __WIDL_mmreg_h_generated_name_00000001 { | 
|  | GUID guidMajorType; | 
|  | GUID guidSubtype; | 
|  | } MFT_REGISTER_TYPE_INFO; | 
|  | typedef struct _MFRatio { | 
|  | DWORD Numerator; | 
|  | DWORD Denominator; | 
|  | } MFRatio; | 
|  | typedef struct _MFOffset { | 
|  | WORD fract; | 
|  | short value; | 
|  | } MFOffset; | 
|  | typedef struct _MFVideoArea { | 
|  | MFOffset OffsetX; | 
|  | MFOffset OffsetY; | 
|  | SIZE Area; | 
|  | } MFVideoArea; | 
|  | typedef enum _MFVideoChromaSubsampling { | 
|  | MFVideoChromaSubsampling_Unknown = 0, | 
|  | MFVideoChromaSubsampling_ProgressiveChroma = 0x8, | 
|  | MFVideoChromaSubsampling_Horizontally_Cosited = 0x4, | 
|  | MFVideoChromaSubsampling_Vertically_Cosited = 0x2, | 
|  | MFVideoChromaSubsampling_Vertically_AlignedChromaPlanes = 0x1, | 
|  | MFVideoChromaSubsampling_MPEG2 = MFVideoChromaSubsampling_Horizontally_Cosited | MFVideoChromaSubsampling_Vertically_AlignedChromaPlanes, | 
|  | MFVideoChromaSubsampling_MPEG1 = MFVideoChromaSubsampling_Vertically_AlignedChromaPlanes, | 
|  | MFVideoChromaSubsampling_DV_PAL = MFVideoChromaSubsampling_Horizontally_Cosited | MFVideoChromaSubsampling_Vertically_Cosited, | 
|  | MFVideoChromaSubsampling_Cosited = (MFVideoChromaSubsampling_Horizontally_Cosited | MFVideoChromaSubsampling_Vertically_Cosited) | MFVideoChromaSubsampling_Vertically_AlignedChromaPlanes, | 
|  | MFVideoChromaSubsampling_Last = MFVideoChromaSubsampling_Cosited + 1, | 
|  | MFVideoChromaSubsampling_ForceDWORD = 0x7fffffff | 
|  | } MFVideoChromaSubsampling; | 
|  | typedef enum _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; | 
|  | typedef enum _MFVideoTransferFunction { | 
|  | MFVideoTransFunc_Unknown = 0, | 
|  | MFVideoTransFunc_10 = 1, | 
|  | MFVideoTransFunc_18 = 2, | 
|  | MFVideoTransFunc_20 = 3, | 
|  | MFVideoTransFunc_22 = 4, | 
|  | MFVideoTransFunc_709 = 5, | 
|  | MFVideoTransFunc_240M = 6, | 
|  | MFVideoTransFunc_sRGB = 7, | 
|  | MFVideoTransFunc_28 = 8, | 
|  | MFVideoTransFunc_Log_100 = 9, | 
|  | MFVideoTransFunc_Log_316 = 10, | 
|  | MFVideoTransFunc_709_sym = 11, | 
|  | MFVideoTransFunc_Last = 12, | 
|  | MFVideoTransFunc_ForceDWORD = 0x7fffffff | 
|  | } MFVideoTransferFunction; | 
|  | typedef enum _MFVideoTransferMatrix { | 
|  | MFVideoTransferMatrix_Unknown = 0, | 
|  | MFVideoTransferMatrix_BT709 = 1, | 
|  | MFVideoTransferMatrix_BT601 = 2, | 
|  | MFVideoTransferMatrix_SMPTE240M = 3, | 
|  | MFVideoTransferMatrix_Last = 4, | 
|  | MFVideoTransferMatrix_ForceDWORD = 0x7fffffff | 
|  | } MFVideoTransferMatrix; | 
|  | typedef enum _MFVideoPrimaries { | 
|  | MFVideoPrimaries_Unknown = 0, | 
|  | MFVideoPrimaries_reserved = 1, | 
|  | MFVideoPrimaries_BT709 = 2, | 
|  | MFVideoPrimaries_BT470_2_SysM = 3, | 
|  | MFVideoPrimaries_BT470_2_SysBG = 4, | 
|  | MFVideoPrimaries_SMPTE170M = 5, | 
|  | MFVideoPrimaries_SMPTE240M = 6, | 
|  | MFVideoPrimaries_EBU3213 = 7, | 
|  | MFVideoPrimaries_SMPTE_C = 8, | 
|  | MFVideoPrimaries_Last = 9, | 
|  | MFVideoPrimaries_ForceDWORD = 0x7fffffff | 
|  | } MFVideoPrimaries; | 
|  | typedef enum _MFVideoLighting { | 
|  | MFVideoLighting_Unknown = 0, | 
|  | MFVideoLighting_bright = 1, | 
|  | MFVideoLighting_office = 2, | 
|  | MFVideoLighting_dim = 3, | 
|  | MFVideoLighting_dark = 4, | 
|  | MFVideoLighting_Last = 5, | 
|  | MFVideoLighting_ForceDWORD = 0x7fffffff | 
|  | } MFVideoLighting; | 
|  | typedef enum _MFNominalRange { | 
|  | MFNominalRange_Unknown = 0, | 
|  | MFNominalRange_Normal = 1, | 
|  | MFNominalRange_Wide = 2, | 
|  | MFNominalRange_0_255 = 1, | 
|  | MFNominalRange_16_235 = 2, | 
|  | MFNominalRange_48_208 = 3, | 
|  | MFNominalRange_64_127 = 4 | 
|  | } MFNominalRange; | 
|  | typedef struct _MFVideoInfo { | 
|  | DWORD dwWidth; | 
|  | DWORD dwHeight; | 
|  | MFRatio PixelAspectRatio; | 
|  | MFVideoChromaSubsampling SourceChromaSubsampling; | 
|  | MFVideoInterlaceMode InterlaceMode; | 
|  | MFVideoTransferFunction TransferFunction; | 
|  | MFVideoPrimaries ColorPrimaries; | 
|  | MFVideoTransferMatrix TransferMatrix; | 
|  | MFVideoLighting SourceLighting; | 
|  | MFRatio FramesPerSecond; | 
|  | MFNominalRange NominalRange; | 
|  | MFVideoArea GeometricAperture; | 
|  | MFVideoArea MinimumDisplayAperture; | 
|  | MFVideoArea PanScanAperture; | 
|  | UINT64 VideoFlags; | 
|  | } MFVideoInfo; | 
|  | typedef struct _MFVideoCompressedInfo { | 
|  | LONGLONG AvgBitrate; | 
|  | LONGLONG AvgBitErrorRate; | 
|  | DWORD MaxKeyFrameSpacing; | 
|  | } MFVideoCompressedInfo; | 
|  | typedef struct _MFARGB { | 
|  | BYTE rgbBlue; | 
|  | BYTE rgbGreen; | 
|  | BYTE rgbRed; | 
|  | BYTE rgbAlpha; | 
|  | } MFARGB; | 
|  | typedef struct __MFAYUVSample { | 
|  | BYTE bCrValue; | 
|  | BYTE bCbValue; | 
|  | BYTE bYValue; | 
|  | BYTE bSampleAlpha8; | 
|  | } MFAYUVSample; | 
|  | typedef union _MFPaletteEntry { | 
|  | MFARGB ARGB; | 
|  | MFAYUVSample AYCbCr; | 
|  | } MFPaletteEntry; | 
|  | typedef struct _MFVideoSurfaceInfo { | 
|  | DWORD Format; | 
|  | DWORD PaletteEntries; | 
|  | MFPaletteEntry Palette[1]; | 
|  | } MFVideoSurfaceInfo; | 
|  | typedef struct _MFVIDEOFORMAT { | 
|  | DWORD dwSize; | 
|  | MFVideoInfo videoInfo; | 
|  | GUID guidFormat; | 
|  | MFVideoCompressedInfo compressedInfo; | 
|  | MFVideoSurfaceInfo surfaceInfo; | 
|  | } MFVIDEOFORMAT; | 
|  | /***************************************************************************** | 
|  | * IMFVideoMediaType interface | 
|  | */ | 
|  | #ifndef __IMFVideoMediaType_INTERFACE_DEFINED__ | 
|  | #define __IMFVideoMediaType_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IMFVideoMediaType, 0xb99f381f, 0xa8f9, 0x47a2, 0xa5,0xaf, 0xca,0x3a,0x22,0x5a,0x38,0x90); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("b99f381f-a8f9-47a2-a5af-ca3a225a3890") | 
|  | IMFVideoMediaType : public IMFMediaType | 
|  | { | 
|  | virtual const MFVIDEOFORMAT * STDMETHODCALLTYPE GetVideoFormat( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetVideoRepresentation( | 
|  | GUID guidRepresentation, | 
|  | LPVOID *ppvRepresentation, | 
|  | LONG lStride) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IMFVideoMediaType, 0xb99f381f, 0xa8f9, 0x47a2, 0xa5,0xaf, 0xca,0x3a,0x22,0x5a,0x38,0x90) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IMFVideoMediaTypeVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IMFVideoMediaType* This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IMFVideoMediaType* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IMFVideoMediaType* This); | 
|  |  | 
|  | /*** IMFAttributes methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetItem)( | 
|  | IMFVideoMediaType* This, | 
|  | REFGUID guidKey, | 
|  | PROPVARIANT *pValue); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetItemType)( | 
|  | IMFVideoMediaType* This, | 
|  | REFGUID guidKey, | 
|  | MF_ATTRIBUTE_TYPE *pType); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CompareItem)( | 
|  | IMFVideoMediaType* This, | 
|  | REFGUID guidKey, | 
|  | REFPROPVARIANT Value, | 
|  | WINBOOL *pbResult); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Compare)( | 
|  | IMFVideoMediaType* This, | 
|  | IMFAttributes *pTheirs, | 
|  | MF_ATTRIBUTES_MATCH_TYPE MatchType, | 
|  | WINBOOL *pbResult); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetUINT32)( | 
|  | IMFVideoMediaType* This, | 
|  | REFGUID guidKey, | 
|  | UINT32 *punValue); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetUINT64)( | 
|  | IMFVideoMediaType* This, | 
|  | REFGUID guidKey, | 
|  | UINT64 *punValue); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDouble)( | 
|  | IMFVideoMediaType* This, | 
|  | REFGUID guidKey, | 
|  | double *pfValue); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetGUID)( | 
|  | IMFVideoMediaType* This, | 
|  | REFGUID guidKey, | 
|  | GUID *pguidValue); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetStringLength)( | 
|  | IMFVideoMediaType* This, | 
|  | REFGUID guidKey, | 
|  | UINT32 *pcchLength); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetString)( | 
|  | IMFVideoMediaType* This, | 
|  | REFGUID guidKey, | 
|  | LPWSTR pwszValue, | 
|  | UINT32 cchBufSize, | 
|  | UINT32 *pcchLength); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetAllocatedString)( | 
|  | IMFVideoMediaType* This, | 
|  | REFGUID guidKey, | 
|  | LPWSTR *ppwszValue, | 
|  | UINT32 *pcchLength); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetBlobSize)( | 
|  | IMFVideoMediaType* This, | 
|  | REFGUID guidKey, | 
|  | UINT32 *pcbBlobSize); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetBlob)( | 
|  | IMFVideoMediaType* This, | 
|  | REFGUID guidKey, | 
|  | UINT8 *pBuf, | 
|  | UINT32 cbBufSize, | 
|  | UINT32 *pcbBlobSize); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetAllocatedBlob)( | 
|  | IMFVideoMediaType* This, | 
|  | REFGUID guidKey, | 
|  | UINT8 **ppBuf, | 
|  | UINT32 *pcbSize); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetUnknown)( | 
|  | IMFVideoMediaType* This, | 
|  | REFGUID guidKey, | 
|  | REFIID riid, | 
|  | LPVOID *ppv); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetItem)( | 
|  | IMFVideoMediaType* This, | 
|  | REFGUID guidKey, | 
|  | REFPROPVARIANT Value); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *DeleteItem)( | 
|  | IMFVideoMediaType* This, | 
|  | REFGUID guidKey); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *DeleteAllItems)( | 
|  | IMFVideoMediaType* This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetUINT32)( | 
|  | IMFVideoMediaType* This, | 
|  | REFGUID guidKey, | 
|  | UINT32 unValue); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetUINT64)( | 
|  | IMFVideoMediaType* This, | 
|  | REFGUID guidKey, | 
|  | UINT64 unValue); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetDouble)( | 
|  | IMFVideoMediaType* This, | 
|  | REFGUID guidKey, | 
|  | double fValue); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetGUID)( | 
|  | IMFVideoMediaType* This, | 
|  | REFGUID guidKey, | 
|  | REFGUID guidValue); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetString)( | 
|  | IMFVideoMediaType* This, | 
|  | REFGUID guidKey, | 
|  | LPCWSTR wszValue); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetBlob)( | 
|  | IMFVideoMediaType* This, | 
|  | REFGUID guidKey, | 
|  | const UINT8 *pBuf, | 
|  | UINT32 cbBufSize); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetUnknown)( | 
|  | IMFVideoMediaType* This, | 
|  | REFGUID guidKey, | 
|  | IUnknown *pUnknown); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *LockStore)( | 
|  | IMFVideoMediaType* This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *UnlockStore)( | 
|  | IMFVideoMediaType* This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetCount)( | 
|  | IMFVideoMediaType* This, | 
|  | UINT32 *pcItems); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetItemByIndex)( | 
|  | IMFVideoMediaType* This, | 
|  | UINT32 unIndex, | 
|  | GUID *pguidKey, | 
|  | PROPVARIANT *pValue); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CopyAllItems)( | 
|  | IMFVideoMediaType* This, | 
|  | IMFAttributes *pDest); | 
|  |  | 
|  | /*** IMFMediaType methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetMajorType)( | 
|  | IMFVideoMediaType* This, | 
|  | GUID *pguidMajorType); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *IsCompressedFormat)( | 
|  | IMFVideoMediaType* This, | 
|  | WINBOOL *pfCompressed); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *IsEqual)( | 
|  | IMFVideoMediaType* This, | 
|  | IMFMediaType *pIMediaType, | 
|  | DWORD *pdwFlags); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetRepresentation)( | 
|  | IMFVideoMediaType* This, | 
|  | GUID guidRepresentation, | 
|  | LPVOID *ppvRepresentation); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *FreeRepresentation)( | 
|  | IMFVideoMediaType* This, | 
|  | GUID guidRepresentation, | 
|  | LPVOID pvRepresentation); | 
|  |  | 
|  | /*** IMFVideoMediaType methods ***/ | 
|  | const MFVIDEOFORMAT * (STDMETHODCALLTYPE *GetVideoFormat)( | 
|  | IMFVideoMediaType* This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetVideoRepresentation)( | 
|  | IMFVideoMediaType* This, | 
|  | GUID guidRepresentation, | 
|  | LPVOID *ppvRepresentation, | 
|  | LONG lStride); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IMFVideoMediaTypeVtbl; | 
|  | interface IMFVideoMediaType { | 
|  | CONST_VTBL IMFVideoMediaTypeVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IMFVideoMediaType_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IMFVideoMediaType_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IMFVideoMediaType_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IMFAttributes methods ***/ | 
|  | #define IMFVideoMediaType_GetItem(This,guidKey,pValue) (This)->lpVtbl->GetItem(This,guidKey,pValue) | 
|  | #define IMFVideoMediaType_GetItemType(This,guidKey,pType) (This)->lpVtbl->GetItemType(This,guidKey,pType) | 
|  | #define IMFVideoMediaType_CompareItem(This,guidKey,Value,pbResult) (This)->lpVtbl->CompareItem(This,guidKey,Value,pbResult) | 
|  | #define IMFVideoMediaType_Compare(This,pTheirs,MatchType,pbResult) (This)->lpVtbl->Compare(This,pTheirs,MatchType,pbResult) | 
|  | #define IMFVideoMediaType_GetUINT32(This,guidKey,punValue) (This)->lpVtbl->GetUINT32(This,guidKey,punValue) | 
|  | #define IMFVideoMediaType_GetUINT64(This,guidKey,punValue) (This)->lpVtbl->GetUINT64(This,guidKey,punValue) | 
|  | #define IMFVideoMediaType_GetDouble(This,guidKey,pfValue) (This)->lpVtbl->GetDouble(This,guidKey,pfValue) | 
|  | #define IMFVideoMediaType_GetGUID(This,guidKey,pguidValue) (This)->lpVtbl->GetGUID(This,guidKey,pguidValue) | 
|  | #define IMFVideoMediaType_GetStringLength(This,guidKey,pcchLength) (This)->lpVtbl->GetStringLength(This,guidKey,pcchLength) | 
|  | #define IMFVideoMediaType_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) (This)->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) | 
|  | #define IMFVideoMediaType_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) (This)->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength) | 
|  | #define IMFVideoMediaType_GetBlobSize(This,guidKey,pcbBlobSize) (This)->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize) | 
|  | #define IMFVideoMediaType_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) (This)->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) | 
|  | #define IMFVideoMediaType_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) (This)->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) | 
|  | #define IMFVideoMediaType_GetUnknown(This,guidKey,riid,ppv) (This)->lpVtbl->GetUnknown(This,guidKey,riid,ppv) | 
|  | #define IMFVideoMediaType_SetItem(This,guidKey,Value) (This)->lpVtbl->SetItem(This,guidKey,Value) | 
|  | #define IMFVideoMediaType_DeleteItem(This,guidKey) (This)->lpVtbl->DeleteItem(This,guidKey) | 
|  | #define IMFVideoMediaType_DeleteAllItems(This) (This)->lpVtbl->DeleteAllItems(This) | 
|  | #define IMFVideoMediaType_SetUINT32(This,guidKey,unValue) (This)->lpVtbl->SetUINT32(This,guidKey,unValue) | 
|  | #define IMFVideoMediaType_SetUINT64(This,guidKey,unValue) (This)->lpVtbl->SetUINT64(This,guidKey,unValue) | 
|  | #define IMFVideoMediaType_SetDouble(This,guidKey,fValue) (This)->lpVtbl->SetDouble(This,guidKey,fValue) | 
|  | #define IMFVideoMediaType_SetGUID(This,guidKey,guidValue) (This)->lpVtbl->SetGUID(This,guidKey,guidValue) | 
|  | #define IMFVideoMediaType_SetString(This,guidKey,wszValue) (This)->lpVtbl->SetString(This,guidKey,wszValue) | 
|  | #define IMFVideoMediaType_SetBlob(This,guidKey,pBuf,cbBufSize) (This)->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize) | 
|  | #define IMFVideoMediaType_SetUnknown(This,guidKey,pUnknown) (This)->lpVtbl->SetUnknown(This,guidKey,pUnknown) | 
|  | #define IMFVideoMediaType_LockStore(This) (This)->lpVtbl->LockStore(This) | 
|  | #define IMFVideoMediaType_UnlockStore(This) (This)->lpVtbl->UnlockStore(This) | 
|  | #define IMFVideoMediaType_GetCount(This,pcItems) (This)->lpVtbl->GetCount(This,pcItems) | 
|  | #define IMFVideoMediaType_GetItemByIndex(This,unIndex,pguidKey,pValue) (This)->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue) | 
|  | #define IMFVideoMediaType_CopyAllItems(This,pDest) (This)->lpVtbl->CopyAllItems(This,pDest) | 
|  | /*** IMFMediaType methods ***/ | 
|  | #define IMFVideoMediaType_GetMajorType(This,pguidMajorType) (This)->lpVtbl->GetMajorType(This,pguidMajorType) | 
|  | #define IMFVideoMediaType_IsCompressedFormat(This,pfCompressed) (This)->lpVtbl->IsCompressedFormat(This,pfCompressed) | 
|  | #define IMFVideoMediaType_IsEqual(This,pIMediaType,pdwFlags) (This)->lpVtbl->IsEqual(This,pIMediaType,pdwFlags) | 
|  | #define IMFVideoMediaType_GetRepresentation(This,guidRepresentation,ppvRepresentation) (This)->lpVtbl->GetRepresentation(This,guidRepresentation,ppvRepresentation) | 
|  | #define IMFVideoMediaType_FreeRepresentation(This,guidRepresentation,pvRepresentation) (This)->lpVtbl->FreeRepresentation(This,guidRepresentation,pvRepresentation) | 
|  | /*** IMFVideoMediaType methods ***/ | 
|  | #define IMFVideoMediaType_GetVideoFormat(This) (This)->lpVtbl->GetVideoFormat(This) | 
|  | #define IMFVideoMediaType_GetVideoRepresentation(This,guidRepresentation,ppvRepresentation,lStride) (This)->lpVtbl->GetVideoRepresentation(This,guidRepresentation,ppvRepresentation,lStride) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IMFVideoMediaType_QueryInterface(IMFVideoMediaType* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IMFVideoMediaType_AddRef(IMFVideoMediaType* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IMFVideoMediaType_Release(IMFVideoMediaType* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IMFAttributes methods ***/ | 
|  | static FORCEINLINE HRESULT IMFVideoMediaType_GetItem(IMFVideoMediaType* This,REFGUID guidKey,PROPVARIANT *pValue) { | 
|  | return This->lpVtbl->GetItem(This,guidKey,pValue); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFVideoMediaType_GetItemType(IMFVideoMediaType* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) { | 
|  | return This->lpVtbl->GetItemType(This,guidKey,pType); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFVideoMediaType_CompareItem(IMFVideoMediaType* This,REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) { | 
|  | return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFVideoMediaType_Compare(IMFVideoMediaType* This,IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,WINBOOL *pbResult) { | 
|  | return This->lpVtbl->Compare(This,pTheirs,MatchType,pbResult); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFVideoMediaType_GetUINT32(IMFVideoMediaType* This,REFGUID guidKey,UINT32 *punValue) { | 
|  | return This->lpVtbl->GetUINT32(This,guidKey,punValue); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFVideoMediaType_GetUINT64(IMFVideoMediaType* This,REFGUID guidKey,UINT64 *punValue) { | 
|  | return This->lpVtbl->GetUINT64(This,guidKey,punValue); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFVideoMediaType_GetDouble(IMFVideoMediaType* This,REFGUID guidKey,double *pfValue) { | 
|  | return This->lpVtbl->GetDouble(This,guidKey,pfValue); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFVideoMediaType_GetGUID(IMFVideoMediaType* This,REFGUID guidKey,GUID *pguidValue) { | 
|  | return This->lpVtbl->GetGUID(This,guidKey,pguidValue); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFVideoMediaType_GetStringLength(IMFVideoMediaType* This,REFGUID guidKey,UINT32 *pcchLength) { | 
|  | return This->lpVtbl->GetStringLength(This,guidKey,pcchLength); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFVideoMediaType_GetString(IMFVideoMediaType* This,REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) { | 
|  | return This->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFVideoMediaType_GetAllocatedString(IMFVideoMediaType* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) { | 
|  | return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFVideoMediaType_GetBlobSize(IMFVideoMediaType* This,REFGUID guidKey,UINT32 *pcbBlobSize) { | 
|  | return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFVideoMediaType_GetBlob(IMFVideoMediaType* This,REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) { | 
|  | return This->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFVideoMediaType_GetAllocatedBlob(IMFVideoMediaType* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) { | 
|  | return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFVideoMediaType_GetUnknown(IMFVideoMediaType* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) { | 
|  | return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFVideoMediaType_SetItem(IMFVideoMediaType* This,REFGUID guidKey,REFPROPVARIANT Value) { | 
|  | return This->lpVtbl->SetItem(This,guidKey,Value); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFVideoMediaType_DeleteItem(IMFVideoMediaType* This,REFGUID guidKey) { | 
|  | return This->lpVtbl->DeleteItem(This,guidKey); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFVideoMediaType_DeleteAllItems(IMFVideoMediaType* This) { | 
|  | return This->lpVtbl->DeleteAllItems(This); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFVideoMediaType_SetUINT32(IMFVideoMediaType* This,REFGUID guidKey,UINT32 unValue) { | 
|  | return This->lpVtbl->SetUINT32(This,guidKey,unValue); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFVideoMediaType_SetUINT64(IMFVideoMediaType* This,REFGUID guidKey,UINT64 unValue) { | 
|  | return This->lpVtbl->SetUINT64(This,guidKey,unValue); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFVideoMediaType_SetDouble(IMFVideoMediaType* This,REFGUID guidKey,double fValue) { | 
|  | return This->lpVtbl->SetDouble(This,guidKey,fValue); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFVideoMediaType_SetGUID(IMFVideoMediaType* This,REFGUID guidKey,REFGUID guidValue) { | 
|  | return This->lpVtbl->SetGUID(This,guidKey,guidValue); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFVideoMediaType_SetString(IMFVideoMediaType* This,REFGUID guidKey,LPCWSTR wszValue) { | 
|  | return This->lpVtbl->SetString(This,guidKey,wszValue); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFVideoMediaType_SetBlob(IMFVideoMediaType* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) { | 
|  | return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFVideoMediaType_SetUnknown(IMFVideoMediaType* This,REFGUID guidKey,IUnknown *pUnknown) { | 
|  | return This->lpVtbl->SetUnknown(This,guidKey,pUnknown); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFVideoMediaType_LockStore(IMFVideoMediaType* This) { | 
|  | return This->lpVtbl->LockStore(This); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFVideoMediaType_UnlockStore(IMFVideoMediaType* This) { | 
|  | return This->lpVtbl->UnlockStore(This); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFVideoMediaType_GetCount(IMFVideoMediaType* This,UINT32 *pcItems) { | 
|  | return This->lpVtbl->GetCount(This,pcItems); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFVideoMediaType_GetItemByIndex(IMFVideoMediaType* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) { | 
|  | return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFVideoMediaType_CopyAllItems(IMFVideoMediaType* This,IMFAttributes *pDest) { | 
|  | return This->lpVtbl->CopyAllItems(This,pDest); | 
|  | } | 
|  | /*** IMFMediaType methods ***/ | 
|  | static FORCEINLINE HRESULT IMFVideoMediaType_GetMajorType(IMFVideoMediaType* This,GUID *pguidMajorType) { | 
|  | return This->lpVtbl->GetMajorType(This,pguidMajorType); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFVideoMediaType_IsCompressedFormat(IMFVideoMediaType* This,WINBOOL *pfCompressed) { | 
|  | return This->lpVtbl->IsCompressedFormat(This,pfCompressed); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFVideoMediaType_IsEqual(IMFVideoMediaType* This,IMFMediaType *pIMediaType,DWORD *pdwFlags) { | 
|  | return This->lpVtbl->IsEqual(This,pIMediaType,pdwFlags); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFVideoMediaType_GetRepresentation(IMFVideoMediaType* This,GUID guidRepresentation,LPVOID *ppvRepresentation) { | 
|  | return This->lpVtbl->GetRepresentation(This,guidRepresentation,ppvRepresentation); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFVideoMediaType_FreeRepresentation(IMFVideoMediaType* This,GUID guidRepresentation,LPVOID pvRepresentation) { | 
|  | return This->lpVtbl->FreeRepresentation(This,guidRepresentation,pvRepresentation); | 
|  | } | 
|  | /*** IMFVideoMediaType methods ***/ | 
|  | static FORCEINLINE const MFVIDEOFORMAT * IMFVideoMediaType_GetVideoFormat(IMFVideoMediaType* This) { | 
|  | return This->lpVtbl->GetVideoFormat(This); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFVideoMediaType_GetVideoRepresentation(IMFVideoMediaType* This,GUID guidRepresentation,LPVOID *ppvRepresentation,LONG lStride) { | 
|  | return This->lpVtbl->GetVideoRepresentation(This,guidRepresentation,ppvRepresentation,lStride); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | const MFVIDEOFORMAT * STDMETHODCALLTYPE IMFVideoMediaType_GetVideoFormat_Proxy( | 
|  | IMFVideoMediaType* This); | 
|  | void __RPC_STUB IMFVideoMediaType_GetVideoFormat_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFVideoMediaType_GetVideoRepresentation_Proxy( | 
|  | IMFVideoMediaType* This, | 
|  | GUID guidRepresentation, | 
|  | LPVOID *ppvRepresentation, | 
|  | LONG lStride); | 
|  | void __RPC_STUB IMFVideoMediaType_GetVideoRepresentation_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __IMFVideoMediaType_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IMFAsyncResult interface | 
|  | */ | 
|  | #ifndef __IMFAsyncResult_INTERFACE_DEFINED__ | 
|  | #define __IMFAsyncResult_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IMFAsyncResult, 0xac6b7889, 0x0740, 0x4d51, 0x86,0x19, 0x90,0x59,0x94,0xa5,0x5c,0xc6); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("ac6b7889-0740-4d51-8619-905994a55cc6") | 
|  | IMFAsyncResult : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetState( | 
|  | IUnknown **ppunkState) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetStatus( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetStatus( | 
|  | HRESULT hrStatus) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetObject( | 
|  | IUnknown **ppObject) = 0; | 
|  |  | 
|  | virtual IUnknown * STDMETHODCALLTYPE GetStateNoAddRef( | 
|  | ) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IMFAsyncResult, 0xac6b7889, 0x0740, 0x4d51, 0x86,0x19, 0x90,0x59,0x94,0xa5,0x5c,0xc6) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IMFAsyncResultVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IMFAsyncResult* This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IMFAsyncResult* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IMFAsyncResult* This); | 
|  |  | 
|  | /*** IMFAsyncResult methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetState)( | 
|  | IMFAsyncResult* This, | 
|  | IUnknown **ppunkState); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetStatus)( | 
|  | IMFAsyncResult* This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetStatus)( | 
|  | IMFAsyncResult* This, | 
|  | HRESULT hrStatus); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetObject)( | 
|  | IMFAsyncResult* This, | 
|  | IUnknown **ppObject); | 
|  |  | 
|  | IUnknown * (STDMETHODCALLTYPE *GetStateNoAddRef)( | 
|  | IMFAsyncResult* This); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IMFAsyncResultVtbl; | 
|  | interface IMFAsyncResult { | 
|  | CONST_VTBL IMFAsyncResultVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IMFAsyncResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IMFAsyncResult_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IMFAsyncResult_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IMFAsyncResult methods ***/ | 
|  | #define IMFAsyncResult_GetState(This,ppunkState) (This)->lpVtbl->GetState(This,ppunkState) | 
|  | #define IMFAsyncResult_GetStatus(This) (This)->lpVtbl->GetStatus(This) | 
|  | #define IMFAsyncResult_SetStatus(This,hrStatus) (This)->lpVtbl->SetStatus(This,hrStatus) | 
|  | #define IMFAsyncResult_GetObject(This,ppObject) (This)->lpVtbl->GetObject(This,ppObject) | 
|  | #define IMFAsyncResult_GetStateNoAddRef(This) (This)->lpVtbl->GetStateNoAddRef(This) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IMFAsyncResult_QueryInterface(IMFAsyncResult* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IMFAsyncResult_AddRef(IMFAsyncResult* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IMFAsyncResult_Release(IMFAsyncResult* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IMFAsyncResult methods ***/ | 
|  | static FORCEINLINE HRESULT IMFAsyncResult_GetState(IMFAsyncResult* This,IUnknown **ppunkState) { | 
|  | return This->lpVtbl->GetState(This,ppunkState); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFAsyncResult_GetStatus(IMFAsyncResult* This) { | 
|  | return This->lpVtbl->GetStatus(This); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFAsyncResult_SetStatus(IMFAsyncResult* This,HRESULT hrStatus) { | 
|  | return This->lpVtbl->SetStatus(This,hrStatus); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFAsyncResult_GetObject(IMFAsyncResult* This,IUnknown **ppObject) { | 
|  | return This->lpVtbl->GetObject(This,ppObject); | 
|  | } | 
|  | static FORCEINLINE IUnknown * IMFAsyncResult_GetStateNoAddRef(IMFAsyncResult* This) { | 
|  | return This->lpVtbl->GetStateNoAddRef(This); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE IMFAsyncResult_GetState_Proxy( | 
|  | IMFAsyncResult* This, | 
|  | IUnknown **ppunkState); | 
|  | void __RPC_STUB IMFAsyncResult_GetState_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFAsyncResult_GetStatus_Proxy( | 
|  | IMFAsyncResult* This); | 
|  | void __RPC_STUB IMFAsyncResult_GetStatus_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFAsyncResult_SetStatus_Proxy( | 
|  | IMFAsyncResult* This, | 
|  | HRESULT hrStatus); | 
|  | void __RPC_STUB IMFAsyncResult_SetStatus_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFAsyncResult_GetObject_Proxy( | 
|  | IMFAsyncResult* This, | 
|  | IUnknown **ppObject); | 
|  | void __RPC_STUB IMFAsyncResult_GetObject_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __IMFAsyncResult_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IMFAsyncCallback interface | 
|  | */ | 
|  | #ifndef __IMFAsyncCallback_INTERFACE_DEFINED__ | 
|  | #define __IMFAsyncCallback_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IMFAsyncCallback, 0xa27003cf, 0x2354, 0x4f2a, 0x8d,0x6a, 0xab,0x7c,0xff,0x15,0x43,0x7e); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("a27003cf-2354-4f2a-8d6a-ab7cff15437e") | 
|  | IMFAsyncCallback : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetParameters( | 
|  | DWORD *pdwFlags, | 
|  | DWORD *pdwQueue) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Invoke( | 
|  | IMFAsyncResult *pAsyncResult) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IMFAsyncCallback, 0xa27003cf, 0x2354, 0x4f2a, 0x8d,0x6a, 0xab,0x7c,0xff,0x15,0x43,0x7e) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IMFAsyncCallbackVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IMFAsyncCallback* This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IMFAsyncCallback* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IMFAsyncCallback* This); | 
|  |  | 
|  | /*** IMFAsyncCallback methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetParameters)( | 
|  | IMFAsyncCallback* This, | 
|  | DWORD *pdwFlags, | 
|  | DWORD *pdwQueue); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Invoke)( | 
|  | IMFAsyncCallback* This, | 
|  | IMFAsyncResult *pAsyncResult); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IMFAsyncCallbackVtbl; | 
|  | interface IMFAsyncCallback { | 
|  | CONST_VTBL IMFAsyncCallbackVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IMFAsyncCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IMFAsyncCallback_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IMFAsyncCallback_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IMFAsyncCallback methods ***/ | 
|  | #define IMFAsyncCallback_GetParameters(This,pdwFlags,pdwQueue) (This)->lpVtbl->GetParameters(This,pdwFlags,pdwQueue) | 
|  | #define IMFAsyncCallback_Invoke(This,pAsyncResult) (This)->lpVtbl->Invoke(This,pAsyncResult) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IMFAsyncCallback_QueryInterface(IMFAsyncCallback* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IMFAsyncCallback_AddRef(IMFAsyncCallback* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IMFAsyncCallback_Release(IMFAsyncCallback* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IMFAsyncCallback methods ***/ | 
|  | static FORCEINLINE HRESULT IMFAsyncCallback_GetParameters(IMFAsyncCallback* This,DWORD *pdwFlags,DWORD *pdwQueue) { | 
|  | return This->lpVtbl->GetParameters(This,pdwFlags,pdwQueue); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFAsyncCallback_Invoke(IMFAsyncCallback* This,IMFAsyncResult *pAsyncResult) { | 
|  | return This->lpVtbl->Invoke(This,pAsyncResult); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE IMFAsyncCallback_GetParameters_Proxy( | 
|  | IMFAsyncCallback* This, | 
|  | DWORD *pdwFlags, | 
|  | DWORD *pdwQueue); | 
|  | void __RPC_STUB IMFAsyncCallback_GetParameters_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFAsyncCallback_Invoke_Proxy( | 
|  | IMFAsyncCallback* This, | 
|  | IMFAsyncResult *pAsyncResult); | 
|  | void __RPC_STUB IMFAsyncCallback_Invoke_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __IMFAsyncCallback_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IMFRemoteAsyncCallback interface | 
|  | */ | 
|  | #ifndef __IMFRemoteAsyncCallback_INTERFACE_DEFINED__ | 
|  | #define __IMFRemoteAsyncCallback_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IMFRemoteAsyncCallback, 0xa27003d0, 0x2354, 0x4f2a, 0x8d,0x6a, 0xab,0x7c,0xff,0x15,0x43,0x7e); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("a27003d0-2354-4f2a-8d6a-ab7cff15437e") | 
|  | IMFRemoteAsyncCallback : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Invoke( | 
|  | HRESULT hr, | 
|  | IUnknown *pRemoteResult) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IMFRemoteAsyncCallback, 0xa27003d0, 0x2354, 0x4f2a, 0x8d,0x6a, 0xab,0x7c,0xff,0x15,0x43,0x7e) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IMFRemoteAsyncCallbackVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IMFRemoteAsyncCallback* This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IMFRemoteAsyncCallback* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IMFRemoteAsyncCallback* This); | 
|  |  | 
|  | /*** IMFRemoteAsyncCallback methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Invoke)( | 
|  | IMFRemoteAsyncCallback* This, | 
|  | HRESULT hr, | 
|  | IUnknown *pRemoteResult); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IMFRemoteAsyncCallbackVtbl; | 
|  | interface IMFRemoteAsyncCallback { | 
|  | CONST_VTBL IMFRemoteAsyncCallbackVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IMFRemoteAsyncCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IMFRemoteAsyncCallback_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IMFRemoteAsyncCallback_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IMFRemoteAsyncCallback methods ***/ | 
|  | #define IMFRemoteAsyncCallback_Invoke(This,hr,pRemoteResult) (This)->lpVtbl->Invoke(This,hr,pRemoteResult) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IMFRemoteAsyncCallback_QueryInterface(IMFRemoteAsyncCallback* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IMFRemoteAsyncCallback_AddRef(IMFRemoteAsyncCallback* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IMFRemoteAsyncCallback_Release(IMFRemoteAsyncCallback* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IMFRemoteAsyncCallback methods ***/ | 
|  | static FORCEINLINE HRESULT IMFRemoteAsyncCallback_Invoke(IMFRemoteAsyncCallback* This,HRESULT hr,IUnknown *pRemoteResult) { | 
|  | return This->lpVtbl->Invoke(This,hr,pRemoteResult); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE IMFRemoteAsyncCallback_Invoke_Proxy( | 
|  | IMFRemoteAsyncCallback* This, | 
|  | HRESULT hr, | 
|  | IUnknown *pRemoteResult); | 
|  | void __RPC_STUB IMFRemoteAsyncCallback_Invoke_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __IMFRemoteAsyncCallback_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | #define MFASYNC_FAST_IO_PROCESSING_CALLBACK  0x0001 | 
|  | #define MFASYNC_SIGNAL_CALLBACK              0x0002 | 
|  | #define MFASYNC_CALLBACK_QUEUE_UNDEFINED      0x00000000 | 
|  | #define MFASYNC_CALLBACK_QUEUE_STANDARD       0x00000001 | 
|  | #define MFASYNC_CALLBACK_QUEUE_RT             0x00000002 | 
|  | #define MFASYNC_CALLBACK_QUEUE_IO             0x00000003 | 
|  | #define MFASYNC_CALLBACK_QUEUE_TIMER          0x00000004 | 
|  | #define MFASYNC_CALLBACK_QUEUE_LONG_FUNCTION  0x00000007 | 
|  | #define MFASYNC_CALLBACK_QUEUE_PRIVATE_MASK   0xffff0000 | 
|  | #define MFASYNC_CALLBACK_QUEUE_ALL            0xffffffff | 
|  | typedef DWORD MediaEventType; | 
|  | /***************************************************************************** | 
|  | * IMFMediaEvent interface | 
|  | */ | 
|  | #ifndef __IMFMediaEvent_INTERFACE_DEFINED__ | 
|  | #define __IMFMediaEvent_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IMFMediaEvent, 0xdf598932, 0xf10c, 0x4e39, 0xbb,0xa2, 0xc3,0x08,0xf1,0x01,0xda,0xa3); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("df598932-f10c-4e39-bba2-c308f101daa3") | 
|  | IMFMediaEvent : public IMFAttributes | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetType( | 
|  | MediaEventType *pmet) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetExtendedType( | 
|  | GUID *pguidExtendedType) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetStatus( | 
|  | HRESULT *phrStatus) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetValue( | 
|  | PROPVARIANT *pvValue) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IMFMediaEvent, 0xdf598932, 0xf10c, 0x4e39, 0xbb,0xa2, 0xc3,0x08,0xf1,0x01,0xda,0xa3) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IMFMediaEventVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IMFMediaEvent* This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IMFMediaEvent* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IMFMediaEvent* This); | 
|  |  | 
|  | /*** IMFAttributes methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetItem)( | 
|  | IMFMediaEvent* This, | 
|  | REFGUID guidKey, | 
|  | PROPVARIANT *pValue); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetItemType)( | 
|  | IMFMediaEvent* This, | 
|  | REFGUID guidKey, | 
|  | MF_ATTRIBUTE_TYPE *pType); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CompareItem)( | 
|  | IMFMediaEvent* This, | 
|  | REFGUID guidKey, | 
|  | REFPROPVARIANT Value, | 
|  | WINBOOL *pbResult); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Compare)( | 
|  | IMFMediaEvent* This, | 
|  | IMFAttributes *pTheirs, | 
|  | MF_ATTRIBUTES_MATCH_TYPE MatchType, | 
|  | WINBOOL *pbResult); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetUINT32)( | 
|  | IMFMediaEvent* This, | 
|  | REFGUID guidKey, | 
|  | UINT32 *punValue); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetUINT64)( | 
|  | IMFMediaEvent* This, | 
|  | REFGUID guidKey, | 
|  | UINT64 *punValue); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDouble)( | 
|  | IMFMediaEvent* This, | 
|  | REFGUID guidKey, | 
|  | double *pfValue); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetGUID)( | 
|  | IMFMediaEvent* This, | 
|  | REFGUID guidKey, | 
|  | GUID *pguidValue); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetStringLength)( | 
|  | IMFMediaEvent* This, | 
|  | REFGUID guidKey, | 
|  | UINT32 *pcchLength); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetString)( | 
|  | IMFMediaEvent* This, | 
|  | REFGUID guidKey, | 
|  | LPWSTR pwszValue, | 
|  | UINT32 cchBufSize, | 
|  | UINT32 *pcchLength); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetAllocatedString)( | 
|  | IMFMediaEvent* This, | 
|  | REFGUID guidKey, | 
|  | LPWSTR *ppwszValue, | 
|  | UINT32 *pcchLength); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetBlobSize)( | 
|  | IMFMediaEvent* This, | 
|  | REFGUID guidKey, | 
|  | UINT32 *pcbBlobSize); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetBlob)( | 
|  | IMFMediaEvent* This, | 
|  | REFGUID guidKey, | 
|  | UINT8 *pBuf, | 
|  | UINT32 cbBufSize, | 
|  | UINT32 *pcbBlobSize); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetAllocatedBlob)( | 
|  | IMFMediaEvent* This, | 
|  | REFGUID guidKey, | 
|  | UINT8 **ppBuf, | 
|  | UINT32 *pcbSize); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetUnknown)( | 
|  | IMFMediaEvent* This, | 
|  | REFGUID guidKey, | 
|  | REFIID riid, | 
|  | LPVOID *ppv); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetItem)( | 
|  | IMFMediaEvent* This, | 
|  | REFGUID guidKey, | 
|  | REFPROPVARIANT Value); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *DeleteItem)( | 
|  | IMFMediaEvent* This, | 
|  | REFGUID guidKey); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *DeleteAllItems)( | 
|  | IMFMediaEvent* This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetUINT32)( | 
|  | IMFMediaEvent* This, | 
|  | REFGUID guidKey, | 
|  | UINT32 unValue); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetUINT64)( | 
|  | IMFMediaEvent* This, | 
|  | REFGUID guidKey, | 
|  | UINT64 unValue); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetDouble)( | 
|  | IMFMediaEvent* This, | 
|  | REFGUID guidKey, | 
|  | double fValue); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetGUID)( | 
|  | IMFMediaEvent* This, | 
|  | REFGUID guidKey, | 
|  | REFGUID guidValue); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetString)( | 
|  | IMFMediaEvent* This, | 
|  | REFGUID guidKey, | 
|  | LPCWSTR wszValue); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetBlob)( | 
|  | IMFMediaEvent* This, | 
|  | REFGUID guidKey, | 
|  | const UINT8 *pBuf, | 
|  | UINT32 cbBufSize); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetUnknown)( | 
|  | IMFMediaEvent* This, | 
|  | REFGUID guidKey, | 
|  | IUnknown *pUnknown); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *LockStore)( | 
|  | IMFMediaEvent* This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *UnlockStore)( | 
|  | IMFMediaEvent* This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetCount)( | 
|  | IMFMediaEvent* This, | 
|  | UINT32 *pcItems); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetItemByIndex)( | 
|  | IMFMediaEvent* This, | 
|  | UINT32 unIndex, | 
|  | GUID *pguidKey, | 
|  | PROPVARIANT *pValue); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CopyAllItems)( | 
|  | IMFMediaEvent* This, | 
|  | IMFAttributes *pDest); | 
|  |  | 
|  | /*** IMFMediaEvent methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetType)( | 
|  | IMFMediaEvent* This, | 
|  | MediaEventType *pmet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetExtendedType)( | 
|  | IMFMediaEvent* This, | 
|  | GUID *pguidExtendedType); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetStatus)( | 
|  | IMFMediaEvent* This, | 
|  | HRESULT *phrStatus); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetValue)( | 
|  | IMFMediaEvent* This, | 
|  | PROPVARIANT *pvValue); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IMFMediaEventVtbl; | 
|  | interface IMFMediaEvent { | 
|  | CONST_VTBL IMFMediaEventVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IMFMediaEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IMFMediaEvent_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IMFMediaEvent_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IMFAttributes methods ***/ | 
|  | #define IMFMediaEvent_GetItem(This,guidKey,pValue) (This)->lpVtbl->GetItem(This,guidKey,pValue) | 
|  | #define IMFMediaEvent_GetItemType(This,guidKey,pType) (This)->lpVtbl->GetItemType(This,guidKey,pType) | 
|  | #define IMFMediaEvent_CompareItem(This,guidKey,Value,pbResult) (This)->lpVtbl->CompareItem(This,guidKey,Value,pbResult) | 
|  | #define IMFMediaEvent_Compare(This,pTheirs,MatchType,pbResult) (This)->lpVtbl->Compare(This,pTheirs,MatchType,pbResult) | 
|  | #define IMFMediaEvent_GetUINT32(This,guidKey,punValue) (This)->lpVtbl->GetUINT32(This,guidKey,punValue) | 
|  | #define IMFMediaEvent_GetUINT64(This,guidKey,punValue) (This)->lpVtbl->GetUINT64(This,guidKey,punValue) | 
|  | #define IMFMediaEvent_GetDouble(This,guidKey,pfValue) (This)->lpVtbl->GetDouble(This,guidKey,pfValue) | 
|  | #define IMFMediaEvent_GetGUID(This,guidKey,pguidValue) (This)->lpVtbl->GetGUID(This,guidKey,pguidValue) | 
|  | #define IMFMediaEvent_GetStringLength(This,guidKey,pcchLength) (This)->lpVtbl->GetStringLength(This,guidKey,pcchLength) | 
|  | #define IMFMediaEvent_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) (This)->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) | 
|  | #define IMFMediaEvent_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) (This)->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength) | 
|  | #define IMFMediaEvent_GetBlobSize(This,guidKey,pcbBlobSize) (This)->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize) | 
|  | #define IMFMediaEvent_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) (This)->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) | 
|  | #define IMFMediaEvent_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) (This)->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) | 
|  | #define IMFMediaEvent_GetUnknown(This,guidKey,riid,ppv) (This)->lpVtbl->GetUnknown(This,guidKey,riid,ppv) | 
|  | #define IMFMediaEvent_SetItem(This,guidKey,Value) (This)->lpVtbl->SetItem(This,guidKey,Value) | 
|  | #define IMFMediaEvent_DeleteItem(This,guidKey) (This)->lpVtbl->DeleteItem(This,guidKey) | 
|  | #define IMFMediaEvent_DeleteAllItems(This) (This)->lpVtbl->DeleteAllItems(This) | 
|  | #define IMFMediaEvent_SetUINT32(This,guidKey,unValue) (This)->lpVtbl->SetUINT32(This,guidKey,unValue) | 
|  | #define IMFMediaEvent_SetUINT64(This,guidKey,unValue) (This)->lpVtbl->SetUINT64(This,guidKey,unValue) | 
|  | #define IMFMediaEvent_SetDouble(This,guidKey,fValue) (This)->lpVtbl->SetDouble(This,guidKey,fValue) | 
|  | #define IMFMediaEvent_SetGUID(This,guidKey,guidValue) (This)->lpVtbl->SetGUID(This,guidKey,guidValue) | 
|  | #define IMFMediaEvent_SetString(This,guidKey,wszValue) (This)->lpVtbl->SetString(This,guidKey,wszValue) | 
|  | #define IMFMediaEvent_SetBlob(This,guidKey,pBuf,cbBufSize) (This)->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize) | 
|  | #define IMFMediaEvent_SetUnknown(This,guidKey,pUnknown) (This)->lpVtbl->SetUnknown(This,guidKey,pUnknown) | 
|  | #define IMFMediaEvent_LockStore(This) (This)->lpVtbl->LockStore(This) | 
|  | #define IMFMediaEvent_UnlockStore(This) (This)->lpVtbl->UnlockStore(This) | 
|  | #define IMFMediaEvent_GetCount(This,pcItems) (This)->lpVtbl->GetCount(This,pcItems) | 
|  | #define IMFMediaEvent_GetItemByIndex(This,unIndex,pguidKey,pValue) (This)->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue) | 
|  | #define IMFMediaEvent_CopyAllItems(This,pDest) (This)->lpVtbl->CopyAllItems(This,pDest) | 
|  | /*** IMFMediaEvent methods ***/ | 
|  | #define IMFMediaEvent_GetType(This,pmet) (This)->lpVtbl->GetType(This,pmet) | 
|  | #define IMFMediaEvent_GetExtendedType(This,pguidExtendedType) (This)->lpVtbl->GetExtendedType(This,pguidExtendedType) | 
|  | #define IMFMediaEvent_GetStatus(This,phrStatus) (This)->lpVtbl->GetStatus(This,phrStatus) | 
|  | #define IMFMediaEvent_GetValue(This,pvValue) (This)->lpVtbl->GetValue(This,pvValue) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IMFMediaEvent_QueryInterface(IMFMediaEvent* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IMFMediaEvent_AddRef(IMFMediaEvent* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IMFMediaEvent_Release(IMFMediaEvent* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IMFAttributes methods ***/ | 
|  | static FORCEINLINE HRESULT IMFMediaEvent_GetItem(IMFMediaEvent* This,REFGUID guidKey,PROPVARIANT *pValue) { | 
|  | return This->lpVtbl->GetItem(This,guidKey,pValue); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFMediaEvent_GetItemType(IMFMediaEvent* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) { | 
|  | return This->lpVtbl->GetItemType(This,guidKey,pType); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFMediaEvent_CompareItem(IMFMediaEvent* This,REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) { | 
|  | return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFMediaEvent_Compare(IMFMediaEvent* This,IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,WINBOOL *pbResult) { | 
|  | return This->lpVtbl->Compare(This,pTheirs,MatchType,pbResult); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFMediaEvent_GetUINT32(IMFMediaEvent* This,REFGUID guidKey,UINT32 *punValue) { | 
|  | return This->lpVtbl->GetUINT32(This,guidKey,punValue); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFMediaEvent_GetUINT64(IMFMediaEvent* This,REFGUID guidKey,UINT64 *punValue) { | 
|  | return This->lpVtbl->GetUINT64(This,guidKey,punValue); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFMediaEvent_GetDouble(IMFMediaEvent* This,REFGUID guidKey,double *pfValue) { | 
|  | return This->lpVtbl->GetDouble(This,guidKey,pfValue); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFMediaEvent_GetGUID(IMFMediaEvent* This,REFGUID guidKey,GUID *pguidValue) { | 
|  | return This->lpVtbl->GetGUID(This,guidKey,pguidValue); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFMediaEvent_GetStringLength(IMFMediaEvent* This,REFGUID guidKey,UINT32 *pcchLength) { | 
|  | return This->lpVtbl->GetStringLength(This,guidKey,pcchLength); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFMediaEvent_GetString(IMFMediaEvent* This,REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) { | 
|  | return This->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFMediaEvent_GetAllocatedString(IMFMediaEvent* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) { | 
|  | return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFMediaEvent_GetBlobSize(IMFMediaEvent* This,REFGUID guidKey,UINT32 *pcbBlobSize) { | 
|  | return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFMediaEvent_GetBlob(IMFMediaEvent* This,REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) { | 
|  | return This->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFMediaEvent_GetAllocatedBlob(IMFMediaEvent* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) { | 
|  | return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFMediaEvent_GetUnknown(IMFMediaEvent* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) { | 
|  | return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFMediaEvent_SetItem(IMFMediaEvent* This,REFGUID guidKey,REFPROPVARIANT Value) { | 
|  | return This->lpVtbl->SetItem(This,guidKey,Value); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFMediaEvent_DeleteItem(IMFMediaEvent* This,REFGUID guidKey) { | 
|  | return This->lpVtbl->DeleteItem(This,guidKey); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFMediaEvent_DeleteAllItems(IMFMediaEvent* This) { | 
|  | return This->lpVtbl->DeleteAllItems(This); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFMediaEvent_SetUINT32(IMFMediaEvent* This,REFGUID guidKey,UINT32 unValue) { | 
|  | return This->lpVtbl->SetUINT32(This,guidKey,unValue); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFMediaEvent_SetUINT64(IMFMediaEvent* This,REFGUID guidKey,UINT64 unValue) { | 
|  | return This->lpVtbl->SetUINT64(This,guidKey,unValue); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFMediaEvent_SetDouble(IMFMediaEvent* This,REFGUID guidKey,double fValue) { | 
|  | return This->lpVtbl->SetDouble(This,guidKey,fValue); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFMediaEvent_SetGUID(IMFMediaEvent* This,REFGUID guidKey,REFGUID guidValue) { | 
|  | return This->lpVtbl->SetGUID(This,guidKey,guidValue); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFMediaEvent_SetString(IMFMediaEvent* This,REFGUID guidKey,LPCWSTR wszValue) { | 
|  | return This->lpVtbl->SetString(This,guidKey,wszValue); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFMediaEvent_SetBlob(IMFMediaEvent* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) { | 
|  | return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFMediaEvent_SetUnknown(IMFMediaEvent* This,REFGUID guidKey,IUnknown *pUnknown) { | 
|  | return This->lpVtbl->SetUnknown(This,guidKey,pUnknown); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFMediaEvent_LockStore(IMFMediaEvent* This) { | 
|  | return This->lpVtbl->LockStore(This); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFMediaEvent_UnlockStore(IMFMediaEvent* This) { | 
|  | return This->lpVtbl->UnlockStore(This); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFMediaEvent_GetCount(IMFMediaEvent* This,UINT32 *pcItems) { | 
|  | return This->lpVtbl->GetCount(This,pcItems); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFMediaEvent_GetItemByIndex(IMFMediaEvent* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) { | 
|  | return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFMediaEvent_CopyAllItems(IMFMediaEvent* This,IMFAttributes *pDest) { | 
|  | return This->lpVtbl->CopyAllItems(This,pDest); | 
|  | } | 
|  | /*** IMFMediaEvent methods ***/ | 
|  | static FORCEINLINE HRESULT IMFMediaEvent_GetType(IMFMediaEvent* This,MediaEventType *pmet) { | 
|  | return This->lpVtbl->GetType(This,pmet); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFMediaEvent_GetExtendedType(IMFMediaEvent* This,GUID *pguidExtendedType) { | 
|  | return This->lpVtbl->GetExtendedType(This,pguidExtendedType); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFMediaEvent_GetStatus(IMFMediaEvent* This,HRESULT *phrStatus) { | 
|  | return This->lpVtbl->GetStatus(This,phrStatus); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFMediaEvent_GetValue(IMFMediaEvent* This,PROPVARIANT *pvValue) { | 
|  | return This->lpVtbl->GetValue(This,pvValue); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE IMFMediaEvent_GetType_Proxy( | 
|  | IMFMediaEvent* This, | 
|  | MediaEventType *pmet); | 
|  | void __RPC_STUB IMFMediaEvent_GetType_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFMediaEvent_GetExtendedType_Proxy( | 
|  | IMFMediaEvent* This, | 
|  | GUID *pguidExtendedType); | 
|  | void __RPC_STUB IMFMediaEvent_GetExtendedType_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFMediaEvent_GetStatus_Proxy( | 
|  | IMFMediaEvent* This, | 
|  | HRESULT *phrStatus); | 
|  | void __RPC_STUB IMFMediaEvent_GetStatus_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFMediaEvent_GetValue_Proxy( | 
|  | IMFMediaEvent* This, | 
|  | PROPVARIANT *pvValue); | 
|  | void __RPC_STUB IMFMediaEvent_GetValue_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __IMFMediaEvent_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IMFMediaEventGenerator interface | 
|  | */ | 
|  | #ifndef __IMFMediaEventGenerator_INTERFACE_DEFINED__ | 
|  | #define __IMFMediaEventGenerator_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IMFMediaEventGenerator, 0x2cd0bd52, 0xbcd5, 0x4b89, 0xb6,0x2c, 0xea,0xdc,0x0c,0x03,0x1e,0x7d); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("2cd0bd52-bcd5-4b89-b62c-eadc0c031e7d") | 
|  | IMFMediaEventGenerator : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetEvent( | 
|  | DWORD dwFlags, | 
|  | IMFMediaEvent **ppEvent) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE BeginGetEvent( | 
|  | IMFAsyncCallback *pCallback, | 
|  | IUnknown *punkState) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EndGetEvent( | 
|  | IMFAsyncResult *pResult, | 
|  | IMFMediaEvent **ppEvent) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE QueueEvent( | 
|  | MediaEventType met, | 
|  | REFGUID guidExtendedType, | 
|  | HRESULT hrStatus, | 
|  | const PROPVARIANT *pvValue) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IMFMediaEventGenerator, 0x2cd0bd52, 0xbcd5, 0x4b89, 0xb6,0x2c, 0xea,0xdc,0x0c,0x03,0x1e,0x7d) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IMFMediaEventGeneratorVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IMFMediaEventGenerator* This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IMFMediaEventGenerator* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IMFMediaEventGenerator* This); | 
|  |  | 
|  | /*** IMFMediaEventGenerator methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetEvent)( | 
|  | IMFMediaEventGenerator* This, | 
|  | DWORD dwFlags, | 
|  | IMFMediaEvent **ppEvent); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *BeginGetEvent)( | 
|  | IMFMediaEventGenerator* This, | 
|  | IMFAsyncCallback *pCallback, | 
|  | IUnknown *punkState); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EndGetEvent)( | 
|  | IMFMediaEventGenerator* This, | 
|  | IMFAsyncResult *pResult, | 
|  | IMFMediaEvent **ppEvent); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *QueueEvent)( | 
|  | IMFMediaEventGenerator* This, | 
|  | MediaEventType met, | 
|  | REFGUID guidExtendedType, | 
|  | HRESULT hrStatus, | 
|  | const PROPVARIANT *pvValue); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IMFMediaEventGeneratorVtbl; | 
|  | interface IMFMediaEventGenerator { | 
|  | CONST_VTBL IMFMediaEventGeneratorVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IMFMediaEventGenerator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IMFMediaEventGenerator_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IMFMediaEventGenerator_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IMFMediaEventGenerator methods ***/ | 
|  | #define IMFMediaEventGenerator_GetEvent(This,dwFlags,ppEvent) (This)->lpVtbl->GetEvent(This,dwFlags,ppEvent) | 
|  | #define IMFMediaEventGenerator_BeginGetEvent(This,pCallback,punkState) (This)->lpVtbl->BeginGetEvent(This,pCallback,punkState) | 
|  | #define IMFMediaEventGenerator_EndGetEvent(This,pResult,ppEvent) (This)->lpVtbl->EndGetEvent(This,pResult,ppEvent) | 
|  | #define IMFMediaEventGenerator_QueueEvent(This,met,guidExtendedType,hrStatus,pvValue) (This)->lpVtbl->QueueEvent(This,met,guidExtendedType,hrStatus,pvValue) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IMFMediaEventGenerator_QueryInterface(IMFMediaEventGenerator* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IMFMediaEventGenerator_AddRef(IMFMediaEventGenerator* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IMFMediaEventGenerator_Release(IMFMediaEventGenerator* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IMFMediaEventGenerator methods ***/ | 
|  | static FORCEINLINE HRESULT IMFMediaEventGenerator_GetEvent(IMFMediaEventGenerator* This,DWORD dwFlags,IMFMediaEvent **ppEvent) { | 
|  | return This->lpVtbl->GetEvent(This,dwFlags,ppEvent); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFMediaEventGenerator_BeginGetEvent(IMFMediaEventGenerator* This,IMFAsyncCallback *pCallback,IUnknown *punkState) { | 
|  | return This->lpVtbl->BeginGetEvent(This,pCallback,punkState); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFMediaEventGenerator_EndGetEvent(IMFMediaEventGenerator* This,IMFAsyncResult *pResult,IMFMediaEvent **ppEvent) { | 
|  | return This->lpVtbl->EndGetEvent(This,pResult,ppEvent); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFMediaEventGenerator_QueueEvent(IMFMediaEventGenerator* This,MediaEventType met,REFGUID guidExtendedType,HRESULT hrStatus,const PROPVARIANT *pvValue) { | 
|  | return This->lpVtbl->QueueEvent(This,met,guidExtendedType,hrStatus,pvValue); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE IMFMediaEventGenerator_GetEvent_Proxy( | 
|  | IMFMediaEventGenerator* This, | 
|  | DWORD dwFlags, | 
|  | IMFMediaEvent **ppEvent); | 
|  | void __RPC_STUB IMFMediaEventGenerator_GetEvent_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFMediaEventGenerator_RemoteBeginGetEvent_Proxy( | 
|  | IMFMediaEventGenerator* This, | 
|  | IMFRemoteAsyncCallback *pCallback); | 
|  | void __RPC_STUB IMFMediaEventGenerator_RemoteBeginGetEvent_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFMediaEventGenerator_RemoteEndGetEvent_Proxy( | 
|  | IMFMediaEventGenerator* This, | 
|  | IUnknown *pResult, | 
|  | DWORD *pcbEvent, | 
|  | BYTE **ppbEvent); | 
|  | void __RPC_STUB IMFMediaEventGenerator_RemoteEndGetEvent_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFMediaEventGenerator_QueueEvent_Proxy( | 
|  | IMFMediaEventGenerator* This, | 
|  | MediaEventType met, | 
|  | REFGUID guidExtendedType, | 
|  | HRESULT hrStatus, | 
|  | const PROPVARIANT *pvValue); | 
|  | void __RPC_STUB IMFMediaEventGenerator_QueueEvent_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT CALLBACK IMFMediaEventGenerator_BeginGetEvent_Proxy( | 
|  | IMFMediaEventGenerator* This, | 
|  | IMFAsyncCallback *pCallback, | 
|  | IUnknown *punkState); | 
|  | HRESULT __RPC_STUB IMFMediaEventGenerator_BeginGetEvent_Stub( | 
|  | IMFMediaEventGenerator* This, | 
|  | IMFRemoteAsyncCallback *pCallback); | 
|  | HRESULT CALLBACK IMFMediaEventGenerator_EndGetEvent_Proxy( | 
|  | IMFMediaEventGenerator* This, | 
|  | IMFAsyncResult *pResult, | 
|  | IMFMediaEvent **ppEvent); | 
|  | HRESULT __RPC_STUB IMFMediaEventGenerator_EndGetEvent_Stub( | 
|  | IMFMediaEventGenerator* This, | 
|  | IUnknown *pResult, | 
|  | DWORD *pcbEvent, | 
|  | BYTE **ppbEvent); | 
|  |  | 
|  | #endif  /* __IMFMediaEventGenerator_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef enum _MFBYTESTREAM_SEEK_ORIGIN { | 
|  | msoBegin = 0, | 
|  | msoCurrent = 1 | 
|  | } MFBYTESTREAM_SEEK_ORIGIN; | 
|  | /***************************************************************************** | 
|  | * IMFByteStream interface | 
|  | */ | 
|  | #ifndef __IMFByteStream_INTERFACE_DEFINED__ | 
|  | #define __IMFByteStream_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IMFByteStream, 0xad4c1b00, 0x4bf7, 0x422f, 0x91,0x75, 0x75,0x66,0x93,0xd9,0x13,0x0d); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("ad4c1b00-4bf7-422f-9175-756693d9130d") | 
|  | IMFByteStream : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetCapabilities( | 
|  | DWORD *pdwCapabilities) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetLength( | 
|  | QWORD *pqwLength) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetLength( | 
|  | QWORD qwLength) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetCurrentPosition( | 
|  | QWORD *pqwPosition) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetCurrentPosition( | 
|  | QWORD qwPosition) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE IsEndOfStream( | 
|  | WINBOOL *pfEndOfStream) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Read( | 
|  | BYTE *pb, | 
|  | ULONG cb, | 
|  | ULONG *pcbRead) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE BeginRead( | 
|  | BYTE *pb, | 
|  | ULONG cb, | 
|  | IMFAsyncCallback *pCallback, | 
|  | IUnknown *punkState) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EndRead( | 
|  | IMFAsyncResult *pResult, | 
|  | ULONG *pcbRead) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Write( | 
|  | const BYTE *pb, | 
|  | ULONG cb, | 
|  | ULONG *pcbWritten) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE BeginWrite( | 
|  | const BYTE *pb, | 
|  | ULONG cb, | 
|  | IMFAsyncCallback *pCallback, | 
|  | IUnknown *punkState) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EndWrite( | 
|  | IMFAsyncResult *pResult, | 
|  | ULONG *pcbWritten) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Seek( | 
|  | MFBYTESTREAM_SEEK_ORIGIN SeekOrigin, | 
|  | LONGLONG llSeekOffset, | 
|  | DWORD dwSeekFlags, | 
|  | QWORD *pqwCurrentPosition) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Flush( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Close( | 
|  | ) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IMFByteStream, 0xad4c1b00, 0x4bf7, 0x422f, 0x91,0x75, 0x75,0x66,0x93,0xd9,0x13,0x0d) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IMFByteStreamVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IMFByteStream* This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IMFByteStream* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IMFByteStream* This); | 
|  |  | 
|  | /*** IMFByteStream methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetCapabilities)( | 
|  | IMFByteStream* This, | 
|  | DWORD *pdwCapabilities); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetLength)( | 
|  | IMFByteStream* This, | 
|  | QWORD *pqwLength); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetLength)( | 
|  | IMFByteStream* This, | 
|  | QWORD qwLength); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetCurrentPosition)( | 
|  | IMFByteStream* This, | 
|  | QWORD *pqwPosition); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetCurrentPosition)( | 
|  | IMFByteStream* This, | 
|  | QWORD qwPosition); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *IsEndOfStream)( | 
|  | IMFByteStream* This, | 
|  | WINBOOL *pfEndOfStream); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Read)( | 
|  | IMFByteStream* This, | 
|  | BYTE *pb, | 
|  | ULONG cb, | 
|  | ULONG *pcbRead); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *BeginRead)( | 
|  | IMFByteStream* This, | 
|  | BYTE *pb, | 
|  | ULONG cb, | 
|  | IMFAsyncCallback *pCallback, | 
|  | IUnknown *punkState); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EndRead)( | 
|  | IMFByteStream* This, | 
|  | IMFAsyncResult *pResult, | 
|  | ULONG *pcbRead); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Write)( | 
|  | IMFByteStream* This, | 
|  | const BYTE *pb, | 
|  | ULONG cb, | 
|  | ULONG *pcbWritten); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *BeginWrite)( | 
|  | IMFByteStream* This, | 
|  | const BYTE *pb, | 
|  | ULONG cb, | 
|  | IMFAsyncCallback *pCallback, | 
|  | IUnknown *punkState); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EndWrite)( | 
|  | IMFByteStream* This, | 
|  | IMFAsyncResult *pResult, | 
|  | ULONG *pcbWritten); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Seek)( | 
|  | IMFByteStream* This, | 
|  | MFBYTESTREAM_SEEK_ORIGIN SeekOrigin, | 
|  | LONGLONG llSeekOffset, | 
|  | DWORD dwSeekFlags, | 
|  | QWORD *pqwCurrentPosition); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Flush)( | 
|  | IMFByteStream* This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Close)( | 
|  | IMFByteStream* This); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IMFByteStreamVtbl; | 
|  | interface IMFByteStream { | 
|  | CONST_VTBL IMFByteStreamVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IMFByteStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IMFByteStream_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IMFByteStream_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IMFByteStream methods ***/ | 
|  | #define IMFByteStream_GetCapabilities(This,pdwCapabilities) (This)->lpVtbl->GetCapabilities(This,pdwCapabilities) | 
|  | #define IMFByteStream_GetLength(This,pqwLength) (This)->lpVtbl->GetLength(This,pqwLength) | 
|  | #define IMFByteStream_SetLength(This,qwLength) (This)->lpVtbl->SetLength(This,qwLength) | 
|  | #define IMFByteStream_GetCurrentPosition(This,pqwPosition) (This)->lpVtbl->GetCurrentPosition(This,pqwPosition) | 
|  | #define IMFByteStream_SetCurrentPosition(This,qwPosition) (This)->lpVtbl->SetCurrentPosition(This,qwPosition) | 
|  | #define IMFByteStream_IsEndOfStream(This,pfEndOfStream) (This)->lpVtbl->IsEndOfStream(This,pfEndOfStream) | 
|  | #define IMFByteStream_Read(This,pb,cb,pcbRead) (This)->lpVtbl->Read(This,pb,cb,pcbRead) | 
|  | #define IMFByteStream_BeginRead(This,pb,cb,pCallback,punkState) (This)->lpVtbl->BeginRead(This,pb,cb,pCallback,punkState) | 
|  | #define IMFByteStream_EndRead(This,pResult,pcbRead) (This)->lpVtbl->EndRead(This,pResult,pcbRead) | 
|  | #define IMFByteStream_Write(This,pb,cb,pcbWritten) (This)->lpVtbl->Write(This,pb,cb,pcbWritten) | 
|  | #define IMFByteStream_BeginWrite(This,pb,cb,pCallback,punkState) (This)->lpVtbl->BeginWrite(This,pb,cb,pCallback,punkState) | 
|  | #define IMFByteStream_EndWrite(This,pResult,pcbWritten) (This)->lpVtbl->EndWrite(This,pResult,pcbWritten) | 
|  | #define IMFByteStream_Seek(This,SeekOrigin,llSeekOffset,dwSeekFlags,pqwCurrentPosition) (This)->lpVtbl->Seek(This,SeekOrigin,llSeekOffset,dwSeekFlags,pqwCurrentPosition) | 
|  | #define IMFByteStream_Flush(This) (This)->lpVtbl->Flush(This) | 
|  | #define IMFByteStream_Close(This) (This)->lpVtbl->Close(This) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IMFByteStream_QueryInterface(IMFByteStream* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IMFByteStream_AddRef(IMFByteStream* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IMFByteStream_Release(IMFByteStream* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IMFByteStream methods ***/ | 
|  | static FORCEINLINE HRESULT IMFByteStream_GetCapabilities(IMFByteStream* This,DWORD *pdwCapabilities) { | 
|  | return This->lpVtbl->GetCapabilities(This,pdwCapabilities); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFByteStream_GetLength(IMFByteStream* This,QWORD *pqwLength) { | 
|  | return This->lpVtbl->GetLength(This,pqwLength); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFByteStream_SetLength(IMFByteStream* This,QWORD qwLength) { | 
|  | return This->lpVtbl->SetLength(This,qwLength); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFByteStream_GetCurrentPosition(IMFByteStream* This,QWORD *pqwPosition) { | 
|  | return This->lpVtbl->GetCurrentPosition(This,pqwPosition); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFByteStream_SetCurrentPosition(IMFByteStream* This,QWORD qwPosition) { | 
|  | return This->lpVtbl->SetCurrentPosition(This,qwPosition); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFByteStream_IsEndOfStream(IMFByteStream* This,WINBOOL *pfEndOfStream) { | 
|  | return This->lpVtbl->IsEndOfStream(This,pfEndOfStream); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFByteStream_Read(IMFByteStream* This,BYTE *pb,ULONG cb,ULONG *pcbRead) { | 
|  | return This->lpVtbl->Read(This,pb,cb,pcbRead); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFByteStream_BeginRead(IMFByteStream* This,BYTE *pb,ULONG cb,IMFAsyncCallback *pCallback,IUnknown *punkState) { | 
|  | return This->lpVtbl->BeginRead(This,pb,cb,pCallback,punkState); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFByteStream_EndRead(IMFByteStream* This,IMFAsyncResult *pResult,ULONG *pcbRead) { | 
|  | return This->lpVtbl->EndRead(This,pResult,pcbRead); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFByteStream_Write(IMFByteStream* This,const BYTE *pb,ULONG cb,ULONG *pcbWritten) { | 
|  | return This->lpVtbl->Write(This,pb,cb,pcbWritten); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFByteStream_BeginWrite(IMFByteStream* This,const BYTE *pb,ULONG cb,IMFAsyncCallback *pCallback,IUnknown *punkState) { | 
|  | return This->lpVtbl->BeginWrite(This,pb,cb,pCallback,punkState); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFByteStream_EndWrite(IMFByteStream* This,IMFAsyncResult *pResult,ULONG *pcbWritten) { | 
|  | return This->lpVtbl->EndWrite(This,pResult,pcbWritten); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFByteStream_Seek(IMFByteStream* This,MFBYTESTREAM_SEEK_ORIGIN SeekOrigin,LONGLONG llSeekOffset,DWORD dwSeekFlags,QWORD *pqwCurrentPosition) { | 
|  | return This->lpVtbl->Seek(This,SeekOrigin,llSeekOffset,dwSeekFlags,pqwCurrentPosition); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFByteStream_Flush(IMFByteStream* This) { | 
|  | return This->lpVtbl->Flush(This); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFByteStream_Close(IMFByteStream* This) { | 
|  | return This->lpVtbl->Close(This); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE IMFByteStream_GetCapabilities_Proxy( | 
|  | IMFByteStream* This, | 
|  | DWORD *pdwCapabilities); | 
|  | void __RPC_STUB IMFByteStream_GetCapabilities_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFByteStream_GetLength_Proxy( | 
|  | IMFByteStream* This, | 
|  | QWORD *pqwLength); | 
|  | void __RPC_STUB IMFByteStream_GetLength_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFByteStream_SetLength_Proxy( | 
|  | IMFByteStream* This, | 
|  | QWORD qwLength); | 
|  | void __RPC_STUB IMFByteStream_SetLength_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFByteStream_GetCurrentPosition_Proxy( | 
|  | IMFByteStream* This, | 
|  | QWORD *pqwPosition); | 
|  | void __RPC_STUB IMFByteStream_GetCurrentPosition_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFByteStream_SetCurrentPosition_Proxy( | 
|  | IMFByteStream* This, | 
|  | QWORD qwPosition); | 
|  | void __RPC_STUB IMFByteStream_SetCurrentPosition_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFByteStream_IsEndOfStream_Proxy( | 
|  | IMFByteStream* This, | 
|  | WINBOOL *pfEndOfStream); | 
|  | void __RPC_STUB IMFByteStream_IsEndOfStream_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFByteStream_Flush_Proxy( | 
|  | IMFByteStream* This); | 
|  | void __RPC_STUB IMFByteStream_Flush_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFByteStream_Close_Proxy( | 
|  | IMFByteStream* This); | 
|  | void __RPC_STUB IMFByteStream_Close_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __IMFByteStream_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IMFCollection interface | 
|  | */ | 
|  | #ifndef __IMFCollection_INTERFACE_DEFINED__ | 
|  | #define __IMFCollection_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IMFCollection, 0x5bc8a76b, 0x869a, 0x46a3, 0x9b,0x03, 0xfa,0x21,0x8a,0x66,0xae,0xbe); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("5bc8a76b-869a-46a3-9b03-fa218a66aebe") | 
|  | IMFCollection : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetElementCount( | 
|  | DWORD *pcElements) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetElement( | 
|  | DWORD dwElementIndex, | 
|  | IUnknown **ppUnkElement) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE AddElement( | 
|  | IUnknown *pUnkElement) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE RemoveElement( | 
|  | DWORD dwElementIndex, | 
|  | IUnknown **ppUnkElement) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE InsertElementAt( | 
|  | DWORD dwIndex, | 
|  | IUnknown *pUnknown) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE RemoveAllElements( | 
|  | ) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IMFCollection, 0x5bc8a76b, 0x869a, 0x46a3, 0x9b,0x03, 0xfa,0x21,0x8a,0x66,0xae,0xbe) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IMFCollectionVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IMFCollection* This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IMFCollection* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IMFCollection* This); | 
|  |  | 
|  | /*** IMFCollection methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetElementCount)( | 
|  | IMFCollection* This, | 
|  | DWORD *pcElements); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetElement)( | 
|  | IMFCollection* This, | 
|  | DWORD dwElementIndex, | 
|  | IUnknown **ppUnkElement); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *AddElement)( | 
|  | IMFCollection* This, | 
|  | IUnknown *pUnkElement); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RemoveElement)( | 
|  | IMFCollection* This, | 
|  | DWORD dwElementIndex, | 
|  | IUnknown **ppUnkElement); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *InsertElementAt)( | 
|  | IMFCollection* This, | 
|  | DWORD dwIndex, | 
|  | IUnknown *pUnknown); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RemoveAllElements)( | 
|  | IMFCollection* This); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IMFCollectionVtbl; | 
|  | interface IMFCollection { | 
|  | CONST_VTBL IMFCollectionVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IMFCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IMFCollection_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IMFCollection_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IMFCollection methods ***/ | 
|  | #define IMFCollection_GetElementCount(This,pcElements) (This)->lpVtbl->GetElementCount(This,pcElements) | 
|  | #define IMFCollection_GetElement(This,dwElementIndex,ppUnkElement) (This)->lpVtbl->GetElement(This,dwElementIndex,ppUnkElement) | 
|  | #define IMFCollection_AddElement(This,pUnkElement) (This)->lpVtbl->AddElement(This,pUnkElement) | 
|  | #define IMFCollection_RemoveElement(This,dwElementIndex,ppUnkElement) (This)->lpVtbl->RemoveElement(This,dwElementIndex,ppUnkElement) | 
|  | #define IMFCollection_InsertElementAt(This,dwIndex,pUnknown) (This)->lpVtbl->InsertElementAt(This,dwIndex,pUnknown) | 
|  | #define IMFCollection_RemoveAllElements(This) (This)->lpVtbl->RemoveAllElements(This) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IMFCollection_QueryInterface(IMFCollection* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IMFCollection_AddRef(IMFCollection* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IMFCollection_Release(IMFCollection* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IMFCollection methods ***/ | 
|  | static FORCEINLINE HRESULT IMFCollection_GetElementCount(IMFCollection* This,DWORD *pcElements) { | 
|  | return This->lpVtbl->GetElementCount(This,pcElements); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFCollection_GetElement(IMFCollection* This,DWORD dwElementIndex,IUnknown **ppUnkElement) { | 
|  | return This->lpVtbl->GetElement(This,dwElementIndex,ppUnkElement); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFCollection_AddElement(IMFCollection* This,IUnknown *pUnkElement) { | 
|  | return This->lpVtbl->AddElement(This,pUnkElement); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFCollection_RemoveElement(IMFCollection* This,DWORD dwElementIndex,IUnknown **ppUnkElement) { | 
|  | return This->lpVtbl->RemoveElement(This,dwElementIndex,ppUnkElement); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFCollection_InsertElementAt(IMFCollection* This,DWORD dwIndex,IUnknown *pUnknown) { | 
|  | return This->lpVtbl->InsertElementAt(This,dwIndex,pUnknown); | 
|  | } | 
|  | static FORCEINLINE HRESULT IMFCollection_RemoveAllElements(IMFCollection* This) { | 
|  | return This->lpVtbl->RemoveAllElements(This); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE IMFCollection_GetElementCount_Proxy( | 
|  | IMFCollection* This, | 
|  | DWORD *pcElements); | 
|  | void __RPC_STUB IMFCollection_GetElementCount_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFCollection_GetElement_Proxy( | 
|  | IMFCollection* This, | 
|  | DWORD dwElementIndex, | 
|  | IUnknown **ppUnkElement); | 
|  | void __RPC_STUB IMFCollection_GetElement_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFCollection_AddElement_Proxy( | 
|  | IMFCollection* This, | 
|  | IUnknown *pUnkElement); | 
|  | void __RPC_STUB IMFCollection_AddElement_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFCollection_RemoveElement_Proxy( | 
|  | IMFCollection* This, | 
|  | DWORD dwElementIndex, | 
|  | IUnknown **ppUnkElement); | 
|  | void __RPC_STUB IMFCollection_RemoveElement_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFCollection_InsertElementAt_Proxy( | 
|  | IMFCollection* This, | 
|  | DWORD dwIndex, | 
|  | IUnknown *pUnknown); | 
|  | void __RPC_STUB IMFCollection_InsertElementAt_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT STDMETHODCALLTYPE IMFCollection_RemoveAllElements_Proxy( | 
|  | IMFCollection* This); | 
|  | void __RPC_STUB IMFCollection_RemoveAllElements_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __IMFCollection_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef enum _MF_CONNECT_METHOD { | 
|  | MF_CONNECT_DIRECT                            = 0x00000000, | 
|  | MF_CONNECT_ALLOW_CONVERTER                   = 0x00000001, | 
|  | MF_CONNECT_ALLOW_DECODER                     = 0x00000003, | 
|  | MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES   = 0x00000004, | 
|  | MF_CONNECT_AS_OPTIONAL                       = 0x00010000, | 
|  | MF_CONNECT_AS_OPTIONAL_BRANCH                = 0x00020000 | 
|  | } MF_CONNECT_METHOD; | 
|  |  | 
|  | typedef enum MF_FILE_ACCESSMODE { | 
|  | MF_ACCESSMODE_READ        = 1, | 
|  | MF_ACCESSMODE_WRITE       = 2, | 
|  | MF_ACCESSMODE_READWRITE   = 3 | 
|  | } MF_FILE_ACCESSMODE; | 
|  |  | 
|  | typedef enum  { | 
|  | MF_FILEFLAGS_NONE                  = 0x00000000, | 
|  | MF_FILEFLAGS_NOBUFFERING           = 0x00000001, | 
|  | MF_FILEFLAGS_ALLOW_WRITE_SHARING   = 0x00000002 | 
|  | } MF_FILE_FLAGS; | 
|  |  | 
|  | typedef enum  { | 
|  | MF_OPENMODE_FAIL_IF_NOT_EXIST   = 0, | 
|  | MF_OPENMODE_FAIL_IF_EXIST       = 1, | 
|  | MF_OPENMODE_RESET_IF_EXIST      = 2, | 
|  | MF_OPENMODE_APPEND_IF_EXIST     = 3, | 
|  | MF_OPENMODE_DELETE_IF_EXIST     = 4 | 
|  | } MF_FILE_OPENMODE; | 
|  |  | 
|  | #if (_WIN32_WINNT >= 0x0601) | 
|  |  | 
|  | typedef enum _MF_Plugin_Type { | 
|  | MF_Plugin_Type_MFT           = 0, | 
|  | MF_Plugin_Type_MediaSource   = 1 | 
|  | } MF_Plugin_Type; | 
|  |  | 
|  | #endif /*(_WIN32_WINNT >= 0x0601)*/ | 
|  |  | 
|  | typedef enum _MFStandardVideoFormat { | 
|  | MFStdVideoFormat_reserved       = 0, | 
|  | MFStdVideoFormat_NTSC, | 
|  | MFStdVideoFormat_PAL, | 
|  | MFStdVideoFormat_DVD_NTSC, | 
|  | MFStdVideoFormat_DVD_PAL, | 
|  | MFStdVideoFormat_DV_PAL, | 
|  | MFStdVideoFormat_DV_NTSC, | 
|  | MFStdVideoFormat_ATSC_SD480i, | 
|  | MFStdVideoFormat_ATSC_HD1080i, | 
|  | MFStdVideoFormat_ATSC_HD720p | 
|  | } MFStandardVideoFormat; | 
|  |  | 
|  | typedef enum _MFVideoFlags { | 
|  | MFVideoFlag_PAD_TO_Mask             = 0x0001 | 0x0002, | 
|  | MFVideoFlag_PAD_TO_None             = 0 * 0x0001, | 
|  | MFVideoFlag_PAD_TO_4x3              = 1 * 0x0001, | 
|  | MFVideoFlag_PAD_TO_16x9             = 2 * 0x0001, | 
|  | MFVideoFlag_SrcContentHintMask      = 0x0004 | 0x0008 | 0x0010, | 
|  | MFVideoFlag_SrcContentHintNone      = 0 * 0x0004, | 
|  | MFVideoFlag_SrcContentHint16x9      = 1 * 0x0004, | 
|  | MFVideoFlag_SrcContentHint235_1     = 2 * 0x0004, | 
|  | MFVideoFlag_AnalogProtected         = 0x0020, | 
|  | MFVideoFlag_DigitallyProtected      = 0x0040, | 
|  | MFVideoFlag_ProgressiveContent      = 0x0080, | 
|  | MFVideoFlag_FieldRepeatCountMask    = 0x0100 | 0x0200 | 0x0400, | 
|  | MFVideoFlag_FieldRepeatCountShift   = 8, | 
|  | MFVideoFlag_ProgressiveSeqReset     = 0x0800, | 
|  | MFVideoFlag_PanScanEnabled          = 0x20000, | 
|  | MFVideoFlag_LowerFieldFirst         = 0x40000, | 
|  | MFVideoFlag_BottomUpLinearRep       = 0x80000, | 
|  | MFVideoFlags_DXVASurface            = 0x100000, | 
|  | MFVideoFlags_RenderTargetSurface    = 0x400000, | 
|  | MFVideoFlags_ForceQWORD             = 0x7FFFFFFF | 
|  | } MFVideoFlags; | 
|  |  | 
|  | #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 | 
|  |  | 
|  | #define MFBYTESTREAM_IS_READABLE                0x00000001 | 
|  | #define MFBYTESTREAM_IS_WRITABLE                0x00000002 | 
|  | #define MFBYTESTREAM_IS_SEEKABLE                0x00000004 | 
|  | #define MFBYTESTREAM_IS_REMOTE                  0x00000008 | 
|  | #define MFBYTESTREAM_IS_DIRECTORY               0x00000080 | 
|  | #define MFBYTESTREAM_HAS_SLOW_SEEK              0x00000100 | 
|  | #define MFBYTESTREAM_IS_PARTIALLY_DOWNLOADED    0x00000200 | 
|  | #define MFBYTESTREAM_SHARE_WRITE                0x00000400 | 
|  | /* Begin additional prototypes for all interfaces */ | 
|  |  | 
|  | ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *); | 
|  | unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *); | 
|  | unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *); | 
|  | void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *); | 
|  | ULONG           __RPC_USER LPSAFEARRAY_UserSize     (ULONG *, ULONG, LPSAFEARRAY *); | 
|  | unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal  (ULONG *, unsigned char *, LPSAFEARRAY *); | 
|  | unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(ULONG *, unsigned char *, LPSAFEARRAY *); | 
|  | void            __RPC_USER LPSAFEARRAY_UserFree     (ULONG *, LPSAFEARRAY *); | 
|  |  | 
|  | /* End additional prototypes */ | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | } | 
|  | #endif | 
|  |  | 
|  | #endif /* __mfobjects_h__ */ |