| /*** Autogenerated by WIDL 6.3 from include/mfidl.idl - Do not edit ***/ |
| |
| #ifdef _WIN32 |
| #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
| #define __REQUIRED_RPCNDR_H_VERSION__ 475 |
| #endif |
| #include <rpc.h> |
| #include <rpcndr.h> |
| #endif |
| |
| #ifndef COM_NO_WINDOWS_H |
| #include <windows.h> |
| #include <ole2.h> |
| #endif |
| |
| #ifndef __mfidl_h__ |
| #define __mfidl_h__ |
| |
| /* Forward declarations */ |
| |
| #ifndef __IMFTopologyNode_FWD_DEFINED__ |
| #define __IMFTopologyNode_FWD_DEFINED__ |
| typedef interface IMFTopologyNode IMFTopologyNode; |
| #ifdef __cplusplus |
| interface IMFTopologyNode; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMFTopology_FWD_DEFINED__ |
| #define __IMFTopology_FWD_DEFINED__ |
| typedef interface IMFTopology IMFTopology; |
| #ifdef __cplusplus |
| interface IMFTopology; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMFClock_FWD_DEFINED__ |
| #define __IMFClock_FWD_DEFINED__ |
| typedef interface IMFClock IMFClock; |
| #ifdef __cplusplus |
| interface IMFClock; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMFMediaSession_FWD_DEFINED__ |
| #define __IMFMediaSession_FWD_DEFINED__ |
| typedef interface IMFMediaSession IMFMediaSession; |
| #ifdef __cplusplus |
| interface IMFMediaSession; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMFMediaTypeHandler_FWD_DEFINED__ |
| #define __IMFMediaTypeHandler_FWD_DEFINED__ |
| typedef interface IMFMediaTypeHandler IMFMediaTypeHandler; |
| #ifdef __cplusplus |
| interface IMFMediaTypeHandler; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMFStreamDescriptor_FWD_DEFINED__ |
| #define __IMFStreamDescriptor_FWD_DEFINED__ |
| typedef interface IMFStreamDescriptor IMFStreamDescriptor; |
| #ifdef __cplusplus |
| interface IMFStreamDescriptor; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMFPresentationDescriptor_FWD_DEFINED__ |
| #define __IMFPresentationDescriptor_FWD_DEFINED__ |
| typedef interface IMFPresentationDescriptor IMFPresentationDescriptor; |
| #ifdef __cplusplus |
| interface IMFPresentationDescriptor; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMFMediaSource_FWD_DEFINED__ |
| #define __IMFMediaSource_FWD_DEFINED__ |
| typedef interface IMFMediaSource IMFMediaSource; |
| #ifdef __cplusplus |
| interface IMFMediaSource; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMFByteStreamBuffering_FWD_DEFINED__ |
| #define __IMFByteStreamBuffering_FWD_DEFINED__ |
| typedef interface IMFByteStreamBuffering IMFByteStreamBuffering; |
| #ifdef __cplusplus |
| interface IMFByteStreamBuffering; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMFClockStateSink_FWD_DEFINED__ |
| #define __IMFClockStateSink_FWD_DEFINED__ |
| typedef interface IMFClockStateSink IMFClockStateSink; |
| #ifdef __cplusplus |
| interface IMFClockStateSink; |
| #endif /* __cplusplus */ |
| #endif |
| |
| /* Headers for imported files */ |
| |
| #include <mfobjects.h> |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| #include <mftransform.h> |
| #include <windef.h> |
| typedef enum MFSESSION_SETTOPOLOGY_FLAGS { |
| MFSESSION_SETTOPOLOGY_IMMEDIATE = 0x1, |
| MFSESSION_SETTOPOLOGY_NORESOLUTION = 0x2, |
| MFSESSION_SETTOPOLOGY_CLEAR_CURRENT = 0x4 |
| } MFSESSION_SETTOPOLOGY_FLAGS; |
| typedef enum MFSESSION_GETFULLTOPOLOGY_FLAGS { |
| MFSESSION_GETFULLTOPOLOGY_CURRENT = 0 |
| } MFSESSION_GETFULLTOPOLOGY_FLAGS; |
| typedef enum MFPMPSESSION_CREATION_FLAGS { |
| MFPMPSESSION_UNPROTECTED_PROCESS = 0x1 |
| } MFPMPSESSION_CREATION_FLAGS; |
| typedef UINT64 TOPOID; |
| typedef enum MF_TOPOLOGY_TYPE { |
| MF_TOPOLOGY_OUTPUT_NODE = 0, |
| MF_TOPOLOGY_SOURCESTREAM_NODE = 1, |
| MF_TOPOLOGY_TRANSFORM_NODE = 2, |
| MF_TOPOLOGY_TEE_NODE = 3, |
| MF_TOPOLOGY_MAX = 0xffffffff |
| } MF_TOPOLOGY_TYPE; |
| /***************************************************************************** |
| * IMFTopologyNode interface |
| */ |
| #ifndef __IMFTopologyNode_INTERFACE_DEFINED__ |
| #define __IMFTopologyNode_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IMFTopologyNode, 0x83cf873a, 0xf6da, 0x4bc8, 0x82,0x3f, 0xba,0xcf,0xd5,0x5d,0xc4,0x30); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("83cf873a-f6da-4bc8-823f-bacfd55dc430") |
| IMFTopologyNode : public IMFAttributes |
| { |
| virtual HRESULT STDMETHODCALLTYPE SetObject( |
| IUnknown *pObject) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetObject( |
| IUnknown **ppObject) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetNodeType( |
| MF_TOPOLOGY_TYPE *pType) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetTopoNodeID( |
| TOPOID *pID) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetTopoNodeID( |
| TOPOID ullTopoID) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetInputCount( |
| DWORD *pcInputs) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetOutputCount( |
| DWORD *pcOutputs) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE ConnectOutput( |
| DWORD dwOutputIndex, |
| IMFTopologyNode *pDownstreamNode, |
| DWORD dwInputIndexOnDownstreamNode) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE DisconnectOutput( |
| DWORD dwOutputIndex) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetInput( |
| DWORD dwInputIndex, |
| IMFTopologyNode **ppUpstreamNode, |
| DWORD *pdwOutputIndexOnUpstreamNode) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetOutput( |
| DWORD dwOutputIndex, |
| IMFTopologyNode **ppDownstreamNode, |
| DWORD *pdwInputIndexOnDownstreamNode) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetOutputPrefType( |
| DWORD dwOutputIndex, |
| IMFMediaType *pType) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetOutputPrefType( |
| DWORD dwOutputIndex, |
| IMFMediaType **ppType) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetInputPrefType( |
| DWORD dwInputIndex, |
| IMFMediaType *pType) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetInputPrefType( |
| DWORD dwInputIndex, |
| IMFMediaType **ppType) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE CloneFrom( |
| IMFTopologyNode *pNode) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IMFTopologyNode, 0x83cf873a, 0xf6da, 0x4bc8, 0x82,0x3f, 0xba,0xcf,0xd5,0x5d,0xc4,0x30) |
| #endif |
| #else |
| typedef struct IMFTopologyNodeVtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IMFTopologyNode *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IMFTopologyNode *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IMFTopologyNode *This); |
| |
| /*** IMFAttributes methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetItem)( |
| IMFTopologyNode *This, |
| REFGUID guidKey, |
| PROPVARIANT *pValue); |
| |
| HRESULT (STDMETHODCALLTYPE *GetItemType)( |
| IMFTopologyNode *This, |
| REFGUID guidKey, |
| MF_ATTRIBUTE_TYPE *pType); |
| |
| HRESULT (STDMETHODCALLTYPE *CompareItem)( |
| IMFTopologyNode *This, |
| REFGUID guidKey, |
| REFPROPVARIANT Value, |
| WINBOOL *pbResult); |
| |
| HRESULT (STDMETHODCALLTYPE *Compare)( |
| IMFTopologyNode *This, |
| IMFAttributes *pTheirs, |
| MF_ATTRIBUTES_MATCH_TYPE MatchType, |
| WINBOOL *pbResult); |
| |
| HRESULT (STDMETHODCALLTYPE *GetUINT32)( |
| IMFTopologyNode *This, |
| REFGUID guidKey, |
| UINT32 *punValue); |
| |
| HRESULT (STDMETHODCALLTYPE *GetUINT64)( |
| IMFTopologyNode *This, |
| REFGUID guidKey, |
| UINT64 *punValue); |
| |
| HRESULT (STDMETHODCALLTYPE *GetDouble)( |
| IMFTopologyNode *This, |
| REFGUID guidKey, |
| double *pfValue); |
| |
| HRESULT (STDMETHODCALLTYPE *GetGUID)( |
| IMFTopologyNode *This, |
| REFGUID guidKey, |
| GUID *pguidValue); |
| |
| HRESULT (STDMETHODCALLTYPE *GetStringLength)( |
| IMFTopologyNode *This, |
| REFGUID guidKey, |
| UINT32 *pcchLength); |
| |
| HRESULT (STDMETHODCALLTYPE *GetString)( |
| IMFTopologyNode *This, |
| REFGUID guidKey, |
| LPWSTR pwszValue, |
| UINT32 cchBufSize, |
| UINT32 *pcchLength); |
| |
| HRESULT (STDMETHODCALLTYPE *GetAllocatedString)( |
| IMFTopologyNode *This, |
| REFGUID guidKey, |
| LPWSTR *ppwszValue, |
| UINT32 *pcchLength); |
| |
| HRESULT (STDMETHODCALLTYPE *GetBlobSize)( |
| IMFTopologyNode *This, |
| REFGUID guidKey, |
| UINT32 *pcbBlobSize); |
| |
| HRESULT (STDMETHODCALLTYPE *GetBlob)( |
| IMFTopologyNode *This, |
| REFGUID guidKey, |
| UINT8 *pBuf, |
| UINT32 cbBufSize, |
| UINT32 *pcbBlobSize); |
| |
| HRESULT (STDMETHODCALLTYPE *GetAllocatedBlob)( |
| IMFTopologyNode *This, |
| REFGUID guidKey, |
| UINT8 **ppBuf, |
| UINT32 *pcbSize); |
| |
| HRESULT (STDMETHODCALLTYPE *GetUnknown)( |
| IMFTopologyNode *This, |
| REFGUID guidKey, |
| REFIID riid, |
| LPVOID *ppv); |
| |
| HRESULT (STDMETHODCALLTYPE *SetItem)( |
| IMFTopologyNode *This, |
| REFGUID guidKey, |
| REFPROPVARIANT Value); |
| |
| HRESULT (STDMETHODCALLTYPE *DeleteItem)( |
| IMFTopologyNode *This, |
| REFGUID guidKey); |
| |
| HRESULT (STDMETHODCALLTYPE *DeleteAllItems)( |
| IMFTopologyNode *This); |
| |
| HRESULT (STDMETHODCALLTYPE *SetUINT32)( |
| IMFTopologyNode *This, |
| REFGUID guidKey, |
| UINT32 unValue); |
| |
| HRESULT (STDMETHODCALLTYPE *SetUINT64)( |
| IMFTopologyNode *This, |
| REFGUID guidKey, |
| UINT64 unValue); |
| |
| HRESULT (STDMETHODCALLTYPE *SetDouble)( |
| IMFTopologyNode *This, |
| REFGUID guidKey, |
| double fValue); |
| |
| HRESULT (STDMETHODCALLTYPE *SetGUID)( |
| IMFTopologyNode *This, |
| REFGUID guidKey, |
| REFGUID guidValue); |
| |
| HRESULT (STDMETHODCALLTYPE *SetString)( |
| IMFTopologyNode *This, |
| REFGUID guidKey, |
| LPCWSTR wszValue); |
| |
| HRESULT (STDMETHODCALLTYPE *SetBlob)( |
| IMFTopologyNode *This, |
| REFGUID guidKey, |
| const UINT8 *pBuf, |
| UINT32 cbBufSize); |
| |
| HRESULT (STDMETHODCALLTYPE *SetUnknown)( |
| IMFTopologyNode *This, |
| REFGUID guidKey, |
| IUnknown *pUnknown); |
| |
| HRESULT (STDMETHODCALLTYPE *LockStore)( |
| IMFTopologyNode *This); |
| |
| HRESULT (STDMETHODCALLTYPE *UnlockStore)( |
| IMFTopologyNode *This); |
| |
| HRESULT (STDMETHODCALLTYPE *GetCount)( |
| IMFTopologyNode *This, |
| UINT32 *pcItems); |
| |
| HRESULT (STDMETHODCALLTYPE *GetItemByIndex)( |
| IMFTopologyNode *This, |
| UINT32 unIndex, |
| GUID *pguidKey, |
| PROPVARIANT *pValue); |
| |
| HRESULT (STDMETHODCALLTYPE *CopyAllItems)( |
| IMFTopologyNode *This, |
| IMFAttributes *pDest); |
| |
| /*** IMFTopologyNode methods ***/ |
| HRESULT (STDMETHODCALLTYPE *SetObject)( |
| IMFTopologyNode *This, |
| IUnknown *pObject); |
| |
| HRESULT (STDMETHODCALLTYPE *GetObject)( |
| IMFTopologyNode *This, |
| IUnknown **ppObject); |
| |
| HRESULT (STDMETHODCALLTYPE *GetNodeType)( |
| IMFTopologyNode *This, |
| MF_TOPOLOGY_TYPE *pType); |
| |
| HRESULT (STDMETHODCALLTYPE *GetTopoNodeID)( |
| IMFTopologyNode *This, |
| TOPOID *pID); |
| |
| HRESULT (STDMETHODCALLTYPE *SetTopoNodeID)( |
| IMFTopologyNode *This, |
| TOPOID ullTopoID); |
| |
| HRESULT (STDMETHODCALLTYPE *GetInputCount)( |
| IMFTopologyNode *This, |
| DWORD *pcInputs); |
| |
| HRESULT (STDMETHODCALLTYPE *GetOutputCount)( |
| IMFTopologyNode *This, |
| DWORD *pcOutputs); |
| |
| HRESULT (STDMETHODCALLTYPE *ConnectOutput)( |
| IMFTopologyNode *This, |
| DWORD dwOutputIndex, |
| IMFTopologyNode *pDownstreamNode, |
| DWORD dwInputIndexOnDownstreamNode); |
| |
| HRESULT (STDMETHODCALLTYPE *DisconnectOutput)( |
| IMFTopologyNode *This, |
| DWORD dwOutputIndex); |
| |
| HRESULT (STDMETHODCALLTYPE *GetInput)( |
| IMFTopologyNode *This, |
| DWORD dwInputIndex, |
| IMFTopologyNode **ppUpstreamNode, |
| DWORD *pdwOutputIndexOnUpstreamNode); |
| |
| HRESULT (STDMETHODCALLTYPE *GetOutput)( |
| IMFTopologyNode *This, |
| DWORD dwOutputIndex, |
| IMFTopologyNode **ppDownstreamNode, |
| DWORD *pdwInputIndexOnDownstreamNode); |
| |
| HRESULT (STDMETHODCALLTYPE *SetOutputPrefType)( |
| IMFTopologyNode *This, |
| DWORD dwOutputIndex, |
| IMFMediaType *pType); |
| |
| HRESULT (STDMETHODCALLTYPE *GetOutputPrefType)( |
| IMFTopologyNode *This, |
| DWORD dwOutputIndex, |
| IMFMediaType **ppType); |
| |
| HRESULT (STDMETHODCALLTYPE *SetInputPrefType)( |
| IMFTopologyNode *This, |
| DWORD dwInputIndex, |
| IMFMediaType *pType); |
| |
| HRESULT (STDMETHODCALLTYPE *GetInputPrefType)( |
| IMFTopologyNode *This, |
| DWORD dwInputIndex, |
| IMFMediaType **ppType); |
| |
| HRESULT (STDMETHODCALLTYPE *CloneFrom)( |
| IMFTopologyNode *This, |
| IMFTopologyNode *pNode); |
| |
| END_INTERFACE |
| } IMFTopologyNodeVtbl; |
| |
| interface IMFTopologyNode { |
| CONST_VTBL IMFTopologyNodeVtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IMFTopologyNode_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMFTopologyNode_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IMFTopologyNode_Release(This) (This)->lpVtbl->Release(This) |
| /*** IMFAttributes methods ***/ |
| #define IMFTopologyNode_GetItem(This,guidKey,pValue) (This)->lpVtbl->GetItem(This,guidKey,pValue) |
| #define IMFTopologyNode_GetItemType(This,guidKey,pType) (This)->lpVtbl->GetItemType(This,guidKey,pType) |
| #define IMFTopologyNode_CompareItem(This,guidKey,Value,pbResult) (This)->lpVtbl->CompareItem(This,guidKey,Value,pbResult) |
| #define IMFTopologyNode_Compare(This,pTheirs,MatchType,pbResult) (This)->lpVtbl->Compare(This,pTheirs,MatchType,pbResult) |
| #define IMFTopologyNode_GetUINT32(This,guidKey,punValue) (This)->lpVtbl->GetUINT32(This,guidKey,punValue) |
| #define IMFTopologyNode_GetUINT64(This,guidKey,punValue) (This)->lpVtbl->GetUINT64(This,guidKey,punValue) |
| #define IMFTopologyNode_GetDouble(This,guidKey,pfValue) (This)->lpVtbl->GetDouble(This,guidKey,pfValue) |
| #define IMFTopologyNode_GetGUID(This,guidKey,pguidValue) (This)->lpVtbl->GetGUID(This,guidKey,pguidValue) |
| #define IMFTopologyNode_GetStringLength(This,guidKey,pcchLength) (This)->lpVtbl->GetStringLength(This,guidKey,pcchLength) |
| #define IMFTopologyNode_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) (This)->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) |
| #define IMFTopologyNode_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) (This)->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength) |
| #define IMFTopologyNode_GetBlobSize(This,guidKey,pcbBlobSize) (This)->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize) |
| #define IMFTopologyNode_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) (This)->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) |
| #define IMFTopologyNode_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) (This)->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) |
| #define IMFTopologyNode_GetUnknown(This,guidKey,riid,ppv) (This)->lpVtbl->GetUnknown(This,guidKey,riid,ppv) |
| #define IMFTopologyNode_SetItem(This,guidKey,Value) (This)->lpVtbl->SetItem(This,guidKey,Value) |
| #define IMFTopologyNode_DeleteItem(This,guidKey) (This)->lpVtbl->DeleteItem(This,guidKey) |
| #define IMFTopologyNode_DeleteAllItems(This) (This)->lpVtbl->DeleteAllItems(This) |
| #define IMFTopologyNode_SetUINT32(This,guidKey,unValue) (This)->lpVtbl->SetUINT32(This,guidKey,unValue) |
| #define IMFTopologyNode_SetUINT64(This,guidKey,unValue) (This)->lpVtbl->SetUINT64(This,guidKey,unValue) |
| #define IMFTopologyNode_SetDouble(This,guidKey,fValue) (This)->lpVtbl->SetDouble(This,guidKey,fValue) |
| #define IMFTopologyNode_SetGUID(This,guidKey,guidValue) (This)->lpVtbl->SetGUID(This,guidKey,guidValue) |
| #define IMFTopologyNode_SetString(This,guidKey,wszValue) (This)->lpVtbl->SetString(This,guidKey,wszValue) |
| #define IMFTopologyNode_SetBlob(This,guidKey,pBuf,cbBufSize) (This)->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize) |
| #define IMFTopologyNode_SetUnknown(This,guidKey,pUnknown) (This)->lpVtbl->SetUnknown(This,guidKey,pUnknown) |
| #define IMFTopologyNode_LockStore(This) (This)->lpVtbl->LockStore(This) |
| #define IMFTopologyNode_UnlockStore(This) (This)->lpVtbl->UnlockStore(This) |
| #define IMFTopologyNode_GetCount(This,pcItems) (This)->lpVtbl->GetCount(This,pcItems) |
| #define IMFTopologyNode_GetItemByIndex(This,unIndex,pguidKey,pValue) (This)->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue) |
| #define IMFTopologyNode_CopyAllItems(This,pDest) (This)->lpVtbl->CopyAllItems(This,pDest) |
| /*** IMFTopologyNode methods ***/ |
| #define IMFTopologyNode_SetObject(This,pObject) (This)->lpVtbl->SetObject(This,pObject) |
| #define IMFTopologyNode_GetObject(This,ppObject) (This)->lpVtbl->GetObject(This,ppObject) |
| #define IMFTopologyNode_GetNodeType(This,pType) (This)->lpVtbl->GetNodeType(This,pType) |
| #define IMFTopologyNode_GetTopoNodeID(This,pID) (This)->lpVtbl->GetTopoNodeID(This,pID) |
| #define IMFTopologyNode_SetTopoNodeID(This,ullTopoID) (This)->lpVtbl->SetTopoNodeID(This,ullTopoID) |
| #define IMFTopologyNode_GetInputCount(This,pcInputs) (This)->lpVtbl->GetInputCount(This,pcInputs) |
| #define IMFTopologyNode_GetOutputCount(This,pcOutputs) (This)->lpVtbl->GetOutputCount(This,pcOutputs) |
| #define IMFTopologyNode_ConnectOutput(This,dwOutputIndex,pDownstreamNode,dwInputIndexOnDownstreamNode) (This)->lpVtbl->ConnectOutput(This,dwOutputIndex,pDownstreamNode,dwInputIndexOnDownstreamNode) |
| #define IMFTopologyNode_DisconnectOutput(This,dwOutputIndex) (This)->lpVtbl->DisconnectOutput(This,dwOutputIndex) |
| #define IMFTopologyNode_GetInput(This,dwInputIndex,ppUpstreamNode,pdwOutputIndexOnUpstreamNode) (This)->lpVtbl->GetInput(This,dwInputIndex,ppUpstreamNode,pdwOutputIndexOnUpstreamNode) |
| #define IMFTopologyNode_GetOutput(This,dwOutputIndex,ppDownstreamNode,pdwInputIndexOnDownstreamNode) (This)->lpVtbl->GetOutput(This,dwOutputIndex,ppDownstreamNode,pdwInputIndexOnDownstreamNode) |
| #define IMFTopologyNode_SetOutputPrefType(This,dwOutputIndex,pType) (This)->lpVtbl->SetOutputPrefType(This,dwOutputIndex,pType) |
| #define IMFTopologyNode_GetOutputPrefType(This,dwOutputIndex,ppType) (This)->lpVtbl->GetOutputPrefType(This,dwOutputIndex,ppType) |
| #define IMFTopologyNode_SetInputPrefType(This,dwInputIndex,pType) (This)->lpVtbl->SetInputPrefType(This,dwInputIndex,pType) |
| #define IMFTopologyNode_GetInputPrefType(This,dwInputIndex,ppType) (This)->lpVtbl->GetInputPrefType(This,dwInputIndex,ppType) |
| #define IMFTopologyNode_CloneFrom(This,pNode) (This)->lpVtbl->CloneFrom(This,pNode) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IMFTopologyNode_QueryInterface(IMFTopologyNode* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IMFTopologyNode_AddRef(IMFTopologyNode* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IMFTopologyNode_Release(IMFTopologyNode* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IMFAttributes methods ***/ |
| static FORCEINLINE HRESULT IMFTopologyNode_GetItem(IMFTopologyNode* This,REFGUID guidKey,PROPVARIANT *pValue) { |
| return This->lpVtbl->GetItem(This,guidKey,pValue); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_GetItemType(IMFTopologyNode* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) { |
| return This->lpVtbl->GetItemType(This,guidKey,pType); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_CompareItem(IMFTopologyNode* This,REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) { |
| return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_Compare(IMFTopologyNode* This,IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,WINBOOL *pbResult) { |
| return This->lpVtbl->Compare(This,pTheirs,MatchType,pbResult); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_GetUINT32(IMFTopologyNode* This,REFGUID guidKey,UINT32 *punValue) { |
| return This->lpVtbl->GetUINT32(This,guidKey,punValue); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_GetUINT64(IMFTopologyNode* This,REFGUID guidKey,UINT64 *punValue) { |
| return This->lpVtbl->GetUINT64(This,guidKey,punValue); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_GetDouble(IMFTopologyNode* This,REFGUID guidKey,double *pfValue) { |
| return This->lpVtbl->GetDouble(This,guidKey,pfValue); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_GetGUID(IMFTopologyNode* This,REFGUID guidKey,GUID *pguidValue) { |
| return This->lpVtbl->GetGUID(This,guidKey,pguidValue); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_GetStringLength(IMFTopologyNode* This,REFGUID guidKey,UINT32 *pcchLength) { |
| return This->lpVtbl->GetStringLength(This,guidKey,pcchLength); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_GetString(IMFTopologyNode* This,REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) { |
| return This->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_GetAllocatedString(IMFTopologyNode* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) { |
| return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_GetBlobSize(IMFTopologyNode* This,REFGUID guidKey,UINT32 *pcbBlobSize) { |
| return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_GetBlob(IMFTopologyNode* This,REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) { |
| return This->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_GetAllocatedBlob(IMFTopologyNode* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) { |
| return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_GetUnknown(IMFTopologyNode* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) { |
| return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_SetItem(IMFTopologyNode* This,REFGUID guidKey,REFPROPVARIANT Value) { |
| return This->lpVtbl->SetItem(This,guidKey,Value); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_DeleteItem(IMFTopologyNode* This,REFGUID guidKey) { |
| return This->lpVtbl->DeleteItem(This,guidKey); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_DeleteAllItems(IMFTopologyNode* This) { |
| return This->lpVtbl->DeleteAllItems(This); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_SetUINT32(IMFTopologyNode* This,REFGUID guidKey,UINT32 unValue) { |
| return This->lpVtbl->SetUINT32(This,guidKey,unValue); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_SetUINT64(IMFTopologyNode* This,REFGUID guidKey,UINT64 unValue) { |
| return This->lpVtbl->SetUINT64(This,guidKey,unValue); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_SetDouble(IMFTopologyNode* This,REFGUID guidKey,double fValue) { |
| return This->lpVtbl->SetDouble(This,guidKey,fValue); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_SetGUID(IMFTopologyNode* This,REFGUID guidKey,REFGUID guidValue) { |
| return This->lpVtbl->SetGUID(This,guidKey,guidValue); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_SetString(IMFTopologyNode* This,REFGUID guidKey,LPCWSTR wszValue) { |
| return This->lpVtbl->SetString(This,guidKey,wszValue); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_SetBlob(IMFTopologyNode* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) { |
| return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_SetUnknown(IMFTopologyNode* This,REFGUID guidKey,IUnknown *pUnknown) { |
| return This->lpVtbl->SetUnknown(This,guidKey,pUnknown); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_LockStore(IMFTopologyNode* This) { |
| return This->lpVtbl->LockStore(This); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_UnlockStore(IMFTopologyNode* This) { |
| return This->lpVtbl->UnlockStore(This); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_GetCount(IMFTopologyNode* This,UINT32 *pcItems) { |
| return This->lpVtbl->GetCount(This,pcItems); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_GetItemByIndex(IMFTopologyNode* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) { |
| return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_CopyAllItems(IMFTopologyNode* This,IMFAttributes *pDest) { |
| return This->lpVtbl->CopyAllItems(This,pDest); |
| } |
| /*** IMFTopologyNode methods ***/ |
| static FORCEINLINE HRESULT IMFTopologyNode_SetObject(IMFTopologyNode* This,IUnknown *pObject) { |
| return This->lpVtbl->SetObject(This,pObject); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_GetObject(IMFTopologyNode* This,IUnknown **ppObject) { |
| return This->lpVtbl->GetObject(This,ppObject); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_GetNodeType(IMFTopologyNode* This,MF_TOPOLOGY_TYPE *pType) { |
| return This->lpVtbl->GetNodeType(This,pType); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_GetTopoNodeID(IMFTopologyNode* This,TOPOID *pID) { |
| return This->lpVtbl->GetTopoNodeID(This,pID); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_SetTopoNodeID(IMFTopologyNode* This,TOPOID ullTopoID) { |
| return This->lpVtbl->SetTopoNodeID(This,ullTopoID); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_GetInputCount(IMFTopologyNode* This,DWORD *pcInputs) { |
| return This->lpVtbl->GetInputCount(This,pcInputs); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_GetOutputCount(IMFTopologyNode* This,DWORD *pcOutputs) { |
| return This->lpVtbl->GetOutputCount(This,pcOutputs); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_ConnectOutput(IMFTopologyNode* This,DWORD dwOutputIndex,IMFTopologyNode *pDownstreamNode,DWORD dwInputIndexOnDownstreamNode) { |
| return This->lpVtbl->ConnectOutput(This,dwOutputIndex,pDownstreamNode,dwInputIndexOnDownstreamNode); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_DisconnectOutput(IMFTopologyNode* This,DWORD dwOutputIndex) { |
| return This->lpVtbl->DisconnectOutput(This,dwOutputIndex); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_GetInput(IMFTopologyNode* This,DWORD dwInputIndex,IMFTopologyNode **ppUpstreamNode,DWORD *pdwOutputIndexOnUpstreamNode) { |
| return This->lpVtbl->GetInput(This,dwInputIndex,ppUpstreamNode,pdwOutputIndexOnUpstreamNode); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_GetOutput(IMFTopologyNode* This,DWORD dwOutputIndex,IMFTopologyNode **ppDownstreamNode,DWORD *pdwInputIndexOnDownstreamNode) { |
| return This->lpVtbl->GetOutput(This,dwOutputIndex,ppDownstreamNode,pdwInputIndexOnDownstreamNode); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_SetOutputPrefType(IMFTopologyNode* This,DWORD dwOutputIndex,IMFMediaType *pType) { |
| return This->lpVtbl->SetOutputPrefType(This,dwOutputIndex,pType); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_GetOutputPrefType(IMFTopologyNode* This,DWORD dwOutputIndex,IMFMediaType **ppType) { |
| return This->lpVtbl->GetOutputPrefType(This,dwOutputIndex,ppType); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_SetInputPrefType(IMFTopologyNode* This,DWORD dwInputIndex,IMFMediaType *pType) { |
| return This->lpVtbl->SetInputPrefType(This,dwInputIndex,pType); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_GetInputPrefType(IMFTopologyNode* This,DWORD dwInputIndex,IMFMediaType **ppType) { |
| return This->lpVtbl->GetInputPrefType(This,dwInputIndex,ppType); |
| } |
| static FORCEINLINE HRESULT IMFTopologyNode_CloneFrom(IMFTopologyNode* This,IMFTopologyNode *pNode) { |
| return This->lpVtbl->CloneFrom(This,pNode); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| HRESULT STDMETHODCALLTYPE IMFTopologyNode_RemoteGetOutputPrefType_Proxy( |
| IMFTopologyNode* This, |
| DWORD dwOutputIndex, |
| DWORD *pcbData, |
| BYTE **ppbData); |
| void __RPC_STUB IMFTopologyNode_RemoteGetOutputPrefType_Stub( |
| IRpcStubBuffer* This, |
| IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT STDMETHODCALLTYPE IMFTopologyNode_RemoteGetInputPrefType_Proxy( |
| IMFTopologyNode* This, |
| DWORD dwInputIndex, |
| DWORD *pcbData, |
| BYTE **ppbData); |
| void __RPC_STUB IMFTopologyNode_RemoteGetInputPrefType_Stub( |
| IRpcStubBuffer* This, |
| IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMFTopologyNode_GetOutputPrefType_Proxy( |
| IMFTopologyNode* This, |
| DWORD dwOutputIndex, |
| IMFMediaType **ppType); |
| HRESULT __RPC_STUB IMFTopologyNode_GetOutputPrefType_Stub( |
| IMFTopologyNode* This, |
| DWORD dwOutputIndex, |
| DWORD *pcbData, |
| BYTE **ppbData); |
| HRESULT CALLBACK IMFTopologyNode_GetInputPrefType_Proxy( |
| IMFTopologyNode* This, |
| DWORD dwInputIndex, |
| IMFMediaType **ppType); |
| HRESULT __RPC_STUB IMFTopologyNode_GetInputPrefType_Stub( |
| IMFTopologyNode* This, |
| DWORD dwInputIndex, |
| DWORD *pcbData, |
| BYTE **ppbData); |
| |
| #endif /* __IMFTopologyNode_INTERFACE_DEFINED__ */ |
| |
| /***************************************************************************** |
| * IMFTopology interface |
| */ |
| #ifndef __IMFTopology_INTERFACE_DEFINED__ |
| #define __IMFTopology_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IMFTopology, 0x83cf873a, 0xf6da, 0x4bc8, 0x82,0x3f, 0xba,0xcf,0xd5,0x5d,0xc4,0x33); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("83cf873a-f6da-4bc8-823f-bacfd55dc433") |
| IMFTopology : public IMFAttributes |
| { |
| virtual HRESULT STDMETHODCALLTYPE GetTopologyID( |
| TOPOID *pID) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE AddNode( |
| IMFTopologyNode *pNode) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE RemoveNode( |
| IMFTopologyNode *pNode) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetNodeCount( |
| WORD *pwNodes) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetNode( |
| WORD wIndex, |
| IMFTopologyNode **ppNode) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Clear( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE CloneFrom( |
| IMFTopology *pTopology) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetNodeByID( |
| TOPOID qwTopoNodeID, |
| IMFTopologyNode **ppNode) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetSourceNodeCollection( |
| IMFCollection **ppCollection) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetOutputNodeCollection( |
| IMFCollection **ppCollection) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IMFTopology, 0x83cf873a, 0xf6da, 0x4bc8, 0x82,0x3f, 0xba,0xcf,0xd5,0x5d,0xc4,0x33) |
| #endif |
| #else |
| typedef struct IMFTopologyVtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IMFTopology *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IMFTopology *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IMFTopology *This); |
| |
| /*** IMFAttributes methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetItem)( |
| IMFTopology *This, |
| REFGUID guidKey, |
| PROPVARIANT *pValue); |
| |
| HRESULT (STDMETHODCALLTYPE *GetItemType)( |
| IMFTopology *This, |
| REFGUID guidKey, |
| MF_ATTRIBUTE_TYPE *pType); |
| |
| HRESULT (STDMETHODCALLTYPE *CompareItem)( |
| IMFTopology *This, |
| REFGUID guidKey, |
| REFPROPVARIANT Value, |
| WINBOOL *pbResult); |
| |
| HRESULT (STDMETHODCALLTYPE *Compare)( |
| IMFTopology *This, |
| IMFAttributes *pTheirs, |
| MF_ATTRIBUTES_MATCH_TYPE MatchType, |
| WINBOOL *pbResult); |
| |
| HRESULT (STDMETHODCALLTYPE *GetUINT32)( |
| IMFTopology *This, |
| REFGUID guidKey, |
| UINT32 *punValue); |
| |
| HRESULT (STDMETHODCALLTYPE *GetUINT64)( |
| IMFTopology *This, |
| REFGUID guidKey, |
| UINT64 *punValue); |
| |
| HRESULT (STDMETHODCALLTYPE *GetDouble)( |
| IMFTopology *This, |
| REFGUID guidKey, |
| double *pfValue); |
| |
| HRESULT (STDMETHODCALLTYPE *GetGUID)( |
| IMFTopology *This, |
| REFGUID guidKey, |
| GUID *pguidValue); |
| |
| HRESULT (STDMETHODCALLTYPE *GetStringLength)( |
| IMFTopology *This, |
| REFGUID guidKey, |
| UINT32 *pcchLength); |
| |
| HRESULT (STDMETHODCALLTYPE *GetString)( |
| IMFTopology *This, |
| REFGUID guidKey, |
| LPWSTR pwszValue, |
| UINT32 cchBufSize, |
| UINT32 *pcchLength); |
| |
| HRESULT (STDMETHODCALLTYPE *GetAllocatedString)( |
| IMFTopology *This, |
| REFGUID guidKey, |
| LPWSTR *ppwszValue, |
| UINT32 *pcchLength); |
| |
| HRESULT (STDMETHODCALLTYPE *GetBlobSize)( |
| IMFTopology *This, |
| REFGUID guidKey, |
| UINT32 *pcbBlobSize); |
| |
| HRESULT (STDMETHODCALLTYPE *GetBlob)( |
| IMFTopology *This, |
| REFGUID guidKey, |
| UINT8 *pBuf, |
| UINT32 cbBufSize, |
| UINT32 *pcbBlobSize); |
| |
| HRESULT (STDMETHODCALLTYPE *GetAllocatedBlob)( |
| IMFTopology *This, |
| REFGUID guidKey, |
| UINT8 **ppBuf, |
| UINT32 *pcbSize); |
| |
| HRESULT (STDMETHODCALLTYPE *GetUnknown)( |
| IMFTopology *This, |
| REFGUID guidKey, |
| REFIID riid, |
| LPVOID *ppv); |
| |
| HRESULT (STDMETHODCALLTYPE *SetItem)( |
| IMFTopology *This, |
| REFGUID guidKey, |
| REFPROPVARIANT Value); |
| |
| HRESULT (STDMETHODCALLTYPE *DeleteItem)( |
| IMFTopology *This, |
| REFGUID guidKey); |
| |
| HRESULT (STDMETHODCALLTYPE *DeleteAllItems)( |
| IMFTopology *This); |
| |
| HRESULT (STDMETHODCALLTYPE *SetUINT32)( |
| IMFTopology *This, |
| REFGUID guidKey, |
| UINT32 unValue); |
| |
| HRESULT (STDMETHODCALLTYPE *SetUINT64)( |
| IMFTopology *This, |
| REFGUID guidKey, |
| UINT64 unValue); |
| |
| HRESULT (STDMETHODCALLTYPE *SetDouble)( |
| IMFTopology *This, |
| REFGUID guidKey, |
| double fValue); |
| |
| HRESULT (STDMETHODCALLTYPE *SetGUID)( |
| IMFTopology *This, |
| REFGUID guidKey, |
| REFGUID guidValue); |
| |
| HRESULT (STDMETHODCALLTYPE *SetString)( |
| IMFTopology *This, |
| REFGUID guidKey, |
| LPCWSTR wszValue); |
| |
| HRESULT (STDMETHODCALLTYPE *SetBlob)( |
| IMFTopology *This, |
| REFGUID guidKey, |
| const UINT8 *pBuf, |
| UINT32 cbBufSize); |
| |
| HRESULT (STDMETHODCALLTYPE *SetUnknown)( |
| IMFTopology *This, |
| REFGUID guidKey, |
| IUnknown *pUnknown); |
| |
| HRESULT (STDMETHODCALLTYPE *LockStore)( |
| IMFTopology *This); |
| |
| HRESULT (STDMETHODCALLTYPE *UnlockStore)( |
| IMFTopology *This); |
| |
| HRESULT (STDMETHODCALLTYPE *GetCount)( |
| IMFTopology *This, |
| UINT32 *pcItems); |
| |
| HRESULT (STDMETHODCALLTYPE *GetItemByIndex)( |
| IMFTopology *This, |
| UINT32 unIndex, |
| GUID *pguidKey, |
| PROPVARIANT *pValue); |
| |
| HRESULT (STDMETHODCALLTYPE *CopyAllItems)( |
| IMFTopology *This, |
| IMFAttributes *pDest); |
| |
| /*** IMFTopology methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetTopologyID)( |
| IMFTopology *This, |
| TOPOID *pID); |
| |
| HRESULT (STDMETHODCALLTYPE *AddNode)( |
| IMFTopology *This, |
| IMFTopologyNode *pNode); |
| |
| HRESULT (STDMETHODCALLTYPE *RemoveNode)( |
| IMFTopology *This, |
| IMFTopologyNode *pNode); |
| |
| HRESULT (STDMETHODCALLTYPE *GetNodeCount)( |
| IMFTopology *This, |
| WORD *pwNodes); |
| |
| HRESULT (STDMETHODCALLTYPE *GetNode)( |
| IMFTopology *This, |
| WORD wIndex, |
| IMFTopologyNode **ppNode); |
| |
| HRESULT (STDMETHODCALLTYPE *Clear)( |
| IMFTopology *This); |
| |
| HRESULT (STDMETHODCALLTYPE *CloneFrom)( |
| IMFTopology *This, |
| IMFTopology *pTopology); |
| |
| HRESULT (STDMETHODCALLTYPE *GetNodeByID)( |
| IMFTopology *This, |
| TOPOID qwTopoNodeID, |
| IMFTopologyNode **ppNode); |
| |
| HRESULT (STDMETHODCALLTYPE *GetSourceNodeCollection)( |
| IMFTopology *This, |
| IMFCollection **ppCollection); |
| |
| HRESULT (STDMETHODCALLTYPE *GetOutputNodeCollection)( |
| IMFTopology *This, |
| IMFCollection **ppCollection); |
| |
| END_INTERFACE |
| } IMFTopologyVtbl; |
| |
| interface IMFTopology { |
| CONST_VTBL IMFTopologyVtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IMFTopology_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMFTopology_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IMFTopology_Release(This) (This)->lpVtbl->Release(This) |
| /*** IMFAttributes methods ***/ |
| #define IMFTopology_GetItem(This,guidKey,pValue) (This)->lpVtbl->GetItem(This,guidKey,pValue) |
| #define IMFTopology_GetItemType(This,guidKey,pType) (This)->lpVtbl->GetItemType(This,guidKey,pType) |
| #define IMFTopology_CompareItem(This,guidKey,Value,pbResult) (This)->lpVtbl->CompareItem(This,guidKey,Value,pbResult) |
| #define IMFTopology_Compare(This,pTheirs,MatchType,pbResult) (This)->lpVtbl->Compare(This,pTheirs,MatchType,pbResult) |
| #define IMFTopology_GetUINT32(This,guidKey,punValue) (This)->lpVtbl->GetUINT32(This,guidKey,punValue) |
| #define IMFTopology_GetUINT64(This,guidKey,punValue) (This)->lpVtbl->GetUINT64(This,guidKey,punValue) |
| #define IMFTopology_GetDouble(This,guidKey,pfValue) (This)->lpVtbl->GetDouble(This,guidKey,pfValue) |
| #define IMFTopology_GetGUID(This,guidKey,pguidValue) (This)->lpVtbl->GetGUID(This,guidKey,pguidValue) |
| #define IMFTopology_GetStringLength(This,guidKey,pcchLength) (This)->lpVtbl->GetStringLength(This,guidKey,pcchLength) |
| #define IMFTopology_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) (This)->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) |
| #define IMFTopology_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) (This)->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength) |
| #define IMFTopology_GetBlobSize(This,guidKey,pcbBlobSize) (This)->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize) |
| #define IMFTopology_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) (This)->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) |
| #define IMFTopology_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) (This)->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) |
| #define IMFTopology_GetUnknown(This,guidKey,riid,ppv) (This)->lpVtbl->GetUnknown(This,guidKey,riid,ppv) |
| #define IMFTopology_SetItem(This,guidKey,Value) (This)->lpVtbl->SetItem(This,guidKey,Value) |
| #define IMFTopology_DeleteItem(This,guidKey) (This)->lpVtbl->DeleteItem(This,guidKey) |
| #define IMFTopology_DeleteAllItems(This) (This)->lpVtbl->DeleteAllItems(This) |
| #define IMFTopology_SetUINT32(This,guidKey,unValue) (This)->lpVtbl->SetUINT32(This,guidKey,unValue) |
| #define IMFTopology_SetUINT64(This,guidKey,unValue) (This)->lpVtbl->SetUINT64(This,guidKey,unValue) |
| #define IMFTopology_SetDouble(This,guidKey,fValue) (This)->lpVtbl->SetDouble(This,guidKey,fValue) |
| #define IMFTopology_SetGUID(This,guidKey,guidValue) (This)->lpVtbl->SetGUID(This,guidKey,guidValue) |
| #define IMFTopology_SetString(This,guidKey,wszValue) (This)->lpVtbl->SetString(This,guidKey,wszValue) |
| #define IMFTopology_SetBlob(This,guidKey,pBuf,cbBufSize) (This)->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize) |
| #define IMFTopology_SetUnknown(This,guidKey,pUnknown) (This)->lpVtbl->SetUnknown(This,guidKey,pUnknown) |
| #define IMFTopology_LockStore(This) (This)->lpVtbl->LockStore(This) |
| #define IMFTopology_UnlockStore(This) (This)->lpVtbl->UnlockStore(This) |
| #define IMFTopology_GetCount(This,pcItems) (This)->lpVtbl->GetCount(This,pcItems) |
| #define IMFTopology_GetItemByIndex(This,unIndex,pguidKey,pValue) (This)->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue) |
| #define IMFTopology_CopyAllItems(This,pDest) (This)->lpVtbl->CopyAllItems(This,pDest) |
| /*** IMFTopology methods ***/ |
| #define IMFTopology_GetTopologyID(This,pID) (This)->lpVtbl->GetTopologyID(This,pID) |
| #define IMFTopology_AddNode(This,pNode) (This)->lpVtbl->AddNode(This,pNode) |
| #define IMFTopology_RemoveNode(This,pNode) (This)->lpVtbl->RemoveNode(This,pNode) |
| #define IMFTopology_GetNodeCount(This,pwNodes) (This)->lpVtbl->GetNodeCount(This,pwNodes) |
| #define IMFTopology_GetNode(This,wIndex,ppNode) (This)->lpVtbl->GetNode(This,wIndex,ppNode) |
| #define IMFTopology_Clear(This) (This)->lpVtbl->Clear(This) |
| #define IMFTopology_CloneFrom(This,pTopology) (This)->lpVtbl->CloneFrom(This,pTopology) |
| #define IMFTopology_GetNodeByID(This,qwTopoNodeID,ppNode) (This)->lpVtbl->GetNodeByID(This,qwTopoNodeID,ppNode) |
| #define IMFTopology_GetSourceNodeCollection(This,ppCollection) (This)->lpVtbl->GetSourceNodeCollection(This,ppCollection) |
| #define IMFTopology_GetOutputNodeCollection(This,ppCollection) (This)->lpVtbl->GetOutputNodeCollection(This,ppCollection) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IMFTopology_QueryInterface(IMFTopology* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IMFTopology_AddRef(IMFTopology* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IMFTopology_Release(IMFTopology* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IMFAttributes methods ***/ |
| static FORCEINLINE HRESULT IMFTopology_GetItem(IMFTopology* This,REFGUID guidKey,PROPVARIANT *pValue) { |
| return This->lpVtbl->GetItem(This,guidKey,pValue); |
| } |
| static FORCEINLINE HRESULT IMFTopology_GetItemType(IMFTopology* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) { |
| return This->lpVtbl->GetItemType(This,guidKey,pType); |
| } |
| static FORCEINLINE HRESULT IMFTopology_CompareItem(IMFTopology* This,REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) { |
| return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult); |
| } |
| static FORCEINLINE HRESULT IMFTopology_Compare(IMFTopology* This,IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,WINBOOL *pbResult) { |
| return This->lpVtbl->Compare(This,pTheirs,MatchType,pbResult); |
| } |
| static FORCEINLINE HRESULT IMFTopology_GetUINT32(IMFTopology* This,REFGUID guidKey,UINT32 *punValue) { |
| return This->lpVtbl->GetUINT32(This,guidKey,punValue); |
| } |
| static FORCEINLINE HRESULT IMFTopology_GetUINT64(IMFTopology* This,REFGUID guidKey,UINT64 *punValue) { |
| return This->lpVtbl->GetUINT64(This,guidKey,punValue); |
| } |
| static FORCEINLINE HRESULT IMFTopology_GetDouble(IMFTopology* This,REFGUID guidKey,double *pfValue) { |
| return This->lpVtbl->GetDouble(This,guidKey,pfValue); |
| } |
| static FORCEINLINE HRESULT IMFTopology_GetGUID(IMFTopology* This,REFGUID guidKey,GUID *pguidValue) { |
| return This->lpVtbl->GetGUID(This,guidKey,pguidValue); |
| } |
| static FORCEINLINE HRESULT IMFTopology_GetStringLength(IMFTopology* This,REFGUID guidKey,UINT32 *pcchLength) { |
| return This->lpVtbl->GetStringLength(This,guidKey,pcchLength); |
| } |
| static FORCEINLINE HRESULT IMFTopology_GetString(IMFTopology* This,REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) { |
| return This->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength); |
| } |
| static FORCEINLINE HRESULT IMFTopology_GetAllocatedString(IMFTopology* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) { |
| return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength); |
| } |
| static FORCEINLINE HRESULT IMFTopology_GetBlobSize(IMFTopology* This,REFGUID guidKey,UINT32 *pcbBlobSize) { |
| return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize); |
| } |
| static FORCEINLINE HRESULT IMFTopology_GetBlob(IMFTopology* This,REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) { |
| return This->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize); |
| } |
| static FORCEINLINE HRESULT IMFTopology_GetAllocatedBlob(IMFTopology* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) { |
| return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize); |
| } |
| static FORCEINLINE HRESULT IMFTopology_GetUnknown(IMFTopology* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) { |
| return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv); |
| } |
| static FORCEINLINE HRESULT IMFTopology_SetItem(IMFTopology* This,REFGUID guidKey,REFPROPVARIANT Value) { |
| return This->lpVtbl->SetItem(This,guidKey,Value); |
| } |
| static FORCEINLINE HRESULT IMFTopology_DeleteItem(IMFTopology* This,REFGUID guidKey) { |
| return This->lpVtbl->DeleteItem(This,guidKey); |
| } |
| static FORCEINLINE HRESULT IMFTopology_DeleteAllItems(IMFTopology* This) { |
| return This->lpVtbl->DeleteAllItems(This); |
| } |
| static FORCEINLINE HRESULT IMFTopology_SetUINT32(IMFTopology* This,REFGUID guidKey,UINT32 unValue) { |
| return This->lpVtbl->SetUINT32(This,guidKey,unValue); |
| } |
| static FORCEINLINE HRESULT IMFTopology_SetUINT64(IMFTopology* This,REFGUID guidKey,UINT64 unValue) { |
| return This->lpVtbl->SetUINT64(This,guidKey,unValue); |
| } |
| static FORCEINLINE HRESULT IMFTopology_SetDouble(IMFTopology* This,REFGUID guidKey,double fValue) { |
| return This->lpVtbl->SetDouble(This,guidKey,fValue); |
| } |
| static FORCEINLINE HRESULT IMFTopology_SetGUID(IMFTopology* This,REFGUID guidKey,REFGUID guidValue) { |
| return This->lpVtbl->SetGUID(This,guidKey,guidValue); |
| } |
| static FORCEINLINE HRESULT IMFTopology_SetString(IMFTopology* This,REFGUID guidKey,LPCWSTR wszValue) { |
| return This->lpVtbl->SetString(This,guidKey,wszValue); |
| } |
| static FORCEINLINE HRESULT IMFTopology_SetBlob(IMFTopology* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) { |
| return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize); |
| } |
| static FORCEINLINE HRESULT IMFTopology_SetUnknown(IMFTopology* This,REFGUID guidKey,IUnknown *pUnknown) { |
| return This->lpVtbl->SetUnknown(This,guidKey,pUnknown); |
| } |
| static FORCEINLINE HRESULT IMFTopology_LockStore(IMFTopology* This) { |
| return This->lpVtbl->LockStore(This); |
| } |
| static FORCEINLINE HRESULT IMFTopology_UnlockStore(IMFTopology* This) { |
| return This->lpVtbl->UnlockStore(This); |
| } |
| static FORCEINLINE HRESULT IMFTopology_GetCount(IMFTopology* This,UINT32 *pcItems) { |
| return This->lpVtbl->GetCount(This,pcItems); |
| } |
| static FORCEINLINE HRESULT IMFTopology_GetItemByIndex(IMFTopology* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) { |
| return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue); |
| } |
| static FORCEINLINE HRESULT IMFTopology_CopyAllItems(IMFTopology* This,IMFAttributes *pDest) { |
| return This->lpVtbl->CopyAllItems(This,pDest); |
| } |
| /*** IMFTopology methods ***/ |
| static FORCEINLINE HRESULT IMFTopology_GetTopologyID(IMFTopology* This,TOPOID *pID) { |
| return This->lpVtbl->GetTopologyID(This,pID); |
| } |
| static FORCEINLINE HRESULT IMFTopology_AddNode(IMFTopology* This,IMFTopologyNode *pNode) { |
| return This->lpVtbl->AddNode(This,pNode); |
| } |
| static FORCEINLINE HRESULT IMFTopology_RemoveNode(IMFTopology* This,IMFTopologyNode *pNode) { |
| return This->lpVtbl->RemoveNode(This,pNode); |
| } |
| static FORCEINLINE HRESULT IMFTopology_GetNodeCount(IMFTopology* This,WORD *pwNodes) { |
| return This->lpVtbl->GetNodeCount(This,pwNodes); |
| } |
| static FORCEINLINE HRESULT IMFTopology_GetNode(IMFTopology* This,WORD wIndex,IMFTopologyNode **ppNode) { |
| return This->lpVtbl->GetNode(This,wIndex,ppNode); |
| } |
| static FORCEINLINE HRESULT IMFTopology_Clear(IMFTopology* This) { |
| return This->lpVtbl->Clear(This); |
| } |
| static FORCEINLINE HRESULT IMFTopology_CloneFrom(IMFTopology* This,IMFTopology *pTopology) { |
| return This->lpVtbl->CloneFrom(This,pTopology); |
| } |
| static FORCEINLINE HRESULT IMFTopology_GetNodeByID(IMFTopology* This,TOPOID qwTopoNodeID,IMFTopologyNode **ppNode) { |
| return This->lpVtbl->GetNodeByID(This,qwTopoNodeID,ppNode); |
| } |
| static FORCEINLINE HRESULT IMFTopology_GetSourceNodeCollection(IMFTopology* This,IMFCollection **ppCollection) { |
| return This->lpVtbl->GetSourceNodeCollection(This,ppCollection); |
| } |
| static FORCEINLINE HRESULT IMFTopology_GetOutputNodeCollection(IMFTopology* This,IMFCollection **ppCollection) { |
| return This->lpVtbl->GetOutputNodeCollection(This,ppCollection); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| |
| #endif /* __IMFTopology_INTERFACE_DEFINED__ */ |
| |
| typedef LONGLONG MFTIME; |
| typedef enum _MF_CLOCK_STATE { |
| MFCLOCK_STATE_INVALID = 0, |
| MFCLOCK_STATE_RUNNING = 1, |
| MFCLOCK_STATE_STOPPED = 2, |
| MFCLOCK_STATE_PAUSED = 3 |
| } MF_CLOCK_STATE; |
| typedef enum _MF_CLOCK_STATE MFCLOCK_STATE; |
| typedef struct _MFCLOCK_PROPERTIES { |
| UINT64 qwCorrelationRate; |
| GUID guidClockId; |
| DWORD dwClockFlags; |
| UINT64 qwClockFrequency; |
| DWORD dwClockTolerance; |
| DWORD dwClockJitter; |
| } MFCLOCK_PROPERTIES; |
| /***************************************************************************** |
| * IMFClock interface |
| */ |
| #ifndef __IMFClock_INTERFACE_DEFINED__ |
| #define __IMFClock_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IMFClock, 0x2eb1e945, 0x18b8, 0x4139, 0x9b,0x1a, 0xd5,0xd5,0x84,0x81,0x85,0x30); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("2eb1e945-18b8-4139-9b1a-d5d584818530") |
| IMFClock : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE GetClockCharacteristics( |
| DWORD *pdwCharacteristics) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetCorrelatedTime( |
| DWORD dwReserved, |
| LONGLONG *pllClockTime, |
| MFTIME *phnsSystemTime) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetContinuityKey( |
| DWORD *pdwContinuityKey) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetState( |
| DWORD dwReserved, |
| MFCLOCK_STATE *peClockState) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetProperties( |
| MFCLOCK_PROPERTIES *pClockProperties) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IMFClock, 0x2eb1e945, 0x18b8, 0x4139, 0x9b,0x1a, 0xd5,0xd5,0x84,0x81,0x85,0x30) |
| #endif |
| #else |
| typedef struct IMFClockVtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IMFClock *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IMFClock *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IMFClock *This); |
| |
| /*** IMFClock methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetClockCharacteristics)( |
| IMFClock *This, |
| DWORD *pdwCharacteristics); |
| |
| HRESULT (STDMETHODCALLTYPE *GetCorrelatedTime)( |
| IMFClock *This, |
| DWORD dwReserved, |
| LONGLONG *pllClockTime, |
| MFTIME *phnsSystemTime); |
| |
| HRESULT (STDMETHODCALLTYPE *GetContinuityKey)( |
| IMFClock *This, |
| DWORD *pdwContinuityKey); |
| |
| HRESULT (STDMETHODCALLTYPE *GetState)( |
| IMFClock *This, |
| DWORD dwReserved, |
| MFCLOCK_STATE *peClockState); |
| |
| HRESULT (STDMETHODCALLTYPE *GetProperties)( |
| IMFClock *This, |
| MFCLOCK_PROPERTIES *pClockProperties); |
| |
| END_INTERFACE |
| } IMFClockVtbl; |
| |
| interface IMFClock { |
| CONST_VTBL IMFClockVtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IMFClock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMFClock_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IMFClock_Release(This) (This)->lpVtbl->Release(This) |
| /*** IMFClock methods ***/ |
| #define IMFClock_GetClockCharacteristics(This,pdwCharacteristics) (This)->lpVtbl->GetClockCharacteristics(This,pdwCharacteristics) |
| #define IMFClock_GetCorrelatedTime(This,dwReserved,pllClockTime,phnsSystemTime) (This)->lpVtbl->GetCorrelatedTime(This,dwReserved,pllClockTime,phnsSystemTime) |
| #define IMFClock_GetContinuityKey(This,pdwContinuityKey) (This)->lpVtbl->GetContinuityKey(This,pdwContinuityKey) |
| #define IMFClock_GetState(This,dwReserved,peClockState) (This)->lpVtbl->GetState(This,dwReserved,peClockState) |
| #define IMFClock_GetProperties(This,pClockProperties) (This)->lpVtbl->GetProperties(This,pClockProperties) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IMFClock_QueryInterface(IMFClock* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IMFClock_AddRef(IMFClock* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IMFClock_Release(IMFClock* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IMFClock methods ***/ |
| static FORCEINLINE HRESULT IMFClock_GetClockCharacteristics(IMFClock* This,DWORD *pdwCharacteristics) { |
| return This->lpVtbl->GetClockCharacteristics(This,pdwCharacteristics); |
| } |
| static FORCEINLINE HRESULT IMFClock_GetCorrelatedTime(IMFClock* This,DWORD dwReserved,LONGLONG *pllClockTime,MFTIME *phnsSystemTime) { |
| return This->lpVtbl->GetCorrelatedTime(This,dwReserved,pllClockTime,phnsSystemTime); |
| } |
| static FORCEINLINE HRESULT IMFClock_GetContinuityKey(IMFClock* This,DWORD *pdwContinuityKey) { |
| return This->lpVtbl->GetContinuityKey(This,pdwContinuityKey); |
| } |
| static FORCEINLINE HRESULT IMFClock_GetState(IMFClock* This,DWORD dwReserved,MFCLOCK_STATE *peClockState) { |
| return This->lpVtbl->GetState(This,dwReserved,peClockState); |
| } |
| static FORCEINLINE HRESULT IMFClock_GetProperties(IMFClock* This,MFCLOCK_PROPERTIES *pClockProperties) { |
| return This->lpVtbl->GetProperties(This,pClockProperties); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| |
| #endif /* __IMFClock_INTERFACE_DEFINED__ */ |
| |
| #define SHA_HASH_LEN 20 |
| #define STR_HASH_LEN (SHA_HASH_LEN*2+3) |
| typedef struct _MFRR_COMPONENT_HASH_INFO { |
| DWORD ulReason; |
| WCHAR rgHeaderHash[STR_HASH_LEN]; |
| WCHAR rgPublicKeyHash[STR_HASH_LEN]; |
| WCHAR wszName[MAX_PATH]; |
| } MFRR_COMPONENT_HASH_INFO, *PMFRR_COMPONENT_HASH_INFO; |
| EXTERN_GUID(MF_PD_DURATION, 0x6c990d33,0xbb8e,0x477a,0x85,0x98,0xd,0x5d,0x96,0xfc,0xd8,0x8a); |
| typedef enum _MF_CONNECT_METHOD { |
| MF_CONNECT_DIRECT = 0x0, |
| MF_CONNECT_ALLOW_CONVERTER = 0x1, |
| MF_CONNECT_ALLOW_DECODER = 0x3, |
| MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES = 0x4, |
| MF_CONNECT_AS_OPTIONAL = 0x10000, |
| MF_CONNECT_AS_OPTIONAL_BRANCH = 0x20000 |
| } MF_CONNECT_METHOD; |
| /***************************************************************************** |
| * IMFMediaSession interface |
| */ |
| #ifndef __IMFMediaSession_INTERFACE_DEFINED__ |
| #define __IMFMediaSession_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IMFMediaSession, 0x90377834, 0x21d0, 0x4dee, 0x82,0x14, 0xba,0x2e,0x3e,0x6c,0x11,0x27); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("90377834-21d0-4dee-8214-ba2e3e6c1127") |
| IMFMediaSession : public IMFMediaEventGenerator |
| { |
| virtual HRESULT STDMETHODCALLTYPE SetTopology( |
| DWORD dwSetTopologyFlags, |
| IMFTopology *pTopology) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE ClearTopologies( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Start( |
| const GUID *pguidTimeFormat, |
| const PROPVARIANT *pvarStartPosition) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Pause( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Stop( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Close( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Shutdown( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetClock( |
| IMFClock **ppClock) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetSessionCapabilities( |
| DWORD *pdwCaps) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetFullTopology( |
| DWORD dwGetFullTopologyFlags, |
| TOPOID TopoId, |
| IMFTopology **ppFullTopology) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IMFMediaSession, 0x90377834, 0x21d0, 0x4dee, 0x82,0x14, 0xba,0x2e,0x3e,0x6c,0x11,0x27) |
| #endif |
| #else |
| typedef struct IMFMediaSessionVtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IMFMediaSession *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IMFMediaSession *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IMFMediaSession *This); |
| |
| /*** IMFMediaEventGenerator methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetEvent)( |
| IMFMediaSession *This, |
| DWORD dwFlags, |
| IMFMediaEvent **ppEvent); |
| |
| HRESULT (STDMETHODCALLTYPE *BeginGetEvent)( |
| IMFMediaSession *This, |
| IMFAsyncCallback *pCallback, |
| IUnknown *punkState); |
| |
| HRESULT (STDMETHODCALLTYPE *EndGetEvent)( |
| IMFMediaSession *This, |
| IMFAsyncResult *pResult, |
| IMFMediaEvent **ppEvent); |
| |
| HRESULT (STDMETHODCALLTYPE *QueueEvent)( |
| IMFMediaSession *This, |
| MediaEventType met, |
| REFGUID guidExtendedType, |
| HRESULT hrStatus, |
| const PROPVARIANT *pvValue); |
| |
| /*** IMFMediaSession methods ***/ |
| HRESULT (STDMETHODCALLTYPE *SetTopology)( |
| IMFMediaSession *This, |
| DWORD dwSetTopologyFlags, |
| IMFTopology *pTopology); |
| |
| HRESULT (STDMETHODCALLTYPE *ClearTopologies)( |
| IMFMediaSession *This); |
| |
| HRESULT (STDMETHODCALLTYPE *Start)( |
| IMFMediaSession *This, |
| const GUID *pguidTimeFormat, |
| const PROPVARIANT *pvarStartPosition); |
| |
| HRESULT (STDMETHODCALLTYPE *Pause)( |
| IMFMediaSession *This); |
| |
| HRESULT (STDMETHODCALLTYPE *Stop)( |
| IMFMediaSession *This); |
| |
| HRESULT (STDMETHODCALLTYPE *Close)( |
| IMFMediaSession *This); |
| |
| HRESULT (STDMETHODCALLTYPE *Shutdown)( |
| IMFMediaSession *This); |
| |
| HRESULT (STDMETHODCALLTYPE *GetClock)( |
| IMFMediaSession *This, |
| IMFClock **ppClock); |
| |
| HRESULT (STDMETHODCALLTYPE *GetSessionCapabilities)( |
| IMFMediaSession *This, |
| DWORD *pdwCaps); |
| |
| HRESULT (STDMETHODCALLTYPE *GetFullTopology)( |
| IMFMediaSession *This, |
| DWORD dwGetFullTopologyFlags, |
| TOPOID TopoId, |
| IMFTopology **ppFullTopology); |
| |
| END_INTERFACE |
| } IMFMediaSessionVtbl; |
| |
| interface IMFMediaSession { |
| CONST_VTBL IMFMediaSessionVtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IMFMediaSession_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMFMediaSession_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IMFMediaSession_Release(This) (This)->lpVtbl->Release(This) |
| /*** IMFMediaEventGenerator methods ***/ |
| #define IMFMediaSession_GetEvent(This,dwFlags,ppEvent) (This)->lpVtbl->GetEvent(This,dwFlags,ppEvent) |
| #define IMFMediaSession_BeginGetEvent(This,pCallback,punkState) (This)->lpVtbl->BeginGetEvent(This,pCallback,punkState) |
| #define IMFMediaSession_EndGetEvent(This,pResult,ppEvent) (This)->lpVtbl->EndGetEvent(This,pResult,ppEvent) |
| #define IMFMediaSession_QueueEvent(This,met,guidExtendedType,hrStatus,pvValue) (This)->lpVtbl->QueueEvent(This,met,guidExtendedType,hrStatus,pvValue) |
| /*** IMFMediaSession methods ***/ |
| #define IMFMediaSession_SetTopology(This,dwSetTopologyFlags,pTopology) (This)->lpVtbl->SetTopology(This,dwSetTopologyFlags,pTopology) |
| #define IMFMediaSession_ClearTopologies(This) (This)->lpVtbl->ClearTopologies(This) |
| #define IMFMediaSession_Start(This,pguidTimeFormat,pvarStartPosition) (This)->lpVtbl->Start(This,pguidTimeFormat,pvarStartPosition) |
| #define IMFMediaSession_Pause(This) (This)->lpVtbl->Pause(This) |
| #define IMFMediaSession_Stop(This) (This)->lpVtbl->Stop(This) |
| #define IMFMediaSession_Close(This) (This)->lpVtbl->Close(This) |
| #define IMFMediaSession_Shutdown(This) (This)->lpVtbl->Shutdown(This) |
| #define IMFMediaSession_GetClock(This,ppClock) (This)->lpVtbl->GetClock(This,ppClock) |
| #define IMFMediaSession_GetSessionCapabilities(This,pdwCaps) (This)->lpVtbl->GetSessionCapabilities(This,pdwCaps) |
| #define IMFMediaSession_GetFullTopology(This,dwGetFullTopologyFlags,TopoId,ppFullTopology) (This)->lpVtbl->GetFullTopology(This,dwGetFullTopologyFlags,TopoId,ppFullTopology) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IMFMediaSession_QueryInterface(IMFMediaSession* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IMFMediaSession_AddRef(IMFMediaSession* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IMFMediaSession_Release(IMFMediaSession* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IMFMediaEventGenerator methods ***/ |
| static FORCEINLINE HRESULT IMFMediaSession_GetEvent(IMFMediaSession* This,DWORD dwFlags,IMFMediaEvent **ppEvent) { |
| return This->lpVtbl->GetEvent(This,dwFlags,ppEvent); |
| } |
| static FORCEINLINE HRESULT IMFMediaSession_BeginGetEvent(IMFMediaSession* This,IMFAsyncCallback *pCallback,IUnknown *punkState) { |
| return This->lpVtbl->BeginGetEvent(This,pCallback,punkState); |
| } |
| static FORCEINLINE HRESULT IMFMediaSession_EndGetEvent(IMFMediaSession* This,IMFAsyncResult *pResult,IMFMediaEvent **ppEvent) { |
| return This->lpVtbl->EndGetEvent(This,pResult,ppEvent); |
| } |
| static FORCEINLINE HRESULT IMFMediaSession_QueueEvent(IMFMediaSession* This,MediaEventType met,REFGUID guidExtendedType,HRESULT hrStatus,const PROPVARIANT *pvValue) { |
| return This->lpVtbl->QueueEvent(This,met,guidExtendedType,hrStatus,pvValue); |
| } |
| /*** IMFMediaSession methods ***/ |
| static FORCEINLINE HRESULT IMFMediaSession_SetTopology(IMFMediaSession* This,DWORD dwSetTopologyFlags,IMFTopology *pTopology) { |
| return This->lpVtbl->SetTopology(This,dwSetTopologyFlags,pTopology); |
| } |
| static FORCEINLINE HRESULT IMFMediaSession_ClearTopologies(IMFMediaSession* This) { |
| return This->lpVtbl->ClearTopologies(This); |
| } |
| static FORCEINLINE HRESULT IMFMediaSession_Start(IMFMediaSession* This,const GUID *pguidTimeFormat,const PROPVARIANT *pvarStartPosition) { |
| return This->lpVtbl->Start(This,pguidTimeFormat,pvarStartPosition); |
| } |
| static FORCEINLINE HRESULT IMFMediaSession_Pause(IMFMediaSession* This) { |
| return This->lpVtbl->Pause(This); |
| } |
| static FORCEINLINE HRESULT IMFMediaSession_Stop(IMFMediaSession* This) { |
| return This->lpVtbl->Stop(This); |
| } |
| static FORCEINLINE HRESULT IMFMediaSession_Close(IMFMediaSession* This) { |
| return This->lpVtbl->Close(This); |
| } |
| static FORCEINLINE HRESULT IMFMediaSession_Shutdown(IMFMediaSession* This) { |
| return This->lpVtbl->Shutdown(This); |
| } |
| static FORCEINLINE HRESULT IMFMediaSession_GetClock(IMFMediaSession* This,IMFClock **ppClock) { |
| return This->lpVtbl->GetClock(This,ppClock); |
| } |
| static FORCEINLINE HRESULT IMFMediaSession_GetSessionCapabilities(IMFMediaSession* This,DWORD *pdwCaps) { |
| return This->lpVtbl->GetSessionCapabilities(This,pdwCaps); |
| } |
| static FORCEINLINE HRESULT IMFMediaSession_GetFullTopology(IMFMediaSession* This,DWORD dwGetFullTopologyFlags,TOPOID TopoId,IMFTopology **ppFullTopology) { |
| return This->lpVtbl->GetFullTopology(This,dwGetFullTopologyFlags,TopoId,ppFullTopology); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| |
| #endif /* __IMFMediaSession_INTERFACE_DEFINED__ */ |
| |
| /***************************************************************************** |
| * IMFMediaTypeHandler interface |
| */ |
| #ifndef __IMFMediaTypeHandler_INTERFACE_DEFINED__ |
| #define __IMFMediaTypeHandler_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IMFMediaTypeHandler, 0xe93dcf6c, 0x4b07, 0x4e1e, 0x81,0x23, 0xaa,0x16,0xed,0x6e,0xad,0xf5); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("e93dcf6c-4b07-4e1e-8123-aa16ed6eadf5") |
| IMFMediaTypeHandler : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE IsMediaTypeSupported( |
| IMFMediaType *pMediaType, |
| IMFMediaType **ppMediaType) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetMediaTypeCount( |
| DWORD *pdwTypeCount) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetMediaTypeByIndex( |
| DWORD dwIndex, |
| IMFMediaType **ppType) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetCurrentMediaType( |
| IMFMediaType *pMediaType) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetCurrentMediaType( |
| IMFMediaType **ppMediaType) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetMajorType( |
| GUID *pguidMajorType) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IMFMediaTypeHandler, 0xe93dcf6c, 0x4b07, 0x4e1e, 0x81,0x23, 0xaa,0x16,0xed,0x6e,0xad,0xf5) |
| #endif |
| #else |
| typedef struct IMFMediaTypeHandlerVtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IMFMediaTypeHandler *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IMFMediaTypeHandler *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IMFMediaTypeHandler *This); |
| |
| /*** IMFMediaTypeHandler methods ***/ |
| HRESULT (STDMETHODCALLTYPE *IsMediaTypeSupported)( |
| IMFMediaTypeHandler *This, |
| IMFMediaType *pMediaType, |
| IMFMediaType **ppMediaType); |
| |
| HRESULT (STDMETHODCALLTYPE *GetMediaTypeCount)( |
| IMFMediaTypeHandler *This, |
| DWORD *pdwTypeCount); |
| |
| HRESULT (STDMETHODCALLTYPE *GetMediaTypeByIndex)( |
| IMFMediaTypeHandler *This, |
| DWORD dwIndex, |
| IMFMediaType **ppType); |
| |
| HRESULT (STDMETHODCALLTYPE *SetCurrentMediaType)( |
| IMFMediaTypeHandler *This, |
| IMFMediaType *pMediaType); |
| |
| HRESULT (STDMETHODCALLTYPE *GetCurrentMediaType)( |
| IMFMediaTypeHandler *This, |
| IMFMediaType **ppMediaType); |
| |
| HRESULT (STDMETHODCALLTYPE *GetMajorType)( |
| IMFMediaTypeHandler *This, |
| GUID *pguidMajorType); |
| |
| END_INTERFACE |
| } IMFMediaTypeHandlerVtbl; |
| |
| interface IMFMediaTypeHandler { |
| CONST_VTBL IMFMediaTypeHandlerVtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IMFMediaTypeHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMFMediaTypeHandler_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IMFMediaTypeHandler_Release(This) (This)->lpVtbl->Release(This) |
| /*** IMFMediaTypeHandler methods ***/ |
| #define IMFMediaTypeHandler_IsMediaTypeSupported(This,pMediaType,ppMediaType) (This)->lpVtbl->IsMediaTypeSupported(This,pMediaType,ppMediaType) |
| #define IMFMediaTypeHandler_GetMediaTypeCount(This,pdwTypeCount) (This)->lpVtbl->GetMediaTypeCount(This,pdwTypeCount) |
| #define IMFMediaTypeHandler_GetMediaTypeByIndex(This,dwIndex,ppType) (This)->lpVtbl->GetMediaTypeByIndex(This,dwIndex,ppType) |
| #define IMFMediaTypeHandler_SetCurrentMediaType(This,pMediaType) (This)->lpVtbl->SetCurrentMediaType(This,pMediaType) |
| #define IMFMediaTypeHandler_GetCurrentMediaType(This,ppMediaType) (This)->lpVtbl->GetCurrentMediaType(This,ppMediaType) |
| #define IMFMediaTypeHandler_GetMajorType(This,pguidMajorType) (This)->lpVtbl->GetMajorType(This,pguidMajorType) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IMFMediaTypeHandler_QueryInterface(IMFMediaTypeHandler* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IMFMediaTypeHandler_AddRef(IMFMediaTypeHandler* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IMFMediaTypeHandler_Release(IMFMediaTypeHandler* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IMFMediaTypeHandler methods ***/ |
| static FORCEINLINE HRESULT IMFMediaTypeHandler_IsMediaTypeSupported(IMFMediaTypeHandler* This,IMFMediaType *pMediaType,IMFMediaType **ppMediaType) { |
| return This->lpVtbl->IsMediaTypeSupported(This,pMediaType,ppMediaType); |
| } |
| static FORCEINLINE HRESULT IMFMediaTypeHandler_GetMediaTypeCount(IMFMediaTypeHandler* This,DWORD *pdwTypeCount) { |
| return This->lpVtbl->GetMediaTypeCount(This,pdwTypeCount); |
| } |
| static FORCEINLINE HRESULT IMFMediaTypeHandler_GetMediaTypeByIndex(IMFMediaTypeHandler* This,DWORD dwIndex,IMFMediaType **ppType) { |
| return This->lpVtbl->GetMediaTypeByIndex(This,dwIndex,ppType); |
| } |
| static FORCEINLINE HRESULT IMFMediaTypeHandler_SetCurrentMediaType(IMFMediaTypeHandler* This,IMFMediaType *pMediaType) { |
| return This->lpVtbl->SetCurrentMediaType(This,pMediaType); |
| } |
| static FORCEINLINE HRESULT IMFMediaTypeHandler_GetCurrentMediaType(IMFMediaTypeHandler* This,IMFMediaType **ppMediaType) { |
| return This->lpVtbl->GetCurrentMediaType(This,ppMediaType); |
| } |
| static FORCEINLINE HRESULT IMFMediaTypeHandler_GetMajorType(IMFMediaTypeHandler* This,GUID *pguidMajorType) { |
| return This->lpVtbl->GetMajorType(This,pguidMajorType); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| HRESULT STDMETHODCALLTYPE IMFMediaTypeHandler_RemoteGetCurrentMediaType_Proxy( |
| IMFMediaTypeHandler* This, |
| BYTE **ppbData, |
| DWORD *pcbData); |
| void __RPC_STUB IMFMediaTypeHandler_RemoteGetCurrentMediaType_Stub( |
| IRpcStubBuffer* This, |
| IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMFMediaTypeHandler_GetCurrentMediaType_Proxy( |
| IMFMediaTypeHandler* This, |
| IMFMediaType **ppMediaType); |
| HRESULT __RPC_STUB IMFMediaTypeHandler_GetCurrentMediaType_Stub( |
| IMFMediaTypeHandler* This, |
| BYTE **ppbData, |
| DWORD *pcbData); |
| |
| #endif /* __IMFMediaTypeHandler_INTERFACE_DEFINED__ */ |
| |
| /***************************************************************************** |
| * IMFStreamDescriptor interface |
| */ |
| #ifndef __IMFStreamDescriptor_INTERFACE_DEFINED__ |
| #define __IMFStreamDescriptor_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IMFStreamDescriptor, 0x56c03d9c, 0x9dbb, 0x45f5, 0xab,0x4b, 0xd8,0x0f,0x47,0xc0,0x59,0x38); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("56c03d9c-9dbb-45f5-ab4b-d80f47c05938") |
| IMFStreamDescriptor : public IMFAttributes |
| { |
| virtual HRESULT STDMETHODCALLTYPE GetStreamIdentifier( |
| DWORD *pdwStreamIdentifier) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetMediaTypeHandler( |
| IMFMediaTypeHandler **ppMediaTypeHandler) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IMFStreamDescriptor, 0x56c03d9c, 0x9dbb, 0x45f5, 0xab,0x4b, 0xd8,0x0f,0x47,0xc0,0x59,0x38) |
| #endif |
| #else |
| typedef struct IMFStreamDescriptorVtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IMFStreamDescriptor *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IMFStreamDescriptor *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IMFStreamDescriptor *This); |
| |
| /*** IMFAttributes methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetItem)( |
| IMFStreamDescriptor *This, |
| REFGUID guidKey, |
| PROPVARIANT *pValue); |
| |
| HRESULT (STDMETHODCALLTYPE *GetItemType)( |
| IMFStreamDescriptor *This, |
| REFGUID guidKey, |
| MF_ATTRIBUTE_TYPE *pType); |
| |
| HRESULT (STDMETHODCALLTYPE *CompareItem)( |
| IMFStreamDescriptor *This, |
| REFGUID guidKey, |
| REFPROPVARIANT Value, |
| WINBOOL *pbResult); |
| |
| HRESULT (STDMETHODCALLTYPE *Compare)( |
| IMFStreamDescriptor *This, |
| IMFAttributes *pTheirs, |
| MF_ATTRIBUTES_MATCH_TYPE MatchType, |
| WINBOOL *pbResult); |
| |
| HRESULT (STDMETHODCALLTYPE *GetUINT32)( |
| IMFStreamDescriptor *This, |
| REFGUID guidKey, |
| UINT32 *punValue); |
| |
| HRESULT (STDMETHODCALLTYPE *GetUINT64)( |
| IMFStreamDescriptor *This, |
| REFGUID guidKey, |
| UINT64 *punValue); |
| |
| HRESULT (STDMETHODCALLTYPE *GetDouble)( |
| IMFStreamDescriptor *This, |
| REFGUID guidKey, |
| double *pfValue); |
| |
| HRESULT (STDMETHODCALLTYPE *GetGUID)( |
| IMFStreamDescriptor *This, |
| REFGUID guidKey, |
| GUID *pguidValue); |
| |
| HRESULT (STDMETHODCALLTYPE *GetStringLength)( |
| IMFStreamDescriptor *This, |
| REFGUID guidKey, |
| UINT32 *pcchLength); |
| |
| HRESULT (STDMETHODCALLTYPE *GetString)( |
| IMFStreamDescriptor *This, |
| REFGUID guidKey, |
| LPWSTR pwszValue, |
| UINT32 cchBufSize, |
| UINT32 *pcchLength); |
| |
| HRESULT (STDMETHODCALLTYPE *GetAllocatedString)( |
| IMFStreamDescriptor *This, |
| REFGUID guidKey, |
| LPWSTR *ppwszValue, |
| UINT32 *pcchLength); |
| |
| HRESULT (STDMETHODCALLTYPE *GetBlobSize)( |
| IMFStreamDescriptor *This, |
| REFGUID guidKey, |
| UINT32 *pcbBlobSize); |
| |
| HRESULT (STDMETHODCALLTYPE *GetBlob)( |
| IMFStreamDescriptor *This, |
| REFGUID guidKey, |
| UINT8 *pBuf, |
| UINT32 cbBufSize, |
| UINT32 *pcbBlobSize); |
| |
| HRESULT (STDMETHODCALLTYPE *GetAllocatedBlob)( |
| IMFStreamDescriptor *This, |
| REFGUID guidKey, |
| UINT8 **ppBuf, |
| UINT32 *pcbSize); |
| |
| HRESULT (STDMETHODCALLTYPE *GetUnknown)( |
| IMFStreamDescriptor *This, |
| REFGUID guidKey, |
| REFIID riid, |
| LPVOID *ppv); |
| |
| HRESULT (STDMETHODCALLTYPE *SetItem)( |
| IMFStreamDescriptor *This, |
| REFGUID guidKey, |
| REFPROPVARIANT Value); |
| |
| HRESULT (STDMETHODCALLTYPE *DeleteItem)( |
| IMFStreamDescriptor *This, |
| REFGUID guidKey); |
| |
| HRESULT (STDMETHODCALLTYPE *DeleteAllItems)( |
| IMFStreamDescriptor *This); |
| |
| HRESULT (STDMETHODCALLTYPE *SetUINT32)( |
| IMFStreamDescriptor *This, |
| REFGUID guidKey, |
| UINT32 unValue); |
| |
| HRESULT (STDMETHODCALLTYPE *SetUINT64)( |
| IMFStreamDescriptor *This, |
| REFGUID guidKey, |
| UINT64 unValue); |
| |
| HRESULT (STDMETHODCALLTYPE *SetDouble)( |
| IMFStreamDescriptor *This, |
| REFGUID guidKey, |
| double fValue); |
| |
| HRESULT (STDMETHODCALLTYPE *SetGUID)( |
| IMFStreamDescriptor *This, |
| REFGUID guidKey, |
| REFGUID guidValue); |
| |
| HRESULT (STDMETHODCALLTYPE *SetString)( |
| IMFStreamDescriptor *This, |
| REFGUID guidKey, |
| LPCWSTR wszValue); |
| |
| HRESULT (STDMETHODCALLTYPE *SetBlob)( |
| IMFStreamDescriptor *This, |
| REFGUID guidKey, |
| const UINT8 *pBuf, |
| UINT32 cbBufSize); |
| |
| HRESULT (STDMETHODCALLTYPE *SetUnknown)( |
| IMFStreamDescriptor *This, |
| REFGUID guidKey, |
| IUnknown *pUnknown); |
| |
| HRESULT (STDMETHODCALLTYPE *LockStore)( |
| IMFStreamDescriptor *This); |
| |
| HRESULT (STDMETHODCALLTYPE *UnlockStore)( |
| IMFStreamDescriptor *This); |
| |
| HRESULT (STDMETHODCALLTYPE *GetCount)( |
| IMFStreamDescriptor *This, |
| UINT32 *pcItems); |
| |
| HRESULT (STDMETHODCALLTYPE *GetItemByIndex)( |
| IMFStreamDescriptor *This, |
| UINT32 unIndex, |
| GUID *pguidKey, |
| PROPVARIANT *pValue); |
| |
| HRESULT (STDMETHODCALLTYPE *CopyAllItems)( |
| IMFStreamDescriptor *This, |
| IMFAttributes *pDest); |
| |
| /*** IMFStreamDescriptor methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetStreamIdentifier)( |
| IMFStreamDescriptor *This, |
| DWORD *pdwStreamIdentifier); |
| |
| HRESULT (STDMETHODCALLTYPE *GetMediaTypeHandler)( |
| IMFStreamDescriptor *This, |
| IMFMediaTypeHandler **ppMediaTypeHandler); |
| |
| END_INTERFACE |
| } IMFStreamDescriptorVtbl; |
| |
| interface IMFStreamDescriptor { |
| CONST_VTBL IMFStreamDescriptorVtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IMFStreamDescriptor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMFStreamDescriptor_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IMFStreamDescriptor_Release(This) (This)->lpVtbl->Release(This) |
| /*** IMFAttributes methods ***/ |
| #define IMFStreamDescriptor_GetItem(This,guidKey,pValue) (This)->lpVtbl->GetItem(This,guidKey,pValue) |
| #define IMFStreamDescriptor_GetItemType(This,guidKey,pType) (This)->lpVtbl->GetItemType(This,guidKey,pType) |
| #define IMFStreamDescriptor_CompareItem(This,guidKey,Value,pbResult) (This)->lpVtbl->CompareItem(This,guidKey,Value,pbResult) |
| #define IMFStreamDescriptor_Compare(This,pTheirs,MatchType,pbResult) (This)->lpVtbl->Compare(This,pTheirs,MatchType,pbResult) |
| #define IMFStreamDescriptor_GetUINT32(This,guidKey,punValue) (This)->lpVtbl->GetUINT32(This,guidKey,punValue) |
| #define IMFStreamDescriptor_GetUINT64(This,guidKey,punValue) (This)->lpVtbl->GetUINT64(This,guidKey,punValue) |
| #define IMFStreamDescriptor_GetDouble(This,guidKey,pfValue) (This)->lpVtbl->GetDouble(This,guidKey,pfValue) |
| #define IMFStreamDescriptor_GetGUID(This,guidKey,pguidValue) (This)->lpVtbl->GetGUID(This,guidKey,pguidValue) |
| #define IMFStreamDescriptor_GetStringLength(This,guidKey,pcchLength) (This)->lpVtbl->GetStringLength(This,guidKey,pcchLength) |
| #define IMFStreamDescriptor_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) (This)->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) |
| #define IMFStreamDescriptor_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) (This)->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength) |
| #define IMFStreamDescriptor_GetBlobSize(This,guidKey,pcbBlobSize) (This)->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize) |
| #define IMFStreamDescriptor_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) (This)->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) |
| #define IMFStreamDescriptor_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) (This)->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) |
| #define IMFStreamDescriptor_GetUnknown(This,guidKey,riid,ppv) (This)->lpVtbl->GetUnknown(This,guidKey,riid,ppv) |
| #define IMFStreamDescriptor_SetItem(This,guidKey,Value) (This)->lpVtbl->SetItem(This,guidKey,Value) |
| #define IMFStreamDescriptor_DeleteItem(This,guidKey) (This)->lpVtbl->DeleteItem(This,guidKey) |
| #define IMFStreamDescriptor_DeleteAllItems(This) (This)->lpVtbl->DeleteAllItems(This) |
| #define IMFStreamDescriptor_SetUINT32(This,guidKey,unValue) (This)->lpVtbl->SetUINT32(This,guidKey,unValue) |
| #define IMFStreamDescriptor_SetUINT64(This,guidKey,unValue) (This)->lpVtbl->SetUINT64(This,guidKey,unValue) |
| #define IMFStreamDescriptor_SetDouble(This,guidKey,fValue) (This)->lpVtbl->SetDouble(This,guidKey,fValue) |
| #define IMFStreamDescriptor_SetGUID(This,guidKey,guidValue) (This)->lpVtbl->SetGUID(This,guidKey,guidValue) |
| #define IMFStreamDescriptor_SetString(This,guidKey,wszValue) (This)->lpVtbl->SetString(This,guidKey,wszValue) |
| #define IMFStreamDescriptor_SetBlob(This,guidKey,pBuf,cbBufSize) (This)->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize) |
| #define IMFStreamDescriptor_SetUnknown(This,guidKey,pUnknown) (This)->lpVtbl->SetUnknown(This,guidKey,pUnknown) |
| #define IMFStreamDescriptor_LockStore(This) (This)->lpVtbl->LockStore(This) |
| #define IMFStreamDescriptor_UnlockStore(This) (This)->lpVtbl->UnlockStore(This) |
| #define IMFStreamDescriptor_GetCount(This,pcItems) (This)->lpVtbl->GetCount(This,pcItems) |
| #define IMFStreamDescriptor_GetItemByIndex(This,unIndex,pguidKey,pValue) (This)->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue) |
| #define IMFStreamDescriptor_CopyAllItems(This,pDest) (This)->lpVtbl->CopyAllItems(This,pDest) |
| /*** IMFStreamDescriptor methods ***/ |
| #define IMFStreamDescriptor_GetStreamIdentifier(This,pdwStreamIdentifier) (This)->lpVtbl->GetStreamIdentifier(This,pdwStreamIdentifier) |
| #define IMFStreamDescriptor_GetMediaTypeHandler(This,ppMediaTypeHandler) (This)->lpVtbl->GetMediaTypeHandler(This,ppMediaTypeHandler) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IMFStreamDescriptor_QueryInterface(IMFStreamDescriptor* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IMFStreamDescriptor_AddRef(IMFStreamDescriptor* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IMFStreamDescriptor_Release(IMFStreamDescriptor* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IMFAttributes methods ***/ |
| static FORCEINLINE HRESULT IMFStreamDescriptor_GetItem(IMFStreamDescriptor* This,REFGUID guidKey,PROPVARIANT *pValue) { |
| return This->lpVtbl->GetItem(This,guidKey,pValue); |
| } |
| static FORCEINLINE HRESULT IMFStreamDescriptor_GetItemType(IMFStreamDescriptor* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) { |
| return This->lpVtbl->GetItemType(This,guidKey,pType); |
| } |
| static FORCEINLINE HRESULT IMFStreamDescriptor_CompareItem(IMFStreamDescriptor* This,REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) { |
| return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult); |
| } |
| static FORCEINLINE HRESULT IMFStreamDescriptor_Compare(IMFStreamDescriptor* This,IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,WINBOOL *pbResult) { |
| return This->lpVtbl->Compare(This,pTheirs,MatchType,pbResult); |
| } |
| static FORCEINLINE HRESULT IMFStreamDescriptor_GetUINT32(IMFStreamDescriptor* This,REFGUID guidKey,UINT32 *punValue) { |
| return This->lpVtbl->GetUINT32(This,guidKey,punValue); |
| } |
| static FORCEINLINE HRESULT IMFStreamDescriptor_GetUINT64(IMFStreamDescriptor* This,REFGUID guidKey,UINT64 *punValue) { |
| return This->lpVtbl->GetUINT64(This,guidKey,punValue); |
| } |
| static FORCEINLINE HRESULT IMFStreamDescriptor_GetDouble(IMFStreamDescriptor* This,REFGUID guidKey,double *pfValue) { |
| return This->lpVtbl->GetDouble(This,guidKey,pfValue); |
| } |
| static FORCEINLINE HRESULT IMFStreamDescriptor_GetGUID(IMFStreamDescriptor* This,REFGUID guidKey,GUID *pguidValue) { |
| return This->lpVtbl->GetGUID(This,guidKey,pguidValue); |
| } |
| static FORCEINLINE HRESULT IMFStreamDescriptor_GetStringLength(IMFStreamDescriptor* This,REFGUID guidKey,UINT32 *pcchLength) { |
| return This->lpVtbl->GetStringLength(This,guidKey,pcchLength); |
| } |
| static FORCEINLINE HRESULT IMFStreamDescriptor_GetString(IMFStreamDescriptor* This,REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) { |
| return This->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength); |
| } |
| static FORCEINLINE HRESULT IMFStreamDescriptor_GetAllocatedString(IMFStreamDescriptor* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) { |
| return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength); |
| } |
| static FORCEINLINE HRESULT IMFStreamDescriptor_GetBlobSize(IMFStreamDescriptor* This,REFGUID guidKey,UINT32 *pcbBlobSize) { |
| return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize); |
| } |
| static FORCEINLINE HRESULT IMFStreamDescriptor_GetBlob(IMFStreamDescriptor* This,REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) { |
| return This->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize); |
| } |
| static FORCEINLINE HRESULT IMFStreamDescriptor_GetAllocatedBlob(IMFStreamDescriptor* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) { |
| return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize); |
| } |
| static FORCEINLINE HRESULT IMFStreamDescriptor_GetUnknown(IMFStreamDescriptor* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) { |
| return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv); |
| } |
| static FORCEINLINE HRESULT IMFStreamDescriptor_SetItem(IMFStreamDescriptor* This,REFGUID guidKey,REFPROPVARIANT Value) { |
| return This->lpVtbl->SetItem(This,guidKey,Value); |
| } |
| static FORCEINLINE HRESULT IMFStreamDescriptor_DeleteItem(IMFStreamDescriptor* This,REFGUID guidKey) { |
| return This->lpVtbl->DeleteItem(This,guidKey); |
| } |
| static FORCEINLINE HRESULT IMFStreamDescriptor_DeleteAllItems(IMFStreamDescriptor* This) { |
| return This->lpVtbl->DeleteAllItems(This); |
| } |
| static FORCEINLINE HRESULT IMFStreamDescriptor_SetUINT32(IMFStreamDescriptor* This,REFGUID guidKey,UINT32 unValue) { |
| return This->lpVtbl->SetUINT32(This,guidKey,unValue); |
| } |
| static FORCEINLINE HRESULT IMFStreamDescriptor_SetUINT64(IMFStreamDescriptor* This,REFGUID guidKey,UINT64 unValue) { |
| return This->lpVtbl->SetUINT64(This,guidKey,unValue); |
| } |
| static FORCEINLINE HRESULT IMFStreamDescriptor_SetDouble(IMFStreamDescriptor* This,REFGUID guidKey,double fValue) { |
| return This->lpVtbl->SetDouble(This,guidKey,fValue); |
| } |
| static FORCEINLINE HRESULT IMFStreamDescriptor_SetGUID(IMFStreamDescriptor* This,REFGUID guidKey,REFGUID guidValue) { |
| return This->lpVtbl->SetGUID(This,guidKey,guidValue); |
| } |
| static FORCEINLINE HRESULT IMFStreamDescriptor_SetString(IMFStreamDescriptor* This,REFGUID guidKey,LPCWSTR wszValue) { |
| return This->lpVtbl->SetString(This,guidKey,wszValue); |
| } |
| static FORCEINLINE HRESULT IMFStreamDescriptor_SetBlob(IMFStreamDescriptor* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) { |
| return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize); |
| } |
| static FORCEINLINE HRESULT IMFStreamDescriptor_SetUnknown(IMFStreamDescriptor* This,REFGUID guidKey,IUnknown *pUnknown) { |
| return This->lpVtbl->SetUnknown(This,guidKey,pUnknown); |
| } |
| static FORCEINLINE HRESULT IMFStreamDescriptor_LockStore(IMFStreamDescriptor* This) { |
| return This->lpVtbl->LockStore(This); |
| } |
| static FORCEINLINE HRESULT IMFStreamDescriptor_UnlockStore(IMFStreamDescriptor* This) { |
| return This->lpVtbl->UnlockStore(This); |
| } |
| static FORCEINLINE HRESULT IMFStreamDescriptor_GetCount(IMFStreamDescriptor* This,UINT32 *pcItems) { |
| return This->lpVtbl->GetCount(This,pcItems); |
| } |
| static FORCEINLINE HRESULT IMFStreamDescriptor_GetItemByIndex(IMFStreamDescriptor* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) { |
| return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue); |
| } |
| static FORCEINLINE HRESULT IMFStreamDescriptor_CopyAllItems(IMFStreamDescriptor* This,IMFAttributes *pDest) { |
| return This->lpVtbl->CopyAllItems(This,pDest); |
| } |
| /*** IMFStreamDescriptor methods ***/ |
| static FORCEINLINE HRESULT IMFStreamDescriptor_GetStreamIdentifier(IMFStreamDescriptor* This,DWORD *pdwStreamIdentifier) { |
| return This->lpVtbl->GetStreamIdentifier(This,pdwStreamIdentifier); |
| } |
| static FORCEINLINE HRESULT IMFStreamDescriptor_GetMediaTypeHandler(IMFStreamDescriptor* This,IMFMediaTypeHandler **ppMediaTypeHandler) { |
| return This->lpVtbl->GetMediaTypeHandler(This,ppMediaTypeHandler); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| |
| #endif /* __IMFStreamDescriptor_INTERFACE_DEFINED__ */ |
| |
| /***************************************************************************** |
| * IMFPresentationDescriptor interface |
| */ |
| #ifndef __IMFPresentationDescriptor_INTERFACE_DEFINED__ |
| #define __IMFPresentationDescriptor_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IMFPresentationDescriptor, 0x03cb2711, 0x24d7, 0x4db6, 0xa1,0x7f, 0xf3,0xa7,0xa4,0x79,0xa5,0x36); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("03cb2711-24d7-4db6-a17f-f3a7a479a536") |
| IMFPresentationDescriptor : public IMFAttributes |
| { |
| virtual HRESULT STDMETHODCALLTYPE GetStreamDescriptorCount( |
| DWORD *pdwDescriptorCount) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetStreamDescriptorByIndex( |
| DWORD dwIndex, |
| WINBOOL *pfSelected, |
| IMFStreamDescriptor **ppDescriptor) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SelectStream( |
| DWORD dwDescriptorIndex) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE DeselectStream( |
| DWORD dwDescriptorIndex) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Clone( |
| IMFPresentationDescriptor **ppPresentationDescriptor) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IMFPresentationDescriptor, 0x03cb2711, 0x24d7, 0x4db6, 0xa1,0x7f, 0xf3,0xa7,0xa4,0x79,0xa5,0x36) |
| #endif |
| #else |
| typedef struct IMFPresentationDescriptorVtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IMFPresentationDescriptor *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IMFPresentationDescriptor *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IMFPresentationDescriptor *This); |
| |
| /*** IMFAttributes methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetItem)( |
| IMFPresentationDescriptor *This, |
| REFGUID guidKey, |
| PROPVARIANT *pValue); |
| |
| HRESULT (STDMETHODCALLTYPE *GetItemType)( |
| IMFPresentationDescriptor *This, |
| REFGUID guidKey, |
| MF_ATTRIBUTE_TYPE *pType); |
| |
| HRESULT (STDMETHODCALLTYPE *CompareItem)( |
| IMFPresentationDescriptor *This, |
| REFGUID guidKey, |
| REFPROPVARIANT Value, |
| WINBOOL *pbResult); |
| |
| HRESULT (STDMETHODCALLTYPE *Compare)( |
| IMFPresentationDescriptor *This, |
| IMFAttributes *pTheirs, |
| MF_ATTRIBUTES_MATCH_TYPE MatchType, |
| WINBOOL *pbResult); |
| |
| HRESULT (STDMETHODCALLTYPE *GetUINT32)( |
| IMFPresentationDescriptor *This, |
| REFGUID guidKey, |
| UINT32 *punValue); |
| |
| HRESULT (STDMETHODCALLTYPE *GetUINT64)( |
| IMFPresentationDescriptor *This, |
| REFGUID guidKey, |
| UINT64 *punValue); |
| |
| HRESULT (STDMETHODCALLTYPE *GetDouble)( |
| IMFPresentationDescriptor *This, |
| REFGUID guidKey, |
| double *pfValue); |
| |
| HRESULT (STDMETHODCALLTYPE *GetGUID)( |
| IMFPresentationDescriptor *This, |
| REFGUID guidKey, |
| GUID *pguidValue); |
| |
| HRESULT (STDMETHODCALLTYPE *GetStringLength)( |
| IMFPresentationDescriptor *This, |
| REFGUID guidKey, |
| UINT32 *pcchLength); |
| |
| HRESULT (STDMETHODCALLTYPE *GetString)( |
| IMFPresentationDescriptor *This, |
| REFGUID guidKey, |
| LPWSTR pwszValue, |
| UINT32 cchBufSize, |
| UINT32 *pcchLength); |
| |
| HRESULT (STDMETHODCALLTYPE *GetAllocatedString)( |
| IMFPresentationDescriptor *This, |
| REFGUID guidKey, |
| LPWSTR *ppwszValue, |
| UINT32 *pcchLength); |
| |
| HRESULT (STDMETHODCALLTYPE *GetBlobSize)( |
| IMFPresentationDescriptor *This, |
| REFGUID guidKey, |
| UINT32 *pcbBlobSize); |
| |
| HRESULT (STDMETHODCALLTYPE *GetBlob)( |
| IMFPresentationDescriptor *This, |
| REFGUID guidKey, |
| UINT8 *pBuf, |
| UINT32 cbBufSize, |
| UINT32 *pcbBlobSize); |
| |
| HRESULT (STDMETHODCALLTYPE *GetAllocatedBlob)( |
| IMFPresentationDescriptor *This, |
| REFGUID guidKey, |
| UINT8 **ppBuf, |
| UINT32 *pcbSize); |
| |
| HRESULT (STDMETHODCALLTYPE *GetUnknown)( |
| IMFPresentationDescriptor *This, |
| REFGUID guidKey, |
| REFIID riid, |
| LPVOID *ppv); |
| |
| HRESULT (STDMETHODCALLTYPE *SetItem)( |
| IMFPresentationDescriptor *This, |
| REFGUID guidKey, |
| REFPROPVARIANT Value); |
| |
| HRESULT (STDMETHODCALLTYPE *DeleteItem)( |
| IMFPresentationDescriptor *This, |
| REFGUID guidKey); |
| |
| HRESULT (STDMETHODCALLTYPE *DeleteAllItems)( |
| IMFPresentationDescriptor *This); |
| |
| HRESULT (STDMETHODCALLTYPE *SetUINT32)( |
| IMFPresentationDescriptor *This, |
| REFGUID guidKey, |
| UINT32 unValue); |
| |
| HRESULT (STDMETHODCALLTYPE *SetUINT64)( |
| IMFPresentationDescriptor *This, |
| REFGUID guidKey, |
| UINT64 unValue); |
| |
| HRESULT (STDMETHODCALLTYPE *SetDouble)( |
| IMFPresentationDescriptor *This, |
| REFGUID guidKey, |
| double fValue); |
| |
| HRESULT (STDMETHODCALLTYPE *SetGUID)( |
| IMFPresentationDescriptor *This, |
| REFGUID guidKey, |
| REFGUID guidValue); |
| |
| HRESULT (STDMETHODCALLTYPE *SetString)( |
| IMFPresentationDescriptor *This, |
| REFGUID guidKey, |
| LPCWSTR wszValue); |
| |
| HRESULT (STDMETHODCALLTYPE *SetBlob)( |
| IMFPresentationDescriptor *This, |
| REFGUID guidKey, |
| const UINT8 *pBuf, |
| UINT32 cbBufSize); |
| |
| HRESULT (STDMETHODCALLTYPE *SetUnknown)( |
| IMFPresentationDescriptor *This, |
| REFGUID guidKey, |
| IUnknown *pUnknown); |
| |
| HRESULT (STDMETHODCALLTYPE *LockStore)( |
| IMFPresentationDescriptor *This); |
| |
| HRESULT (STDMETHODCALLTYPE *UnlockStore)( |
| IMFPresentationDescriptor *This); |
| |
| HRESULT (STDMETHODCALLTYPE *GetCount)( |
| IMFPresentationDescriptor *This, |
| UINT32 *pcItems); |
| |
| HRESULT (STDMETHODCALLTYPE *GetItemByIndex)( |
| IMFPresentationDescriptor *This, |
| UINT32 unIndex, |
| GUID *pguidKey, |
| PROPVARIANT *pValue); |
| |
| HRESULT (STDMETHODCALLTYPE *CopyAllItems)( |
| IMFPresentationDescriptor *This, |
| IMFAttributes *pDest); |
| |
| /*** IMFPresentationDescriptor methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetStreamDescriptorCount)( |
| IMFPresentationDescriptor *This, |
| DWORD *pdwDescriptorCount); |
| |
| HRESULT (STDMETHODCALLTYPE *GetStreamDescriptorByIndex)( |
| IMFPresentationDescriptor *This, |
| DWORD dwIndex, |
| WINBOOL *pfSelected, |
| IMFStreamDescriptor **ppDescriptor); |
| |
| HRESULT (STDMETHODCALLTYPE *SelectStream)( |
| IMFPresentationDescriptor *This, |
| DWORD dwDescriptorIndex); |
| |
| HRESULT (STDMETHODCALLTYPE *DeselectStream)( |
| IMFPresentationDescriptor *This, |
| DWORD dwDescriptorIndex); |
| |
| HRESULT (STDMETHODCALLTYPE *Clone)( |
| IMFPresentationDescriptor *This, |
| IMFPresentationDescriptor **ppPresentationDescriptor); |
| |
| END_INTERFACE |
| } IMFPresentationDescriptorVtbl; |
| |
| interface IMFPresentationDescriptor { |
| CONST_VTBL IMFPresentationDescriptorVtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IMFPresentationDescriptor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMFPresentationDescriptor_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IMFPresentationDescriptor_Release(This) (This)->lpVtbl->Release(This) |
| /*** IMFAttributes methods ***/ |
| #define IMFPresentationDescriptor_GetItem(This,guidKey,pValue) (This)->lpVtbl->GetItem(This,guidKey,pValue) |
| #define IMFPresentationDescriptor_GetItemType(This,guidKey,pType) (This)->lpVtbl->GetItemType(This,guidKey,pType) |
| #define IMFPresentationDescriptor_CompareItem(This,guidKey,Value,pbResult) (This)->lpVtbl->CompareItem(This,guidKey,Value,pbResult) |
| #define IMFPresentationDescriptor_Compare(This,pTheirs,MatchType,pbResult) (This)->lpVtbl->Compare(This,pTheirs,MatchType,pbResult) |
| #define IMFPresentationDescriptor_GetUINT32(This,guidKey,punValue) (This)->lpVtbl->GetUINT32(This,guidKey,punValue) |
| #define IMFPresentationDescriptor_GetUINT64(This,guidKey,punValue) (This)->lpVtbl->GetUINT64(This,guidKey,punValue) |
| #define IMFPresentationDescriptor_GetDouble(This,guidKey,pfValue) (This)->lpVtbl->GetDouble(This,guidKey,pfValue) |
| #define IMFPresentationDescriptor_GetGUID(This,guidKey,pguidValue) (This)->lpVtbl->GetGUID(This,guidKey,pguidValue) |
| #define IMFPresentationDescriptor_GetStringLength(This,guidKey,pcchLength) (This)->lpVtbl->GetStringLength(This,guidKey,pcchLength) |
| #define IMFPresentationDescriptor_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) (This)->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) |
| #define IMFPresentationDescriptor_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) (This)->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength) |
| #define IMFPresentationDescriptor_GetBlobSize(This,guidKey,pcbBlobSize) (This)->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize) |
| #define IMFPresentationDescriptor_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) (This)->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) |
| #define IMFPresentationDescriptor_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) (This)->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) |
| #define IMFPresentationDescriptor_GetUnknown(This,guidKey,riid,ppv) (This)->lpVtbl->GetUnknown(This,guidKey,riid,ppv) |
| #define IMFPresentationDescriptor_SetItem(This,guidKey,Value) (This)->lpVtbl->SetItem(This,guidKey,Value) |
| #define IMFPresentationDescriptor_DeleteItem(This,guidKey) (This)->lpVtbl->DeleteItem(This,guidKey) |
| #define IMFPresentationDescriptor_DeleteAllItems(This) (This)->lpVtbl->DeleteAllItems(This) |
| #define IMFPresentationDescriptor_SetUINT32(This,guidKey,unValue) (This)->lpVtbl->SetUINT32(This,guidKey,unValue) |
| #define IMFPresentationDescriptor_SetUINT64(This,guidKey,unValue) (This)->lpVtbl->SetUINT64(This,guidKey,unValue) |
| #define IMFPresentationDescriptor_SetDouble(This,guidKey,fValue) (This)->lpVtbl->SetDouble(This,guidKey,fValue) |
| #define IMFPresentationDescriptor_SetGUID(This,guidKey,guidValue) (This)->lpVtbl->SetGUID(This,guidKey,guidValue) |
| #define IMFPresentationDescriptor_SetString(This,guidKey,wszValue) (This)->lpVtbl->SetString(This,guidKey,wszValue) |
| #define IMFPresentationDescriptor_SetBlob(This,guidKey,pBuf,cbBufSize) (This)->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize) |
| #define IMFPresentationDescriptor_SetUnknown(This,guidKey,pUnknown) (This)->lpVtbl->SetUnknown(This,guidKey,pUnknown) |
| #define IMFPresentationDescriptor_LockStore(This) (This)->lpVtbl->LockStore(This) |
| #define IMFPresentationDescriptor_UnlockStore(This) (This)->lpVtbl->UnlockStore(This) |
| #define IMFPresentationDescriptor_GetCount(This,pcItems) (This)->lpVtbl->GetCount(This,pcItems) |
| #define IMFPresentationDescriptor_GetItemByIndex(This,unIndex,pguidKey,pValue) (This)->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue) |
| #define IMFPresentationDescriptor_CopyAllItems(This,pDest) (This)->lpVtbl->CopyAllItems(This,pDest) |
| /*** IMFPresentationDescriptor methods ***/ |
| #define IMFPresentationDescriptor_GetStreamDescriptorCount(This,pdwDescriptorCount) (This)->lpVtbl->GetStreamDescriptorCount(This,pdwDescriptorCount) |
| #define IMFPresentationDescriptor_GetStreamDescriptorByIndex(This,dwIndex,pfSelected,ppDescriptor) (This)->lpVtbl->GetStreamDescriptorByIndex(This,dwIndex,pfSelected,ppDescriptor) |
| #define IMFPresentationDescriptor_SelectStream(This,dwDescriptorIndex) (This)->lpVtbl->SelectStream(This,dwDescriptorIndex) |
| #define IMFPresentationDescriptor_DeselectStream(This,dwDescriptorIndex) (This)->lpVtbl->DeselectStream(This,dwDescriptorIndex) |
| #define IMFPresentationDescriptor_Clone(This,ppPresentationDescriptor) (This)->lpVtbl->Clone(This,ppPresentationDescriptor) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IMFPresentationDescriptor_QueryInterface(IMFPresentationDescriptor* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IMFPresentationDescriptor_AddRef(IMFPresentationDescriptor* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IMFPresentationDescriptor_Release(IMFPresentationDescriptor* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IMFAttributes methods ***/ |
| static FORCEINLINE HRESULT IMFPresentationDescriptor_GetItem(IMFPresentationDescriptor* This,REFGUID guidKey,PROPVARIANT *pValue) { |
| return This->lpVtbl->GetItem(This,guidKey,pValue); |
| } |
| static FORCEINLINE HRESULT IMFPresentationDescriptor_GetItemType(IMFPresentationDescriptor* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) { |
| return This->lpVtbl->GetItemType(This,guidKey,pType); |
| } |
| static FORCEINLINE HRESULT IMFPresentationDescriptor_CompareItem(IMFPresentationDescriptor* This,REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) { |
| return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult); |
| } |
| static FORCEINLINE HRESULT IMFPresentationDescriptor_Compare(IMFPresentationDescriptor* This,IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,WINBOOL *pbResult) { |
| return This->lpVtbl->Compare(This,pTheirs,MatchType,pbResult); |
| } |
| static FORCEINLINE HRESULT IMFPresentationDescriptor_GetUINT32(IMFPresentationDescriptor* This,REFGUID guidKey,UINT32 *punValue) { |
| return This->lpVtbl->GetUINT32(This,guidKey,punValue); |
| } |
| static FORCEINLINE HRESULT IMFPresentationDescriptor_GetUINT64(IMFPresentationDescriptor* This,REFGUID guidKey,UINT64 *punValue) { |
| return This->lpVtbl->GetUINT64(This,guidKey,punValue); |
| } |
| static FORCEINLINE HRESULT IMFPresentationDescriptor_GetDouble(IMFPresentationDescriptor* This,REFGUID guidKey,double *pfValue) { |
| return This->lpVtbl->GetDouble(This,guidKey,pfValue); |
| } |
| static FORCEINLINE HRESULT IMFPresentationDescriptor_GetGUID(IMFPresentationDescriptor* This,REFGUID guidKey,GUID *pguidValue) { |
| return This->lpVtbl->GetGUID(This,guidKey,pguidValue); |
| } |
| static FORCEINLINE HRESULT IMFPresentationDescriptor_GetStringLength(IMFPresentationDescriptor* This,REFGUID guidKey,UINT32 *pcchLength) { |
| return This->lpVtbl->GetStringLength(This,guidKey,pcchLength); |
| } |
| static FORCEINLINE HRESULT IMFPresentationDescriptor_GetString(IMFPresentationDescriptor* This,REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) { |
| return This->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength); |
| } |
| static FORCEINLINE HRESULT IMFPresentationDescriptor_GetAllocatedString(IMFPresentationDescriptor* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) { |
| return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength); |
| } |
| static FORCEINLINE HRESULT IMFPresentationDescriptor_GetBlobSize(IMFPresentationDescriptor* This,REFGUID guidKey,UINT32 *pcbBlobSize) { |
| return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize); |
| } |
| static FORCEINLINE HRESULT IMFPresentationDescriptor_GetBlob(IMFPresentationDescriptor* This,REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) { |
| return This->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize); |
| } |
| static FORCEINLINE HRESULT IMFPresentationDescriptor_GetAllocatedBlob(IMFPresentationDescriptor* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) { |
| return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize); |
| } |
| static FORCEINLINE HRESULT IMFPresentationDescriptor_GetUnknown(IMFPresentationDescriptor* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) { |
| return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv); |
| } |
| static FORCEINLINE HRESULT IMFPresentationDescriptor_SetItem(IMFPresentationDescriptor* This,REFGUID guidKey,REFPROPVARIANT Value) { |
| return This->lpVtbl->SetItem(This,guidKey,Value); |
| } |
| static FORCEINLINE HRESULT IMFPresentationDescriptor_DeleteItem(IMFPresentationDescriptor* This,REFGUID guidKey) { |
| return This->lpVtbl->DeleteItem(This,guidKey); |
| } |
| static FORCEINLINE HRESULT IMFPresentationDescriptor_DeleteAllItems(IMFPresentationDescriptor* This) { |
| return This->lpVtbl->DeleteAllItems(This); |
| } |
| static FORCEINLINE HRESULT IMFPresentationDescriptor_SetUINT32(IMFPresentationDescriptor* This,REFGUID guidKey,UINT32 unValue) { |
| return This->lpVtbl->SetUINT32(This,guidKey,unValue); |
| } |
| static FORCEINLINE HRESULT IMFPresentationDescriptor_SetUINT64(IMFPresentationDescriptor* This,REFGUID guidKey,UINT64 unValue) { |
| return This->lpVtbl->SetUINT64(This,guidKey,unValue); |
| } |
| static FORCEINLINE HRESULT IMFPresentationDescriptor_SetDouble(IMFPresentationDescriptor* This,REFGUID guidKey,double fValue) { |
| return This->lpVtbl->SetDouble(This,guidKey,fValue); |
| } |
| static FORCEINLINE HRESULT IMFPresentationDescriptor_SetGUID(IMFPresentationDescriptor* This,REFGUID guidKey,REFGUID guidValue) { |
| return This->lpVtbl->SetGUID(This,guidKey,guidValue); |
| } |
| static FORCEINLINE HRESULT IMFPresentationDescriptor_SetString(IMFPresentationDescriptor* This,REFGUID guidKey,LPCWSTR wszValue) { |
| return This->lpVtbl->SetString(This,guidKey,wszValue); |
| } |
| static FORCEINLINE HRESULT IMFPresentationDescriptor_SetBlob(IMFPresentationDescriptor* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) { |
| return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize); |
| } |
| static FORCEINLINE HRESULT IMFPresentationDescriptor_SetUnknown(IMFPresentationDescriptor* This,REFGUID guidKey,IUnknown *pUnknown) { |
| return This->lpVtbl->SetUnknown(This,guidKey,pUnknown); |
| } |
| static FORCEINLINE HRESULT IMFPresentationDescriptor_LockStore(IMFPresentationDescriptor* This) { |
| return This->lpVtbl->LockStore(This); |
| } |
| static FORCEINLINE HRESULT IMFPresentationDescriptor_UnlockStore(IMFPresentationDescriptor* This) { |
| return This->lpVtbl->UnlockStore(This); |
| } |
| static FORCEINLINE HRESULT IMFPresentationDescriptor_GetCount(IMFPresentationDescriptor* This,UINT32 *pcItems) { |
| return This->lpVtbl->GetCount(This,pcItems); |
| } |
| static FORCEINLINE HRESULT IMFPresentationDescriptor_GetItemByIndex(IMFPresentationDescriptor* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) { |
| return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue); |
| } |
| static FORCEINLINE HRESULT IMFPresentationDescriptor_CopyAllItems(IMFPresentationDescriptor* This,IMFAttributes *pDest) { |
| return This->lpVtbl->CopyAllItems(This,pDest); |
| } |
| /*** IMFPresentationDescriptor methods ***/ |
| static FORCEINLINE HRESULT IMFPresentationDescriptor_GetStreamDescriptorCount(IMFPresentationDescriptor* This,DWORD *pdwDescriptorCount) { |
| return This->lpVtbl->GetStreamDescriptorCount(This,pdwDescriptorCount); |
| } |
| static FORCEINLINE HRESULT IMFPresentationDescriptor_GetStreamDescriptorByIndex(IMFPresentationDescriptor* This,DWORD dwIndex,WINBOOL *pfSelected,IMFStreamDescriptor **ppDescriptor) { |
| return This->lpVtbl->GetStreamDescriptorByIndex(This,dwIndex,pfSelected,ppDescriptor); |
| } |
| static FORCEINLINE HRESULT IMFPresentationDescriptor_SelectStream(IMFPresentationDescriptor* This,DWORD dwDescriptorIndex) { |
| return This->lpVtbl->SelectStream(This,dwDescriptorIndex); |
| } |
| static FORCEINLINE HRESULT IMFPresentationDescriptor_DeselectStream(IMFPresentationDescriptor* This,DWORD dwDescriptorIndex) { |
| return This->lpVtbl->DeselectStream(This,dwDescriptorIndex); |
| } |
| static FORCEINLINE HRESULT IMFPresentationDescriptor_Clone(IMFPresentationDescriptor* This,IMFPresentationDescriptor **ppPresentationDescriptor) { |
| return This->lpVtbl->Clone(This,ppPresentationDescriptor); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| |
| #endif /* __IMFPresentationDescriptor_INTERFACE_DEFINED__ */ |
| |
| /***************************************************************************** |
| * IMFMediaSource interface |
| */ |
| #ifndef __IMFMediaSource_INTERFACE_DEFINED__ |
| #define __IMFMediaSource_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IMFMediaSource, 0x279a808d, 0xaec7, 0x40c8, 0x9c,0x6b, 0xa6,0xb4,0x92,0xc7,0x8a,0x66); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("279a808d-aec7-40c8-9c6b-a6b492c78a66") |
| IMFMediaSource : public IMFMediaEventGenerator |
| { |
| virtual HRESULT STDMETHODCALLTYPE GetCharacteristics( |
| DWORD *pdwCharacteristics) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE CreatePresentationDescriptor( |
| IMFPresentationDescriptor **ppPresentationDescriptor) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Start( |
| IMFPresentationDescriptor *pPresentationDescriptor, |
| const GUID *pguidTimeFormat, |
| const PROPVARIANT *pvarStartPosition) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Stop( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Pause( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Shutdown( |
| ) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IMFMediaSource, 0x279a808d, 0xaec7, 0x40c8, 0x9c,0x6b, 0xa6,0xb4,0x92,0xc7,0x8a,0x66) |
| #endif |
| #else |
| typedef struct IMFMediaSourceVtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IMFMediaSource *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IMFMediaSource *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IMFMediaSource *This); |
| |
| /*** IMFMediaEventGenerator methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetEvent)( |
| IMFMediaSource *This, |
| DWORD dwFlags, |
| IMFMediaEvent **ppEvent); |
| |
| HRESULT (STDMETHODCALLTYPE *BeginGetEvent)( |
| IMFMediaSource *This, |
| IMFAsyncCallback *pCallback, |
| IUnknown *punkState); |
| |
| HRESULT (STDMETHODCALLTYPE *EndGetEvent)( |
| IMFMediaSource *This, |
| IMFAsyncResult *pResult, |
| IMFMediaEvent **ppEvent); |
| |
| HRESULT (STDMETHODCALLTYPE *QueueEvent)( |
| IMFMediaSource *This, |
| MediaEventType met, |
| REFGUID guidExtendedType, |
| HRESULT hrStatus, |
| const PROPVARIANT *pvValue); |
| |
| /*** IMFMediaSource methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetCharacteristics)( |
| IMFMediaSource *This, |
| DWORD *pdwCharacteristics); |
| |
| HRESULT (STDMETHODCALLTYPE *CreatePresentationDescriptor)( |
| IMFMediaSource *This, |
| IMFPresentationDescriptor **ppPresentationDescriptor); |
| |
| HRESULT (STDMETHODCALLTYPE *Start)( |
| IMFMediaSource *This, |
| IMFPresentationDescriptor *pPresentationDescriptor, |
| const GUID *pguidTimeFormat, |
| const PROPVARIANT *pvarStartPosition); |
| |
| HRESULT (STDMETHODCALLTYPE *Stop)( |
| IMFMediaSource *This); |
| |
| HRESULT (STDMETHODCALLTYPE *Pause)( |
| IMFMediaSource *This); |
| |
| HRESULT (STDMETHODCALLTYPE *Shutdown)( |
| IMFMediaSource *This); |
| |
| END_INTERFACE |
| } IMFMediaSourceVtbl; |
| |
| interface IMFMediaSource { |
| CONST_VTBL IMFMediaSourceVtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IMFMediaSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMFMediaSource_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IMFMediaSource_Release(This) (This)->lpVtbl->Release(This) |
| /*** IMFMediaEventGenerator methods ***/ |
| #define IMFMediaSource_GetEvent(This,dwFlags,ppEvent) (This)->lpVtbl->GetEvent(This,dwFlags,ppEvent) |
| #define IMFMediaSource_BeginGetEvent(This,pCallback,punkState) (This)->lpVtbl->BeginGetEvent(This,pCallback,punkState) |
| #define IMFMediaSource_EndGetEvent(This,pResult,ppEvent) (This)->lpVtbl->EndGetEvent(This,pResult,ppEvent) |
| #define IMFMediaSource_QueueEvent(This,met,guidExtendedType,hrStatus,pvValue) (This)->lpVtbl->QueueEvent(This,met,guidExtendedType,hrStatus,pvValue) |
| /*** IMFMediaSource methods ***/ |
| #define IMFMediaSource_GetCharacteristics(This,pdwCharacteristics) (This)->lpVtbl->GetCharacteristics(This,pdwCharacteristics) |
| #define IMFMediaSource_CreatePresentationDescriptor(This,ppPresentationDescriptor) (This)->lpVtbl->CreatePresentationDescriptor(This,ppPresentationDescriptor) |
| #define IMFMediaSource_Start(This,pPresentationDescriptor,pguidTimeFormat,pvarStartPosition) (This)->lpVtbl->Start(This,pPresentationDescriptor,pguidTimeFormat,pvarStartPosition) |
| #define IMFMediaSource_Stop(This) (This)->lpVtbl->Stop(This) |
| #define IMFMediaSource_Pause(This) (This)->lpVtbl->Pause(This) |
| #define IMFMediaSource_Shutdown(This) (This)->lpVtbl->Shutdown(This) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IMFMediaSource_QueryInterface(IMFMediaSource* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IMFMediaSource_AddRef(IMFMediaSource* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IMFMediaSource_Release(IMFMediaSource* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IMFMediaEventGenerator methods ***/ |
| static FORCEINLINE HRESULT IMFMediaSource_GetEvent(IMFMediaSource* This,DWORD dwFlags,IMFMediaEvent **ppEvent) { |
| return This->lpVtbl->GetEvent(This,dwFlags,ppEvent); |
| } |
| static FORCEINLINE HRESULT IMFMediaSource_BeginGetEvent(IMFMediaSource* This,IMFAsyncCallback *pCallback,IUnknown *punkState) { |
| return This->lpVtbl->BeginGetEvent(This,pCallback,punkState); |
| } |
| static FORCEINLINE HRESULT IMFMediaSource_EndGetEvent(IMFMediaSource* This,IMFAsyncResult *pResult,IMFMediaEvent **ppEvent) { |
| return This->lpVtbl->EndGetEvent(This,pResult,ppEvent); |
| } |
| static FORCEINLINE HRESULT IMFMediaSource_QueueEvent(IMFMediaSource* This,MediaEventType met,REFGUID guidExtendedType,HRESULT hrStatus,const PROPVARIANT *pvValue) { |
| return This->lpVtbl->QueueEvent(This,met,guidExtendedType,hrStatus,pvValue); |
| } |
| /*** IMFMediaSource methods ***/ |
| static FORCEINLINE HRESULT IMFMediaSource_GetCharacteristics(IMFMediaSource* This,DWORD *pdwCharacteristics) { |
| return This->lpVtbl->GetCharacteristics(This,pdwCharacteristics); |
| } |
| static FORCEINLINE HRESULT IMFMediaSource_CreatePresentationDescriptor(IMFMediaSource* This,IMFPresentationDescriptor **ppPresentationDescriptor) { |
| return This->lpVtbl->CreatePresentationDescriptor(This,ppPresentationDescriptor); |
| } |
| static FORCEINLINE HRESULT IMFMediaSource_Start(IMFMediaSource* This,IMFPresentationDescriptor *pPresentationDescriptor,const GUID *pguidTimeFormat,const PROPVARIANT *pvarStartPosition) { |
| return This->lpVtbl->Start(This,pPresentationDescriptor,pguidTimeFormat,pvarStartPosition); |
| } |
| static FORCEINLINE HRESULT IMFMediaSource_Stop(IMFMediaSource* This) { |
| return This->lpVtbl->Stop(This); |
| } |
| static FORCEINLINE HRESULT IMFMediaSource_Pause(IMFMediaSource* This) { |
| return This->lpVtbl->Pause(This); |
| } |
| static FORCEINLINE HRESULT IMFMediaSource_Shutdown(IMFMediaSource* This) { |
| return This->lpVtbl->Shutdown(This); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| HRESULT STDMETHODCALLTYPE IMFMediaSource_RemoteCreatePresentationDescriptor_Proxy( |
| IMFMediaSource* This, |
| DWORD *pcbPD, |
| BYTE **pbPD, |
| IMFPresentationDescriptor **ppRemotePD); |
| void __RPC_STUB IMFMediaSource_RemoteCreatePresentationDescriptor_Stub( |
| IRpcStubBuffer* This, |
| IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMFMediaSource_CreatePresentationDescriptor_Proxy( |
| IMFMediaSource* This, |
| IMFPresentationDescriptor **ppPresentationDescriptor); |
| HRESULT __RPC_STUB IMFMediaSource_CreatePresentationDescriptor_Stub( |
| IMFMediaSource* This, |
| DWORD *pcbPD, |
| BYTE **pbPD, |
| IMFPresentationDescriptor **ppRemotePD); |
| |
| #endif /* __IMFMediaSource_INTERFACE_DEFINED__ */ |
| |
| typedef struct _MF_LEAKY_BUCKET_PAIR { |
| DWORD dwBitrate; |
| DWORD msBufferWindow; |
| } MF_LEAKY_BUCKET_PAIR; |
| typedef struct _MFBYTESTREAM_BUFFERING_PARAMS { |
| QWORD cbTotalFileSize; |
| QWORD cbPlayableDataSize; |
| MF_LEAKY_BUCKET_PAIR *prgBuckets; |
| DWORD cBuckets; |
| QWORD qwNetBufferingTime; |
| QWORD qwExtraBufferingTimeDuringSeek; |
| QWORD qwPlayDuration; |
| float dRate; |
| } MFBYTESTREAM_BUFFERING_PARAMS; |
| /***************************************************************************** |
| * IMFByteStreamBuffering interface |
| */ |
| #ifndef __IMFByteStreamBuffering_INTERFACE_DEFINED__ |
| #define __IMFByteStreamBuffering_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IMFByteStreamBuffering, 0x6d66d782, 0x1d4f, 0x4db7, 0x8c,0x63, 0xcb,0x8c,0x77,0xf1,0xef,0x5e); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("6d66d782-1d4f-4db7-8c63-cb8c77f1ef5e") |
| IMFByteStreamBuffering : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE SetBufferingParams( |
| MFBYTESTREAM_BUFFERING_PARAMS *pParams) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE EnableBuffering( |
| WINBOOL fEnable) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE StopBuffering( |
| ) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IMFByteStreamBuffering, 0x6d66d782, 0x1d4f, 0x4db7, 0x8c,0x63, 0xcb,0x8c,0x77,0xf1,0xef,0x5e) |
| #endif |
| #else |
| typedef struct IMFByteStreamBufferingVtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IMFByteStreamBuffering *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IMFByteStreamBuffering *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IMFByteStreamBuffering *This); |
| |
| /*** IMFByteStreamBuffering methods ***/ |
| HRESULT (STDMETHODCALLTYPE *SetBufferingParams)( |
| IMFByteStreamBuffering *This, |
| MFBYTESTREAM_BUFFERING_PARAMS *pParams); |
| |
| HRESULT (STDMETHODCALLTYPE *EnableBuffering)( |
| IMFByteStreamBuffering *This, |
| WINBOOL fEnable); |
| |
| HRESULT (STDMETHODCALLTYPE *StopBuffering)( |
| IMFByteStreamBuffering *This); |
| |
| END_INTERFACE |
| } IMFByteStreamBufferingVtbl; |
| |
| interface IMFByteStreamBuffering { |
| CONST_VTBL IMFByteStreamBufferingVtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IMFByteStreamBuffering_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMFByteStreamBuffering_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IMFByteStreamBuffering_Release(This) (This)->lpVtbl->Release(This) |
| /*** IMFByteStreamBuffering methods ***/ |
| #define IMFByteStreamBuffering_SetBufferingParams(This,pParams) (This)->lpVtbl->SetBufferingParams(This,pParams) |
| #define IMFByteStreamBuffering_EnableBuffering(This,fEnable) (This)->lpVtbl->EnableBuffering(This,fEnable) |
| #define IMFByteStreamBuffering_StopBuffering(This) (This)->lpVtbl->StopBuffering(This) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IMFByteStreamBuffering_QueryInterface(IMFByteStreamBuffering* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IMFByteStreamBuffering_AddRef(IMFByteStreamBuffering* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IMFByteStreamBuffering_Release(IMFByteStreamBuffering* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IMFByteStreamBuffering methods ***/ |
| static FORCEINLINE HRESULT IMFByteStreamBuffering_SetBufferingParams(IMFByteStreamBuffering* This,MFBYTESTREAM_BUFFERING_PARAMS *pParams) { |
| return This->lpVtbl->SetBufferingParams(This,pParams); |
| } |
| static FORCEINLINE HRESULT IMFByteStreamBuffering_EnableBuffering(IMFByteStreamBuffering* This,WINBOOL fEnable) { |
| return This->lpVtbl->EnableBuffering(This,fEnable); |
| } |
| static FORCEINLINE HRESULT IMFByteStreamBuffering_StopBuffering(IMFByteStreamBuffering* This) { |
| return This->lpVtbl->StopBuffering(This); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| |
| #endif /* __IMFByteStreamBuffering_INTERFACE_DEFINED__ */ |
| |
| /***************************************************************************** |
| * IMFClockStateSink interface |
| */ |
| #ifndef __IMFClockStateSink_INTERFACE_DEFINED__ |
| #define __IMFClockStateSink_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IMFClockStateSink, 0xf6696e82, 0x74f7, 0x4f3d, 0xa1,0x78, 0x8a,0x5e,0x09,0xc3,0x65,0x9f); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("f6696e82-74f7-4f3d-a178-8a5e09c3659f") |
| IMFClockStateSink : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE OnClockStart( |
| MFTIME hnsSystemTime, |
| LONGLONG llClockStartOffset) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE OnClockStop( |
| MFTIME hnsSystemTime) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE OnClockPause( |
| MFTIME hnsSystemTime) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE OnClockRestart( |
| MFTIME hnsSystemTime) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE OnClockSetRate( |
| MFTIME hnsSystemTime, |
| float flRate) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IMFClockStateSink, 0xf6696e82, 0x74f7, 0x4f3d, 0xa1,0x78, 0x8a,0x5e,0x09,0xc3,0x65,0x9f) |
| #endif |
| #else |
| typedef struct IMFClockStateSinkVtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IMFClockStateSink *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IMFClockStateSink *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IMFClockStateSink *This); |
| |
| /*** IMFClockStateSink methods ***/ |
| HRESULT (STDMETHODCALLTYPE *OnClockStart)( |
| IMFClockStateSink *This, |
| MFTIME hnsSystemTime, |
| LONGLONG llClockStartOffset); |
| |
| HRESULT (STDMETHODCALLTYPE *OnClockStop)( |
| IMFClockStateSink *This, |
| MFTIME hnsSystemTime); |
| |
| HRESULT (STDMETHODCALLTYPE *OnClockPause)( |
| IMFClockStateSink *This, |
| MFTIME hnsSystemTime); |
| |
| HRESULT (STDMETHODCALLTYPE *OnClockRestart)( |
| IMFClockStateSink *This, |
| MFTIME hnsSystemTime); |
| |
| HRESULT (STDMETHODCALLTYPE *OnClockSetRate)( |
| IMFClockStateSink *This, |
| MFTIME hnsSystemTime, |
| float flRate); |
| |
| END_INTERFACE |
| } IMFClockStateSinkVtbl; |
| |
| interface IMFClockStateSink { |
| CONST_VTBL IMFClockStateSinkVtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IMFClockStateSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMFClockStateSink_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IMFClockStateSink_Release(This) (This)->lpVtbl->Release(This) |
| /*** IMFClockStateSink methods ***/ |
| #define IMFClockStateSink_OnClockStart(This,hnsSystemTime,llClockStartOffset) (This)->lpVtbl->OnClockStart(This,hnsSystemTime,llClockStartOffset) |
| #define IMFClockStateSink_OnClockStop(This,hnsSystemTime) (This)->lpVtbl->OnClockStop(This,hnsSystemTime) |
| #define IMFClockStateSink_OnClockPause(This,hnsSystemTime) (This)->lpVtbl->OnClockPause(This,hnsSystemTime) |
| #define IMFClockStateSink_OnClockRestart(This,hnsSystemTime) (This)->lpVtbl->OnClockRestart(This,hnsSystemTime) |
| #define IMFClockStateSink_OnClockSetRate(This,hnsSystemTime,flRate) (This)->lpVtbl->OnClockSetRate(This,hnsSystemTime,flRate) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IMFClockStateSink_QueryInterface(IMFClockStateSink* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IMFClockStateSink_AddRef(IMFClockStateSink* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IMFClockStateSink_Release(IMFClockStateSink* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IMFClockStateSink methods ***/ |
| static FORCEINLINE HRESULT IMFClockStateSink_OnClockStart(IMFClockStateSink* This,MFTIME hnsSystemTime,LONGLONG llClockStartOffset) { |
| return This->lpVtbl->OnClockStart(This,hnsSystemTime,llClockStartOffset); |
| } |
| static FORCEINLINE HRESULT IMFClockStateSink_OnClockStop(IMFClockStateSink* This,MFTIME hnsSystemTime) { |
| return This->lpVtbl->OnClockStop(This,hnsSystemTime); |
| } |
| static FORCEINLINE HRESULT IMFClockStateSink_OnClockPause(IMFClockStateSink* This,MFTIME hnsSystemTime) { |
| return This->lpVtbl->OnClockPause(This,hnsSystemTime); |
| } |
| static FORCEINLINE HRESULT IMFClockStateSink_OnClockRestart(IMFClockStateSink* This,MFTIME hnsSystemTime) { |
| return This->lpVtbl->OnClockRestart(This,hnsSystemTime); |
| } |
| static FORCEINLINE HRESULT IMFClockStateSink_OnClockSetRate(IMFClockStateSink* This,MFTIME hnsSystemTime,float flRate) { |
| return This->lpVtbl->OnClockSetRate(This,hnsSystemTime,flRate); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| |
| #endif /* __IMFClockStateSink_INTERFACE_DEFINED__ */ |
| |
| HRESULT WINAPI MFRequireProtectedEnvironment(IMFPresentationDescriptor *pPresentationDescriptor); |
| HRESULT WINAPI MFSerializePresentationDescriptor(IMFPresentationDescriptor *pPD,DWORD *pcbData,BYTE **ppbData); |
| typedef DWORD MFSequencerElementId; |
| typedef enum _MFCLOCK_CHARACTERISTICS_FLAGS { |
| MFCLOCK_CHARACTERISTICS_FLAG_FREQUENCY_10MHZ = 0x2, |
| MFCLOCK_CHARACTERISTICS_FLAG_ALWAYS_RUNNING = 0x4, |
| MFCLOCK_CHARACTERISTICS_FLAG_IS_SYSTEM_CLOCK = 0x8 |
| } MFCLOCK_CHARACTERISTICS_FLAGS; |
| #if (WINVER >= 0x0601) |
| typedef enum _MF_QUALITY_ADVISE_FLAGS { |
| MF_QUALITY_CANNOT_KEEP_UP = 0x1 |
| } MF_QUALITY_ADVISE_FLAGS; |
| #endif /*(WINVER >= 0x0601)*/ |
| typedef enum _MF_QUALITY_DROP_MODE { |
| MF_DROP_MODE_NONE = 0x0, |
| MF_DROP_MODE_1 = 0x1, |
| MF_DROP_MODE_2 = 0x2, |
| MF_DROP_MODE_3 = 0x3, |
| MF_DROP_MODE_4 = 0x4, |
| MF_DROP_MODE_5 = 0x5, |
| MF_NUM_DROP_MODES = 0x6 |
| } MF_QUALITY_DROP_MODE; |
| typedef enum _MF_QUALITY_LEVEL { |
| MF_QUALITY_NORMAL = 0x0, |
| MF_QUALITY_NORMAL_MINUS_1 = 0x1, |
| MF_QUALITY_NORMAL_MINUS_2 = 0x2, |
| MF_QUALITY_NORMAL_MINUS_3 = 0x3, |
| MF_QUALITY_NORMAL_MINUS_4 = 0x4, |
| MF_QUALITY_NORMAL_MINUS_5 = 0x5, |
| MF_NUM_QUALITY_LEVELS = 0x6 |
| } MF_QUALITY_LEVEL; |
| typedef enum _MF_TOPOLOGY_RESOLUTION_STATUS_FLAGS { |
| MF_TOPOLOGY_RESOLUTION_SUCCEEDED = 0x0, |
| MF_OPTIONAL_NODE_REJECTED_MEDIA_TYPE = 0x1, |
| MF_OPTIONAL_NODE_REJECTED_PROTECTED_PROCESS = 0x2 |
| } MF_TOPOLOGY_RESOLUTION_STATUS_FLAGS; |
| typedef enum _MF_TOPONODE_DRAIN_MODE { |
| MF_TOPONODE_DRAIN_DEFAULT = 0, |
| MF_TOPONODE_DRAIN_ALWAYS = 1, |
| MF_TOPONODE_DRAIN_NEVER = 2 |
| } MF_TOPONODE_DRAIN_MODE; |
| typedef enum _MF_TOPONODE_FLUSH_MODE { |
| MF_TOPONODE_FLUSH_ALWAYS = 0, |
| MF_TOPONODE_FLUSH_SEEK = 1, |
| MF_TOPONODE_FLUSH_NEVER = 2 |
| } MF_TOPONODE_FLUSH_MODE; |
| #if (WINVER >= 0x0601) |
| typedef enum _MF_TRANSCODE_TOPOLOGY_MODE_FLAGS { |
| MF_TRANSCODE_TOPOLOGYMODE_SOFTWARE_ONLY = 0, |
| MF_TRANSCODE_TOPOLOGYMODE_HARDWARE_ALLOWED = 1 |
| } MF_TRANSCODE_TOPOLOGYMODE_FLAGS; |
| #endif |
| typedef enum __WIDL_mfidl_generated_name_0000002E { |
| MF_LICENSE_URL_UNTRUSTED = 0, |
| MF_LICENSE_URL_TRUSTED = 1, |
| MF_LICENSE_URL_TAMPERED = 2 |
| } MF_URL_TRUST_STATUS; |
| typedef enum _MFCLOCK_RELATIONAL_FLAGS { |
| MFCLOCK_RELATIONAL_FLAG_JITTER_NEVER_AHEAD = 0x1 |
| } MFCLOCK_RELATIONAL_FLAGS; |
| typedef enum _MFMEDIASOURCE_CHARACTERISTICS { |
| MFMEDIASOURCE_IS_LIVE = 0x1, |
| MFMEDIASOURCE_CAN_SEEK = 0x2, |
| MFMEDIASOURCE_CAN_PAUSE = 0x4, |
| MFMEDIASOURCE_HAS_SLOW_SEEK = 0x8, |
| MFMEDIASOURCE_HAS_MULTIPLE_PRESENTATIONS = 0x10, |
| MFMEDIASOURCE_CAN_SKIPFORWARD = 0x20, |
| MFMEDIASOURCE_CAN_SKIPBACKWARD = 0x40 |
| } MFMEDIASOURCE_CHARACTERISTICS; |
| typedef enum _MFNET_PROXYSETTINGS { |
| MFNET_PROXYSETTING_NONE = 0, |
| MFNET_PROXYSETTING_MANUAL = 1, |
| MFNET_PROXYSETTING_AUTO = 2, |
| MFNET_PROXYSETTING_BROWSER = 3 |
| } MFNET_PROXYSETTINGS; |
| typedef enum _MFNetAuthenticationFlags { |
| MFNET_AUTHENTICATION_PROXY = 0x1, |
| MFNET_AUTHENTICATION_CLEAR_TEXT = 0x2, |
| MFNET_AUTHENTICATION_LOGGED_ON_USER = 0x4 |
| } MFNetAuthenticationFlags; |
| typedef enum _MFNetCredentialOptions { |
| MFNET_CREDENTIAL_SAVE = 0x1, |
| MFNET_CREDENTIAL_DONT_CACHE = 0x2, |
| MFNET_CREDENTIAL_ALLOW_CLEAR_TEXT = 0x4 |
| } MFNetCredentialOptions; |
| typedef enum _MFNetCredentialRequirements { |
| REQUIRE_PROMPT = 0x1, |
| REQUIRE_SAVE_SELECTED = 0x2 |
| } MFNetCredentialRequirements; |
| typedef enum _MFNETSOURCE_CACHE_STATE { |
| MFNETSOURCE_CACHE_UNAVAILABLE = 0, |
| MFNETSOURCE_CACHE_ACTIVE_WRITING = 1, |
| MFNETSOURCE_CACHE_ACTIVE_COMPLETE = 2 |
| } MFNETSOURCE_CACHE_STATE; |
| typedef enum _MFNETSOURCE_PROTOCOL_TYPE { |
| MFNETSOURCE_UNDEFINED = 0x0, |
| MFNETSOURCE_HTTP = 0x1, |
| MFNETSOURCE_RTSP = 0x2, |
| MFNETSOURCE_FILE = 0x3, |
| MFNETSOURCE_MULTICAST = 0x4 |
| } MFNETSOURCE_PROTOCOL_TYPE; |
| typedef enum _MFNETSOURCE_STATISTICS_IDS { |
| MFNETSOURCE_RECVPACKETS_ID = 0, |
| MFNETSOURCE_LOSTPACKETS_ID = 1, |
| MFNETSOURCE_RESENDSREQUESTED_ID = 2, |
| MFNETSOURCE_RESENDSRECEIVED_ID = 3, |
| MFNETSOURCE_RECOVEREDBYECCPACKETS_ID = 4, |
| MFNETSOURCE_RECOVEREDBYRTXPACKETS_ID = 5, |
| MFNETSOURCE_OUTPACKETS_ID = 6, |
| MFNETSOURCE_RECVRATE_ID = 7, |
| MFNETSOURCE_AVGBANDWIDTHBPS_ID = 8, |
| MFNETSOURCE_BYTESRECEIVED_ID = 9, |
| MFNETSOURCE_PROTOCOL_ID = 10, |
| MFNETSOURCE_TRANSPORT_ID = 11, |
| MFNETSOURCE_CACHE_STATE_ID = 12, |
| MFNETSOURCE_LINKBANDWIDTH_ID = 13, |
| MFNETSOURCE_CONTENTBITRATE_ID = 14, |
| MFNETSOURCE_SPEEDFACTOR_ID = 15, |
| MFNETSOURCE_BUFFERSIZE_ID = 16, |
| MFNETSOURCE_BUFFERPROGRESS_ID = 17, |
| MFNETSOURCE_LASTBWSWITCHTS_ID = 18, |
| MFNETSOURCE_SEEKRANGESTART_ID = 19, |
| MFNETSOURCE_SEEKRANGEEND_ID = 20, |
| MFNETSOURCE_BUFFERINGCOUNT_ID = 21, |
| MFNETSOURCE_INCORRECTLYSIGNEDPACKETS_ID = 22, |
| MFNETSOURCE_SIGNEDSESSION_ID = 23, |
| MFNETSOURCE_MAXBITRATE_ID = 24, |
| MFNETSOURCE_RECEPTION_QUALITY_ID = 25, |
| MFNETSOURCE_RECOVEREDPACKETS_ID = 26, |
| MFNETSOURCE_VBR_ID = 27, |
| MFNETSOURCE_DOWNLOADPROGRESS_ID = 28 |
| } MFNETSOURCE_STATISTICS_IDS; |
| typedef enum _MFNETSOURCE_TRANSPORT_TYPE { |
| MFNETSOURCE_UDP = 0, |
| MFNETSOURCE_TCP = 1 |
| } MFNETSOURCE_TRANSPORT_TYPE; |
| typedef enum MF_OBJECT_TYPE { |
| MF_OBJECT_MEDIASOURCE = 0, |
| MF_OBJECT_BYTESTREAM = 1, |
| MF_OBJECT_INVALID = 2 |
| } MF_OBJECT_TYPE; |
| typedef enum _MFPOLICYMANAGER_ACTION { |
| PEACTION_NO = 0, |
| PEACTION_PLAY = 1, |
| PEACTION_COPY = 2, |
| PEACTION_EXPORT = 3, |
| PEACTION_EXTRACT = 4, |
| PEACTION_RESERVED1 = 5, |
| PEACTION_RESERVED2 = 6, |
| PEACTION_RESERVED3 = 7, |
| PEACTION_LAST = 7 |
| } MFPOLICYMANAGER_ACTION; |
| typedef enum _MFRATE_DIRECTION { |
| MFRATE_FORWARD = 0, |
| MFRATE_REVERSE = 1 |
| } MFRATE_DIRECTION; |
| typedef enum _MFSequencerTopologyFlags { |
| SequencerTopologyFlags_Last = 0x1 |
| } MFSequencerTopologyFlags; |
| typedef enum _MFSHUTDOWN_STATUS { |
| MFSHUTDOWN_INITIATED = 0, |
| MFSHUTDOWN_COMPLETED = 1 |
| } MFSHUTDOWN_STATUS; |
| typedef enum MFSTREAMSINK_MARKER_TYPE { |
| MFSTREAMSINK_MARKER_DEFAULT = 0, |
| MFSTREAMSINK_MARKER_ENDOFSEGMENT = 1, |
| MFSTREAMSINK_MARKER_TICK = 2, |
| MFSTREAMSINK_MARKER_EVENT = 3 |
| } MFSTREAMSINK_MARKER_TYPE; |
| typedef enum MFTIMER_FLAGS { |
| MFTIMER_RELATIVE = 0x1 |
| } MFTIMER_FLAGS; |
| #if (WINVER >= 0x0601) |
| typedef enum MFTOPOLOGY_DXVA_MODE { |
| MFTOPOLOGY_DXVA_DEFAULT = 0, |
| MFTOPOLOGY_DXVA_NONE = 1, |
| MFTOPOLOGY_DXVA_FULL = 2 |
| } MFTOPOLOGY_DXVA_MODE; |
| typedef enum MFTOPOLOGY_HARDWARE_MODE { |
| MFTOPOLOGY_HWMODE_SOFTWARE_ONLY = 0, |
| MFTOPOLOGY_HWMODE_USE_HARDWARE = 1 |
| } MFTOPOLOGY_HARDWARE_MODE; |
| typedef struct _MFT_REGISTRATION_INFO { |
| CLSID clsid; |
| GUID guidCategory; |
| UINT32 uiFlags; |
| LPCWSTR pszName; |
| DWORD cInTypes; |
| MFT_REGISTER_TYPE_INFO *pInTypes; |
| DWORD cOutTypes; |
| MFT_REGISTER_TYPE_INFO *pOutTypes; |
| } MFT_REGISTRATION_INFO; |
| #endif /*(WINVER >= 0x0601)*/ |
| typedef struct _ASFFlatPicture { |
| BYTE bPictureType; |
| DWORD dwDataLen; |
| } ASF_FLAT_PICTURE; |
| |
| typedef struct _ASFFlatSynchronisedLyrics { |
| BYTE bTimeStampFormat; |
| BYTE bContentType; |
| DWORD dwLyricsLen; |
| } ASF_FLAT_SYNCHRONISED_LYRICS; |
| typedef enum SAMPLE_PROTECTION_VERSION { |
| SAMPLE_PROTECTION_VERSION_NO = 0, |
| SAMPLE_PROTECTION_VERSION_BASIC_LOKI = 1, |
| SAMPLE_PROTECTION_VERSION_SCATTER = 2, |
| SAMPLE_PROTECTION_VERSION_RC4 = 3 |
| } SAMPLE_PROTECTION_VERSION; |
| typedef struct _MFINPUTTRUSTAUTHORITY_ACTION { |
| MFPOLICYMANAGER_ACTION Action; |
| BYTE *pbTicket; |
| DWORD cbTicket; |
| } MFINPUTTRUSTAUTHORITY_ACCESS_ACTION; |
| typedef struct _MFINPUTTRUSTAUTHORITY_ACCESS_PARAMS { |
| DWORD dwSize; |
| DWORD dwVer; |
| DWORD cbSignatureOffset; |
| DWORD cbSignatureSize; |
| DWORD cbExtensionOffset; |
| DWORD cbExtensionSize; |
| DWORD cActions; |
| MFINPUTTRUSTAUTHORITY_ACCESS_ACTION rgOutputActions[1]; |
| } MFINPUTTRUSTAUTHORITY_ACCESS_PARAMS; |
| typedef struct _MFNetCredentialManagerGetParam { |
| HRESULT hrOp; |
| WINBOOL fAllowLoggedOnUser; |
| WINBOOL fClearTextPackage; |
| LPCWSTR pszUrl; |
| LPCWSTR pszSite; |
| LPCWSTR pszRealm; |
| LPCWSTR pszPackage; |
| LONG nRetries; |
| } MFNetCredentialManagerGetParam; |
| #define MEDIASINK_FIXED_STREAMS 0x00000001 |
| #define MEDIASINK_CANNOT_MATCH_CLOCK 0x00000002 |
| #define MEDIASINK_RATELESS 0x00000004 |
| #define MEDIASINK_CLOCK_REQUIRED 0x00000008 |
| #define MEDIASINK_CAN_PREROLL 0x00000010 |
| #define MEDIASINK_REQUIRE_REFERENCE_MEDIATYPE 0x00000020 |
| enum { |
| MF_RESOLUTION_MEDIASOURCE = 0x1, |
| MF_RESOLUTION_BYTESTREAM = 0x2, |
| MF_RESOLUTION_CONTENT_DOES_NOT_HAVE_TO_MATCH_EXTENSION_OR_MIME_TYPE = 0x10, |
| MF_RESOLUTION_KEEP_BYTE_STREAM_ALIVE_ON_FAIL = 0x20, |
| MF_RESOLUTION_READ = 0x10000, |
| MF_RESOLUTION_WRITE = 0x20000 |
| }; |
| #ifndef __IMFMediaSink_FWD_DEFINED__ |
| #define __IMFMediaSink_FWD_DEFINED__ |
| typedef interface IMFMediaSink IMFMediaSink; |
| #ifdef __cplusplus |
| interface IMFMediaSink; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMFASFContentInfo_FWD_DEFINED__ |
| #define __IMFASFContentInfo_FWD_DEFINED__ |
| typedef interface IMFASFContentInfo IMFASFContentInfo; |
| #ifdef __cplusplus |
| interface IMFASFContentInfo; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMFASFIndexer_FWD_DEFINED__ |
| #define __IMFASFIndexer_FWD_DEFINED__ |
| typedef interface IMFASFIndexer IMFASFIndexer; |
| #ifdef __cplusplus |
| interface IMFASFIndexer; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMFASFMultiplexer_FWD_DEFINED__ |
| #define __IMFASFMultiplexer_FWD_DEFINED__ |
| typedef interface IMFASFMultiplexer IMFASFMultiplexer; |
| #ifdef __cplusplus |
| interface IMFASFMultiplexer; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMFASFProfile_FWD_DEFINED__ |
| #define __IMFASFProfile_FWD_DEFINED__ |
| typedef interface IMFASFProfile IMFASFProfile; |
| #ifdef __cplusplus |
| interface IMFASFProfile; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMFASFSplitter_FWD_DEFINED__ |
| #define __IMFASFSplitter_FWD_DEFINED__ |
| typedef interface IMFASFSplitter IMFASFSplitter; |
| #ifdef __cplusplus |
| interface IMFASFSplitter; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMFPMPServer_FWD_DEFINED__ |
| #define __IMFPMPServer_FWD_DEFINED__ |
| typedef interface IMFPMPServer IMFPMPServer; |
| #ifdef __cplusplus |
| interface IMFPMPServer; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMFPresentationClock_FWD_DEFINED__ |
| #define __IMFPresentationClock_FWD_DEFINED__ |
| typedef interface IMFPresentationClock IMFPresentationClock; |
| #ifdef __cplusplus |
| interface IMFPresentationClock; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMFNetProxyLocator_FWD_DEFINED__ |
| #define __IMFNetProxyLocator_FWD_DEFINED__ |
| typedef interface IMFNetProxyLocator IMFNetProxyLocator; |
| #ifdef __cplusplus |
| interface IMFNetProxyLocator; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMFRemoteDesktopPlugin_FWD_DEFINED__ |
| #define __IMFRemoteDesktopPlugin_FWD_DEFINED__ |
| typedef interface IMFRemoteDesktopPlugin IMFRemoteDesktopPlugin; |
| #ifdef __cplusplus |
| interface IMFRemoteDesktopPlugin; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMFTransform_FWD_DEFINED__ |
| #define __IMFTransform_FWD_DEFINED__ |
| typedef interface IMFTransform IMFTransform; |
| #ifdef __cplusplus |
| interface IMFTransform; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMFSampleGrabberSinkCallback_FWD_DEFINED__ |
| #define __IMFSampleGrabberSinkCallback_FWD_DEFINED__ |
| typedef interface IMFSampleGrabberSinkCallback IMFSampleGrabberSinkCallback; |
| #ifdef __cplusplus |
| interface IMFSampleGrabberSinkCallback; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMFSequencerSource_FWD_DEFINED__ |
| #define __IMFSequencerSource_FWD_DEFINED__ |
| typedef interface IMFSequencerSource IMFSequencerSource; |
| #ifdef __cplusplus |
| interface IMFSequencerSource; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMFQualityManager_FWD_DEFINED__ |
| #define __IMFQualityManager_FWD_DEFINED__ |
| typedef interface IMFQualityManager IMFQualityManager; |
| #ifdef __cplusplus |
| interface IMFQualityManager; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMFSourceResolver_FWD_DEFINED__ |
| #define __IMFSourceResolver_FWD_DEFINED__ |
| typedef interface IMFSourceResolver IMFSourceResolver; |
| #ifdef __cplusplus |
| interface IMFSourceResolver; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMFPresentationTimeSource_FWD_DEFINED__ |
| #define __IMFPresentationTimeSource_FWD_DEFINED__ |
| typedef interface IMFPresentationTimeSource IMFPresentationTimeSource; |
| #ifdef __cplusplus |
| interface IMFPresentationTimeSource; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMFTopoLoader_FWD_DEFINED__ |
| #define __IMFTopoLoader_FWD_DEFINED__ |
| typedef interface IMFTopoLoader IMFTopoLoader; |
| #ifdef __cplusplus |
| interface IMFTopoLoader; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMFTranscodeProfile_FWD_DEFINED__ |
| #define __IMFTranscodeProfile_FWD_DEFINED__ |
| typedef interface IMFTranscodeProfile IMFTranscodeProfile; |
| #ifdef __cplusplus |
| interface IMFTranscodeProfile; |
| #endif /* __cplusplus */ |
| #endif |
| |
| HRESULT MFCreate3GPMediaSink(IMFByteStream *pIByteStream,IMFMediaType *pVideoMediaType,IMFMediaType *pAudioMediaType,IMFMediaSink **ppIMediaSink); |
| HRESULT MFCreateAggregateSource(IMFCollection *pSourceCollection,IMFMediaSource **ppAggSource); |
| |
| HRESULT WINAPI MFCreateAlignedMemoryBuffer(DWORD cbMaxLength,DWORD fAlignmentFlags,IMFMediaBuffer **ppBuffer); |
| HRESULT WINAPI MFCreateASFContentInfo(IMFASFContentInfo **ppIContentInfo); |
| HRESULT WINAPI MFCreateASFIndexer(IMFASFIndexer **ppIIndexer); |
| HRESULT WINAPI MFCreateASFIndexerByteStream(IMFByteStream *pIContentByteStream,QWORD cbIndexStartOffset,IMFByteStream **pIIndexByteStream); |
| HRESULT WINAPI MFCreateASFMediaSink(IMFByteStream *pIByteStream,IMFMediaSink **ppIMediaSink); |
| HRESULT WINAPI MFCreateASFMediaSinkActivate(LPCWSTR pwszFileName,IMFASFContentInfo *pContentInfo,IMFActivate **ppIActivate); |
| HRESULT WINAPI MFCreateASFMultiplexer(IMFASFMultiplexer **ppIMultiplexer); |
| HRESULT WINAPI MFCreateASFProfile(IMFASFProfile **ppIProfile); |
| HRESULT WINAPI MFCreateASFProfileFromPresentationDescriptor(IMFPresentationDescriptor *pIPD,IMFASFProfile **ppIProfile); |
| HRESULT WINAPI MFCreateASFSplitter(IMFASFSplitter **ppISplitter); |
| HRESULT WINAPI MFCreateMediaSession(IMFAttributes *pConfiguration,IMFMediaSession **ppMS); |
| HRESULT WINAPI MFCreateMP3MediaSink(IMFByteStream *pTargetByteStream,IMFMediaSink **ppMediaSink); |
| HRESULT WINAPI MFCreateMPEG4MediaSink(IMFByteStream *pIByteStream,IMFMediaType *pVideoMediaType,IMFMediaType *pAudioMediaType,IMFMediaSink **ppIMediaSink); |
| HRESULT WINAPI MFCreateNetSchemePlugin(REFIID riid,LPVOID *ppvHandler); |
| HRESULT WINAPI MFCreatePMPServer(DWORD dwCreationFlags,IMFPMPServer **ppPMPServer); |
| HRESULT WINAPI MFCreatePMPMediaSession(DWORD dwCreationFlags,IMFAttributes *pConfiguration,IMFMediaSession **ppMediaSession,IMFActivate **ppEnablerActivate); |
| HRESULT WINAPI MFCreatePathFromURL(LPCWSTR pwszFileURL,LPWSTR *ppwszFilePath); |
| HRESULT WINAPI MFCreatePresentationClock(IMFPresentationClock **ppPresentationClock); |
| HRESULT WINAPI MFCreatePresentationDescriptor(DWORD cStreamDescriptors,IMFStreamDescriptor **apStreamDescriptors,IMFPresentationDescriptor **ppPresentationDescriptor); |
| HRESULT WINAPI MFCreatePresentationDescriptorFromASFProfile(IMFASFProfile *pIProfile,IMFPresentationDescriptor **ppIPD); |
| HRESULT WINAPI MFCreateProxyLocator(LPCWSTR pszProtocol,IPropertyStore *pProxyConfig,IMFNetProxyLocator **ppProxyLocator); |
| HRESULT WINAPI MFCreateRemoteDesktopPlugin(IMFRemoteDesktopPlugin **ppPlugin); |
| HRESULT WINAPI MFCreateSample(IMFSample **ppIMFSample); |
| HRESULT WINAPI MFCreateSampleCopierMFT(IMFTransform **ppCopierMFT); |
| HRESULT WINAPI MFCreateSampleGrabberSinkActivate(IMFMediaType *pIMFMediaType,IMFSampleGrabberSinkCallback *pIMFSampleGrabberSinkCallback,IMFActivate **ppIActivate); |
| HRESULT WINAPI MFCreateSequencerSource(IUnknown *pReserved,IMFSequencerSource **ppSequencerSource); |
| HRESULT WINAPI MFCreateSimpleTypeHandler(IMFMediaTypeHandler **ppHandler); |
| HRESULT WINAPI MFCreateStandardQualityManager(IMFQualityManager **ppQualityManager); |
| HRESULT WINAPI MFCreateStreamDescriptor(DWORD dwStreamIdentifier,DWORD cMediaTypes,IMFMediaType **apMediaTypes,IMFStreamDescriptor **ppDescriptor); |
| HRESULT WINAPI MFCreateSourceResolver(IMFSourceResolver **ppISourceResolver); |
| HRESULT WINAPI MFCreateSystemTimeSource(IMFPresentationTimeSource **ppSystemTimeSource); |
| HRESULT WINAPI MFCreateTopoLoader(IMFTopoLoader **ppObj); |
| HRESULT WINAPI MFCreateTopology(IMFTopology **ppTopo); |
| HRESULT WINAPI MFCreateTopologyNode(MF_TOPOLOGY_TYPE NodeType,IMFTopologyNode **ppNode); |
| HRESULT WINAPI MFCreateVideoRenderer(REFIID riidRenderer,void **ppVideoRenderer); |
| HRESULT WINAPI MFCreateVideoRendererActivate(HWND hwndVideo,IMFActivate **ppActivate); |
| HRESULT WINAPI MFGetService(IUnknown *punkObject,REFGUID guidService,REFIID riid,LPVOID *ppvObject); |
| HRESULT WINAPI MFGetSupportedMimeTypes(PROPVARIANT *pPropVarMimeTypeArray); |
| HRESULT WINAPI MFGetSupportedSchemes(PROPVARIANT *pPropVarSchemeArray); |
| MFTIME WINAPI MFGetSystemTime(void); |
| HRESULT WINAPI MFShutdownObject(IUnknown *pUnk); |
| HRESULT WINAPI CreateNamedPropertyStore(INamedPropertyStore **ppStore); |
| HRESULT WINAPI CreatePropertyStore(IPropertyStore **ppStore); |
| #if (WINVER >= 0x0601) |
| |
| HRESULT WINAPI MFCreateTranscodeProfile(IMFTranscodeProfile **ppTranscodeProfile); |
| HRESULT WINAPI MFCreateTranscodeSinkActivate(IMFActivate **ppActivate); |
| HRESULT WINAPI MFCreateTranscodeTopology(IMFMediaSource *pSrc,LPCWSTR pwszOutputFilePath,IMFTranscodeProfile *pProfile,IMFTopology **ppTranscodeTopo); |
| HRESULT WINAPI MFEnumDeviceSources(IMFAttributes *pAttributes,IMFActivate ***pppSourceActivate,UINT32 *pcSourceActivate); |
| HRESULT WINAPI MFGetTopoNodeCurrentType(IMFTopologyNode *pNode,DWORD dwStreamIndex,WINBOOL fOutput,IMFMediaType **ppType); |
| HRESULT WINAPI MFTranscodeGetAudioOutputAvailableTypes(REFGUID guidSubType,DWORD dwMFTFlags,IMFAttributes *pCodecConfig,IMFCollection **ppAvailableTypes); |
| #endif |
| EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_FRIENDLY_NAME, 0x60d0e559,0x52f8,0x4fa2,0xbb,0xce,0xac,0xdb,0x34,0xa8,0xec,0x1); |
| EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_MEDIA_TYPE, 0x56a819ca,0xc78,0x4de4,0xa0,0xa7,0x3d,0xda,0xba,0xf,0x24,0xd4); |
| EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_ENDPOINT_ID, 0x30da9258,0xfeb9,0x47a7,0xa4,0x53,0x76,0x3a,0x7a,0x8e,0x1c,0x5f); |
| EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_ROLE, 0xbc9d118e,0x8c67,0x4a18,0x85,0xd4,0x12,0xd3,0x0,0x40,0x5,0x52); |
| EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_CATEGORY, 0x77f0ae69,0xc3bd,0x4509,0x94,0x1d,0x46,0x7e,0x4d,0x24,0x89,0x9e); |
| EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_HW_SOURCE, 0xde7046ba,0x54d6,0x4487,0xa2,0xa4,0xec,0x7c,0xd,0x1b,0xd1,0x63); |
| EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_MAX_BUFFERS, 0x7dd9b730,0x4f2d,0x41d5,0x8f,0x95,0xc,0xc9,0xa9,0x12,0xba,0x26); |
| EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_SYMBOLIC_LINK, 0x58f0aad8,0x22bf,0x4f8a,0xbb,0x3d,0xd2,0xc4,0x97,0x8c,0x6e,0x2f); |
| EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE, 0xc60ac5fe,0x252a,0x478f,0xa0,0xef,0xbc,0x8f,0xa5,0xf7,0xca,0xd3); |
| EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_GUID, 0x8ac3587a,0x4ae7,0x42d8,0x99,0xe0,0x0a,0x60,0x13,0xee,0xf9,0x0f); |
| /* 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 /* __mfidl_h__ */ |