/*** Autogenerated by WIDL 6.12 from include/mfidl.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ #define __REQUIRED_RPCNDR_H_VERSION__ 475 #endif #include #include #endif #ifndef COM_NO_WINDOWS_H #include #include #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 #ifndef __IMFAudioStreamVolume_FWD_DEFINED__ #define __IMFAudioStreamVolume_FWD_DEFINED__ typedef interface IMFAudioStreamVolume IMFAudioStreamVolume; #ifdef __cplusplus interface IMFAudioStreamVolume; #endif /* __cplusplus */ #endif #ifndef __IMFMediaSink_FWD_DEFINED__ #define __IMFMediaSink_FWD_DEFINED__ typedef interface IMFMediaSink IMFMediaSink; #ifdef __cplusplus interface IMFMediaSink; #endif /* __cplusplus */ #endif #ifndef __IMFFinalizableMediaSink_FWD_DEFINED__ #define __IMFFinalizableMediaSink_FWD_DEFINED__ typedef interface IMFFinalizableMediaSink IMFFinalizableMediaSink; #ifdef __cplusplus interface IMFFinalizableMediaSink; #endif /* __cplusplus */ #endif #ifndef __IMFMediaSinkPreroll_FWD_DEFINED__ #define __IMFMediaSinkPreroll_FWD_DEFINED__ typedef interface IMFMediaSinkPreroll IMFMediaSinkPreroll; #ifdef __cplusplus interface IMFMediaSinkPreroll; #endif /* __cplusplus */ #endif #ifndef __IMFMediaStream_FWD_DEFINED__ #define __IMFMediaStream_FWD_DEFINED__ typedef interface IMFMediaStream IMFMediaStream; #ifdef __cplusplus interface IMFMediaStream; #endif /* __cplusplus */ #endif #ifndef __IMFMetadata_FWD_DEFINED__ #define __IMFMetadata_FWD_DEFINED__ typedef interface IMFMetadata IMFMetadata; #ifdef __cplusplus interface IMFMetadata; #endif /* __cplusplus */ #endif #ifndef __IMFMetadataProvider_FWD_DEFINED__ #define __IMFMetadataProvider_FWD_DEFINED__ typedef interface IMFMetadataProvider IMFMetadataProvider; #ifdef __cplusplus interface IMFMetadataProvider; #endif /* __cplusplus */ #endif #ifndef __IMFPresentationTimeSource_FWD_DEFINED__ #define __IMFPresentationTimeSource_FWD_DEFINED__ typedef interface IMFPresentationTimeSource IMFPresentationTimeSource; #ifdef __cplusplus interface IMFPresentationTimeSource; #endif /* __cplusplus */ #endif #ifndef __IMFPresentationClock_FWD_DEFINED__ #define __IMFPresentationClock_FWD_DEFINED__ typedef interface IMFPresentationClock IMFPresentationClock; #ifdef __cplusplus interface IMFPresentationClock; #endif /* __cplusplus */ #endif #ifndef __IMFRateControl_FWD_DEFINED__ #define __IMFRateControl_FWD_DEFINED__ typedef interface IMFRateControl IMFRateControl; #ifdef __cplusplus interface IMFRateControl; #endif /* __cplusplus */ #endif #ifndef __IMFRateSupport_FWD_DEFINED__ #define __IMFRateSupport_FWD_DEFINED__ typedef interface IMFRateSupport IMFRateSupport; #ifdef __cplusplus interface IMFRateSupport; #endif /* __cplusplus */ #endif #ifndef __IMFSampleGrabberSinkCallback_FWD_DEFINED__ #define __IMFSampleGrabberSinkCallback_FWD_DEFINED__ typedef interface IMFSampleGrabberSinkCallback IMFSampleGrabberSinkCallback; #ifdef __cplusplus interface IMFSampleGrabberSinkCallback; #endif /* __cplusplus */ #endif #ifndef __IMFSourceResolver_FWD_DEFINED__ #define __IMFSourceResolver_FWD_DEFINED__ typedef interface IMFSourceResolver IMFSourceResolver; #ifdef __cplusplus interface IMFSourceResolver; #endif /* __cplusplus */ #endif #ifndef __IMFStreamSink_FWD_DEFINED__ #define __IMFStreamSink_FWD_DEFINED__ typedef interface IMFStreamSink IMFStreamSink; #ifdef __cplusplus interface IMFStreamSink; #endif /* __cplusplus */ #endif #ifndef __IMFTopoLoader_FWD_DEFINED__ #define __IMFTopoLoader_FWD_DEFINED__ typedef interface IMFTopoLoader IMFTopoLoader; #ifdef __cplusplus interface IMFTopoLoader; #endif /* __cplusplus */ #endif /* Headers for imported files */ #include #ifdef __cplusplus extern "C" { #endif #include #include 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); HRESULT (STDMETHODCALLTYPE *Start)( IMFMediaSource *This, IMFPresentationDescriptor *pPresentationDescriptor, const GUID *pguidTimeFormat, const PROPVARIANT *pvarStartPosition); HRESULT (STDMETHODCALLTYPE *Stop)( IMFMediaSource *This); HRESULT (STDMETHODCALLTYPE *Pause)( IMFMediaSource *This); HRESULT (STDMETHODCALLTYPE *Shutdown)( IMFMediaSource *This); END_INTERFACE } IMFMediaSourceVtbl; interface IMFMediaSource { CONST_VTBL IMFMediaSourceVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFMediaSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFMediaSource_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFMediaSource_Release(This) (This)->lpVtbl->Release(This) /*** IMFMediaEventGenerator methods ***/ #define IMFMediaSource_GetEvent(This,dwFlags,ppEvent) (This)->lpVtbl->GetEvent(This,dwFlags,ppEvent) #define IMFMediaSource_BeginGetEvent(This,pCallback,punkState) (This)->lpVtbl->BeginGetEvent(This,pCallback,punkState) #define IMFMediaSource_EndGetEvent(This,pResult,ppEvent) (This)->lpVtbl->EndGetEvent(This,pResult,ppEvent) #define IMFMediaSource_QueueEvent(This,met,guidExtendedType,hrStatus,pvValue) (This)->lpVtbl->QueueEvent(This,met,guidExtendedType,hrStatus,pvValue) /*** IMFMediaSource methods ***/ #define IMFMediaSource_GetCharacteristics(This,pdwCharacteristics) (This)->lpVtbl->GetCharacteristics(This,pdwCharacteristics) #define IMFMediaSource_CreatePresentationDescriptor(This,ppPresentationDescriptor) (This)->lpVtbl->CreatePresentationDescriptor(This,ppPresentationDescriptor) #define IMFMediaSource_Start(This,pPresentationDescriptor,pguidTimeFormat,pvarStartPosition) (This)->lpVtbl->Start(This,pPresentationDescriptor,pguidTimeFormat,pvarStartPosition) #define IMFMediaSource_Stop(This) (This)->lpVtbl->Stop(This) #define IMFMediaSource_Pause(This) (This)->lpVtbl->Pause(This) #define IMFMediaSource_Shutdown(This) (This)->lpVtbl->Shutdown(This) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IMFMediaSource_QueryInterface(IMFMediaSource* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IMFMediaSource_AddRef(IMFMediaSource* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IMFMediaSource_Release(IMFMediaSource* This) { return This->lpVtbl->Release(This); } /*** IMFMediaEventGenerator methods ***/ static FORCEINLINE HRESULT IMFMediaSource_GetEvent(IMFMediaSource* This,DWORD dwFlags,IMFMediaEvent **ppEvent) { return This->lpVtbl->GetEvent(This,dwFlags,ppEvent); } static FORCEINLINE HRESULT IMFMediaSource_BeginGetEvent(IMFMediaSource* This,IMFAsyncCallback *pCallback,IUnknown *punkState) { return This->lpVtbl->BeginGetEvent(This,pCallback,punkState); } static FORCEINLINE HRESULT IMFMediaSource_EndGetEvent(IMFMediaSource* This,IMFAsyncResult *pResult,IMFMediaEvent **ppEvent) { return This->lpVtbl->EndGetEvent(This,pResult,ppEvent); } static FORCEINLINE HRESULT IMFMediaSource_QueueEvent(IMFMediaSource* This,MediaEventType met,REFGUID guidExtendedType,HRESULT hrStatus,const PROPVARIANT *pvValue) { return This->lpVtbl->QueueEvent(This,met,guidExtendedType,hrStatus,pvValue); } /*** IMFMediaSource methods ***/ static FORCEINLINE HRESULT IMFMediaSource_GetCharacteristics(IMFMediaSource* This,DWORD *pdwCharacteristics) { return This->lpVtbl->GetCharacteristics(This,pdwCharacteristics); } static FORCEINLINE HRESULT IMFMediaSource_CreatePresentationDescriptor(IMFMediaSource* This,IMFPresentationDescriptor **ppPresentationDescriptor) { return This->lpVtbl->CreatePresentationDescriptor(This,ppPresentationDescriptor); } static FORCEINLINE HRESULT IMFMediaSource_Start(IMFMediaSource* This,IMFPresentationDescriptor *pPresentationDescriptor,const GUID *pguidTimeFormat,const PROPVARIANT *pvarStartPosition) { return This->lpVtbl->Start(This,pPresentationDescriptor,pguidTimeFormat,pvarStartPosition); } static FORCEINLINE HRESULT IMFMediaSource_Stop(IMFMediaSource* This) { return This->lpVtbl->Stop(This); } static FORCEINLINE HRESULT IMFMediaSource_Pause(IMFMediaSource* This) { return This->lpVtbl->Pause(This); } static FORCEINLINE HRESULT IMFMediaSource_Shutdown(IMFMediaSource* This) { return This->lpVtbl->Shutdown(This); } #endif #endif #endif HRESULT STDMETHODCALLTYPE IMFMediaSource_RemoteCreatePresentationDescriptor_Proxy( IMFMediaSource* This, DWORD *pcbPD, BYTE **pbPD, IMFPresentationDescriptor **ppRemotePD); void __RPC_STUB IMFMediaSource_RemoteCreatePresentationDescriptor_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IMFMediaSource_CreatePresentationDescriptor_Proxy( IMFMediaSource* This, IMFPresentationDescriptor **ppPresentationDescriptor); HRESULT __RPC_STUB IMFMediaSource_CreatePresentationDescriptor_Stub( IMFMediaSource* This, DWORD *pcbPD, BYTE **pbPD, IMFPresentationDescriptor **ppRemotePD); #endif /* __IMFMediaSource_INTERFACE_DEFINED__ */ typedef struct _MF_LEAKY_BUCKET_PAIR { DWORD dwBitrate; DWORD msBufferWindow; } MF_LEAKY_BUCKET_PAIR; typedef struct _MFBYTESTREAM_BUFFERING_PARAMS { QWORD cbTotalFileSize; QWORD cbPlayableDataSize; MF_LEAKY_BUCKET_PAIR *prgBuckets; DWORD cBuckets; QWORD qwNetBufferingTime; QWORD qwExtraBufferingTimeDuringSeek; QWORD qwPlayDuration; float dRate; } MFBYTESTREAM_BUFFERING_PARAMS; /***************************************************************************** * IMFByteStreamBuffering interface */ #ifndef __IMFByteStreamBuffering_INTERFACE_DEFINED__ #define __IMFByteStreamBuffering_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFByteStreamBuffering, 0x6d66d782, 0x1d4f, 0x4db7, 0x8c,0x63, 0xcb,0x8c,0x77,0xf1,0xef,0x5e); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("6d66d782-1d4f-4db7-8c63-cb8c77f1ef5e") IMFByteStreamBuffering : public IUnknown { virtual HRESULT STDMETHODCALLTYPE SetBufferingParams( MFBYTESTREAM_BUFFERING_PARAMS *pParams) = 0; virtual HRESULT STDMETHODCALLTYPE EnableBuffering( WINBOOL fEnable) = 0; virtual HRESULT STDMETHODCALLTYPE StopBuffering( ) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFByteStreamBuffering, 0x6d66d782, 0x1d4f, 0x4db7, 0x8c,0x63, 0xcb,0x8c,0x77,0xf1,0xef,0x5e) #endif #else typedef struct IMFByteStreamBufferingVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFByteStreamBuffering *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFByteStreamBuffering *This); ULONG (STDMETHODCALLTYPE *Release)( IMFByteStreamBuffering *This); /*** IMFByteStreamBuffering methods ***/ HRESULT (STDMETHODCALLTYPE *SetBufferingParams)( IMFByteStreamBuffering *This, MFBYTESTREAM_BUFFERING_PARAMS *pParams); HRESULT (STDMETHODCALLTYPE *EnableBuffering)( IMFByteStreamBuffering *This, WINBOOL fEnable); HRESULT (STDMETHODCALLTYPE *StopBuffering)( IMFByteStreamBuffering *This); END_INTERFACE } IMFByteStreamBufferingVtbl; interface IMFByteStreamBuffering { CONST_VTBL IMFByteStreamBufferingVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFByteStreamBuffering_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFByteStreamBuffering_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFByteStreamBuffering_Release(This) (This)->lpVtbl->Release(This) /*** IMFByteStreamBuffering methods ***/ #define IMFByteStreamBuffering_SetBufferingParams(This,pParams) (This)->lpVtbl->SetBufferingParams(This,pParams) #define IMFByteStreamBuffering_EnableBuffering(This,fEnable) (This)->lpVtbl->EnableBuffering(This,fEnable) #define IMFByteStreamBuffering_StopBuffering(This) (This)->lpVtbl->StopBuffering(This) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IMFByteStreamBuffering_QueryInterface(IMFByteStreamBuffering* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IMFByteStreamBuffering_AddRef(IMFByteStreamBuffering* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IMFByteStreamBuffering_Release(IMFByteStreamBuffering* This) { return This->lpVtbl->Release(This); } /*** IMFByteStreamBuffering methods ***/ static FORCEINLINE HRESULT IMFByteStreamBuffering_SetBufferingParams(IMFByteStreamBuffering* This,MFBYTESTREAM_BUFFERING_PARAMS *pParams) { return This->lpVtbl->SetBufferingParams(This,pParams); } static FORCEINLINE HRESULT IMFByteStreamBuffering_EnableBuffering(IMFByteStreamBuffering* This,WINBOOL fEnable) { return This->lpVtbl->EnableBuffering(This,fEnable); } static FORCEINLINE HRESULT IMFByteStreamBuffering_StopBuffering(IMFByteStreamBuffering* This) { return This->lpVtbl->StopBuffering(This); } #endif #endif #endif #endif /* __IMFByteStreamBuffering_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFClockStateSink interface */ #ifndef __IMFClockStateSink_INTERFACE_DEFINED__ #define __IMFClockStateSink_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFClockStateSink, 0xf6696e82, 0x74f7, 0x4f3d, 0xa1,0x78, 0x8a,0x5e,0x09,0xc3,0x65,0x9f); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("f6696e82-74f7-4f3d-a178-8a5e09c3659f") IMFClockStateSink : public IUnknown { virtual HRESULT STDMETHODCALLTYPE OnClockStart( MFTIME hnsSystemTime, LONGLONG llClockStartOffset) = 0; virtual HRESULT STDMETHODCALLTYPE OnClockStop( MFTIME hnsSystemTime) = 0; virtual HRESULT STDMETHODCALLTYPE OnClockPause( MFTIME hnsSystemTime) = 0; virtual HRESULT STDMETHODCALLTYPE OnClockRestart( MFTIME hnsSystemTime) = 0; virtual HRESULT STDMETHODCALLTYPE OnClockSetRate( MFTIME hnsSystemTime, float flRate) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFClockStateSink, 0xf6696e82, 0x74f7, 0x4f3d, 0xa1,0x78, 0x8a,0x5e,0x09,0xc3,0x65,0x9f) #endif #else typedef struct IMFClockStateSinkVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFClockStateSink *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFClockStateSink *This); ULONG (STDMETHODCALLTYPE *Release)( IMFClockStateSink *This); /*** IMFClockStateSink methods ***/ HRESULT (STDMETHODCALLTYPE *OnClockStart)( IMFClockStateSink *This, MFTIME hnsSystemTime, LONGLONG llClockStartOffset); HRESULT (STDMETHODCALLTYPE *OnClockStop)( IMFClockStateSink *This, MFTIME hnsSystemTime); HRESULT (STDMETHODCALLTYPE *OnClockPause)( IMFClockStateSink *This, MFTIME hnsSystemTime); HRESULT (STDMETHODCALLTYPE *OnClockRestart)( IMFClockStateSink *This, MFTIME hnsSystemTime); HRESULT (STDMETHODCALLTYPE *OnClockSetRate)( IMFClockStateSink *This, MFTIME hnsSystemTime, float flRate); END_INTERFACE } IMFClockStateSinkVtbl; interface IMFClockStateSink { CONST_VTBL IMFClockStateSinkVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFClockStateSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFClockStateSink_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFClockStateSink_Release(This) (This)->lpVtbl->Release(This) /*** IMFClockStateSink methods ***/ #define IMFClockStateSink_OnClockStart(This,hnsSystemTime,llClockStartOffset) (This)->lpVtbl->OnClockStart(This,hnsSystemTime,llClockStartOffset) #define IMFClockStateSink_OnClockStop(This,hnsSystemTime) (This)->lpVtbl->OnClockStop(This,hnsSystemTime) #define IMFClockStateSink_OnClockPause(This,hnsSystemTime) (This)->lpVtbl->OnClockPause(This,hnsSystemTime) #define IMFClockStateSink_OnClockRestart(This,hnsSystemTime) (This)->lpVtbl->OnClockRestart(This,hnsSystemTime) #define IMFClockStateSink_OnClockSetRate(This,hnsSystemTime,flRate) (This)->lpVtbl->OnClockSetRate(This,hnsSystemTime,flRate) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IMFClockStateSink_QueryInterface(IMFClockStateSink* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IMFClockStateSink_AddRef(IMFClockStateSink* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IMFClockStateSink_Release(IMFClockStateSink* This) { return This->lpVtbl->Release(This); } /*** IMFClockStateSink methods ***/ static FORCEINLINE HRESULT IMFClockStateSink_OnClockStart(IMFClockStateSink* This,MFTIME hnsSystemTime,LONGLONG llClockStartOffset) { return This->lpVtbl->OnClockStart(This,hnsSystemTime,llClockStartOffset); } static FORCEINLINE HRESULT IMFClockStateSink_OnClockStop(IMFClockStateSink* This,MFTIME hnsSystemTime) { return This->lpVtbl->OnClockStop(This,hnsSystemTime); } static FORCEINLINE HRESULT IMFClockStateSink_OnClockPause(IMFClockStateSink* This,MFTIME hnsSystemTime) { return This->lpVtbl->OnClockPause(This,hnsSystemTime); } static FORCEINLINE HRESULT IMFClockStateSink_OnClockRestart(IMFClockStateSink* This,MFTIME hnsSystemTime) { return This->lpVtbl->OnClockRestart(This,hnsSystemTime); } static FORCEINLINE HRESULT IMFClockStateSink_OnClockSetRate(IMFClockStateSink* This,MFTIME hnsSystemTime,float flRate) { return This->lpVtbl->OnClockSetRate(This,hnsSystemTime,flRate); } #endif #endif #endif #endif /* __IMFClockStateSink_INTERFACE_DEFINED__ */ HRESULT WINAPI MFRequireProtectedEnvironment(IMFPresentationDescriptor *pPresentationDescriptor); HRESULT WINAPI MFSerializePresentationDescriptor(IMFPresentationDescriptor *pPD,DWORD *pcbData,BYTE **ppbData); typedef DWORD MFSequencerElementId; typedef enum _MFCLOCK_CHARACTERISTICS_FLAGS { MFCLOCK_CHARACTERISTICS_FLAG_FREQUENCY_10MHZ = 0x2, MFCLOCK_CHARACTERISTICS_FLAG_ALWAYS_RUNNING = 0x4, MFCLOCK_CHARACTERISTICS_FLAG_IS_SYSTEM_CLOCK = 0x8 } MFCLOCK_CHARACTERISTICS_FLAGS; #if (WINVER >= 0x0601) typedef enum _MF_QUALITY_ADVISE_FLAGS { MF_QUALITY_CANNOT_KEEP_UP = 0x1 } MF_QUALITY_ADVISE_FLAGS; #endif /*(WINVER >= 0x0601)*/ typedef enum _MF_QUALITY_DROP_MODE { MF_DROP_MODE_NONE = 0x0, MF_DROP_MODE_1 = 0x1, MF_DROP_MODE_2 = 0x2, MF_DROP_MODE_3 = 0x3, MF_DROP_MODE_4 = 0x4, MF_DROP_MODE_5 = 0x5, MF_NUM_DROP_MODES = 0x6 } MF_QUALITY_DROP_MODE; typedef enum _MF_QUALITY_LEVEL { MF_QUALITY_NORMAL = 0x0, MF_QUALITY_NORMAL_MINUS_1 = 0x1, MF_QUALITY_NORMAL_MINUS_2 = 0x2, MF_QUALITY_NORMAL_MINUS_3 = 0x3, MF_QUALITY_NORMAL_MINUS_4 = 0x4, MF_QUALITY_NORMAL_MINUS_5 = 0x5, MF_NUM_QUALITY_LEVELS = 0x6 } MF_QUALITY_LEVEL; typedef enum _MF_TOPOLOGY_RESOLUTION_STATUS_FLAGS { MF_TOPOLOGY_RESOLUTION_SUCCEEDED = 0x0, MF_OPTIONAL_NODE_REJECTED_MEDIA_TYPE = 0x1, MF_OPTIONAL_NODE_REJECTED_PROTECTED_PROCESS = 0x2 } MF_TOPOLOGY_RESOLUTION_STATUS_FLAGS; typedef enum _MF_TOPONODE_DRAIN_MODE { MF_TOPONODE_DRAIN_DEFAULT = 0, MF_TOPONODE_DRAIN_ALWAYS = 1, MF_TOPONODE_DRAIN_NEVER = 2 } MF_TOPONODE_DRAIN_MODE; typedef enum _MF_TOPONODE_FLUSH_MODE { MF_TOPONODE_FLUSH_ALWAYS = 0, MF_TOPONODE_FLUSH_SEEK = 1, MF_TOPONODE_FLUSH_NEVER = 2 } MF_TOPONODE_FLUSH_MODE; #if (WINVER >= 0x0601) typedef enum _MF_TRANSCODE_TOPOLOGY_MODE_FLAGS { MF_TRANSCODE_TOPOLOGYMODE_SOFTWARE_ONLY = 0, MF_TRANSCODE_TOPOLOGYMODE_HARDWARE_ALLOWED = 1 } MF_TRANSCODE_TOPOLOGYMODE_FLAGS; #endif EXTERN_GUID(MF_TRANSCODE_CONTAINERTYPE, 0x150ff23f, 0x4abc, 0x478b, 0xac, 0x4f, 0xe1, 0x91, 0x6f, 0xba, 0x1c, 0xca); EXTERN_GUID(MFTranscodeContainerType_ASF, 0x430f6f6e, 0xb6bf, 0x4fc1, 0xa0, 0xbd, 0x9e, 0xe4, 0x6e, 0xee, 0x2a, 0xfb); EXTERN_GUID(MFTranscodeContainerType_MPEG4, 0xdc6cd05d, 0xb9d0, 0x40ef, 0xbd, 0x35, 0xfa, 0x62, 0x2c, 0x1a, 0xb2, 0x8a); EXTERN_GUID(MFTranscodeContainerType_MP3, 0xe438b912, 0x83f1, 0x4de6, 0x9e, 0x3a, 0x9f, 0xfb, 0xc6, 0xdd, 0x24, 0xd1); EXTERN_GUID(MFTranscodeContainerType_FLAC, 0x31344aa3, 0x05a9, 0x42b5, 0x90, 0x1b, 0x8e, 0x9d, 0x42, 0x57, 0xf7, 0x5e); EXTERN_GUID(MFTranscodeContainerType_3GP, 0x34c50167, 0x4472, 0x4f34, 0x9e, 0xa0, 0xc4, 0x9f, 0xba, 0xcf, 0x03, 0x7d); EXTERN_GUID(MFTranscodeContainerType_AC3, 0x6d8d91c3, 0x8c91, 0x4ed1, 0x87, 0x42, 0x8c, 0x34, 0x7d, 0x5b, 0x44, 0xd0); EXTERN_GUID(MFTranscodeContainerType_ADTS, 0x132fd27d, 0x0f02, 0x43de, 0xa3, 0x01, 0x38, 0xfb, 0xbb, 0xb3, 0x83, 0x4e); EXTERN_GUID(MFTranscodeContainerType_MPEG2, 0xbfc2dbf9, 0x7bb4, 0x4f8f, 0xaf, 0xde, 0xe1, 0x12, 0xc4, 0x4b, 0xa8, 0x82); EXTERN_GUID(MFTranscodeContainerType_WAVE, 0x64c3453c, 0x0f26, 0x4741, 0xbe, 0x63, 0x87, 0xbd, 0xf8, 0xbb, 0x93, 0x5b); EXTERN_GUID(MFTranscodeContainerType_AVI, 0x7edfe8af, 0x402f, 0x4d76, 0xa3, 0x3c, 0x61, 0x9f, 0xd1, 0x57, 0xd0, 0xf1); #if (WINVER >= _WIN32_WINNT_WIN8) EXTERN_GUID(MFTranscodeContainerType_FMPEG4, 0x9ba876f1, 0x419f, 0x4b77, 0xa1, 0xe0, 0x35, 0x95, 0x9d, 0x9d, 0x40, 0x4); #endif // (WINVER >= _WIN32_WINNT_WIN8) EXTERN_GUID(MFTranscodeContainerType_AMR, 0x25d5ad3, 0x621a, 0x475b, 0x96, 0x4d, 0x66, 0xb1, 0xc8, 0x24, 0xf0, 0x79); typedef enum __WIDL_mfidl_generated_name_0000002E { MF_LICENSE_URL_UNTRUSTED = 0, MF_LICENSE_URL_TRUSTED = 1, MF_LICENSE_URL_TAMPERED = 2 } MF_URL_TRUST_STATUS; typedef enum _MFCLOCK_RELATIONAL_FLAGS { MFCLOCK_RELATIONAL_FLAG_JITTER_NEVER_AHEAD = 0x1 } MFCLOCK_RELATIONAL_FLAGS; typedef enum _MFMEDIASOURCE_CHARACTERISTICS { MFMEDIASOURCE_IS_LIVE = 0x1, MFMEDIASOURCE_CAN_SEEK = 0x2, MFMEDIASOURCE_CAN_PAUSE = 0x4, MFMEDIASOURCE_HAS_SLOW_SEEK = 0x8, MFMEDIASOURCE_HAS_MULTIPLE_PRESENTATIONS = 0x10, MFMEDIASOURCE_CAN_SKIPFORWARD = 0x20, MFMEDIASOURCE_CAN_SKIPBACKWARD = 0x40 } MFMEDIASOURCE_CHARACTERISTICS; typedef enum _MFNET_PROXYSETTINGS { MFNET_PROXYSETTING_NONE = 0, MFNET_PROXYSETTING_MANUAL = 1, MFNET_PROXYSETTING_AUTO = 2, MFNET_PROXYSETTING_BROWSER = 3 } MFNET_PROXYSETTINGS; typedef enum _MFNetAuthenticationFlags { MFNET_AUTHENTICATION_PROXY = 0x1, MFNET_AUTHENTICATION_CLEAR_TEXT = 0x2, MFNET_AUTHENTICATION_LOGGED_ON_USER = 0x4 } MFNetAuthenticationFlags; typedef enum _MFNetCredentialOptions { MFNET_CREDENTIAL_SAVE = 0x1, MFNET_CREDENTIAL_DONT_CACHE = 0x2, MFNET_CREDENTIAL_ALLOW_CLEAR_TEXT = 0x4 } MFNetCredentialOptions; typedef enum _MFNetCredentialRequirements { REQUIRE_PROMPT = 0x1, REQUIRE_SAVE_SELECTED = 0x2 } MFNetCredentialRequirements; typedef enum _MFNETSOURCE_CACHE_STATE { MFNETSOURCE_CACHE_UNAVAILABLE = 0, MFNETSOURCE_CACHE_ACTIVE_WRITING = 1, MFNETSOURCE_CACHE_ACTIVE_COMPLETE = 2 } MFNETSOURCE_CACHE_STATE; typedef enum _MFNETSOURCE_PROTOCOL_TYPE { MFNETSOURCE_UNDEFINED = 0x0, MFNETSOURCE_HTTP = 0x1, MFNETSOURCE_RTSP = 0x2, MFNETSOURCE_FILE = 0x3, MFNETSOURCE_MULTICAST = 0x4 } MFNETSOURCE_PROTOCOL_TYPE; typedef enum _MFNETSOURCE_STATISTICS_IDS { MFNETSOURCE_RECVPACKETS_ID = 0, MFNETSOURCE_LOSTPACKETS_ID = 1, MFNETSOURCE_RESENDSREQUESTED_ID = 2, MFNETSOURCE_RESENDSRECEIVED_ID = 3, MFNETSOURCE_RECOVEREDBYECCPACKETS_ID = 4, MFNETSOURCE_RECOVEREDBYRTXPACKETS_ID = 5, MFNETSOURCE_OUTPACKETS_ID = 6, MFNETSOURCE_RECVRATE_ID = 7, MFNETSOURCE_AVGBANDWIDTHBPS_ID = 8, MFNETSOURCE_BYTESRECEIVED_ID = 9, MFNETSOURCE_PROTOCOL_ID = 10, MFNETSOURCE_TRANSPORT_ID = 11, MFNETSOURCE_CACHE_STATE_ID = 12, MFNETSOURCE_LINKBANDWIDTH_ID = 13, MFNETSOURCE_CONTENTBITRATE_ID = 14, MFNETSOURCE_SPEEDFACTOR_ID = 15, MFNETSOURCE_BUFFERSIZE_ID = 16, MFNETSOURCE_BUFFERPROGRESS_ID = 17, MFNETSOURCE_LASTBWSWITCHTS_ID = 18, MFNETSOURCE_SEEKRANGESTART_ID = 19, MFNETSOURCE_SEEKRANGEEND_ID = 20, MFNETSOURCE_BUFFERINGCOUNT_ID = 21, MFNETSOURCE_INCORRECTLYSIGNEDPACKETS_ID = 22, MFNETSOURCE_SIGNEDSESSION_ID = 23, MFNETSOURCE_MAXBITRATE_ID = 24, MFNETSOURCE_RECEPTION_QUALITY_ID = 25, MFNETSOURCE_RECOVEREDPACKETS_ID = 26, MFNETSOURCE_VBR_ID = 27, MFNETSOURCE_DOWNLOADPROGRESS_ID = 28 } MFNETSOURCE_STATISTICS_IDS; typedef enum _MFNETSOURCE_TRANSPORT_TYPE { MFNETSOURCE_UDP = 0, MFNETSOURCE_TCP = 1 } MFNETSOURCE_TRANSPORT_TYPE; typedef enum MF_OBJECT_TYPE { MF_OBJECT_MEDIASOURCE = 0, MF_OBJECT_BYTESTREAM = 1, MF_OBJECT_INVALID = 2 } MF_OBJECT_TYPE; typedef enum _MFPOLICYMANAGER_ACTION { PEACTION_NO = 0, PEACTION_PLAY = 1, PEACTION_COPY = 2, PEACTION_EXPORT = 3, PEACTION_EXTRACT = 4, PEACTION_RESERVED1 = 5, PEACTION_RESERVED2 = 6, PEACTION_RESERVED3 = 7, PEACTION_LAST = 7 } MFPOLICYMANAGER_ACTION; typedef enum _MFRATE_DIRECTION { MFRATE_FORWARD = 0, MFRATE_REVERSE = 1 } MFRATE_DIRECTION; typedef enum _MFSequencerTopologyFlags { SequencerTopologyFlags_Last = 0x1 } MFSequencerTopologyFlags; typedef enum _MFSHUTDOWN_STATUS { MFSHUTDOWN_INITIATED = 0, MFSHUTDOWN_COMPLETED = 1 } MFSHUTDOWN_STATUS; typedef enum MFSTREAMSINK_MARKER_TYPE { MFSTREAMSINK_MARKER_DEFAULT = 0, MFSTREAMSINK_MARKER_ENDOFSEGMENT = 1, MFSTREAMSINK_MARKER_TICK = 2, MFSTREAMSINK_MARKER_EVENT = 3 } MFSTREAMSINK_MARKER_TYPE; typedef enum MFTIMER_FLAGS { MFTIMER_RELATIVE = 0x1 } MFTIMER_FLAGS; #if (WINVER >= 0x0601) typedef enum MFTOPOLOGY_DXVA_MODE { MFTOPOLOGY_DXVA_DEFAULT = 0, MFTOPOLOGY_DXVA_NONE = 1, MFTOPOLOGY_DXVA_FULL = 2 } MFTOPOLOGY_DXVA_MODE; typedef enum MFTOPOLOGY_HARDWARE_MODE { MFTOPOLOGY_HWMODE_SOFTWARE_ONLY = 0, MFTOPOLOGY_HWMODE_USE_HARDWARE = 1 } MFTOPOLOGY_HARDWARE_MODE; typedef struct _MFT_REGISTRATION_INFO { CLSID clsid; GUID guidCategory; UINT32 uiFlags; LPCWSTR pszName; DWORD cInTypes; MFT_REGISTER_TYPE_INFO *pInTypes; DWORD cOutTypes; MFT_REGISTER_TYPE_INFO *pOutTypes; } MFT_REGISTRATION_INFO; #endif /*(WINVER >= 0x0601)*/ typedef struct _ASFFlatPicture { BYTE bPictureType; DWORD dwDataLen; } ASF_FLAT_PICTURE; typedef struct _ASFFlatSynchronisedLyrics { BYTE bTimeStampFormat; BYTE bContentType; DWORD dwLyricsLen; } ASF_FLAT_SYNCHRONISED_LYRICS; typedef enum SAMPLE_PROTECTION_VERSION { SAMPLE_PROTECTION_VERSION_NO = 0, SAMPLE_PROTECTION_VERSION_BASIC_LOKI = 1, SAMPLE_PROTECTION_VERSION_SCATTER = 2, SAMPLE_PROTECTION_VERSION_RC4 = 3 } SAMPLE_PROTECTION_VERSION; typedef struct _MFINPUTTRUSTAUTHORITY_ACTION { MFPOLICYMANAGER_ACTION Action; BYTE *pbTicket; DWORD cbTicket; } MFINPUTTRUSTAUTHORITY_ACCESS_ACTION; typedef struct _MFINPUTTRUSTAUTHORITY_ACCESS_PARAMS { DWORD dwSize; DWORD dwVer; DWORD cbSignatureOffset; DWORD cbSignatureSize; DWORD cbExtensionOffset; DWORD cbExtensionSize; DWORD cActions; MFINPUTTRUSTAUTHORITY_ACCESS_ACTION rgOutputActions[1]; } MFINPUTTRUSTAUTHORITY_ACCESS_PARAMS; typedef struct _MFNetCredentialManagerGetParam { HRESULT hrOp; WINBOOL fAllowLoggedOnUser; WINBOOL fClearTextPackage; LPCWSTR pszUrl; LPCWSTR pszSite; LPCWSTR pszRealm; LPCWSTR pszPackage; LONG nRetries; } MFNetCredentialManagerGetParam; #define MEDIASINK_FIXED_STREAMS 0x00000001 #define MEDIASINK_CANNOT_MATCH_CLOCK 0x00000002 #define MEDIASINK_RATELESS 0x00000004 #define MEDIASINK_CLOCK_REQUIRED 0x00000008 #define MEDIASINK_CAN_PREROLL 0x00000010 #define MEDIASINK_REQUIRE_REFERENCE_MEDIATYPE 0x00000020 enum { MF_RESOLUTION_MEDIASOURCE = 0x1, MF_RESOLUTION_BYTESTREAM = 0x2, MF_RESOLUTION_CONTENT_DOES_NOT_HAVE_TO_MATCH_EXTENSION_OR_MIME_TYPE = 0x10, MF_RESOLUTION_KEEP_BYTE_STREAM_ALIVE_ON_FAIL = 0x20, MF_RESOLUTION_READ = 0x10000, MF_RESOLUTION_WRITE = 0x20000 }; #ifndef __IMFASFContentInfo_FWD_DEFINED__ #define __IMFASFContentInfo_FWD_DEFINED__ typedef interface IMFASFContentInfo IMFASFContentInfo; #ifdef __cplusplus interface IMFASFContentInfo; #endif /* __cplusplus */ #endif #ifndef __IMFASFIndexer_FWD_DEFINED__ #define __IMFASFIndexer_FWD_DEFINED__ typedef interface IMFASFIndexer IMFASFIndexer; #ifdef __cplusplus interface IMFASFIndexer; #endif /* __cplusplus */ #endif #ifndef __IMFASFMultiplexer_FWD_DEFINED__ #define __IMFASFMultiplexer_FWD_DEFINED__ typedef interface IMFASFMultiplexer IMFASFMultiplexer; #ifdef __cplusplus interface IMFASFMultiplexer; #endif /* __cplusplus */ #endif #ifndef __IMFASFProfile_FWD_DEFINED__ #define __IMFASFProfile_FWD_DEFINED__ typedef interface IMFASFProfile IMFASFProfile; #ifdef __cplusplus interface IMFASFProfile; #endif /* __cplusplus */ #endif #ifndef __IMFASFSplitter_FWD_DEFINED__ #define __IMFASFSplitter_FWD_DEFINED__ typedef interface IMFASFSplitter IMFASFSplitter; #ifdef __cplusplus interface IMFASFSplitter; #endif /* __cplusplus */ #endif #ifndef __IMFPMPServer_FWD_DEFINED__ #define __IMFPMPServer_FWD_DEFINED__ typedef interface IMFPMPServer IMFPMPServer; #ifdef __cplusplus interface IMFPMPServer; #endif /* __cplusplus */ #endif #ifndef __IMFPresentationClock_FWD_DEFINED__ #define __IMFPresentationClock_FWD_DEFINED__ typedef interface IMFPresentationClock IMFPresentationClock; #ifdef __cplusplus interface IMFPresentationClock; #endif /* __cplusplus */ #endif #ifndef __IMFNetProxyLocator_FWD_DEFINED__ #define __IMFNetProxyLocator_FWD_DEFINED__ typedef interface IMFNetProxyLocator IMFNetProxyLocator; #ifdef __cplusplus interface IMFNetProxyLocator; #endif /* __cplusplus */ #endif #ifndef __IMFRemoteDesktopPlugin_FWD_DEFINED__ #define __IMFRemoteDesktopPlugin_FWD_DEFINED__ typedef interface IMFRemoteDesktopPlugin IMFRemoteDesktopPlugin; #ifdef __cplusplus interface IMFRemoteDesktopPlugin; #endif /* __cplusplus */ #endif #ifndef __IMFTransform_FWD_DEFINED__ #define __IMFTransform_FWD_DEFINED__ typedef interface IMFTransform IMFTransform; #ifdef __cplusplus interface IMFTransform; #endif /* __cplusplus */ #endif #ifndef __IMFSequencerSource_FWD_DEFINED__ #define __IMFSequencerSource_FWD_DEFINED__ typedef interface IMFSequencerSource IMFSequencerSource; #ifdef __cplusplus interface IMFSequencerSource; #endif /* __cplusplus */ #endif #ifndef __IMFStreamSink_FWD_DEFINED__ #define __IMFStreamSink_FWD_DEFINED__ typedef interface IMFStreamSink IMFStreamSink; #ifdef __cplusplus interface IMFStreamSink; #endif /* __cplusplus */ #endif #ifndef __IMFQualityManager_FWD_DEFINED__ #define __IMFQualityManager_FWD_DEFINED__ typedef interface IMFQualityManager IMFQualityManager; #ifdef __cplusplus interface IMFQualityManager; #endif /* __cplusplus */ #endif #ifndef __IMFTranscodeProfile_FWD_DEFINED__ #define __IMFTranscodeProfile_FWD_DEFINED__ typedef interface IMFTranscodeProfile IMFTranscodeProfile; #ifdef __cplusplus interface IMFTranscodeProfile; #endif /* __cplusplus */ #endif /***************************************************************************** * IMFAudioStreamVolume interface */ #ifndef __IMFAudioStreamVolume_INTERFACE_DEFINED__ #define __IMFAudioStreamVolume_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFAudioStreamVolume, 0x76b1bbdb, 0x4ec8, 0x4f36, 0xb1,0x06, 0x70,0xa9,0x31,0x6d,0xf5,0x93); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("76b1bbdb-4ec8-4f36-b106-70a9316df593") IMFAudioStreamVolume : public IUnknown { virtual HRESULT STDMETHODCALLTYPE GetChannelCount( UINT32 *pdwCount) = 0; virtual HRESULT STDMETHODCALLTYPE SetChannelVolume( UINT32 dwIndex, const float fLevel) = 0; virtual HRESULT STDMETHODCALLTYPE GetChannelVolume( UINT32 dwIndex, float *pfLevel) = 0; virtual HRESULT STDMETHODCALLTYPE SetAllVolumes( UINT32 dwCount, const float *pfVolumes) = 0; virtual HRESULT STDMETHODCALLTYPE GetAllVolumes( UINT32 dwCount, float *pfVolumes) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFAudioStreamVolume, 0x76b1bbdb, 0x4ec8, 0x4f36, 0xb1,0x06, 0x70,0xa9,0x31,0x6d,0xf5,0x93) #endif #else typedef struct IMFAudioStreamVolumeVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFAudioStreamVolume *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFAudioStreamVolume *This); ULONG (STDMETHODCALLTYPE *Release)( IMFAudioStreamVolume *This); /*** IMFAudioStreamVolume methods ***/ HRESULT (STDMETHODCALLTYPE *GetChannelCount)( IMFAudioStreamVolume *This, UINT32 *pdwCount); HRESULT (STDMETHODCALLTYPE *SetChannelVolume)( IMFAudioStreamVolume *This, UINT32 dwIndex, const float fLevel); HRESULT (STDMETHODCALLTYPE *GetChannelVolume)( IMFAudioStreamVolume *This, UINT32 dwIndex, float *pfLevel); HRESULT (STDMETHODCALLTYPE *SetAllVolumes)( IMFAudioStreamVolume *This, UINT32 dwCount, const float *pfVolumes); HRESULT (STDMETHODCALLTYPE *GetAllVolumes)( IMFAudioStreamVolume *This, UINT32 dwCount, float *pfVolumes); END_INTERFACE } IMFAudioStreamVolumeVtbl; interface IMFAudioStreamVolume { CONST_VTBL IMFAudioStreamVolumeVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFAudioStreamVolume_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFAudioStreamVolume_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFAudioStreamVolume_Release(This) (This)->lpVtbl->Release(This) /*** IMFAudioStreamVolume methods ***/ #define IMFAudioStreamVolume_GetChannelCount(This,pdwCount) (This)->lpVtbl->GetChannelCount(This,pdwCount) #define IMFAudioStreamVolume_SetChannelVolume(This,dwIndex,fLevel) (This)->lpVtbl->SetChannelVolume(This,dwIndex,fLevel) #define IMFAudioStreamVolume_GetChannelVolume(This,dwIndex,pfLevel) (This)->lpVtbl->GetChannelVolume(This,dwIndex,pfLevel) #define IMFAudioStreamVolume_SetAllVolumes(This,dwCount,pfVolumes) (This)->lpVtbl->SetAllVolumes(This,dwCount,pfVolumes) #define IMFAudioStreamVolume_GetAllVolumes(This,dwCount,pfVolumes) (This)->lpVtbl->GetAllVolumes(This,dwCount,pfVolumes) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IMFAudioStreamVolume_QueryInterface(IMFAudioStreamVolume* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IMFAudioStreamVolume_AddRef(IMFAudioStreamVolume* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IMFAudioStreamVolume_Release(IMFAudioStreamVolume* This) { return This->lpVtbl->Release(This); } /*** IMFAudioStreamVolume methods ***/ static FORCEINLINE HRESULT IMFAudioStreamVolume_GetChannelCount(IMFAudioStreamVolume* This,UINT32 *pdwCount) { return This->lpVtbl->GetChannelCount(This,pdwCount); } static FORCEINLINE HRESULT IMFAudioStreamVolume_SetChannelVolume(IMFAudioStreamVolume* This,UINT32 dwIndex,const float fLevel) { return This->lpVtbl->SetChannelVolume(This,dwIndex,fLevel); } static FORCEINLINE HRESULT IMFAudioStreamVolume_GetChannelVolume(IMFAudioStreamVolume* This,UINT32 dwIndex,float *pfLevel) { return This->lpVtbl->GetChannelVolume(This,dwIndex,pfLevel); } static FORCEINLINE HRESULT IMFAudioStreamVolume_SetAllVolumes(IMFAudioStreamVolume* This,UINT32 dwCount,const float *pfVolumes) { return This->lpVtbl->SetAllVolumes(This,dwCount,pfVolumes); } static FORCEINLINE HRESULT IMFAudioStreamVolume_GetAllVolumes(IMFAudioStreamVolume* This,UINT32 dwCount,float *pfVolumes) { return This->lpVtbl->GetAllVolumes(This,dwCount,pfVolumes); } #endif #endif #endif #endif /* __IMFAudioStreamVolume_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFMediaSink interface */ #ifndef __IMFMediaSink_INTERFACE_DEFINED__ #define __IMFMediaSink_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFMediaSink, 0x6ef2a660, 0x47c0, 0x4666, 0xb1,0x3d, 0xcb,0xb7,0x17,0xf2,0xfa,0x2c); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("6ef2a660-47c0-4666-b13d-cbb717f2fa2c") IMFMediaSink : public IUnknown { virtual HRESULT STDMETHODCALLTYPE GetCharacteristics( DWORD *pdwCharacteristics) = 0; virtual HRESULT STDMETHODCALLTYPE AddStreamSink( DWORD dwStreamSinkIdentifier, IMFMediaType *pMediaType, IMFStreamSink **ppStreamSink) = 0; virtual HRESULT STDMETHODCALLTYPE RemoveStreamSink( DWORD dwStreamSinkIdentifier) = 0; virtual HRESULT STDMETHODCALLTYPE GetStreamSinkCount( DWORD *pcStreamSinkCount) = 0; virtual HRESULT STDMETHODCALLTYPE GetStreamSinkByIndex( DWORD dwIndex, IMFStreamSink **ppStreamSink) = 0; virtual HRESULT STDMETHODCALLTYPE GetStreamSinkById( DWORD dwStreamSinkIdentifier, IMFStreamSink **ppStreamSink) = 0; virtual HRESULT STDMETHODCALLTYPE SetPresentationClock( IMFPresentationClock *pPresentationClock) = 0; virtual HRESULT STDMETHODCALLTYPE GetPresentationClock( IMFPresentationClock **ppPresentationClock) = 0; virtual HRESULT STDMETHODCALLTYPE Shutdown( ) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFMediaSink, 0x6ef2a660, 0x47c0, 0x4666, 0xb1,0x3d, 0xcb,0xb7,0x17,0xf2,0xfa,0x2c) #endif #else typedef struct IMFMediaSinkVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFMediaSink *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFMediaSink *This); ULONG (STDMETHODCALLTYPE *Release)( IMFMediaSink *This); /*** IMFMediaSink methods ***/ HRESULT (STDMETHODCALLTYPE *GetCharacteristics)( IMFMediaSink *This, DWORD *pdwCharacteristics); HRESULT (STDMETHODCALLTYPE *AddStreamSink)( IMFMediaSink *This, DWORD dwStreamSinkIdentifier, IMFMediaType *pMediaType, IMFStreamSink **ppStreamSink); HRESULT (STDMETHODCALLTYPE *RemoveStreamSink)( IMFMediaSink *This, DWORD dwStreamSinkIdentifier); HRESULT (STDMETHODCALLTYPE *GetStreamSinkCount)( IMFMediaSink *This, DWORD *pcStreamSinkCount); HRESULT (STDMETHODCALLTYPE *GetStreamSinkByIndex)( IMFMediaSink *This, DWORD dwIndex, IMFStreamSink **ppStreamSink); HRESULT (STDMETHODCALLTYPE *GetStreamSinkById)( IMFMediaSink *This, DWORD dwStreamSinkIdentifier, IMFStreamSink **ppStreamSink); HRESULT (STDMETHODCALLTYPE *SetPresentationClock)( IMFMediaSink *This, IMFPresentationClock *pPresentationClock); HRESULT (STDMETHODCALLTYPE *GetPresentationClock)( IMFMediaSink *This, IMFPresentationClock **ppPresentationClock); HRESULT (STDMETHODCALLTYPE *Shutdown)( IMFMediaSink *This); END_INTERFACE } IMFMediaSinkVtbl; interface IMFMediaSink { CONST_VTBL IMFMediaSinkVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFMediaSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFMediaSink_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFMediaSink_Release(This) (This)->lpVtbl->Release(This) /*** IMFMediaSink methods ***/ #define IMFMediaSink_GetCharacteristics(This,pdwCharacteristics) (This)->lpVtbl->GetCharacteristics(This,pdwCharacteristics) #define IMFMediaSink_AddStreamSink(This,dwStreamSinkIdentifier,pMediaType,ppStreamSink) (This)->lpVtbl->AddStreamSink(This,dwStreamSinkIdentifier,pMediaType,ppStreamSink) #define IMFMediaSink_RemoveStreamSink(This,dwStreamSinkIdentifier) (This)->lpVtbl->RemoveStreamSink(This,dwStreamSinkIdentifier) #define IMFMediaSink_GetStreamSinkCount(This,pcStreamSinkCount) (This)->lpVtbl->GetStreamSinkCount(This,pcStreamSinkCount) #define IMFMediaSink_GetStreamSinkByIndex(This,dwIndex,ppStreamSink) (This)->lpVtbl->GetStreamSinkByIndex(This,dwIndex,ppStreamSink) #define IMFMediaSink_GetStreamSinkById(This,dwStreamSinkIdentifier,ppStreamSink) (This)->lpVtbl->GetStreamSinkById(This,dwStreamSinkIdentifier,ppStreamSink) #define IMFMediaSink_SetPresentationClock(This,pPresentationClock) (This)->lpVtbl->SetPresentationClock(This,pPresentationClock) #define IMFMediaSink_GetPresentationClock(This,ppPresentationClock) (This)->lpVtbl->GetPresentationClock(This,ppPresentationClock) #define IMFMediaSink_Shutdown(This) (This)->lpVtbl->Shutdown(This) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IMFMediaSink_QueryInterface(IMFMediaSink* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IMFMediaSink_AddRef(IMFMediaSink* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IMFMediaSink_Release(IMFMediaSink* This) { return This->lpVtbl->Release(This); } /*** IMFMediaSink methods ***/ static FORCEINLINE HRESULT IMFMediaSink_GetCharacteristics(IMFMediaSink* This,DWORD *pdwCharacteristics) { return This->lpVtbl->GetCharacteristics(This,pdwCharacteristics); } static FORCEINLINE HRESULT IMFMediaSink_AddStreamSink(IMFMediaSink* This,DWORD dwStreamSinkIdentifier,IMFMediaType *pMediaType,IMFStreamSink **ppStreamSink) { return This->lpVtbl->AddStreamSink(This,dwStreamSinkIdentifier,pMediaType,ppStreamSink); } static FORCEINLINE HRESULT IMFMediaSink_RemoveStreamSink(IMFMediaSink* This,DWORD dwStreamSinkIdentifier) { return This->lpVtbl->RemoveStreamSink(This,dwStreamSinkIdentifier); } static FORCEINLINE HRESULT IMFMediaSink_GetStreamSinkCount(IMFMediaSink* This,DWORD *pcStreamSinkCount) { return This->lpVtbl->GetStreamSinkCount(This,pcStreamSinkCount); } static FORCEINLINE HRESULT IMFMediaSink_GetStreamSinkByIndex(IMFMediaSink* This,DWORD dwIndex,IMFStreamSink **ppStreamSink) { return This->lpVtbl->GetStreamSinkByIndex(This,dwIndex,ppStreamSink); } static FORCEINLINE HRESULT IMFMediaSink_GetStreamSinkById(IMFMediaSink* This,DWORD dwStreamSinkIdentifier,IMFStreamSink **ppStreamSink) { return This->lpVtbl->GetStreamSinkById(This,dwStreamSinkIdentifier,ppStreamSink); } static FORCEINLINE HRESULT IMFMediaSink_SetPresentationClock(IMFMediaSink* This,IMFPresentationClock *pPresentationClock) { return This->lpVtbl->SetPresentationClock(This,pPresentationClock); } static FORCEINLINE HRESULT IMFMediaSink_GetPresentationClock(IMFMediaSink* This,IMFPresentationClock **ppPresentationClock) { return This->lpVtbl->GetPresentationClock(This,ppPresentationClock); } static FORCEINLINE HRESULT IMFMediaSink_Shutdown(IMFMediaSink* This) { return This->lpVtbl->Shutdown(This); } #endif #endif #endif #endif /* __IMFMediaSink_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFFinalizableMediaSink interface */ #ifndef __IMFFinalizableMediaSink_INTERFACE_DEFINED__ #define __IMFFinalizableMediaSink_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFFinalizableMediaSink, 0xeaecb74a, 0x9a50, 0x42ce, 0x95,0x41, 0x6a,0x7f,0x57,0xaa,0x4a,0xd7); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("eaecb74a-9a50-42ce-9541-6a7f57aa4ad7") IMFFinalizableMediaSink : public IMFMediaSink { virtual HRESULT STDMETHODCALLTYPE BeginFinalize( IMFAsyncCallback *pCallback, IUnknown *punkState) = 0; virtual HRESULT STDMETHODCALLTYPE EndFinalize( IMFAsyncResult *pResult) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFFinalizableMediaSink, 0xeaecb74a, 0x9a50, 0x42ce, 0x95,0x41, 0x6a,0x7f,0x57,0xaa,0x4a,0xd7) #endif #else typedef struct IMFFinalizableMediaSinkVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFFinalizableMediaSink *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFFinalizableMediaSink *This); ULONG (STDMETHODCALLTYPE *Release)( IMFFinalizableMediaSink *This); /*** IMFMediaSink methods ***/ HRESULT (STDMETHODCALLTYPE *GetCharacteristics)( IMFFinalizableMediaSink *This, DWORD *pdwCharacteristics); HRESULT (STDMETHODCALLTYPE *AddStreamSink)( IMFFinalizableMediaSink *This, DWORD dwStreamSinkIdentifier, IMFMediaType *pMediaType, IMFStreamSink **ppStreamSink); HRESULT (STDMETHODCALLTYPE *RemoveStreamSink)( IMFFinalizableMediaSink *This, DWORD dwStreamSinkIdentifier); HRESULT (STDMETHODCALLTYPE *GetStreamSinkCount)( IMFFinalizableMediaSink *This, DWORD *pcStreamSinkCount); HRESULT (STDMETHODCALLTYPE *GetStreamSinkByIndex)( IMFFinalizableMediaSink *This, DWORD dwIndex, IMFStreamSink **ppStreamSink); HRESULT (STDMETHODCALLTYPE *GetStreamSinkById)( IMFFinalizableMediaSink *This, DWORD dwStreamSinkIdentifier, IMFStreamSink **ppStreamSink); HRESULT (STDMETHODCALLTYPE *SetPresentationClock)( IMFFinalizableMediaSink *This, IMFPresentationClock *pPresentationClock); HRESULT (STDMETHODCALLTYPE *GetPresentationClock)( IMFFinalizableMediaSink *This, IMFPresentationClock **ppPresentationClock); HRESULT (STDMETHODCALLTYPE *Shutdown)( IMFFinalizableMediaSink *This); /*** IMFFinalizableMediaSink methods ***/ HRESULT (STDMETHODCALLTYPE *BeginFinalize)( IMFFinalizableMediaSink *This, IMFAsyncCallback *pCallback, IUnknown *punkState); HRESULT (STDMETHODCALLTYPE *EndFinalize)( IMFFinalizableMediaSink *This, IMFAsyncResult *pResult); END_INTERFACE } IMFFinalizableMediaSinkVtbl; interface IMFFinalizableMediaSink { CONST_VTBL IMFFinalizableMediaSinkVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFFinalizableMediaSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFFinalizableMediaSink_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFFinalizableMediaSink_Release(This) (This)->lpVtbl->Release(This) /*** IMFMediaSink methods ***/ #define IMFFinalizableMediaSink_GetCharacteristics(This,pdwCharacteristics) (This)->lpVtbl->GetCharacteristics(This,pdwCharacteristics) #define IMFFinalizableMediaSink_AddStreamSink(This,dwStreamSinkIdentifier,pMediaType,ppStreamSink) (This)->lpVtbl->AddStreamSink(This,dwStreamSinkIdentifier,pMediaType,ppStreamSink) #define IMFFinalizableMediaSink_RemoveStreamSink(This,dwStreamSinkIdentifier) (This)->lpVtbl->RemoveStreamSink(This,dwStreamSinkIdentifier) #define IMFFinalizableMediaSink_GetStreamSinkCount(This,pcStreamSinkCount) (This)->lpVtbl->GetStreamSinkCount(This,pcStreamSinkCount) #define IMFFinalizableMediaSink_GetStreamSinkByIndex(This,dwIndex,ppStreamSink) (This)->lpVtbl->GetStreamSinkByIndex(This,dwIndex,ppStreamSink) #define IMFFinalizableMediaSink_GetStreamSinkById(This,dwStreamSinkIdentifier,ppStreamSink) (This)->lpVtbl->GetStreamSinkById(This,dwStreamSinkIdentifier,ppStreamSink) #define IMFFinalizableMediaSink_SetPresentationClock(This,pPresentationClock) (This)->lpVtbl->SetPresentationClock(This,pPresentationClock) #define IMFFinalizableMediaSink_GetPresentationClock(This,ppPresentationClock) (This)->lpVtbl->GetPresentationClock(This,ppPresentationClock) #define IMFFinalizableMediaSink_Shutdown(This) (This)->lpVtbl->Shutdown(This) /*** IMFFinalizableMediaSink methods ***/ #define IMFFinalizableMediaSink_BeginFinalize(This,pCallback,punkState) (This)->lpVtbl->BeginFinalize(This,pCallback,punkState) #define IMFFinalizableMediaSink_EndFinalize(This,pResult) (This)->lpVtbl->EndFinalize(This,pResult) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IMFFinalizableMediaSink_QueryInterface(IMFFinalizableMediaSink* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IMFFinalizableMediaSink_AddRef(IMFFinalizableMediaSink* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IMFFinalizableMediaSink_Release(IMFFinalizableMediaSink* This) { return This->lpVtbl->Release(This); } /*** IMFMediaSink methods ***/ static FORCEINLINE HRESULT IMFFinalizableMediaSink_GetCharacteristics(IMFFinalizableMediaSink* This,DWORD *pdwCharacteristics) { return This->lpVtbl->GetCharacteristics(This,pdwCharacteristics); } static FORCEINLINE HRESULT IMFFinalizableMediaSink_AddStreamSink(IMFFinalizableMediaSink* This,DWORD dwStreamSinkIdentifier,IMFMediaType *pMediaType,IMFStreamSink **ppStreamSink) { return This->lpVtbl->AddStreamSink(This,dwStreamSinkIdentifier,pMediaType,ppStreamSink); } static FORCEINLINE HRESULT IMFFinalizableMediaSink_RemoveStreamSink(IMFFinalizableMediaSink* This,DWORD dwStreamSinkIdentifier) { return This->lpVtbl->RemoveStreamSink(This,dwStreamSinkIdentifier); } static FORCEINLINE HRESULT IMFFinalizableMediaSink_GetStreamSinkCount(IMFFinalizableMediaSink* This,DWORD *pcStreamSinkCount) { return This->lpVtbl->GetStreamSinkCount(This,pcStreamSinkCount); } static FORCEINLINE HRESULT IMFFinalizableMediaSink_GetStreamSinkByIndex(IMFFinalizableMediaSink* This,DWORD dwIndex,IMFStreamSink **ppStreamSink) { return This->lpVtbl->GetStreamSinkByIndex(This,dwIndex,ppStreamSink); } static FORCEINLINE HRESULT IMFFinalizableMediaSink_GetStreamSinkById(IMFFinalizableMediaSink* This,DWORD dwStreamSinkIdentifier,IMFStreamSink **ppStreamSink) { return This->lpVtbl->GetStreamSinkById(This,dwStreamSinkIdentifier,ppStreamSink); } static FORCEINLINE HRESULT IMFFinalizableMediaSink_SetPresentationClock(IMFFinalizableMediaSink* This,IMFPresentationClock *pPresentationClock) { return This->lpVtbl->SetPresentationClock(This,pPresentationClock); } static FORCEINLINE HRESULT IMFFinalizableMediaSink_GetPresentationClock(IMFFinalizableMediaSink* This,IMFPresentationClock **ppPresentationClock) { return This->lpVtbl->GetPresentationClock(This,ppPresentationClock); } static FORCEINLINE HRESULT IMFFinalizableMediaSink_Shutdown(IMFFinalizableMediaSink* This) { return This->lpVtbl->Shutdown(This); } /*** IMFFinalizableMediaSink methods ***/ static FORCEINLINE HRESULT IMFFinalizableMediaSink_BeginFinalize(IMFFinalizableMediaSink* This,IMFAsyncCallback *pCallback,IUnknown *punkState) { return This->lpVtbl->BeginFinalize(This,pCallback,punkState); } static FORCEINLINE HRESULT IMFFinalizableMediaSink_EndFinalize(IMFFinalizableMediaSink* This,IMFAsyncResult *pResult) { return This->lpVtbl->EndFinalize(This,pResult); } #endif #endif #endif #endif /* __IMFFinalizableMediaSink_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFMediaSinkPreroll interface */ #ifndef __IMFMediaSinkPreroll_INTERFACE_DEFINED__ #define __IMFMediaSinkPreroll_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFMediaSinkPreroll, 0x5dfd4b2a, 0x7674, 0x4110, 0xa4,0xe6, 0x8a,0x68,0xfd,0x5f,0x36,0x88); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("5dfd4b2a-7674-4110-a4e6-8a68fd5f3688") IMFMediaSinkPreroll : public IUnknown { virtual HRESULT STDMETHODCALLTYPE NotifyPreroll( MFTIME hnsUpcomingStartTime) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFMediaSinkPreroll, 0x5dfd4b2a, 0x7674, 0x4110, 0xa4,0xe6, 0x8a,0x68,0xfd,0x5f,0x36,0x88) #endif #else typedef struct IMFMediaSinkPrerollVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFMediaSinkPreroll *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFMediaSinkPreroll *This); ULONG (STDMETHODCALLTYPE *Release)( IMFMediaSinkPreroll *This); /*** IMFMediaSinkPreroll methods ***/ HRESULT (STDMETHODCALLTYPE *NotifyPreroll)( IMFMediaSinkPreroll *This, MFTIME hnsUpcomingStartTime); END_INTERFACE } IMFMediaSinkPrerollVtbl; interface IMFMediaSinkPreroll { CONST_VTBL IMFMediaSinkPrerollVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFMediaSinkPreroll_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFMediaSinkPreroll_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFMediaSinkPreroll_Release(This) (This)->lpVtbl->Release(This) /*** IMFMediaSinkPreroll methods ***/ #define IMFMediaSinkPreroll_NotifyPreroll(This,hnsUpcomingStartTime) (This)->lpVtbl->NotifyPreroll(This,hnsUpcomingStartTime) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IMFMediaSinkPreroll_QueryInterface(IMFMediaSinkPreroll* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IMFMediaSinkPreroll_AddRef(IMFMediaSinkPreroll* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IMFMediaSinkPreroll_Release(IMFMediaSinkPreroll* This) { return This->lpVtbl->Release(This); } /*** IMFMediaSinkPreroll methods ***/ static FORCEINLINE HRESULT IMFMediaSinkPreroll_NotifyPreroll(IMFMediaSinkPreroll* This,MFTIME hnsUpcomingStartTime) { return This->lpVtbl->NotifyPreroll(This,hnsUpcomingStartTime); } #endif #endif #endif #endif /* __IMFMediaSinkPreroll_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFMediaStream interface */ #ifndef __IMFMediaStream_INTERFACE_DEFINED__ #define __IMFMediaStream_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFMediaStream, 0xd182108f, 0x4ec6, 0x443f, 0xaa,0x42, 0xa7,0x11,0x06,0xec,0x82,0x5f); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("d182108f-4ec6-443f-aa42-a71106ec825f") IMFMediaStream : public IMFMediaEventGenerator { virtual HRESULT STDMETHODCALLTYPE GetMediaSource( IMFMediaSource **ppMediaSource) = 0; virtual HRESULT STDMETHODCALLTYPE GetStreamDescriptor( IMFStreamDescriptor **ppStreamDescriptor) = 0; virtual HRESULT STDMETHODCALLTYPE RequestSample( IUnknown *pToken) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFMediaStream, 0xd182108f, 0x4ec6, 0x443f, 0xaa,0x42, 0xa7,0x11,0x06,0xec,0x82,0x5f) #endif #else typedef struct IMFMediaStreamVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFMediaStream *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFMediaStream *This); ULONG (STDMETHODCALLTYPE *Release)( IMFMediaStream *This); /*** IMFMediaEventGenerator methods ***/ HRESULT (STDMETHODCALLTYPE *GetEvent)( IMFMediaStream *This, DWORD dwFlags, IMFMediaEvent **ppEvent); HRESULT (STDMETHODCALLTYPE *BeginGetEvent)( IMFMediaStream *This, IMFAsyncCallback *pCallback, IUnknown *punkState); HRESULT (STDMETHODCALLTYPE *EndGetEvent)( IMFMediaStream *This, IMFAsyncResult *pResult, IMFMediaEvent **ppEvent); HRESULT (STDMETHODCALLTYPE *QueueEvent)( IMFMediaStream *This, MediaEventType met, REFGUID guidExtendedType, HRESULT hrStatus, const PROPVARIANT *pvValue); /*** IMFMediaStream methods ***/ HRESULT (STDMETHODCALLTYPE *GetMediaSource)( IMFMediaStream *This, IMFMediaSource **ppMediaSource); HRESULT (STDMETHODCALLTYPE *GetStreamDescriptor)( IMFMediaStream *This, IMFStreamDescriptor **ppStreamDescriptor); HRESULT (STDMETHODCALLTYPE *RequestSample)( IMFMediaStream *This, IUnknown *pToken); END_INTERFACE } IMFMediaStreamVtbl; interface IMFMediaStream { CONST_VTBL IMFMediaStreamVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFMediaStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFMediaStream_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFMediaStream_Release(This) (This)->lpVtbl->Release(This) /*** IMFMediaEventGenerator methods ***/ #define IMFMediaStream_GetEvent(This,dwFlags,ppEvent) (This)->lpVtbl->GetEvent(This,dwFlags,ppEvent) #define IMFMediaStream_BeginGetEvent(This,pCallback,punkState) (This)->lpVtbl->BeginGetEvent(This,pCallback,punkState) #define IMFMediaStream_EndGetEvent(This,pResult,ppEvent) (This)->lpVtbl->EndGetEvent(This,pResult,ppEvent) #define IMFMediaStream_QueueEvent(This,met,guidExtendedType,hrStatus,pvValue) (This)->lpVtbl->QueueEvent(This,met,guidExtendedType,hrStatus,pvValue) /*** IMFMediaStream methods ***/ #define IMFMediaStream_GetMediaSource(This,ppMediaSource) (This)->lpVtbl->GetMediaSource(This,ppMediaSource) #define IMFMediaStream_GetStreamDescriptor(This,ppStreamDescriptor) (This)->lpVtbl->GetStreamDescriptor(This,ppStreamDescriptor) #define IMFMediaStream_RequestSample(This,pToken) (This)->lpVtbl->RequestSample(This,pToken) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IMFMediaStream_QueryInterface(IMFMediaStream* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IMFMediaStream_AddRef(IMFMediaStream* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IMFMediaStream_Release(IMFMediaStream* This) { return This->lpVtbl->Release(This); } /*** IMFMediaEventGenerator methods ***/ static FORCEINLINE HRESULT IMFMediaStream_GetEvent(IMFMediaStream* This,DWORD dwFlags,IMFMediaEvent **ppEvent) { return This->lpVtbl->GetEvent(This,dwFlags,ppEvent); } static FORCEINLINE HRESULT IMFMediaStream_BeginGetEvent(IMFMediaStream* This,IMFAsyncCallback *pCallback,IUnknown *punkState) { return This->lpVtbl->BeginGetEvent(This,pCallback,punkState); } static FORCEINLINE HRESULT IMFMediaStream_EndGetEvent(IMFMediaStream* This,IMFAsyncResult *pResult,IMFMediaEvent **ppEvent) { return This->lpVtbl->EndGetEvent(This,pResult,ppEvent); } static FORCEINLINE HRESULT IMFMediaStream_QueueEvent(IMFMediaStream* This,MediaEventType met,REFGUID guidExtendedType,HRESULT hrStatus,const PROPVARIANT *pvValue) { return This->lpVtbl->QueueEvent(This,met,guidExtendedType,hrStatus,pvValue); } /*** IMFMediaStream methods ***/ static FORCEINLINE HRESULT IMFMediaStream_GetMediaSource(IMFMediaStream* This,IMFMediaSource **ppMediaSource) { return This->lpVtbl->GetMediaSource(This,ppMediaSource); } static FORCEINLINE HRESULT IMFMediaStream_GetStreamDescriptor(IMFMediaStream* This,IMFStreamDescriptor **ppStreamDescriptor) { return This->lpVtbl->GetStreamDescriptor(This,ppStreamDescriptor); } static FORCEINLINE HRESULT IMFMediaStream_RequestSample(IMFMediaStream* This,IUnknown *pToken) { return This->lpVtbl->RequestSample(This,pToken); } #endif #endif #endif HRESULT STDMETHODCALLTYPE IMFMediaStream_RemoteRequestSample_Proxy( IMFMediaStream* This); void __RPC_STUB IMFMediaStream_RemoteRequestSample_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IMFMediaStream_RequestSample_Proxy( IMFMediaStream* This, IUnknown *pToken); HRESULT __RPC_STUB IMFMediaStream_RequestSample_Stub( IMFMediaStream* This); #endif /* __IMFMediaStream_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFMetadata interface */ #ifndef __IMFMetadata_INTERFACE_DEFINED__ #define __IMFMetadata_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFMetadata, 0xf88cfb8c, 0xef16, 0x4991, 0xb4,0x50, 0xcb,0x8c,0x69,0xe5,0x17,0x04); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("f88cfb8c-ef16-4991-b450-cb8c69e51704") IMFMetadata : public IUnknown { virtual HRESULT STDMETHODCALLTYPE SetLanguage( LPCWSTR pwszRFC1766) = 0; virtual HRESULT STDMETHODCALLTYPE GetLanguage( LPWSTR *ppwszRFC1766) = 0; virtual HRESULT STDMETHODCALLTYPE GetAllLanguages( PROPVARIANT *ppvLanguages) = 0; virtual HRESULT STDMETHODCALLTYPE SetProperty( LPCWSTR pwszName, const PROPVARIANT *ppvValue) = 0; virtual HRESULT STDMETHODCALLTYPE GetProperty( LPCWSTR pwszName, PROPVARIANT *ppvValue) = 0; virtual HRESULT STDMETHODCALLTYPE DeleteProperty( LPCWSTR pwszName) = 0; virtual HRESULT STDMETHODCALLTYPE GetAllPropertyNames( PROPVARIANT *ppvNames) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFMetadata, 0xf88cfb8c, 0xef16, 0x4991, 0xb4,0x50, 0xcb,0x8c,0x69,0xe5,0x17,0x04) #endif #else typedef struct IMFMetadataVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFMetadata *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFMetadata *This); ULONG (STDMETHODCALLTYPE *Release)( IMFMetadata *This); /*** IMFMetadata methods ***/ HRESULT (STDMETHODCALLTYPE *SetLanguage)( IMFMetadata *This, LPCWSTR pwszRFC1766); HRESULT (STDMETHODCALLTYPE *GetLanguage)( IMFMetadata *This, LPWSTR *ppwszRFC1766); HRESULT (STDMETHODCALLTYPE *GetAllLanguages)( IMFMetadata *This, PROPVARIANT *ppvLanguages); HRESULT (STDMETHODCALLTYPE *SetProperty)( IMFMetadata *This, LPCWSTR pwszName, const PROPVARIANT *ppvValue); HRESULT (STDMETHODCALLTYPE *GetProperty)( IMFMetadata *This, LPCWSTR pwszName, PROPVARIANT *ppvValue); HRESULT (STDMETHODCALLTYPE *DeleteProperty)( IMFMetadata *This, LPCWSTR pwszName); HRESULT (STDMETHODCALLTYPE *GetAllPropertyNames)( IMFMetadata *This, PROPVARIANT *ppvNames); END_INTERFACE } IMFMetadataVtbl; interface IMFMetadata { CONST_VTBL IMFMetadataVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFMetadata_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFMetadata_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFMetadata_Release(This) (This)->lpVtbl->Release(This) /*** IMFMetadata methods ***/ #define IMFMetadata_SetLanguage(This,pwszRFC1766) (This)->lpVtbl->SetLanguage(This,pwszRFC1766) #define IMFMetadata_GetLanguage(This,ppwszRFC1766) (This)->lpVtbl->GetLanguage(This,ppwszRFC1766) #define IMFMetadata_GetAllLanguages(This,ppvLanguages) (This)->lpVtbl->GetAllLanguages(This,ppvLanguages) #define IMFMetadata_SetProperty(This,pwszName,ppvValue) (This)->lpVtbl->SetProperty(This,pwszName,ppvValue) #define IMFMetadata_GetProperty(This,pwszName,ppvValue) (This)->lpVtbl->GetProperty(This,pwszName,ppvValue) #define IMFMetadata_DeleteProperty(This,pwszName) (This)->lpVtbl->DeleteProperty(This,pwszName) #define IMFMetadata_GetAllPropertyNames(This,ppvNames) (This)->lpVtbl->GetAllPropertyNames(This,ppvNames) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IMFMetadata_QueryInterface(IMFMetadata* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IMFMetadata_AddRef(IMFMetadata* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IMFMetadata_Release(IMFMetadata* This) { return This->lpVtbl->Release(This); } /*** IMFMetadata methods ***/ static FORCEINLINE HRESULT IMFMetadata_SetLanguage(IMFMetadata* This,LPCWSTR pwszRFC1766) { return This->lpVtbl->SetLanguage(This,pwszRFC1766); } static FORCEINLINE HRESULT IMFMetadata_GetLanguage(IMFMetadata* This,LPWSTR *ppwszRFC1766) { return This->lpVtbl->GetLanguage(This,ppwszRFC1766); } static FORCEINLINE HRESULT IMFMetadata_GetAllLanguages(IMFMetadata* This,PROPVARIANT *ppvLanguages) { return This->lpVtbl->GetAllLanguages(This,ppvLanguages); } static FORCEINLINE HRESULT IMFMetadata_SetProperty(IMFMetadata* This,LPCWSTR pwszName,const PROPVARIANT *ppvValue) { return This->lpVtbl->SetProperty(This,pwszName,ppvValue); } static FORCEINLINE HRESULT IMFMetadata_GetProperty(IMFMetadata* This,LPCWSTR pwszName,PROPVARIANT *ppvValue) { return This->lpVtbl->GetProperty(This,pwszName,ppvValue); } static FORCEINLINE HRESULT IMFMetadata_DeleteProperty(IMFMetadata* This,LPCWSTR pwszName) { return This->lpVtbl->DeleteProperty(This,pwszName); } static FORCEINLINE HRESULT IMFMetadata_GetAllPropertyNames(IMFMetadata* This,PROPVARIANT *ppvNames) { return This->lpVtbl->GetAllPropertyNames(This,ppvNames); } #endif #endif #endif #endif /* __IMFMetadata_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFMetadataProvider interface */ #ifndef __IMFMetadataProvider_INTERFACE_DEFINED__ #define __IMFMetadataProvider_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFMetadataProvider, 0x56181d2d, 0xe221, 0x4adb, 0xb1,0xc8, 0x3c,0xee,0x6a,0x53,0xf7,0x6f); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("56181d2d-e221-4adb-b1c8-3cee6a53f76f") IMFMetadataProvider : public IUnknown { virtual HRESULT STDMETHODCALLTYPE GetMFMetadata( IMFPresentationDescriptor *pPresentationDescriptor, DWORD dwStreamIdentifier, DWORD dwFlags, IMFMetadata **ppMFMetadata) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFMetadataProvider, 0x56181d2d, 0xe221, 0x4adb, 0xb1,0xc8, 0x3c,0xee,0x6a,0x53,0xf7,0x6f) #endif #else typedef struct IMFMetadataProviderVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFMetadataProvider *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFMetadataProvider *This); ULONG (STDMETHODCALLTYPE *Release)( IMFMetadataProvider *This); /*** IMFMetadataProvider methods ***/ HRESULT (STDMETHODCALLTYPE *GetMFMetadata)( IMFMetadataProvider *This, IMFPresentationDescriptor *pPresentationDescriptor, DWORD dwStreamIdentifier, DWORD dwFlags, IMFMetadata **ppMFMetadata); END_INTERFACE } IMFMetadataProviderVtbl; interface IMFMetadataProvider { CONST_VTBL IMFMetadataProviderVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFMetadataProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFMetadataProvider_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFMetadataProvider_Release(This) (This)->lpVtbl->Release(This) /*** IMFMetadataProvider methods ***/ #define IMFMetadataProvider_GetMFMetadata(This,pPresentationDescriptor,dwStreamIdentifier,dwFlags,ppMFMetadata) (This)->lpVtbl->GetMFMetadata(This,pPresentationDescriptor,dwStreamIdentifier,dwFlags,ppMFMetadata) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IMFMetadataProvider_QueryInterface(IMFMetadataProvider* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IMFMetadataProvider_AddRef(IMFMetadataProvider* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IMFMetadataProvider_Release(IMFMetadataProvider* This) { return This->lpVtbl->Release(This); } /*** IMFMetadataProvider methods ***/ static FORCEINLINE HRESULT IMFMetadataProvider_GetMFMetadata(IMFMetadataProvider* This,IMFPresentationDescriptor *pPresentationDescriptor,DWORD dwStreamIdentifier,DWORD dwFlags,IMFMetadata **ppMFMetadata) { return This->lpVtbl->GetMFMetadata(This,pPresentationDescriptor,dwStreamIdentifier,dwFlags,ppMFMetadata); } #endif #endif #endif #endif /* __IMFMetadataProvider_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFPresentationTimeSource interface */ #ifndef __IMFPresentationTimeSource_INTERFACE_DEFINED__ #define __IMFPresentationTimeSource_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFPresentationTimeSource, 0x7ff12cce, 0xf76f, 0x41c2, 0x86,0x3b, 0x16,0x66,0xc8,0xe5,0xe1,0x39); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("7ff12cce-f76f-41c2-863b-1666c8e5e139") IMFPresentationTimeSource : public IMFClock { virtual HRESULT STDMETHODCALLTYPE GetUnderlyingClock( IMFClock **ppClock) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFPresentationTimeSource, 0x7ff12cce, 0xf76f, 0x41c2, 0x86,0x3b, 0x16,0x66,0xc8,0xe5,0xe1,0x39) #endif #else typedef struct IMFPresentationTimeSourceVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFPresentationTimeSource *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFPresentationTimeSource *This); ULONG (STDMETHODCALLTYPE *Release)( IMFPresentationTimeSource *This); /*** IMFClock methods ***/ HRESULT (STDMETHODCALLTYPE *GetClockCharacteristics)( IMFPresentationTimeSource *This, DWORD *pdwCharacteristics); HRESULT (STDMETHODCALLTYPE *GetCorrelatedTime)( IMFPresentationTimeSource *This, DWORD dwReserved, LONGLONG *pllClockTime, MFTIME *phnsSystemTime); HRESULT (STDMETHODCALLTYPE *GetContinuityKey)( IMFPresentationTimeSource *This, DWORD *pdwContinuityKey); HRESULT (STDMETHODCALLTYPE *GetState)( IMFPresentationTimeSource *This, DWORD dwReserved, MFCLOCK_STATE *peClockState); HRESULT (STDMETHODCALLTYPE *GetProperties)( IMFPresentationTimeSource *This, MFCLOCK_PROPERTIES *pClockProperties); /*** IMFPresentationTimeSource methods ***/ HRESULT (STDMETHODCALLTYPE *GetUnderlyingClock)( IMFPresentationTimeSource *This, IMFClock **ppClock); END_INTERFACE } IMFPresentationTimeSourceVtbl; interface IMFPresentationTimeSource { CONST_VTBL IMFPresentationTimeSourceVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFPresentationTimeSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFPresentationTimeSource_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFPresentationTimeSource_Release(This) (This)->lpVtbl->Release(This) /*** IMFClock methods ***/ #define IMFPresentationTimeSource_GetClockCharacteristics(This,pdwCharacteristics) (This)->lpVtbl->GetClockCharacteristics(This,pdwCharacteristics) #define IMFPresentationTimeSource_GetCorrelatedTime(This,dwReserved,pllClockTime,phnsSystemTime) (This)->lpVtbl->GetCorrelatedTime(This,dwReserved,pllClockTime,phnsSystemTime) #define IMFPresentationTimeSource_GetContinuityKey(This,pdwContinuityKey) (This)->lpVtbl->GetContinuityKey(This,pdwContinuityKey) #define IMFPresentationTimeSource_GetState(This,dwReserved,peClockState) (This)->lpVtbl->GetState(This,dwReserved,peClockState) #define IMFPresentationTimeSource_GetProperties(This,pClockProperties) (This)->lpVtbl->GetProperties(This,pClockProperties) /*** IMFPresentationTimeSource methods ***/ #define IMFPresentationTimeSource_GetUnderlyingClock(This,ppClock) (This)->lpVtbl->GetUnderlyingClock(This,ppClock) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IMFPresentationTimeSource_QueryInterface(IMFPresentationTimeSource* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IMFPresentationTimeSource_AddRef(IMFPresentationTimeSource* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IMFPresentationTimeSource_Release(IMFPresentationTimeSource* This) { return This->lpVtbl->Release(This); } /*** IMFClock methods ***/ static FORCEINLINE HRESULT IMFPresentationTimeSource_GetClockCharacteristics(IMFPresentationTimeSource* This,DWORD *pdwCharacteristics) { return This->lpVtbl->GetClockCharacteristics(This,pdwCharacteristics); } static FORCEINLINE HRESULT IMFPresentationTimeSource_GetCorrelatedTime(IMFPresentationTimeSource* This,DWORD dwReserved,LONGLONG *pllClockTime,MFTIME *phnsSystemTime) { return This->lpVtbl->GetCorrelatedTime(This,dwReserved,pllClockTime,phnsSystemTime); } static FORCEINLINE HRESULT IMFPresentationTimeSource_GetContinuityKey(IMFPresentationTimeSource* This,DWORD *pdwContinuityKey) { return This->lpVtbl->GetContinuityKey(This,pdwContinuityKey); } static FORCEINLINE HRESULT IMFPresentationTimeSource_GetState(IMFPresentationTimeSource* This,DWORD dwReserved,MFCLOCK_STATE *peClockState) { return This->lpVtbl->GetState(This,dwReserved,peClockState); } static FORCEINLINE HRESULT IMFPresentationTimeSource_GetProperties(IMFPresentationTimeSource* This,MFCLOCK_PROPERTIES *pClockProperties) { return This->lpVtbl->GetProperties(This,pClockProperties); } /*** IMFPresentationTimeSource methods ***/ static FORCEINLINE HRESULT IMFPresentationTimeSource_GetUnderlyingClock(IMFPresentationTimeSource* This,IMFClock **ppClock) { return This->lpVtbl->GetUnderlyingClock(This,ppClock); } #endif #endif #endif #endif /* __IMFPresentationTimeSource_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFPresentationClock interface */ #ifndef __IMFPresentationClock_INTERFACE_DEFINED__ #define __IMFPresentationClock_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFPresentationClock, 0x868ce85c, 0x8ea9, 0x4f55, 0xab,0x82, 0xb0,0x09,0xa9,0x10,0xa8,0x05); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("868ce85c-8ea9-4f55-ab82-b009a910a805") IMFPresentationClock : public IMFClock { virtual HRESULT STDMETHODCALLTYPE SetTimeSource( IMFPresentationTimeSource *pTimeSource) = 0; virtual HRESULT STDMETHODCALLTYPE GetTimeSource( IMFPresentationTimeSource **ppTimeSource) = 0; virtual HRESULT STDMETHODCALLTYPE GetTime( MFTIME *phnsClockTime) = 0; virtual HRESULT STDMETHODCALLTYPE AddClockStateSink( IMFClockStateSink *pStateSink) = 0; virtual HRESULT STDMETHODCALLTYPE RemoveClockStateSink( IMFClockStateSink *pStateSink) = 0; virtual HRESULT STDMETHODCALLTYPE Start( LONGLONG llClockStartOffset) = 0; virtual HRESULT STDMETHODCALLTYPE Stop( ) = 0; virtual HRESULT STDMETHODCALLTYPE Pause( ) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFPresentationClock, 0x868ce85c, 0x8ea9, 0x4f55, 0xab,0x82, 0xb0,0x09,0xa9,0x10,0xa8,0x05) #endif #else typedef struct IMFPresentationClockVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFPresentationClock *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFPresentationClock *This); ULONG (STDMETHODCALLTYPE *Release)( IMFPresentationClock *This); /*** IMFClock methods ***/ HRESULT (STDMETHODCALLTYPE *GetClockCharacteristics)( IMFPresentationClock *This, DWORD *pdwCharacteristics); HRESULT (STDMETHODCALLTYPE *GetCorrelatedTime)( IMFPresentationClock *This, DWORD dwReserved, LONGLONG *pllClockTime, MFTIME *phnsSystemTime); HRESULT (STDMETHODCALLTYPE *GetContinuityKey)( IMFPresentationClock *This, DWORD *pdwContinuityKey); HRESULT (STDMETHODCALLTYPE *GetState)( IMFPresentationClock *This, DWORD dwReserved, MFCLOCK_STATE *peClockState); HRESULT (STDMETHODCALLTYPE *GetProperties)( IMFPresentationClock *This, MFCLOCK_PROPERTIES *pClockProperties); /*** IMFPresentationClock methods ***/ HRESULT (STDMETHODCALLTYPE *SetTimeSource)( IMFPresentationClock *This, IMFPresentationTimeSource *pTimeSource); HRESULT (STDMETHODCALLTYPE *GetTimeSource)( IMFPresentationClock *This, IMFPresentationTimeSource **ppTimeSource); HRESULT (STDMETHODCALLTYPE *GetTime)( IMFPresentationClock *This, MFTIME *phnsClockTime); HRESULT (STDMETHODCALLTYPE *AddClockStateSink)( IMFPresentationClock *This, IMFClockStateSink *pStateSink); HRESULT (STDMETHODCALLTYPE *RemoveClockStateSink)( IMFPresentationClock *This, IMFClockStateSink *pStateSink); HRESULT (STDMETHODCALLTYPE *Start)( IMFPresentationClock *This, LONGLONG llClockStartOffset); HRESULT (STDMETHODCALLTYPE *Stop)( IMFPresentationClock *This); HRESULT (STDMETHODCALLTYPE *Pause)( IMFPresentationClock *This); END_INTERFACE } IMFPresentationClockVtbl; interface IMFPresentationClock { CONST_VTBL IMFPresentationClockVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFPresentationClock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFPresentationClock_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFPresentationClock_Release(This) (This)->lpVtbl->Release(This) /*** IMFClock methods ***/ #define IMFPresentationClock_GetClockCharacteristics(This,pdwCharacteristics) (This)->lpVtbl->GetClockCharacteristics(This,pdwCharacteristics) #define IMFPresentationClock_GetCorrelatedTime(This,dwReserved,pllClockTime,phnsSystemTime) (This)->lpVtbl->GetCorrelatedTime(This,dwReserved,pllClockTime,phnsSystemTime) #define IMFPresentationClock_GetContinuityKey(This,pdwContinuityKey) (This)->lpVtbl->GetContinuityKey(This,pdwContinuityKey) #define IMFPresentationClock_GetState(This,dwReserved,peClockState) (This)->lpVtbl->GetState(This,dwReserved,peClockState) #define IMFPresentationClock_GetProperties(This,pClockProperties) (This)->lpVtbl->GetProperties(This,pClockProperties) /*** IMFPresentationClock methods ***/ #define IMFPresentationClock_SetTimeSource(This,pTimeSource) (This)->lpVtbl->SetTimeSource(This,pTimeSource) #define IMFPresentationClock_GetTimeSource(This,ppTimeSource) (This)->lpVtbl->GetTimeSource(This,ppTimeSource) #define IMFPresentationClock_GetTime(This,phnsClockTime) (This)->lpVtbl->GetTime(This,phnsClockTime) #define IMFPresentationClock_AddClockStateSink(This,pStateSink) (This)->lpVtbl->AddClockStateSink(This,pStateSink) #define IMFPresentationClock_RemoveClockStateSink(This,pStateSink) (This)->lpVtbl->RemoveClockStateSink(This,pStateSink) #define IMFPresentationClock_Start(This,llClockStartOffset) (This)->lpVtbl->Start(This,llClockStartOffset) #define IMFPresentationClock_Stop(This) (This)->lpVtbl->Stop(This) #define IMFPresentationClock_Pause(This) (This)->lpVtbl->Pause(This) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IMFPresentationClock_QueryInterface(IMFPresentationClock* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IMFPresentationClock_AddRef(IMFPresentationClock* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IMFPresentationClock_Release(IMFPresentationClock* This) { return This->lpVtbl->Release(This); } /*** IMFClock methods ***/ static FORCEINLINE HRESULT IMFPresentationClock_GetClockCharacteristics(IMFPresentationClock* This,DWORD *pdwCharacteristics) { return This->lpVtbl->GetClockCharacteristics(This,pdwCharacteristics); } static FORCEINLINE HRESULT IMFPresentationClock_GetCorrelatedTime(IMFPresentationClock* This,DWORD dwReserved,LONGLONG *pllClockTime,MFTIME *phnsSystemTime) { return This->lpVtbl->GetCorrelatedTime(This,dwReserved,pllClockTime,phnsSystemTime); } static FORCEINLINE HRESULT IMFPresentationClock_GetContinuityKey(IMFPresentationClock* This,DWORD *pdwContinuityKey) { return This->lpVtbl->GetContinuityKey(This,pdwContinuityKey); } static FORCEINLINE HRESULT IMFPresentationClock_GetState(IMFPresentationClock* This,DWORD dwReserved,MFCLOCK_STATE *peClockState) { return This->lpVtbl->GetState(This,dwReserved,peClockState); } static FORCEINLINE HRESULT IMFPresentationClock_GetProperties(IMFPresentationClock* This,MFCLOCK_PROPERTIES *pClockProperties) { return This->lpVtbl->GetProperties(This,pClockProperties); } /*** IMFPresentationClock methods ***/ static FORCEINLINE HRESULT IMFPresentationClock_SetTimeSource(IMFPresentationClock* This,IMFPresentationTimeSource *pTimeSource) { return This->lpVtbl->SetTimeSource(This,pTimeSource); } static FORCEINLINE HRESULT IMFPresentationClock_GetTimeSource(IMFPresentationClock* This,IMFPresentationTimeSource **ppTimeSource) { return This->lpVtbl->GetTimeSource(This,ppTimeSource); } static FORCEINLINE HRESULT IMFPresentationClock_GetTime(IMFPresentationClock* This,MFTIME *phnsClockTime) { return This->lpVtbl->GetTime(This,phnsClockTime); } static FORCEINLINE HRESULT IMFPresentationClock_AddClockStateSink(IMFPresentationClock* This,IMFClockStateSink *pStateSink) { return This->lpVtbl->AddClockStateSink(This,pStateSink); } static FORCEINLINE HRESULT IMFPresentationClock_RemoveClockStateSink(IMFPresentationClock* This,IMFClockStateSink *pStateSink) { return This->lpVtbl->RemoveClockStateSink(This,pStateSink); } static FORCEINLINE HRESULT IMFPresentationClock_Start(IMFPresentationClock* This,LONGLONG llClockStartOffset) { return This->lpVtbl->Start(This,llClockStartOffset); } static FORCEINLINE HRESULT IMFPresentationClock_Stop(IMFPresentationClock* This) { return This->lpVtbl->Stop(This); } static FORCEINLINE HRESULT IMFPresentationClock_Pause(IMFPresentationClock* This) { return This->lpVtbl->Pause(This); } #endif #endif #endif #endif /* __IMFPresentationClock_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFRateControl interface */ #ifndef __IMFRateControl_INTERFACE_DEFINED__ #define __IMFRateControl_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFRateControl, 0x88ddcd21, 0x03c3, 0x4275, 0x91,0xed, 0x55,0xee,0x39,0x29,0x32,0x8f); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("88ddcd21-03c3-4275-91ed-55ee3929328f") IMFRateControl : public IUnknown { virtual HRESULT STDMETHODCALLTYPE SetRate( WINBOOL fThin, float flRate) = 0; virtual HRESULT STDMETHODCALLTYPE GetRate( WINBOOL *pfThin, float *pflRate) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFRateControl, 0x88ddcd21, 0x03c3, 0x4275, 0x91,0xed, 0x55,0xee,0x39,0x29,0x32,0x8f) #endif #else typedef struct IMFRateControlVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFRateControl *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFRateControl *This); ULONG (STDMETHODCALLTYPE *Release)( IMFRateControl *This); /*** IMFRateControl methods ***/ HRESULT (STDMETHODCALLTYPE *SetRate)( IMFRateControl *This, WINBOOL fThin, float flRate); HRESULT (STDMETHODCALLTYPE *GetRate)( IMFRateControl *This, WINBOOL *pfThin, float *pflRate); END_INTERFACE } IMFRateControlVtbl; interface IMFRateControl { CONST_VTBL IMFRateControlVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFRateControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFRateControl_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFRateControl_Release(This) (This)->lpVtbl->Release(This) /*** IMFRateControl methods ***/ #define IMFRateControl_SetRate(This,fThin,flRate) (This)->lpVtbl->SetRate(This,fThin,flRate) #define IMFRateControl_GetRate(This,pfThin,pflRate) (This)->lpVtbl->GetRate(This,pfThin,pflRate) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IMFRateControl_QueryInterface(IMFRateControl* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IMFRateControl_AddRef(IMFRateControl* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IMFRateControl_Release(IMFRateControl* This) { return This->lpVtbl->Release(This); } /*** IMFRateControl methods ***/ static FORCEINLINE HRESULT IMFRateControl_SetRate(IMFRateControl* This,WINBOOL fThin,float flRate) { return This->lpVtbl->SetRate(This,fThin,flRate); } static FORCEINLINE HRESULT IMFRateControl_GetRate(IMFRateControl* This,WINBOOL *pfThin,float *pflRate) { return This->lpVtbl->GetRate(This,pfThin,pflRate); } #endif #endif #endif #endif /* __IMFRateControl_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFRateSupport interface */ #ifndef __IMFRateSupport_INTERFACE_DEFINED__ #define __IMFRateSupport_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFRateSupport, 0x0a9ccdbc, 0xd797, 0x4563, 0x96,0x67, 0x94,0xec,0x5d,0x79,0x29,0x2d); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("0a9ccdbc-d797-4563-9667-94ec5d79292d") IMFRateSupport : public IUnknown { virtual HRESULT STDMETHODCALLTYPE GetSlowestRate( MFRATE_DIRECTION eDirection, WINBOOL fThin, float *pflRate) = 0; virtual HRESULT STDMETHODCALLTYPE GetFastestRate( MFRATE_DIRECTION eDirection, WINBOOL fThin, float *pflRate) = 0; virtual HRESULT STDMETHODCALLTYPE IsRateSupported( WINBOOL fThin, float flRate, float *pflNearestSupportedRate) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFRateSupport, 0x0a9ccdbc, 0xd797, 0x4563, 0x96,0x67, 0x94,0xec,0x5d,0x79,0x29,0x2d) #endif #else typedef struct IMFRateSupportVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFRateSupport *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFRateSupport *This); ULONG (STDMETHODCALLTYPE *Release)( IMFRateSupport *This); /*** IMFRateSupport methods ***/ HRESULT (STDMETHODCALLTYPE *GetSlowestRate)( IMFRateSupport *This, MFRATE_DIRECTION eDirection, WINBOOL fThin, float *pflRate); HRESULT (STDMETHODCALLTYPE *GetFastestRate)( IMFRateSupport *This, MFRATE_DIRECTION eDirection, WINBOOL fThin, float *pflRate); HRESULT (STDMETHODCALLTYPE *IsRateSupported)( IMFRateSupport *This, WINBOOL fThin, float flRate, float *pflNearestSupportedRate); END_INTERFACE } IMFRateSupportVtbl; interface IMFRateSupport { CONST_VTBL IMFRateSupportVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFRateSupport_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFRateSupport_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFRateSupport_Release(This) (This)->lpVtbl->Release(This) /*** IMFRateSupport methods ***/ #define IMFRateSupport_GetSlowestRate(This,eDirection,fThin,pflRate) (This)->lpVtbl->GetSlowestRate(This,eDirection,fThin,pflRate) #define IMFRateSupport_GetFastestRate(This,eDirection,fThin,pflRate) (This)->lpVtbl->GetFastestRate(This,eDirection,fThin,pflRate) #define IMFRateSupport_IsRateSupported(This,fThin,flRate,pflNearestSupportedRate) (This)->lpVtbl->IsRateSupported(This,fThin,flRate,pflNearestSupportedRate) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IMFRateSupport_QueryInterface(IMFRateSupport* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IMFRateSupport_AddRef(IMFRateSupport* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IMFRateSupport_Release(IMFRateSupport* This) { return This->lpVtbl->Release(This); } /*** IMFRateSupport methods ***/ static FORCEINLINE HRESULT IMFRateSupport_GetSlowestRate(IMFRateSupport* This,MFRATE_DIRECTION eDirection,WINBOOL fThin,float *pflRate) { return This->lpVtbl->GetSlowestRate(This,eDirection,fThin,pflRate); } static FORCEINLINE HRESULT IMFRateSupport_GetFastestRate(IMFRateSupport* This,MFRATE_DIRECTION eDirection,WINBOOL fThin,float *pflRate) { return This->lpVtbl->GetFastestRate(This,eDirection,fThin,pflRate); } static FORCEINLINE HRESULT IMFRateSupport_IsRateSupported(IMFRateSupport* This,WINBOOL fThin,float flRate,float *pflNearestSupportedRate) { return This->lpVtbl->IsRateSupported(This,fThin,flRate,pflNearestSupportedRate); } #endif #endif #endif #endif /* __IMFRateSupport_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFSampleGrabberSinkCallback interface */ #ifndef __IMFSampleGrabberSinkCallback_INTERFACE_DEFINED__ #define __IMFSampleGrabberSinkCallback_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFSampleGrabberSinkCallback, 0x8c7b80bf, 0xee42, 0x4b59, 0xb1,0xdf, 0x55,0x66,0x8e,0x1b,0xdc,0xa8); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("8c7b80bf-ee42-4b59-b1df-55668e1bdca8") IMFSampleGrabberSinkCallback : public IMFClockStateSink { virtual HRESULT STDMETHODCALLTYPE OnSetPresentationClock( IMFPresentationClock *pPresentationClock) = 0; virtual HRESULT STDMETHODCALLTYPE OnProcessSample( REFGUID guidMajorMediaType, DWORD dwSampleFlags, LONGLONG llSampleTime, LONGLONG llSampleDuration, const BYTE *pSampleBuffer, DWORD dwSampleSize) = 0; virtual HRESULT STDMETHODCALLTYPE OnShutdown( ) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFSampleGrabberSinkCallback, 0x8c7b80bf, 0xee42, 0x4b59, 0xb1,0xdf, 0x55,0x66,0x8e,0x1b,0xdc,0xa8) #endif #else typedef struct IMFSampleGrabberSinkCallbackVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFSampleGrabberSinkCallback *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFSampleGrabberSinkCallback *This); ULONG (STDMETHODCALLTYPE *Release)( IMFSampleGrabberSinkCallback *This); /*** IMFClockStateSink methods ***/ HRESULT (STDMETHODCALLTYPE *OnClockStart)( IMFSampleGrabberSinkCallback *This, MFTIME hnsSystemTime, LONGLONG llClockStartOffset); HRESULT (STDMETHODCALLTYPE *OnClockStop)( IMFSampleGrabberSinkCallback *This, MFTIME hnsSystemTime); HRESULT (STDMETHODCALLTYPE *OnClockPause)( IMFSampleGrabberSinkCallback *This, MFTIME hnsSystemTime); HRESULT (STDMETHODCALLTYPE *OnClockRestart)( IMFSampleGrabberSinkCallback *This, MFTIME hnsSystemTime); HRESULT (STDMETHODCALLTYPE *OnClockSetRate)( IMFSampleGrabberSinkCallback *This, MFTIME hnsSystemTime, float flRate); /*** IMFSampleGrabberSinkCallback methods ***/ HRESULT (STDMETHODCALLTYPE *OnSetPresentationClock)( IMFSampleGrabberSinkCallback *This, IMFPresentationClock *pPresentationClock); HRESULT (STDMETHODCALLTYPE *OnProcessSample)( IMFSampleGrabberSinkCallback *This, REFGUID guidMajorMediaType, DWORD dwSampleFlags, LONGLONG llSampleTime, LONGLONG llSampleDuration, const BYTE *pSampleBuffer, DWORD dwSampleSize); HRESULT (STDMETHODCALLTYPE *OnShutdown)( IMFSampleGrabberSinkCallback *This); END_INTERFACE } IMFSampleGrabberSinkCallbackVtbl; interface IMFSampleGrabberSinkCallback { CONST_VTBL IMFSampleGrabberSinkCallbackVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFSampleGrabberSinkCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFSampleGrabberSinkCallback_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFSampleGrabberSinkCallback_Release(This) (This)->lpVtbl->Release(This) /*** IMFClockStateSink methods ***/ #define IMFSampleGrabberSinkCallback_OnClockStart(This,hnsSystemTime,llClockStartOffset) (This)->lpVtbl->OnClockStart(This,hnsSystemTime,llClockStartOffset) #define IMFSampleGrabberSinkCallback_OnClockStop(This,hnsSystemTime) (This)->lpVtbl->OnClockStop(This,hnsSystemTime) #define IMFSampleGrabberSinkCallback_OnClockPause(This,hnsSystemTime) (This)->lpVtbl->OnClockPause(This,hnsSystemTime) #define IMFSampleGrabberSinkCallback_OnClockRestart(This,hnsSystemTime) (This)->lpVtbl->OnClockRestart(This,hnsSystemTime) #define IMFSampleGrabberSinkCallback_OnClockSetRate(This,hnsSystemTime,flRate) (This)->lpVtbl->OnClockSetRate(This,hnsSystemTime,flRate) /*** IMFSampleGrabberSinkCallback methods ***/ #define IMFSampleGrabberSinkCallback_OnSetPresentationClock(This,pPresentationClock) (This)->lpVtbl->OnSetPresentationClock(This,pPresentationClock) #define IMFSampleGrabberSinkCallback_OnProcessSample(This,guidMajorMediaType,dwSampleFlags,llSampleTime,llSampleDuration,pSampleBuffer,dwSampleSize) (This)->lpVtbl->OnProcessSample(This,guidMajorMediaType,dwSampleFlags,llSampleTime,llSampleDuration,pSampleBuffer,dwSampleSize) #define IMFSampleGrabberSinkCallback_OnShutdown(This) (This)->lpVtbl->OnShutdown(This) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IMFSampleGrabberSinkCallback_QueryInterface(IMFSampleGrabberSinkCallback* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IMFSampleGrabberSinkCallback_AddRef(IMFSampleGrabberSinkCallback* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IMFSampleGrabberSinkCallback_Release(IMFSampleGrabberSinkCallback* This) { return This->lpVtbl->Release(This); } /*** IMFClockStateSink methods ***/ static FORCEINLINE HRESULT IMFSampleGrabberSinkCallback_OnClockStart(IMFSampleGrabberSinkCallback* This,MFTIME hnsSystemTime,LONGLONG llClockStartOffset) { return This->lpVtbl->OnClockStart(This,hnsSystemTime,llClockStartOffset); } static FORCEINLINE HRESULT IMFSampleGrabberSinkCallback_OnClockStop(IMFSampleGrabberSinkCallback* This,MFTIME hnsSystemTime) { return This->lpVtbl->OnClockStop(This,hnsSystemTime); } static FORCEINLINE HRESULT IMFSampleGrabberSinkCallback_OnClockPause(IMFSampleGrabberSinkCallback* This,MFTIME hnsSystemTime) { return This->lpVtbl->OnClockPause(This,hnsSystemTime); } static FORCEINLINE HRESULT IMFSampleGrabberSinkCallback_OnClockRestart(IMFSampleGrabberSinkCallback* This,MFTIME hnsSystemTime) { return This->lpVtbl->OnClockRestart(This,hnsSystemTime); } static FORCEINLINE HRESULT IMFSampleGrabberSinkCallback_OnClockSetRate(IMFSampleGrabberSinkCallback* This,MFTIME hnsSystemTime,float flRate) { return This->lpVtbl->OnClockSetRate(This,hnsSystemTime,flRate); } /*** IMFSampleGrabberSinkCallback methods ***/ static FORCEINLINE HRESULT IMFSampleGrabberSinkCallback_OnSetPresentationClock(IMFSampleGrabberSinkCallback* This,IMFPresentationClock *pPresentationClock) { return This->lpVtbl->OnSetPresentationClock(This,pPresentationClock); } static FORCEINLINE HRESULT IMFSampleGrabberSinkCallback_OnProcessSample(IMFSampleGrabberSinkCallback* This,REFGUID guidMajorMediaType,DWORD dwSampleFlags,LONGLONG llSampleTime,LONGLONG llSampleDuration,const BYTE *pSampleBuffer,DWORD dwSampleSize) { return This->lpVtbl->OnProcessSample(This,guidMajorMediaType,dwSampleFlags,llSampleTime,llSampleDuration,pSampleBuffer,dwSampleSize); } static FORCEINLINE HRESULT IMFSampleGrabberSinkCallback_OnShutdown(IMFSampleGrabberSinkCallback* This) { return This->lpVtbl->OnShutdown(This); } #endif #endif #endif #endif /* __IMFSampleGrabberSinkCallback_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFSourceResolver interface */ #ifndef __IMFSourceResolver_INTERFACE_DEFINED__ #define __IMFSourceResolver_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFSourceResolver, 0xfbe5a32d, 0xa497, 0x4b61, 0xbb,0x85, 0x97,0xb1,0xa8,0x48,0xa6,0xe3); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("fbe5a32d-a497-4b61-bb85-97b1a848a6e3") IMFSourceResolver : public IUnknown { virtual HRESULT STDMETHODCALLTYPE CreateObjectFromURL( LPCWSTR pwszURL, DWORD dwFlags, IPropertyStore *pProps, MF_OBJECT_TYPE *pObjectType, IUnknown **ppObject) = 0; virtual HRESULT STDMETHODCALLTYPE CreateObjectFromByteStream( IMFByteStream *pByteStream, LPCWSTR pwszURL, DWORD dwFlags, IPropertyStore *pProps, MF_OBJECT_TYPE *pObjectType, IUnknown **ppObject) = 0; virtual HRESULT STDMETHODCALLTYPE BeginCreateObjectFromURL( LPCWSTR pwszURL, DWORD dwFlags, IPropertyStore *pProps, IUnknown **ppIUnknownCancelCookie, IMFAsyncCallback *pCallback, IUnknown *punkState) = 0; virtual HRESULT STDMETHODCALLTYPE EndCreateObjectFromURL( IMFAsyncResult *pResult, MF_OBJECT_TYPE *pObjectType, IUnknown **ppObject) = 0; virtual HRESULT STDMETHODCALLTYPE BeginCreateObjectFromByteStream( IMFByteStream *pByteStream, LPCWSTR pwszURL, DWORD dwFlags, IPropertyStore *pProps, IUnknown **ppIUnknownCancelCookie, IMFAsyncCallback *pCallback, IUnknown *punkState) = 0; virtual HRESULT STDMETHODCALLTYPE EndCreateObjectFromByteStream( IMFAsyncResult *pResult, MF_OBJECT_TYPE *pObjectType, IUnknown **ppObject) = 0; virtual HRESULT STDMETHODCALLTYPE CancelObjectCreation( IUnknown *pIUnknownCancelCookie) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFSourceResolver, 0xfbe5a32d, 0xa497, 0x4b61, 0xbb,0x85, 0x97,0xb1,0xa8,0x48,0xa6,0xe3) #endif #else typedef struct IMFSourceResolverVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFSourceResolver *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFSourceResolver *This); ULONG (STDMETHODCALLTYPE *Release)( IMFSourceResolver *This); /*** IMFSourceResolver methods ***/ HRESULT (STDMETHODCALLTYPE *CreateObjectFromURL)( IMFSourceResolver *This, LPCWSTR pwszURL, DWORD dwFlags, IPropertyStore *pProps, MF_OBJECT_TYPE *pObjectType, IUnknown **ppObject); HRESULT (STDMETHODCALLTYPE *CreateObjectFromByteStream)( IMFSourceResolver *This, IMFByteStream *pByteStream, LPCWSTR pwszURL, DWORD dwFlags, IPropertyStore *pProps, MF_OBJECT_TYPE *pObjectType, IUnknown **ppObject); HRESULT (STDMETHODCALLTYPE *BeginCreateObjectFromURL)( IMFSourceResolver *This, LPCWSTR pwszURL, DWORD dwFlags, IPropertyStore *pProps, IUnknown **ppIUnknownCancelCookie, IMFAsyncCallback *pCallback, IUnknown *punkState); HRESULT (STDMETHODCALLTYPE *EndCreateObjectFromURL)( IMFSourceResolver *This, IMFAsyncResult *pResult, MF_OBJECT_TYPE *pObjectType, IUnknown **ppObject); HRESULT (STDMETHODCALLTYPE *BeginCreateObjectFromByteStream)( IMFSourceResolver *This, IMFByteStream *pByteStream, LPCWSTR pwszURL, DWORD dwFlags, IPropertyStore *pProps, IUnknown **ppIUnknownCancelCookie, IMFAsyncCallback *pCallback, IUnknown *punkState); HRESULT (STDMETHODCALLTYPE *EndCreateObjectFromByteStream)( IMFSourceResolver *This, IMFAsyncResult *pResult, MF_OBJECT_TYPE *pObjectType, IUnknown **ppObject); HRESULT (STDMETHODCALLTYPE *CancelObjectCreation)( IMFSourceResolver *This, IUnknown *pIUnknownCancelCookie); END_INTERFACE } IMFSourceResolverVtbl; interface IMFSourceResolver { CONST_VTBL IMFSourceResolverVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFSourceResolver_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFSourceResolver_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFSourceResolver_Release(This) (This)->lpVtbl->Release(This) /*** IMFSourceResolver methods ***/ #define IMFSourceResolver_CreateObjectFromURL(This,pwszURL,dwFlags,pProps,pObjectType,ppObject) (This)->lpVtbl->CreateObjectFromURL(This,pwszURL,dwFlags,pProps,pObjectType,ppObject) #define IMFSourceResolver_CreateObjectFromByteStream(This,pByteStream,pwszURL,dwFlags,pProps,pObjectType,ppObject) (This)->lpVtbl->CreateObjectFromByteStream(This,pByteStream,pwszURL,dwFlags,pProps,pObjectType,ppObject) #define IMFSourceResolver_BeginCreateObjectFromURL(This,pwszURL,dwFlags,pProps,ppIUnknownCancelCookie,pCallback,punkState) (This)->lpVtbl->BeginCreateObjectFromURL(This,pwszURL,dwFlags,pProps,ppIUnknownCancelCookie,pCallback,punkState) #define IMFSourceResolver_EndCreateObjectFromURL(This,pResult,pObjectType,ppObject) (This)->lpVtbl->EndCreateObjectFromURL(This,pResult,pObjectType,ppObject) #define IMFSourceResolver_BeginCreateObjectFromByteStream(This,pByteStream,pwszURL,dwFlags,pProps,ppIUnknownCancelCookie,pCallback,punkState) (This)->lpVtbl->BeginCreateObjectFromByteStream(This,pByteStream,pwszURL,dwFlags,pProps,ppIUnknownCancelCookie,pCallback,punkState) #define IMFSourceResolver_EndCreateObjectFromByteStream(This,pResult,pObjectType,ppObject) (This)->lpVtbl->EndCreateObjectFromByteStream(This,pResult,pObjectType,ppObject) #define IMFSourceResolver_CancelObjectCreation(This,pIUnknownCancelCookie) (This)->lpVtbl->CancelObjectCreation(This,pIUnknownCancelCookie) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IMFSourceResolver_QueryInterface(IMFSourceResolver* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IMFSourceResolver_AddRef(IMFSourceResolver* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IMFSourceResolver_Release(IMFSourceResolver* This) { return This->lpVtbl->Release(This); } /*** IMFSourceResolver methods ***/ static FORCEINLINE HRESULT IMFSourceResolver_CreateObjectFromURL(IMFSourceResolver* This,LPCWSTR pwszURL,DWORD dwFlags,IPropertyStore *pProps,MF_OBJECT_TYPE *pObjectType,IUnknown **ppObject) { return This->lpVtbl->CreateObjectFromURL(This,pwszURL,dwFlags,pProps,pObjectType,ppObject); } static FORCEINLINE HRESULT IMFSourceResolver_CreateObjectFromByteStream(IMFSourceResolver* This,IMFByteStream *pByteStream,LPCWSTR pwszURL,DWORD dwFlags,IPropertyStore *pProps,MF_OBJECT_TYPE *pObjectType,IUnknown **ppObject) { return This->lpVtbl->CreateObjectFromByteStream(This,pByteStream,pwszURL,dwFlags,pProps,pObjectType,ppObject); } static FORCEINLINE HRESULT IMFSourceResolver_BeginCreateObjectFromURL(IMFSourceResolver* This,LPCWSTR pwszURL,DWORD dwFlags,IPropertyStore *pProps,IUnknown **ppIUnknownCancelCookie,IMFAsyncCallback *pCallback,IUnknown *punkState) { return This->lpVtbl->BeginCreateObjectFromURL(This,pwszURL,dwFlags,pProps,ppIUnknownCancelCookie,pCallback,punkState); } static FORCEINLINE HRESULT IMFSourceResolver_EndCreateObjectFromURL(IMFSourceResolver* This,IMFAsyncResult *pResult,MF_OBJECT_TYPE *pObjectType,IUnknown **ppObject) { return This->lpVtbl->EndCreateObjectFromURL(This,pResult,pObjectType,ppObject); } static FORCEINLINE HRESULT IMFSourceResolver_BeginCreateObjectFromByteStream(IMFSourceResolver* This,IMFByteStream *pByteStream,LPCWSTR pwszURL,DWORD dwFlags,IPropertyStore *pProps,IUnknown **ppIUnknownCancelCookie,IMFAsyncCallback *pCallback,IUnknown *punkState) { return This->lpVtbl->BeginCreateObjectFromByteStream(This,pByteStream,pwszURL,dwFlags,pProps,ppIUnknownCancelCookie,pCallback,punkState); } static FORCEINLINE HRESULT IMFSourceResolver_EndCreateObjectFromByteStream(IMFSourceResolver* This,IMFAsyncResult *pResult,MF_OBJECT_TYPE *pObjectType,IUnknown **ppObject) { return This->lpVtbl->EndCreateObjectFromByteStream(This,pResult,pObjectType,ppObject); } static FORCEINLINE HRESULT IMFSourceResolver_CancelObjectCreation(IMFSourceResolver* This,IUnknown *pIUnknownCancelCookie) { return This->lpVtbl->CancelObjectCreation(This,pIUnknownCancelCookie); } #endif #endif #endif HRESULT STDMETHODCALLTYPE IMFSourceResolver_RemoteBeginCreateObjectFromURL_Proxy( IMFSourceResolver* This, LPCWSTR pwszURL, DWORD dwFlags, IPropertyStore *pProps, IMFRemoteAsyncCallback *pCallback); void __RPC_STUB IMFSourceResolver_RemoteBeginCreateObjectFromURL_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IMFSourceResolver_RemoteEndCreateObjectFromURL_Proxy( IMFSourceResolver* This, IUnknown *pResult, MF_OBJECT_TYPE *pObjectType, IUnknown **ppObject); void __RPC_STUB IMFSourceResolver_RemoteEndCreateObjectFromURL_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IMFSourceResolver_RemoteBeginCreateObjectFromByteStream_Proxy( IMFSourceResolver* This, IMFByteStream *pByteStream, LPCWSTR pwszURL, DWORD dwFlags, IPropertyStore *pProps, IMFRemoteAsyncCallback *pCallback); void __RPC_STUB IMFSourceResolver_RemoteBeginCreateObjectFromByteStream_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IMFSourceResolver_RemoteEndCreateObjectFromByteStream_Proxy( IMFSourceResolver* This, IUnknown *pResult, MF_OBJECT_TYPE *pObjectType, IUnknown **ppObject); void __RPC_STUB IMFSourceResolver_RemoteEndCreateObjectFromByteStream_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IMFSourceResolver_BeginCreateObjectFromURL_Proxy( IMFSourceResolver* This, LPCWSTR pwszURL, DWORD dwFlags, IPropertyStore *pProps, IUnknown **ppIUnknownCancelCookie, IMFAsyncCallback *pCallback, IUnknown *punkState); HRESULT __RPC_STUB IMFSourceResolver_BeginCreateObjectFromURL_Stub( IMFSourceResolver* This, LPCWSTR pwszURL, DWORD dwFlags, IPropertyStore *pProps, IMFRemoteAsyncCallback *pCallback); HRESULT CALLBACK IMFSourceResolver_EndCreateObjectFromURL_Proxy( IMFSourceResolver* This, IMFAsyncResult *pResult, MF_OBJECT_TYPE *pObjectType, IUnknown **ppObject); HRESULT __RPC_STUB IMFSourceResolver_EndCreateObjectFromURL_Stub( IMFSourceResolver* This, IUnknown *pResult, MF_OBJECT_TYPE *pObjectType, IUnknown **ppObject); HRESULT CALLBACK IMFSourceResolver_BeginCreateObjectFromByteStream_Proxy( IMFSourceResolver* This, IMFByteStream *pByteStream, LPCWSTR pwszURL, DWORD dwFlags, IPropertyStore *pProps, IUnknown **ppIUnknownCancelCookie, IMFAsyncCallback *pCallback, IUnknown *punkState); HRESULT __RPC_STUB IMFSourceResolver_BeginCreateObjectFromByteStream_Stub( IMFSourceResolver* This, IMFByteStream *pByteStream, LPCWSTR pwszURL, DWORD dwFlags, IPropertyStore *pProps, IMFRemoteAsyncCallback *pCallback); HRESULT CALLBACK IMFSourceResolver_EndCreateObjectFromByteStream_Proxy( IMFSourceResolver* This, IMFAsyncResult *pResult, MF_OBJECT_TYPE *pObjectType, IUnknown **ppObject); HRESULT __RPC_STUB IMFSourceResolver_EndCreateObjectFromByteStream_Stub( IMFSourceResolver* This, IUnknown *pResult, MF_OBJECT_TYPE *pObjectType, IUnknown **ppObject); #endif /* __IMFSourceResolver_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFStreamSink interface */ #ifndef __IMFStreamSink_INTERFACE_DEFINED__ #define __IMFStreamSink_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFStreamSink, 0x0a97b3cf, 0x8e7c, 0x4a3d, 0x8f,0x8c, 0x0c,0x84,0x3d,0xc2,0x47,0xfb); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("0a97b3cf-8e7c-4a3d-8f8c-0c843dc247fb") IMFStreamSink : public IMFMediaEventGenerator { virtual HRESULT STDMETHODCALLTYPE GetMediaSink( IMFMediaSink **ppMediaSink) = 0; virtual HRESULT STDMETHODCALLTYPE GetIdentifier( DWORD *pdwIdentifier) = 0; virtual HRESULT STDMETHODCALLTYPE GetMediaTypeHandler( IMFMediaTypeHandler **ppHandler) = 0; virtual HRESULT STDMETHODCALLTYPE ProcessSample( IMFSample *pSample) = 0; virtual HRESULT STDMETHODCALLTYPE PlaceMarker( MFSTREAMSINK_MARKER_TYPE eMarkerType, const PROPVARIANT *pvarMarkerValue, const PROPVARIANT *pvarContextValue) = 0; virtual HRESULT STDMETHODCALLTYPE Flush( ) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFStreamSink, 0x0a97b3cf, 0x8e7c, 0x4a3d, 0x8f,0x8c, 0x0c,0x84,0x3d,0xc2,0x47,0xfb) #endif #else typedef struct IMFStreamSinkVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFStreamSink *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFStreamSink *This); ULONG (STDMETHODCALLTYPE *Release)( IMFStreamSink *This); /*** IMFMediaEventGenerator methods ***/ HRESULT (STDMETHODCALLTYPE *GetEvent)( IMFStreamSink *This, DWORD dwFlags, IMFMediaEvent **ppEvent); HRESULT (STDMETHODCALLTYPE *BeginGetEvent)( IMFStreamSink *This, IMFAsyncCallback *pCallback, IUnknown *punkState); HRESULT (STDMETHODCALLTYPE *EndGetEvent)( IMFStreamSink *This, IMFAsyncResult *pResult, IMFMediaEvent **ppEvent); HRESULT (STDMETHODCALLTYPE *QueueEvent)( IMFStreamSink *This, MediaEventType met, REFGUID guidExtendedType, HRESULT hrStatus, const PROPVARIANT *pvValue); /*** IMFStreamSink methods ***/ HRESULT (STDMETHODCALLTYPE *GetMediaSink)( IMFStreamSink *This, IMFMediaSink **ppMediaSink); HRESULT (STDMETHODCALLTYPE *GetIdentifier)( IMFStreamSink *This, DWORD *pdwIdentifier); HRESULT (STDMETHODCALLTYPE *GetMediaTypeHandler)( IMFStreamSink *This, IMFMediaTypeHandler **ppHandler); HRESULT (STDMETHODCALLTYPE *ProcessSample)( IMFStreamSink *This, IMFSample *pSample); HRESULT (STDMETHODCALLTYPE *PlaceMarker)( IMFStreamSink *This, MFSTREAMSINK_MARKER_TYPE eMarkerType, const PROPVARIANT *pvarMarkerValue, const PROPVARIANT *pvarContextValue); HRESULT (STDMETHODCALLTYPE *Flush)( IMFStreamSink *This); END_INTERFACE } IMFStreamSinkVtbl; interface IMFStreamSink { CONST_VTBL IMFStreamSinkVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFStreamSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFStreamSink_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFStreamSink_Release(This) (This)->lpVtbl->Release(This) /*** IMFMediaEventGenerator methods ***/ #define IMFStreamSink_GetEvent(This,dwFlags,ppEvent) (This)->lpVtbl->GetEvent(This,dwFlags,ppEvent) #define IMFStreamSink_BeginGetEvent(This,pCallback,punkState) (This)->lpVtbl->BeginGetEvent(This,pCallback,punkState) #define IMFStreamSink_EndGetEvent(This,pResult,ppEvent) (This)->lpVtbl->EndGetEvent(This,pResult,ppEvent) #define IMFStreamSink_QueueEvent(This,met,guidExtendedType,hrStatus,pvValue) (This)->lpVtbl->QueueEvent(This,met,guidExtendedType,hrStatus,pvValue) /*** IMFStreamSink methods ***/ #define IMFStreamSink_GetMediaSink(This,ppMediaSink) (This)->lpVtbl->GetMediaSink(This,ppMediaSink) #define IMFStreamSink_GetIdentifier(This,pdwIdentifier) (This)->lpVtbl->GetIdentifier(This,pdwIdentifier) #define IMFStreamSink_GetMediaTypeHandler(This,ppHandler) (This)->lpVtbl->GetMediaTypeHandler(This,ppHandler) #define IMFStreamSink_ProcessSample(This,pSample) (This)->lpVtbl->ProcessSample(This,pSample) #define IMFStreamSink_PlaceMarker(This,eMarkerType,pvarMarkerValue,pvarContextValue) (This)->lpVtbl->PlaceMarker(This,eMarkerType,pvarMarkerValue,pvarContextValue) #define IMFStreamSink_Flush(This) (This)->lpVtbl->Flush(This) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IMFStreamSink_QueryInterface(IMFStreamSink* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IMFStreamSink_AddRef(IMFStreamSink* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IMFStreamSink_Release(IMFStreamSink* This) { return This->lpVtbl->Release(This); } /*** IMFMediaEventGenerator methods ***/ static FORCEINLINE HRESULT IMFStreamSink_GetEvent(IMFStreamSink* This,DWORD dwFlags,IMFMediaEvent **ppEvent) { return This->lpVtbl->GetEvent(This,dwFlags,ppEvent); } static FORCEINLINE HRESULT IMFStreamSink_BeginGetEvent(IMFStreamSink* This,IMFAsyncCallback *pCallback,IUnknown *punkState) { return This->lpVtbl->BeginGetEvent(This,pCallback,punkState); } static FORCEINLINE HRESULT IMFStreamSink_EndGetEvent(IMFStreamSink* This,IMFAsyncResult *pResult,IMFMediaEvent **ppEvent) { return This->lpVtbl->EndGetEvent(This,pResult,ppEvent); } static FORCEINLINE HRESULT IMFStreamSink_QueueEvent(IMFStreamSink* This,MediaEventType met,REFGUID guidExtendedType,HRESULT hrStatus,const PROPVARIANT *pvValue) { return This->lpVtbl->QueueEvent(This,met,guidExtendedType,hrStatus,pvValue); } /*** IMFStreamSink methods ***/ static FORCEINLINE HRESULT IMFStreamSink_GetMediaSink(IMFStreamSink* This,IMFMediaSink **ppMediaSink) { return This->lpVtbl->GetMediaSink(This,ppMediaSink); } static FORCEINLINE HRESULT IMFStreamSink_GetIdentifier(IMFStreamSink* This,DWORD *pdwIdentifier) { return This->lpVtbl->GetIdentifier(This,pdwIdentifier); } static FORCEINLINE HRESULT IMFStreamSink_GetMediaTypeHandler(IMFStreamSink* This,IMFMediaTypeHandler **ppHandler) { return This->lpVtbl->GetMediaTypeHandler(This,ppHandler); } static FORCEINLINE HRESULT IMFStreamSink_ProcessSample(IMFStreamSink* This,IMFSample *pSample) { return This->lpVtbl->ProcessSample(This,pSample); } static FORCEINLINE HRESULT IMFStreamSink_PlaceMarker(IMFStreamSink* This,MFSTREAMSINK_MARKER_TYPE eMarkerType,const PROPVARIANT *pvarMarkerValue,const PROPVARIANT *pvarContextValue) { return This->lpVtbl->PlaceMarker(This,eMarkerType,pvarMarkerValue,pvarContextValue); } static FORCEINLINE HRESULT IMFStreamSink_Flush(IMFStreamSink* This) { return This->lpVtbl->Flush(This); } #endif #endif #endif #endif /* __IMFStreamSink_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFTopoLoader interface */ #ifndef __IMFTopoLoader_INTERFACE_DEFINED__ #define __IMFTopoLoader_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFTopoLoader, 0xde9a6157, 0xf660, 0x4643, 0xb5,0x6a, 0xdf,0x9f,0x79,0x98,0xc7,0xcd); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("de9a6157-f660-4643-b56a-df9f7998c7cd") IMFTopoLoader : public IUnknown { virtual HRESULT STDMETHODCALLTYPE Load( IMFTopology *pInputTopo, IMFTopology **ppOutputTopo, IMFTopology *pCurrentTopo) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFTopoLoader, 0xde9a6157, 0xf660, 0x4643, 0xb5,0x6a, 0xdf,0x9f,0x79,0x98,0xc7,0xcd) #endif #else typedef struct IMFTopoLoaderVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFTopoLoader *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFTopoLoader *This); ULONG (STDMETHODCALLTYPE *Release)( IMFTopoLoader *This); /*** IMFTopoLoader methods ***/ HRESULT (STDMETHODCALLTYPE *Load)( IMFTopoLoader *This, IMFTopology *pInputTopo, IMFTopology **ppOutputTopo, IMFTopology *pCurrentTopo); END_INTERFACE } IMFTopoLoaderVtbl; interface IMFTopoLoader { CONST_VTBL IMFTopoLoaderVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFTopoLoader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFTopoLoader_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFTopoLoader_Release(This) (This)->lpVtbl->Release(This) /*** IMFTopoLoader methods ***/ #define IMFTopoLoader_Load(This,pInputTopo,ppOutputTopo,pCurrentTopo) (This)->lpVtbl->Load(This,pInputTopo,ppOutputTopo,pCurrentTopo) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IMFTopoLoader_QueryInterface(IMFTopoLoader* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IMFTopoLoader_AddRef(IMFTopoLoader* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IMFTopoLoader_Release(IMFTopoLoader* This) { return This->lpVtbl->Release(This); } /*** IMFTopoLoader methods ***/ static FORCEINLINE HRESULT IMFTopoLoader_Load(IMFTopoLoader* This,IMFTopology *pInputTopo,IMFTopology **ppOutputTopo,IMFTopology *pCurrentTopo) { return This->lpVtbl->Load(This,pInputTopo,ppOutputTopo,pCurrentTopo); } #endif #endif #endif #endif /* __IMFTopoLoader_INTERFACE_DEFINED__ */ HRESULT WINAPI MFCreate3GPMediaSink(IMFByteStream *pIByteStream,IMFMediaType *pVideoMediaType,IMFMediaType *pAudioMediaType,IMFMediaSink **ppIMediaSink); HRESULT WINAPI MFCreateAggregateSource(IMFCollection *pSourceCollection,IMFMediaSource **ppAggSource); HRESULT WINAPI MFCreateAlignedMemoryBuffer(DWORD cbMaxLength,DWORD fAlignmentFlags,IMFMediaBuffer **ppBuffer); HRESULT WINAPI MFCreateASFContentInfo(IMFASFContentInfo **ppIContentInfo); HRESULT WINAPI MFCreateASFIndexer(IMFASFIndexer **ppIIndexer); HRESULT WINAPI MFCreateASFIndexerByteStream(IMFByteStream *pIContentByteStream,QWORD cbIndexStartOffset,IMFByteStream **pIIndexByteStream); HRESULT WINAPI MFCreateASFMediaSink(IMFByteStream *pIByteStream,IMFMediaSink **ppIMediaSink); HRESULT WINAPI MFCreateASFMediaSinkActivate(LPCWSTR pwszFileName,IMFASFContentInfo *pContentInfo,IMFActivate **ppIActivate); HRESULT WINAPI MFCreateASFMultiplexer(IMFASFMultiplexer **ppIMultiplexer); HRESULT WINAPI MFCreateASFProfile(IMFASFProfile **ppIProfile); HRESULT WINAPI MFCreateASFProfileFromPresentationDescriptor(IMFPresentationDescriptor *pIPD,IMFASFProfile **ppIProfile); HRESULT WINAPI MFCreateASFSplitter(IMFASFSplitter **ppISplitter); HRESULT WINAPI MFCreateAudioRenderer(IMFAttributes *pAudioAttributes, IMFMediaSink **ppSink); HRESULT WINAPI MFCreateAudioRendererActivate(IMFActivate **ppActivate); HRESULT WINAPI MFCreateMediaSession(IMFAttributes *pConfiguration,IMFMediaSession **ppMS); HRESULT WINAPI MFCreateMP3MediaSink(IMFByteStream *pTargetByteStream,IMFMediaSink **ppMediaSink); HRESULT WINAPI MFCreateMPEG4MediaSink(IMFByteStream *pIByteStream,IMFMediaType *pVideoMediaType,IMFMediaType *pAudioMediaType,IMFMediaSink **ppIMediaSink); HRESULT WINAPI MFCreateNetSchemePlugin(REFIID riid,LPVOID *ppvHandler); HRESULT WINAPI MFCreatePMPServer(DWORD dwCreationFlags,IMFPMPServer **ppPMPServer); HRESULT WINAPI MFCreatePMPMediaSession(DWORD dwCreationFlags,IMFAttributes *pConfiguration,IMFMediaSession **ppMediaSession,IMFActivate **ppEnablerActivate); HRESULT WINAPI MFCreatePathFromURL(LPCWSTR pwszFileURL,LPWSTR *ppwszFilePath); HRESULT WINAPI MFCreatePresentationClock(IMFPresentationClock **ppPresentationClock); HRESULT WINAPI MFCreatePresentationDescriptor(DWORD cStreamDescriptors,IMFStreamDescriptor **apStreamDescriptors,IMFPresentationDescriptor **ppPresentationDescriptor); HRESULT WINAPI MFCreatePresentationDescriptorFromASFProfile(IMFASFProfile *pIProfile,IMFPresentationDescriptor **ppIPD); HRESULT WINAPI MFCreateProxyLocator(LPCWSTR pszProtocol,IPropertyStore *pProxyConfig,IMFNetProxyLocator **ppProxyLocator); HRESULT WINAPI MFCreateRemoteDesktopPlugin(IMFRemoteDesktopPlugin **ppPlugin); HRESULT WINAPI MFCreateSample(IMFSample **ppIMFSample); HRESULT WINAPI MFCreateSampleCopierMFT(IMFTransform **ppCopierMFT); HRESULT WINAPI MFCreateSampleGrabberSinkActivate(IMFMediaType *pIMFMediaType,IMFSampleGrabberSinkCallback *pIMFSampleGrabberSinkCallback,IMFActivate **ppIActivate); HRESULT WINAPI MFCreateSequencerSource(IUnknown *pReserved,IMFSequencerSource **ppSequencerSource); HRESULT WINAPI MFCreateSimpleTypeHandler(IMFMediaTypeHandler **ppHandler); HRESULT WINAPI MFCreateStandardQualityManager(IMFQualityManager **ppQualityManager); HRESULT WINAPI MFCreateStreamDescriptor(DWORD dwStreamIdentifier,DWORD cMediaTypes,IMFMediaType **apMediaTypes,IMFStreamDescriptor **ppDescriptor); HRESULT WINAPI MFCreateSourceResolver(IMFSourceResolver **ppISourceResolver); HRESULT WINAPI MFCreateSystemTimeSource(IMFPresentationTimeSource **ppSystemTimeSource); HRESULT WINAPI MFCreateTopoLoader(IMFTopoLoader **ppObj); HRESULT WINAPI MFCreateTopology(IMFTopology **ppTopo); HRESULT WINAPI MFCreateTopologyNode(MF_TOPOLOGY_TYPE NodeType,IMFTopologyNode **ppNode); HRESULT WINAPI MFCreateVideoRenderer(REFIID riidRenderer,void **ppVideoRenderer); HRESULT WINAPI MFCreateVideoRendererActivate(HWND hwndVideo,IMFActivate **ppActivate); HRESULT WINAPI MFGetService(IUnknown *punkObject,REFGUID guidService,REFIID riid,LPVOID *ppvObject); HRESULT WINAPI MFGetSupportedMimeTypes(PROPVARIANT *pPropVarMimeTypeArray); HRESULT WINAPI MFGetSupportedSchemes(PROPVARIANT *pPropVarSchemeArray); MFTIME WINAPI MFGetSystemTime(void); HRESULT WINAPI MFShutdownObject(IUnknown *pUnk); HRESULT WINAPI CreateNamedPropertyStore(INamedPropertyStore **ppStore); HRESULT WINAPI CreatePropertyStore(IPropertyStore **ppStore); #if (WINVER >= 0x0601) HRESULT WINAPI MFCreateTranscodeProfile(IMFTranscodeProfile **ppTranscodeProfile); HRESULT WINAPI MFCreateTranscodeSinkActivate(IMFActivate **ppActivate); HRESULT WINAPI MFCreateTranscodeTopology(IMFMediaSource *pSrc,LPCWSTR pwszOutputFilePath,IMFTranscodeProfile *pProfile,IMFTopology **ppTranscodeTopo); HRESULT WINAPI MFEnumDeviceSources(IMFAttributes *pAttributes,IMFActivate ***pppSourceActivate,UINT32 *pcSourceActivate); HRESULT WINAPI MFGetTopoNodeCurrentType(IMFTopologyNode *pNode,DWORD dwStreamIndex,WINBOOL fOutput,IMFMediaType **ppType); HRESULT WINAPI MFTranscodeGetAudioOutputAvailableTypes(REFGUID guidSubType,DWORD dwMFTFlags,IMFAttributes *pCodecConfig,IMFCollection **ppAvailableTypes); #endif EXTERN_GUID(MFNETSOURCE_STATISTICS, 0x3cb1f274, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1); EXTERN_GUID(MFNETSOURCE_STATISTICS_SERVICE, 0x3cb1f275, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1); EXTERN_GUID(MF_ACTIVATE_CUSTOM_VIDEO_MIXER_CLSID, 0xba491360, 0xbe50, 0x451e, 0x95, 0xab, 0x6d, 0x4a, 0xcc, 0xc7, 0xda, 0xd8 ); EXTERN_GUID(MF_ACTIVATE_CUSTOM_VIDEO_MIXER_ACTIVATE, 0xba491361, 0xbe50, 0x451e, 0x95, 0xab, 0x6d, 0x4a, 0xcc, 0xc7, 0xda, 0xd8 ); EXTERN_GUID(MF_ACTIVATE_CUSTOM_VIDEO_MIXER_FLAGS, 0xba491362, 0xbe50, 0x451e, 0x95, 0xab, 0x6d, 0x4a, 0xcc, 0xc7, 0xda, 0xd8 ); EXTERN_GUID(MF_ACTIVATE_CUSTOM_VIDEO_PRESENTER_CLSID, 0xba491364, 0xbe50, 0x451e, 0x95, 0xab, 0x6d, 0x4a, 0xcc, 0xc7, 0xda, 0xd8 ); EXTERN_GUID(MF_ACTIVATE_CUSTOM_VIDEO_PRESENTER_ACTIVATE, 0xba491365, 0xbe50, 0x451e, 0x95, 0xab, 0x6d, 0x4a, 0xcc, 0xc7, 0xda, 0xd8 ); EXTERN_GUID(MF_ACTIVATE_CUSTOM_VIDEO_PRESENTER_FLAGS, 0xba491366, 0xbe50, 0x451e, 0x95, 0xab, 0x6d, 0x4a, 0xcc, 0xc7, 0xda, 0xd8 ); EXTERN_GUID(MF_AUDIO_RENDERER_ATTRIBUTE_SESSION_ID, 0xede4b5e3, 0xf805, 0x4d6c, 0x99, 0xb3, 0xdb, 0x01, 0xbf, 0x95, 0xdf, 0xab); EXTERN_GUID(MF_AUDIO_RENDERER_ATTRIBUTE_ENDPOINT_ID, 0xb10aaec3, 0xef71, 0x4cc3, 0xb8, 0x73, 0x5, 0xa9, 0xa0, 0x8b, 0x9f, 0x8e); EXTERN_GUID(MF_AUDIO_RENDERER_ATTRIBUTE_ENDPOINT_ROLE, 0x6ba644ff, 0x27c5, 0x4d02, 0x98, 0x87, 0xc2, 0x86, 0x19, 0xfd, 0xb9, 0x1b); EXTERN_GUID(MF_AUDIO_RENDERER_ATTRIBUTE_STREAM_CATEGORY, 0xa9770471, 0x92ec, 0x4df4, 0x94, 0xfe, 0x81, 0xc3, 0x6f, 0xc, 0x3a, 0x7a); EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_FRIENDLY_NAME, 0x60d0e559,0x52f8,0x4fa2,0xbb,0xce,0xac,0xdb,0x34,0xa8,0xec,0x1); EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_MEDIA_TYPE, 0x56a819ca,0xc78,0x4de4,0xa0,0xa7,0x3d,0xda,0xba,0xf,0x24,0xd4); EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_ENDPOINT_ID, 0x30da9258,0xfeb9,0x47a7,0xa4,0x53,0x76,0x3a,0x7a,0x8e,0x1c,0x5f); EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_ROLE, 0xbc9d118e,0x8c67,0x4a18,0x85,0xd4,0x12,0xd3,0x0,0x40,0x5,0x52); EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_CATEGORY, 0x77f0ae69,0xc3bd,0x4509,0x94,0x1d,0x46,0x7e,0x4d,0x24,0x89,0x9e); EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_HW_SOURCE, 0xde7046ba,0x54d6,0x4487,0xa2,0xa4,0xec,0x7c,0xd,0x1b,0xd1,0x63); EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_MAX_BUFFERS, 0x7dd9b730,0x4f2d,0x41d5,0x8f,0x95,0xc,0xc9,0xa9,0x12,0xba,0x26); EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_SYMBOLIC_LINK, 0x58f0aad8,0x22bf,0x4f8a,0xbb,0x3d,0xd2,0xc4,0x97,0x8c,0x6e,0x2f); EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE, 0xc60ac5fe,0x252a,0x478f,0xa0,0xef,0xbc,0x8f,0xa5,0xf7,0xca,0xd3); EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_GUID, 0x8ac3587a,0x4ae7,0x42d8,0x99,0xe0,0x0a,0x60,0x13,0xee,0xf9,0x0f); EXTERN_GUID(MF_METADATA_PROVIDER_SERVICE, 0xdb214084, 0x58a4, 0x4d2e, 0xb8, 0x4f, 0x6f, 0x75, 0x5b, 0x2f, 0x7a, 0xd); EXTERN_GUID(MF_PROPERTY_HANDLER_SERVICE, 0xa3face02, 0x32b8, 0x41dd, 0x90, 0xe7, 0x5f, 0xef, 0x7c, 0x89, 0x91, 0xb5); EXTERN_GUID(MF_RATE_CONTROL_SERVICE, 0x866fa297, 0xb802, 0x4bf8, 0x9d, 0xc9, 0x5e, 0x3b, 0x6a, 0x9f, 0x53, 0xc9); EXTERN_GUID(MF_SAMPLEGRABBERSINK_IGNORE_CLOCK, 0x0efda2c0, 0x2b69, 0x4e2e, 0xab, 0x8d, 0x46, 0xdc, 0xbf, 0xf7, 0xd2, 0x5d); EXTERN_GUID(MF_TOPONODE_DRAIN, 0x494bbce9, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc); EXTERN_GUID(MF_TOPONODE_D3DAWARE, 0x494bbced, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc); EXTERN_GUID(MF_TOPOLOGY_RESOLUTION_STATUS, 0x494bbcde, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc); EXTERN_GUID(MF_TOPONODE_ERRORCODE, 0x494bbcee, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc); EXTERN_GUID(MF_TOPONODE_CONNECT_METHOD, 0x494bbcf1, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc); EXTERN_GUID(MF_TOPONODE_LOCKED, 0x494bbcf7, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc); EXTERN_GUID(MF_TOPONODE_WORKQUEUE_ID, 0x494bbcf8, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc); EXTERN_GUID(MF_TOPONODE_WORKQUEUE_MMCSS_CLASS, 0x494bbcf9, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc); EXTERN_GUID(MF_TOPONODE_DECRYPTOR, 0x494bbcfa, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc); EXTERN_GUID(MF_TOPONODE_DISCARDABLE, 0x494bbcfb, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc); EXTERN_GUID(MF_TOPONODE_ERROR_MAJORTYPE, 0x494bbcfd, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc); EXTERN_GUID(MF_TOPONODE_ERROR_SUBTYPE, 0x494bbcfe, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc); EXTERN_GUID(MF_TOPONODE_WORKQUEUE_MMCSS_TASKID, 0x494bbcff, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc); EXTERN_GUID(MF_TOPONODE_WORKQUEUE_MMCSS_PRIORITY, 0x5001f840, 0x2816, 0x48f4, 0x93, 0x64, 0xad, 0x1e, 0xf6, 0x61, 0xa1, 0x23); EXTERN_GUID(MF_TOPONODE_WORKQUEUE_ITEM_PRIORITY, 0xa1ff99be, 0x5e97, 0x4a53, 0xb4, 0x94, 0x56, 0x8c, 0x64, 0x2c, 0x0f, 0xf3); EXTERN_GUID(MF_TOPONODE_MARKIN_HERE, 0x494bbd00, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc); EXTERN_GUID(MF_TOPONODE_MARKOUT_HERE, 0x494bbd01, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc); EXTERN_GUID(MF_TOPONODE_DECODER, 0x494bbd02, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc); EXTERN_GUID(MF_TOPONODE_MEDIASTART, 0x835c58ea, 0xe075, 0x4bc7, 0xbc, 0xba, 0x4d, 0xe0, 0x00, 0xdf, 0x9a, 0xe6); EXTERN_GUID(MF_TOPONODE_MEDIASTOP, 0x835c58eb, 0xe075, 0x4bc7, 0xbc, 0xba, 0x4d, 0xe0, 0x00, 0xdf, 0x9a, 0xe6); EXTERN_GUID(MF_TOPONODE_SOURCE, 0x835c58ec, 0xe075, 0x4bc7, 0xbc, 0xba, 0x4d, 0xe0, 0x00, 0xdf, 0x9a, 0xe6); EXTERN_GUID(MF_TOPONODE_PRESENTATION_DESCRIPTOR, 0x835c58ed, 0xe075, 0x4bc7, 0xbc, 0xba, 0x4d, 0xe0, 0x00, 0xdf, 0x9a, 0xe6); EXTERN_GUID(MF_TOPONODE_STREAM_DESCRIPTOR, 0x835c58ee, 0xe075, 0x4bc7, 0xbc, 0xba, 0x4d, 0xe0, 0x00, 0xdf, 0x9a, 0xe6); EXTERN_GUID(MF_TOPONODE_SEQUENCE_ELEMENTID, 0x835c58ef, 0xe075, 0x4bc7, 0xbc, 0xba, 0x4d, 0xe0, 0x00, 0xdf, 0x9a, 0xe6); EXTERN_GUID(MF_TOPONODE_TRANSFORM_OBJECTID, 0x88dcc0c9, 0x293e, 0x4e8b, 0x9a, 0xeb, 0xa, 0xd6, 0x4c, 0xc0, 0x16, 0xb0); EXTERN_GUID(MF_TOPONODE_STREAMID, 0x14932f9b, 0x9087, 0x4bb4, 0x84, 0x12, 0x51, 0x67, 0x14, 0x5c, 0xbe, 0x04); EXTERN_GUID(MF_TOPONODE_NOSHUTDOWN_ON_REMOVE, 0x14932f9c, 0x9087, 0x4bb4, 0x84, 0x12, 0x51, 0x67, 0x14, 0x5c, 0xbe, 0x04); EXTERN_GUID(MF_TOPONODE_RATELESS, 0x14932f9d, 0x9087, 0x4bb4, 0x84, 0x12, 0x51, 0x67, 0x14, 0x5c, 0xbe, 0x04); EXTERN_GUID(MF_TOPONODE_DISABLE_PREROLL, 0x14932f9e, 0x9087, 0x4bb4, 0x84, 0x12, 0x51, 0x67, 0x14, 0x5c, 0xbe, 0x04); EXTERN_GUID(MF_TOPONODE_PRIMARYOUTPUT, 0x6304ef99, 0x16b2, 0x4ebe, 0x9d, 0x67, 0xe4, 0xc5, 0x39, 0xb3, 0xa2, 0x59); EXTERN_GUID(MR_STREAM_VOLUME_SERVICE, 0xf8b5fa2f, 0x32ef, 0x46f5, 0xb1, 0x72, 0x13, 0x21, 0x21, 0x2f, 0xb2, 0xc4); /* Begin additional prototypes for all interfaces */ ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *); unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *); unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *); void __RPC_USER BSTR_UserFree (ULONG *, BSTR *); ULONG __RPC_USER LPSAFEARRAY_UserSize (ULONG *, ULONG, LPSAFEARRAY *); unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal (ULONG *, unsigned char *, LPSAFEARRAY *); unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(ULONG *, unsigned char *, LPSAFEARRAY *); void __RPC_USER LPSAFEARRAY_UserFree (ULONG *, LPSAFEARRAY *); /* End additional prototypes */ #ifdef __cplusplus } #endif #endif /* __mfidl_h__ */