| /*** 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 __IMFGetService_FWD_DEFINED__ |
| #define __IMFGetService_FWD_DEFINED__ |
| typedef interface IMFGetService IMFGetService; |
| #ifdef __cplusplus |
| interface IMFGetService; |
| #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__ */ |
| |
| /***************************************************************************** |
| * IMFGetService interface |
| */ |
| #ifndef __IMFGetService_INTERFACE_DEFINED__ |
| #define __IMFGetService_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IMFGetService, 0xfa993888, 0x4383, 0x415a, 0xa9,0x30, 0xdd,0x47,0x2a,0x8c,0xf6,0xf7); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("fa993888-4383-415a-a930-dd472a8cf6f7") |
| IMFGetService : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE GetService( |
| REFGUID guidService, |
| REFIID riid, |
| LPVOID *ppvObject) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IMFGetService, 0xfa993888, 0x4383, 0x415a, 0xa9,0x30, 0xdd,0x47,0x2a,0x8c,0xf6,0xf7) |
| #endif |
| #else |
| typedef struct IMFGetServiceVtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IMFGetService *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IMFGetService *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IMFGetService *This); |
| |
| /*** IMFGetService methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetService)( |
| IMFGetService *This, |
| REFGUID guidService, |
| REFIID riid, |
| LPVOID *ppvObject); |
| |
| END_INTERFACE |
| } IMFGetServiceVtbl; |
| |
| interface IMFGetService { |
| CONST_VTBL IMFGetServiceVtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IMFGetService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMFGetService_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IMFGetService_Release(This) (This)->lpVtbl->Release(This) |
| /*** IMFGetService methods ***/ |
| #define IMFGetService_GetService(This,guidService,riid,ppvObject) (This)->lpVtbl->GetService(This,guidService,riid,ppvObject) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IMFGetService_QueryInterface(IMFGetService* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IMFGetService_AddRef(IMFGetService* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IMFGetService_Release(IMFGetService* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IMFGetService methods ***/ |
| static FORCEINLINE HRESULT IMFGetService_GetService(IMFGetService* This,REFGUID guidService,REFIID riid,LPVOID *ppvObject) { |
| return This->lpVtbl->GetService(This,guidService,riid,ppvObject); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| |
| #endif /* __IMFGetService_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); |
| |
|