| /** |
| * This file has no copyright assigned and is placed in the Public Domain. |
| * This file is part of the w64 mingw-runtime package. |
| * No warranty is given; refer to the file DISCLAIMER.PD within this package. |
| */ |
| #ifndef _INC_MFOBJECTS |
| #define _INC_MFOBJECTS |
| |
| #if (_WIN32_WINNT >= 0x0600) |
| |
| typedef struct IMFAsyncCallback IMFAsyncCallback; |
| typedef struct IMFMediaEvent IMFMediaEvent; |
| typedef struct IMFPresentationDescriptor IMFPresentationDescriptor; |
| typedef struct IPropertyStore IPropertyStore; |
| typedef DWORD MediaEventType; |
| __MINGW_EXTENSION typedef unsigned __int64 QWORD; |
| |
| enum MF_ATTRIBUTE_SERIALIZE_OPTIONS { |
| MF_ATTRIBUTE_SERIALIZE_UNKNOWN_BYREF = 0x00000001 |
| }; |
| |
| 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; |
| |
| 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; |
| |
| typedef enum _MFVideoTransferFunction { |
| MFVideoTransFunc_Unknown = 0, |
| MFVideoTransFunc_10 = 1, |
| MFVideoTransFunc_18 = 2, |
| MFVideoTransFunc_20 = 3, |
| MFVideoTransFunc_22 = 4, |
| MFVideoTransFunc_709 = 5, |
| MFVideoTransFunc_240M = 6, |
| MFVideoTransFunc_sRGB = 7, |
| MFVideoTransFunc_28 = 8, |
| MFVideoTransFunc_Log_100 = 9, |
| MFVideoTransFunc_Log_316 = 10, |
| MFVideoTransFunc_709_sym = 11, |
| MFVideoTransFunc_Last, |
| MFVideoTransFunc_ForceDWORD = 0x7FFFFFFF |
| } MFVideoTransferFunction; |
| |
| #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 _MFBYTESTREAM_SEEK_ORIGIN { |
| msoBegin, |
| msoCurrent |
| } MFBYTESTREAM_SEEK_ORIGIN; |
| |
| 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 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 _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, |
| MFVideoInterlace_ForceDWORD = 0x7FFFFFFF |
| } MFVideoInterlaceMode; |
| |
| typedef enum _MFVideoLighting { |
| MFVideoLighting_Unknown = 0, |
| MFVideoLighting_bright = 1, |
| MFVideoLighting_office = 2, |
| MFVideoLighting_dim = 3, |
| MFVideoLighting_dark = 4, |
| MFVideoLighting_Last, |
| MFVideoLighting_ForceDWORD = 0x7FFFFFFF |
| } MFVideoLighting; |
| |
| typedef enum _MFVideoPrimaries { |
| MFVideoPrimaries_Unknown = 0, |
| MFVideoPrimaries_reserved = 1, |
| MFVideoPrimaries_BT709 = 2, |
| MFVideoPrimaries_BT470_2_SysM = 3, |
| MFVideoPrimaries_BT470_2_SysBG = 4, |
| MFVideoPrimaries_SMPTE170M = 5, |
| MFVideoPrimaries_SMPTE240M = 6, |
| MFVideoPrimaries_EBU3213 = 7, |
| MFVideoPrimaries_SMPTE_C = 8, |
| MFVideoPrimaries_Last, |
| MFVideoPrimaries_ForceDWORD = 0x7FFFFFFF |
| } MFVideoPrimaries; |
| |
| typedef enum _MFVideoTransferMatrix { |
| MFVideoTransferMatrix_Unknown = 0, |
| MFVideoTransferMatrix_BT709 = 1, |
| MFVideoTransferMatrix_BT601 = 2, |
| MFVideoTransferMatrix_SMPTE240M = 3, |
| MFVideoTransferMatrix_Last, |
| MFVideoTransferMatrix_ForceDWORD = 0x7FFFFFFF |
| } MFVideoTransferMatrix; |
| |
| 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 _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; |
| |
| typedef struct _MFVideoCompressedInfo { |
| LONGLONG AvgBitrate; |
| LONGLONG AvgBitErrorRate; |
| DWORD MaxKeyFrameSpacing; |
| } MFVideoCompressedInfo; |
| |
| typedef struct _MFVideoInfo { |
| DWORD dwWidth; |
| DWORD dwHeight; |
| MFRatio PixelAspectRatio; |
| MFVideoChromaSubsampling SourceChromaSubsampling; |
| MFVideoInterlaceMode InterlaceMode; |
| MFVideoTransferFunction TransferFunction; |
| MFVideoPrimaries ColorPrimaries; |
| MFVideoTransferMatrix TransferMatrix; |
| MFVideoLighting SourceLighting; |
| MFRatio FramesPerSecond; |
| MFNominalRange NominalRange; |
| MFVideoArea GeometricAperture; |
| MFVideoArea MinimumDisplayAperture; |
| MFVideoArea PanScanAperture; |
| unsigned __int64 VideoFlags; |
| } MFVideoInfo; |
| |
| typedef struct _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[]; |
| } MFVideoSurfaceInfo; |
| |
| typedef struct _MFVIDEOFORMAT { |
| DWORD dwSize; |
| MFVideoInfo videoInfo; |
| GUID guidFormat; |
| MFVideoCompressedInfo compressedInfo; |
| MFVideoSurfaceInfo surfaceInfo; |
| } MFVIDEOFORMAT; |
| |
| #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 |
| |
| #undef INTERFACE |
| #define INTERFACE IMFRemoteAsyncCallback |
| DECLARE_INTERFACE_(IMFRemoteAsyncCallback,IUnknown) |
| { |
| BEGIN_INTERFACE |
| |
| /* IUnknown methods */ |
| STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; |
| STDMETHOD_(ULONG, AddRef)(THIS) PURE; |
| STDMETHOD_(ULONG, Release)(THIS) PURE; |
| |
| /* IMFRemoteAsyncCallback methods */ |
| STDMETHOD(Invoke)(THIS) PURE; /*Not used by applications.*/ |
| |
| END_INTERFACE |
| }; |
| #ifdef COBJMACROS |
| #define IMFRemoteAsyncCallback_QueryInterface(This,riid,ppvObject) (This)->pVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMFRemoteAsyncCallback_AddRef(This) (This)->pVtbl->AddRef(This) |
| #define IMFRemoteAsyncCallback_Release(This) (This)->pVtbl->Release(This) |
| #endif /*COBJMACROS*/ |
| |
| #undef INTERFACE |
| #define INTERFACE IMFAsyncResult |
| #ifdef __GNUC__ |
| #warning COM interfaces layout in this header has not been verified. |
| #warning COM interfaces with incorrect layout may not work at all. |
| __MINGW_BROKEN_INTERFACE(INTERFACE) |
| #endif |
| DECLARE_INTERFACE_(IMFAsyncResult,IUnknown) |
| { |
| BEGIN_INTERFACE |
| |
| /* IUnknown methods */ |
| STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; |
| STDMETHOD_(ULONG, AddRef)(THIS) PURE; |
| STDMETHOD_(ULONG, Release)(THIS) PURE; |
| |
| /* IMFAsyncResult methods */ |
| STDMETHOD_(HRESULT,GetObject)(THIS_ IUnknown **ppObject) PURE; |
| STDMETHOD_(HRESULT,GetState)(THIS_ IUnknown **ppunkState) PURE; |
| STDMETHOD_(IUnknown *,GetStateNoAddRef)(THIS) PURE; |
| STDMETHOD_(HRESULT,GetStatus)(THIS) PURE; |
| STDMETHOD_(HRESULT,SetStatus)(THIS_ HRESULT hrStatus) PURE; |
| |
| END_INTERFACE |
| }; |
| #ifdef COBJMACROS |
| #define IMFAsyncResult_QueryInterface(This,riid,ppvObject) (This)->pVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMFAsyncResult_AddRef(This) (This)->pVtbl->AddRef(This) |
| #define IMFAsyncResult_Release(This) (This)->pVtbl->Release(This) |
| #define IMFAsyncResult_GetObject(This,ppObject) (This)->lpVtbl->GetObject(This,ppObject) |
| #define IMFAsyncResult_GetState(This,ppunkState) (This)->lpVtbl->GetState(This,ppunkState) |
| #define IMFAsyncResult_GetStateNoAddRef() (This)->lpVtbl->GetStateNoAddRef(This) |
| #define IMFAsyncResult_GetStatus() (This)->lpVtbl->GetStatus(This) |
| #define IMFAsyncResult_SetStatus(This,hrStatus) (This)->lpVtbl->SetStatus(This,hrStatus) |
| #endif /*COBJMACROS*/ |
| |
| #undef INTERFACE |
| #define INTERFACE IMFMediaEventGenerator |
| #ifdef __GNUC__ |
| #warning COM interfaces layout in this header has not been verified. |
| #warning COM interfaces with incorrect layout may not work at all. |
| __MINGW_BROKEN_INTERFACE(INTERFACE) |
| #endif |
| DECLARE_INTERFACE_(IMFMediaEventGenerator,IUnknown) |
| { |
| BEGIN_INTERFACE |
| |
| /* IUnknown methods */ |
| STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; |
| STDMETHOD_(ULONG, AddRef)(THIS) PURE; |
| STDMETHOD_(ULONG, Release)(THIS) PURE; |
| |
| /* IMFMediaEventGenerator methods */ |
| /*[call_as(BeginGetEvent)] */ |
| STDMETHOD_(HRESULT,BeginGetEvent)(THIS_ IMFAsyncCallback *pCallback,IUnknown *punkState) PURE; |
| STDMETHOD_(HRESULT,EndGetEvent)(THIS_ IMFAsyncResult *pResult,IMFMediaEvent **ppEvent) PURE; |
| STDMETHOD_(HRESULT,GetEvent)(THIS_ DWORD dwFlags,IMFMediaEvent **ppEvent) PURE; |
| STDMETHOD_(HRESULT,QueueEvent)(THIS_ MediaEventType met,REFGUID guidExtendedType,HRESULT hrStatus,const PROPVARIANT *pvValue) PURE; |
| STDMETHOD_(HRESULT,RemoteEndGetEvent)(THIS_ IUnknown *pResult,DWORD *pcbEvent,BYTE **ppbEvent) PURE; |
| |
| END_INTERFACE |
| }; |
| #ifdef COBJMACROS |
| #define IMFMediaEventGenerator_QueryInterface(This,riid,ppvObject) (This)->pVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMFMediaEventGenerator_AddRef(This) (This)->pVtbl->AddRef(This) |
| #define IMFMediaEventGenerator_Release(This) (This)->pVtbl->Release(This) |
| #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_GetEvent(This,dwFlags,ppEvent) (This)->lpVtbl->GetEvent(This,dwFlags,ppEvent) |
| #define IMFMediaEventGenerator_QueueEvent(This,met,guidExtendedType,hrStatus,pvValue) (This)->lpVtbl->QueueEvent(This,met,guidExtendedType,hrStatus,pvValue) |
| #define IMFMediaEventGenerator_RemoteEndGetEvent(This,pResult,pcbEvent,ppbEvent) (This)->lpVtbl->RemoteEndGetEvent(This,pResult,pcbEvent,ppbEvent) |
| #endif /*COBJMACROS*/ |
| |
| #undef INTERFACE |
| #define INTERFACE IMFMediaBuffer |
| #ifdef __GNUC__ |
| #warning COM interfaces layout in this header has not been verified. |
| #warning COM interfaces with incorrect layout may not work at all. |
| __MINGW_BROKEN_INTERFACE(INTERFACE) |
| #endif |
| DECLARE_INTERFACE_(IMFMediaBuffer,IUnknown) |
| { |
| BEGIN_INTERFACE |
| |
| /* IUnknown methods */ |
| STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; |
| STDMETHOD_(ULONG, AddRef)(THIS) PURE; |
| STDMETHOD_(ULONG, Release)(THIS) PURE; |
| |
| /* IMFMediaBuffer methods */ |
| STDMETHOD_(HRESULT,GetCurrentLength)(THIS_ DWORD *pcbCurrentLength) PURE; |
| STDMETHOD_(HRESULT,GetMaxLength)(THIS_ DWORD *pcbMaxLength) PURE; |
| STDMETHOD_(HRESULT,Lock)(THIS_ BYTE **ppbBuffer,DWORD *pcbMaxLength,DWORD *pcbCurrentLength) PURE; |
| STDMETHOD_(HRESULT,SetCurrentLength)(THIS_ DWORD cbCurrentLength) PURE; |
| STDMETHOD_(HRESULT,Unlock)(THIS) PURE; |
| |
| END_INTERFACE |
| }; |
| #ifdef COBJMACROS |
| #define IMFMediaBuffer_QueryInterface(This,riid,ppvObject) (This)->pVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMFMediaBuffer_AddRef(This) (This)->pVtbl->AddRef(This) |
| #define IMFMediaBuffer_Release(This) (This)->pVtbl->Release(This) |
| #define IMFMediaBuffer_GetCurrentLength(This,pcbCurrentLength) (This)->lpVtbl->GetCurrentLength(This,pcbCurrentLength) |
| #define IMFMediaBuffer_GetMaxLength(This,pcbMaxLength) (This)->lpVtbl->GetMaxLength(This,pcbMaxLength) |
| #define IMFMediaBuffer_Lock(This,ppbBuffer,pcbMaxLength,pcbCurrentLength) (This)->lpVtbl->Lock(This,ppbBuffer,pcbMaxLength,pcbCurrentLength) |
| #define IMFMediaBuffer_SetCurrentLength(This,cbCurrentLength) (This)->lpVtbl->SetCurrentLength(This,cbCurrentLength) |
| #define IMFMediaBuffer_Unlock() (This)->lpVtbl->Unlock(This) |
| #endif /*COBJMACROS*/ |
| |
| #undef INTERFACE |
| #define INTERFACE IMFAttributes |
| #ifdef __GNUC__ |
| #warning COM interfaces layout in this header has not been verified. |
| #warning COM interfaces with incorrect layout may not work at all. |
| __MINGW_BROKEN_INTERFACE(INTERFACE) |
| #endif |
| DECLARE_INTERFACE_(IMFAttributes,IUnknown) |
| { |
| BEGIN_INTERFACE |
| |
| /* IUnknown methods */ |
| STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; |
| STDMETHOD_(ULONG, AddRef)(THIS) PURE; |
| STDMETHOD_(ULONG, Release)(THIS) PURE; |
| |
| /* IMFAttributes methods */ |
| STDMETHOD_(HRESULT,Compare)(THIS_ IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,WINBOOL *pbResult) PURE; |
| STDMETHOD_(HRESULT,CompareItem)(THIS_ REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) PURE; |
| STDMETHOD_(HRESULT,CopyAllItems)(THIS_ IMFAttributes *pDest) PURE; |
| STDMETHOD_(HRESULT,DeleteAllItems)(THIS) PURE; |
| STDMETHOD_(HRESULT,DeleteItem)(THIS_ REFGUID guidKey) PURE; |
| STDMETHOD_(HRESULT,GetAllocatedBlob)(THIS_ REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) PURE; |
| STDMETHOD_(HRESULT,GetAllocatedString)(THIS_ REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) PURE; |
| STDMETHOD_(HRESULT,GetBlob)(THIS_ REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) PURE; |
| STDMETHOD_(HRESULT,GetBlobSize)(THIS_ REFGUID guidKey,UINT32 *pcbBlobSize) PURE; |
| STDMETHOD_(HRESULT,GetCount)(THIS_ UINT32 *pcItems) PURE; |
| STDMETHOD_(HRESULT,GetDouble)(THIS_ REFGUID guidKey,double *pfValue) PURE; |
| STDMETHOD_(HRESULT,GetGUID)(THIS_ REFGUID guidKey,GUID *pguidValue) PURE; |
| STDMETHOD_(HRESULT,GetItem)(THIS_ REFGUID guidKey,PROPVARIANT *pValue) PURE; |
| STDMETHOD_(HRESULT,GetItemByIndex)(THIS_ UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) PURE; |
| STDMETHOD_(HRESULT,GetItemType)(THIS_ REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) PURE; |
| STDMETHOD_(HRESULT,GetString)(THIS_ REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) PURE; |
| STDMETHOD_(HRESULT,GetStringLength)(THIS_ REFGUID guidKey,UINT32 *pcchLength) PURE; |
| STDMETHOD_(HRESULT,GetUINT32)(THIS_ REFGUID guidKey,UINT32 *punValue) PURE; |
| STDMETHOD_(HRESULT,GetUINT64)(THIS_ REFGUID guidKey,UINT64 *punValue) PURE; |
| STDMETHOD_(HRESULT,GetUnknown)(THIS_ REFGUID guidKey,REFIID riid,LPVOID *ppv) PURE; |
| STDMETHOD_(HRESULT,LockStore)(THIS) PURE; |
| STDMETHOD_(HRESULT,SetBlob)(THIS_ REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) PURE; |
| STDMETHOD_(HRESULT,SetDouble)(THIS_ REFGUID guidKey,double fValue) PURE; |
| STDMETHOD_(HRESULT,SetGUID)(THIS_ REFGUID guidKey,REFGUID guidValue) PURE; |
| STDMETHOD_(HRESULT,SetItem)(THIS_ REFGUID guidKey,REFPROPVARIANT Value) PURE; |
| STDMETHOD_(HRESULT,SetString)(THIS_ REFGUID guidKey,LPCWSTR wszValue) PURE; |
| STDMETHOD_(HRESULT,SetUINT32)(THIS_ REFGUID guidKey,UINT32 unValue) PURE; |
| STDMETHOD_(HRESULT,SetUINT64)(THIS_ REFGUID guidKey,UINT64 unValue) PURE; |
| STDMETHOD_(HRESULT,SetUnknown)(THIS_ REFGUID guidKey,IUnknown *pUnknown) PURE; |
| STDMETHOD_(HRESULT,UnlockStore)(THIS) PURE; |
| |
| END_INTERFACE |
| }; |
| #ifdef COBJMACROS |
| #define IMFAttributes_QueryInterface(This,riid,ppvObject) (This)->pVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMFAttributes_AddRef(This) (This)->pVtbl->AddRef(This) |
| #define IMFAttributes_Release(This) (This)->pVtbl->Release(This) |
| #define IMFAttributes_Compare(This,pTheirs,MatchType,pbResult) (This)->lpVtbl->Compare(This,pTheirs,MatchType,pbResult) |
| #define IMFAttributes_CompareItem(This,guidKey,Value,pbResult) (This)->lpVtbl->CompareItem(This,guidKey,Value,pbResult) |
| #define IMFAttributes_CopyAllItems(This,pDest) (This)->lpVtbl->CopyAllItems(This,pDest) |
| #define IMFAttributes_DeleteAllItems() (This)->lpVtbl->DeleteAllItems(This) |
| #define IMFAttributes_DeleteItem(This,guidKey) (This)->lpVtbl->DeleteItem(This,guidKey) |
| #define IMFAttributes_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) (This)->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) |
| #define IMFAttributes_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) (This)->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength) |
| #define IMFAttributes_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) (This)->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) |
| #define IMFAttributes_GetBlobSize(This,guidKey,pcbBlobSize) (This)->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize) |
| #define IMFAttributes_GetCount(This,pcItems) (This)->lpVtbl->GetCount(This,pcItems) |
| #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_GetItem(This,guidKey,pValue) (This)->lpVtbl->GetItem(This,guidKey,pValue) |
| #define IMFAttributes_GetItemByIndex(This,unIndex,pguidKey,pValue) (This)->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue) |
| #define IMFAttributes_GetItemType(This,guidKey,pType) (This)->lpVtbl->GetItemType(This,guidKey,pType) |
| #define IMFAttributes_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) (This)->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) |
| #define IMFAttributes_GetStringLength(This,guidKey,pcchLength) (This)->lpVtbl->GetStringLength(This,guidKey,pcchLength) |
| #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_GetUnknown(This,guidKey,riid,ppv) (This)->lpVtbl->GetUnknown(This,guidKey,riid,ppv) |
| #define IMFAttributes_LockStore() (This)->lpVtbl->LockStore(This) |
| #define IMFAttributes_SetBlob(This,guidKey,pBuf,cbBufSize) (This)->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize) |
| #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_SetItem(This,guidKey,Value) (This)->lpVtbl->SetItem(This,guidKey,Value) |
| #define IMFAttributes_SetString(This,guidKey,wszValue) (This)->lpVtbl->SetString(This,guidKey,wszValue) |
| #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_SetUnknown(This,guidKey,pUnknown) (This)->lpVtbl->SetUnknown(This,guidKey,pUnknown) |
| #define IMFAttributes_UnlockStore() (This)->lpVtbl->UnlockStore(This) |
| #endif /*COBJMACROS*/ |
| |
| #undef INTERFACE |
| #define INTERFACE IMFMediaType |
| #ifdef __GNUC__ |
| #warning COM interfaces layout in this header has not been verified. |
| #warning COM interfaces with incorrect layout may not work at all. |
| __MINGW_BROKEN_INTERFACE(INTERFACE) |
| #endif |
| DECLARE_INTERFACE_(IMFMediaType,IMFAttributes) |
| { |
| BEGIN_INTERFACE |
| |
| /* IUnknown methods */ |
| STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; |
| STDMETHOD_(ULONG, AddRef)(THIS) PURE; |
| STDMETHOD_(ULONG, Release)(THIS) PURE; |
| |
| /* IMFAttributes methods */ |
| STDMETHOD_(HRESULT,Compare)(THIS_ IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,WINBOOL *pbResult) PURE; |
| STDMETHOD_(HRESULT,CompareItem)(THIS_ REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) PURE; |
| STDMETHOD_(HRESULT,CopyAllItems)(THIS_ IMFAttributes *pDest) PURE; |
| STDMETHOD_(HRESULT,DeleteAllItems)(THIS) PURE; |
| STDMETHOD_(HRESULT,DeleteItem)(THIS_ REFGUID guidKey) PURE; |
| STDMETHOD_(HRESULT,GetAllocatedBlob)(THIS_ REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) PURE; |
| STDMETHOD_(HRESULT,GetAllocatedString)(THIS_ REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) PURE; |
| STDMETHOD_(HRESULT,GetBlob)(THIS_ REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) PURE; |
| STDMETHOD_(HRESULT,GetBlobSize)(THIS_ REFGUID guidKey,UINT32 *pcbBlobSize) PURE; |
| STDMETHOD_(HRESULT,GetCount)(THIS_ UINT32 *pcItems) PURE; |
| STDMETHOD_(HRESULT,GetDouble)(THIS_ REFGUID guidKey,double *pfValue) PURE; |
| STDMETHOD_(HRESULT,GetGUID)(THIS_ REFGUID guidKey,GUID *pguidValue) PURE; |
| STDMETHOD_(HRESULT,GetItem)(THIS_ REFGUID guidKey,PROPVARIANT *pValue) PURE; |
| STDMETHOD_(HRESULT,GetItemByIndex)(THIS_ UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) PURE; |
| STDMETHOD_(HRESULT,GetItemType)(THIS_ REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) PURE; |
| STDMETHOD_(HRESULT,GetString)(THIS_ REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) PURE; |
| STDMETHOD_(HRESULT,GetStringLength)(THIS_ REFGUID guidKey,UINT32 *pcchLength) PURE; |
| STDMETHOD_(HRESULT,GetUINT32)(THIS_ REFGUID guidKey,UINT32 *punValue) PURE; |
| STDMETHOD_(HRESULT,GetUINT64)(THIS_ REFGUID guidKey,UINT64 *punValue) PURE; |
| STDMETHOD_(HRESULT,GetUnknown)(THIS_ REFGUID guidKey,REFIID riid,LPVOID *ppv) PURE; |
| STDMETHOD_(HRESULT,LockStore)(THIS) PURE; |
| STDMETHOD_(HRESULT,SetBlob)(THIS_ REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) PURE; |
| STDMETHOD_(HRESULT,SetDouble)(THIS_ REFGUID guidKey,double fValue) PURE; |
| STDMETHOD_(HRESULT,SetGUID)(THIS_ REFGUID guidKey,REFGUID guidValue) PURE; |
| STDMETHOD_(HRESULT,SetItem)(THIS_ REFGUID guidKey,REFPROPVARIANT Value) PURE; |
| STDMETHOD_(HRESULT,SetString)(THIS_ REFGUID guidKey,LPCWSTR wszValue) PURE; |
| STDMETHOD_(HRESULT,SetUINT32)(THIS_ REFGUID guidKey,UINT32 unValue) PURE; |
| STDMETHOD_(HRESULT,SetUINT64)(THIS_ REFGUID guidKey,UINT64 unValue) PURE; |
| STDMETHOD_(HRESULT,SetUnknown)(THIS_ REFGUID guidKey,IUnknown *pUnknown) PURE; |
| STDMETHOD_(HRESULT,UnlockStore)(THIS) PURE; |
| |
| /* IMFMediaType methods */ |
| STDMETHOD_(HRESULT,FreeRepresentation)(THIS_ GUID guidRepresentation,void *pvRepresentation) PURE; |
| STDMETHOD_(HRESULT,GetMajorType)(THIS_ GUID *pguidMajorType) PURE; |
| STDMETHOD_(HRESULT,GetRepresentation)(THIS_ GUID guidRepresentation,void **ppvRepresentation) PURE; |
| STDMETHOD_(HRESULT,IsCompressedFormat)(THIS_ WINBOOL *pfCompressed) PURE; |
| STDMETHOD_(HRESULT,IsEqual)(THIS_ IMFMediaType *pIMediaType,DWORD *pdwFlags) PURE; |
| |
| END_INTERFACE |
| }; |
| #ifdef COBJMACROS |
| #define IMFMediaType_QueryInterface(This,riid,ppvObject) (This)->pVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMFMediaType_AddRef(This) (This)->pVtbl->AddRef(This) |
| #define IMFMediaType_Release(This) (This)->pVtbl->Release(This) |
| #define IMFMediaType_Compare(This,pTheirs,MatchType,pbResult) (This)->lpVtbl->Compare(This,pTheirs,MatchType,pbResult) |
| #define IMFMediaType_CompareItem(This,guidKey,Value,pbResult) (This)->lpVtbl->CompareItem(This,guidKey,Value,pbResult) |
| #define IMFMediaType_CopyAllItems(This,pDest) (This)->lpVtbl->CopyAllItems(This,pDest) |
| #define IMFMediaType_DeleteAllItems() (This)->lpVtbl->DeleteAllItems(This) |
| #define IMFMediaType_DeleteItem(This,guidKey) (This)->lpVtbl->DeleteItem(This,guidKey) |
| #define IMFMediaType_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) (This)->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) |
| #define IMFMediaType_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) (This)->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength) |
| #define IMFMediaType_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) (This)->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) |
| #define IMFMediaType_GetBlobSize(This,guidKey,pcbBlobSize) (This)->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize) |
| #define IMFMediaType_GetCount(This,pcItems) (This)->lpVtbl->GetCount(This,pcItems) |
| #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_GetItem(This,guidKey,pValue) (This)->lpVtbl->GetItem(This,guidKey,pValue) |
| #define IMFMediaType_GetItemByIndex(This,unIndex,pguidKey,pValue) (This)->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue) |
| #define IMFMediaType_GetItemType(This,guidKey,pType) (This)->lpVtbl->GetItemType(This,guidKey,pType) |
| #define IMFMediaType_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) (This)->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) |
| #define IMFMediaType_GetStringLength(This,guidKey,pcchLength) (This)->lpVtbl->GetStringLength(This,guidKey,pcchLength) |
| #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_GetUnknown(This,guidKey,riid,ppv) (This)->lpVtbl->GetUnknown(This,guidKey,riid,ppv) |
| #define IMFMediaType_LockStore() (This)->lpVtbl->LockStore(This) |
| #define IMFMediaType_SetBlob(This,guidKey,pBuf,cbBufSize) (This)->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize) |
| #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_SetItem(This,guidKey,Value) (This)->lpVtbl->SetItem(This,guidKey,Value) |
| #define IMFMediaType_SetString(This,guidKey,wszValue) (This)->lpVtbl->SetString(This,guidKey,wszValue) |
| #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_SetUnknown(This,guidKey,pUnknown) (This)->lpVtbl->SetUnknown(This,guidKey,pUnknown) |
| #define IMFMediaType_UnlockStore() (This)->lpVtbl->UnlockStore(This) |
| #define IMFMediaType_FreeRepresentation(This,guidRepresentation,pvRepresentation) (This)->lpVtbl->FreeRepresentation(This,guidRepresentation,pvRepresentation) |
| #define IMFMediaType_GetMajorType(This,pguidMajorType) (This)->lpVtbl->GetMajorType(This,pguidMajorType) |
| #define IMFMediaType_GetRepresentation(This,guidRepresentation,ppvRepresentation) (This)->lpVtbl->GetRepresentation(This,guidRepresentation,ppvRepresentation) |
| #define IMFMediaType_IsCompressedFormat(This,pfCompressed) (This)->lpVtbl->IsCompressedFormat(This,pfCompressed) |
| #define IMFMediaType_IsEqual(This,pIMediaType,pdwFlags) (This)->lpVtbl->IsEqual(This,pIMediaType,pdwFlags) |
| #endif /*COBJMACROS*/ |
| |
| #undef INTERFACE |
| #define INTERFACE IMFAudioMediaType |
| #ifdef __GNUC__ |
| #warning COM interfaces layout in this header has not been verified. |
| #warning COM interfaces with incorrect layout may not work at all. |
| __MINGW_BROKEN_INTERFACE(INTERFACE) |
| #endif |
| DECLARE_INTERFACE_(IMFAudioMediaType,IMFAudioMediaType) |
| { |
| BEGIN_INTERFACE |
| |
| /* IUnknown methods */ |
| STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; |
| STDMETHOD_(ULONG, AddRef)(THIS) PURE; |
| STDMETHOD_(ULONG, Release)(THIS) PURE; |
| |
| /* IMFAttributes methods */ |
| STDMETHOD_(HRESULT,Compare)(THIS_ IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,WINBOOL *pbResult) PURE; |
| STDMETHOD_(HRESULT,CompareItem)(THIS_ REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) PURE; |
| STDMETHOD_(HRESULT,CopyAllItems)(THIS_ IMFAttributes *pDest) PURE; |
| STDMETHOD_(HRESULT,DeleteAllItems)(THIS) PURE; |
| STDMETHOD_(HRESULT,DeleteItem)(THIS_ REFGUID guidKey) PURE; |
| STDMETHOD_(HRESULT,GetAllocatedBlob)(THIS_ REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) PURE; |
| STDMETHOD_(HRESULT,GetAllocatedString)(THIS_ REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) PURE; |
| STDMETHOD_(HRESULT,GetBlob)(THIS_ REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) PURE; |
| STDMETHOD_(HRESULT,GetBlobSize)(THIS_ REFGUID guidKey,UINT32 *pcbBlobSize) PURE; |
| STDMETHOD_(HRESULT,GetCount)(THIS_ UINT32 *pcItems) PURE; |
| STDMETHOD_(HRESULT,GetDouble)(THIS_ REFGUID guidKey,double *pfValue) PURE; |
| STDMETHOD_(HRESULT,GetGUID)(THIS_ REFGUID guidKey,GUID *pguidValue) PURE; |
| STDMETHOD_(HRESULT,GetItem)(THIS_ REFGUID guidKey,PROPVARIANT *pValue) PURE; |
| STDMETHOD_(HRESULT,GetItemByIndex)(THIS_ UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) PURE; |
| STDMETHOD_(HRESULT,GetItemType)(THIS_ REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) PURE; |
| STDMETHOD_(HRESULT,GetString)(THIS_ REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) PURE; |
| STDMETHOD_(HRESULT,GetStringLength)(THIS_ REFGUID guidKey,UINT32 *pcchLength) PURE; |
| STDMETHOD_(HRESULT,GetUINT32)(THIS_ REFGUID guidKey,UINT32 *punValue) PURE; |
| STDMETHOD_(HRESULT,GetUINT64)(THIS_ REFGUID guidKey,UINT64 *punValue) PURE; |
| STDMETHOD_(HRESULT,GetUnknown)(THIS_ REFGUID guidKey,REFIID riid,LPVOID *ppv) PURE; |
| STDMETHOD_(HRESULT,LockStore)(THIS) PURE; |
| STDMETHOD_(HRESULT,SetBlob)(THIS_ REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) PURE; |
| STDMETHOD_(HRESULT,SetDouble)(THIS_ REFGUID guidKey,double fValue) PURE; |
| STDMETHOD_(HRESULT,SetGUID)(THIS_ REFGUID guidKey,REFGUID guidValue) PURE; |
| STDMETHOD_(HRESULT,SetItem)(THIS_ REFGUID guidKey,REFPROPVARIANT Value) PURE; |
| STDMETHOD_(HRESULT,SetString)(THIS_ REFGUID guidKey,LPCWSTR wszValue) PURE; |
| STDMETHOD_(HRESULT,SetUINT32)(THIS_ REFGUID guidKey,UINT32 unValue) PURE; |
| STDMETHOD_(HRESULT,SetUINT64)(THIS_ REFGUID guidKey,UINT64 unValue) PURE; |
| STDMETHOD_(HRESULT,SetUnknown)(THIS_ REFGUID guidKey,IUnknown *pUnknown) PURE; |
| STDMETHOD_(HRESULT,UnlockStore)(THIS) PURE; |
| |
| /* IMFMediaType methods */ |
| STDMETHOD_(HRESULT,FreeRepresentation)(THIS_ GUID guidRepresentation,void *pvRepresentation) PURE; |
| STDMETHOD_(HRESULT,GetMajorType)(THIS_ GUID *pguidMajorType) PURE; |
| STDMETHOD_(HRESULT,GetRepresentation)(THIS_ GUID guidRepresentation,void **ppvRepresentation) PURE; |
| STDMETHOD_(HRESULT,IsCompressedFormat)(THIS_ WINBOOL *pfCompressed) PURE; |
| STDMETHOD_(HRESULT,IsEqual)(THIS_ IMFMediaType *pIMediaType,DWORD *pdwFlags) PURE; |
| |
| /* IMFAudioMediaType methods */ |
| STDMETHOD_(const WAVEFORMATEX *,GetAudioFormat)(THIS) PURE; |
| |
| END_INTERFACE |
| }; |
| #ifdef COBJMACROS |
| #define IMFAudioMediaType_QueryInterface(This,riid,ppvObject) (This)->pVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMFAudioMediaType_AddRef(This) (This)->pVtbl->AddRef(This) |
| #define IMFAudioMediaType_Release(This) (This)->pVtbl->Release(This) |
| #define IMFAudioMediaType_Compare(This,pTheirs,MatchType,pbResult) (This)->lpVtbl->Compare(This,pTheirs,MatchType,pbResult) |
| #define IMFAudioMediaType_CompareItem(This,guidKey,Value,pbResult) (This)->lpVtbl->CompareItem(This,guidKey,Value,pbResult) |
| #define IMFAudioMediaType_CopyAllItems(This,pDest) (This)->lpVtbl->CopyAllItems(This,pDest) |
| #define IMFAudioMediaType_DeleteAllItems() (This)->lpVtbl->DeleteAllItems(This) |
| #define IMFAudioMediaType_DeleteItem(This,guidKey) (This)->lpVtbl->DeleteItem(This,guidKey) |
| #define IMFAudioMediaType_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) (This)->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) |
| #define IMFAudioMediaType_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) (This)->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength) |
| #define IMFAudioMediaType_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) (This)->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) |
| #define IMFAudioMediaType_GetBlobSize(This,guidKey,pcbBlobSize) (This)->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize) |
| #define IMFAudioMediaType_GetCount(This,pcItems) (This)->lpVtbl->GetCount(This,pcItems) |
| #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_GetItem(This,guidKey,pValue) (This)->lpVtbl->GetItem(This,guidKey,pValue) |
| #define IMFAudioMediaType_GetItemByIndex(This,unIndex,pguidKey,pValue) (This)->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue) |
| #define IMFAudioMediaType_GetItemType(This,guidKey,pType) (This)->lpVtbl->GetItemType(This,guidKey,pType) |
| #define IMFAudioMediaType_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) (This)->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) |
| #define IMFAudioMediaType_GetStringLength(This,guidKey,pcchLength) (This)->lpVtbl->GetStringLength(This,guidKey,pcchLength) |
| #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_GetUnknown(This,guidKey,riid,ppv) (This)->lpVtbl->GetUnknown(This,guidKey,riid,ppv) |
| #define IMFAudioMediaType_LockStore() (This)->lpVtbl->LockStore(This) |
| #define IMFAudioMediaType_SetBlob(This,guidKey,pBuf,cbBufSize) (This)->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize) |
| #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_SetItem(This,guidKey,Value) (This)->lpVtbl->SetItem(This,guidKey,Value) |
| #define IMFAudioMediaType_SetString(This,guidKey,wszValue) (This)->lpVtbl->SetString(This,guidKey,wszValue) |
| #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_SetUnknown(This,guidKey,pUnknown) (This)->lpVtbl->SetUnknown(This,guidKey,pUnknown) |
| #define IMFAudioMediaType_UnlockStore() (This)->lpVtbl->UnlockStore(This) |
| #define IMFAudioMediaType_FreeRepresentation(This,guidRepresentation,pvRepresentation) (This)->lpVtbl->FreeRepresentation(This,guidRepresentation,pvRepresentation) |
| #define IMFAudioMediaType_GetMajorType(This,pguidMajorType) (This)->lpVtbl->GetMajorType(This,pguidMajorType) |
| #define IMFAudioMediaType_GetRepresentation(This,guidRepresentation,ppvRepresentation) (This)->lpVtbl->GetRepresentation(This,guidRepresentation,ppvRepresentation) |
| #define IMFAudioMediaType_IsCompressedFormat(This,pfCompressed) (This)->lpVtbl->IsCompressedFormat(This,pfCompressed) |
| #define IMFAudioMediaType_IsEqual(This,pIMediaType,pdwFlags) (This)->lpVtbl->IsEqual(This,pIMediaType,pdwFlags) |
| #define IMFAudioMediaType_QueryInterface(This,riid,ppvObject) (This)->pVtbl->QueryInterface(This,riid,ppvObject) |
| #endif /*COBJMACROS*/ |
| |
| #undef INTERFACE |
| #define INTERFACE IMFSample |
| #ifdef __GNUC__ |
| #warning COM interfaces layout in this header has not been verified. |
| #warning COM interfaces with incorrect layout may not work at all. |
| __MINGW_BROKEN_INTERFACE(INTERFACE) |
| #endif |
| DECLARE_INTERFACE_(IMFSample,IMFAttributes) |
| { |
| BEGIN_INTERFACE |
| |
| /* IUnknown methods */ |
| STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; |
| STDMETHOD_(ULONG, AddRef)(THIS) PURE; |
| STDMETHOD_(ULONG, Release)(THIS) PURE; |
| |
| /* IMFAttributes methods */ |
| STDMETHOD_(HRESULT,Compare)(THIS_ IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,WINBOOL *pbResult) PURE; |
| STDMETHOD_(HRESULT,CompareItem)(THIS_ REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) PURE; |
| STDMETHOD_(HRESULT,CopyAllItems)(THIS_ IMFAttributes *pDest) PURE; |
| STDMETHOD_(HRESULT,DeleteAllItems)(THIS) PURE; |
| STDMETHOD_(HRESULT,DeleteItem)(THIS_ REFGUID guidKey) PURE; |
| STDMETHOD_(HRESULT,GetAllocatedBlob)(THIS_ REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) PURE; |
| STDMETHOD_(HRESULT,GetAllocatedString)(THIS_ REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) PURE; |
| STDMETHOD_(HRESULT,GetBlob)(THIS_ REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) PURE; |
| STDMETHOD_(HRESULT,GetBlobSize)(THIS_ REFGUID guidKey,UINT32 *pcbBlobSize) PURE; |
| STDMETHOD_(HRESULT,GetCount)(THIS_ UINT32 *pcItems) PURE; |
| STDMETHOD_(HRESULT,GetDouble)(THIS_ REFGUID guidKey,double *pfValue) PURE; |
| STDMETHOD_(HRESULT,GetGUID)(THIS_ REFGUID guidKey,GUID *pguidValue) PURE; |
| STDMETHOD_(HRESULT,GetItem)(THIS_ REFGUID guidKey,PROPVARIANT *pValue) PURE; |
| STDMETHOD_(HRESULT,GetItemByIndex)(THIS_ UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) PURE; |
| STDMETHOD_(HRESULT,GetItemType)(THIS_ REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) PURE; |
| STDMETHOD_(HRESULT,GetString)(THIS_ REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) PURE; |
| STDMETHOD_(HRESULT,GetStringLength)(THIS_ REFGUID guidKey,UINT32 *pcchLength) PURE; |
| STDMETHOD_(HRESULT,GetUINT32)(THIS_ REFGUID guidKey,UINT32 *punValue) PURE; |
| STDMETHOD_(HRESULT,GetUINT64)(THIS_ REFGUID guidKey,UINT64 *punValue) PURE; |
| STDMETHOD_(HRESULT,GetUnknown)(THIS_ REFGUID guidKey,REFIID riid,LPVOID *ppv) PURE; |
| STDMETHOD_(HRESULT,LockStore)(THIS) PURE; |
| STDMETHOD_(HRESULT,SetBlob)(THIS_ REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) PURE; |
| STDMETHOD_(HRESULT,SetDouble)(THIS_ REFGUID guidKey,double fValue) PURE; |
| STDMETHOD_(HRESULT,SetGUID)(THIS_ REFGUID guidKey,REFGUID guidValue) PURE; |
| STDMETHOD_(HRESULT,SetItem)(THIS_ REFGUID guidKey,REFPROPVARIANT Value) PURE; |
| STDMETHOD_(HRESULT,SetString)(THIS_ REFGUID guidKey,LPCWSTR wszValue) PURE; |
| STDMETHOD_(HRESULT,SetUINT32)(THIS_ REFGUID guidKey,UINT32 unValue) PURE; |
| STDMETHOD_(HRESULT,SetUINT64)(THIS_ REFGUID guidKey,UINT64 unValue) PURE; |
| STDMETHOD_(HRESULT,SetUnknown)(THIS_ REFGUID guidKey,IUnknown *pUnknown) PURE; |
| STDMETHOD_(HRESULT,UnlockStore)(THIS) PURE; |
| |
| /* IMFMediaType methods */ |
| STDMETHOD_(HRESULT,FreeRepresentation)(THIS_ GUID guidRepresentation,void *pvRepresentation) PURE; |
| STDMETHOD_(HRESULT,GetMajorType)(THIS_ GUID *pguidMajorType) PURE; |
| STDMETHOD_(HRESULT,GetRepresentation)(THIS_ GUID guidRepresentation,void **ppvRepresentation) PURE; |
| STDMETHOD_(HRESULT,IsCompressedFormat)(THIS_ WINBOOL *pfCompressed) PURE; |
| STDMETHOD_(HRESULT,IsEqual)(THIS_ IMFMediaType *pIMediaType,DWORD *pdwFlags) PURE; |
| |
| /* IMFSample methods */ |
| STDMETHOD_(HRESULT,AddBuffer)(THIS_ IMFMediaBuffer *pBuffer) PURE; |
| STDMETHOD_(HRESULT,ConvertToContiguousBuffer)(THIS_ IMFMediaBuffer **ppBuffer) PURE; |
| STDMETHOD_(HRESULT,CopyToBuffer)(THIS_ IMFMediaBuffer *pBuffer) PURE; |
| STDMETHOD_(HRESULT,GetBufferByIndex)(THIS_ DWORD dwIndex,IMFMediaBuffer **ppBuffer) PURE; |
| STDMETHOD_(HRESULT,GetBufferCount)(THIS_ DWORD *pdwBufferCount) PURE; |
| STDMETHOD_(HRESULT,GetSampleDuration)(THIS_ LONGLONG *phnsSampleDuration) PURE; |
| STDMETHOD_(HRESULT,GetSampleFlags)(THIS_ DWORD *pdwSampleFlags) PURE; |
| STDMETHOD_(HRESULT,GetSampleTime)(THIS_ LONGLONG *phnsSampleTime) PURE; |
| STDMETHOD_(HRESULT,GetTotalLength)(THIS_ DWORD *pcbTotalLength) PURE; |
| STDMETHOD_(HRESULT,RemoveAllBuffers)(THIS) PURE; |
| STDMETHOD_(HRESULT,RemoveBufferByIndex)(THIS_ DWORD dwIndex) PURE; |
| STDMETHOD_(HRESULT,SetSampleDuration)(THIS_ LONGLONG hnsSampleDuration) PURE; |
| STDMETHOD_(HRESULT,SetSampleFlags)(THIS_ DWORD dwSampleFlags) PURE; |
| STDMETHOD_(HRESULT,SetSampleTime)(THIS_ LONGLONG hnsSampleTime) PURE; |
| |
| END_INTERFACE |
| }; |
| #ifdef COBJMACROS |
| #define IMFSample_QueryInterface(This,riid,ppvObject) (This)->pVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMFSample_AddRef(This) (This)->pVtbl->AddRef(This) |
| #define IMFSample_Release(This) (This)->pVtbl->Release(This) |
| #define IMFSample_Compare(This,pTheirs,MatchType,pbResult) (This)->lpVtbl->Compare(This,pTheirs,MatchType,pbResult) |
| #define IMFSample_CompareItem(This,guidKey,Value,pbResult) (This)->lpVtbl->CompareItem(This,guidKey,Value,pbResult) |
| #define IMFSample_CopyAllItems(This,pDest) (This)->lpVtbl->CopyAllItems(This,pDest) |
| #define IMFSample_DeleteAllItems() (This)->lpVtbl->DeleteAllItems(This) |
| #define IMFSample_DeleteItem(This,guidKey) (This)->lpVtbl->DeleteItem(This,guidKey) |
| #define IMFSample_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) (This)->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) |
| #define IMFSample_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) (This)->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength) |
| #define IMFSample_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) (This)->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) |
| #define IMFSample_GetBlobSize(This,guidKey,pcbBlobSize) (This)->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize) |
| #define IMFSample_GetCount(This,pcItems) (This)->lpVtbl->GetCount(This,pcItems) |
| #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_GetItem(This,guidKey,pValue) (This)->lpVtbl->GetItem(This,guidKey,pValue) |
| #define IMFSample_GetItemByIndex(This,unIndex,pguidKey,pValue) (This)->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue) |
| #define IMFSample_GetItemType(This,guidKey,pType) (This)->lpVtbl->GetItemType(This,guidKey,pType) |
| #define IMFSample_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) (This)->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) |
| #define IMFSample_GetStringLength(This,guidKey,pcchLength) (This)->lpVtbl->GetStringLength(This,guidKey,pcchLength) |
| #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_GetUnknown(This,guidKey,riid,ppv) (This)->lpVtbl->GetUnknown(This,guidKey,riid,ppv) |
| #define IMFSample_LockStore() (This)->lpVtbl->LockStore(This) |
| #define IMFSample_SetBlob(This,guidKey,pBuf,cbBufSize) (This)->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize) |
| #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_SetItem(This,guidKey,Value) (This)->lpVtbl->SetItem(This,guidKey,Value) |
| #define IMFSample_SetString(This,guidKey,wszValue) (This)->lpVtbl->SetString(This,guidKey,wszValue) |
| #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_SetUnknown(This,guidKey,pUnknown) (This)->lpVtbl->SetUnknown(This,guidKey,pUnknown) |
| #define IMFSample_UnlockStore() (This)->lpVtbl->UnlockStore(This) |
| #define IMFSample_FreeRepresentation(This,guidRepresentation,pvRepresentation) (This)->lpVtbl->FreeRepresentation(This,guidRepresentation,pvRepresentation) |
| #define IMFSample_GetMajorType(This,pguidMajorType) (This)->lpVtbl->GetMajorType(This,pguidMajorType) |
| #define IMFSample_GetRepresentation(This,guidRepresentation,ppvRepresentation) (This)->lpVtbl->GetRepresentation(This,guidRepresentation,ppvRepresentation) |
| #define IMFSample_IsCompressedFormat(This,pfCompressed) (This)->lpVtbl->IsCompressedFormat(This,pfCompressed) |
| #define IMFSample_IsEqual(This,pIMediaType,pdwFlags) (This)->lpVtbl->IsEqual(This,pIMediaType,pdwFlags) |
| #define IMFSample_AddBuffer(This,pBuffer) (This)->lpVtbl->AddBuffer(This,pBuffer) |
| #define IMFSample_ConvertToContiguousBuffer(This,ppBuffer) (This)->lpVtbl->ConvertToContiguousBuffer(This,ppBuffer) |
| #define IMFSample_CopyToBuffer(This,pBuffer) (This)->lpVtbl->CopyToBuffer(This,pBuffer) |
| #define IMFSample_GetBufferByIndex(This,dwIndex,ppBuffer) (This)->lpVtbl->GetBufferByIndex(This,dwIndex,ppBuffer) |
| #define IMFSample_GetBufferCount(This,pdwBufferCount) (This)->lpVtbl->GetBufferCount(This,pdwBufferCount) |
| #define IMFSample_GetSampleDuration(This,phnsSampleDuration) (This)->lpVtbl->GetSampleDuration(This,phnsSampleDuration) |
| #define IMFSample_GetSampleFlags(This,pdwSampleFlags) (This)->lpVtbl->GetSampleFlags(This,pdwSampleFlags) |
| #define IMFSample_GetSampleTime(This,phnsSampleTime) (This)->lpVtbl->GetSampleTime(This,phnsSampleTime) |
| #define IMFSample_GetTotalLength(This,pcbTotalLength) (This)->lpVtbl->GetTotalLength(This,pcbTotalLength) |
| #define IMFSample_RemoveAllBuffers() (This)->lpVtbl->RemoveAllBuffers(This) |
| #define IMFSample_RemoveBufferByIndex(This,dwIndex) (This)->lpVtbl->RemoveBufferByIndex(This,dwIndex) |
| #define IMFSample_SetSampleDuration(This,hnsSampleDuration) (This)->lpVtbl->SetSampleDuration(This,hnsSampleDuration) |
| #define IMFSample_SetSampleFlags(This,dwSampleFlags) (This)->lpVtbl->SetSampleFlags(This,dwSampleFlags) |
| #define IMFSample_SetSampleTime(This,hnsSampleTime) (This)->lpVtbl->SetSampleTime(This,hnsSampleTime) |
| #endif /*COBJMACROS*/ |
| |
| #undef INTERFACE |
| #define INTERFACE IMF2DBuffer |
| #ifdef __GNUC__ |
| #warning COM interfaces layout in this header has not been verified. |
| #warning COM interfaces with incorrect layout may not work at all. |
| __MINGW_BROKEN_INTERFACE(INTERFACE) |
| #endif |
| DECLARE_INTERFACE_(IMF2DBuffer,IUnknown) |
| { |
| BEGIN_INTERFACE |
| |
| /* IUnknown methods */ |
| STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; |
| STDMETHOD_(ULONG, AddRef)(THIS) PURE; |
| STDMETHOD_(ULONG, Release)(THIS) PURE; |
| |
| /* IMF2DBuffer methods */ |
| STDMETHOD_(HRESULT,ContiguousCopyFrom)(THIS_ const BYTE *pbSrcBuffer,DWORD cbSrcBuffer) PURE; |
| STDMETHOD_(HRESULT,ContiguousCopyTo)(THIS_ BYTE *pbDestBuffer,DWORD cbDestBuffer) PURE; |
| STDMETHOD_(HRESULT,GetContiguousLength)(THIS_ DWORD *pcbLength) PURE; |
| STDMETHOD_(HRESULT,GetScanline0AndPitch)(THIS_ BYTE **pbScanline0,LONG *plPitch) PURE; |
| STDMETHOD_(HRESULT,IsContiguousFormat)(THIS_ WINBOOL *pfIsContiguous) PURE; |
| STDMETHOD_(HRESULT,Lock2D)(THIS_ BYTE **pbScanline0,LONG *plPitch) PURE; |
| STDMETHOD_(HRESULT,Unlock2D)(THIS) PURE; |
| |
| END_INTERFACE |
| }; |
| #ifdef COBJMACROS |
| #define IMF2DBuffer_QueryInterface(This,riid,ppvObject) (This)->pVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMF2DBuffer_AddRef(This) (This)->pVtbl->AddRef(This) |
| #define IMF2DBuffer_Release(This) (This)->pVtbl->Release(This) |
| #define IMF2DBuffer_ContiguousCopyFrom(This,pbSrcBuffer,cbSrcBuffer) (This)->lpVtbl->ContiguousCopyFrom(This,pbSrcBuffer,cbSrcBuffer) |
| #define IMF2DBuffer_ContiguousCopyTo(This,pbDestBuffer,cbDestBuffer) (This)->lpVtbl->ContiguousCopyTo(This,pbDestBuffer,cbDestBuffer) |
| #define IMF2DBuffer_GetContiguousLength(This,pcbLength) (This)->lpVtbl->GetContiguousLength(This,pcbLength) |
| #define IMF2DBuffer_GetScanline0AndPitch(This,pbScanline0,plPitch) (This)->lpVtbl->GetScanline0AndPitch(This,pbScanline0,plPitch) |
| #define IMF2DBuffer_IsContiguousFormat(This,pfIsContiguous) (This)->lpVtbl->IsContiguousFormat(This,pfIsContiguous) |
| #define IMF2DBuffer_Lock2D(This,pbScanline0,plPitch) (This)->lpVtbl->Lock2D(This,pbScanline0,plPitch) |
| #define IMF2DBuffer_Unlock2D() (This)->lpVtbl->Unlock2D(This) |
| #endif /*COBJMACROS*/ |
| |
| #undef INTERFACE |
| #define INTERFACE IMFAsyncCallback |
| #ifdef __GNUC__ |
| #warning COM interfaces layout in this header has not been verified. |
| #warning COM interfaces with incorrect layout may not work at all. |
| __MINGW_BROKEN_INTERFACE(INTERFACE) |
| #endif |
| DECLARE_INTERFACE_(IMFAsyncCallback,IUnknown) |
| { |
| BEGIN_INTERFACE |
| |
| /* IUnknown methods */ |
| STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; |
| STDMETHOD_(ULONG, AddRef)(THIS) PURE; |
| STDMETHOD_(ULONG, Release)(THIS) PURE; |
| |
| /* IMFAsyncCallback methods */ |
| STDMETHOD_(HRESULT,GetParameters)(THIS_ DWORD *pdwFlags,DWORD *pdwQueue) PURE; |
| STDMETHOD_(HRESULT,Invoke)(THIS_ IMFAsyncResult *pAsyncResult) PURE; |
| |
| END_INTERFACE |
| }; |
| #ifdef COBJMACROS |
| #define IMFAsyncCallback_QueryInterface(This,riid,ppvObject) (This)->pVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMFAsyncCallback_AddRef(This) (This)->pVtbl->AddRef(This) |
| #define IMFAsyncCallback_Release(This) (This)->pVtbl->Release(This) |
| #define IMFAsyncCallback_GetParameters(This,pdwFlags,pdwQueue) (This)->lpVtbl->GetParameters(This,pdwFlags,pdwQueue) |
| #define IMFAsyncCallback_Invoke(This,pAsyncResult) (This)->lpVtbl->Invoke(This,pAsyncResult) |
| #endif /*COBJMACROS*/ |
| |
| #undef INTERFACE |
| #define INTERFACE IMFByteStream |
| #ifdef __GNUC__ |
| #warning COM interfaces layout in this header has not been verified. |
| #warning COM interfaces with incorrect layout may not work at all. |
| __MINGW_BROKEN_INTERFACE(INTERFACE) |
| #endif |
| DECLARE_INTERFACE_(IMFByteStream,IUnknown) |
| { |
| BEGIN_INTERFACE |
| |
| /* IUnknown methods */ |
| STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; |
| STDMETHOD_(ULONG, AddRef)(THIS) PURE; |
| STDMETHOD_(ULONG, Release)(THIS) PURE; |
| |
| /* IMFByteStream methods */ |
| STDMETHOD_(HRESULT,GetParameters)(THIS_ DWORD *pdwFlags,DWORD *pdwQueue) PURE; |
| STDMETHOD_(HRESULT,MFInvokeCallback)(THIS_ IMFAsyncResult *pAsyncResult) PURE; |
| STDMETHOD_(HRESULT,BeginRead)(THIS_ BYTE *pb,ULONG cb,IMFAsyncCallback *pCallback,IUnknown *punkState) PURE; |
| STDMETHOD_(HRESULT,BeginWrite)(THIS_ const BYTE *pb,ULONG cb,IMFAsyncCallback *pCallback,IUnknown *punkState) PURE; |
| STDMETHOD_(HRESULT,Close)(THIS) PURE; |
| STDMETHOD_(HRESULT,EndRead)(THIS_ IMFAsyncResult *pResult,ULONG *pcbRead) PURE; |
| STDMETHOD_(HRESULT,EndWrite)(THIS_ IMFAsyncResult *pResult,ULONG *pcbWritten) PURE; |
| STDMETHOD_(HRESULT,Flush)(THIS) PURE; |
| STDMETHOD_(HRESULT,GetCapabilities)(THIS_ DWORD *pdwCapabilities) PURE; |
| STDMETHOD_(HRESULT,GetCurrentPosition)(THIS_ QWORD *pqwPosition) PURE; |
| STDMETHOD_(HRESULT,GetLength)(THIS_ QWORD *pqwLength) PURE; |
| STDMETHOD_(HRESULT,IsEndOfStream)(THIS_ WINBOOL *pfEndOfStream) PURE; |
| STDMETHOD_(HRESULT,Read)(THIS_ BYTE *pb,ULONG cb,ULONG *pcbRead) PURE; |
| STDMETHOD_(HRESULT,Seek)(THIS_ MFBYTESTREAM_SEEK_ORIGIN SeekOrigin,LONGLONG qwSeekOffset,DWORD dwSeekFlags,QWORD *pqwCurrentPosition) PURE; |
| STDMETHOD_(HRESULT,SetCurrentPosition)(THIS_ QWORD qwPosition) PURE; |
| STDMETHOD_(HRESULT,SetLength)(THIS_ QWORD qwLength) PURE; |
| STDMETHOD_(HRESULT,Write)(THIS_ const BYTE *pb,ULONG cb,ULONG *pcbWritten) PURE; |
| |
| END_INTERFACE |
| }; |
| #ifdef COBJMACROS |
| #define IMFByteStream_QueryInterface(This,riid,ppvObject) (This)->pVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMFByteStream_AddRef(This) (This)->pVtbl->AddRef(This) |
| #define IMFByteStream_Release(This) (This)->pVtbl->Release(This) |
| #define IMFByteStream_GetParameters(This,pdwFlags,pdwQueue) (This)->lpVtbl->GetParameters(This,pdwFlags,pdwQueue) |
| #define IMFByteStream_MFInvokeCallback(This,pAsyncResult) (This)->lpVtbl->MFInvokeCallback(This,pAsyncResult) |
| #define IMFByteStream_BeginRead(This,pb,cb,pCallback,punkState) (This)->lpVtbl->BeginRead(This,pb,cb,pCallback,punkState) |
| #define IMFByteStream_BeginWrite(This,pb,cb,pCallback,punkState) (This)->lpVtbl->BeginWrite(This,pb,cb,pCallback,punkState) |
| #define IMFByteStream_Close() (This)->lpVtbl->Close(This) |
| #define IMFByteStream_EndRead(This,pResult,pcbRead) (This)->lpVtbl->EndRead(This,pResult,pcbRead) |
| #define IMFByteStream_EndWrite(This,pResult,pcbWritten) (This)->lpVtbl->EndWrite(This,pResult,pcbWritten) |
| #define IMFByteStream_Flush() (This)->lpVtbl->Flush(This) |
| #define IMFByteStream_GetCapabilities(This,pdwCapabilities) (This)->lpVtbl->GetCapabilities(This,pdwCapabilities) |
| #define IMFByteStream_GetCurrentPosition(This,pqwPosition) (This)->lpVtbl->GetCurrentPosition(This,pqwPosition) |
| #define IMFByteStream_GetLength(This,pqwLength) (This)->lpVtbl->GetLength(This,pqwLength) |
| #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_Seek(This,SeekOrigin,qwSeekOffset,dwSeekFlags,pqwCurrentPosition) (This)->lpVtbl->Seek(This,SeekOrigin,qwSeekOffset,dwSeekFlags,pqwCurrentPosition) |
| #define IMFByteStream_SetCurrentPosition(This,qwPosition) (This)->lpVtbl->SetCurrentPosition(This,qwPosition) |
| #define IMFByteStream_SetLength(This,qwLength) (This)->lpVtbl->SetLength(This,qwLength) |
| #define IMFByteStream_Write(This,pb,cb,pcbWritten) (This)->lpVtbl->Write(This,pb,cb,pcbWritten) |
| #endif /*COBJMACROS*/ |
| |
| #undef INTERFACE |
| #define INTERFACE IMFMediaEvent |
| #ifdef __GNUC__ |
| #warning COM interfaces layout in this header has not been verified. |
| #warning COM interfaces with incorrect layout may not work at all. |
| __MINGW_BROKEN_INTERFACE(INTERFACE) |
| #endif |
| DECLARE_INTERFACE_(IMFMediaEvent,IMFAttributes) |
| { |
| BEGIN_INTERFACE |
| |
| /* IUnknown methods */ |
| STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; |
| STDMETHOD_(ULONG, AddRef)(THIS) PURE; |
| STDMETHOD_(ULONG, Release)(THIS) PURE; |
| |
| /* IMFAttributes methods */ |
| STDMETHOD_(HRESULT,Compare)(THIS_ IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,BOOL *pbResult) PURE; |
| STDMETHOD_(HRESULT,CompareItem)(THIS_ REFGUID guidKey,REFPROPVARIANT Value,BOOL *pbResult) PURE; |
| STDMETHOD_(HRESULT,CopyAllItems)(THIS_ IMFAttributes *pDest) PURE; |
| STDMETHOD_(HRESULT,DeleteAllItems)(THIS) PURE; |
| STDMETHOD_(HRESULT,DeleteItem)(THIS_ REFGUID guidKey) PURE; |
| STDMETHOD_(HRESULT,GetAllocatedBlob)(THIS_ REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) PURE; |
| STDMETHOD_(HRESULT,GetAllocatedString)(THIS_ REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) PURE; |
| STDMETHOD_(HRESULT,GetBlob)(THIS_ REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) PURE; |
| STDMETHOD_(HRESULT,GetBlobSize)(THIS_ REFGUID guidKey,UINT32 *pcbBlobSize) PURE; |
| STDMETHOD_(HRESULT,GetCount)(THIS_ UINT32 *pcItems) PURE; |
| STDMETHOD_(HRESULT,GetDouble)(THIS_ REFGUID guidKey,double *pfValue) PURE; |
| STDMETHOD_(HRESULT,GetGUID)(THIS_ REFGUID guidKey,GUID *pguidValue) PURE; |
| STDMETHOD_(HRESULT,GetItem)(THIS_ REFGUID guidKey,PROPVARIANT *pValue) PURE; |
| STDMETHOD_(HRESULT,GetItemByIndex)(THIS_ UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) PURE; |
| STDMETHOD_(HRESULT,GetItemType)(THIS_ REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) PURE; |
| STDMETHOD_(HRESULT,GetString)(THIS_ REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) PURE; |
| STDMETHOD_(HRESULT,GetStringLength)(THIS_ REFGUID guidKey,UINT32 *pcchLength) PURE; |
| STDMETHOD_(HRESULT,GetUINT32)(THIS_ REFGUID guidKey,UINT32 *punValue) PURE; |
| STDMETHOD_(HRESULT,GetUINT64)(THIS_ REFGUID guidKey,UINT64 *punValue) PURE; |
| STDMETHOD_(HRESULT,GetUnknown)(THIS_ REFGUID guidKey,REFIID riid,LPVOID *ppv) PURE; |
| STDMETHOD_(HRESULT,LockStore)(THIS) PURE; |
| STDMETHOD_(HRESULT,SetBlob)(THIS_ REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) PURE; |
| STDMETHOD_(HRESULT,SetDouble)(THIS_ REFGUID guidKey,double fValue) PURE; |
| STDMETHOD_(HRESULT,SetGUID)(THIS_ REFGUID guidKey,REFGUID guidValue) PURE; |
| STDMETHOD_(HRESULT,SetItem)(THIS_ REFGUID guidKey,REFPROPVARIANT Value) PURE; |
| STDMETHOD_(HRESULT,SetString)(THIS_ REFGUID guidKey,LPCWSTR wszValue) PURE; |
| STDMETHOD_(HRESULT,SetUINT32)(THIS_ REFGUID guidKey,UINT32 unValue) PURE; |
| STDMETHOD_(HRESULT,SetUINT64)(THIS_ REFGUID guidKey,UINT64 unValue) PURE; |
| STDMETHOD_(HRESULT,SetUnknown)(THIS_ REFGUID guidKey,IUnknown *pUnknown) PURE; |
| STDMETHOD_(HRESULT,UnlockStore)(THIS) PURE; |
| |
| /* IMFMediaEvent methods */ |
| STDMETHOD_(HRESULT,GetExtendedType)(THIS_ GUID *pguidExtendedType) PURE; |
| STDMETHOD_(HRESULT,GetStatus)(THIS_ HRESULT *phrStatus) PURE; |
| STDMETHOD_(HRESULT,GetType)(THIS_ MediaEventType *pmet) PURE; |
| STDMETHOD_(HRESULT,GetValue)(THIS_ PROPVARIANT *pvValue) PURE; |
| |
| END_INTERFACE |
| }; |
| #ifdef COBJMACROS |
| #define IMFMediaEvent_QueryInterface(This,riid,ppvObject) (This)->pVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMFMediaEvent_AddRef(This) (This)->pVtbl->AddRef(This) |
| #define IMFMediaEvent_Release(This) (This)->pVtbl->Release(This) |
| #define IMFMediaEvent_Compare(This,pTheirs,MatchType,pbResult) (This)->lpVtbl->Compare(This,pTheirs,MatchType,pbResult) |
| #define IMFMediaEvent_CompareItem(This,guidKey,Value,pbResult) (This)->lpVtbl->CompareItem(This,guidKey,Value,pbResult) |
| #define IMFMediaEvent_CopyAllItems(This,pDest) (This)->lpVtbl->CopyAllItems(This,pDest) |
| #define IMFMediaEvent_DeleteAllItems() (This)->lpVtbl->DeleteAllItems(This) |
| #define IMFMediaEvent_DeleteItem(This,guidKey) (This)->lpVtbl->DeleteItem(This,guidKey) |
| #define IMFMediaEvent_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) (This)->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) |
| #define IMFMediaEvent_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) (This)->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength) |
| #define IMFMediaEvent_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) (This)->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) |
| #define IMFMediaEvent_GetBlobSize(This,guidKey,pcbBlobSize) (This)->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize) |
| #define IMFMediaEvent_GetCount(This,pcItems) (This)->lpVtbl->GetCount(This,pcItems) |
| #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_GetItem(This,guidKey,pValue) (This)->lpVtbl->GetItem(This,guidKey,pValue) |
| #define IMFMediaEvent_GetItemByIndex(This,unIndex,pguidKey,pValue) (This)->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue) |
| #define IMFMediaEvent_GetItemType(This,guidKey,pType) (This)->lpVtbl->GetItemType(This,guidKey,pType) |
| #define IMFMediaEvent_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) (This)->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) |
| #define IMFMediaEvent_GetStringLength(This,guidKey,pcchLength) (This)->lpVtbl->GetStringLength(This,guidKey,pcchLength) |
| #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_GetUnknown(This,guidKey,riid,ppv) (This)->lpVtbl->GetUnknown(This,guidKey,riid,ppv) |
| #define IMFMediaEvent_LockStore() (This)->lpVtbl->LockStore(This) |
| #define IMFMediaEvent_SetBlob(This,guidKey,pBuf,cbBufSize) (This)->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize) |
| #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_SetItem(This,guidKey,Value) (This)->lpVtbl->SetItem(This,guidKey,Value) |
| #define IMFMediaEvent_SetString(This,guidKey,wszValue) (This)->lpVtbl->SetString(This,guidKey,wszValue) |
| #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_SetUnknown(This,guidKey,pUnknown) (This)->lpVtbl->SetUnknown(This,guidKey,pUnknown) |
| #define IMFMediaEvent_UnlockStore() (This)->lpVtbl->UnlockStore(This) |
| #define IMFMediaEvent_GetExtendedType(This,pguidExtendedType) (This)->lpVtbl->GetExtendedType(This,pguidExtendedType) |
| #define IMFMediaEvent_GetStatus(This,phrStatus) (This)->lpVtbl->GetStatus(This,phrStatus) |
| #define IMFMediaEvent_GetType(This,pmet) (This)->lpVtbl->GetType(This,pmet) |
| #define IMFMediaEvent_GetValue(This,pvValue) (This)->lpVtbl->GetValue(This,pvValue) |
| #endif /*COBJMACROS*/ |
| |
| #undef INTERFACE |
| #define INTERFACE IMFVideoMediaType |
| #ifdef __GNUC__ |
| #warning COM interfaces layout in this header has not been verified. |
| #warning COM interfaces with incorrect layout may not work at all. |
| __MINGW_BROKEN_INTERFACE(INTERFACE) |
| #endif |
| DECLARE_INTERFACE_(IMFVideoMediaType,IMFMediaType) |
| { |
| BEGIN_INTERFACE |
| |
| /* IUnknown methods */ |
| STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; |
| STDMETHOD_(ULONG, AddRef)(THIS) PURE; |
| STDMETHOD_(ULONG, Release)(THIS) PURE; |
| |
| /* IMFAttributes methods */ |
| STDMETHOD_(HRESULT,Compare)(THIS_ IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,WINBOOL *pbResult) PURE; |
| STDMETHOD_(HRESULT,CompareItem)(THIS_ REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) PURE; |
| STDMETHOD_(HRESULT,CopyAllItems)(THIS_ IMFAttributes *pDest) PURE; |
| STDMETHOD_(HRESULT,DeleteAllItems)(THIS) PURE; |
| STDMETHOD_(HRESULT,DeleteItem)(THIS_ REFGUID guidKey) PURE; |
| STDMETHOD_(HRESULT,GetAllocatedBlob)(THIS_ REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) PURE; |
| STDMETHOD_(HRESULT,GetAllocatedString)(THIS_ REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) PURE; |
| STDMETHOD_(HRESULT,GetBlob)(THIS_ REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) PURE; |
| STDMETHOD_(HRESULT,GetBlobSize)(THIS_ REFGUID guidKey,UINT32 *pcbBlobSize) PURE; |
| STDMETHOD_(HRESULT,GetCount)(THIS_ UINT32 *pcItems) PURE; |
| STDMETHOD_(HRESULT,GetDouble)(THIS_ REFGUID guidKey,double *pfValue) PURE; |
| STDMETHOD_(HRESULT,GetGUID)(THIS_ REFGUID guidKey,GUID *pguidValue) PURE; |
| STDMETHOD_(HRESULT,GetItem)(THIS_ REFGUID guidKey,PROPVARIANT *pValue) PURE; |
| STDMETHOD_(HRESULT,GetItemByIndex)(THIS_ UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) PURE; |
| STDMETHOD_(HRESULT,GetItemType)(THIS_ REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) PURE; |
| STDMETHOD_(HRESULT,GetString)(THIS_ REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) PURE; |
| STDMETHOD_(HRESULT,GetStringLength)(THIS_ REFGUID guidKey,UINT32 *pcchLength) PURE; |
| STDMETHOD_(HRESULT,GetUINT32)(THIS_ REFGUID guidKey,UINT32 *punValue) PURE; |
| STDMETHOD_(HRESULT,GetUINT64)(THIS_ REFGUID guidKey,UINT64 *punValue) PURE; |
| STDMETHOD_(HRESULT,GetUnknown)(THIS_ REFGUID guidKey,REFIID riid,LPVOID *ppv) PURE; |
| STDMETHOD_(HRESULT,LockStore)(THIS) PURE; |
| STDMETHOD_(HRESULT,SetBlob)(THIS_ REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) PURE; |
| STDMETHOD_(HRESULT,SetDouble)(THIS_ REFGUID guidKey,double fValue) PURE; |
| STDMETHOD_(HRESULT,SetGUID)(THIS_ REFGUID guidKey,REFGUID guidValue) PURE; |
| STDMETHOD_(HRESULT,SetItem)(THIS_ REFGUID guidKey,REFPROPVARIANT Value) PURE; |
| STDMETHOD_(HRESULT,SetString)(THIS_ REFGUID guidKey,LPCWSTR wszValue) PURE; |
| STDMETHOD_(HRESULT,SetUINT32)(THIS_ REFGUID guidKey,UINT32 unValue) PURE; |
| STDMETHOD_(HRESULT,SetUINT64)(THIS_ REFGUID guidKey,UINT64 unValue) PURE; |
| STDMETHOD_(HRESULT,SetUnknown)(THIS_ REFGUID guidKey,IUnknown *pUnknown) PURE; |
| STDMETHOD_(HRESULT,UnlockStore)(THIS) PURE; |
| |
| /* IMFMediaType methods */ |
| STDMETHOD_(HRESULT,FreeRepresentation)(THIS_ GUID guidRepresentation,void *pvRepresentation) PURE; |
| STDMETHOD_(HRESULT,GetMajorType)(THIS_ GUID *pguidMajorType) PURE; |
| STDMETHOD_(HRESULT,GetRepresentation)(THIS_ GUID guidRepresentation,void **ppvRepresentation) PURE; |
| STDMETHOD_(HRESULT,IsCompressedFormat)(THIS_ WINBOOL *pfCompressed) PURE; |
| STDMETHOD_(HRESULT,IsEqual)(THIS_ IMFMediaType *pIMediaType,DWORD *pdwFlags) PURE; |
| |
| /* IMFVideoMediaType methods */ |
| STDMETHOD_(const MFVIDEOFORMAT *,GetVideoFormat)(THIS) PURE; |
| STDMETHOD_(HRESULT,GetVideoRepresentation)(THIS_ GUID guidRepresentation,LPVOID *ppvRepresentation,LONG lStride) PURE; |
| |
| END_INTERFACE |
| }; |
| #ifdef COBJMACROS |
| #define IMFVideoMediaType_QueryInterface(This,riid,ppvObject) (This)->pVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMFVideoMediaType_AddRef(This) (This)->pVtbl->AddRef(This) |
| #define IMFVideoMediaType_Release(This) (This)->pVtbl->Release(This) |
| #define IMFVideoMediaType_Compare(This,pTheirs,MatchType,pbResult) (This)->lpVtbl->Compare(This,pTheirs,MatchType,pbResult) |
| #define IMFVideoMediaType_CompareItem(This,guidKey,Value,pbResult) (This)->lpVtbl->CompareItem(This,guidKey,Value,pbResult) |
| #define IMFVideoMediaType_CopyAllItems(This,pDest) (This)->lpVtbl->CopyAllItems(This,pDest) |
| #define IMFVideoMediaType_DeleteAllItems() (This)->lpVtbl->DeleteAllItems(This) |
| #define IMFVideoMediaType_DeleteItem(This,guidKey) (This)->lpVtbl->DeleteItem(This,guidKey) |
| #define IMFVideoMediaType_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) (This)->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) |
| #define IMFVideoMediaType_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) (This)->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength) |
| #define IMFVideoMediaType_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) (This)->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) |
| #define IMFVideoMediaType_GetBlobSize(This,guidKey,pcbBlobSize) (This)->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize) |
| #define IMFVideoMediaType_GetCount(This,pcItems) (This)->lpVtbl->GetCount(This,pcItems) |
| #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_GetItem(This,guidKey,pValue) (This)->lpVtbl->GetItem(This,guidKey,pValue) |
| #define IMFVideoMediaType_GetItemByIndex(This,unIndex,pguidKey,pValue) (This)->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue) |
| #define IMFVideoMediaType_GetItemType(This,guidKey,pType) (This)->lpVtbl->GetItemType(This,guidKey,pType) |
| #define IMFVideoMediaType_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) (This)->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) |
| #define IMFVideoMediaType_GetStringLength(This,guidKey,pcchLength) (This)->lpVtbl->GetStringLength(This,guidKey,pcchLength) |
| #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_GetUnknown(This,guidKey,riid,ppv) (This)->lpVtbl->GetUnknown(This,guidKey,riid,ppv) |
| #define IMFVideoMediaType_LockStore() (This)->lpVtbl->LockStore(This) |
| #define IMFVideoMediaType_SetBlob(This,guidKey,pBuf,cbBufSize) (This)->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize) |
| #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_SetItem(This,guidKey,Value) (This)->lpVtbl->SetItem(This,guidKey,Value) |
| #define IMFVideoMediaType_SetString(This,guidKey,wszValue) (This)->lpVtbl->SetString(This,guidKey,wszValue) |
| #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_SetUnknown(This,guidKey,pUnknown) (This)->lpVtbl->SetUnknown(This,guidKey,pUnknown) |
| #define IMFVideoMediaType_UnlockStore() (This)->lpVtbl->UnlockStore(This) |
| #define IMFVideoMediaType_FreeRepresentation(This,guidRepresentation,pvRepresentation) (This)->lpVtbl->FreeRepresentation(This,guidRepresentation,pvRepresentation) |
| #define IMFVideoMediaType_GetMajorType(This,pguidMajorType) (This)->lpVtbl->GetMajorType(This,pguidMajorType) |
| #define IMFVideoMediaType_GetRepresentation(This,guidRepresentation,ppvRepresentation) (This)->lpVtbl->GetRepresentation(This,guidRepresentation,ppvRepresentation) |
| #define IMFVideoMediaType_IsCompressedFormat(This,pfCompressed) (This)->lpVtbl->IsCompressedFormat(This,pfCompressed) |
| #define IMFVideoMediaType_IsEqual(This,pIMediaType,pdwFlags) (This)->lpVtbl->IsEqual(This,pIMediaType,pdwFlags) |
| #define IMFVideoMediaType_GetVideoFormat() (This)->lpVtbl->GetVideoFormat(This) |
| #define IMFVideoMediaType_GetVideoRepresentation(This,guidRepresentation,ppvRepresentation,lStride) (This)->lpVtbl->GetVideoRepresentation(This,guidRepresentation,ppvRepresentation,lStride) |
| #endif /*COBJMACROS*/ |
| |
| #undef INTERFACE |
| #define INTERFACE IMFCollection |
| #ifdef __GNUC__ |
| #warning COM interfaces layout in this header has not been verified. |
| #warning COM interfaces with incorrect layout may not work at all. |
| __MINGW_BROKEN_INTERFACE(INTERFACE) |
| #endif |
| DECLARE_INTERFACE_(IMFCollection,IUnknown) |
| { |
| BEGIN_INTERFACE |
| |
| /* IUnknown methods */ |
| STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; |
| STDMETHOD_(ULONG, AddRef)(THIS) PURE; |
| STDMETHOD_(ULONG, Release)(THIS) PURE; |
| |
| /* IMFCollection methods */ |
| STDMETHOD_(HRESULT,AddElement)(THIS_ IUnknown *pUnkElement) PURE; |
| STDMETHOD_(HRESULT,GetElement)(THIS_ DWORD dwElementIndex,IUnknown **ppUnkElement) PURE; |
| STDMETHOD_(HRESULT,GetElementCount)(THIS_ DWORD *pcElements) PURE; |
| STDMETHOD_(HRESULT,InsertElementAt)(THIS_ DWORD dwIndex,IUnknown *pUnknown) PURE; |
| STDMETHOD_(HRESULT,RemoveAllElements)(THIS) PURE; |
| STDMETHOD_(HRESULT,RemoveElement)(THIS_ DWORD dwElementIndex,IUnknown **ppUnkElement) PURE; |
| |
| END_INTERFACE |
| }; |
| #ifdef COBJMACROS |
| #define IMFCollection_QueryInterface(This,riid,ppvObject) (This)->pVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMFCollection_AddRef(This) (This)->pVtbl->AddRef(This) |
| #define IMFCollection_Release(This) (This)->pVtbl->Release(This) |
| #define IMFCollection_AddElement(This,pUnkElement) (This)->lpVtbl->AddElement(This,pUnkElement) |
| #define IMFCollection_GetElement(This,dwElementIndex,ppUnkElement) (This)->lpVtbl->GetElement(This,dwElementIndex,ppUnkElement) |
| #define IMFCollection_GetElementCount(This,pcElements) (This)->lpVtbl->GetElementCount(This,pcElements) |
| #define IMFCollection_InsertElementAt(This,dwIndex,pUnknown) (This)->lpVtbl->InsertElementAt(This,dwIndex,pUnknown) |
| #define IMFCollection_RemoveAllElements() (This)->lpVtbl->RemoveAllElements(This) |
| #define IMFCollection_RemoveElement(This,dwElementIndex,ppUnkElement) (This)->lpVtbl->RemoveElement(This,dwElementIndex,ppUnkElement) |
| #endif /*COBJMACROS*/ |
| |
| #if (_WIN32_WINNT >= 0x0601) |
| |
| #undef INTERFACE |
| #define INTERFACE IMFPluginControl |
| #ifdef __GNUC__ |
| #warning COM interfaces layout in this header has not been verified. |
| #warning COM interfaces with incorrect layout may not work at all. |
| __MINGW_BROKEN_INTERFACE(INTERFACE) |
| #endif |
| DECLARE_INTERFACE_(IMFPluginControl,IUnknown) |
| { |
| BEGIN_INTERFACE |
| |
| /* IUnknown methods */ |
| STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; |
| STDMETHOD_(ULONG, AddRef)(THIS) PURE; |
| STDMETHOD_(ULONG, Release)(THIS) PURE; |
| |
| /* IMFPluginControl methods */ |
| STDMETHOD_(HRESULT,GetDisabledByIndex)(THIS_ DWORD pluginType,DWORD index,CLSID *clsid) PURE; |
| STDMETHOD_(HRESULT,GetPreferredClsid)(THIS_ DWORD pluginType,LPCWSTR selector,CLSID *clsid) PURE; |
| STDMETHOD_(HRESULT,GetPreferredClsidByIndex)(THIS_ DWORD pluginType,DWORD index,LPWSTR *selector,CLSID *clsid) PURE; |
| STDMETHOD_(HRESULT,IsDisabled)(THIS_ DWORD pluginType,REFCLSID clsid) PURE; |
| STDMETHOD_(HRESULT,SetDisabled)(THIS_ DWORD pluginType,REFCLSID clsid,WINBOOL disabled) PURE; |
| STDMETHOD_(HRESULT,SetPreferredClsid)(THIS_ DWORD pluginType,LPCWSTR selector,const CLSID *clsid) PURE; |
| |
| END_INTERFACE |
| }; |
| #ifdef COBJMACROS |
| #define IMFPluginControl_QueryInterface(This,riid,ppvObject) (This)->pVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMFPluginControl_AddRef(This) (This)->pVtbl->AddRef(This) |
| #define IMFPluginControl_Release(This) (This)->pVtbl->Release(This) |
| #define IMFPluginControl_GetDisabledByIndex(This,pluginType,index,clsid) (This)->lpVtbl->GetDisabledByIndex(This,pluginType,index,clsid) |
| #define IMFPluginControl_GetPreferredClsid(This,pluginType,selector,clsid) (This)->lpVtbl->GetPreferredClsid(This,pluginType,selector,clsid) |
| #define IMFPluginControl_GetPreferredClsidByIndex(This,pluginType,index,selector,clsid) (This)->lpVtbl->GetPreferredClsidByIndex(This,pluginType,index,selector,clsid) |
| #define IMFPluginControl_IsDisabled(This,pluginType,clsid) (This)->lpVtbl->IsDisabled(This,pluginType,clsid) |
| #define IMFPluginControl_SetDisabled(This,pluginType,clsid,disabled) (This)->lpVtbl->SetDisabled(This,pluginType,clsid,disabled) |
| #define IMFPluginControl_SetPreferredClsid(This,pluginType,selector,clsid) (This)->lpVtbl->SetPreferredClsid(This,pluginType,selector,clsid) |
| #endif /*COBJMACROS*/ |
| #endif /*(_WIN32_WINNT >= 0x0601)*/ |
| |
| HRESULT WINAPI Invoke(IMFAsyncResult *pAsyncResult); |
| HRESULT WINAPI MFDeserializeAttributesFromStream(IMFAttributes *pAttr,DWORD dwOptions,IStream *pStm); |
| HRESULT WINAPI MFDeserializePresentationDescriptor(DWORD cbData,BYTE *pbData,IMFPresentationDescriptor **ppPD); |
| HRESULT WINAPI MFGetAttribute2UINT32asUINT64(IMFAttributes *pAttributes,REFGUID guidKey,UINT32 *punHigh32,UINT32 *punLow32); |
| HRESULT WINAPI MFSerializeAttributesToStream(IMFAttributes *pAttr,DWORD dwOptions,IStream *pStm); |
| |
| typedef enum MF_OBJECT_TYPE MF_OBJECT_TYPE; |
| |
| /*[call_as(BeginCreateObjectFromByteStream)]*/ |
| HRESULT WINAPI RemoteBeginCreateObjectFromByteStream( |
| IMFByteStream* pByteStream, |
| LPCWSTR pwszURL, |
| IPropertyStore *pProps, |
| DWORD dwFlags, |
| IMFRemoteAsyncCallback *pCallback |
| ); |
| |
| /*[call_as(BeginCreateObjectFromURL)]*/ |
| HRESULT WINAPI RemoteBeginCreateObjectFromURL( |
| LPCWSTR pwszURL, |
| DWORD dwFlags, |
| IPropertyStore *pProps, |
| IMFRemoteAsyncCallback *pCallback |
| ); |
| |
| /*[call_as(BeginEnableContent)]*/ |
| HRESULT WINAPI RemoteBeginEnableContent( |
| REFCLSID clsidType, |
| BYTE *pbData, |
| DWORD cbData, |
| IMFRemoteAsyncCallback *pCallback |
| ); |
| |
| /*[call_as(BeginGetEvent)]*/ |
| HRESULT WINAPI RemoteBeginGetEvent( |
| IMFRemoteAsyncCallback* pCallback |
| ); |
| |
| /*[call_as(BeginRegisterPlatformWorkQueueWithMMCSS)]*/ |
| HRESULT WINAPI RemoteBeginRegisterPlatformWorkQueueWithMMCSS( |
| DWORD dwPlatformWorkQueue, |
| LPCWSTR wszClass, |
| DWORD dwTaskId, |
| IMFRemoteAsyncCallback *pCallback |
| ); |
| |
| /*[call_as(BeginRegisterTopologyWorkQueuesWithMMCSS)]*/ |
| HRESULT WINAPI RemoteBeginRegisterTopologyWorkQueuesWithMMCSS( |
| IMFRemoteAsyncCallback *pCallback |
| ); |
| |
| /*[call_as(BeginUnregisterPlatformWorkQueueWithMMCSS)]*/ |
| HRESULT WINAPI RemoteBeginUnregisterPlatformWorkQueueWithMMCSS( |
| DWORD dwPlatformWorkQueue, |
| IMFRemoteAsyncCallback *pCallback |
| ); |
| |
| /*[call_as(BeginUnregisterTopologyWorkQueuesWithMMCSS)]*/ |
| HRESULT WINAPI RemoteBeginUnregisterTopologyWorkQueuesWithMMCSS( |
| IMFRemoteAsyncCallback *pCallback |
| ); |
| |
| /*[call_as(CreateObjectByCLSID)]*/ |
| HRESULT WINAPI RemoteCreateObjectByCLSID( |
| REFCLSID clsid, |
| BYTE *pbData, |
| DWORD cbData, |
| REFIID riid, |
| void **ppv |
| ); |
| |
| /*[call_as(CreatePresentationDescriptor)]*/ |
| HRESULT WINAPI RemoteCreatePresentationDescriptor( |
| DWORD *pcbPD, |
| BYTE **pbPD, |
| IMFPresentationDescriptor **ppRemotePD |
| ); |
| |
| /*call_as(EndCreateObjectFromByteStream)]*/ |
| HRESULT WINAPI RemoteEndCreateObjectFromByteStream( |
| IUnknown *pResult, |
| MF_OBJECT_TYPE *pObjectType, |
| IUnknown **ppObject |
| ); |
| |
| /*[call_as(EndCreateObjectFromURL)]*/ |
| HRESULT WINAPI RemoteEndCreateObjectFromURL( |
| IUnknown *pResult, |
| MF_OBJECT_TYPE *pObjectType, |
| IUnknown **ppObject |
| ); |
| |
| /*[call_as(EndEnableContent)]*/ |
| HRESULT WINAPI RemoteEndEnableContent( |
| IUnknown *pResult |
| ); |
| |
| /*[call_as(EndGetEvent)]*/ |
| HRESULT WINAPI RemoteEndGetEvent( |
| IUnknown *pResult, |
| DWORD *pcbEvent, |
| BYTE **ppbEvent |
| ); |
| |
| /*[call_as(EndRegisterPlatformWorkQueueWithMMCSS)]*/ |
| HRESULT WINAPI RemoteEndRegisterPlatformWorkQueueWithMMCSS( |
| IUnknown *pResult, |
| DWORD *pdwTaskId |
| ); |
| |
| /*[call_as(EndRegisterTopologyWorkQueuesWithMMCSS)]*/ |
| HRESULT WINAPI RemoteEndRegisterTopologyWorkQueuesWithMMCSS( |
| IUnknown *pResult |
| ); |
| |
| /*[call_as(EndUnregisterPlatformWorkQueueWithMMCSS)]*/ |
| HRESULT WINAPI RemoteEndUnregisterPlatformWorkQueueWithMMCSS( |
| IUnknown *pResult |
| ); |
| |
| /*[call_as(EndUnregisterTopologyWorkQueuesWithMMCSS)]*/ |
| HRESULT WINAPI RemoteEndUnregisterTopologyWorkQueuesWithMMCSS( |
| IUnknown *pResult |
| ); |
| |
| /*[call_as(GetCurrentMediaType)]*/ |
| HRESULT WINAPI RemoteGetCurrentMediaType( |
| BYTE **ppbData, |
| DWORD *pcbData |
| ); |
| |
| /*[call_as(GetInputPrefType)]*/ |
| HRESULT WINAPI RemoteGetInputPrefType( |
| DWORD dwInputIndex, |
| DWORD *pcbData, |
| BYTE **ppbData |
| ); |
| |
| /*call_as(GetOutputPrefType)]*/ |
| HRESULT WINAPI RemoteGetOutputPrefType( |
| DWORD dwOutputIndex, |
| DWORD *pcbData, |
| BYTE **ppbData |
| ); |
| |
| /*[call_as(RequestSample)]*/ |
| HRESULT WINAPI RemoteRequestSample(); |
| |
| #if (_WIN32_WINNT >= 0x0601) |
| HRESULT WINAPI MFGetPluginControl(IMFPluginControl **ppPluginControl); |
| #endif /*(_WIN32_WINNT >= 0x0601)*/ |
| |
| #endif /*(_WIN32_WINNT >= 0x0600)*/ |
| |
| #endif /* _INC_MFOBJECTS */ |