/*** Autogenerated by WIDL 10.17 from /var/tmp/portage/app-emulation/wine-vanilla-10.17/work/wine-10.17/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 __IMFClock_FWD_DEFINED__ #define __IMFClock_FWD_DEFINED__ typedef interface IMFClock IMFClock; #ifdef __cplusplus interface IMFClock; #endif /* __cplusplus */ #endif #ifndef __IMFRateSupport_FWD_DEFINED__ #define __IMFRateSupport_FWD_DEFINED__ typedef interface IMFRateSupport IMFRateSupport; #ifdef __cplusplus interface IMFRateSupport; #endif /* __cplusplus */ #endif #ifndef __IMFRateControl_FWD_DEFINED__ #define __IMFRateControl_FWD_DEFINED__ typedef interface IMFRateControl IMFRateControl; #ifdef __cplusplus interface IMFRateControl; #endif /* __cplusplus */ #endif #ifndef __IMFTimer_FWD_DEFINED__ #define __IMFTimer_FWD_DEFINED__ typedef interface IMFTimer IMFTimer; #ifdef __cplusplus interface IMFTimer; #endif /* __cplusplus */ #endif #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 __IMFTopologyNodeAttributeEditor_FWD_DEFINED__ #define __IMFTopologyNodeAttributeEditor_FWD_DEFINED__ typedef interface IMFTopologyNodeAttributeEditor IMFTopologyNodeAttributeEditor; #ifdef __cplusplus interface IMFTopologyNodeAttributeEditor; #endif /* __cplusplus */ #endif #ifndef __IMFTopoLoader_FWD_DEFINED__ #define __IMFTopoLoader_FWD_DEFINED__ typedef interface IMFTopoLoader IMFTopoLoader; #ifdef __cplusplus interface IMFTopoLoader; #endif /* __cplusplus */ #endif #ifndef __IMFMediaSession_FWD_DEFINED__ #define __IMFMediaSession_FWD_DEFINED__ typedef interface IMFMediaSession IMFMediaSession; #ifdef __cplusplus interface IMFMediaSession; #endif /* __cplusplus */ #endif #ifndef __IMFByteStreamHandler_FWD_DEFINED__ #define __IMFByteStreamHandler_FWD_DEFINED__ typedef interface IMFByteStreamHandler IMFByteStreamHandler; #ifdef __cplusplus interface IMFByteStreamHandler; #endif /* __cplusplus */ #endif #ifndef __IMFByteStreamBuffering_FWD_DEFINED__ #define __IMFByteStreamBuffering_FWD_DEFINED__ typedef interface IMFByteStreamBuffering IMFByteStreamBuffering; #ifdef __cplusplus interface IMFByteStreamBuffering; #endif /* __cplusplus */ #endif #ifndef __IMFByteStreamCacheControl_FWD_DEFINED__ #define __IMFByteStreamCacheControl_FWD_DEFINED__ typedef interface IMFByteStreamCacheControl IMFByteStreamCacheControl; #ifdef __cplusplus interface IMFByteStreamCacheControl; #endif /* __cplusplus */ #endif #ifndef __IMFByteStreamTimeSeek_FWD_DEFINED__ #define __IMFByteStreamTimeSeek_FWD_DEFINED__ typedef interface IMFByteStreamTimeSeek IMFByteStreamTimeSeek; #ifdef __cplusplus interface IMFByteStreamTimeSeek; #endif /* __cplusplus */ #endif #ifndef __IMFSchemeHandler_FWD_DEFINED__ #define __IMFSchemeHandler_FWD_DEFINED__ typedef interface IMFSchemeHandler IMFSchemeHandler; #ifdef __cplusplus interface IMFSchemeHandler; #endif /* __cplusplus */ #endif #ifndef __IMFSourceResolver_FWD_DEFINED__ #define __IMFSourceResolver_FWD_DEFINED__ typedef interface IMFSourceResolver IMFSourceResolver; #ifdef __cplusplus interface IMFSourceResolver; #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 __IMFClockStateSink_FWD_DEFINED__ #define __IMFClockStateSink_FWD_DEFINED__ typedef interface IMFClockStateSink IMFClockStateSink; #ifdef __cplusplus interface IMFClockStateSink; #endif /* __cplusplus */ #endif #ifndef __IMFGetService_FWD_DEFINED__ #define __IMFGetService_FWD_DEFINED__ typedef interface IMFGetService IMFGetService; #ifdef __cplusplus interface IMFGetService; #endif /* __cplusplus */ #endif #ifndef __IMFPresentationDescriptor_FWD_DEFINED__ #define __IMFPresentationDescriptor_FWD_DEFINED__ typedef interface IMFPresentationDescriptor IMFPresentationDescriptor; #ifdef __cplusplus interface IMFPresentationDescriptor; #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 __IMFSequencerSource_FWD_DEFINED__ #define __IMFSequencerSource_FWD_DEFINED__ typedef interface IMFSequencerSource IMFSequencerSource; #ifdef __cplusplus interface IMFSequencerSource; #endif /* __cplusplus */ #endif #ifndef __IMFSampleGrabberSinkCallback_FWD_DEFINED__ #define __IMFSampleGrabberSinkCallback_FWD_DEFINED__ typedef interface IMFSampleGrabberSinkCallback IMFSampleGrabberSinkCallback; #ifdef __cplusplus interface IMFSampleGrabberSinkCallback; #endif /* __cplusplus */ #endif #ifndef __IMFSampleGrabberSinkCallback2_FWD_DEFINED__ #define __IMFSampleGrabberSinkCallback2_FWD_DEFINED__ typedef interface IMFSampleGrabberSinkCallback2 IMFSampleGrabberSinkCallback2; #ifdef __cplusplus interface IMFSampleGrabberSinkCallback2; #endif /* __cplusplus */ #endif #ifndef __IMFSeekInfo_FWD_DEFINED__ #define __IMFSeekInfo_FWD_DEFINED__ typedef interface IMFSeekInfo IMFSeekInfo; #ifdef __cplusplus interface IMFSeekInfo; #endif /* __cplusplus */ #endif #ifndef __IMFMediaSource_FWD_DEFINED__ #define __IMFMediaSource_FWD_DEFINED__ typedef interface IMFMediaSource IMFMediaSource; #ifdef __cplusplus interface IMFMediaSource; #endif /* __cplusplus */ #endif #ifndef __IMFMediaSourceEx_FWD_DEFINED__ #define __IMFMediaSourceEx_FWD_DEFINED__ typedef interface IMFMediaSourceEx IMFMediaSourceEx; #ifdef __cplusplus interface IMFMediaSourceEx; #endif /* __cplusplus */ #endif #ifndef __IMFMediaStream_FWD_DEFINED__ #define __IMFMediaStream_FWD_DEFINED__ typedef interface IMFMediaStream IMFMediaStream; #ifdef __cplusplus interface IMFMediaStream; #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 __IMFClockConsumer_FWD_DEFINED__ #define __IMFClockConsumer_FWD_DEFINED__ typedef interface IMFClockConsumer IMFClockConsumer; #ifdef __cplusplus interface IMFClockConsumer; #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 __IMFStreamingSinkConfig_FWD_DEFINED__ #define __IMFStreamingSinkConfig_FWD_DEFINED__ typedef interface IMFStreamingSinkConfig IMFStreamingSinkConfig; #ifdef __cplusplus interface IMFStreamingSinkConfig; #endif /* __cplusplus */ #endif #ifndef __IMFStreamSink_FWD_DEFINED__ #define __IMFStreamSink_FWD_DEFINED__ typedef interface IMFStreamSink IMFStreamSink; #ifdef __cplusplus interface IMFStreamSink; #endif /* __cplusplus */ #endif #ifndef __IMFShutdown_FWD_DEFINED__ #define __IMFShutdown_FWD_DEFINED__ typedef interface IMFShutdown IMFShutdown; #ifdef __cplusplus interface IMFShutdown; #endif /* __cplusplus */ #endif #ifndef __IMFQualityManager_FWD_DEFINED__ #define __IMFQualityManager_FWD_DEFINED__ typedef interface IMFQualityManager IMFQualityManager; #ifdef __cplusplus interface IMFQualityManager; #endif /* __cplusplus */ #endif #ifndef __IMFQualityAdvise_FWD_DEFINED__ #define __IMFQualityAdvise_FWD_DEFINED__ typedef interface IMFQualityAdvise IMFQualityAdvise; #ifdef __cplusplus interface IMFQualityAdvise; #endif /* __cplusplus */ #endif #ifndef __IMFQualityAdvise2_FWD_DEFINED__ #define __IMFQualityAdvise2_FWD_DEFINED__ typedef interface IMFQualityAdvise2 IMFQualityAdvise2; #ifdef __cplusplus interface IMFQualityAdvise2; #endif /* __cplusplus */ #endif #ifndef __IMFQualityAdviseLimits_FWD_DEFINED__ #define __IMFQualityAdviseLimits_FWD_DEFINED__ typedef interface IMFQualityAdviseLimits IMFQualityAdviseLimits; #ifdef __cplusplus interface IMFQualityAdviseLimits; #endif /* __cplusplus */ #endif #ifndef __IMFTrackedSample_FWD_DEFINED__ #define __IMFTrackedSample_FWD_DEFINED__ typedef interface IMFTrackedSample IMFTrackedSample; #ifdef __cplusplus interface IMFTrackedSample; #endif /* __cplusplus */ #endif #ifndef __IMFLocalMFTRegistration_FWD_DEFINED__ #define __IMFLocalMFTRegistration_FWD_DEFINED__ typedef interface IMFLocalMFTRegistration IMFLocalMFTRegistration; #ifdef __cplusplus interface IMFLocalMFTRegistration; #endif /* __cplusplus */ #endif #ifndef __IMFMediaSourceTopologyProvider_FWD_DEFINED__ #define __IMFMediaSourceTopologyProvider_FWD_DEFINED__ typedef interface IMFMediaSourceTopologyProvider IMFMediaSourceTopologyProvider; #ifdef __cplusplus interface IMFMediaSourceTopologyProvider; #endif /* __cplusplus */ #endif #ifndef __IMFSimpleAudioVolume_FWD_DEFINED__ #define __IMFSimpleAudioVolume_FWD_DEFINED__ typedef interface IMFSimpleAudioVolume IMFSimpleAudioVolume; #ifdef __cplusplus interface IMFSimpleAudioVolume; #endif /* __cplusplus */ #endif #ifndef __IMFAudioStreamVolume_FWD_DEFINED__ #define __IMFAudioStreamVolume_FWD_DEFINED__ typedef interface IMFAudioStreamVolume IMFAudioStreamVolume; #ifdef __cplusplus interface IMFAudioStreamVolume; #endif /* __cplusplus */ #endif #ifndef __IMFAudioPolicy_FWD_DEFINED__ #define __IMFAudioPolicy_FWD_DEFINED__ typedef interface IMFAudioPolicy IMFAudioPolicy; #ifdef __cplusplus interface IMFAudioPolicy; #endif /* __cplusplus */ #endif #ifndef __IMFVideoSampleAllocator_FWD_DEFINED__ #define __IMFVideoSampleAllocator_FWD_DEFINED__ typedef interface IMFVideoSampleAllocator IMFVideoSampleAllocator; #ifdef __cplusplus interface IMFVideoSampleAllocator; #endif /* __cplusplus */ #endif #ifndef __IMFVideoSampleAllocatorNotify_FWD_DEFINED__ #define __IMFVideoSampleAllocatorNotify_FWD_DEFINED__ typedef interface IMFVideoSampleAllocatorNotify IMFVideoSampleAllocatorNotify; #ifdef __cplusplus interface IMFVideoSampleAllocatorNotify; #endif /* __cplusplus */ #endif #ifndef __IMFVideoSampleAllocatorNotifyEx_FWD_DEFINED__ #define __IMFVideoSampleAllocatorNotifyEx_FWD_DEFINED__ typedef interface IMFVideoSampleAllocatorNotifyEx IMFVideoSampleAllocatorNotifyEx; #ifdef __cplusplus interface IMFVideoSampleAllocatorNotifyEx; #endif /* __cplusplus */ #endif #ifndef __IMFVideoSampleAllocatorCallback_FWD_DEFINED__ #define __IMFVideoSampleAllocatorCallback_FWD_DEFINED__ typedef interface IMFVideoSampleAllocatorCallback IMFVideoSampleAllocatorCallback; #ifdef __cplusplus interface IMFVideoSampleAllocatorCallback; #endif /* __cplusplus */ #endif #ifndef __IMFVideoSampleAllocatorEx_FWD_DEFINED__ #define __IMFVideoSampleAllocatorEx_FWD_DEFINED__ typedef interface IMFVideoSampleAllocatorEx IMFVideoSampleAllocatorEx; #ifdef __cplusplus interface IMFVideoSampleAllocatorEx; #endif /* __cplusplus */ #endif #ifndef __IMFVideoProcessorControl_FWD_DEFINED__ #define __IMFVideoProcessorControl_FWD_DEFINED__ typedef interface IMFVideoProcessorControl IMFVideoProcessorControl; #ifdef __cplusplus interface IMFVideoProcessorControl; #endif /* __cplusplus */ #endif #ifndef __IMFVideoProcessorControl2_FWD_DEFINED__ #define __IMFVideoProcessorControl2_FWD_DEFINED__ typedef interface IMFVideoProcessorControl2 IMFVideoProcessorControl2; #ifdef __cplusplus interface IMFVideoProcessorControl2; #endif /* __cplusplus */ #endif #ifndef __IMFVideoProcessorControl3_FWD_DEFINED__ #define __IMFVideoProcessorControl3_FWD_DEFINED__ typedef interface IMFVideoProcessorControl3 IMFVideoProcessorControl3; #ifdef __cplusplus interface IMFVideoProcessorControl3; #endif /* __cplusplus */ #endif #ifndef __IMFRealTimeClient_FWD_DEFINED__ #define __IMFRealTimeClient_FWD_DEFINED__ typedef interface IMFRealTimeClient IMFRealTimeClient; #ifdef __cplusplus interface IMFRealTimeClient; #endif /* __cplusplus */ #endif #ifndef __IMFRealTimeClientEx_FWD_DEFINED__ #define __IMFRealTimeClientEx_FWD_DEFINED__ typedef interface IMFRealTimeClientEx IMFRealTimeClientEx; #ifdef __cplusplus interface IMFRealTimeClientEx; #endif /* __cplusplus */ #endif #ifndef __IMFWorkQueueServices_FWD_DEFINED__ #define __IMFWorkQueueServices_FWD_DEFINED__ typedef interface IMFWorkQueueServices IMFWorkQueueServices; #ifdef __cplusplus interface IMFWorkQueueServices; #endif /* __cplusplus */ #endif #ifndef __IMFWorkQueueServicesEx_FWD_DEFINED__ #define __IMFWorkQueueServicesEx_FWD_DEFINED__ typedef interface IMFWorkQueueServicesEx IMFWorkQueueServicesEx; #ifdef __cplusplus interface IMFWorkQueueServicesEx; #endif /* __cplusplus */ #endif /* Headers for imported files */ #include #include #ifdef __cplusplus extern "C" { #endif typedef UINT64 TOPOID; typedef LONGLONG MFTIME; typedef DWORD MFSequencerElementId; 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; typedef enum _MFCLOCK_STATE { MFCLOCK_STATE_INVALID = 0, MFCLOCK_STATE_RUNNING = 1, MFCLOCK_STATE_STOPPED = 2, MFCLOCK_STATE_PAUSED = 3 } MFCLOCK_STATE; typedef enum MF_OBJECT_TYPE { MF_OBJECT_MEDIASOURCE = 0, MF_OBJECT_BYTESTREAM = 1, MF_OBJECT_INVALID = 2 } MF_OBJECT_TYPE; #define MFCLOCK_FREQUENCY_HNS 10000000 #define MFCLOCK_TOLERANCE_UNKNOWN 50000 #define MFCLOCK_JITTER_ISR 1000 #define MFCLOCK_JITTER_DPC 4000 #define MFCLOCK_JITTER_PASSIVE 10000 typedef struct _MFCLOCK_PROPERTIES { UINT64 qwCorrelationRate; GUID guidClockId; DWORD dwClockFlags; UINT64 qwClockFrequency; DWORD dwClockTolerance; DWORD dwClockJitter; } MFCLOCK_PROPERTIES; 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; 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 = 0x1 } MFSESSION_GETFULLTOPOLOGY_FLAGS; typedef enum MFPMPSESSION_CREATION_FLAGS { MFPMPSESSION_UNPROTECTED_PROCESS = 0x1, MFPMPSESSION_IN_PROCESS = 0x2 } MFPMPSESSION_CREATION_FLAGS; 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; 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 _MFSTREAMSINK_MARKER_TYPE { MFSTREAMSINK_MARKER_DEFAULT = 0, MFSTREAMSINK_MARKER_ENDOFSEGMENT = 1, MFSTREAMSINK_MARKER_TICK = 2, MFSTREAMSINK_MARKER_EVENT = 3 } MFSTREAMSINK_MARKER_TYPE; typedef enum _MF_TRANSCODE_TOPOLOGYMODE_FLAGS { MF_TRANSCODE_TOPOLOGYMODE_SOFTWARE_ONLY = 0, MF_TRANSCODE_TOPOLOGYMODE_HARDWARE_ALLOWED = 1 } MF_TRANSCODE_TOPOLOGYMODE_FLAGS; typedef enum _MF_TRANSCODE_ADJUST_PROFILE_FLAGS { MF_TRANSCODE_ADJUST_PROFILE_DEFAULT = 0, MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES = 1 } MF_TRANSCODE_ADJUST_PROFILE_FLAGS; typedef enum _MF_VIDEO_PROCESSOR_ALGORITHM_TYPE { MF_VIDEO_PROCESSOR_ALGORITHM_DEFAULT = 0, MF_VIDEO_PROCESSOR_ALGORITHM_MRF_CRF_444 = 1 } MF_VIDEO_PROCESSOR_ALGORITHM_TYPE; typedef enum MFTOPOLOGY_DXVA_MODE { MFTOPOLOGY_DXVA_DEFAULT = 0, MFTOPOLOGY_DXVA_NONE = 1, MFTOPOLOGY_DXVA_FULL = 2 } MFTOPOLOGY_DXVA_MODE; /***************************************************************************** * 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 *characteristics) = 0; virtual HRESULT STDMETHODCALLTYPE GetCorrelatedTime( DWORD reserved, LONGLONG *clock_time, MFTIME *system_time) = 0; virtual HRESULT STDMETHODCALLTYPE GetContinuityKey( DWORD *key) = 0; virtual HRESULT STDMETHODCALLTYPE GetState( DWORD reserved, MFCLOCK_STATE *state) = 0; virtual HRESULT STDMETHODCALLTYPE GetProperties( MFCLOCK_PROPERTIES *props) = 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 *characteristics); HRESULT (STDMETHODCALLTYPE *GetCorrelatedTime)( IMFClock *This, DWORD reserved, LONGLONG *clock_time, MFTIME *system_time); HRESULT (STDMETHODCALLTYPE *GetContinuityKey)( IMFClock *This, DWORD *key); HRESULT (STDMETHODCALLTYPE *GetState)( IMFClock *This, DWORD reserved, MFCLOCK_STATE *state); HRESULT (STDMETHODCALLTYPE *GetProperties)( IMFClock *This, MFCLOCK_PROPERTIES *props); 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,characteristics) (This)->lpVtbl->GetClockCharacteristics(This,characteristics) #define IMFClock_GetCorrelatedTime(This,reserved,clock_time,system_time) (This)->lpVtbl->GetCorrelatedTime(This,reserved,clock_time,system_time) #define IMFClock_GetContinuityKey(This,key) (This)->lpVtbl->GetContinuityKey(This,key) #define IMFClock_GetState(This,reserved,state) (This)->lpVtbl->GetState(This,reserved,state) #define IMFClock_GetProperties(This,props) (This)->lpVtbl->GetProperties(This,props) #else /*** IUnknown methods ***/ static inline HRESULT IMFClock_QueryInterface(IMFClock* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFClock_AddRef(IMFClock* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFClock_Release(IMFClock* This) { return This->lpVtbl->Release(This); } /*** IMFClock methods ***/ static inline HRESULT IMFClock_GetClockCharacteristics(IMFClock* This,DWORD *characteristics) { return This->lpVtbl->GetClockCharacteristics(This,characteristics); } static inline HRESULT IMFClock_GetCorrelatedTime(IMFClock* This,DWORD reserved,LONGLONG *clock_time,MFTIME *system_time) { return This->lpVtbl->GetCorrelatedTime(This,reserved,clock_time,system_time); } static inline HRESULT IMFClock_GetContinuityKey(IMFClock* This,DWORD *key) { return This->lpVtbl->GetContinuityKey(This,key); } static inline HRESULT IMFClock_GetState(IMFClock* This,DWORD reserved,MFCLOCK_STATE *state) { return This->lpVtbl->GetState(This,reserved,state); } static inline HRESULT IMFClock_GetProperties(IMFClock* This,MFCLOCK_PROPERTIES *props) { return This->lpVtbl->GetProperties(This,props); } #endif #endif #endif #endif /* __IMFClock_INTERFACE_DEFINED__ */ typedef enum _MFRATE_DIRECTION { MFRATE_FORWARD = 0, MFRATE_REVERSE = 1 } MFRATE_DIRECTION; /***************************************************************************** * 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 direction, BOOL thin, float *rate) = 0; virtual HRESULT STDMETHODCALLTYPE GetFastestRate( MFRATE_DIRECTION direction, BOOL thin, float *rate) = 0; virtual HRESULT STDMETHODCALLTYPE IsRateSupported( BOOL thin, float rate, float *nearest_supported_rate) = 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 direction, BOOL thin, float *rate); HRESULT (STDMETHODCALLTYPE *GetFastestRate)( IMFRateSupport *This, MFRATE_DIRECTION direction, BOOL thin, float *rate); HRESULT (STDMETHODCALLTYPE *IsRateSupported)( IMFRateSupport *This, BOOL thin, float rate, float *nearest_supported_rate); 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,direction,thin,rate) (This)->lpVtbl->GetSlowestRate(This,direction,thin,rate) #define IMFRateSupport_GetFastestRate(This,direction,thin,rate) (This)->lpVtbl->GetFastestRate(This,direction,thin,rate) #define IMFRateSupport_IsRateSupported(This,thin,rate,nearest_supported_rate) (This)->lpVtbl->IsRateSupported(This,thin,rate,nearest_supported_rate) #else /*** IUnknown methods ***/ static inline HRESULT IMFRateSupport_QueryInterface(IMFRateSupport* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFRateSupport_AddRef(IMFRateSupport* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFRateSupport_Release(IMFRateSupport* This) { return This->lpVtbl->Release(This); } /*** IMFRateSupport methods ***/ static inline HRESULT IMFRateSupport_GetSlowestRate(IMFRateSupport* This,MFRATE_DIRECTION direction,BOOL thin,float *rate) { return This->lpVtbl->GetSlowestRate(This,direction,thin,rate); } static inline HRESULT IMFRateSupport_GetFastestRate(IMFRateSupport* This,MFRATE_DIRECTION direction,BOOL thin,float *rate) { return This->lpVtbl->GetFastestRate(This,direction,thin,rate); } static inline HRESULT IMFRateSupport_IsRateSupported(IMFRateSupport* This,BOOL thin,float rate,float *nearest_supported_rate) { return This->lpVtbl->IsRateSupported(This,thin,rate,nearest_supported_rate); } #endif #endif #endif #endif /* __IMFRateSupport_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( BOOL thin, float rate) = 0; virtual HRESULT STDMETHODCALLTYPE GetRate( BOOL *thin, float *rate) = 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, BOOL thin, float rate); HRESULT (STDMETHODCALLTYPE *GetRate)( IMFRateControl *This, BOOL *thin, float *rate); 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,thin,rate) (This)->lpVtbl->SetRate(This,thin,rate) #define IMFRateControl_GetRate(This,thin,rate) (This)->lpVtbl->GetRate(This,thin,rate) #else /*** IUnknown methods ***/ static inline HRESULT IMFRateControl_QueryInterface(IMFRateControl* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFRateControl_AddRef(IMFRateControl* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFRateControl_Release(IMFRateControl* This) { return This->lpVtbl->Release(This); } /*** IMFRateControl methods ***/ static inline HRESULT IMFRateControl_SetRate(IMFRateControl* This,BOOL thin,float rate) { return This->lpVtbl->SetRate(This,thin,rate); } static inline HRESULT IMFRateControl_GetRate(IMFRateControl* This,BOOL *thin,float *rate) { return This->lpVtbl->GetRate(This,thin,rate); } #endif #endif #endif #endif /* __IMFRateControl_INTERFACE_DEFINED__ */ typedef enum MFTIMER_FLAGS { MFTIMER_RELATIVE = 0x1 } MFTIMER_FLAGS; /***************************************************************************** * IMFTimer interface */ #ifndef __IMFTimer_INTERFACE_DEFINED__ #define __IMFTimer_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFTimer, 0xe56e4cbd, 0x8f70, 0x49d8, 0xa0,0xf8, 0xed,0xb3,0xd6,0xab,0x9b,0xf2); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("e56e4cbd-8f70-49d8-a0f8-edb3d6ab9bf2") IMFTimer : public IUnknown { virtual HRESULT STDMETHODCALLTYPE SetTimer( DWORD flags, LONGLONG time, IMFAsyncCallback *callback, IUnknown *state, IUnknown **key) = 0; virtual HRESULT STDMETHODCALLTYPE CancelTimer( IUnknown *key) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFTimer, 0xe56e4cbd, 0x8f70, 0x49d8, 0xa0,0xf8, 0xed,0xb3,0xd6,0xab,0x9b,0xf2) #endif #else typedef struct IMFTimerVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFTimer *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFTimer *This); ULONG (STDMETHODCALLTYPE *Release)( IMFTimer *This); /*** IMFTimer methods ***/ HRESULT (STDMETHODCALLTYPE *SetTimer)( IMFTimer *This, DWORD flags, LONGLONG time, IMFAsyncCallback *callback, IUnknown *state, IUnknown **key); HRESULT (STDMETHODCALLTYPE *CancelTimer)( IMFTimer *This, IUnknown *key); END_INTERFACE } IMFTimerVtbl; interface IMFTimer { CONST_VTBL IMFTimerVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFTimer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFTimer_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFTimer_Release(This) (This)->lpVtbl->Release(This) /*** IMFTimer methods ***/ #define IMFTimer_SetTimer(This,flags,time,callback,state,key) (This)->lpVtbl->SetTimer(This,flags,time,callback,state,key) #define IMFTimer_CancelTimer(This,key) (This)->lpVtbl->CancelTimer(This,key) #else /*** IUnknown methods ***/ static inline HRESULT IMFTimer_QueryInterface(IMFTimer* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFTimer_AddRef(IMFTimer* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFTimer_Release(IMFTimer* This) { return This->lpVtbl->Release(This); } /*** IMFTimer methods ***/ static inline HRESULT IMFTimer_SetTimer(IMFTimer* This,DWORD flags,LONGLONG time,IMFAsyncCallback *callback,IUnknown *state,IUnknown **key) { return This->lpVtbl->SetTimer(This,flags,time,callback,state,key); } static inline HRESULT IMFTimer_CancelTimer(IMFTimer* This,IUnknown *key) { return This->lpVtbl->CancelTimer(This,key); } #endif #endif #endif #endif /* __IMFTimer_INTERFACE_DEFINED__ */ /***************************************************************************** * 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 *object) = 0; virtual HRESULT STDMETHODCALLTYPE GetObject( IUnknown **object) = 0; virtual HRESULT STDMETHODCALLTYPE GetNodeType( MF_TOPOLOGY_TYPE *type) = 0; virtual HRESULT STDMETHODCALLTYPE GetTopoNodeID( TOPOID *id) = 0; virtual HRESULT STDMETHODCALLTYPE SetTopoNodeID( TOPOID id) = 0; virtual HRESULT STDMETHODCALLTYPE GetInputCount( DWORD *count) = 0; virtual HRESULT STDMETHODCALLTYPE GetOutputCount( DWORD *count) = 0; virtual HRESULT STDMETHODCALLTYPE ConnectOutput( DWORD output_index, IMFTopologyNode *node, DWORD input_index) = 0; virtual HRESULT STDMETHODCALLTYPE DisconnectOutput( DWORD index) = 0; virtual HRESULT STDMETHODCALLTYPE GetInput( DWORD input_index, IMFTopologyNode **node, DWORD *output_index) = 0; virtual HRESULT STDMETHODCALLTYPE GetOutput( DWORD output_index, IMFTopologyNode **node, DWORD *input_index) = 0; virtual HRESULT STDMETHODCALLTYPE SetOutputPrefType( DWORD index, IMFMediaType *type) = 0; virtual HRESULT STDMETHODCALLTYPE GetOutputPrefType( DWORD output_index, IMFMediaType **type) = 0; virtual HRESULT STDMETHODCALLTYPE SetInputPrefType( DWORD index, IMFMediaType *type) = 0; virtual HRESULT STDMETHODCALLTYPE GetInputPrefType( DWORD index, IMFMediaType **type) = 0; virtual HRESULT STDMETHODCALLTYPE CloneFrom( IMFTopologyNode *node) = 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, BOOL *pbResult); HRESULT (STDMETHODCALLTYPE *Compare)( IMFTopologyNode *This, IMFAttributes *pTheirs, MF_ATTRIBUTES_MATCH_TYPE MatchType, BOOL *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 *object); HRESULT (STDMETHODCALLTYPE *GetObject)( IMFTopologyNode *This, IUnknown **object); HRESULT (STDMETHODCALLTYPE *GetNodeType)( IMFTopologyNode *This, MF_TOPOLOGY_TYPE *type); HRESULT (STDMETHODCALLTYPE *GetTopoNodeID)( IMFTopologyNode *This, TOPOID *id); HRESULT (STDMETHODCALLTYPE *SetTopoNodeID)( IMFTopologyNode *This, TOPOID id); HRESULT (STDMETHODCALLTYPE *GetInputCount)( IMFTopologyNode *This, DWORD *count); HRESULT (STDMETHODCALLTYPE *GetOutputCount)( IMFTopologyNode *This, DWORD *count); HRESULT (STDMETHODCALLTYPE *ConnectOutput)( IMFTopologyNode *This, DWORD output_index, IMFTopologyNode *node, DWORD input_index); HRESULT (STDMETHODCALLTYPE *DisconnectOutput)( IMFTopologyNode *This, DWORD index); HRESULT (STDMETHODCALLTYPE *GetInput)( IMFTopologyNode *This, DWORD input_index, IMFTopologyNode **node, DWORD *output_index); HRESULT (STDMETHODCALLTYPE *GetOutput)( IMFTopologyNode *This, DWORD output_index, IMFTopologyNode **node, DWORD *input_index); HRESULT (STDMETHODCALLTYPE *SetOutputPrefType)( IMFTopologyNode *This, DWORD index, IMFMediaType *type); HRESULT (STDMETHODCALLTYPE *GetOutputPrefType)( IMFTopologyNode *This, DWORD output_index, IMFMediaType **type); HRESULT (STDMETHODCALLTYPE *SetInputPrefType)( IMFTopologyNode *This, DWORD index, IMFMediaType *type); HRESULT (STDMETHODCALLTYPE *GetInputPrefType)( IMFTopologyNode *This, DWORD index, IMFMediaType **type); HRESULT (STDMETHODCALLTYPE *CloneFrom)( IMFTopologyNode *This, IMFTopologyNode *node); 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,object) (This)->lpVtbl->SetObject(This,object) #define IMFTopologyNode_GetObject(This,object) (This)->lpVtbl->GetObject(This,object) #define IMFTopologyNode_GetNodeType(This,type) (This)->lpVtbl->GetNodeType(This,type) #define IMFTopologyNode_GetTopoNodeID(This,id) (This)->lpVtbl->GetTopoNodeID(This,id) #define IMFTopologyNode_SetTopoNodeID(This,id) (This)->lpVtbl->SetTopoNodeID(This,id) #define IMFTopologyNode_GetInputCount(This,count) (This)->lpVtbl->GetInputCount(This,count) #define IMFTopologyNode_GetOutputCount(This,count) (This)->lpVtbl->GetOutputCount(This,count) #define IMFTopologyNode_ConnectOutput(This,output_index,node,input_index) (This)->lpVtbl->ConnectOutput(This,output_index,node,input_index) #define IMFTopologyNode_DisconnectOutput(This,index) (This)->lpVtbl->DisconnectOutput(This,index) #define IMFTopologyNode_GetInput(This,input_index,node,output_index) (This)->lpVtbl->GetInput(This,input_index,node,output_index) #define IMFTopologyNode_GetOutput(This,output_index,node,input_index) (This)->lpVtbl->GetOutput(This,output_index,node,input_index) #define IMFTopologyNode_SetOutputPrefType(This,index,type) (This)->lpVtbl->SetOutputPrefType(This,index,type) #define IMFTopologyNode_GetOutputPrefType(This,output_index,type) (This)->lpVtbl->GetOutputPrefType(This,output_index,type) #define IMFTopologyNode_SetInputPrefType(This,index,type) (This)->lpVtbl->SetInputPrefType(This,index,type) #define IMFTopologyNode_GetInputPrefType(This,index,type) (This)->lpVtbl->GetInputPrefType(This,index,type) #define IMFTopologyNode_CloneFrom(This,node) (This)->lpVtbl->CloneFrom(This,node) #else /*** IUnknown methods ***/ static inline HRESULT IMFTopologyNode_QueryInterface(IMFTopologyNode* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFTopologyNode_AddRef(IMFTopologyNode* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFTopologyNode_Release(IMFTopologyNode* This) { return This->lpVtbl->Release(This); } /*** IMFAttributes methods ***/ static inline HRESULT IMFTopologyNode_GetItem(IMFTopologyNode* This,REFGUID guidKey,PROPVARIANT *pValue) { return This->lpVtbl->GetItem(This,guidKey,pValue); } static inline HRESULT IMFTopologyNode_GetItemType(IMFTopologyNode* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) { return This->lpVtbl->GetItemType(This,guidKey,pType); } static inline HRESULT IMFTopologyNode_CompareItem(IMFTopologyNode* This,REFGUID guidKey,REFPROPVARIANT Value,BOOL *pbResult) { return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult); } static inline HRESULT IMFTopologyNode_Compare(IMFTopologyNode* This,IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,BOOL *pbResult) { return This->lpVtbl->Compare(This,pTheirs,MatchType,pbResult); } static inline HRESULT IMFTopologyNode_GetUINT32(IMFTopologyNode* This,REFGUID guidKey,UINT32 *punValue) { return This->lpVtbl->GetUINT32(This,guidKey,punValue); } static inline HRESULT IMFTopologyNode_GetUINT64(IMFTopologyNode* This,REFGUID guidKey,UINT64 *punValue) { return This->lpVtbl->GetUINT64(This,guidKey,punValue); } static inline HRESULT IMFTopologyNode_GetDouble(IMFTopologyNode* This,REFGUID guidKey,double *pfValue) { return This->lpVtbl->GetDouble(This,guidKey,pfValue); } static inline HRESULT IMFTopologyNode_GetGUID(IMFTopologyNode* This,REFGUID guidKey,GUID *pguidValue) { return This->lpVtbl->GetGUID(This,guidKey,pguidValue); } static inline HRESULT IMFTopologyNode_GetStringLength(IMFTopologyNode* This,REFGUID guidKey,UINT32 *pcchLength) { return This->lpVtbl->GetStringLength(This,guidKey,pcchLength); } static inline HRESULT IMFTopologyNode_GetString(IMFTopologyNode* This,REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) { return This->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength); } static inline HRESULT IMFTopologyNode_GetAllocatedString(IMFTopologyNode* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) { return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength); } static inline HRESULT IMFTopologyNode_GetBlobSize(IMFTopologyNode* This,REFGUID guidKey,UINT32 *pcbBlobSize) { return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize); } static inline HRESULT IMFTopologyNode_GetBlob(IMFTopologyNode* This,REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) { return This->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize); } static inline HRESULT IMFTopologyNode_GetAllocatedBlob(IMFTopologyNode* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) { return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize); } static inline HRESULT IMFTopologyNode_GetUnknown(IMFTopologyNode* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) { return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv); } static inline HRESULT IMFTopologyNode_SetItem(IMFTopologyNode* This,REFGUID guidKey,REFPROPVARIANT Value) { return This->lpVtbl->SetItem(This,guidKey,Value); } static inline HRESULT IMFTopologyNode_DeleteItem(IMFTopologyNode* This,REFGUID guidKey) { return This->lpVtbl->DeleteItem(This,guidKey); } static inline HRESULT IMFTopologyNode_DeleteAllItems(IMFTopologyNode* This) { return This->lpVtbl->DeleteAllItems(This); } static inline HRESULT IMFTopologyNode_SetUINT32(IMFTopologyNode* This,REFGUID guidKey,UINT32 unValue) { return This->lpVtbl->SetUINT32(This,guidKey,unValue); } static inline HRESULT IMFTopologyNode_SetUINT64(IMFTopologyNode* This,REFGUID guidKey,UINT64 unValue) { return This->lpVtbl->SetUINT64(This,guidKey,unValue); } static inline HRESULT IMFTopologyNode_SetDouble(IMFTopologyNode* This,REFGUID guidKey,double fValue) { return This->lpVtbl->SetDouble(This,guidKey,fValue); } static inline HRESULT IMFTopologyNode_SetGUID(IMFTopologyNode* This,REFGUID guidKey,REFGUID guidValue) { return This->lpVtbl->SetGUID(This,guidKey,guidValue); } static inline HRESULT IMFTopologyNode_SetString(IMFTopologyNode* This,REFGUID guidKey,LPCWSTR wszValue) { return This->lpVtbl->SetString(This,guidKey,wszValue); } static inline HRESULT IMFTopologyNode_SetBlob(IMFTopologyNode* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) { return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize); } static inline HRESULT IMFTopologyNode_SetUnknown(IMFTopologyNode* This,REFGUID guidKey,IUnknown *pUnknown) { return This->lpVtbl->SetUnknown(This,guidKey,pUnknown); } static inline HRESULT IMFTopologyNode_LockStore(IMFTopologyNode* This) { return This->lpVtbl->LockStore(This); } static inline HRESULT IMFTopologyNode_UnlockStore(IMFTopologyNode* This) { return This->lpVtbl->UnlockStore(This); } static inline HRESULT IMFTopologyNode_GetCount(IMFTopologyNode* This,UINT32 *pcItems) { return This->lpVtbl->GetCount(This,pcItems); } static inline HRESULT IMFTopologyNode_GetItemByIndex(IMFTopologyNode* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) { return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue); } static inline HRESULT IMFTopologyNode_CopyAllItems(IMFTopologyNode* This,IMFAttributes *pDest) { return This->lpVtbl->CopyAllItems(This,pDest); } /*** IMFTopologyNode methods ***/ static inline HRESULT IMFTopologyNode_SetObject(IMFTopologyNode* This,IUnknown *object) { return This->lpVtbl->SetObject(This,object); } static inline HRESULT IMFTopologyNode_GetObject(IMFTopologyNode* This,IUnknown **object) { return This->lpVtbl->GetObject(This,object); } static inline HRESULT IMFTopologyNode_GetNodeType(IMFTopologyNode* This,MF_TOPOLOGY_TYPE *type) { return This->lpVtbl->GetNodeType(This,type); } static inline HRESULT IMFTopologyNode_GetTopoNodeID(IMFTopologyNode* This,TOPOID *id) { return This->lpVtbl->GetTopoNodeID(This,id); } static inline HRESULT IMFTopologyNode_SetTopoNodeID(IMFTopologyNode* This,TOPOID id) { return This->lpVtbl->SetTopoNodeID(This,id); } static inline HRESULT IMFTopologyNode_GetInputCount(IMFTopologyNode* This,DWORD *count) { return This->lpVtbl->GetInputCount(This,count); } static inline HRESULT IMFTopologyNode_GetOutputCount(IMFTopologyNode* This,DWORD *count) { return This->lpVtbl->GetOutputCount(This,count); } static inline HRESULT IMFTopologyNode_ConnectOutput(IMFTopologyNode* This,DWORD output_index,IMFTopologyNode *node,DWORD input_index) { return This->lpVtbl->ConnectOutput(This,output_index,node,input_index); } static inline HRESULT IMFTopologyNode_DisconnectOutput(IMFTopologyNode* This,DWORD index) { return This->lpVtbl->DisconnectOutput(This,index); } static inline HRESULT IMFTopologyNode_GetInput(IMFTopologyNode* This,DWORD input_index,IMFTopologyNode **node,DWORD *output_index) { return This->lpVtbl->GetInput(This,input_index,node,output_index); } static inline HRESULT IMFTopologyNode_GetOutput(IMFTopologyNode* This,DWORD output_index,IMFTopologyNode **node,DWORD *input_index) { return This->lpVtbl->GetOutput(This,output_index,node,input_index); } static inline HRESULT IMFTopologyNode_SetOutputPrefType(IMFTopologyNode* This,DWORD index,IMFMediaType *type) { return This->lpVtbl->SetOutputPrefType(This,index,type); } static inline HRESULT IMFTopologyNode_GetOutputPrefType(IMFTopologyNode* This,DWORD output_index,IMFMediaType **type) { return This->lpVtbl->GetOutputPrefType(This,output_index,type); } static inline HRESULT IMFTopologyNode_SetInputPrefType(IMFTopologyNode* This,DWORD index,IMFMediaType *type) { return This->lpVtbl->SetInputPrefType(This,index,type); } static inline HRESULT IMFTopologyNode_GetInputPrefType(IMFTopologyNode* This,DWORD index,IMFMediaType **type) { return This->lpVtbl->GetInputPrefType(This,index,type); } static inline HRESULT IMFTopologyNode_CloneFrom(IMFTopologyNode* This,IMFTopologyNode *node) { return This->lpVtbl->CloneFrom(This,node); } #endif #endif #endif HRESULT STDMETHODCALLTYPE IMFTopologyNode_RemoteGetOutputPrefType_Proxy( IMFTopologyNode* This, DWORD index, DWORD *length, BYTE **data); void __RPC_STUB IMFTopologyNode_RemoteGetOutputPrefType_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IMFTopologyNode_RemoteGetInputPrefType_Proxy( IMFTopologyNode* This, DWORD index, DWORD *length, BYTE **data); void __RPC_STUB IMFTopologyNode_RemoteGetInputPrefType_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IMFTopologyNode_GetOutputPrefType_Proxy( IMFTopologyNode* This, DWORD output_index, IMFMediaType **type); HRESULT __RPC_STUB IMFTopologyNode_GetOutputPrefType_Stub( IMFTopologyNode* This, DWORD index, DWORD *length, BYTE **data); HRESULT CALLBACK IMFTopologyNode_GetInputPrefType_Proxy( IMFTopologyNode* This, DWORD index, IMFMediaType **type); HRESULT __RPC_STUB IMFTopologyNode_GetInputPrefType_Stub( IMFTopologyNode* This, DWORD index, DWORD *length, BYTE **data); #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 *id) = 0; virtual HRESULT STDMETHODCALLTYPE AddNode( IMFTopologyNode *node) = 0; virtual HRESULT STDMETHODCALLTYPE RemoveNode( IMFTopologyNode *node) = 0; virtual HRESULT STDMETHODCALLTYPE GetNodeCount( WORD *nodes) = 0; virtual HRESULT STDMETHODCALLTYPE GetNode( WORD index, IMFTopologyNode **node) = 0; virtual HRESULT STDMETHODCALLTYPE Clear( ) = 0; virtual HRESULT STDMETHODCALLTYPE CloneFrom( IMFTopology *topology) = 0; virtual HRESULT STDMETHODCALLTYPE GetNodeByID( TOPOID id, IMFTopologyNode **node) = 0; virtual HRESULT STDMETHODCALLTYPE GetSourceNodeCollection( IMFCollection **collection) = 0; virtual HRESULT STDMETHODCALLTYPE GetOutputNodeCollection( IMFCollection **collection) = 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, BOOL *pbResult); HRESULT (STDMETHODCALLTYPE *Compare)( IMFTopology *This, IMFAttributes *pTheirs, MF_ATTRIBUTES_MATCH_TYPE MatchType, BOOL *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 *id); HRESULT (STDMETHODCALLTYPE *AddNode)( IMFTopology *This, IMFTopologyNode *node); HRESULT (STDMETHODCALLTYPE *RemoveNode)( IMFTopology *This, IMFTopologyNode *node); HRESULT (STDMETHODCALLTYPE *GetNodeCount)( IMFTopology *This, WORD *nodes); HRESULT (STDMETHODCALLTYPE *GetNode)( IMFTopology *This, WORD index, IMFTopologyNode **node); HRESULT (STDMETHODCALLTYPE *Clear)( IMFTopology *This); HRESULT (STDMETHODCALLTYPE *CloneFrom)( IMFTopology *This, IMFTopology *topology); HRESULT (STDMETHODCALLTYPE *GetNodeByID)( IMFTopology *This, TOPOID id, IMFTopologyNode **node); HRESULT (STDMETHODCALLTYPE *GetSourceNodeCollection)( IMFTopology *This, IMFCollection **collection); HRESULT (STDMETHODCALLTYPE *GetOutputNodeCollection)( IMFTopology *This, IMFCollection **collection); 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,id) (This)->lpVtbl->GetTopologyID(This,id) #define IMFTopology_AddNode(This,node) (This)->lpVtbl->AddNode(This,node) #define IMFTopology_RemoveNode(This,node) (This)->lpVtbl->RemoveNode(This,node) #define IMFTopology_GetNodeCount(This,nodes) (This)->lpVtbl->GetNodeCount(This,nodes) #define IMFTopology_GetNode(This,index,node) (This)->lpVtbl->GetNode(This,index,node) #define IMFTopology_Clear(This) (This)->lpVtbl->Clear(This) #define IMFTopology_CloneFrom(This,topology) (This)->lpVtbl->CloneFrom(This,topology) #define IMFTopology_GetNodeByID(This,id,node) (This)->lpVtbl->GetNodeByID(This,id,node) #define IMFTopology_GetSourceNodeCollection(This,collection) (This)->lpVtbl->GetSourceNodeCollection(This,collection) #define IMFTopology_GetOutputNodeCollection(This,collection) (This)->lpVtbl->GetOutputNodeCollection(This,collection) #else /*** IUnknown methods ***/ static inline HRESULT IMFTopology_QueryInterface(IMFTopology* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFTopology_AddRef(IMFTopology* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFTopology_Release(IMFTopology* This) { return This->lpVtbl->Release(This); } /*** IMFAttributes methods ***/ static inline HRESULT IMFTopology_GetItem(IMFTopology* This,REFGUID guidKey,PROPVARIANT *pValue) { return This->lpVtbl->GetItem(This,guidKey,pValue); } static inline HRESULT IMFTopology_GetItemType(IMFTopology* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) { return This->lpVtbl->GetItemType(This,guidKey,pType); } static inline HRESULT IMFTopology_CompareItem(IMFTopology* This,REFGUID guidKey,REFPROPVARIANT Value,BOOL *pbResult) { return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult); } static inline HRESULT IMFTopology_Compare(IMFTopology* This,IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,BOOL *pbResult) { return This->lpVtbl->Compare(This,pTheirs,MatchType,pbResult); } static inline HRESULT IMFTopology_GetUINT32(IMFTopology* This,REFGUID guidKey,UINT32 *punValue) { return This->lpVtbl->GetUINT32(This,guidKey,punValue); } static inline HRESULT IMFTopology_GetUINT64(IMFTopology* This,REFGUID guidKey,UINT64 *punValue) { return This->lpVtbl->GetUINT64(This,guidKey,punValue); } static inline HRESULT IMFTopology_GetDouble(IMFTopology* This,REFGUID guidKey,double *pfValue) { return This->lpVtbl->GetDouble(This,guidKey,pfValue); } static inline HRESULT IMFTopology_GetGUID(IMFTopology* This,REFGUID guidKey,GUID *pguidValue) { return This->lpVtbl->GetGUID(This,guidKey,pguidValue); } static inline HRESULT IMFTopology_GetStringLength(IMFTopology* This,REFGUID guidKey,UINT32 *pcchLength) { return This->lpVtbl->GetStringLength(This,guidKey,pcchLength); } static inline HRESULT IMFTopology_GetString(IMFTopology* This,REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) { return This->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength); } static inline HRESULT IMFTopology_GetAllocatedString(IMFTopology* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) { return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength); } static inline HRESULT IMFTopology_GetBlobSize(IMFTopology* This,REFGUID guidKey,UINT32 *pcbBlobSize) { return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize); } static inline HRESULT IMFTopology_GetBlob(IMFTopology* This,REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) { return This->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize); } static inline HRESULT IMFTopology_GetAllocatedBlob(IMFTopology* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) { return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize); } static inline HRESULT IMFTopology_GetUnknown(IMFTopology* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) { return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv); } static inline HRESULT IMFTopology_SetItem(IMFTopology* This,REFGUID guidKey,REFPROPVARIANT Value) { return This->lpVtbl->SetItem(This,guidKey,Value); } static inline HRESULT IMFTopology_DeleteItem(IMFTopology* This,REFGUID guidKey) { return This->lpVtbl->DeleteItem(This,guidKey); } static inline HRESULT IMFTopology_DeleteAllItems(IMFTopology* This) { return This->lpVtbl->DeleteAllItems(This); } static inline HRESULT IMFTopology_SetUINT32(IMFTopology* This,REFGUID guidKey,UINT32 unValue) { return This->lpVtbl->SetUINT32(This,guidKey,unValue); } static inline HRESULT IMFTopology_SetUINT64(IMFTopology* This,REFGUID guidKey,UINT64 unValue) { return This->lpVtbl->SetUINT64(This,guidKey,unValue); } static inline HRESULT IMFTopology_SetDouble(IMFTopology* This,REFGUID guidKey,double fValue) { return This->lpVtbl->SetDouble(This,guidKey,fValue); } static inline HRESULT IMFTopology_SetGUID(IMFTopology* This,REFGUID guidKey,REFGUID guidValue) { return This->lpVtbl->SetGUID(This,guidKey,guidValue); } static inline HRESULT IMFTopology_SetString(IMFTopology* This,REFGUID guidKey,LPCWSTR wszValue) { return This->lpVtbl->SetString(This,guidKey,wszValue); } static inline HRESULT IMFTopology_SetBlob(IMFTopology* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) { return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize); } static inline HRESULT IMFTopology_SetUnknown(IMFTopology* This,REFGUID guidKey,IUnknown *pUnknown) { return This->lpVtbl->SetUnknown(This,guidKey,pUnknown); } static inline HRESULT IMFTopology_LockStore(IMFTopology* This) { return This->lpVtbl->LockStore(This); } static inline HRESULT IMFTopology_UnlockStore(IMFTopology* This) { return This->lpVtbl->UnlockStore(This); } static inline HRESULT IMFTopology_GetCount(IMFTopology* This,UINT32 *pcItems) { return This->lpVtbl->GetCount(This,pcItems); } static inline HRESULT IMFTopology_GetItemByIndex(IMFTopology* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) { return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue); } static inline HRESULT IMFTopology_CopyAllItems(IMFTopology* This,IMFAttributes *pDest) { return This->lpVtbl->CopyAllItems(This,pDest); } /*** IMFTopology methods ***/ static inline HRESULT IMFTopology_GetTopologyID(IMFTopology* This,TOPOID *id) { return This->lpVtbl->GetTopologyID(This,id); } static inline HRESULT IMFTopology_AddNode(IMFTopology* This,IMFTopologyNode *node) { return This->lpVtbl->AddNode(This,node); } static inline HRESULT IMFTopology_RemoveNode(IMFTopology* This,IMFTopologyNode *node) { return This->lpVtbl->RemoveNode(This,node); } static inline HRESULT IMFTopology_GetNodeCount(IMFTopology* This,WORD *nodes) { return This->lpVtbl->GetNodeCount(This,nodes); } static inline HRESULT IMFTopology_GetNode(IMFTopology* This,WORD index,IMFTopologyNode **node) { return This->lpVtbl->GetNode(This,index,node); } static inline HRESULT IMFTopology_Clear(IMFTopology* This) { return This->lpVtbl->Clear(This); } static inline HRESULT IMFTopology_CloneFrom(IMFTopology* This,IMFTopology *topology) { return This->lpVtbl->CloneFrom(This,topology); } static inline HRESULT IMFTopology_GetNodeByID(IMFTopology* This,TOPOID id,IMFTopologyNode **node) { return This->lpVtbl->GetNodeByID(This,id,node); } static inline HRESULT IMFTopology_GetSourceNodeCollection(IMFTopology* This,IMFCollection **collection) { return This->lpVtbl->GetSourceNodeCollection(This,collection); } static inline HRESULT IMFTopology_GetOutputNodeCollection(IMFTopology* This,IMFCollection **collection) { return This->lpVtbl->GetOutputNodeCollection(This,collection); } #endif #endif #endif #endif /* __IMFTopology_INTERFACE_DEFINED__ */ typedef struct _MFTOPONODE_ATTRIBUTE_UPDATE { TOPOID NodeId; GUID guidAttributeKey; MF_ATTRIBUTE_TYPE attrType; __C89_NAMELESS union { UINT32 u32; UINT64 u64; double d; } __C89_NAMELESSUNIONNAME; } MFTOPONODE_ATTRIBUTE_UPDATE; /***************************************************************************** * IMFTopologyNodeAttributeEditor interface */ #ifndef __IMFTopologyNodeAttributeEditor_INTERFACE_DEFINED__ #define __IMFTopologyNodeAttributeEditor_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFTopologyNodeAttributeEditor, 0x676aa6dd, 0x238a, 0x410d, 0xbb,0x99, 0x65,0x66,0x8d,0x01,0x60,0x5a); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("676aa6dd-238a-410d-bb99-65668d01605a") IMFTopologyNodeAttributeEditor : public IUnknown { virtual HRESULT STDMETHODCALLTYPE UpdateNodeAttributes( TOPOID id, DWORD count, MFTOPONODE_ATTRIBUTE_UPDATE *attr_updates) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFTopologyNodeAttributeEditor, 0x676aa6dd, 0x238a, 0x410d, 0xbb,0x99, 0x65,0x66,0x8d,0x01,0x60,0x5a) #endif #else typedef struct IMFTopologyNodeAttributeEditorVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFTopologyNodeAttributeEditor *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFTopologyNodeAttributeEditor *This); ULONG (STDMETHODCALLTYPE *Release)( IMFTopologyNodeAttributeEditor *This); /*** IMFTopologyNodeAttributeEditor methods ***/ HRESULT (STDMETHODCALLTYPE *UpdateNodeAttributes)( IMFTopologyNodeAttributeEditor *This, TOPOID id, DWORD count, MFTOPONODE_ATTRIBUTE_UPDATE *attr_updates); END_INTERFACE } IMFTopologyNodeAttributeEditorVtbl; interface IMFTopologyNodeAttributeEditor { CONST_VTBL IMFTopologyNodeAttributeEditorVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFTopologyNodeAttributeEditor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFTopologyNodeAttributeEditor_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFTopologyNodeAttributeEditor_Release(This) (This)->lpVtbl->Release(This) /*** IMFTopologyNodeAttributeEditor methods ***/ #define IMFTopologyNodeAttributeEditor_UpdateNodeAttributes(This,id,count,attr_updates) (This)->lpVtbl->UpdateNodeAttributes(This,id,count,attr_updates) #else /*** IUnknown methods ***/ static inline HRESULT IMFTopologyNodeAttributeEditor_QueryInterface(IMFTopologyNodeAttributeEditor* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFTopologyNodeAttributeEditor_AddRef(IMFTopologyNodeAttributeEditor* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFTopologyNodeAttributeEditor_Release(IMFTopologyNodeAttributeEditor* This) { return This->lpVtbl->Release(This); } /*** IMFTopologyNodeAttributeEditor methods ***/ static inline HRESULT IMFTopologyNodeAttributeEditor_UpdateNodeAttributes(IMFTopologyNodeAttributeEditor* This,TOPOID id,DWORD count,MFTOPONODE_ATTRIBUTE_UPDATE *attr_updates) { return This->lpVtbl->UpdateNodeAttributes(This,id,count,attr_updates); } #endif #endif #endif #endif /* __IMFTopologyNodeAttributeEditor_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 *input_topology, IMFTopology **output_topology, IMFTopology *current_topology) = 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 *input_topology, IMFTopology **output_topology, IMFTopology *current_topology); 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,input_topology,output_topology,current_topology) (This)->lpVtbl->Load(This,input_topology,output_topology,current_topology) #else /*** IUnknown methods ***/ static inline HRESULT IMFTopoLoader_QueryInterface(IMFTopoLoader* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFTopoLoader_AddRef(IMFTopoLoader* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFTopoLoader_Release(IMFTopoLoader* This) { return This->lpVtbl->Release(This); } /*** IMFTopoLoader methods ***/ static inline HRESULT IMFTopoLoader_Load(IMFTopoLoader* This,IMFTopology *input_topology,IMFTopology **output_topology,IMFTopology *current_topology) { return This->lpVtbl->Load(This,input_topology,output_topology,current_topology); } #endif #endif #endif #endif /* __IMFTopoLoader_INTERFACE_DEFINED__ */ /***************************************************************************** * 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 flags, IMFTopology *topology) = 0; virtual HRESULT STDMETHODCALLTYPE ClearTopologies( ) = 0; virtual HRESULT STDMETHODCALLTYPE Start( const GUID *format, const PROPVARIANT *start) = 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 **clock) = 0; virtual HRESULT STDMETHODCALLTYPE GetSessionCapabilities( DWORD *caps) = 0; virtual HRESULT STDMETHODCALLTYPE GetFullTopology( DWORD flags, TOPOID id, IMFTopology **topology) = 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 flags, IMFTopology *topology); HRESULT (STDMETHODCALLTYPE *ClearTopologies)( IMFMediaSession *This); HRESULT (STDMETHODCALLTYPE *Start)( IMFMediaSession *This, const GUID *format, const PROPVARIANT *start); 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 **clock); HRESULT (STDMETHODCALLTYPE *GetSessionCapabilities)( IMFMediaSession *This, DWORD *caps); HRESULT (STDMETHODCALLTYPE *GetFullTopology)( IMFMediaSession *This, DWORD flags, TOPOID id, IMFTopology **topology); 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,flags,topology) (This)->lpVtbl->SetTopology(This,flags,topology) #define IMFMediaSession_ClearTopologies(This) (This)->lpVtbl->ClearTopologies(This) #define IMFMediaSession_Start(This,format,start) (This)->lpVtbl->Start(This,format,start) #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,clock) (This)->lpVtbl->GetClock(This,clock) #define IMFMediaSession_GetSessionCapabilities(This,caps) (This)->lpVtbl->GetSessionCapabilities(This,caps) #define IMFMediaSession_GetFullTopology(This,flags,id,topology) (This)->lpVtbl->GetFullTopology(This,flags,id,topology) #else /*** IUnknown methods ***/ static inline HRESULT IMFMediaSession_QueryInterface(IMFMediaSession* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFMediaSession_AddRef(IMFMediaSession* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFMediaSession_Release(IMFMediaSession* This) { return This->lpVtbl->Release(This); } /*** IMFMediaEventGenerator methods ***/ static inline HRESULT IMFMediaSession_GetEvent(IMFMediaSession* This,DWORD dwFlags,IMFMediaEvent **ppEvent) { return This->lpVtbl->GetEvent(This,dwFlags,ppEvent); } static inline HRESULT IMFMediaSession_BeginGetEvent(IMFMediaSession* This,IMFAsyncCallback *pCallback,IUnknown *punkState) { return This->lpVtbl->BeginGetEvent(This,pCallback,punkState); } static inline HRESULT IMFMediaSession_EndGetEvent(IMFMediaSession* This,IMFAsyncResult *pResult,IMFMediaEvent **ppEvent) { return This->lpVtbl->EndGetEvent(This,pResult,ppEvent); } static inline 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 inline HRESULT IMFMediaSession_SetTopology(IMFMediaSession* This,DWORD flags,IMFTopology *topology) { return This->lpVtbl->SetTopology(This,flags,topology); } static inline HRESULT IMFMediaSession_ClearTopologies(IMFMediaSession* This) { return This->lpVtbl->ClearTopologies(This); } static inline HRESULT IMFMediaSession_Start(IMFMediaSession* This,const GUID *format,const PROPVARIANT *start) { return This->lpVtbl->Start(This,format,start); } static inline HRESULT IMFMediaSession_Pause(IMFMediaSession* This) { return This->lpVtbl->Pause(This); } static inline HRESULT IMFMediaSession_Stop(IMFMediaSession* This) { return This->lpVtbl->Stop(This); } static inline HRESULT IMFMediaSession_Close(IMFMediaSession* This) { return This->lpVtbl->Close(This); } static inline HRESULT IMFMediaSession_Shutdown(IMFMediaSession* This) { return This->lpVtbl->Shutdown(This); } static inline HRESULT IMFMediaSession_GetClock(IMFMediaSession* This,IMFClock **clock) { return This->lpVtbl->GetClock(This,clock); } static inline HRESULT IMFMediaSession_GetSessionCapabilities(IMFMediaSession* This,DWORD *caps) { return This->lpVtbl->GetSessionCapabilities(This,caps); } static inline HRESULT IMFMediaSession_GetFullTopology(IMFMediaSession* This,DWORD flags,TOPOID id,IMFTopology **topology) { return This->lpVtbl->GetFullTopology(This,flags,id,topology); } #endif #endif #endif #endif /* __IMFMediaSession_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFByteStreamHandler interface */ #ifndef __IMFByteStreamHandler_INTERFACE_DEFINED__ #define __IMFByteStreamHandler_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFByteStreamHandler, 0xbb420aa4, 0x765b, 0x4a1f, 0x91,0xfe, 0xd6,0xa8,0xa1,0x43,0x92,0x4c); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("bb420aa4-765b-4a1f-91fe-d6a8a143924c") IMFByteStreamHandler : public IUnknown { virtual HRESULT STDMETHODCALLTYPE BeginCreateObject( IMFByteStream *stream, const WCHAR *url, DWORD flags, IPropertyStore *props, IUnknown **cancel_cookie, IMFAsyncCallback *callback, IUnknown *state) = 0; virtual HRESULT STDMETHODCALLTYPE EndCreateObject( IMFAsyncResult *result, MF_OBJECT_TYPE *obj_type, IUnknown **object) = 0; virtual HRESULT STDMETHODCALLTYPE CancelObjectCreation( IUnknown *cancel_cookie) = 0; virtual HRESULT STDMETHODCALLTYPE GetMaxNumberOfBytesRequiredForResolution( QWORD *bytes) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFByteStreamHandler, 0xbb420aa4, 0x765b, 0x4a1f, 0x91,0xfe, 0xd6,0xa8,0xa1,0x43,0x92,0x4c) #endif #else typedef struct IMFByteStreamHandlerVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFByteStreamHandler *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFByteStreamHandler *This); ULONG (STDMETHODCALLTYPE *Release)( IMFByteStreamHandler *This); /*** IMFByteStreamHandler methods ***/ HRESULT (STDMETHODCALLTYPE *BeginCreateObject)( IMFByteStreamHandler *This, IMFByteStream *stream, const WCHAR *url, DWORD flags, IPropertyStore *props, IUnknown **cancel_cookie, IMFAsyncCallback *callback, IUnknown *state); HRESULT (STDMETHODCALLTYPE *EndCreateObject)( IMFByteStreamHandler *This, IMFAsyncResult *result, MF_OBJECT_TYPE *obj_type, IUnknown **object); HRESULT (STDMETHODCALLTYPE *CancelObjectCreation)( IMFByteStreamHandler *This, IUnknown *cancel_cookie); HRESULT (STDMETHODCALLTYPE *GetMaxNumberOfBytesRequiredForResolution)( IMFByteStreamHandler *This, QWORD *bytes); END_INTERFACE } IMFByteStreamHandlerVtbl; interface IMFByteStreamHandler { CONST_VTBL IMFByteStreamHandlerVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFByteStreamHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFByteStreamHandler_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFByteStreamHandler_Release(This) (This)->lpVtbl->Release(This) /*** IMFByteStreamHandler methods ***/ #define IMFByteStreamHandler_BeginCreateObject(This,stream,url,flags,props,cancel_cookie,callback,state) (This)->lpVtbl->BeginCreateObject(This,stream,url,flags,props,cancel_cookie,callback,state) #define IMFByteStreamHandler_EndCreateObject(This,result,obj_type,object) (This)->lpVtbl->EndCreateObject(This,result,obj_type,object) #define IMFByteStreamHandler_CancelObjectCreation(This,cancel_cookie) (This)->lpVtbl->CancelObjectCreation(This,cancel_cookie) #define IMFByteStreamHandler_GetMaxNumberOfBytesRequiredForResolution(This,bytes) (This)->lpVtbl->GetMaxNumberOfBytesRequiredForResolution(This,bytes) #else /*** IUnknown methods ***/ static inline HRESULT IMFByteStreamHandler_QueryInterface(IMFByteStreamHandler* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFByteStreamHandler_AddRef(IMFByteStreamHandler* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFByteStreamHandler_Release(IMFByteStreamHandler* This) { return This->lpVtbl->Release(This); } /*** IMFByteStreamHandler methods ***/ static inline HRESULT IMFByteStreamHandler_BeginCreateObject(IMFByteStreamHandler* This,IMFByteStream *stream,const WCHAR *url,DWORD flags,IPropertyStore *props,IUnknown **cancel_cookie,IMFAsyncCallback *callback,IUnknown *state) { return This->lpVtbl->BeginCreateObject(This,stream,url,flags,props,cancel_cookie,callback,state); } static inline HRESULT IMFByteStreamHandler_EndCreateObject(IMFByteStreamHandler* This,IMFAsyncResult *result,MF_OBJECT_TYPE *obj_type,IUnknown **object) { return This->lpVtbl->EndCreateObject(This,result,obj_type,object); } static inline HRESULT IMFByteStreamHandler_CancelObjectCreation(IMFByteStreamHandler* This,IUnknown *cancel_cookie) { return This->lpVtbl->CancelObjectCreation(This,cancel_cookie); } static inline HRESULT IMFByteStreamHandler_GetMaxNumberOfBytesRequiredForResolution(IMFByteStreamHandler* This,QWORD *bytes) { return This->lpVtbl->GetMaxNumberOfBytesRequiredForResolution(This,bytes); } #endif #endif #endif #endif /* __IMFByteStreamHandler_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 *params) = 0; virtual HRESULT STDMETHODCALLTYPE EnableBuffering( BOOL enable) = 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 *params); HRESULT (STDMETHODCALLTYPE *EnableBuffering)( IMFByteStreamBuffering *This, BOOL enable); 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,params) (This)->lpVtbl->SetBufferingParams(This,params) #define IMFByteStreamBuffering_EnableBuffering(This,enable) (This)->lpVtbl->EnableBuffering(This,enable) #define IMFByteStreamBuffering_StopBuffering(This) (This)->lpVtbl->StopBuffering(This) #else /*** IUnknown methods ***/ static inline HRESULT IMFByteStreamBuffering_QueryInterface(IMFByteStreamBuffering* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFByteStreamBuffering_AddRef(IMFByteStreamBuffering* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFByteStreamBuffering_Release(IMFByteStreamBuffering* This) { return This->lpVtbl->Release(This); } /*** IMFByteStreamBuffering methods ***/ static inline HRESULT IMFByteStreamBuffering_SetBufferingParams(IMFByteStreamBuffering* This,MFBYTESTREAM_BUFFERING_PARAMS *params) { return This->lpVtbl->SetBufferingParams(This,params); } static inline HRESULT IMFByteStreamBuffering_EnableBuffering(IMFByteStreamBuffering* This,BOOL enable) { return This->lpVtbl->EnableBuffering(This,enable); } static inline HRESULT IMFByteStreamBuffering_StopBuffering(IMFByteStreamBuffering* This) { return This->lpVtbl->StopBuffering(This); } #endif #endif #endif #endif /* __IMFByteStreamBuffering_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFByteStreamCacheControl interface */ #ifndef __IMFByteStreamCacheControl_INTERFACE_DEFINED__ #define __IMFByteStreamCacheControl_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFByteStreamCacheControl, 0xf5042ea4, 0x7a96, 0x4a75, 0xaa,0x7b, 0x2b,0xe1,0xef,0x7f,0x88,0xd5); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("f5042ea4-7a96-4a75-aa7b-2be1ef7f88d5") IMFByteStreamCacheControl : public IUnknown { virtual HRESULT STDMETHODCALLTYPE StopBackgroundTransfer( ) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFByteStreamCacheControl, 0xf5042ea4, 0x7a96, 0x4a75, 0xaa,0x7b, 0x2b,0xe1,0xef,0x7f,0x88,0xd5) #endif #else typedef struct IMFByteStreamCacheControlVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFByteStreamCacheControl *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFByteStreamCacheControl *This); ULONG (STDMETHODCALLTYPE *Release)( IMFByteStreamCacheControl *This); /*** IMFByteStreamCacheControl methods ***/ HRESULT (STDMETHODCALLTYPE *StopBackgroundTransfer)( IMFByteStreamCacheControl *This); END_INTERFACE } IMFByteStreamCacheControlVtbl; interface IMFByteStreamCacheControl { CONST_VTBL IMFByteStreamCacheControlVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFByteStreamCacheControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFByteStreamCacheControl_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFByteStreamCacheControl_Release(This) (This)->lpVtbl->Release(This) /*** IMFByteStreamCacheControl methods ***/ #define IMFByteStreamCacheControl_StopBackgroundTransfer(This) (This)->lpVtbl->StopBackgroundTransfer(This) #else /*** IUnknown methods ***/ static inline HRESULT IMFByteStreamCacheControl_QueryInterface(IMFByteStreamCacheControl* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFByteStreamCacheControl_AddRef(IMFByteStreamCacheControl* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFByteStreamCacheControl_Release(IMFByteStreamCacheControl* This) { return This->lpVtbl->Release(This); } /*** IMFByteStreamCacheControl methods ***/ static inline HRESULT IMFByteStreamCacheControl_StopBackgroundTransfer(IMFByteStreamCacheControl* This) { return This->lpVtbl->StopBackgroundTransfer(This); } #endif #endif #endif #endif /* __IMFByteStreamCacheControl_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFByteStreamTimeSeek interface */ #ifndef __IMFByteStreamTimeSeek_INTERFACE_DEFINED__ #define __IMFByteStreamTimeSeek_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFByteStreamTimeSeek, 0x64976bfa, 0xfb61, 0x4041, 0x90,0x69, 0x8c,0x9a,0x5f,0x65,0x9b,0xeb); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("64976bfa-fb61-4041-9069-8c9a5f659beb") IMFByteStreamTimeSeek : public IUnknown { virtual HRESULT STDMETHODCALLTYPE IsTimeSeekSupported( BOOL *is_supported) = 0; virtual HRESULT STDMETHODCALLTYPE TimeSeek( QWORD position) = 0; virtual HRESULT STDMETHODCALLTYPE GetTimeSeekResult( QWORD *start_time, QWORD *stop_time, QWORD *duration) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFByteStreamTimeSeek, 0x64976bfa, 0xfb61, 0x4041, 0x90,0x69, 0x8c,0x9a,0x5f,0x65,0x9b,0xeb) #endif #else typedef struct IMFByteStreamTimeSeekVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFByteStreamTimeSeek *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFByteStreamTimeSeek *This); ULONG (STDMETHODCALLTYPE *Release)( IMFByteStreamTimeSeek *This); /*** IMFByteStreamTimeSeek methods ***/ HRESULT (STDMETHODCALLTYPE *IsTimeSeekSupported)( IMFByteStreamTimeSeek *This, BOOL *is_supported); HRESULT (STDMETHODCALLTYPE *TimeSeek)( IMFByteStreamTimeSeek *This, QWORD position); HRESULT (STDMETHODCALLTYPE *GetTimeSeekResult)( IMFByteStreamTimeSeek *This, QWORD *start_time, QWORD *stop_time, QWORD *duration); END_INTERFACE } IMFByteStreamTimeSeekVtbl; interface IMFByteStreamTimeSeek { CONST_VTBL IMFByteStreamTimeSeekVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFByteStreamTimeSeek_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFByteStreamTimeSeek_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFByteStreamTimeSeek_Release(This) (This)->lpVtbl->Release(This) /*** IMFByteStreamTimeSeek methods ***/ #define IMFByteStreamTimeSeek_IsTimeSeekSupported(This,is_supported) (This)->lpVtbl->IsTimeSeekSupported(This,is_supported) #define IMFByteStreamTimeSeek_TimeSeek(This,position) (This)->lpVtbl->TimeSeek(This,position) #define IMFByteStreamTimeSeek_GetTimeSeekResult(This,start_time,stop_time,duration) (This)->lpVtbl->GetTimeSeekResult(This,start_time,stop_time,duration) #else /*** IUnknown methods ***/ static inline HRESULT IMFByteStreamTimeSeek_QueryInterface(IMFByteStreamTimeSeek* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFByteStreamTimeSeek_AddRef(IMFByteStreamTimeSeek* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFByteStreamTimeSeek_Release(IMFByteStreamTimeSeek* This) { return This->lpVtbl->Release(This); } /*** IMFByteStreamTimeSeek methods ***/ static inline HRESULT IMFByteStreamTimeSeek_IsTimeSeekSupported(IMFByteStreamTimeSeek* This,BOOL *is_supported) { return This->lpVtbl->IsTimeSeekSupported(This,is_supported); } static inline HRESULT IMFByteStreamTimeSeek_TimeSeek(IMFByteStreamTimeSeek* This,QWORD position) { return This->lpVtbl->TimeSeek(This,position); } static inline HRESULT IMFByteStreamTimeSeek_GetTimeSeekResult(IMFByteStreamTimeSeek* This,QWORD *start_time,QWORD *stop_time,QWORD *duration) { return This->lpVtbl->GetTimeSeekResult(This,start_time,stop_time,duration); } #endif #endif #endif #endif /* __IMFByteStreamTimeSeek_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFSchemeHandler interface */ #ifndef __IMFSchemeHandler_INTERFACE_DEFINED__ #define __IMFSchemeHandler_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFSchemeHandler, 0x6d4c7b74, 0x52a0, 0x4bb7, 0xb0,0xdb, 0x55,0xf2,0x9f,0x47,0xa6,0x68); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("6d4c7b74-52a0-4bb7-b0db-55f29f47a668") IMFSchemeHandler : public IUnknown { virtual HRESULT STDMETHODCALLTYPE BeginCreateObject( const WCHAR *url, DWORD flags, IPropertyStore *props, IUnknown **cancel_cookie, IMFAsyncCallback *callback, IUnknown *state) = 0; virtual HRESULT STDMETHODCALLTYPE EndCreateObject( IMFAsyncResult *result, MF_OBJECT_TYPE *obj_type, IUnknown **object) = 0; virtual HRESULT STDMETHODCALLTYPE CancelObjectCreation( IUnknown *cancel_cookie) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFSchemeHandler, 0x6d4c7b74, 0x52a0, 0x4bb7, 0xb0,0xdb, 0x55,0xf2,0x9f,0x47,0xa6,0x68) #endif #else typedef struct IMFSchemeHandlerVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFSchemeHandler *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFSchemeHandler *This); ULONG (STDMETHODCALLTYPE *Release)( IMFSchemeHandler *This); /*** IMFSchemeHandler methods ***/ HRESULT (STDMETHODCALLTYPE *BeginCreateObject)( IMFSchemeHandler *This, const WCHAR *url, DWORD flags, IPropertyStore *props, IUnknown **cancel_cookie, IMFAsyncCallback *callback, IUnknown *state); HRESULT (STDMETHODCALLTYPE *EndCreateObject)( IMFSchemeHandler *This, IMFAsyncResult *result, MF_OBJECT_TYPE *obj_type, IUnknown **object); HRESULT (STDMETHODCALLTYPE *CancelObjectCreation)( IMFSchemeHandler *This, IUnknown *cancel_cookie); END_INTERFACE } IMFSchemeHandlerVtbl; interface IMFSchemeHandler { CONST_VTBL IMFSchemeHandlerVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFSchemeHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFSchemeHandler_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFSchemeHandler_Release(This) (This)->lpVtbl->Release(This) /*** IMFSchemeHandler methods ***/ #define IMFSchemeHandler_BeginCreateObject(This,url,flags,props,cancel_cookie,callback,state) (This)->lpVtbl->BeginCreateObject(This,url,flags,props,cancel_cookie,callback,state) #define IMFSchemeHandler_EndCreateObject(This,result,obj_type,object) (This)->lpVtbl->EndCreateObject(This,result,obj_type,object) #define IMFSchemeHandler_CancelObjectCreation(This,cancel_cookie) (This)->lpVtbl->CancelObjectCreation(This,cancel_cookie) #else /*** IUnknown methods ***/ static inline HRESULT IMFSchemeHandler_QueryInterface(IMFSchemeHandler* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFSchemeHandler_AddRef(IMFSchemeHandler* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFSchemeHandler_Release(IMFSchemeHandler* This) { return This->lpVtbl->Release(This); } /*** IMFSchemeHandler methods ***/ static inline HRESULT IMFSchemeHandler_BeginCreateObject(IMFSchemeHandler* This,const WCHAR *url,DWORD flags,IPropertyStore *props,IUnknown **cancel_cookie,IMFAsyncCallback *callback,IUnknown *state) { return This->lpVtbl->BeginCreateObject(This,url,flags,props,cancel_cookie,callback,state); } static inline HRESULT IMFSchemeHandler_EndCreateObject(IMFSchemeHandler* This,IMFAsyncResult *result,MF_OBJECT_TYPE *obj_type,IUnknown **object) { return This->lpVtbl->EndCreateObject(This,result,obj_type,object); } static inline HRESULT IMFSchemeHandler_CancelObjectCreation(IMFSchemeHandler* This,IUnknown *cancel_cookie) { return This->lpVtbl->CancelObjectCreation(This,cancel_cookie); } #endif #endif #endif #endif /* __IMFSchemeHandler_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( const WCHAR *url, DWORD flags, IPropertyStore *props, MF_OBJECT_TYPE *obj_type, IUnknown **object) = 0; virtual HRESULT STDMETHODCALLTYPE CreateObjectFromByteStream( IMFByteStream *stream, const WCHAR *url, DWORD flags, IPropertyStore *props, MF_OBJECT_TYPE *obj_type, IUnknown **object) = 0; virtual HRESULT STDMETHODCALLTYPE BeginCreateObjectFromURL( const WCHAR *url, DWORD flags, IPropertyStore *props, IUnknown **cancel_cookie, IMFAsyncCallback *callback, IUnknown *unk_state) = 0; virtual HRESULT STDMETHODCALLTYPE EndCreateObjectFromURL( IMFAsyncResult *result, MF_OBJECT_TYPE *obj_type, IUnknown **object) = 0; virtual HRESULT STDMETHODCALLTYPE BeginCreateObjectFromByteStream( IMFByteStream *stream, const WCHAR *url, DWORD flags, IPropertyStore *props, IUnknown **cancel_cookie, IMFAsyncCallback *callback, IUnknown *unk_state) = 0; virtual HRESULT STDMETHODCALLTYPE EndCreateObjectFromByteStream( IMFAsyncResult *result, MF_OBJECT_TYPE *obj_type, IUnknown **object) = 0; virtual HRESULT STDMETHODCALLTYPE CancelObjectCreation( IUnknown *cancel_cookie) = 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, const WCHAR *url, DWORD flags, IPropertyStore *props, MF_OBJECT_TYPE *obj_type, IUnknown **object); HRESULT (STDMETHODCALLTYPE *CreateObjectFromByteStream)( IMFSourceResolver *This, IMFByteStream *stream, const WCHAR *url, DWORD flags, IPropertyStore *props, MF_OBJECT_TYPE *obj_type, IUnknown **object); HRESULT (STDMETHODCALLTYPE *BeginCreateObjectFromURL)( IMFSourceResolver *This, const WCHAR *url, DWORD flags, IPropertyStore *props, IUnknown **cancel_cookie, IMFAsyncCallback *callback, IUnknown *unk_state); HRESULT (STDMETHODCALLTYPE *EndCreateObjectFromURL)( IMFSourceResolver *This, IMFAsyncResult *result, MF_OBJECT_TYPE *obj_type, IUnknown **object); HRESULT (STDMETHODCALLTYPE *BeginCreateObjectFromByteStream)( IMFSourceResolver *This, IMFByteStream *stream, const WCHAR *url, DWORD flags, IPropertyStore *props, IUnknown **cancel_cookie, IMFAsyncCallback *callback, IUnknown *unk_state); HRESULT (STDMETHODCALLTYPE *EndCreateObjectFromByteStream)( IMFSourceResolver *This, IMFAsyncResult *result, MF_OBJECT_TYPE *obj_type, IUnknown **object); HRESULT (STDMETHODCALLTYPE *CancelObjectCreation)( IMFSourceResolver *This, IUnknown *cancel_cookie); 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,url,flags,props,obj_type,object) (This)->lpVtbl->CreateObjectFromURL(This,url,flags,props,obj_type,object) #define IMFSourceResolver_CreateObjectFromByteStream(This,stream,url,flags,props,obj_type,object) (This)->lpVtbl->CreateObjectFromByteStream(This,stream,url,flags,props,obj_type,object) #define IMFSourceResolver_BeginCreateObjectFromURL(This,url,flags,props,cancel_cookie,callback,unk_state) (This)->lpVtbl->BeginCreateObjectFromURL(This,url,flags,props,cancel_cookie,callback,unk_state) #define IMFSourceResolver_EndCreateObjectFromURL(This,result,obj_type,object) (This)->lpVtbl->EndCreateObjectFromURL(This,result,obj_type,object) #define IMFSourceResolver_BeginCreateObjectFromByteStream(This,stream,url,flags,props,cancel_cookie,callback,unk_state) (This)->lpVtbl->BeginCreateObjectFromByteStream(This,stream,url,flags,props,cancel_cookie,callback,unk_state) #define IMFSourceResolver_EndCreateObjectFromByteStream(This,result,obj_type,object) (This)->lpVtbl->EndCreateObjectFromByteStream(This,result,obj_type,object) #define IMFSourceResolver_CancelObjectCreation(This,cancel_cookie) (This)->lpVtbl->CancelObjectCreation(This,cancel_cookie) #else /*** IUnknown methods ***/ static inline HRESULT IMFSourceResolver_QueryInterface(IMFSourceResolver* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFSourceResolver_AddRef(IMFSourceResolver* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFSourceResolver_Release(IMFSourceResolver* This) { return This->lpVtbl->Release(This); } /*** IMFSourceResolver methods ***/ static inline HRESULT IMFSourceResolver_CreateObjectFromURL(IMFSourceResolver* This,const WCHAR *url,DWORD flags,IPropertyStore *props,MF_OBJECT_TYPE *obj_type,IUnknown **object) { return This->lpVtbl->CreateObjectFromURL(This,url,flags,props,obj_type,object); } static inline HRESULT IMFSourceResolver_CreateObjectFromByteStream(IMFSourceResolver* This,IMFByteStream *stream,const WCHAR *url,DWORD flags,IPropertyStore *props,MF_OBJECT_TYPE *obj_type,IUnknown **object) { return This->lpVtbl->CreateObjectFromByteStream(This,stream,url,flags,props,obj_type,object); } static inline HRESULT IMFSourceResolver_BeginCreateObjectFromURL(IMFSourceResolver* This,const WCHAR *url,DWORD flags,IPropertyStore *props,IUnknown **cancel_cookie,IMFAsyncCallback *callback,IUnknown *unk_state) { return This->lpVtbl->BeginCreateObjectFromURL(This,url,flags,props,cancel_cookie,callback,unk_state); } static inline HRESULT IMFSourceResolver_EndCreateObjectFromURL(IMFSourceResolver* This,IMFAsyncResult *result,MF_OBJECT_TYPE *obj_type,IUnknown **object) { return This->lpVtbl->EndCreateObjectFromURL(This,result,obj_type,object); } static inline HRESULT IMFSourceResolver_BeginCreateObjectFromByteStream(IMFSourceResolver* This,IMFByteStream *stream,const WCHAR *url,DWORD flags,IPropertyStore *props,IUnknown **cancel_cookie,IMFAsyncCallback *callback,IUnknown *unk_state) { return This->lpVtbl->BeginCreateObjectFromByteStream(This,stream,url,flags,props,cancel_cookie,callback,unk_state); } static inline HRESULT IMFSourceResolver_EndCreateObjectFromByteStream(IMFSourceResolver* This,IMFAsyncResult *result,MF_OBJECT_TYPE *obj_type,IUnknown **object) { return This->lpVtbl->EndCreateObjectFromByteStream(This,result,obj_type,object); } static inline HRESULT IMFSourceResolver_CancelObjectCreation(IMFSourceResolver* This,IUnknown *cancel_cookie) { return This->lpVtbl->CancelObjectCreation(This,cancel_cookie); } #endif #endif #endif HRESULT STDMETHODCALLTYPE IMFSourceResolver_RemoteBeginCreateObjectFromURL_Proxy( IMFSourceResolver* This, const WCHAR *url, DWORD flags, IPropertyStore *props, IMFRemoteAsyncCallback *callback); void __RPC_STUB IMFSourceResolver_RemoteBeginCreateObjectFromURL_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IMFSourceResolver_RemoteEndCreateObjectFromURL_Proxy( IMFSourceResolver* This, IUnknown *result, MF_OBJECT_TYPE *obj_type, IUnknown **object); void __RPC_STUB IMFSourceResolver_RemoteEndCreateObjectFromURL_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IMFSourceResolver_RemoteBeginCreateObjectFromByteStream_Proxy( IMFSourceResolver* This, IMFByteStream *stream, const WCHAR *url, DWORD flags, IPropertyStore *props, IMFRemoteAsyncCallback *callback); void __RPC_STUB IMFSourceResolver_RemoteBeginCreateObjectFromByteStream_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IMFSourceResolver_RemoteEndCreateObjectFromByteStream_Proxy( IMFSourceResolver* This, IUnknown *result, MF_OBJECT_TYPE *obj_type, IUnknown **object); void __RPC_STUB IMFSourceResolver_RemoteEndCreateObjectFromByteStream_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IMFSourceResolver_BeginCreateObjectFromURL_Proxy( IMFSourceResolver* This, const WCHAR *url, DWORD flags, IPropertyStore *props, IUnknown **cancel_cookie, IMFAsyncCallback *callback, IUnknown *unk_state); HRESULT __RPC_STUB IMFSourceResolver_BeginCreateObjectFromURL_Stub( IMFSourceResolver* This, const WCHAR *url, DWORD flags, IPropertyStore *props, IMFRemoteAsyncCallback *callback); HRESULT CALLBACK IMFSourceResolver_EndCreateObjectFromURL_Proxy( IMFSourceResolver* This, IMFAsyncResult *result, MF_OBJECT_TYPE *obj_type, IUnknown **object); HRESULT __RPC_STUB IMFSourceResolver_EndCreateObjectFromURL_Stub( IMFSourceResolver* This, IUnknown *result, MF_OBJECT_TYPE *obj_type, IUnknown **object); HRESULT CALLBACK IMFSourceResolver_BeginCreateObjectFromByteStream_Proxy( IMFSourceResolver* This, IMFByteStream *stream, const WCHAR *url, DWORD flags, IPropertyStore *props, IUnknown **cancel_cookie, IMFAsyncCallback *callback, IUnknown *unk_state); HRESULT __RPC_STUB IMFSourceResolver_BeginCreateObjectFromByteStream_Stub( IMFSourceResolver* This, IMFByteStream *stream, const WCHAR *url, DWORD flags, IPropertyStore *props, IMFRemoteAsyncCallback *callback); HRESULT CALLBACK IMFSourceResolver_EndCreateObjectFromByteStream_Proxy( IMFSourceResolver* This, IMFAsyncResult *result, MF_OBJECT_TYPE *obj_type, IUnknown **object); HRESULT __RPC_STUB IMFSourceResolver_EndCreateObjectFromByteStream_Stub( IMFSourceResolver* This, IUnknown *result, MF_OBJECT_TYPE *obj_type, IUnknown **object); #endif /* __IMFSourceResolver_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 *in_type, IMFMediaType **out_type) = 0; virtual HRESULT STDMETHODCALLTYPE GetMediaTypeCount( DWORD *count) = 0; virtual HRESULT STDMETHODCALLTYPE GetMediaTypeByIndex( DWORD index, IMFMediaType **type) = 0; virtual HRESULT STDMETHODCALLTYPE SetCurrentMediaType( IMFMediaType *type) = 0; virtual HRESULT STDMETHODCALLTYPE GetCurrentMediaType( IMFMediaType **type) = 0; virtual HRESULT STDMETHODCALLTYPE GetMajorType( GUID *type) = 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 *in_type, IMFMediaType **out_type); HRESULT (STDMETHODCALLTYPE *GetMediaTypeCount)( IMFMediaTypeHandler *This, DWORD *count); HRESULT (STDMETHODCALLTYPE *GetMediaTypeByIndex)( IMFMediaTypeHandler *This, DWORD index, IMFMediaType **type); HRESULT (STDMETHODCALLTYPE *SetCurrentMediaType)( IMFMediaTypeHandler *This, IMFMediaType *type); HRESULT (STDMETHODCALLTYPE *GetCurrentMediaType)( IMFMediaTypeHandler *This, IMFMediaType **type); HRESULT (STDMETHODCALLTYPE *GetMajorType)( IMFMediaTypeHandler *This, GUID *type); 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,in_type,out_type) (This)->lpVtbl->IsMediaTypeSupported(This,in_type,out_type) #define IMFMediaTypeHandler_GetMediaTypeCount(This,count) (This)->lpVtbl->GetMediaTypeCount(This,count) #define IMFMediaTypeHandler_GetMediaTypeByIndex(This,index,type) (This)->lpVtbl->GetMediaTypeByIndex(This,index,type) #define IMFMediaTypeHandler_SetCurrentMediaType(This,type) (This)->lpVtbl->SetCurrentMediaType(This,type) #define IMFMediaTypeHandler_GetCurrentMediaType(This,type) (This)->lpVtbl->GetCurrentMediaType(This,type) #define IMFMediaTypeHandler_GetMajorType(This,type) (This)->lpVtbl->GetMajorType(This,type) #else /*** IUnknown methods ***/ static inline HRESULT IMFMediaTypeHandler_QueryInterface(IMFMediaTypeHandler* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFMediaTypeHandler_AddRef(IMFMediaTypeHandler* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFMediaTypeHandler_Release(IMFMediaTypeHandler* This) { return This->lpVtbl->Release(This); } /*** IMFMediaTypeHandler methods ***/ static inline HRESULT IMFMediaTypeHandler_IsMediaTypeSupported(IMFMediaTypeHandler* This,IMFMediaType *in_type,IMFMediaType **out_type) { return This->lpVtbl->IsMediaTypeSupported(This,in_type,out_type); } static inline HRESULT IMFMediaTypeHandler_GetMediaTypeCount(IMFMediaTypeHandler* This,DWORD *count) { return This->lpVtbl->GetMediaTypeCount(This,count); } static inline HRESULT IMFMediaTypeHandler_GetMediaTypeByIndex(IMFMediaTypeHandler* This,DWORD index,IMFMediaType **type) { return This->lpVtbl->GetMediaTypeByIndex(This,index,type); } static inline HRESULT IMFMediaTypeHandler_SetCurrentMediaType(IMFMediaTypeHandler* This,IMFMediaType *type) { return This->lpVtbl->SetCurrentMediaType(This,type); } static inline HRESULT IMFMediaTypeHandler_GetCurrentMediaType(IMFMediaTypeHandler* This,IMFMediaType **type) { return This->lpVtbl->GetCurrentMediaType(This,type); } static inline HRESULT IMFMediaTypeHandler_GetMajorType(IMFMediaTypeHandler* This,GUID *type) { return This->lpVtbl->GetMajorType(This,type); } #endif #endif #endif HRESULT STDMETHODCALLTYPE IMFMediaTypeHandler_RemoteIsMediaTypeSupported_Proxy( IMFMediaTypeHandler* This, BYTE *data, DWORD size, BYTE **match, DWORD *match_count); void __RPC_STUB IMFMediaTypeHandler_RemoteIsMediaTypeSupported_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IMFMediaTypeHandler_RemoteGetMediaTypeByIndex_Proxy( IMFMediaTypeHandler* This, DWORD index, BYTE **data, DWORD *count); void __RPC_STUB IMFMediaTypeHandler_RemoteGetMediaTypeByIndex_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IMFMediaTypeHandler_RemoteSetCurrentMediaType_Proxy( IMFMediaTypeHandler* This, BYTE *data, DWORD count); void __RPC_STUB IMFMediaTypeHandler_RemoteSetCurrentMediaType_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IMFMediaTypeHandler_RemoteGetCurrentMediaType_Proxy( IMFMediaTypeHandler* This, BYTE **data, DWORD *count); void __RPC_STUB IMFMediaTypeHandler_RemoteGetCurrentMediaType_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IMFMediaTypeHandler_IsMediaTypeSupported_Proxy( IMFMediaTypeHandler* This, IMFMediaType *in_type, IMFMediaType **out_type); HRESULT __RPC_STUB IMFMediaTypeHandler_IsMediaTypeSupported_Stub( IMFMediaTypeHandler* This, BYTE *data, DWORD size, BYTE **match, DWORD *match_count); HRESULT CALLBACK IMFMediaTypeHandler_GetMediaTypeByIndex_Proxy( IMFMediaTypeHandler* This, DWORD index, IMFMediaType **type); HRESULT __RPC_STUB IMFMediaTypeHandler_GetMediaTypeByIndex_Stub( IMFMediaTypeHandler* This, DWORD index, BYTE **data, DWORD *count); HRESULT CALLBACK IMFMediaTypeHandler_SetCurrentMediaType_Proxy( IMFMediaTypeHandler* This, IMFMediaType *type); HRESULT __RPC_STUB IMFMediaTypeHandler_SetCurrentMediaType_Stub( IMFMediaTypeHandler* This, BYTE *data, DWORD count); HRESULT CALLBACK IMFMediaTypeHandler_GetCurrentMediaType_Proxy( IMFMediaTypeHandler* This, IMFMediaType **type); HRESULT __RPC_STUB IMFMediaTypeHandler_GetCurrentMediaType_Stub( IMFMediaTypeHandler* This, BYTE **data, DWORD *count); #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 *identifier) = 0; virtual HRESULT STDMETHODCALLTYPE GetMediaTypeHandler( IMFMediaTypeHandler **handler) = 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, BOOL *pbResult); HRESULT (STDMETHODCALLTYPE *Compare)( IMFStreamDescriptor *This, IMFAttributes *pTheirs, MF_ATTRIBUTES_MATCH_TYPE MatchType, BOOL *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 *identifier); HRESULT (STDMETHODCALLTYPE *GetMediaTypeHandler)( IMFStreamDescriptor *This, IMFMediaTypeHandler **handler); 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,identifier) (This)->lpVtbl->GetStreamIdentifier(This,identifier) #define IMFStreamDescriptor_GetMediaTypeHandler(This,handler) (This)->lpVtbl->GetMediaTypeHandler(This,handler) #else /*** IUnknown methods ***/ static inline HRESULT IMFStreamDescriptor_QueryInterface(IMFStreamDescriptor* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFStreamDescriptor_AddRef(IMFStreamDescriptor* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFStreamDescriptor_Release(IMFStreamDescriptor* This) { return This->lpVtbl->Release(This); } /*** IMFAttributes methods ***/ static inline HRESULT IMFStreamDescriptor_GetItem(IMFStreamDescriptor* This,REFGUID guidKey,PROPVARIANT *pValue) { return This->lpVtbl->GetItem(This,guidKey,pValue); } static inline HRESULT IMFStreamDescriptor_GetItemType(IMFStreamDescriptor* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) { return This->lpVtbl->GetItemType(This,guidKey,pType); } static inline HRESULT IMFStreamDescriptor_CompareItem(IMFStreamDescriptor* This,REFGUID guidKey,REFPROPVARIANT Value,BOOL *pbResult) { return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult); } static inline HRESULT IMFStreamDescriptor_Compare(IMFStreamDescriptor* This,IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,BOOL *pbResult) { return This->lpVtbl->Compare(This,pTheirs,MatchType,pbResult); } static inline HRESULT IMFStreamDescriptor_GetUINT32(IMFStreamDescriptor* This,REFGUID guidKey,UINT32 *punValue) { return This->lpVtbl->GetUINT32(This,guidKey,punValue); } static inline HRESULT IMFStreamDescriptor_GetUINT64(IMFStreamDescriptor* This,REFGUID guidKey,UINT64 *punValue) { return This->lpVtbl->GetUINT64(This,guidKey,punValue); } static inline HRESULT IMFStreamDescriptor_GetDouble(IMFStreamDescriptor* This,REFGUID guidKey,double *pfValue) { return This->lpVtbl->GetDouble(This,guidKey,pfValue); } static inline HRESULT IMFStreamDescriptor_GetGUID(IMFStreamDescriptor* This,REFGUID guidKey,GUID *pguidValue) { return This->lpVtbl->GetGUID(This,guidKey,pguidValue); } static inline HRESULT IMFStreamDescriptor_GetStringLength(IMFStreamDescriptor* This,REFGUID guidKey,UINT32 *pcchLength) { return This->lpVtbl->GetStringLength(This,guidKey,pcchLength); } static inline HRESULT IMFStreamDescriptor_GetString(IMFStreamDescriptor* This,REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) { return This->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength); } static inline HRESULT IMFStreamDescriptor_GetAllocatedString(IMFStreamDescriptor* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) { return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength); } static inline HRESULT IMFStreamDescriptor_GetBlobSize(IMFStreamDescriptor* This,REFGUID guidKey,UINT32 *pcbBlobSize) { return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize); } static inline HRESULT IMFStreamDescriptor_GetBlob(IMFStreamDescriptor* This,REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) { return This->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize); } static inline HRESULT IMFStreamDescriptor_GetAllocatedBlob(IMFStreamDescriptor* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) { return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize); } static inline HRESULT IMFStreamDescriptor_GetUnknown(IMFStreamDescriptor* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) { return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv); } static inline HRESULT IMFStreamDescriptor_SetItem(IMFStreamDescriptor* This,REFGUID guidKey,REFPROPVARIANT Value) { return This->lpVtbl->SetItem(This,guidKey,Value); } static inline HRESULT IMFStreamDescriptor_DeleteItem(IMFStreamDescriptor* This,REFGUID guidKey) { return This->lpVtbl->DeleteItem(This,guidKey); } static inline HRESULT IMFStreamDescriptor_DeleteAllItems(IMFStreamDescriptor* This) { return This->lpVtbl->DeleteAllItems(This); } static inline HRESULT IMFStreamDescriptor_SetUINT32(IMFStreamDescriptor* This,REFGUID guidKey,UINT32 unValue) { return This->lpVtbl->SetUINT32(This,guidKey,unValue); } static inline HRESULT IMFStreamDescriptor_SetUINT64(IMFStreamDescriptor* This,REFGUID guidKey,UINT64 unValue) { return This->lpVtbl->SetUINT64(This,guidKey,unValue); } static inline HRESULT IMFStreamDescriptor_SetDouble(IMFStreamDescriptor* This,REFGUID guidKey,double fValue) { return This->lpVtbl->SetDouble(This,guidKey,fValue); } static inline HRESULT IMFStreamDescriptor_SetGUID(IMFStreamDescriptor* This,REFGUID guidKey,REFGUID guidValue) { return This->lpVtbl->SetGUID(This,guidKey,guidValue); } static inline HRESULT IMFStreamDescriptor_SetString(IMFStreamDescriptor* This,REFGUID guidKey,LPCWSTR wszValue) { return This->lpVtbl->SetString(This,guidKey,wszValue); } static inline HRESULT IMFStreamDescriptor_SetBlob(IMFStreamDescriptor* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) { return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize); } static inline HRESULT IMFStreamDescriptor_SetUnknown(IMFStreamDescriptor* This,REFGUID guidKey,IUnknown *pUnknown) { return This->lpVtbl->SetUnknown(This,guidKey,pUnknown); } static inline HRESULT IMFStreamDescriptor_LockStore(IMFStreamDescriptor* This) { return This->lpVtbl->LockStore(This); } static inline HRESULT IMFStreamDescriptor_UnlockStore(IMFStreamDescriptor* This) { return This->lpVtbl->UnlockStore(This); } static inline HRESULT IMFStreamDescriptor_GetCount(IMFStreamDescriptor* This,UINT32 *pcItems) { return This->lpVtbl->GetCount(This,pcItems); } static inline HRESULT IMFStreamDescriptor_GetItemByIndex(IMFStreamDescriptor* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) { return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue); } static inline HRESULT IMFStreamDescriptor_CopyAllItems(IMFStreamDescriptor* This,IMFAttributes *pDest) { return This->lpVtbl->CopyAllItems(This,pDest); } /*** IMFStreamDescriptor methods ***/ static inline HRESULT IMFStreamDescriptor_GetStreamIdentifier(IMFStreamDescriptor* This,DWORD *identifier) { return This->lpVtbl->GetStreamIdentifier(This,identifier); } static inline HRESULT IMFStreamDescriptor_GetMediaTypeHandler(IMFStreamDescriptor* This,IMFMediaTypeHandler **handler) { return This->lpVtbl->GetMediaTypeHandler(This,handler); } #endif #endif #endif #endif /* __IMFStreamDescriptor_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 hnssSystemTime) = 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 hnssSystemTime); 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,hnssSystemTime) (This)->lpVtbl->OnClockStop(This,hnssSystemTime) #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 inline HRESULT IMFClockStateSink_QueryInterface(IMFClockStateSink* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFClockStateSink_AddRef(IMFClockStateSink* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFClockStateSink_Release(IMFClockStateSink* This) { return This->lpVtbl->Release(This); } /*** IMFClockStateSink methods ***/ static inline HRESULT IMFClockStateSink_OnClockStart(IMFClockStateSink* This,MFTIME hnsSystemTime,LONGLONG llClockStartOffset) { return This->lpVtbl->OnClockStart(This,hnsSystemTime,llClockStartOffset); } static inline HRESULT IMFClockStateSink_OnClockStop(IMFClockStateSink* This,MFTIME hnssSystemTime) { return This->lpVtbl->OnClockStop(This,hnssSystemTime); } static inline HRESULT IMFClockStateSink_OnClockPause(IMFClockStateSink* This,MFTIME hnsSystemTime) { return This->lpVtbl->OnClockPause(This,hnsSystemTime); } static inline HRESULT IMFClockStateSink_OnClockRestart(IMFClockStateSink* This,MFTIME hnsSystemTime) { return This->lpVtbl->OnClockRestart(This,hnsSystemTime); } static inline HRESULT IMFClockStateSink_OnClockSetRate(IMFClockStateSink* This,MFTIME hnsSystemTime,float flRate) { return This->lpVtbl->OnClockSetRate(This,hnsSystemTime,flRate); } #endif #endif #endif #endif /* __IMFClockStateSink_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 inline HRESULT IMFGetService_QueryInterface(IMFGetService* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFGetService_AddRef(IMFGetService* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFGetService_Release(IMFGetService* This) { return This->lpVtbl->Release(This); } /*** IMFGetService methods ***/ static inline 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__ */ /***************************************************************************** * 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 *count) = 0; virtual HRESULT STDMETHODCALLTYPE GetStreamDescriptorByIndex( DWORD index, BOOL *selected, IMFStreamDescriptor **descriptor) = 0; virtual HRESULT STDMETHODCALLTYPE SelectStream( DWORD index) = 0; virtual HRESULT STDMETHODCALLTYPE DeselectStream( DWORD index) = 0; virtual HRESULT STDMETHODCALLTYPE Clone( IMFPresentationDescriptor **descriptor) = 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, BOOL *pbResult); HRESULT (STDMETHODCALLTYPE *Compare)( IMFPresentationDescriptor *This, IMFAttributes *pTheirs, MF_ATTRIBUTES_MATCH_TYPE MatchType, BOOL *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 *count); HRESULT (STDMETHODCALLTYPE *GetStreamDescriptorByIndex)( IMFPresentationDescriptor *This, DWORD index, BOOL *selected, IMFStreamDescriptor **descriptor); HRESULT (STDMETHODCALLTYPE *SelectStream)( IMFPresentationDescriptor *This, DWORD index); HRESULT (STDMETHODCALLTYPE *DeselectStream)( IMFPresentationDescriptor *This, DWORD index); HRESULT (STDMETHODCALLTYPE *Clone)( IMFPresentationDescriptor *This, IMFPresentationDescriptor **descriptor); 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,count) (This)->lpVtbl->GetStreamDescriptorCount(This,count) #define IMFPresentationDescriptor_GetStreamDescriptorByIndex(This,index,selected,descriptor) (This)->lpVtbl->GetStreamDescriptorByIndex(This,index,selected,descriptor) #define IMFPresentationDescriptor_SelectStream(This,index) (This)->lpVtbl->SelectStream(This,index) #define IMFPresentationDescriptor_DeselectStream(This,index) (This)->lpVtbl->DeselectStream(This,index) #define IMFPresentationDescriptor_Clone(This,descriptor) (This)->lpVtbl->Clone(This,descriptor) #else /*** IUnknown methods ***/ static inline HRESULT IMFPresentationDescriptor_QueryInterface(IMFPresentationDescriptor* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFPresentationDescriptor_AddRef(IMFPresentationDescriptor* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFPresentationDescriptor_Release(IMFPresentationDescriptor* This) { return This->lpVtbl->Release(This); } /*** IMFAttributes methods ***/ static inline HRESULT IMFPresentationDescriptor_GetItem(IMFPresentationDescriptor* This,REFGUID guidKey,PROPVARIANT *pValue) { return This->lpVtbl->GetItem(This,guidKey,pValue); } static inline HRESULT IMFPresentationDescriptor_GetItemType(IMFPresentationDescriptor* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) { return This->lpVtbl->GetItemType(This,guidKey,pType); } static inline HRESULT IMFPresentationDescriptor_CompareItem(IMFPresentationDescriptor* This,REFGUID guidKey,REFPROPVARIANT Value,BOOL *pbResult) { return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult); } static inline HRESULT IMFPresentationDescriptor_Compare(IMFPresentationDescriptor* This,IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,BOOL *pbResult) { return This->lpVtbl->Compare(This,pTheirs,MatchType,pbResult); } static inline HRESULT IMFPresentationDescriptor_GetUINT32(IMFPresentationDescriptor* This,REFGUID guidKey,UINT32 *punValue) { return This->lpVtbl->GetUINT32(This,guidKey,punValue); } static inline HRESULT IMFPresentationDescriptor_GetUINT64(IMFPresentationDescriptor* This,REFGUID guidKey,UINT64 *punValue) { return This->lpVtbl->GetUINT64(This,guidKey,punValue); } static inline HRESULT IMFPresentationDescriptor_GetDouble(IMFPresentationDescriptor* This,REFGUID guidKey,double *pfValue) { return This->lpVtbl->GetDouble(This,guidKey,pfValue); } static inline HRESULT IMFPresentationDescriptor_GetGUID(IMFPresentationDescriptor* This,REFGUID guidKey,GUID *pguidValue) { return This->lpVtbl->GetGUID(This,guidKey,pguidValue); } static inline HRESULT IMFPresentationDescriptor_GetStringLength(IMFPresentationDescriptor* This,REFGUID guidKey,UINT32 *pcchLength) { return This->lpVtbl->GetStringLength(This,guidKey,pcchLength); } static inline HRESULT IMFPresentationDescriptor_GetString(IMFPresentationDescriptor* This,REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) { return This->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength); } static inline HRESULT IMFPresentationDescriptor_GetAllocatedString(IMFPresentationDescriptor* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) { return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength); } static inline HRESULT IMFPresentationDescriptor_GetBlobSize(IMFPresentationDescriptor* This,REFGUID guidKey,UINT32 *pcbBlobSize) { return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize); } static inline HRESULT IMFPresentationDescriptor_GetBlob(IMFPresentationDescriptor* This,REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) { return This->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize); } static inline HRESULT IMFPresentationDescriptor_GetAllocatedBlob(IMFPresentationDescriptor* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) { return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize); } static inline HRESULT IMFPresentationDescriptor_GetUnknown(IMFPresentationDescriptor* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) { return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv); } static inline HRESULT IMFPresentationDescriptor_SetItem(IMFPresentationDescriptor* This,REFGUID guidKey,REFPROPVARIANT Value) { return This->lpVtbl->SetItem(This,guidKey,Value); } static inline HRESULT IMFPresentationDescriptor_DeleteItem(IMFPresentationDescriptor* This,REFGUID guidKey) { return This->lpVtbl->DeleteItem(This,guidKey); } static inline HRESULT IMFPresentationDescriptor_DeleteAllItems(IMFPresentationDescriptor* This) { return This->lpVtbl->DeleteAllItems(This); } static inline HRESULT IMFPresentationDescriptor_SetUINT32(IMFPresentationDescriptor* This,REFGUID guidKey,UINT32 unValue) { return This->lpVtbl->SetUINT32(This,guidKey,unValue); } static inline HRESULT IMFPresentationDescriptor_SetUINT64(IMFPresentationDescriptor* This,REFGUID guidKey,UINT64 unValue) { return This->lpVtbl->SetUINT64(This,guidKey,unValue); } static inline HRESULT IMFPresentationDescriptor_SetDouble(IMFPresentationDescriptor* This,REFGUID guidKey,double fValue) { return This->lpVtbl->SetDouble(This,guidKey,fValue); } static inline HRESULT IMFPresentationDescriptor_SetGUID(IMFPresentationDescriptor* This,REFGUID guidKey,REFGUID guidValue) { return This->lpVtbl->SetGUID(This,guidKey,guidValue); } static inline HRESULT IMFPresentationDescriptor_SetString(IMFPresentationDescriptor* This,REFGUID guidKey,LPCWSTR wszValue) { return This->lpVtbl->SetString(This,guidKey,wszValue); } static inline HRESULT IMFPresentationDescriptor_SetBlob(IMFPresentationDescriptor* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) { return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize); } static inline HRESULT IMFPresentationDescriptor_SetUnknown(IMFPresentationDescriptor* This,REFGUID guidKey,IUnknown *pUnknown) { return This->lpVtbl->SetUnknown(This,guidKey,pUnknown); } static inline HRESULT IMFPresentationDescriptor_LockStore(IMFPresentationDescriptor* This) { return This->lpVtbl->LockStore(This); } static inline HRESULT IMFPresentationDescriptor_UnlockStore(IMFPresentationDescriptor* This) { return This->lpVtbl->UnlockStore(This); } static inline HRESULT IMFPresentationDescriptor_GetCount(IMFPresentationDescriptor* This,UINT32 *pcItems) { return This->lpVtbl->GetCount(This,pcItems); } static inline HRESULT IMFPresentationDescriptor_GetItemByIndex(IMFPresentationDescriptor* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) { return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue); } static inline HRESULT IMFPresentationDescriptor_CopyAllItems(IMFPresentationDescriptor* This,IMFAttributes *pDest) { return This->lpVtbl->CopyAllItems(This,pDest); } /*** IMFPresentationDescriptor methods ***/ static inline HRESULT IMFPresentationDescriptor_GetStreamDescriptorCount(IMFPresentationDescriptor* This,DWORD *count) { return This->lpVtbl->GetStreamDescriptorCount(This,count); } static inline HRESULT IMFPresentationDescriptor_GetStreamDescriptorByIndex(IMFPresentationDescriptor* This,DWORD index,BOOL *selected,IMFStreamDescriptor **descriptor) { return This->lpVtbl->GetStreamDescriptorByIndex(This,index,selected,descriptor); } static inline HRESULT IMFPresentationDescriptor_SelectStream(IMFPresentationDescriptor* This,DWORD index) { return This->lpVtbl->SelectStream(This,index); } static inline HRESULT IMFPresentationDescriptor_DeselectStream(IMFPresentationDescriptor* This,DWORD index) { return This->lpVtbl->DeselectStream(This,index); } static inline HRESULT IMFPresentationDescriptor_Clone(IMFPresentationDescriptor* This,IMFPresentationDescriptor **descriptor) { return This->lpVtbl->Clone(This,descriptor); } #endif #endif #endif #endif /* __IMFPresentationDescriptor_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( const WCHAR *lang) = 0; virtual HRESULT STDMETHODCALLTYPE GetLanguage( WCHAR **lang) = 0; virtual HRESULT STDMETHODCALLTYPE GetAllLanguages( PROPVARIANT *languages) = 0; virtual HRESULT STDMETHODCALLTYPE SetProperty( const WCHAR *name, const PROPVARIANT *values) = 0; virtual HRESULT STDMETHODCALLTYPE GetProperty( const WCHAR *name, PROPVARIANT *values) = 0; virtual HRESULT STDMETHODCALLTYPE DeleteProperty( const WCHAR *name) = 0; virtual HRESULT STDMETHODCALLTYPE GetAllPropertyNames( PROPVARIANT *names) = 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, const WCHAR *lang); HRESULT (STDMETHODCALLTYPE *GetLanguage)( IMFMetadata *This, WCHAR **lang); HRESULT (STDMETHODCALLTYPE *GetAllLanguages)( IMFMetadata *This, PROPVARIANT *languages); HRESULT (STDMETHODCALLTYPE *SetProperty)( IMFMetadata *This, const WCHAR *name, const PROPVARIANT *values); HRESULT (STDMETHODCALLTYPE *GetProperty)( IMFMetadata *This, const WCHAR *name, PROPVARIANT *values); HRESULT (STDMETHODCALLTYPE *DeleteProperty)( IMFMetadata *This, const WCHAR *name); HRESULT (STDMETHODCALLTYPE *GetAllPropertyNames)( IMFMetadata *This, PROPVARIANT *names); 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,lang) (This)->lpVtbl->SetLanguage(This,lang) #define IMFMetadata_GetLanguage(This,lang) (This)->lpVtbl->GetLanguage(This,lang) #define IMFMetadata_GetAllLanguages(This,languages) (This)->lpVtbl->GetAllLanguages(This,languages) #define IMFMetadata_SetProperty(This,name,values) (This)->lpVtbl->SetProperty(This,name,values) #define IMFMetadata_GetProperty(This,name,values) (This)->lpVtbl->GetProperty(This,name,values) #define IMFMetadata_DeleteProperty(This,name) (This)->lpVtbl->DeleteProperty(This,name) #define IMFMetadata_GetAllPropertyNames(This,names) (This)->lpVtbl->GetAllPropertyNames(This,names) #else /*** IUnknown methods ***/ static inline HRESULT IMFMetadata_QueryInterface(IMFMetadata* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFMetadata_AddRef(IMFMetadata* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFMetadata_Release(IMFMetadata* This) { return This->lpVtbl->Release(This); } /*** IMFMetadata methods ***/ static inline HRESULT IMFMetadata_SetLanguage(IMFMetadata* This,const WCHAR *lang) { return This->lpVtbl->SetLanguage(This,lang); } static inline HRESULT IMFMetadata_GetLanguage(IMFMetadata* This,WCHAR **lang) { return This->lpVtbl->GetLanguage(This,lang); } static inline HRESULT IMFMetadata_GetAllLanguages(IMFMetadata* This,PROPVARIANT *languages) { return This->lpVtbl->GetAllLanguages(This,languages); } static inline HRESULT IMFMetadata_SetProperty(IMFMetadata* This,const WCHAR *name,const PROPVARIANT *values) { return This->lpVtbl->SetProperty(This,name,values); } static inline HRESULT IMFMetadata_GetProperty(IMFMetadata* This,const WCHAR *name,PROPVARIANT *values) { return This->lpVtbl->GetProperty(This,name,values); } static inline HRESULT IMFMetadata_DeleteProperty(IMFMetadata* This,const WCHAR *name) { return This->lpVtbl->DeleteProperty(This,name); } static inline HRESULT IMFMetadata_GetAllPropertyNames(IMFMetadata* This,PROPVARIANT *names) { return This->lpVtbl->GetAllPropertyNames(This,names); } #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 *descriptor, DWORD identifier, DWORD flags, IMFMetadata **metadata) = 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 *descriptor, DWORD identifier, DWORD flags, IMFMetadata **metadata); 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,descriptor,identifier,flags,metadata) (This)->lpVtbl->GetMFMetadata(This,descriptor,identifier,flags,metadata) #else /*** IUnknown methods ***/ static inline HRESULT IMFMetadataProvider_QueryInterface(IMFMetadataProvider* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFMetadataProvider_AddRef(IMFMetadataProvider* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFMetadataProvider_Release(IMFMetadataProvider* This) { return This->lpVtbl->Release(This); } /*** IMFMetadataProvider methods ***/ static inline HRESULT IMFMetadataProvider_GetMFMetadata(IMFMetadataProvider* This,IMFPresentationDescriptor *descriptor,DWORD identifier,DWORD flags,IMFMetadata **metadata) { return This->lpVtbl->GetMFMetadata(This,descriptor,identifier,flags,metadata); } #endif #endif #endif #endif /* __IMFMetadataProvider_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFSequencerSource interface */ #ifndef __IMFSequencerSource_INTERFACE_DEFINED__ #define __IMFSequencerSource_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFSequencerSource, 0x197cd219, 0x19cb, 0x4de1, 0xa6,0x4c, 0xac,0xf2,0xed,0xcb,0xe5,0x9e); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("197cd219-19cb-4de1-a64c-acf2edcbe59e") IMFSequencerSource : public IUnknown { virtual HRESULT STDMETHODCALLTYPE AppendTopology( IMFTopology *topology, DWORD flags, MFSequencerElementId *element) = 0; virtual HRESULT STDMETHODCALLTYPE DeleteTopology( MFSequencerElementId element) = 0; virtual HRESULT STDMETHODCALLTYPE GetPresentationContext( IMFPresentationDescriptor *pd, MFSequencerElementId *id, IMFTopology **topology) = 0; virtual HRESULT STDMETHODCALLTYPE UpdateTopology( MFSequencerElementId od, IMFTopology *topology) = 0; virtual HRESULT STDMETHODCALLTYPE UpdateTopologyFlags( MFSequencerElementId id, DWORD flags) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFSequencerSource, 0x197cd219, 0x19cb, 0x4de1, 0xa6,0x4c, 0xac,0xf2,0xed,0xcb,0xe5,0x9e) #endif #else typedef struct IMFSequencerSourceVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFSequencerSource *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFSequencerSource *This); ULONG (STDMETHODCALLTYPE *Release)( IMFSequencerSource *This); /*** IMFSequencerSource methods ***/ HRESULT (STDMETHODCALLTYPE *AppendTopology)( IMFSequencerSource *This, IMFTopology *topology, DWORD flags, MFSequencerElementId *element); HRESULT (STDMETHODCALLTYPE *DeleteTopology)( IMFSequencerSource *This, MFSequencerElementId element); HRESULT (STDMETHODCALLTYPE *GetPresentationContext)( IMFSequencerSource *This, IMFPresentationDescriptor *pd, MFSequencerElementId *id, IMFTopology **topology); HRESULT (STDMETHODCALLTYPE *UpdateTopology)( IMFSequencerSource *This, MFSequencerElementId od, IMFTopology *topology); HRESULT (STDMETHODCALLTYPE *UpdateTopologyFlags)( IMFSequencerSource *This, MFSequencerElementId id, DWORD flags); END_INTERFACE } IMFSequencerSourceVtbl; interface IMFSequencerSource { CONST_VTBL IMFSequencerSourceVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFSequencerSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFSequencerSource_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFSequencerSource_Release(This) (This)->lpVtbl->Release(This) /*** IMFSequencerSource methods ***/ #define IMFSequencerSource_AppendTopology(This,topology,flags,element) (This)->lpVtbl->AppendTopology(This,topology,flags,element) #define IMFSequencerSource_DeleteTopology(This,element) (This)->lpVtbl->DeleteTopology(This,element) #define IMFSequencerSource_GetPresentationContext(This,pd,id,topology) (This)->lpVtbl->GetPresentationContext(This,pd,id,topology) #define IMFSequencerSource_UpdateTopology(This,od,topology) (This)->lpVtbl->UpdateTopology(This,od,topology) #define IMFSequencerSource_UpdateTopologyFlags(This,id,flags) (This)->lpVtbl->UpdateTopologyFlags(This,id,flags) #else /*** IUnknown methods ***/ static inline HRESULT IMFSequencerSource_QueryInterface(IMFSequencerSource* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFSequencerSource_AddRef(IMFSequencerSource* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFSequencerSource_Release(IMFSequencerSource* This) { return This->lpVtbl->Release(This); } /*** IMFSequencerSource methods ***/ static inline HRESULT IMFSequencerSource_AppendTopology(IMFSequencerSource* This,IMFTopology *topology,DWORD flags,MFSequencerElementId *element) { return This->lpVtbl->AppendTopology(This,topology,flags,element); } static inline HRESULT IMFSequencerSource_DeleteTopology(IMFSequencerSource* This,MFSequencerElementId element) { return This->lpVtbl->DeleteTopology(This,element); } static inline HRESULT IMFSequencerSource_GetPresentationContext(IMFSequencerSource* This,IMFPresentationDescriptor *pd,MFSequencerElementId *id,IMFTopology **topology) { return This->lpVtbl->GetPresentationContext(This,pd,id,topology); } static inline HRESULT IMFSequencerSource_UpdateTopology(IMFSequencerSource* This,MFSequencerElementId od,IMFTopology *topology) { return This->lpVtbl->UpdateTopology(This,od,topology); } static inline HRESULT IMFSequencerSource_UpdateTopologyFlags(IMFSequencerSource* This,MFSequencerElementId id,DWORD flags) { return This->lpVtbl->UpdateTopologyFlags(This,id,flags); } #endif #endif #endif #endif /* __IMFSequencerSource_INTERFACE_DEFINED__ */ #ifndef __IMFPresentationClock_FWD_DEFINED__ #define __IMFPresentationClock_FWD_DEFINED__ typedef interface IMFPresentationClock IMFPresentationClock; #ifdef __cplusplus interface IMFPresentationClock; #endif /* __cplusplus */ #endif /***************************************************************************** * 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 *clock) = 0; virtual HRESULT STDMETHODCALLTYPE OnProcessSample( REFGUID major_type, DWORD sample_flags, LONGLONG sample_time, LONGLONG sample_duration, const BYTE *buffer, DWORD sample_size) = 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 hnssSystemTime); 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 *clock); HRESULT (STDMETHODCALLTYPE *OnProcessSample)( IMFSampleGrabberSinkCallback *This, REFGUID major_type, DWORD sample_flags, LONGLONG sample_time, LONGLONG sample_duration, const BYTE *buffer, DWORD sample_size); 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,hnssSystemTime) (This)->lpVtbl->OnClockStop(This,hnssSystemTime) #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,clock) (This)->lpVtbl->OnSetPresentationClock(This,clock) #define IMFSampleGrabberSinkCallback_OnProcessSample(This,major_type,sample_flags,sample_time,sample_duration,buffer,sample_size) (This)->lpVtbl->OnProcessSample(This,major_type,sample_flags,sample_time,sample_duration,buffer,sample_size) #define IMFSampleGrabberSinkCallback_OnShutdown(This) (This)->lpVtbl->OnShutdown(This) #else /*** IUnknown methods ***/ static inline HRESULT IMFSampleGrabberSinkCallback_QueryInterface(IMFSampleGrabberSinkCallback* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFSampleGrabberSinkCallback_AddRef(IMFSampleGrabberSinkCallback* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFSampleGrabberSinkCallback_Release(IMFSampleGrabberSinkCallback* This) { return This->lpVtbl->Release(This); } /*** IMFClockStateSink methods ***/ static inline HRESULT IMFSampleGrabberSinkCallback_OnClockStart(IMFSampleGrabberSinkCallback* This,MFTIME hnsSystemTime,LONGLONG llClockStartOffset) { return This->lpVtbl->OnClockStart(This,hnsSystemTime,llClockStartOffset); } static inline HRESULT IMFSampleGrabberSinkCallback_OnClockStop(IMFSampleGrabberSinkCallback* This,MFTIME hnssSystemTime) { return This->lpVtbl->OnClockStop(This,hnssSystemTime); } static inline HRESULT IMFSampleGrabberSinkCallback_OnClockPause(IMFSampleGrabberSinkCallback* This,MFTIME hnsSystemTime) { return This->lpVtbl->OnClockPause(This,hnsSystemTime); } static inline HRESULT IMFSampleGrabberSinkCallback_OnClockRestart(IMFSampleGrabberSinkCallback* This,MFTIME hnsSystemTime) { return This->lpVtbl->OnClockRestart(This,hnsSystemTime); } static inline HRESULT IMFSampleGrabberSinkCallback_OnClockSetRate(IMFSampleGrabberSinkCallback* This,MFTIME hnsSystemTime,float flRate) { return This->lpVtbl->OnClockSetRate(This,hnsSystemTime,flRate); } /*** IMFSampleGrabberSinkCallback methods ***/ static inline HRESULT IMFSampleGrabberSinkCallback_OnSetPresentationClock(IMFSampleGrabberSinkCallback* This,IMFPresentationClock *clock) { return This->lpVtbl->OnSetPresentationClock(This,clock); } static inline HRESULT IMFSampleGrabberSinkCallback_OnProcessSample(IMFSampleGrabberSinkCallback* This,REFGUID major_type,DWORD sample_flags,LONGLONG sample_time,LONGLONG sample_duration,const BYTE *buffer,DWORD sample_size) { return This->lpVtbl->OnProcessSample(This,major_type,sample_flags,sample_time,sample_duration,buffer,sample_size); } static inline HRESULT IMFSampleGrabberSinkCallback_OnShutdown(IMFSampleGrabberSinkCallback* This) { return This->lpVtbl->OnShutdown(This); } #endif #endif #endif #endif /* __IMFSampleGrabberSinkCallback_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFSampleGrabberSinkCallback2 interface */ #ifndef __IMFSampleGrabberSinkCallback2_INTERFACE_DEFINED__ #define __IMFSampleGrabberSinkCallback2_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFSampleGrabberSinkCallback2, 0xca86aa50, 0xc46e, 0x429e, 0xab,0x27, 0x16,0xd6,0xac,0x68,0x44,0xcb); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("ca86aa50-c46e-429e-ab27-16d6ac6844cb") IMFSampleGrabberSinkCallback2 : public IMFSampleGrabberSinkCallback { virtual HRESULT STDMETHODCALLTYPE OnProcessSampleEx( REFGUID major_type, DWORD sample_flags, LONGLONG sample_time, LONGLONG sample_duration, const BYTE *buffer, DWORD sample_size, IMFAttributes *attributes) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFSampleGrabberSinkCallback2, 0xca86aa50, 0xc46e, 0x429e, 0xab,0x27, 0x16,0xd6,0xac,0x68,0x44,0xcb) #endif #else typedef struct IMFSampleGrabberSinkCallback2Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFSampleGrabberSinkCallback2 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFSampleGrabberSinkCallback2 *This); ULONG (STDMETHODCALLTYPE *Release)( IMFSampleGrabberSinkCallback2 *This); /*** IMFClockStateSink methods ***/ HRESULT (STDMETHODCALLTYPE *OnClockStart)( IMFSampleGrabberSinkCallback2 *This, MFTIME hnsSystemTime, LONGLONG llClockStartOffset); HRESULT (STDMETHODCALLTYPE *OnClockStop)( IMFSampleGrabberSinkCallback2 *This, MFTIME hnssSystemTime); HRESULT (STDMETHODCALLTYPE *OnClockPause)( IMFSampleGrabberSinkCallback2 *This, MFTIME hnsSystemTime); HRESULT (STDMETHODCALLTYPE *OnClockRestart)( IMFSampleGrabberSinkCallback2 *This, MFTIME hnsSystemTime); HRESULT (STDMETHODCALLTYPE *OnClockSetRate)( IMFSampleGrabberSinkCallback2 *This, MFTIME hnsSystemTime, float flRate); /*** IMFSampleGrabberSinkCallback methods ***/ HRESULT (STDMETHODCALLTYPE *OnSetPresentationClock)( IMFSampleGrabberSinkCallback2 *This, IMFPresentationClock *clock); HRESULT (STDMETHODCALLTYPE *OnProcessSample)( IMFSampleGrabberSinkCallback2 *This, REFGUID major_type, DWORD sample_flags, LONGLONG sample_time, LONGLONG sample_duration, const BYTE *buffer, DWORD sample_size); HRESULT (STDMETHODCALLTYPE *OnShutdown)( IMFSampleGrabberSinkCallback2 *This); /*** IMFSampleGrabberSinkCallback2 methods ***/ HRESULT (STDMETHODCALLTYPE *OnProcessSampleEx)( IMFSampleGrabberSinkCallback2 *This, REFGUID major_type, DWORD sample_flags, LONGLONG sample_time, LONGLONG sample_duration, const BYTE *buffer, DWORD sample_size, IMFAttributes *attributes); END_INTERFACE } IMFSampleGrabberSinkCallback2Vtbl; interface IMFSampleGrabberSinkCallback2 { CONST_VTBL IMFSampleGrabberSinkCallback2Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFSampleGrabberSinkCallback2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFSampleGrabberSinkCallback2_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFSampleGrabberSinkCallback2_Release(This) (This)->lpVtbl->Release(This) /*** IMFClockStateSink methods ***/ #define IMFSampleGrabberSinkCallback2_OnClockStart(This,hnsSystemTime,llClockStartOffset) (This)->lpVtbl->OnClockStart(This,hnsSystemTime,llClockStartOffset) #define IMFSampleGrabberSinkCallback2_OnClockStop(This,hnssSystemTime) (This)->lpVtbl->OnClockStop(This,hnssSystemTime) #define IMFSampleGrabberSinkCallback2_OnClockPause(This,hnsSystemTime) (This)->lpVtbl->OnClockPause(This,hnsSystemTime) #define IMFSampleGrabberSinkCallback2_OnClockRestart(This,hnsSystemTime) (This)->lpVtbl->OnClockRestart(This,hnsSystemTime) #define IMFSampleGrabberSinkCallback2_OnClockSetRate(This,hnsSystemTime,flRate) (This)->lpVtbl->OnClockSetRate(This,hnsSystemTime,flRate) /*** IMFSampleGrabberSinkCallback methods ***/ #define IMFSampleGrabberSinkCallback2_OnSetPresentationClock(This,clock) (This)->lpVtbl->OnSetPresentationClock(This,clock) #define IMFSampleGrabberSinkCallback2_OnProcessSample(This,major_type,sample_flags,sample_time,sample_duration,buffer,sample_size) (This)->lpVtbl->OnProcessSample(This,major_type,sample_flags,sample_time,sample_duration,buffer,sample_size) #define IMFSampleGrabberSinkCallback2_OnShutdown(This) (This)->lpVtbl->OnShutdown(This) /*** IMFSampleGrabberSinkCallback2 methods ***/ #define IMFSampleGrabberSinkCallback2_OnProcessSampleEx(This,major_type,sample_flags,sample_time,sample_duration,buffer,sample_size,attributes) (This)->lpVtbl->OnProcessSampleEx(This,major_type,sample_flags,sample_time,sample_duration,buffer,sample_size,attributes) #else /*** IUnknown methods ***/ static inline HRESULT IMFSampleGrabberSinkCallback2_QueryInterface(IMFSampleGrabberSinkCallback2* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFSampleGrabberSinkCallback2_AddRef(IMFSampleGrabberSinkCallback2* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFSampleGrabberSinkCallback2_Release(IMFSampleGrabberSinkCallback2* This) { return This->lpVtbl->Release(This); } /*** IMFClockStateSink methods ***/ static inline HRESULT IMFSampleGrabberSinkCallback2_OnClockStart(IMFSampleGrabberSinkCallback2* This,MFTIME hnsSystemTime,LONGLONG llClockStartOffset) { return This->lpVtbl->OnClockStart(This,hnsSystemTime,llClockStartOffset); } static inline HRESULT IMFSampleGrabberSinkCallback2_OnClockStop(IMFSampleGrabberSinkCallback2* This,MFTIME hnssSystemTime) { return This->lpVtbl->OnClockStop(This,hnssSystemTime); } static inline HRESULT IMFSampleGrabberSinkCallback2_OnClockPause(IMFSampleGrabberSinkCallback2* This,MFTIME hnsSystemTime) { return This->lpVtbl->OnClockPause(This,hnsSystemTime); } static inline HRESULT IMFSampleGrabberSinkCallback2_OnClockRestart(IMFSampleGrabberSinkCallback2* This,MFTIME hnsSystemTime) { return This->lpVtbl->OnClockRestart(This,hnsSystemTime); } static inline HRESULT IMFSampleGrabberSinkCallback2_OnClockSetRate(IMFSampleGrabberSinkCallback2* This,MFTIME hnsSystemTime,float flRate) { return This->lpVtbl->OnClockSetRate(This,hnsSystemTime,flRate); } /*** IMFSampleGrabberSinkCallback methods ***/ static inline HRESULT IMFSampleGrabberSinkCallback2_OnSetPresentationClock(IMFSampleGrabberSinkCallback2* This,IMFPresentationClock *clock) { return This->lpVtbl->OnSetPresentationClock(This,clock); } static inline HRESULT IMFSampleGrabberSinkCallback2_OnProcessSample(IMFSampleGrabberSinkCallback2* This,REFGUID major_type,DWORD sample_flags,LONGLONG sample_time,LONGLONG sample_duration,const BYTE *buffer,DWORD sample_size) { return This->lpVtbl->OnProcessSample(This,major_type,sample_flags,sample_time,sample_duration,buffer,sample_size); } static inline HRESULT IMFSampleGrabberSinkCallback2_OnShutdown(IMFSampleGrabberSinkCallback2* This) { return This->lpVtbl->OnShutdown(This); } /*** IMFSampleGrabberSinkCallback2 methods ***/ static inline HRESULT IMFSampleGrabberSinkCallback2_OnProcessSampleEx(IMFSampleGrabberSinkCallback2* This,REFGUID major_type,DWORD sample_flags,LONGLONG sample_time,LONGLONG sample_duration,const BYTE *buffer,DWORD sample_size,IMFAttributes *attributes) { return This->lpVtbl->OnProcessSampleEx(This,major_type,sample_flags,sample_time,sample_duration,buffer,sample_size,attributes); } #endif #endif #endif #endif /* __IMFSampleGrabberSinkCallback2_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFSeekInfo interface */ #ifndef __IMFSeekInfo_INTERFACE_DEFINED__ #define __IMFSeekInfo_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFSeekInfo, 0x26afea53, 0xd9ed, 0x42b5, 0xab,0x80, 0xe6,0x4f,0x9e,0xe3,0x47,0x79); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("26afea53-d9ed-42b5-ab80-e64f9ee34779") IMFSeekInfo : public IUnknown { virtual HRESULT STDMETHODCALLTYPE GetNearestKeyFrames( const GUID *format, const PROPVARIANT *position, PROPVARIANT *prev_frame, PROPVARIANT *next_frame) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFSeekInfo, 0x26afea53, 0xd9ed, 0x42b5, 0xab,0x80, 0xe6,0x4f,0x9e,0xe3,0x47,0x79) #endif #else typedef struct IMFSeekInfoVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFSeekInfo *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFSeekInfo *This); ULONG (STDMETHODCALLTYPE *Release)( IMFSeekInfo *This); /*** IMFSeekInfo methods ***/ HRESULT (STDMETHODCALLTYPE *GetNearestKeyFrames)( IMFSeekInfo *This, const GUID *format, const PROPVARIANT *position, PROPVARIANT *prev_frame, PROPVARIANT *next_frame); END_INTERFACE } IMFSeekInfoVtbl; interface IMFSeekInfo { CONST_VTBL IMFSeekInfoVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFSeekInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFSeekInfo_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFSeekInfo_Release(This) (This)->lpVtbl->Release(This) /*** IMFSeekInfo methods ***/ #define IMFSeekInfo_GetNearestKeyFrames(This,format,position,prev_frame,next_frame) (This)->lpVtbl->GetNearestKeyFrames(This,format,position,prev_frame,next_frame) #else /*** IUnknown methods ***/ static inline HRESULT IMFSeekInfo_QueryInterface(IMFSeekInfo* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFSeekInfo_AddRef(IMFSeekInfo* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFSeekInfo_Release(IMFSeekInfo* This) { return This->lpVtbl->Release(This); } /*** IMFSeekInfo methods ***/ static inline HRESULT IMFSeekInfo_GetNearestKeyFrames(IMFSeekInfo* This,const GUID *format,const PROPVARIANT *position,PROPVARIANT *prev_frame,PROPVARIANT *next_frame) { return This->lpVtbl->GetNearestKeyFrames(This,format,position,prev_frame,next_frame); } #endif #endif #endif #endif /* __IMFSeekInfo_INTERFACE_DEFINED__ */ HRESULT WINAPI CreatePropertyStore(IPropertyStore **store); HRESULT WINAPI MFCreate3GPMediaSink(IMFByteStream *stream, IMFMediaType *video_type, IMFMediaType *audio_type, IMFMediaSink **sink); HRESULT WINAPI MFCreateAC3MediaSink(IMFByteStream *stream, IMFMediaType *audio_type, IMFMediaSink **sink); HRESULT WINAPI MFCreateADTSMediaSink(IMFByteStream *stream, IMFMediaType *audio_type, IMFMediaSink **sink); HRESULT WINAPI MFCreateAudioRenderer(IMFAttributes *config, IMFMediaSink **sink); HRESULT WINAPI MFCreateAudioRendererActivate(IMFActivate **activate); HRESULT WINAPI MFCreateFMPEG4MediaSink(IMFByteStream *stream, IMFMediaType *video_type, IMFMediaType *audio_type, IMFMediaSink **sink); HRESULT WINAPI MFCreateMediaSession(IMFAttributes *config, IMFMediaSession **session); HRESULT WINAPI MFCreateMFByteStreamOnStream(IStream *stream, IMFByteStream **bytestream); HRESULT WINAPI MFCreateMFByteStreamOnStreamEx(IUnknown *stream, IMFByteStream **bytestream); HRESULT WINAPI MFCreateMP3MediaSink(IMFByteStream *stream, IMFMediaSink **sink); HRESULT WINAPI MFCreateMPEG4MediaSink(IMFByteStream *stream, IMFMediaType *video_type, IMFMediaType *audio_type, IMFMediaSink **sink); HRESULT WINAPI MFCreatePresentationClock(IMFPresentationClock **clock); HRESULT WINAPI MFCreatePresentationDescriptor(DWORD count, IMFStreamDescriptor **descriptors, IMFPresentationDescriptor **presentation_desc); HRESULT WINAPI MFCreateSimpleTypeHandler(IMFMediaTypeHandler **handler); HRESULT WINAPI MFCreateSampleCopierMFT(IMFTransform **transform); HRESULT WINAPI MFCreateSampleGrabberSinkActivate(IMFMediaType *media_type, IMFSampleGrabberSinkCallback *callback, IMFActivate **activate); HRESULT WINAPI MFCreateSequencerSegmentOffset(MFSequencerElementId id, MFTIME offset, PROPVARIANT *segment_offset); HRESULT WINAPI MFCreateSequencerSource(IUnknown *reserved, IMFSequencerSource **seq_source); HRESULT WINAPI MFCreateSourceResolver(IMFSourceResolver **resolver); HRESULT WINAPI MFCreateStandardQualityManager(IMFQualityManager **manager); HRESULT WINAPI MFCreateStreamDescriptor(DWORD identifier, DWORD cMediaTypes, IMFMediaType **types, IMFStreamDescriptor **descriptor); HRESULT WINAPI MFCreateSystemTimeSource(IMFPresentationTimeSource **time_source); HRESULT WINAPI MFCreateTopology(IMFTopology **topology); HRESULT WINAPI MFCreateTopologyNode(MF_TOPOLOGY_TYPE node_type, IMFTopologyNode **node); HRESULT WINAPI MFCreateTopoLoader(IMFTopoLoader **loader); HRESULT WINAPI MFCreateVideoRendererActivate(HWND hwnd, IMFActivate **activate); HRESULT WINAPI MFCreateWAVEMediaSink(IMFByteStream *stream, IMFMediaType *media_type, IMFMediaSink **sink); HRESULT WINAPI MFEnumDeviceSources(IMFAttributes *attributes, IMFActivate ***sources, UINT32 *count); HRESULT WINAPI MFGetSupportedMimeTypes(PROPVARIANT *array); HRESULT WINAPI MFGetSupportedSchemes(PROPVARIANT *array); HRESULT WINAPI MFGetService(IUnknown *object, REFGUID service, REFIID iid, void **obj); MFTIME WINAPI MFGetSystemTime(void); HRESULT WINAPI MFGetTopoNodeCurrentType(IMFTopologyNode *node, DWORD stream, BOOL output, IMFMediaType **type); HRESULT WINAPI MFShutdownObject(IUnknown *object); HRESULT WINAPI MFCreateTrackedSample(IMFTrackedSample **sample); HRESULT WINAPI MFRequireProtectedEnvironment(IMFPresentationDescriptor *pd); HRESULT WINAPI MFTranscodeGetAudioOutputAvailableTypes(REFGUID subtype, DWORD flags, IMFAttributes *config, IMFCollection **types); 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_DOES_NOT_USE_NETWORK = 0x80 } MFMEDIASOURCE_CHARACTERISTICS; /***************************************************************************** * 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 *characteristics) = 0; virtual HRESULT STDMETHODCALLTYPE CreatePresentationDescriptor( IMFPresentationDescriptor **descriptor) = 0; virtual HRESULT STDMETHODCALLTYPE Start( IMFPresentationDescriptor *descriptor, const GUID *time_format, const PROPVARIANT *start_position) = 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 *characteristics); HRESULT (STDMETHODCALLTYPE *CreatePresentationDescriptor)( IMFMediaSource *This, IMFPresentationDescriptor **descriptor); HRESULT (STDMETHODCALLTYPE *Start)( IMFMediaSource *This, IMFPresentationDescriptor *descriptor, const GUID *time_format, const PROPVARIANT *start_position); 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,characteristics) (This)->lpVtbl->GetCharacteristics(This,characteristics) #define IMFMediaSource_CreatePresentationDescriptor(This,descriptor) (This)->lpVtbl->CreatePresentationDescriptor(This,descriptor) #define IMFMediaSource_Start(This,descriptor,time_format,start_position) (This)->lpVtbl->Start(This,descriptor,time_format,start_position) #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 inline HRESULT IMFMediaSource_QueryInterface(IMFMediaSource* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFMediaSource_AddRef(IMFMediaSource* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFMediaSource_Release(IMFMediaSource* This) { return This->lpVtbl->Release(This); } /*** IMFMediaEventGenerator methods ***/ static inline HRESULT IMFMediaSource_GetEvent(IMFMediaSource* This,DWORD dwFlags,IMFMediaEvent **ppEvent) { return This->lpVtbl->GetEvent(This,dwFlags,ppEvent); } static inline HRESULT IMFMediaSource_BeginGetEvent(IMFMediaSource* This,IMFAsyncCallback *pCallback,IUnknown *punkState) { return This->lpVtbl->BeginGetEvent(This,pCallback,punkState); } static inline HRESULT IMFMediaSource_EndGetEvent(IMFMediaSource* This,IMFAsyncResult *pResult,IMFMediaEvent **ppEvent) { return This->lpVtbl->EndGetEvent(This,pResult,ppEvent); } static inline 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 inline HRESULT IMFMediaSource_GetCharacteristics(IMFMediaSource* This,DWORD *characteristics) { return This->lpVtbl->GetCharacteristics(This,characteristics); } static inline HRESULT IMFMediaSource_CreatePresentationDescriptor(IMFMediaSource* This,IMFPresentationDescriptor **descriptor) { return This->lpVtbl->CreatePresentationDescriptor(This,descriptor); } static inline HRESULT IMFMediaSource_Start(IMFMediaSource* This,IMFPresentationDescriptor *descriptor,const GUID *time_format,const PROPVARIANT *start_position) { return This->lpVtbl->Start(This,descriptor,time_format,start_position); } static inline HRESULT IMFMediaSource_Stop(IMFMediaSource* This) { return This->lpVtbl->Stop(This); } static inline HRESULT IMFMediaSource_Pause(IMFMediaSource* This) { return This->lpVtbl->Pause(This); } static inline HRESULT IMFMediaSource_Shutdown(IMFMediaSource* This) { return This->lpVtbl->Shutdown(This); } #endif #endif #endif HRESULT STDMETHODCALLTYPE IMFMediaSource_RemoteCreatePresentationDescriptor_Proxy( IMFMediaSource* This, DWORD *count, BYTE **data, IMFPresentationDescriptor **descriptor); void __RPC_STUB IMFMediaSource_RemoteCreatePresentationDescriptor_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IMFMediaSource_CreatePresentationDescriptor_Proxy( IMFMediaSource* This, IMFPresentationDescriptor **descriptor); HRESULT __RPC_STUB IMFMediaSource_CreatePresentationDescriptor_Stub( IMFMediaSource* This, DWORD *count, BYTE **data, IMFPresentationDescriptor **descriptor); #endif /* __IMFMediaSource_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFMediaSourceEx interface */ #ifndef __IMFMediaSourceEx_INTERFACE_DEFINED__ #define __IMFMediaSourceEx_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFMediaSourceEx, 0x3c9b2eb9, 0x86d5, 0x4514, 0xa3,0x94, 0xf5,0x66,0x64,0xf9,0xf0,0xd8); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("3c9b2eb9-86d5-4514-a394-f56664f9f0d8") IMFMediaSourceEx : public IMFMediaSource { virtual HRESULT STDMETHODCALLTYPE GetSourceAttributes( IMFAttributes **attributes) = 0; virtual HRESULT STDMETHODCALLTYPE GetStreamAttributes( DWORD streamid, IMFAttributes **attributes) = 0; virtual HRESULT STDMETHODCALLTYPE SetD3DManager( IUnknown *manager) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFMediaSourceEx, 0x3c9b2eb9, 0x86d5, 0x4514, 0xa3,0x94, 0xf5,0x66,0x64,0xf9,0xf0,0xd8) #endif #else typedef struct IMFMediaSourceExVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFMediaSourceEx *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFMediaSourceEx *This); ULONG (STDMETHODCALLTYPE *Release)( IMFMediaSourceEx *This); /*** IMFMediaEventGenerator methods ***/ HRESULT (STDMETHODCALLTYPE *GetEvent)( IMFMediaSourceEx *This, DWORD dwFlags, IMFMediaEvent **ppEvent); HRESULT (STDMETHODCALLTYPE *BeginGetEvent)( IMFMediaSourceEx *This, IMFAsyncCallback *pCallback, IUnknown *punkState); HRESULT (STDMETHODCALLTYPE *EndGetEvent)( IMFMediaSourceEx *This, IMFAsyncResult *pResult, IMFMediaEvent **ppEvent); HRESULT (STDMETHODCALLTYPE *QueueEvent)( IMFMediaSourceEx *This, MediaEventType met, REFGUID guidExtendedType, HRESULT hrStatus, const PROPVARIANT *pvValue); /*** IMFMediaSource methods ***/ HRESULT (STDMETHODCALLTYPE *GetCharacteristics)( IMFMediaSourceEx *This, DWORD *characteristics); HRESULT (STDMETHODCALLTYPE *CreatePresentationDescriptor)( IMFMediaSourceEx *This, IMFPresentationDescriptor **descriptor); HRESULT (STDMETHODCALLTYPE *Start)( IMFMediaSourceEx *This, IMFPresentationDescriptor *descriptor, const GUID *time_format, const PROPVARIANT *start_position); HRESULT (STDMETHODCALLTYPE *Stop)( IMFMediaSourceEx *This); HRESULT (STDMETHODCALLTYPE *Pause)( IMFMediaSourceEx *This); HRESULT (STDMETHODCALLTYPE *Shutdown)( IMFMediaSourceEx *This); /*** IMFMediaSourceEx methods ***/ HRESULT (STDMETHODCALLTYPE *GetSourceAttributes)( IMFMediaSourceEx *This, IMFAttributes **attributes); HRESULT (STDMETHODCALLTYPE *GetStreamAttributes)( IMFMediaSourceEx *This, DWORD streamid, IMFAttributes **attributes); HRESULT (STDMETHODCALLTYPE *SetD3DManager)( IMFMediaSourceEx *This, IUnknown *manager); END_INTERFACE } IMFMediaSourceExVtbl; interface IMFMediaSourceEx { CONST_VTBL IMFMediaSourceExVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFMediaSourceEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFMediaSourceEx_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFMediaSourceEx_Release(This) (This)->lpVtbl->Release(This) /*** IMFMediaEventGenerator methods ***/ #define IMFMediaSourceEx_GetEvent(This,dwFlags,ppEvent) (This)->lpVtbl->GetEvent(This,dwFlags,ppEvent) #define IMFMediaSourceEx_BeginGetEvent(This,pCallback,punkState) (This)->lpVtbl->BeginGetEvent(This,pCallback,punkState) #define IMFMediaSourceEx_EndGetEvent(This,pResult,ppEvent) (This)->lpVtbl->EndGetEvent(This,pResult,ppEvent) #define IMFMediaSourceEx_QueueEvent(This,met,guidExtendedType,hrStatus,pvValue) (This)->lpVtbl->QueueEvent(This,met,guidExtendedType,hrStatus,pvValue) /*** IMFMediaSource methods ***/ #define IMFMediaSourceEx_GetCharacteristics(This,characteristics) (This)->lpVtbl->GetCharacteristics(This,characteristics) #define IMFMediaSourceEx_CreatePresentationDescriptor(This,descriptor) (This)->lpVtbl->CreatePresentationDescriptor(This,descriptor) #define IMFMediaSourceEx_Start(This,descriptor,time_format,start_position) (This)->lpVtbl->Start(This,descriptor,time_format,start_position) #define IMFMediaSourceEx_Stop(This) (This)->lpVtbl->Stop(This) #define IMFMediaSourceEx_Pause(This) (This)->lpVtbl->Pause(This) #define IMFMediaSourceEx_Shutdown(This) (This)->lpVtbl->Shutdown(This) /*** IMFMediaSourceEx methods ***/ #define IMFMediaSourceEx_GetSourceAttributes(This,attributes) (This)->lpVtbl->GetSourceAttributes(This,attributes) #define IMFMediaSourceEx_GetStreamAttributes(This,streamid,attributes) (This)->lpVtbl->GetStreamAttributes(This,streamid,attributes) #define IMFMediaSourceEx_SetD3DManager(This,manager) (This)->lpVtbl->SetD3DManager(This,manager) #else /*** IUnknown methods ***/ static inline HRESULT IMFMediaSourceEx_QueryInterface(IMFMediaSourceEx* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFMediaSourceEx_AddRef(IMFMediaSourceEx* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFMediaSourceEx_Release(IMFMediaSourceEx* This) { return This->lpVtbl->Release(This); } /*** IMFMediaEventGenerator methods ***/ static inline HRESULT IMFMediaSourceEx_GetEvent(IMFMediaSourceEx* This,DWORD dwFlags,IMFMediaEvent **ppEvent) { return This->lpVtbl->GetEvent(This,dwFlags,ppEvent); } static inline HRESULT IMFMediaSourceEx_BeginGetEvent(IMFMediaSourceEx* This,IMFAsyncCallback *pCallback,IUnknown *punkState) { return This->lpVtbl->BeginGetEvent(This,pCallback,punkState); } static inline HRESULT IMFMediaSourceEx_EndGetEvent(IMFMediaSourceEx* This,IMFAsyncResult *pResult,IMFMediaEvent **ppEvent) { return This->lpVtbl->EndGetEvent(This,pResult,ppEvent); } static inline HRESULT IMFMediaSourceEx_QueueEvent(IMFMediaSourceEx* This,MediaEventType met,REFGUID guidExtendedType,HRESULT hrStatus,const PROPVARIANT *pvValue) { return This->lpVtbl->QueueEvent(This,met,guidExtendedType,hrStatus,pvValue); } /*** IMFMediaSource methods ***/ static inline HRESULT IMFMediaSourceEx_GetCharacteristics(IMFMediaSourceEx* This,DWORD *characteristics) { return This->lpVtbl->GetCharacteristics(This,characteristics); } static inline HRESULT IMFMediaSourceEx_CreatePresentationDescriptor(IMFMediaSourceEx* This,IMFPresentationDescriptor **descriptor) { return This->lpVtbl->CreatePresentationDescriptor(This,descriptor); } static inline HRESULT IMFMediaSourceEx_Start(IMFMediaSourceEx* This,IMFPresentationDescriptor *descriptor,const GUID *time_format,const PROPVARIANT *start_position) { return This->lpVtbl->Start(This,descriptor,time_format,start_position); } static inline HRESULT IMFMediaSourceEx_Stop(IMFMediaSourceEx* This) { return This->lpVtbl->Stop(This); } static inline HRESULT IMFMediaSourceEx_Pause(IMFMediaSourceEx* This) { return This->lpVtbl->Pause(This); } static inline HRESULT IMFMediaSourceEx_Shutdown(IMFMediaSourceEx* This) { return This->lpVtbl->Shutdown(This); } /*** IMFMediaSourceEx methods ***/ static inline HRESULT IMFMediaSourceEx_GetSourceAttributes(IMFMediaSourceEx* This,IMFAttributes **attributes) { return This->lpVtbl->GetSourceAttributes(This,attributes); } static inline HRESULT IMFMediaSourceEx_GetStreamAttributes(IMFMediaSourceEx* This,DWORD streamid,IMFAttributes **attributes) { return This->lpVtbl->GetStreamAttributes(This,streamid,attributes); } static inline HRESULT IMFMediaSourceEx_SetD3DManager(IMFMediaSourceEx* This,IUnknown *manager) { return This->lpVtbl->SetD3DManager(This,manager); } #endif #endif #endif #endif /* __IMFMediaSourceEx_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 **source) = 0; virtual HRESULT STDMETHODCALLTYPE GetStreamDescriptor( IMFStreamDescriptor **descriptor) = 0; virtual HRESULT STDMETHODCALLTYPE RequestSample( IUnknown *token) = 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 **source); HRESULT (STDMETHODCALLTYPE *GetStreamDescriptor)( IMFMediaStream *This, IMFStreamDescriptor **descriptor); HRESULT (STDMETHODCALLTYPE *RequestSample)( IMFMediaStream *This, IUnknown *token); 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,source) (This)->lpVtbl->GetMediaSource(This,source) #define IMFMediaStream_GetStreamDescriptor(This,descriptor) (This)->lpVtbl->GetStreamDescriptor(This,descriptor) #define IMFMediaStream_RequestSample(This,token) (This)->lpVtbl->RequestSample(This,token) #else /*** IUnknown methods ***/ static inline HRESULT IMFMediaStream_QueryInterface(IMFMediaStream* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFMediaStream_AddRef(IMFMediaStream* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFMediaStream_Release(IMFMediaStream* This) { return This->lpVtbl->Release(This); } /*** IMFMediaEventGenerator methods ***/ static inline HRESULT IMFMediaStream_GetEvent(IMFMediaStream* This,DWORD dwFlags,IMFMediaEvent **ppEvent) { return This->lpVtbl->GetEvent(This,dwFlags,ppEvent); } static inline HRESULT IMFMediaStream_BeginGetEvent(IMFMediaStream* This,IMFAsyncCallback *pCallback,IUnknown *punkState) { return This->lpVtbl->BeginGetEvent(This,pCallback,punkState); } static inline HRESULT IMFMediaStream_EndGetEvent(IMFMediaStream* This,IMFAsyncResult *pResult,IMFMediaEvent **ppEvent) { return This->lpVtbl->EndGetEvent(This,pResult,ppEvent); } static inline 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 inline HRESULT IMFMediaStream_GetMediaSource(IMFMediaStream* This,IMFMediaSource **source) { return This->lpVtbl->GetMediaSource(This,source); } static inline HRESULT IMFMediaStream_GetStreamDescriptor(IMFMediaStream* This,IMFStreamDescriptor **descriptor) { return This->lpVtbl->GetStreamDescriptor(This,descriptor); } static inline HRESULT IMFMediaStream_RequestSample(IMFMediaStream* This,IUnknown *token) { return This->lpVtbl->RequestSample(This,token); } #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 *token); HRESULT __RPC_STUB IMFMediaStream_RequestSample_Stub( IMFMediaStream* This); #endif /* __IMFMediaStream_INTERFACE_DEFINED__ */ #ifndef __IMFStreamSink_FWD_DEFINED__ #define __IMFStreamSink_FWD_DEFINED__ typedef interface IMFStreamSink IMFStreamSink; #ifdef __cplusplus interface IMFStreamSink; #endif /* __cplusplus */ #endif /***************************************************************************** * 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 **clock) = 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 *characteristics); HRESULT (STDMETHODCALLTYPE *GetCorrelatedTime)( IMFPresentationTimeSource *This, DWORD reserved, LONGLONG *clock_time, MFTIME *system_time); HRESULT (STDMETHODCALLTYPE *GetContinuityKey)( IMFPresentationTimeSource *This, DWORD *key); HRESULT (STDMETHODCALLTYPE *GetState)( IMFPresentationTimeSource *This, DWORD reserved, MFCLOCK_STATE *state); HRESULT (STDMETHODCALLTYPE *GetProperties)( IMFPresentationTimeSource *This, MFCLOCK_PROPERTIES *props); /*** IMFPresentationTimeSource methods ***/ HRESULT (STDMETHODCALLTYPE *GetUnderlyingClock)( IMFPresentationTimeSource *This, IMFClock **clock); 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,characteristics) (This)->lpVtbl->GetClockCharacteristics(This,characteristics) #define IMFPresentationTimeSource_GetCorrelatedTime(This,reserved,clock_time,system_time) (This)->lpVtbl->GetCorrelatedTime(This,reserved,clock_time,system_time) #define IMFPresentationTimeSource_GetContinuityKey(This,key) (This)->lpVtbl->GetContinuityKey(This,key) #define IMFPresentationTimeSource_GetState(This,reserved,state) (This)->lpVtbl->GetState(This,reserved,state) #define IMFPresentationTimeSource_GetProperties(This,props) (This)->lpVtbl->GetProperties(This,props) /*** IMFPresentationTimeSource methods ***/ #define IMFPresentationTimeSource_GetUnderlyingClock(This,clock) (This)->lpVtbl->GetUnderlyingClock(This,clock) #else /*** IUnknown methods ***/ static inline HRESULT IMFPresentationTimeSource_QueryInterface(IMFPresentationTimeSource* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFPresentationTimeSource_AddRef(IMFPresentationTimeSource* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFPresentationTimeSource_Release(IMFPresentationTimeSource* This) { return This->lpVtbl->Release(This); } /*** IMFClock methods ***/ static inline HRESULT IMFPresentationTimeSource_GetClockCharacteristics(IMFPresentationTimeSource* This,DWORD *characteristics) { return This->lpVtbl->GetClockCharacteristics(This,characteristics); } static inline HRESULT IMFPresentationTimeSource_GetCorrelatedTime(IMFPresentationTimeSource* This,DWORD reserved,LONGLONG *clock_time,MFTIME *system_time) { return This->lpVtbl->GetCorrelatedTime(This,reserved,clock_time,system_time); } static inline HRESULT IMFPresentationTimeSource_GetContinuityKey(IMFPresentationTimeSource* This,DWORD *key) { return This->lpVtbl->GetContinuityKey(This,key); } static inline HRESULT IMFPresentationTimeSource_GetState(IMFPresentationTimeSource* This,DWORD reserved,MFCLOCK_STATE *state) { return This->lpVtbl->GetState(This,reserved,state); } static inline HRESULT IMFPresentationTimeSource_GetProperties(IMFPresentationTimeSource* This,MFCLOCK_PROPERTIES *props) { return This->lpVtbl->GetProperties(This,props); } /*** IMFPresentationTimeSource methods ***/ static inline HRESULT IMFPresentationTimeSource_GetUnderlyingClock(IMFPresentationTimeSource* This,IMFClock **clock) { return This->lpVtbl->GetUnderlyingClock(This,clock); } #endif #endif #endif #endif /* __IMFPresentationTimeSource_INTERFACE_DEFINED__ */ #define PRESENTATION_CURRENT_POSITION 0x7fffffffffffffff /***************************************************************************** * 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 *time_source) = 0; virtual HRESULT STDMETHODCALLTYPE GetTimeSource( IMFPresentationTimeSource **time_source) = 0; virtual HRESULT STDMETHODCALLTYPE GetTime( MFTIME *time) = 0; virtual HRESULT STDMETHODCALLTYPE AddClockStateSink( IMFClockStateSink *state_sink) = 0; virtual HRESULT STDMETHODCALLTYPE RemoveClockStateSink( IMFClockStateSink *state_sink) = 0; virtual HRESULT STDMETHODCALLTYPE Start( LONGLONG start_offset) = 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 *characteristics); HRESULT (STDMETHODCALLTYPE *GetCorrelatedTime)( IMFPresentationClock *This, DWORD reserved, LONGLONG *clock_time, MFTIME *system_time); HRESULT (STDMETHODCALLTYPE *GetContinuityKey)( IMFPresentationClock *This, DWORD *key); HRESULT (STDMETHODCALLTYPE *GetState)( IMFPresentationClock *This, DWORD reserved, MFCLOCK_STATE *state); HRESULT (STDMETHODCALLTYPE *GetProperties)( IMFPresentationClock *This, MFCLOCK_PROPERTIES *props); /*** IMFPresentationClock methods ***/ HRESULT (STDMETHODCALLTYPE *SetTimeSource)( IMFPresentationClock *This, IMFPresentationTimeSource *time_source); HRESULT (STDMETHODCALLTYPE *GetTimeSource)( IMFPresentationClock *This, IMFPresentationTimeSource **time_source); HRESULT (STDMETHODCALLTYPE *GetTime)( IMFPresentationClock *This, MFTIME *time); HRESULT (STDMETHODCALLTYPE *AddClockStateSink)( IMFPresentationClock *This, IMFClockStateSink *state_sink); HRESULT (STDMETHODCALLTYPE *RemoveClockStateSink)( IMFPresentationClock *This, IMFClockStateSink *state_sink); HRESULT (STDMETHODCALLTYPE *Start)( IMFPresentationClock *This, LONGLONG start_offset); 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,characteristics) (This)->lpVtbl->GetClockCharacteristics(This,characteristics) #define IMFPresentationClock_GetCorrelatedTime(This,reserved,clock_time,system_time) (This)->lpVtbl->GetCorrelatedTime(This,reserved,clock_time,system_time) #define IMFPresentationClock_GetContinuityKey(This,key) (This)->lpVtbl->GetContinuityKey(This,key) #define IMFPresentationClock_GetState(This,reserved,state) (This)->lpVtbl->GetState(This,reserved,state) #define IMFPresentationClock_GetProperties(This,props) (This)->lpVtbl->GetProperties(This,props) /*** IMFPresentationClock methods ***/ #define IMFPresentationClock_SetTimeSource(This,time_source) (This)->lpVtbl->SetTimeSource(This,time_source) #define IMFPresentationClock_GetTimeSource(This,time_source) (This)->lpVtbl->GetTimeSource(This,time_source) #define IMFPresentationClock_GetTime(This,time) (This)->lpVtbl->GetTime(This,time) #define IMFPresentationClock_AddClockStateSink(This,state_sink) (This)->lpVtbl->AddClockStateSink(This,state_sink) #define IMFPresentationClock_RemoveClockStateSink(This,state_sink) (This)->lpVtbl->RemoveClockStateSink(This,state_sink) #define IMFPresentationClock_Start(This,start_offset) (This)->lpVtbl->Start(This,start_offset) #define IMFPresentationClock_Stop(This) (This)->lpVtbl->Stop(This) #define IMFPresentationClock_Pause(This) (This)->lpVtbl->Pause(This) #else /*** IUnknown methods ***/ static inline HRESULT IMFPresentationClock_QueryInterface(IMFPresentationClock* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFPresentationClock_AddRef(IMFPresentationClock* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFPresentationClock_Release(IMFPresentationClock* This) { return This->lpVtbl->Release(This); } /*** IMFClock methods ***/ static inline HRESULT IMFPresentationClock_GetClockCharacteristics(IMFPresentationClock* This,DWORD *characteristics) { return This->lpVtbl->GetClockCharacteristics(This,characteristics); } static inline HRESULT IMFPresentationClock_GetCorrelatedTime(IMFPresentationClock* This,DWORD reserved,LONGLONG *clock_time,MFTIME *system_time) { return This->lpVtbl->GetCorrelatedTime(This,reserved,clock_time,system_time); } static inline HRESULT IMFPresentationClock_GetContinuityKey(IMFPresentationClock* This,DWORD *key) { return This->lpVtbl->GetContinuityKey(This,key); } static inline HRESULT IMFPresentationClock_GetState(IMFPresentationClock* This,DWORD reserved,MFCLOCK_STATE *state) { return This->lpVtbl->GetState(This,reserved,state); } static inline HRESULT IMFPresentationClock_GetProperties(IMFPresentationClock* This,MFCLOCK_PROPERTIES *props) { return This->lpVtbl->GetProperties(This,props); } /*** IMFPresentationClock methods ***/ static inline HRESULT IMFPresentationClock_SetTimeSource(IMFPresentationClock* This,IMFPresentationTimeSource *time_source) { return This->lpVtbl->SetTimeSource(This,time_source); } static inline HRESULT IMFPresentationClock_GetTimeSource(IMFPresentationClock* This,IMFPresentationTimeSource **time_source) { return This->lpVtbl->GetTimeSource(This,time_source); } static inline HRESULT IMFPresentationClock_GetTime(IMFPresentationClock* This,MFTIME *time) { return This->lpVtbl->GetTime(This,time); } static inline HRESULT IMFPresentationClock_AddClockStateSink(IMFPresentationClock* This,IMFClockStateSink *state_sink) { return This->lpVtbl->AddClockStateSink(This,state_sink); } static inline HRESULT IMFPresentationClock_RemoveClockStateSink(IMFPresentationClock* This,IMFClockStateSink *state_sink) { return This->lpVtbl->RemoveClockStateSink(This,state_sink); } static inline HRESULT IMFPresentationClock_Start(IMFPresentationClock* This,LONGLONG start_offset) { return This->lpVtbl->Start(This,start_offset); } static inline HRESULT IMFPresentationClock_Stop(IMFPresentationClock* This) { return This->lpVtbl->Stop(This); } static inline HRESULT IMFPresentationClock_Pause(IMFPresentationClock* This) { return This->lpVtbl->Pause(This); } #endif #endif #endif #endif /* __IMFPresentationClock_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFClockConsumer interface */ #ifndef __IMFClockConsumer_INTERFACE_DEFINED__ #define __IMFClockConsumer_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFClockConsumer, 0x6ef2a662, 0x47c0, 0x4666, 0xb1,0x3d, 0xcb,0xb7,0x17,0xf2,0xfa,0x2c); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("6ef2a662-47c0-4666-b13d-cbb717f2fa2c") IMFClockConsumer : public IUnknown { virtual HRESULT STDMETHODCALLTYPE SetPresentationClock( IMFPresentationClock *clock) = 0; virtual HRESULT STDMETHODCALLTYPE GetPresentationClock( IMFPresentationClock **clock) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFClockConsumer, 0x6ef2a662, 0x47c0, 0x4666, 0xb1,0x3d, 0xcb,0xb7,0x17,0xf2,0xfa,0x2c) #endif #else typedef struct IMFClockConsumerVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFClockConsumer *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFClockConsumer *This); ULONG (STDMETHODCALLTYPE *Release)( IMFClockConsumer *This); /*** IMFClockConsumer methods ***/ HRESULT (STDMETHODCALLTYPE *SetPresentationClock)( IMFClockConsumer *This, IMFPresentationClock *clock); HRESULT (STDMETHODCALLTYPE *GetPresentationClock)( IMFClockConsumer *This, IMFPresentationClock **clock); END_INTERFACE } IMFClockConsumerVtbl; interface IMFClockConsumer { CONST_VTBL IMFClockConsumerVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFClockConsumer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFClockConsumer_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFClockConsumer_Release(This) (This)->lpVtbl->Release(This) /*** IMFClockConsumer methods ***/ #define IMFClockConsumer_SetPresentationClock(This,clock) (This)->lpVtbl->SetPresentationClock(This,clock) #define IMFClockConsumer_GetPresentationClock(This,clock) (This)->lpVtbl->GetPresentationClock(This,clock) #else /*** IUnknown methods ***/ static inline HRESULT IMFClockConsumer_QueryInterface(IMFClockConsumer* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFClockConsumer_AddRef(IMFClockConsumer* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFClockConsumer_Release(IMFClockConsumer* This) { return This->lpVtbl->Release(This); } /*** IMFClockConsumer methods ***/ static inline HRESULT IMFClockConsumer_SetPresentationClock(IMFClockConsumer* This,IMFPresentationClock *clock) { return This->lpVtbl->SetPresentationClock(This,clock); } static inline HRESULT IMFClockConsumer_GetPresentationClock(IMFClockConsumer* This,IMFPresentationClock **clock) { return This->lpVtbl->GetPresentationClock(This,clock); } #endif #endif #endif #endif /* __IMFClockConsumer_INTERFACE_DEFINED__ */ #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 /***************************************************************************** * 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 *characteristics) = 0; virtual HRESULT STDMETHODCALLTYPE AddStreamSink( DWORD stream_sink_id, IMFMediaType *media_type, IMFStreamSink **stream_sink) = 0; virtual HRESULT STDMETHODCALLTYPE RemoveStreamSink( DWORD stream_sink_id) = 0; virtual HRESULT STDMETHODCALLTYPE GetStreamSinkCount( DWORD *count) = 0; virtual HRESULT STDMETHODCALLTYPE GetStreamSinkByIndex( DWORD index, IMFStreamSink **sink) = 0; virtual HRESULT STDMETHODCALLTYPE GetStreamSinkById( DWORD stream_sink_id, IMFStreamSink **sink) = 0; virtual HRESULT STDMETHODCALLTYPE SetPresentationClock( IMFPresentationClock *clock) = 0; virtual HRESULT STDMETHODCALLTYPE GetPresentationClock( IMFPresentationClock **clock) = 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 *characteristics); HRESULT (STDMETHODCALLTYPE *AddStreamSink)( IMFMediaSink *This, DWORD stream_sink_id, IMFMediaType *media_type, IMFStreamSink **stream_sink); HRESULT (STDMETHODCALLTYPE *RemoveStreamSink)( IMFMediaSink *This, DWORD stream_sink_id); HRESULT (STDMETHODCALLTYPE *GetStreamSinkCount)( IMFMediaSink *This, DWORD *count); HRESULT (STDMETHODCALLTYPE *GetStreamSinkByIndex)( IMFMediaSink *This, DWORD index, IMFStreamSink **sink); HRESULT (STDMETHODCALLTYPE *GetStreamSinkById)( IMFMediaSink *This, DWORD stream_sink_id, IMFStreamSink **sink); HRESULT (STDMETHODCALLTYPE *SetPresentationClock)( IMFMediaSink *This, IMFPresentationClock *clock); HRESULT (STDMETHODCALLTYPE *GetPresentationClock)( IMFMediaSink *This, IMFPresentationClock **clock); 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,characteristics) (This)->lpVtbl->GetCharacteristics(This,characteristics) #define IMFMediaSink_AddStreamSink(This,stream_sink_id,media_type,stream_sink) (This)->lpVtbl->AddStreamSink(This,stream_sink_id,media_type,stream_sink) #define IMFMediaSink_RemoveStreamSink(This,stream_sink_id) (This)->lpVtbl->RemoveStreamSink(This,stream_sink_id) #define IMFMediaSink_GetStreamSinkCount(This,count) (This)->lpVtbl->GetStreamSinkCount(This,count) #define IMFMediaSink_GetStreamSinkByIndex(This,index,sink) (This)->lpVtbl->GetStreamSinkByIndex(This,index,sink) #define IMFMediaSink_GetStreamSinkById(This,stream_sink_id,sink) (This)->lpVtbl->GetStreamSinkById(This,stream_sink_id,sink) #define IMFMediaSink_SetPresentationClock(This,clock) (This)->lpVtbl->SetPresentationClock(This,clock) #define IMFMediaSink_GetPresentationClock(This,clock) (This)->lpVtbl->GetPresentationClock(This,clock) #define IMFMediaSink_Shutdown(This) (This)->lpVtbl->Shutdown(This) #else /*** IUnknown methods ***/ static inline HRESULT IMFMediaSink_QueryInterface(IMFMediaSink* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFMediaSink_AddRef(IMFMediaSink* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFMediaSink_Release(IMFMediaSink* This) { return This->lpVtbl->Release(This); } /*** IMFMediaSink methods ***/ static inline HRESULT IMFMediaSink_GetCharacteristics(IMFMediaSink* This,DWORD *characteristics) { return This->lpVtbl->GetCharacteristics(This,characteristics); } static inline HRESULT IMFMediaSink_AddStreamSink(IMFMediaSink* This,DWORD stream_sink_id,IMFMediaType *media_type,IMFStreamSink **stream_sink) { return This->lpVtbl->AddStreamSink(This,stream_sink_id,media_type,stream_sink); } static inline HRESULT IMFMediaSink_RemoveStreamSink(IMFMediaSink* This,DWORD stream_sink_id) { return This->lpVtbl->RemoveStreamSink(This,stream_sink_id); } static inline HRESULT IMFMediaSink_GetStreamSinkCount(IMFMediaSink* This,DWORD *count) { return This->lpVtbl->GetStreamSinkCount(This,count); } static inline HRESULT IMFMediaSink_GetStreamSinkByIndex(IMFMediaSink* This,DWORD index,IMFStreamSink **sink) { return This->lpVtbl->GetStreamSinkByIndex(This,index,sink); } static inline HRESULT IMFMediaSink_GetStreamSinkById(IMFMediaSink* This,DWORD stream_sink_id,IMFStreamSink **sink) { return This->lpVtbl->GetStreamSinkById(This,stream_sink_id,sink); } static inline HRESULT IMFMediaSink_SetPresentationClock(IMFMediaSink* This,IMFPresentationClock *clock) { return This->lpVtbl->SetPresentationClock(This,clock); } static inline HRESULT IMFMediaSink_GetPresentationClock(IMFMediaSink* This,IMFPresentationClock **clock) { return This->lpVtbl->GetPresentationClock(This,clock); } static inline 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 *callback, IUnknown *state) = 0; virtual HRESULT STDMETHODCALLTYPE EndFinalize( IMFAsyncResult *result) = 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 *characteristics); HRESULT (STDMETHODCALLTYPE *AddStreamSink)( IMFFinalizableMediaSink *This, DWORD stream_sink_id, IMFMediaType *media_type, IMFStreamSink **stream_sink); HRESULT (STDMETHODCALLTYPE *RemoveStreamSink)( IMFFinalizableMediaSink *This, DWORD stream_sink_id); HRESULT (STDMETHODCALLTYPE *GetStreamSinkCount)( IMFFinalizableMediaSink *This, DWORD *count); HRESULT (STDMETHODCALLTYPE *GetStreamSinkByIndex)( IMFFinalizableMediaSink *This, DWORD index, IMFStreamSink **sink); HRESULT (STDMETHODCALLTYPE *GetStreamSinkById)( IMFFinalizableMediaSink *This, DWORD stream_sink_id, IMFStreamSink **sink); HRESULT (STDMETHODCALLTYPE *SetPresentationClock)( IMFFinalizableMediaSink *This, IMFPresentationClock *clock); HRESULT (STDMETHODCALLTYPE *GetPresentationClock)( IMFFinalizableMediaSink *This, IMFPresentationClock **clock); HRESULT (STDMETHODCALLTYPE *Shutdown)( IMFFinalizableMediaSink *This); /*** IMFFinalizableMediaSink methods ***/ HRESULT (STDMETHODCALLTYPE *BeginFinalize)( IMFFinalizableMediaSink *This, IMFAsyncCallback *callback, IUnknown *state); HRESULT (STDMETHODCALLTYPE *EndFinalize)( IMFFinalizableMediaSink *This, IMFAsyncResult *result); 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,characteristics) (This)->lpVtbl->GetCharacteristics(This,characteristics) #define IMFFinalizableMediaSink_AddStreamSink(This,stream_sink_id,media_type,stream_sink) (This)->lpVtbl->AddStreamSink(This,stream_sink_id,media_type,stream_sink) #define IMFFinalizableMediaSink_RemoveStreamSink(This,stream_sink_id) (This)->lpVtbl->RemoveStreamSink(This,stream_sink_id) #define IMFFinalizableMediaSink_GetStreamSinkCount(This,count) (This)->lpVtbl->GetStreamSinkCount(This,count) #define IMFFinalizableMediaSink_GetStreamSinkByIndex(This,index,sink) (This)->lpVtbl->GetStreamSinkByIndex(This,index,sink) #define IMFFinalizableMediaSink_GetStreamSinkById(This,stream_sink_id,sink) (This)->lpVtbl->GetStreamSinkById(This,stream_sink_id,sink) #define IMFFinalizableMediaSink_SetPresentationClock(This,clock) (This)->lpVtbl->SetPresentationClock(This,clock) #define IMFFinalizableMediaSink_GetPresentationClock(This,clock) (This)->lpVtbl->GetPresentationClock(This,clock) #define IMFFinalizableMediaSink_Shutdown(This) (This)->lpVtbl->Shutdown(This) /*** IMFFinalizableMediaSink methods ***/ #define IMFFinalizableMediaSink_BeginFinalize(This,callback,state) (This)->lpVtbl->BeginFinalize(This,callback,state) #define IMFFinalizableMediaSink_EndFinalize(This,result) (This)->lpVtbl->EndFinalize(This,result) #else /*** IUnknown methods ***/ static inline HRESULT IMFFinalizableMediaSink_QueryInterface(IMFFinalizableMediaSink* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFFinalizableMediaSink_AddRef(IMFFinalizableMediaSink* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFFinalizableMediaSink_Release(IMFFinalizableMediaSink* This) { return This->lpVtbl->Release(This); } /*** IMFMediaSink methods ***/ static inline HRESULT IMFFinalizableMediaSink_GetCharacteristics(IMFFinalizableMediaSink* This,DWORD *characteristics) { return This->lpVtbl->GetCharacteristics(This,characteristics); } static inline HRESULT IMFFinalizableMediaSink_AddStreamSink(IMFFinalizableMediaSink* This,DWORD stream_sink_id,IMFMediaType *media_type,IMFStreamSink **stream_sink) { return This->lpVtbl->AddStreamSink(This,stream_sink_id,media_type,stream_sink); } static inline HRESULT IMFFinalizableMediaSink_RemoveStreamSink(IMFFinalizableMediaSink* This,DWORD stream_sink_id) { return This->lpVtbl->RemoveStreamSink(This,stream_sink_id); } static inline HRESULT IMFFinalizableMediaSink_GetStreamSinkCount(IMFFinalizableMediaSink* This,DWORD *count) { return This->lpVtbl->GetStreamSinkCount(This,count); } static inline HRESULT IMFFinalizableMediaSink_GetStreamSinkByIndex(IMFFinalizableMediaSink* This,DWORD index,IMFStreamSink **sink) { return This->lpVtbl->GetStreamSinkByIndex(This,index,sink); } static inline HRESULT IMFFinalizableMediaSink_GetStreamSinkById(IMFFinalizableMediaSink* This,DWORD stream_sink_id,IMFStreamSink **sink) { return This->lpVtbl->GetStreamSinkById(This,stream_sink_id,sink); } static inline HRESULT IMFFinalizableMediaSink_SetPresentationClock(IMFFinalizableMediaSink* This,IMFPresentationClock *clock) { return This->lpVtbl->SetPresentationClock(This,clock); } static inline HRESULT IMFFinalizableMediaSink_GetPresentationClock(IMFFinalizableMediaSink* This,IMFPresentationClock **clock) { return This->lpVtbl->GetPresentationClock(This,clock); } static inline HRESULT IMFFinalizableMediaSink_Shutdown(IMFFinalizableMediaSink* This) { return This->lpVtbl->Shutdown(This); } /*** IMFFinalizableMediaSink methods ***/ static inline HRESULT IMFFinalizableMediaSink_BeginFinalize(IMFFinalizableMediaSink* This,IMFAsyncCallback *callback,IUnknown *state) { return This->lpVtbl->BeginFinalize(This,callback,state); } static inline HRESULT IMFFinalizableMediaSink_EndFinalize(IMFFinalizableMediaSink* This,IMFAsyncResult *result) { return This->lpVtbl->EndFinalize(This,result); } #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 start_time) = 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 start_time); 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,start_time) (This)->lpVtbl->NotifyPreroll(This,start_time) #else /*** IUnknown methods ***/ static inline HRESULT IMFMediaSinkPreroll_QueryInterface(IMFMediaSinkPreroll* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFMediaSinkPreroll_AddRef(IMFMediaSinkPreroll* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFMediaSinkPreroll_Release(IMFMediaSinkPreroll* This) { return This->lpVtbl->Release(This); } /*** IMFMediaSinkPreroll methods ***/ static inline HRESULT IMFMediaSinkPreroll_NotifyPreroll(IMFMediaSinkPreroll* This,MFTIME start_time) { return This->lpVtbl->NotifyPreroll(This,start_time); } #endif #endif #endif #endif /* __IMFMediaSinkPreroll_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFStreamingSinkConfig interface */ #ifndef __IMFStreamingSinkConfig_INTERFACE_DEFINED__ #define __IMFStreamingSinkConfig_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFStreamingSinkConfig, 0x9db7aa41, 0x3cc5, 0x40d4, 0x85,0x09, 0x55,0x58,0x04,0xad,0x34,0xcc); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("9db7aa41-3cc5-40d4-8509-555804ad34cc") IMFStreamingSinkConfig : public IUnknown { virtual HRESULT STDMETHODCALLTYPE StartStreaming( BOOL is_byte_offset, QWORD seek_offset) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFStreamingSinkConfig, 0x9db7aa41, 0x3cc5, 0x40d4, 0x85,0x09, 0x55,0x58,0x04,0xad,0x34,0xcc) #endif #else typedef struct IMFStreamingSinkConfigVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFStreamingSinkConfig *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFStreamingSinkConfig *This); ULONG (STDMETHODCALLTYPE *Release)( IMFStreamingSinkConfig *This); /*** IMFStreamingSinkConfig methods ***/ HRESULT (STDMETHODCALLTYPE *StartStreaming)( IMFStreamingSinkConfig *This, BOOL is_byte_offset, QWORD seek_offset); END_INTERFACE } IMFStreamingSinkConfigVtbl; interface IMFStreamingSinkConfig { CONST_VTBL IMFStreamingSinkConfigVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFStreamingSinkConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFStreamingSinkConfig_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFStreamingSinkConfig_Release(This) (This)->lpVtbl->Release(This) /*** IMFStreamingSinkConfig methods ***/ #define IMFStreamingSinkConfig_StartStreaming(This,is_byte_offset,seek_offset) (This)->lpVtbl->StartStreaming(This,is_byte_offset,seek_offset) #else /*** IUnknown methods ***/ static inline HRESULT IMFStreamingSinkConfig_QueryInterface(IMFStreamingSinkConfig* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFStreamingSinkConfig_AddRef(IMFStreamingSinkConfig* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFStreamingSinkConfig_Release(IMFStreamingSinkConfig* This) { return This->lpVtbl->Release(This); } /*** IMFStreamingSinkConfig methods ***/ static inline HRESULT IMFStreamingSinkConfig_StartStreaming(IMFStreamingSinkConfig* This,BOOL is_byte_offset,QWORD seek_offset) { return This->lpVtbl->StartStreaming(This,is_byte_offset,seek_offset); } #endif #endif #endif #endif /* __IMFStreamingSinkConfig_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 **sink) = 0; virtual HRESULT STDMETHODCALLTYPE GetIdentifier( DWORD *identifier) = 0; virtual HRESULT STDMETHODCALLTYPE GetMediaTypeHandler( IMFMediaTypeHandler **handler) = 0; virtual HRESULT STDMETHODCALLTYPE ProcessSample( IMFSample *sample) = 0; virtual HRESULT STDMETHODCALLTYPE PlaceMarker( MFSTREAMSINK_MARKER_TYPE marker_type, const PROPVARIANT *marker_value, const PROPVARIANT *context_value) = 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 **sink); HRESULT (STDMETHODCALLTYPE *GetIdentifier)( IMFStreamSink *This, DWORD *identifier); HRESULT (STDMETHODCALLTYPE *GetMediaTypeHandler)( IMFStreamSink *This, IMFMediaTypeHandler **handler); HRESULT (STDMETHODCALLTYPE *ProcessSample)( IMFStreamSink *This, IMFSample *sample); HRESULT (STDMETHODCALLTYPE *PlaceMarker)( IMFStreamSink *This, MFSTREAMSINK_MARKER_TYPE marker_type, const PROPVARIANT *marker_value, const PROPVARIANT *context_value); 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,sink) (This)->lpVtbl->GetMediaSink(This,sink) #define IMFStreamSink_GetIdentifier(This,identifier) (This)->lpVtbl->GetIdentifier(This,identifier) #define IMFStreamSink_GetMediaTypeHandler(This,handler) (This)->lpVtbl->GetMediaTypeHandler(This,handler) #define IMFStreamSink_ProcessSample(This,sample) (This)->lpVtbl->ProcessSample(This,sample) #define IMFStreamSink_PlaceMarker(This,marker_type,marker_value,context_value) (This)->lpVtbl->PlaceMarker(This,marker_type,marker_value,context_value) #define IMFStreamSink_Flush(This) (This)->lpVtbl->Flush(This) #else /*** IUnknown methods ***/ static inline HRESULT IMFStreamSink_QueryInterface(IMFStreamSink* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFStreamSink_AddRef(IMFStreamSink* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFStreamSink_Release(IMFStreamSink* This) { return This->lpVtbl->Release(This); } /*** IMFMediaEventGenerator methods ***/ static inline HRESULT IMFStreamSink_GetEvent(IMFStreamSink* This,DWORD dwFlags,IMFMediaEvent **ppEvent) { return This->lpVtbl->GetEvent(This,dwFlags,ppEvent); } static inline HRESULT IMFStreamSink_BeginGetEvent(IMFStreamSink* This,IMFAsyncCallback *pCallback,IUnknown *punkState) { return This->lpVtbl->BeginGetEvent(This,pCallback,punkState); } static inline HRESULT IMFStreamSink_EndGetEvent(IMFStreamSink* This,IMFAsyncResult *pResult,IMFMediaEvent **ppEvent) { return This->lpVtbl->EndGetEvent(This,pResult,ppEvent); } static inline 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 inline HRESULT IMFStreamSink_GetMediaSink(IMFStreamSink* This,IMFMediaSink **sink) { return This->lpVtbl->GetMediaSink(This,sink); } static inline HRESULT IMFStreamSink_GetIdentifier(IMFStreamSink* This,DWORD *identifier) { return This->lpVtbl->GetIdentifier(This,identifier); } static inline HRESULT IMFStreamSink_GetMediaTypeHandler(IMFStreamSink* This,IMFMediaTypeHandler **handler) { return This->lpVtbl->GetMediaTypeHandler(This,handler); } static inline HRESULT IMFStreamSink_ProcessSample(IMFStreamSink* This,IMFSample *sample) { return This->lpVtbl->ProcessSample(This,sample); } static inline HRESULT IMFStreamSink_PlaceMarker(IMFStreamSink* This,MFSTREAMSINK_MARKER_TYPE marker_type,const PROPVARIANT *marker_value,const PROPVARIANT *context_value) { return This->lpVtbl->PlaceMarker(This,marker_type,marker_value,context_value); } static inline HRESULT IMFStreamSink_Flush(IMFStreamSink* This) { return This->lpVtbl->Flush(This); } #endif #endif #endif #endif /* __IMFStreamSink_INTERFACE_DEFINED__ */ typedef enum _MFSHUTDOWN_STATUS { MFSHUTDOWN_INITIATED = 0, MFSHUTDOWN_COMPLETED = 1 } MFSHUTDOWN_STATUS; /***************************************************************************** * IMFShutdown interface */ #ifndef __IMFShutdown_INTERFACE_DEFINED__ #define __IMFShutdown_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFShutdown, 0x97ec2ea4, 0x0e42, 0x4937, 0x97,0xac, 0x9d,0x6d,0x32,0x88,0x24,0xe1); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("97ec2ea4-0e42-4937-97ac-9d6d328824e1") IMFShutdown : public IUnknown { virtual HRESULT STDMETHODCALLTYPE Shutdown( ) = 0; virtual HRESULT STDMETHODCALLTYPE GetShutdownStatus( MFSHUTDOWN_STATUS *status) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFShutdown, 0x97ec2ea4, 0x0e42, 0x4937, 0x97,0xac, 0x9d,0x6d,0x32,0x88,0x24,0xe1) #endif #else typedef struct IMFShutdownVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFShutdown *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFShutdown *This); ULONG (STDMETHODCALLTYPE *Release)( IMFShutdown *This); /*** IMFShutdown methods ***/ HRESULT (STDMETHODCALLTYPE *Shutdown)( IMFShutdown *This); HRESULT (STDMETHODCALLTYPE *GetShutdownStatus)( IMFShutdown *This, MFSHUTDOWN_STATUS *status); END_INTERFACE } IMFShutdownVtbl; interface IMFShutdown { CONST_VTBL IMFShutdownVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFShutdown_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFShutdown_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFShutdown_Release(This) (This)->lpVtbl->Release(This) /*** IMFShutdown methods ***/ #define IMFShutdown_Shutdown(This) (This)->lpVtbl->Shutdown(This) #define IMFShutdown_GetShutdownStatus(This,status) (This)->lpVtbl->GetShutdownStatus(This,status) #else /*** IUnknown methods ***/ static inline HRESULT IMFShutdown_QueryInterface(IMFShutdown* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFShutdown_AddRef(IMFShutdown* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFShutdown_Release(IMFShutdown* This) { return This->lpVtbl->Release(This); } /*** IMFShutdown methods ***/ static inline HRESULT IMFShutdown_Shutdown(IMFShutdown* This) { return This->lpVtbl->Shutdown(This); } static inline HRESULT IMFShutdown_GetShutdownStatus(IMFShutdown* This,MFSHUTDOWN_STATUS *status) { return This->lpVtbl->GetShutdownStatus(This,status); } #endif #endif #endif #endif /* __IMFShutdown_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFQualityManager interface */ #ifndef __IMFQualityManager_INTERFACE_DEFINED__ #define __IMFQualityManager_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFQualityManager, 0x8d009d86, 0x5b9f, 0x4115, 0xb1,0xfc, 0x9f,0x80,0xd5,0x2a,0xb8,0xab); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("8d009d86-5b9f-4115-b1fc-9f80d52ab8ab") IMFQualityManager : public IUnknown { virtual HRESULT STDMETHODCALLTYPE NotifyTopology( IMFTopology *topology) = 0; virtual HRESULT STDMETHODCALLTYPE NotifyPresentationClock( IMFPresentationClock *clock) = 0; virtual HRESULT STDMETHODCALLTYPE NotifyProcessInput( IMFTopologyNode *node, LONG input_index, IMFSample *sample) = 0; virtual HRESULT STDMETHODCALLTYPE NotifyProcessOutput( IMFTopologyNode *node, LONG output_index, IMFSample *sample) = 0; virtual HRESULT STDMETHODCALLTYPE NotifyQualityEvent( IUnknown *object, IMFMediaEvent *event) = 0; virtual HRESULT STDMETHODCALLTYPE Shutdown( ) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFQualityManager, 0x8d009d86, 0x5b9f, 0x4115, 0xb1,0xfc, 0x9f,0x80,0xd5,0x2a,0xb8,0xab) #endif #else typedef struct IMFQualityManagerVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFQualityManager *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFQualityManager *This); ULONG (STDMETHODCALLTYPE *Release)( IMFQualityManager *This); /*** IMFQualityManager methods ***/ HRESULT (STDMETHODCALLTYPE *NotifyTopology)( IMFQualityManager *This, IMFTopology *topology); HRESULT (STDMETHODCALLTYPE *NotifyPresentationClock)( IMFQualityManager *This, IMFPresentationClock *clock); HRESULT (STDMETHODCALLTYPE *NotifyProcessInput)( IMFQualityManager *This, IMFTopologyNode *node, LONG input_index, IMFSample *sample); HRESULT (STDMETHODCALLTYPE *NotifyProcessOutput)( IMFQualityManager *This, IMFTopologyNode *node, LONG output_index, IMFSample *sample); HRESULT (STDMETHODCALLTYPE *NotifyQualityEvent)( IMFQualityManager *This, IUnknown *object, IMFMediaEvent *event); HRESULT (STDMETHODCALLTYPE *Shutdown)( IMFQualityManager *This); END_INTERFACE } IMFQualityManagerVtbl; interface IMFQualityManager { CONST_VTBL IMFQualityManagerVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFQualityManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFQualityManager_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFQualityManager_Release(This) (This)->lpVtbl->Release(This) /*** IMFQualityManager methods ***/ #define IMFQualityManager_NotifyTopology(This,topology) (This)->lpVtbl->NotifyTopology(This,topology) #define IMFQualityManager_NotifyPresentationClock(This,clock) (This)->lpVtbl->NotifyPresentationClock(This,clock) #define IMFQualityManager_NotifyProcessInput(This,node,input_index,sample) (This)->lpVtbl->NotifyProcessInput(This,node,input_index,sample) #define IMFQualityManager_NotifyProcessOutput(This,node,output_index,sample) (This)->lpVtbl->NotifyProcessOutput(This,node,output_index,sample) #define IMFQualityManager_NotifyQualityEvent(This,object,event) (This)->lpVtbl->NotifyQualityEvent(This,object,event) #define IMFQualityManager_Shutdown(This) (This)->lpVtbl->Shutdown(This) #else /*** IUnknown methods ***/ static inline HRESULT IMFQualityManager_QueryInterface(IMFQualityManager* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFQualityManager_AddRef(IMFQualityManager* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFQualityManager_Release(IMFQualityManager* This) { return This->lpVtbl->Release(This); } /*** IMFQualityManager methods ***/ static inline HRESULT IMFQualityManager_NotifyTopology(IMFQualityManager* This,IMFTopology *topology) { return This->lpVtbl->NotifyTopology(This,topology); } static inline HRESULT IMFQualityManager_NotifyPresentationClock(IMFQualityManager* This,IMFPresentationClock *clock) { return This->lpVtbl->NotifyPresentationClock(This,clock); } static inline HRESULT IMFQualityManager_NotifyProcessInput(IMFQualityManager* This,IMFTopologyNode *node,LONG input_index,IMFSample *sample) { return This->lpVtbl->NotifyProcessInput(This,node,input_index,sample); } static inline HRESULT IMFQualityManager_NotifyProcessOutput(IMFQualityManager* This,IMFTopologyNode *node,LONG output_index,IMFSample *sample) { return This->lpVtbl->NotifyProcessOutput(This,node,output_index,sample); } static inline HRESULT IMFQualityManager_NotifyQualityEvent(IMFQualityManager* This,IUnknown *object,IMFMediaEvent *event) { return This->lpVtbl->NotifyQualityEvent(This,object,event); } static inline HRESULT IMFQualityManager_Shutdown(IMFQualityManager* This) { return This->lpVtbl->Shutdown(This); } #endif #endif #endif #endif /* __IMFQualityManager_INTERFACE_DEFINED__ */ typedef enum _MF_QUALITY_DROP_MODE { MF_DROP_MODE_NONE = 0, MF_DROP_MODE_1 = 1, MF_DROP_MODE_2 = 2, MF_DROP_MODE_3 = 3, MF_DROP_MODE_4 = 4, MF_DROP_MODE_5 = 5, MF_NUM_DROP_MODES = 6 } MF_QUALITY_DROP_MODE; typedef enum _MF_QUALITY_LEVEL { MF_QUALITY_NORMAL = 0, MF_QUALITY_NORMAL_MINUS_1 = 1, MF_QUALITY_NORMAL_MINUS_2 = 2, MF_QUALITY_NORMAL_MINUS_3 = 3, MF_QUALITY_NORMAL_MINUS_4 = 4, MF_QUALITY_NORMAL_MINUS_5 = 5, MF_NUM_QUALITY_LEVELS = 6 } MF_QUALITY_LEVEL; /***************************************************************************** * IMFQualityAdvise interface */ #ifndef __IMFQualityAdvise_INTERFACE_DEFINED__ #define __IMFQualityAdvise_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFQualityAdvise, 0xec15e2e9, 0xe36b, 0x4f7c, 0x87,0x58, 0x77,0xd4,0x52,0xef,0x4c,0xe7); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("ec15e2e9-e36b-4f7c-8758-77d452ef4ce7") IMFQualityAdvise : public IUnknown { virtual HRESULT STDMETHODCALLTYPE SetDropMode( MF_QUALITY_DROP_MODE mode) = 0; virtual HRESULT STDMETHODCALLTYPE SetQualityLevel( MF_QUALITY_LEVEL level) = 0; virtual HRESULT STDMETHODCALLTYPE GetDropMode( MF_QUALITY_DROP_MODE *mode) = 0; virtual HRESULT STDMETHODCALLTYPE GetQualityLevel( MF_QUALITY_LEVEL *level) = 0; virtual HRESULT STDMETHODCALLTYPE DropTime( LONGLONG interval) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFQualityAdvise, 0xec15e2e9, 0xe36b, 0x4f7c, 0x87,0x58, 0x77,0xd4,0x52,0xef,0x4c,0xe7) #endif #else typedef struct IMFQualityAdviseVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFQualityAdvise *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFQualityAdvise *This); ULONG (STDMETHODCALLTYPE *Release)( IMFQualityAdvise *This); /*** IMFQualityAdvise methods ***/ HRESULT (STDMETHODCALLTYPE *SetDropMode)( IMFQualityAdvise *This, MF_QUALITY_DROP_MODE mode); HRESULT (STDMETHODCALLTYPE *SetQualityLevel)( IMFQualityAdvise *This, MF_QUALITY_LEVEL level); HRESULT (STDMETHODCALLTYPE *GetDropMode)( IMFQualityAdvise *This, MF_QUALITY_DROP_MODE *mode); HRESULT (STDMETHODCALLTYPE *GetQualityLevel)( IMFQualityAdvise *This, MF_QUALITY_LEVEL *level); HRESULT (STDMETHODCALLTYPE *DropTime)( IMFQualityAdvise *This, LONGLONG interval); END_INTERFACE } IMFQualityAdviseVtbl; interface IMFQualityAdvise { CONST_VTBL IMFQualityAdviseVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFQualityAdvise_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFQualityAdvise_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFQualityAdvise_Release(This) (This)->lpVtbl->Release(This) /*** IMFQualityAdvise methods ***/ #define IMFQualityAdvise_SetDropMode(This,mode) (This)->lpVtbl->SetDropMode(This,mode) #define IMFQualityAdvise_SetQualityLevel(This,level) (This)->lpVtbl->SetQualityLevel(This,level) #define IMFQualityAdvise_GetDropMode(This,mode) (This)->lpVtbl->GetDropMode(This,mode) #define IMFQualityAdvise_GetQualityLevel(This,level) (This)->lpVtbl->GetQualityLevel(This,level) #define IMFQualityAdvise_DropTime(This,interval) (This)->lpVtbl->DropTime(This,interval) #else /*** IUnknown methods ***/ static inline HRESULT IMFQualityAdvise_QueryInterface(IMFQualityAdvise* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFQualityAdvise_AddRef(IMFQualityAdvise* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFQualityAdvise_Release(IMFQualityAdvise* This) { return This->lpVtbl->Release(This); } /*** IMFQualityAdvise methods ***/ static inline HRESULT IMFQualityAdvise_SetDropMode(IMFQualityAdvise* This,MF_QUALITY_DROP_MODE mode) { return This->lpVtbl->SetDropMode(This,mode); } static inline HRESULT IMFQualityAdvise_SetQualityLevel(IMFQualityAdvise* This,MF_QUALITY_LEVEL level) { return This->lpVtbl->SetQualityLevel(This,level); } static inline HRESULT IMFQualityAdvise_GetDropMode(IMFQualityAdvise* This,MF_QUALITY_DROP_MODE *mode) { return This->lpVtbl->GetDropMode(This,mode); } static inline HRESULT IMFQualityAdvise_GetQualityLevel(IMFQualityAdvise* This,MF_QUALITY_LEVEL *level) { return This->lpVtbl->GetQualityLevel(This,level); } static inline HRESULT IMFQualityAdvise_DropTime(IMFQualityAdvise* This,LONGLONG interval) { return This->lpVtbl->DropTime(This,interval); } #endif #endif #endif #endif /* __IMFQualityAdvise_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFQualityAdvise2 interface */ #ifndef __IMFQualityAdvise2_INTERFACE_DEFINED__ #define __IMFQualityAdvise2_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFQualityAdvise2, 0xf3706f0d, 0x8ea2, 0x4886, 0x80,0x00, 0x71,0x55,0xe9,0xec,0x2e,0xae); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("f3706f0d-8ea2-4886-8000-7155e9ec2eae") IMFQualityAdvise2 : public IMFQualityAdvise { virtual HRESULT STDMETHODCALLTYPE NotifyQualityEvent( IMFMediaEvent *event, DWORD *flags) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFQualityAdvise2, 0xf3706f0d, 0x8ea2, 0x4886, 0x80,0x00, 0x71,0x55,0xe9,0xec,0x2e,0xae) #endif #else typedef struct IMFQualityAdvise2Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFQualityAdvise2 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFQualityAdvise2 *This); ULONG (STDMETHODCALLTYPE *Release)( IMFQualityAdvise2 *This); /*** IMFQualityAdvise methods ***/ HRESULT (STDMETHODCALLTYPE *SetDropMode)( IMFQualityAdvise2 *This, MF_QUALITY_DROP_MODE mode); HRESULT (STDMETHODCALLTYPE *SetQualityLevel)( IMFQualityAdvise2 *This, MF_QUALITY_LEVEL level); HRESULT (STDMETHODCALLTYPE *GetDropMode)( IMFQualityAdvise2 *This, MF_QUALITY_DROP_MODE *mode); HRESULT (STDMETHODCALLTYPE *GetQualityLevel)( IMFQualityAdvise2 *This, MF_QUALITY_LEVEL *level); HRESULT (STDMETHODCALLTYPE *DropTime)( IMFQualityAdvise2 *This, LONGLONG interval); /*** IMFQualityAdvise2 methods ***/ HRESULT (STDMETHODCALLTYPE *NotifyQualityEvent)( IMFQualityAdvise2 *This, IMFMediaEvent *event, DWORD *flags); END_INTERFACE } IMFQualityAdvise2Vtbl; interface IMFQualityAdvise2 { CONST_VTBL IMFQualityAdvise2Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFQualityAdvise2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFQualityAdvise2_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFQualityAdvise2_Release(This) (This)->lpVtbl->Release(This) /*** IMFQualityAdvise methods ***/ #define IMFQualityAdvise2_SetDropMode(This,mode) (This)->lpVtbl->SetDropMode(This,mode) #define IMFQualityAdvise2_SetQualityLevel(This,level) (This)->lpVtbl->SetQualityLevel(This,level) #define IMFQualityAdvise2_GetDropMode(This,mode) (This)->lpVtbl->GetDropMode(This,mode) #define IMFQualityAdvise2_GetQualityLevel(This,level) (This)->lpVtbl->GetQualityLevel(This,level) #define IMFQualityAdvise2_DropTime(This,interval) (This)->lpVtbl->DropTime(This,interval) /*** IMFQualityAdvise2 methods ***/ #define IMFQualityAdvise2_NotifyQualityEvent(This,event,flags) (This)->lpVtbl->NotifyQualityEvent(This,event,flags) #else /*** IUnknown methods ***/ static inline HRESULT IMFQualityAdvise2_QueryInterface(IMFQualityAdvise2* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFQualityAdvise2_AddRef(IMFQualityAdvise2* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFQualityAdvise2_Release(IMFQualityAdvise2* This) { return This->lpVtbl->Release(This); } /*** IMFQualityAdvise methods ***/ static inline HRESULT IMFQualityAdvise2_SetDropMode(IMFQualityAdvise2* This,MF_QUALITY_DROP_MODE mode) { return This->lpVtbl->SetDropMode(This,mode); } static inline HRESULT IMFQualityAdvise2_SetQualityLevel(IMFQualityAdvise2* This,MF_QUALITY_LEVEL level) { return This->lpVtbl->SetQualityLevel(This,level); } static inline HRESULT IMFQualityAdvise2_GetDropMode(IMFQualityAdvise2* This,MF_QUALITY_DROP_MODE *mode) { return This->lpVtbl->GetDropMode(This,mode); } static inline HRESULT IMFQualityAdvise2_GetQualityLevel(IMFQualityAdvise2* This,MF_QUALITY_LEVEL *level) { return This->lpVtbl->GetQualityLevel(This,level); } static inline HRESULT IMFQualityAdvise2_DropTime(IMFQualityAdvise2* This,LONGLONG interval) { return This->lpVtbl->DropTime(This,interval); } /*** IMFQualityAdvise2 methods ***/ static inline HRESULT IMFQualityAdvise2_NotifyQualityEvent(IMFQualityAdvise2* This,IMFMediaEvent *event,DWORD *flags) { return This->lpVtbl->NotifyQualityEvent(This,event,flags); } #endif #endif #endif #endif /* __IMFQualityAdvise2_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFQualityAdviseLimits interface */ #ifndef __IMFQualityAdviseLimits_INTERFACE_DEFINED__ #define __IMFQualityAdviseLimits_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFQualityAdviseLimits, 0xdfcd8e4d, 0x30b5, 0x4567, 0xac,0xaa, 0x8e,0xb5,0xb7,0x85,0x3d,0xc9); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("dfcd8e4d-30b5-4567-acaa-8eb5b7853dc9") IMFQualityAdviseLimits : public IUnknown { virtual HRESULT STDMETHODCALLTYPE GetMaximumDropMode( MF_QUALITY_DROP_MODE *mode) = 0; virtual HRESULT STDMETHODCALLTYPE GetMinimumQualityLevel( MF_QUALITY_LEVEL *level) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFQualityAdviseLimits, 0xdfcd8e4d, 0x30b5, 0x4567, 0xac,0xaa, 0x8e,0xb5,0xb7,0x85,0x3d,0xc9) #endif #else typedef struct IMFQualityAdviseLimitsVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFQualityAdviseLimits *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFQualityAdviseLimits *This); ULONG (STDMETHODCALLTYPE *Release)( IMFQualityAdviseLimits *This); /*** IMFQualityAdviseLimits methods ***/ HRESULT (STDMETHODCALLTYPE *GetMaximumDropMode)( IMFQualityAdviseLimits *This, MF_QUALITY_DROP_MODE *mode); HRESULT (STDMETHODCALLTYPE *GetMinimumQualityLevel)( IMFQualityAdviseLimits *This, MF_QUALITY_LEVEL *level); END_INTERFACE } IMFQualityAdviseLimitsVtbl; interface IMFQualityAdviseLimits { CONST_VTBL IMFQualityAdviseLimitsVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFQualityAdviseLimits_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFQualityAdviseLimits_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFQualityAdviseLimits_Release(This) (This)->lpVtbl->Release(This) /*** IMFQualityAdviseLimits methods ***/ #define IMFQualityAdviseLimits_GetMaximumDropMode(This,mode) (This)->lpVtbl->GetMaximumDropMode(This,mode) #define IMFQualityAdviseLimits_GetMinimumQualityLevel(This,level) (This)->lpVtbl->GetMinimumQualityLevel(This,level) #else /*** IUnknown methods ***/ static inline HRESULT IMFQualityAdviseLimits_QueryInterface(IMFQualityAdviseLimits* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFQualityAdviseLimits_AddRef(IMFQualityAdviseLimits* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFQualityAdviseLimits_Release(IMFQualityAdviseLimits* This) { return This->lpVtbl->Release(This); } /*** IMFQualityAdviseLimits methods ***/ static inline HRESULT IMFQualityAdviseLimits_GetMaximumDropMode(IMFQualityAdviseLimits* This,MF_QUALITY_DROP_MODE *mode) { return This->lpVtbl->GetMaximumDropMode(This,mode); } static inline HRESULT IMFQualityAdviseLimits_GetMinimumQualityLevel(IMFQualityAdviseLimits* This,MF_QUALITY_LEVEL *level) { return This->lpVtbl->GetMinimumQualityLevel(This,level); } #endif #endif #endif #endif /* __IMFQualityAdviseLimits_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFTrackedSample interface */ #ifndef __IMFTrackedSample_INTERFACE_DEFINED__ #define __IMFTrackedSample_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFTrackedSample, 0x245bf8e9, 0x0755, 0x40f7, 0x88,0xa5, 0xae,0x0f,0x18,0xd5,0x5e,0x17); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("245bf8e9-0755-40f7-88a5-ae0f18d55e17") IMFTrackedSample : public IUnknown { virtual HRESULT STDMETHODCALLTYPE SetAllocator( IMFAsyncCallback *sample_allocator, IUnknown *state) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFTrackedSample, 0x245bf8e9, 0x0755, 0x40f7, 0x88,0xa5, 0xae,0x0f,0x18,0xd5,0x5e,0x17) #endif #else typedef struct IMFTrackedSampleVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFTrackedSample *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFTrackedSample *This); ULONG (STDMETHODCALLTYPE *Release)( IMFTrackedSample *This); /*** IMFTrackedSample methods ***/ HRESULT (STDMETHODCALLTYPE *SetAllocator)( IMFTrackedSample *This, IMFAsyncCallback *sample_allocator, IUnknown *state); END_INTERFACE } IMFTrackedSampleVtbl; interface IMFTrackedSample { CONST_VTBL IMFTrackedSampleVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFTrackedSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFTrackedSample_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFTrackedSample_Release(This) (This)->lpVtbl->Release(This) /*** IMFTrackedSample methods ***/ #define IMFTrackedSample_SetAllocator(This,sample_allocator,state) (This)->lpVtbl->SetAllocator(This,sample_allocator,state) #else /*** IUnknown methods ***/ static inline HRESULT IMFTrackedSample_QueryInterface(IMFTrackedSample* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFTrackedSample_AddRef(IMFTrackedSample* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFTrackedSample_Release(IMFTrackedSample* This) { return This->lpVtbl->Release(This); } /*** IMFTrackedSample methods ***/ static inline HRESULT IMFTrackedSample_SetAllocator(IMFTrackedSample* This,IMFAsyncCallback *sample_allocator,IUnknown *state) { return This->lpVtbl->SetAllocator(This,sample_allocator,state); } #endif #endif #endif #endif /* __IMFTrackedSample_INTERFACE_DEFINED__ */ 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; /***************************************************************************** * IMFLocalMFTRegistration interface */ #ifndef __IMFLocalMFTRegistration_INTERFACE_DEFINED__ #define __IMFLocalMFTRegistration_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFLocalMFTRegistration, 0x149c4d73, 0xb4be, 0x4f8d, 0x8b,0x87, 0x07,0x9e,0x92,0x6b,0x6a,0xdd); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("149c4d73-b4be-4f8d-8b87-079e926b6add") IMFLocalMFTRegistration : public IUnknown { virtual HRESULT STDMETHODCALLTYPE RegisterMFTs( MFT_REGISTRATION_INFO *info, DWORD count) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFLocalMFTRegistration, 0x149c4d73, 0xb4be, 0x4f8d, 0x8b,0x87, 0x07,0x9e,0x92,0x6b,0x6a,0xdd) #endif #else typedef struct IMFLocalMFTRegistrationVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFLocalMFTRegistration *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFLocalMFTRegistration *This); ULONG (STDMETHODCALLTYPE *Release)( IMFLocalMFTRegistration *This); /*** IMFLocalMFTRegistration methods ***/ HRESULT (STDMETHODCALLTYPE *RegisterMFTs)( IMFLocalMFTRegistration *This, MFT_REGISTRATION_INFO *info, DWORD count); END_INTERFACE } IMFLocalMFTRegistrationVtbl; interface IMFLocalMFTRegistration { CONST_VTBL IMFLocalMFTRegistrationVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFLocalMFTRegistration_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFLocalMFTRegistration_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFLocalMFTRegistration_Release(This) (This)->lpVtbl->Release(This) /*** IMFLocalMFTRegistration methods ***/ #define IMFLocalMFTRegistration_RegisterMFTs(This,info,count) (This)->lpVtbl->RegisterMFTs(This,info,count) #else /*** IUnknown methods ***/ static inline HRESULT IMFLocalMFTRegistration_QueryInterface(IMFLocalMFTRegistration* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFLocalMFTRegistration_AddRef(IMFLocalMFTRegistration* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFLocalMFTRegistration_Release(IMFLocalMFTRegistration* This) { return This->lpVtbl->Release(This); } /*** IMFLocalMFTRegistration methods ***/ static inline HRESULT IMFLocalMFTRegistration_RegisterMFTs(IMFLocalMFTRegistration* This,MFT_REGISTRATION_INFO *info,DWORD count) { return This->lpVtbl->RegisterMFTs(This,info,count); } #endif #endif #endif #endif /* __IMFLocalMFTRegistration_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFMediaSourceTopologyProvider interface */ #ifndef __IMFMediaSourceTopologyProvider_INTERFACE_DEFINED__ #define __IMFMediaSourceTopologyProvider_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFMediaSourceTopologyProvider, 0x0e1d6009, 0xc9f3, 0x442d, 0x8c,0x51, 0xa4,0x2d,0x2d,0x49,0x45,0x2f); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("0e1d6009-c9f3-442d-8c51-a42d2d49452f") IMFMediaSourceTopologyProvider : public IUnknown { virtual HRESULT STDMETHODCALLTYPE GetMediaSourceTopology( IMFPresentationDescriptor *pd, IMFTopology **topology) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFMediaSourceTopologyProvider, 0x0e1d6009, 0xc9f3, 0x442d, 0x8c,0x51, 0xa4,0x2d,0x2d,0x49,0x45,0x2f) #endif #else typedef struct IMFMediaSourceTopologyProviderVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFMediaSourceTopologyProvider *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFMediaSourceTopologyProvider *This); ULONG (STDMETHODCALLTYPE *Release)( IMFMediaSourceTopologyProvider *This); /*** IMFMediaSourceTopologyProvider methods ***/ HRESULT (STDMETHODCALLTYPE *GetMediaSourceTopology)( IMFMediaSourceTopologyProvider *This, IMFPresentationDescriptor *pd, IMFTopology **topology); END_INTERFACE } IMFMediaSourceTopologyProviderVtbl; interface IMFMediaSourceTopologyProvider { CONST_VTBL IMFMediaSourceTopologyProviderVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFMediaSourceTopologyProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFMediaSourceTopologyProvider_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFMediaSourceTopologyProvider_Release(This) (This)->lpVtbl->Release(This) /*** IMFMediaSourceTopologyProvider methods ***/ #define IMFMediaSourceTopologyProvider_GetMediaSourceTopology(This,pd,topology) (This)->lpVtbl->GetMediaSourceTopology(This,pd,topology) #else /*** IUnknown methods ***/ static inline HRESULT IMFMediaSourceTopologyProvider_QueryInterface(IMFMediaSourceTopologyProvider* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFMediaSourceTopologyProvider_AddRef(IMFMediaSourceTopologyProvider* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFMediaSourceTopologyProvider_Release(IMFMediaSourceTopologyProvider* This) { return This->lpVtbl->Release(This); } /*** IMFMediaSourceTopologyProvider methods ***/ static inline HRESULT IMFMediaSourceTopologyProvider_GetMediaSourceTopology(IMFMediaSourceTopologyProvider* This,IMFPresentationDescriptor *pd,IMFTopology **topology) { return This->lpVtbl->GetMediaSourceTopology(This,pd,topology); } #endif #endif #endif #endif /* __IMFMediaSourceTopologyProvider_INTERFACE_DEFINED__ */ 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_DISABLE_LOCAL_PLUGINS = 0x40, MF_RESOLUTION_PLUGIN_CONTROL_POLICY_APPROVED_ONLY = 0x80, MF_RESOLUTION_PLUGIN_CONTROL_POLICY_WEB_ONLY = 0x100, MF_RESOLUTION_PLUGIN_CONTROL_POLICY_WEB_ONLY_EDGEMODE = 0x200, MF_RESOLUTION_ENABLE_STORE_PLUGINS = 0x400, MF_RESOLUTION_READ = 0x10000, MF_RESOLUTION_WRITE = 0x20000 }; /***************************************************************************** * IMFSimpleAudioVolume interface */ #ifndef __IMFSimpleAudioVolume_INTERFACE_DEFINED__ #define __IMFSimpleAudioVolume_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFSimpleAudioVolume, 0x089edf13, 0xcf71, 0x4338, 0x8d,0x13, 0x9e,0x56,0x9d,0xbd,0xc3,0x19); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("089edf13-cf71-4338-8d13-9e569dbdc319") IMFSimpleAudioVolume : public IUnknown { virtual HRESULT STDMETHODCALLTYPE SetMasterVolume( float level) = 0; virtual HRESULT STDMETHODCALLTYPE GetMasterVolume( float *level) = 0; virtual HRESULT STDMETHODCALLTYPE SetMute( BOOL mute) = 0; virtual HRESULT STDMETHODCALLTYPE GetMute( BOOL *mute) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFSimpleAudioVolume, 0x089edf13, 0xcf71, 0x4338, 0x8d,0x13, 0x9e,0x56,0x9d,0xbd,0xc3,0x19) #endif #else typedef struct IMFSimpleAudioVolumeVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFSimpleAudioVolume *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFSimpleAudioVolume *This); ULONG (STDMETHODCALLTYPE *Release)( IMFSimpleAudioVolume *This); /*** IMFSimpleAudioVolume methods ***/ HRESULT (STDMETHODCALLTYPE *SetMasterVolume)( IMFSimpleAudioVolume *This, float level); HRESULT (STDMETHODCALLTYPE *GetMasterVolume)( IMFSimpleAudioVolume *This, float *level); HRESULT (STDMETHODCALLTYPE *SetMute)( IMFSimpleAudioVolume *This, BOOL mute); HRESULT (STDMETHODCALLTYPE *GetMute)( IMFSimpleAudioVolume *This, BOOL *mute); END_INTERFACE } IMFSimpleAudioVolumeVtbl; interface IMFSimpleAudioVolume { CONST_VTBL IMFSimpleAudioVolumeVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFSimpleAudioVolume_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFSimpleAudioVolume_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFSimpleAudioVolume_Release(This) (This)->lpVtbl->Release(This) /*** IMFSimpleAudioVolume methods ***/ #define IMFSimpleAudioVolume_SetMasterVolume(This,level) (This)->lpVtbl->SetMasterVolume(This,level) #define IMFSimpleAudioVolume_GetMasterVolume(This,level) (This)->lpVtbl->GetMasterVolume(This,level) #define IMFSimpleAudioVolume_SetMute(This,mute) (This)->lpVtbl->SetMute(This,mute) #define IMFSimpleAudioVolume_GetMute(This,mute) (This)->lpVtbl->GetMute(This,mute) #else /*** IUnknown methods ***/ static inline HRESULT IMFSimpleAudioVolume_QueryInterface(IMFSimpleAudioVolume* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFSimpleAudioVolume_AddRef(IMFSimpleAudioVolume* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFSimpleAudioVolume_Release(IMFSimpleAudioVolume* This) { return This->lpVtbl->Release(This); } /*** IMFSimpleAudioVolume methods ***/ static inline HRESULT IMFSimpleAudioVolume_SetMasterVolume(IMFSimpleAudioVolume* This,float level) { return This->lpVtbl->SetMasterVolume(This,level); } static inline HRESULT IMFSimpleAudioVolume_GetMasterVolume(IMFSimpleAudioVolume* This,float *level) { return This->lpVtbl->GetMasterVolume(This,level); } static inline HRESULT IMFSimpleAudioVolume_SetMute(IMFSimpleAudioVolume* This,BOOL mute) { return This->lpVtbl->SetMute(This,mute); } static inline HRESULT IMFSimpleAudioVolume_GetMute(IMFSimpleAudioVolume* This,BOOL *mute) { return This->lpVtbl->GetMute(This,mute); } #endif #endif #endif #endif /* __IMFSimpleAudioVolume_INTERFACE_DEFINED__ */ /***************************************************************************** * 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 *count) = 0; virtual HRESULT STDMETHODCALLTYPE SetChannelVolume( UINT32 index, const float level) = 0; virtual HRESULT STDMETHODCALLTYPE GetChannelVolume( UINT32 index, float *level) = 0; virtual HRESULT STDMETHODCALLTYPE SetAllVolumes( UINT32 count, const float *volumes) = 0; virtual HRESULT STDMETHODCALLTYPE GetAllVolumes( UINT32 count, float *volumes) = 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 *count); HRESULT (STDMETHODCALLTYPE *SetChannelVolume)( IMFAudioStreamVolume *This, UINT32 index, const float level); HRESULT (STDMETHODCALLTYPE *GetChannelVolume)( IMFAudioStreamVolume *This, UINT32 index, float *level); HRESULT (STDMETHODCALLTYPE *SetAllVolumes)( IMFAudioStreamVolume *This, UINT32 count, const float *volumes); HRESULT (STDMETHODCALLTYPE *GetAllVolumes)( IMFAudioStreamVolume *This, UINT32 count, float *volumes); 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,count) (This)->lpVtbl->GetChannelCount(This,count) #define IMFAudioStreamVolume_SetChannelVolume(This,index,level) (This)->lpVtbl->SetChannelVolume(This,index,level) #define IMFAudioStreamVolume_GetChannelVolume(This,index,level) (This)->lpVtbl->GetChannelVolume(This,index,level) #define IMFAudioStreamVolume_SetAllVolumes(This,count,volumes) (This)->lpVtbl->SetAllVolumes(This,count,volumes) #define IMFAudioStreamVolume_GetAllVolumes(This,count,volumes) (This)->lpVtbl->GetAllVolumes(This,count,volumes) #else /*** IUnknown methods ***/ static inline HRESULT IMFAudioStreamVolume_QueryInterface(IMFAudioStreamVolume* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFAudioStreamVolume_AddRef(IMFAudioStreamVolume* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFAudioStreamVolume_Release(IMFAudioStreamVolume* This) { return This->lpVtbl->Release(This); } /*** IMFAudioStreamVolume methods ***/ static inline HRESULT IMFAudioStreamVolume_GetChannelCount(IMFAudioStreamVolume* This,UINT32 *count) { return This->lpVtbl->GetChannelCount(This,count); } static inline HRESULT IMFAudioStreamVolume_SetChannelVolume(IMFAudioStreamVolume* This,UINT32 index,const float level) { return This->lpVtbl->SetChannelVolume(This,index,level); } static inline HRESULT IMFAudioStreamVolume_GetChannelVolume(IMFAudioStreamVolume* This,UINT32 index,float *level) { return This->lpVtbl->GetChannelVolume(This,index,level); } static inline HRESULT IMFAudioStreamVolume_SetAllVolumes(IMFAudioStreamVolume* This,UINT32 count,const float *volumes) { return This->lpVtbl->SetAllVolumes(This,count,volumes); } static inline HRESULT IMFAudioStreamVolume_GetAllVolumes(IMFAudioStreamVolume* This,UINT32 count,float *volumes) { return This->lpVtbl->GetAllVolumes(This,count,volumes); } #endif #endif #endif #endif /* __IMFAudioStreamVolume_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFAudioPolicy interface */ #ifndef __IMFAudioPolicy_INTERFACE_DEFINED__ #define __IMFAudioPolicy_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFAudioPolicy, 0xa0638c2b, 0x6465, 0x4395, 0x9a,0xe7, 0xa3,0x21,0xa9,0xfd,0x28,0x56); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("a0638c2b-6465-4395-9ae7-a321a9fd2856") IMFAudioPolicy : public IUnknown { virtual HRESULT STDMETHODCALLTYPE SetGroupingParam( REFGUID param) = 0; virtual HRESULT STDMETHODCALLTYPE GetGroupingParam( GUID *param) = 0; virtual HRESULT STDMETHODCALLTYPE SetDisplayName( LPCWSTR name) = 0; virtual HRESULT STDMETHODCALLTYPE GetDisplayName( LPWSTR *name) = 0; virtual HRESULT STDMETHODCALLTYPE SetIconPath( LPCWSTR path) = 0; virtual HRESULT STDMETHODCALLTYPE GetIconPath( LPWSTR *path) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFAudioPolicy, 0xa0638c2b, 0x6465, 0x4395, 0x9a,0xe7, 0xa3,0x21,0xa9,0xfd,0x28,0x56) #endif #else typedef struct IMFAudioPolicyVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFAudioPolicy *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFAudioPolicy *This); ULONG (STDMETHODCALLTYPE *Release)( IMFAudioPolicy *This); /*** IMFAudioPolicy methods ***/ HRESULT (STDMETHODCALLTYPE *SetGroupingParam)( IMFAudioPolicy *This, REFGUID param); HRESULT (STDMETHODCALLTYPE *GetGroupingParam)( IMFAudioPolicy *This, GUID *param); HRESULT (STDMETHODCALLTYPE *SetDisplayName)( IMFAudioPolicy *This, LPCWSTR name); HRESULT (STDMETHODCALLTYPE *GetDisplayName)( IMFAudioPolicy *This, LPWSTR *name); HRESULT (STDMETHODCALLTYPE *SetIconPath)( IMFAudioPolicy *This, LPCWSTR path); HRESULT (STDMETHODCALLTYPE *GetIconPath)( IMFAudioPolicy *This, LPWSTR *path); END_INTERFACE } IMFAudioPolicyVtbl; interface IMFAudioPolicy { CONST_VTBL IMFAudioPolicyVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFAudioPolicy_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFAudioPolicy_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFAudioPolicy_Release(This) (This)->lpVtbl->Release(This) /*** IMFAudioPolicy methods ***/ #define IMFAudioPolicy_SetGroupingParam(This,param) (This)->lpVtbl->SetGroupingParam(This,param) #define IMFAudioPolicy_GetGroupingParam(This,param) (This)->lpVtbl->GetGroupingParam(This,param) #define IMFAudioPolicy_SetDisplayName(This,name) (This)->lpVtbl->SetDisplayName(This,name) #define IMFAudioPolicy_GetDisplayName(This,name) (This)->lpVtbl->GetDisplayName(This,name) #define IMFAudioPolicy_SetIconPath(This,path) (This)->lpVtbl->SetIconPath(This,path) #define IMFAudioPolicy_GetIconPath(This,path) (This)->lpVtbl->GetIconPath(This,path) #else /*** IUnknown methods ***/ static inline HRESULT IMFAudioPolicy_QueryInterface(IMFAudioPolicy* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFAudioPolicy_AddRef(IMFAudioPolicy* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFAudioPolicy_Release(IMFAudioPolicy* This) { return This->lpVtbl->Release(This); } /*** IMFAudioPolicy methods ***/ static inline HRESULT IMFAudioPolicy_SetGroupingParam(IMFAudioPolicy* This,REFGUID param) { return This->lpVtbl->SetGroupingParam(This,param); } static inline HRESULT IMFAudioPolicy_GetGroupingParam(IMFAudioPolicy* This,GUID *param) { return This->lpVtbl->GetGroupingParam(This,param); } static inline HRESULT IMFAudioPolicy_SetDisplayName(IMFAudioPolicy* This,LPCWSTR name) { return This->lpVtbl->SetDisplayName(This,name); } static inline HRESULT IMFAudioPolicy_GetDisplayName(IMFAudioPolicy* This,LPWSTR *name) { return This->lpVtbl->GetDisplayName(This,name); } static inline HRESULT IMFAudioPolicy_SetIconPath(IMFAudioPolicy* This,LPCWSTR path) { return This->lpVtbl->SetIconPath(This,path); } static inline HRESULT IMFAudioPolicy_GetIconPath(IMFAudioPolicy* This,LPWSTR *path) { return This->lpVtbl->GetIconPath(This,path); } #endif #endif #endif #endif /* __IMFAudioPolicy_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFVideoSampleAllocator interface */ #ifndef __IMFVideoSampleAllocator_INTERFACE_DEFINED__ #define __IMFVideoSampleAllocator_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFVideoSampleAllocator, 0x86cbc910, 0xe533, 0x4751, 0x8e,0x3b, 0xf1,0x9b,0x5b,0x80,0x6a,0x03); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("86cbc910-e533-4751-8e3b-f19b5b806a03") IMFVideoSampleAllocator : public IUnknown { virtual HRESULT STDMETHODCALLTYPE SetDirectXManager( IUnknown *manager) = 0; virtual HRESULT STDMETHODCALLTYPE UninitializeSampleAllocator( ) = 0; virtual HRESULT STDMETHODCALLTYPE InitializeSampleAllocator( DWORD sample_count, IMFMediaType *media_type) = 0; virtual HRESULT STDMETHODCALLTYPE AllocateSample( IMFSample **sample) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFVideoSampleAllocator, 0x86cbc910, 0xe533, 0x4751, 0x8e,0x3b, 0xf1,0x9b,0x5b,0x80,0x6a,0x03) #endif #else typedef struct IMFVideoSampleAllocatorVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFVideoSampleAllocator *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFVideoSampleAllocator *This); ULONG (STDMETHODCALLTYPE *Release)( IMFVideoSampleAllocator *This); /*** IMFVideoSampleAllocator methods ***/ HRESULT (STDMETHODCALLTYPE *SetDirectXManager)( IMFVideoSampleAllocator *This, IUnknown *manager); HRESULT (STDMETHODCALLTYPE *UninitializeSampleAllocator)( IMFVideoSampleAllocator *This); HRESULT (STDMETHODCALLTYPE *InitializeSampleAllocator)( IMFVideoSampleAllocator *This, DWORD sample_count, IMFMediaType *media_type); HRESULT (STDMETHODCALLTYPE *AllocateSample)( IMFVideoSampleAllocator *This, IMFSample **sample); END_INTERFACE } IMFVideoSampleAllocatorVtbl; interface IMFVideoSampleAllocator { CONST_VTBL IMFVideoSampleAllocatorVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFVideoSampleAllocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFVideoSampleAllocator_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFVideoSampleAllocator_Release(This) (This)->lpVtbl->Release(This) /*** IMFVideoSampleAllocator methods ***/ #define IMFVideoSampleAllocator_SetDirectXManager(This,manager) (This)->lpVtbl->SetDirectXManager(This,manager) #define IMFVideoSampleAllocator_UninitializeSampleAllocator(This) (This)->lpVtbl->UninitializeSampleAllocator(This) #define IMFVideoSampleAllocator_InitializeSampleAllocator(This,sample_count,media_type) (This)->lpVtbl->InitializeSampleAllocator(This,sample_count,media_type) #define IMFVideoSampleAllocator_AllocateSample(This,sample) (This)->lpVtbl->AllocateSample(This,sample) #else /*** IUnknown methods ***/ static inline HRESULT IMFVideoSampleAllocator_QueryInterface(IMFVideoSampleAllocator* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFVideoSampleAllocator_AddRef(IMFVideoSampleAllocator* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFVideoSampleAllocator_Release(IMFVideoSampleAllocator* This) { return This->lpVtbl->Release(This); } /*** IMFVideoSampleAllocator methods ***/ static inline HRESULT IMFVideoSampleAllocator_SetDirectXManager(IMFVideoSampleAllocator* This,IUnknown *manager) { return This->lpVtbl->SetDirectXManager(This,manager); } static inline HRESULT IMFVideoSampleAllocator_UninitializeSampleAllocator(IMFVideoSampleAllocator* This) { return This->lpVtbl->UninitializeSampleAllocator(This); } static inline HRESULT IMFVideoSampleAllocator_InitializeSampleAllocator(IMFVideoSampleAllocator* This,DWORD sample_count,IMFMediaType *media_type) { return This->lpVtbl->InitializeSampleAllocator(This,sample_count,media_type); } static inline HRESULT IMFVideoSampleAllocator_AllocateSample(IMFVideoSampleAllocator* This,IMFSample **sample) { return This->lpVtbl->AllocateSample(This,sample); } #endif #endif #endif #endif /* __IMFVideoSampleAllocator_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFVideoSampleAllocatorNotify interface */ #ifndef __IMFVideoSampleAllocatorNotify_INTERFACE_DEFINED__ #define __IMFVideoSampleAllocatorNotify_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFVideoSampleAllocatorNotify, 0xa792cdbe, 0xc374, 0x4e89, 0x83,0x35, 0x27,0x8e,0x7b,0x99,0x56,0xa4); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("a792cdbe-c374-4e89-8335-278e7b9956a4") IMFVideoSampleAllocatorNotify : public IUnknown { virtual HRESULT STDMETHODCALLTYPE NotifyRelease( ) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFVideoSampleAllocatorNotify, 0xa792cdbe, 0xc374, 0x4e89, 0x83,0x35, 0x27,0x8e,0x7b,0x99,0x56,0xa4) #endif #else typedef struct IMFVideoSampleAllocatorNotifyVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFVideoSampleAllocatorNotify *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFVideoSampleAllocatorNotify *This); ULONG (STDMETHODCALLTYPE *Release)( IMFVideoSampleAllocatorNotify *This); /*** IMFVideoSampleAllocatorNotify methods ***/ HRESULT (STDMETHODCALLTYPE *NotifyRelease)( IMFVideoSampleAllocatorNotify *This); END_INTERFACE } IMFVideoSampleAllocatorNotifyVtbl; interface IMFVideoSampleAllocatorNotify { CONST_VTBL IMFVideoSampleAllocatorNotifyVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFVideoSampleAllocatorNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFVideoSampleAllocatorNotify_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFVideoSampleAllocatorNotify_Release(This) (This)->lpVtbl->Release(This) /*** IMFVideoSampleAllocatorNotify methods ***/ #define IMFVideoSampleAllocatorNotify_NotifyRelease(This) (This)->lpVtbl->NotifyRelease(This) #else /*** IUnknown methods ***/ static inline HRESULT IMFVideoSampleAllocatorNotify_QueryInterface(IMFVideoSampleAllocatorNotify* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFVideoSampleAllocatorNotify_AddRef(IMFVideoSampleAllocatorNotify* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFVideoSampleAllocatorNotify_Release(IMFVideoSampleAllocatorNotify* This) { return This->lpVtbl->Release(This); } /*** IMFVideoSampleAllocatorNotify methods ***/ static inline HRESULT IMFVideoSampleAllocatorNotify_NotifyRelease(IMFVideoSampleAllocatorNotify* This) { return This->lpVtbl->NotifyRelease(This); } #endif #endif #endif #endif /* __IMFVideoSampleAllocatorNotify_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFVideoSampleAllocatorNotifyEx interface */ #ifndef __IMFVideoSampleAllocatorNotifyEx_INTERFACE_DEFINED__ #define __IMFVideoSampleAllocatorNotifyEx_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFVideoSampleAllocatorNotifyEx, 0x3978aa1a, 0x6d5b, 0x4b7f, 0xa3,0x40, 0x90,0x89,0x91,0x89,0xae,0x34); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("3978aa1a-6d5b-4b7f-a340-90899189ae34") IMFVideoSampleAllocatorNotifyEx : public IMFVideoSampleAllocatorNotify { virtual HRESULT STDMETHODCALLTYPE NotifyPrune( IMFSample *sample) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFVideoSampleAllocatorNotifyEx, 0x3978aa1a, 0x6d5b, 0x4b7f, 0xa3,0x40, 0x90,0x89,0x91,0x89,0xae,0x34) #endif #else typedef struct IMFVideoSampleAllocatorNotifyExVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFVideoSampleAllocatorNotifyEx *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFVideoSampleAllocatorNotifyEx *This); ULONG (STDMETHODCALLTYPE *Release)( IMFVideoSampleAllocatorNotifyEx *This); /*** IMFVideoSampleAllocatorNotify methods ***/ HRESULT (STDMETHODCALLTYPE *NotifyRelease)( IMFVideoSampleAllocatorNotifyEx *This); /*** IMFVideoSampleAllocatorNotifyEx methods ***/ HRESULT (STDMETHODCALLTYPE *NotifyPrune)( IMFVideoSampleAllocatorNotifyEx *This, IMFSample *sample); END_INTERFACE } IMFVideoSampleAllocatorNotifyExVtbl; interface IMFVideoSampleAllocatorNotifyEx { CONST_VTBL IMFVideoSampleAllocatorNotifyExVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFVideoSampleAllocatorNotifyEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFVideoSampleAllocatorNotifyEx_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFVideoSampleAllocatorNotifyEx_Release(This) (This)->lpVtbl->Release(This) /*** IMFVideoSampleAllocatorNotify methods ***/ #define IMFVideoSampleAllocatorNotifyEx_NotifyRelease(This) (This)->lpVtbl->NotifyRelease(This) /*** IMFVideoSampleAllocatorNotifyEx methods ***/ #define IMFVideoSampleAllocatorNotifyEx_NotifyPrune(This,sample) (This)->lpVtbl->NotifyPrune(This,sample) #else /*** IUnknown methods ***/ static inline HRESULT IMFVideoSampleAllocatorNotifyEx_QueryInterface(IMFVideoSampleAllocatorNotifyEx* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFVideoSampleAllocatorNotifyEx_AddRef(IMFVideoSampleAllocatorNotifyEx* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFVideoSampleAllocatorNotifyEx_Release(IMFVideoSampleAllocatorNotifyEx* This) { return This->lpVtbl->Release(This); } /*** IMFVideoSampleAllocatorNotify methods ***/ static inline HRESULT IMFVideoSampleAllocatorNotifyEx_NotifyRelease(IMFVideoSampleAllocatorNotifyEx* This) { return This->lpVtbl->NotifyRelease(This); } /*** IMFVideoSampleAllocatorNotifyEx methods ***/ static inline HRESULT IMFVideoSampleAllocatorNotifyEx_NotifyPrune(IMFVideoSampleAllocatorNotifyEx* This,IMFSample *sample) { return This->lpVtbl->NotifyPrune(This,sample); } #endif #endif #endif #endif /* __IMFVideoSampleAllocatorNotifyEx_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFVideoSampleAllocatorCallback interface */ #ifndef __IMFVideoSampleAllocatorCallback_INTERFACE_DEFINED__ #define __IMFVideoSampleAllocatorCallback_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFVideoSampleAllocatorCallback, 0x992388b4, 0x3372, 0x4f67, 0x8b,0x6f, 0xc8,0x4c,0x07,0x1f,0x47,0x51); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("992388b4-3372-4f67-8b6f-c84c071f4751") IMFVideoSampleAllocatorCallback : public IUnknown { virtual HRESULT STDMETHODCALLTYPE SetCallback( IMFVideoSampleAllocatorNotify *callback) = 0; virtual HRESULT STDMETHODCALLTYPE GetFreeSampleCount( LONG *count) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFVideoSampleAllocatorCallback, 0x992388b4, 0x3372, 0x4f67, 0x8b,0x6f, 0xc8,0x4c,0x07,0x1f,0x47,0x51) #endif #else typedef struct IMFVideoSampleAllocatorCallbackVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFVideoSampleAllocatorCallback *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFVideoSampleAllocatorCallback *This); ULONG (STDMETHODCALLTYPE *Release)( IMFVideoSampleAllocatorCallback *This); /*** IMFVideoSampleAllocatorCallback methods ***/ HRESULT (STDMETHODCALLTYPE *SetCallback)( IMFVideoSampleAllocatorCallback *This, IMFVideoSampleAllocatorNotify *callback); HRESULT (STDMETHODCALLTYPE *GetFreeSampleCount)( IMFVideoSampleAllocatorCallback *This, LONG *count); END_INTERFACE } IMFVideoSampleAllocatorCallbackVtbl; interface IMFVideoSampleAllocatorCallback { CONST_VTBL IMFVideoSampleAllocatorCallbackVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFVideoSampleAllocatorCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFVideoSampleAllocatorCallback_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFVideoSampleAllocatorCallback_Release(This) (This)->lpVtbl->Release(This) /*** IMFVideoSampleAllocatorCallback methods ***/ #define IMFVideoSampleAllocatorCallback_SetCallback(This,callback) (This)->lpVtbl->SetCallback(This,callback) #define IMFVideoSampleAllocatorCallback_GetFreeSampleCount(This,count) (This)->lpVtbl->GetFreeSampleCount(This,count) #else /*** IUnknown methods ***/ static inline HRESULT IMFVideoSampleAllocatorCallback_QueryInterface(IMFVideoSampleAllocatorCallback* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFVideoSampleAllocatorCallback_AddRef(IMFVideoSampleAllocatorCallback* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFVideoSampleAllocatorCallback_Release(IMFVideoSampleAllocatorCallback* This) { return This->lpVtbl->Release(This); } /*** IMFVideoSampleAllocatorCallback methods ***/ static inline HRESULT IMFVideoSampleAllocatorCallback_SetCallback(IMFVideoSampleAllocatorCallback* This,IMFVideoSampleAllocatorNotify *callback) { return This->lpVtbl->SetCallback(This,callback); } static inline HRESULT IMFVideoSampleAllocatorCallback_GetFreeSampleCount(IMFVideoSampleAllocatorCallback* This,LONG *count) { return This->lpVtbl->GetFreeSampleCount(This,count); } #endif #endif #endif #endif /* __IMFVideoSampleAllocatorCallback_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFVideoSampleAllocatorEx interface */ #ifndef __IMFVideoSampleAllocatorEx_INTERFACE_DEFINED__ #define __IMFVideoSampleAllocatorEx_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFVideoSampleAllocatorEx, 0x545b3a48, 0x3283, 0x4f62, 0x86,0x6f, 0xa6,0x2d,0x8f,0x59,0x8f,0x9f); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("545b3a48-3283-4f62-866f-a62d8f598f9f") IMFVideoSampleAllocatorEx : public IMFVideoSampleAllocator { virtual HRESULT STDMETHODCALLTYPE InitializeSampleAllocatorEx( DWORD initial_sample_count, DWORD max_sample_count, IMFAttributes *attributes, IMFMediaType *media_type) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFVideoSampleAllocatorEx, 0x545b3a48, 0x3283, 0x4f62, 0x86,0x6f, 0xa6,0x2d,0x8f,0x59,0x8f,0x9f) #endif #else typedef struct IMFVideoSampleAllocatorExVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFVideoSampleAllocatorEx *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFVideoSampleAllocatorEx *This); ULONG (STDMETHODCALLTYPE *Release)( IMFVideoSampleAllocatorEx *This); /*** IMFVideoSampleAllocator methods ***/ HRESULT (STDMETHODCALLTYPE *SetDirectXManager)( IMFVideoSampleAllocatorEx *This, IUnknown *manager); HRESULT (STDMETHODCALLTYPE *UninitializeSampleAllocator)( IMFVideoSampleAllocatorEx *This); HRESULT (STDMETHODCALLTYPE *InitializeSampleAllocator)( IMFVideoSampleAllocatorEx *This, DWORD sample_count, IMFMediaType *media_type); HRESULT (STDMETHODCALLTYPE *AllocateSample)( IMFVideoSampleAllocatorEx *This, IMFSample **sample); /*** IMFVideoSampleAllocatorEx methods ***/ HRESULT (STDMETHODCALLTYPE *InitializeSampleAllocatorEx)( IMFVideoSampleAllocatorEx *This, DWORD initial_sample_count, DWORD max_sample_count, IMFAttributes *attributes, IMFMediaType *media_type); END_INTERFACE } IMFVideoSampleAllocatorExVtbl; interface IMFVideoSampleAllocatorEx { CONST_VTBL IMFVideoSampleAllocatorExVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFVideoSampleAllocatorEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFVideoSampleAllocatorEx_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFVideoSampleAllocatorEx_Release(This) (This)->lpVtbl->Release(This) /*** IMFVideoSampleAllocator methods ***/ #define IMFVideoSampleAllocatorEx_SetDirectXManager(This,manager) (This)->lpVtbl->SetDirectXManager(This,manager) #define IMFVideoSampleAllocatorEx_UninitializeSampleAllocator(This) (This)->lpVtbl->UninitializeSampleAllocator(This) #define IMFVideoSampleAllocatorEx_InitializeSampleAllocator(This,sample_count,media_type) (This)->lpVtbl->InitializeSampleAllocator(This,sample_count,media_type) #define IMFVideoSampleAllocatorEx_AllocateSample(This,sample) (This)->lpVtbl->AllocateSample(This,sample) /*** IMFVideoSampleAllocatorEx methods ***/ #define IMFVideoSampleAllocatorEx_InitializeSampleAllocatorEx(This,initial_sample_count,max_sample_count,attributes,media_type) (This)->lpVtbl->InitializeSampleAllocatorEx(This,initial_sample_count,max_sample_count,attributes,media_type) #else /*** IUnknown methods ***/ static inline HRESULT IMFVideoSampleAllocatorEx_QueryInterface(IMFVideoSampleAllocatorEx* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFVideoSampleAllocatorEx_AddRef(IMFVideoSampleAllocatorEx* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFVideoSampleAllocatorEx_Release(IMFVideoSampleAllocatorEx* This) { return This->lpVtbl->Release(This); } /*** IMFVideoSampleAllocator methods ***/ static inline HRESULT IMFVideoSampleAllocatorEx_SetDirectXManager(IMFVideoSampleAllocatorEx* This,IUnknown *manager) { return This->lpVtbl->SetDirectXManager(This,manager); } static inline HRESULT IMFVideoSampleAllocatorEx_UninitializeSampleAllocator(IMFVideoSampleAllocatorEx* This) { return This->lpVtbl->UninitializeSampleAllocator(This); } static inline HRESULT IMFVideoSampleAllocatorEx_InitializeSampleAllocator(IMFVideoSampleAllocatorEx* This,DWORD sample_count,IMFMediaType *media_type) { return This->lpVtbl->InitializeSampleAllocator(This,sample_count,media_type); } static inline HRESULT IMFVideoSampleAllocatorEx_AllocateSample(IMFVideoSampleAllocatorEx* This,IMFSample **sample) { return This->lpVtbl->AllocateSample(This,sample); } /*** IMFVideoSampleAllocatorEx methods ***/ static inline HRESULT IMFVideoSampleAllocatorEx_InitializeSampleAllocatorEx(IMFVideoSampleAllocatorEx* This,DWORD initial_sample_count,DWORD max_sample_count,IMFAttributes *attributes,IMFMediaType *media_type) { return This->lpVtbl->InitializeSampleAllocatorEx(This,initial_sample_count,max_sample_count,attributes,media_type); } #endif #endif #endif #endif /* __IMFVideoSampleAllocatorEx_INTERFACE_DEFINED__ */ typedef enum _MF_VIDEO_PROCESSOR_MIRROR { MIRROR_NONE = 0, MIRROR_HORIZONTAL = 1, MIRROR_VERTICAL = 2 } MF_VIDEO_PROCESSOR_MIRROR; typedef enum _MF_VIDEO_PROCESSOR_ROTATION { ROTATION_NONE = 0, ROTATION_NORMAL = 1 } MF_VIDEO_PROCESSOR_ROTATION; /***************************************************************************** * IMFVideoProcessorControl interface */ #ifndef __IMFVideoProcessorControl_INTERFACE_DEFINED__ #define __IMFVideoProcessorControl_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFVideoProcessorControl, 0xa3f675d5, 0x6119, 0x4f7f, 0xa1,0x00, 0x1d,0x8b,0x28,0x0f,0x0e,0xfb); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("a3f675d5-6119-4f7f-a100-1d8b280f0efb") IMFVideoProcessorControl : public IUnknown { virtual HRESULT STDMETHODCALLTYPE SetBorderColor( MFARGB *color) = 0; virtual HRESULT STDMETHODCALLTYPE SetSourceRectangle( RECT *rect) = 0; virtual HRESULT STDMETHODCALLTYPE SetDestinationRectangle( RECT *rect) = 0; virtual HRESULT STDMETHODCALLTYPE SetMirror( MF_VIDEO_PROCESSOR_MIRROR mirror) = 0; virtual HRESULT STDMETHODCALLTYPE SetRotation( MF_VIDEO_PROCESSOR_ROTATION rotation) = 0; virtual HRESULT STDMETHODCALLTYPE SetConstrictionSize( SIZE *size) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFVideoProcessorControl, 0xa3f675d5, 0x6119, 0x4f7f, 0xa1,0x00, 0x1d,0x8b,0x28,0x0f,0x0e,0xfb) #endif #else typedef struct IMFVideoProcessorControlVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFVideoProcessorControl *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFVideoProcessorControl *This); ULONG (STDMETHODCALLTYPE *Release)( IMFVideoProcessorControl *This); /*** IMFVideoProcessorControl methods ***/ HRESULT (STDMETHODCALLTYPE *SetBorderColor)( IMFVideoProcessorControl *This, MFARGB *color); HRESULT (STDMETHODCALLTYPE *SetSourceRectangle)( IMFVideoProcessorControl *This, RECT *rect); HRESULT (STDMETHODCALLTYPE *SetDestinationRectangle)( IMFVideoProcessorControl *This, RECT *rect); HRESULT (STDMETHODCALLTYPE *SetMirror)( IMFVideoProcessorControl *This, MF_VIDEO_PROCESSOR_MIRROR mirror); HRESULT (STDMETHODCALLTYPE *SetRotation)( IMFVideoProcessorControl *This, MF_VIDEO_PROCESSOR_ROTATION rotation); HRESULT (STDMETHODCALLTYPE *SetConstrictionSize)( IMFVideoProcessorControl *This, SIZE *size); END_INTERFACE } IMFVideoProcessorControlVtbl; interface IMFVideoProcessorControl { CONST_VTBL IMFVideoProcessorControlVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFVideoProcessorControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFVideoProcessorControl_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFVideoProcessorControl_Release(This) (This)->lpVtbl->Release(This) /*** IMFVideoProcessorControl methods ***/ #define IMFVideoProcessorControl_SetBorderColor(This,color) (This)->lpVtbl->SetBorderColor(This,color) #define IMFVideoProcessorControl_SetSourceRectangle(This,rect) (This)->lpVtbl->SetSourceRectangle(This,rect) #define IMFVideoProcessorControl_SetDestinationRectangle(This,rect) (This)->lpVtbl->SetDestinationRectangle(This,rect) #define IMFVideoProcessorControl_SetMirror(This,mirror) (This)->lpVtbl->SetMirror(This,mirror) #define IMFVideoProcessorControl_SetRotation(This,rotation) (This)->lpVtbl->SetRotation(This,rotation) #define IMFVideoProcessorControl_SetConstrictionSize(This,size) (This)->lpVtbl->SetConstrictionSize(This,size) #else /*** IUnknown methods ***/ static inline HRESULT IMFVideoProcessorControl_QueryInterface(IMFVideoProcessorControl* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFVideoProcessorControl_AddRef(IMFVideoProcessorControl* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFVideoProcessorControl_Release(IMFVideoProcessorControl* This) { return This->lpVtbl->Release(This); } /*** IMFVideoProcessorControl methods ***/ static inline HRESULT IMFVideoProcessorControl_SetBorderColor(IMFVideoProcessorControl* This,MFARGB *color) { return This->lpVtbl->SetBorderColor(This,color); } static inline HRESULT IMFVideoProcessorControl_SetSourceRectangle(IMFVideoProcessorControl* This,RECT *rect) { return This->lpVtbl->SetSourceRectangle(This,rect); } static inline HRESULT IMFVideoProcessorControl_SetDestinationRectangle(IMFVideoProcessorControl* This,RECT *rect) { return This->lpVtbl->SetDestinationRectangle(This,rect); } static inline HRESULT IMFVideoProcessorControl_SetMirror(IMFVideoProcessorControl* This,MF_VIDEO_PROCESSOR_MIRROR mirror) { return This->lpVtbl->SetMirror(This,mirror); } static inline HRESULT IMFVideoProcessorControl_SetRotation(IMFVideoProcessorControl* This,MF_VIDEO_PROCESSOR_ROTATION rotation) { return This->lpVtbl->SetRotation(This,rotation); } static inline HRESULT IMFVideoProcessorControl_SetConstrictionSize(IMFVideoProcessorControl* This,SIZE *size) { return This->lpVtbl->SetConstrictionSize(This,size); } #endif #endif #endif #endif /* __IMFVideoProcessorControl_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFVideoProcessorControl2 interface */ #ifndef __IMFVideoProcessorControl2_INTERFACE_DEFINED__ #define __IMFVideoProcessorControl2_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFVideoProcessorControl2, 0xbde633d3, 0xe1dc, 0x4a7f, 0xa6,0x93, 0xbb,0xae,0x39,0x9c,0x4a,0x20); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("bde633d3-e1dc-4a7f-a693-bbae399c4a20") IMFVideoProcessorControl2 : public IMFVideoProcessorControl { virtual HRESULT STDMETHODCALLTYPE SetRotationOverride( UINT rotation) = 0; virtual HRESULT STDMETHODCALLTYPE EnableHardwareEffects( BOOL enabled) = 0; virtual HRESULT STDMETHODCALLTYPE GetSupportedHardwareEffects( UINT *support) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFVideoProcessorControl2, 0xbde633d3, 0xe1dc, 0x4a7f, 0xa6,0x93, 0xbb,0xae,0x39,0x9c,0x4a,0x20) #endif #else typedef struct IMFVideoProcessorControl2Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFVideoProcessorControl2 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFVideoProcessorControl2 *This); ULONG (STDMETHODCALLTYPE *Release)( IMFVideoProcessorControl2 *This); /*** IMFVideoProcessorControl methods ***/ HRESULT (STDMETHODCALLTYPE *SetBorderColor)( IMFVideoProcessorControl2 *This, MFARGB *color); HRESULT (STDMETHODCALLTYPE *SetSourceRectangle)( IMFVideoProcessorControl2 *This, RECT *rect); HRESULT (STDMETHODCALLTYPE *SetDestinationRectangle)( IMFVideoProcessorControl2 *This, RECT *rect); HRESULT (STDMETHODCALLTYPE *SetMirror)( IMFVideoProcessorControl2 *This, MF_VIDEO_PROCESSOR_MIRROR mirror); HRESULT (STDMETHODCALLTYPE *SetRotation)( IMFVideoProcessorControl2 *This, MF_VIDEO_PROCESSOR_ROTATION rotation); HRESULT (STDMETHODCALLTYPE *SetConstrictionSize)( IMFVideoProcessorControl2 *This, SIZE *size); /*** IMFVideoProcessorControl2 methods ***/ HRESULT (STDMETHODCALLTYPE *SetRotationOverride)( IMFVideoProcessorControl2 *This, UINT rotation); HRESULT (STDMETHODCALLTYPE *EnableHardwareEffects)( IMFVideoProcessorControl2 *This, BOOL enabled); HRESULT (STDMETHODCALLTYPE *GetSupportedHardwareEffects)( IMFVideoProcessorControl2 *This, UINT *support); END_INTERFACE } IMFVideoProcessorControl2Vtbl; interface IMFVideoProcessorControl2 { CONST_VTBL IMFVideoProcessorControl2Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFVideoProcessorControl2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFVideoProcessorControl2_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFVideoProcessorControl2_Release(This) (This)->lpVtbl->Release(This) /*** IMFVideoProcessorControl methods ***/ #define IMFVideoProcessorControl2_SetBorderColor(This,color) (This)->lpVtbl->SetBorderColor(This,color) #define IMFVideoProcessorControl2_SetSourceRectangle(This,rect) (This)->lpVtbl->SetSourceRectangle(This,rect) #define IMFVideoProcessorControl2_SetDestinationRectangle(This,rect) (This)->lpVtbl->SetDestinationRectangle(This,rect) #define IMFVideoProcessorControl2_SetMirror(This,mirror) (This)->lpVtbl->SetMirror(This,mirror) #define IMFVideoProcessorControl2_SetRotation(This,rotation) (This)->lpVtbl->SetRotation(This,rotation) #define IMFVideoProcessorControl2_SetConstrictionSize(This,size) (This)->lpVtbl->SetConstrictionSize(This,size) /*** IMFVideoProcessorControl2 methods ***/ #define IMFVideoProcessorControl2_SetRotationOverride(This,rotation) (This)->lpVtbl->SetRotationOverride(This,rotation) #define IMFVideoProcessorControl2_EnableHardwareEffects(This,enabled) (This)->lpVtbl->EnableHardwareEffects(This,enabled) #define IMFVideoProcessorControl2_GetSupportedHardwareEffects(This,support) (This)->lpVtbl->GetSupportedHardwareEffects(This,support) #else /*** IUnknown methods ***/ static inline HRESULT IMFVideoProcessorControl2_QueryInterface(IMFVideoProcessorControl2* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFVideoProcessorControl2_AddRef(IMFVideoProcessorControl2* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFVideoProcessorControl2_Release(IMFVideoProcessorControl2* This) { return This->lpVtbl->Release(This); } /*** IMFVideoProcessorControl methods ***/ static inline HRESULT IMFVideoProcessorControl2_SetBorderColor(IMFVideoProcessorControl2* This,MFARGB *color) { return This->lpVtbl->SetBorderColor(This,color); } static inline HRESULT IMFVideoProcessorControl2_SetSourceRectangle(IMFVideoProcessorControl2* This,RECT *rect) { return This->lpVtbl->SetSourceRectangle(This,rect); } static inline HRESULT IMFVideoProcessorControl2_SetDestinationRectangle(IMFVideoProcessorControl2* This,RECT *rect) { return This->lpVtbl->SetDestinationRectangle(This,rect); } static inline HRESULT IMFVideoProcessorControl2_SetMirror(IMFVideoProcessorControl2* This,MF_VIDEO_PROCESSOR_MIRROR mirror) { return This->lpVtbl->SetMirror(This,mirror); } static inline HRESULT IMFVideoProcessorControl2_SetRotation(IMFVideoProcessorControl2* This,MF_VIDEO_PROCESSOR_ROTATION rotation) { return This->lpVtbl->SetRotation(This,rotation); } static inline HRESULT IMFVideoProcessorControl2_SetConstrictionSize(IMFVideoProcessorControl2* This,SIZE *size) { return This->lpVtbl->SetConstrictionSize(This,size); } /*** IMFVideoProcessorControl2 methods ***/ static inline HRESULT IMFVideoProcessorControl2_SetRotationOverride(IMFVideoProcessorControl2* This,UINT rotation) { return This->lpVtbl->SetRotationOverride(This,rotation); } static inline HRESULT IMFVideoProcessorControl2_EnableHardwareEffects(IMFVideoProcessorControl2* This,BOOL enabled) { return This->lpVtbl->EnableHardwareEffects(This,enabled); } static inline HRESULT IMFVideoProcessorControl2_GetSupportedHardwareEffects(IMFVideoProcessorControl2* This,UINT *support) { return This->lpVtbl->GetSupportedHardwareEffects(This,support); } #endif #endif #endif #endif /* __IMFVideoProcessorControl2_INTERFACE_DEFINED__ */ typedef enum _MFVideoSphericalFormat { MFVideoSphericalFormat_Unsupported = 0, MFVideoSphericalFormat_Equirectangular = 1 } MFVideoSphericalFormat; typedef enum MFVideoSphericalProjectionMode { MFVideoSphericalProjectionMode_Spherical = 0, MFVideoSphericalProjectionMode_Flat = 1 } MFVideoSphericalProjectionMode; /***************************************************************************** * IMFVideoProcessorControl3 interface */ #ifndef __IMFVideoProcessorControl3_INTERFACE_DEFINED__ #define __IMFVideoProcessorControl3_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFVideoProcessorControl3, 0x2424b3f2, 0xeb23, 0x40f1, 0x91,0xaa, 0x74,0xbd,0xde,0xea,0x08,0x83); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("2424b3f2-eb23-40f1-91aa-74bddeea0883") IMFVideoProcessorControl3 : public IMFVideoProcessorControl2 { virtual HRESULT STDMETHODCALLTYPE GetNaturalOutputType( IMFMediaType **media_type) = 0; virtual HRESULT STDMETHODCALLTYPE EnableSphericalVideoProcessing( BOOL enable, MFVideoSphericalFormat format, MFVideoSphericalProjectionMode projection_mode) = 0; virtual HRESULT STDMETHODCALLTYPE SetSphericalVideoProperties( float x, float y, float z, float w, float fov) = 0; virtual HRESULT STDMETHODCALLTYPE SetOutputDevice( IUnknown *output_device) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFVideoProcessorControl3, 0x2424b3f2, 0xeb23, 0x40f1, 0x91,0xaa, 0x74,0xbd,0xde,0xea,0x08,0x83) #endif #else typedef struct IMFVideoProcessorControl3Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFVideoProcessorControl3 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFVideoProcessorControl3 *This); ULONG (STDMETHODCALLTYPE *Release)( IMFVideoProcessorControl3 *This); /*** IMFVideoProcessorControl methods ***/ HRESULT (STDMETHODCALLTYPE *SetBorderColor)( IMFVideoProcessorControl3 *This, MFARGB *color); HRESULT (STDMETHODCALLTYPE *SetSourceRectangle)( IMFVideoProcessorControl3 *This, RECT *rect); HRESULT (STDMETHODCALLTYPE *SetDestinationRectangle)( IMFVideoProcessorControl3 *This, RECT *rect); HRESULT (STDMETHODCALLTYPE *SetMirror)( IMFVideoProcessorControl3 *This, MF_VIDEO_PROCESSOR_MIRROR mirror); HRESULT (STDMETHODCALLTYPE *SetRotation)( IMFVideoProcessorControl3 *This, MF_VIDEO_PROCESSOR_ROTATION rotation); HRESULT (STDMETHODCALLTYPE *SetConstrictionSize)( IMFVideoProcessorControl3 *This, SIZE *size); /*** IMFVideoProcessorControl2 methods ***/ HRESULT (STDMETHODCALLTYPE *SetRotationOverride)( IMFVideoProcessorControl3 *This, UINT rotation); HRESULT (STDMETHODCALLTYPE *EnableHardwareEffects)( IMFVideoProcessorControl3 *This, BOOL enabled); HRESULT (STDMETHODCALLTYPE *GetSupportedHardwareEffects)( IMFVideoProcessorControl3 *This, UINT *support); /*** IMFVideoProcessorControl3 methods ***/ HRESULT (STDMETHODCALLTYPE *GetNaturalOutputType)( IMFVideoProcessorControl3 *This, IMFMediaType **media_type); HRESULT (STDMETHODCALLTYPE *EnableSphericalVideoProcessing)( IMFVideoProcessorControl3 *This, BOOL enable, MFVideoSphericalFormat format, MFVideoSphericalProjectionMode projection_mode); HRESULT (STDMETHODCALLTYPE *SetSphericalVideoProperties)( IMFVideoProcessorControl3 *This, float x, float y, float z, float w, float fov); HRESULT (STDMETHODCALLTYPE *SetOutputDevice)( IMFVideoProcessorControl3 *This, IUnknown *output_device); END_INTERFACE } IMFVideoProcessorControl3Vtbl; interface IMFVideoProcessorControl3 { CONST_VTBL IMFVideoProcessorControl3Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFVideoProcessorControl3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFVideoProcessorControl3_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFVideoProcessorControl3_Release(This) (This)->lpVtbl->Release(This) /*** IMFVideoProcessorControl methods ***/ #define IMFVideoProcessorControl3_SetBorderColor(This,color) (This)->lpVtbl->SetBorderColor(This,color) #define IMFVideoProcessorControl3_SetSourceRectangle(This,rect) (This)->lpVtbl->SetSourceRectangle(This,rect) #define IMFVideoProcessorControl3_SetDestinationRectangle(This,rect) (This)->lpVtbl->SetDestinationRectangle(This,rect) #define IMFVideoProcessorControl3_SetMirror(This,mirror) (This)->lpVtbl->SetMirror(This,mirror) #define IMFVideoProcessorControl3_SetRotation(This,rotation) (This)->lpVtbl->SetRotation(This,rotation) #define IMFVideoProcessorControl3_SetConstrictionSize(This,size) (This)->lpVtbl->SetConstrictionSize(This,size) /*** IMFVideoProcessorControl2 methods ***/ #define IMFVideoProcessorControl3_SetRotationOverride(This,rotation) (This)->lpVtbl->SetRotationOverride(This,rotation) #define IMFVideoProcessorControl3_EnableHardwareEffects(This,enabled) (This)->lpVtbl->EnableHardwareEffects(This,enabled) #define IMFVideoProcessorControl3_GetSupportedHardwareEffects(This,support) (This)->lpVtbl->GetSupportedHardwareEffects(This,support) /*** IMFVideoProcessorControl3 methods ***/ #define IMFVideoProcessorControl3_GetNaturalOutputType(This,media_type) (This)->lpVtbl->GetNaturalOutputType(This,media_type) #define IMFVideoProcessorControl3_EnableSphericalVideoProcessing(This,enable,format,projection_mode) (This)->lpVtbl->EnableSphericalVideoProcessing(This,enable,format,projection_mode) #define IMFVideoProcessorControl3_SetSphericalVideoProperties(This,x,y,z,w,fov) (This)->lpVtbl->SetSphericalVideoProperties(This,x,y,z,w,fov) #define IMFVideoProcessorControl3_SetOutputDevice(This,output_device) (This)->lpVtbl->SetOutputDevice(This,output_device) #else /*** IUnknown methods ***/ static inline HRESULT IMFVideoProcessorControl3_QueryInterface(IMFVideoProcessorControl3* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFVideoProcessorControl3_AddRef(IMFVideoProcessorControl3* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFVideoProcessorControl3_Release(IMFVideoProcessorControl3* This) { return This->lpVtbl->Release(This); } /*** IMFVideoProcessorControl methods ***/ static inline HRESULT IMFVideoProcessorControl3_SetBorderColor(IMFVideoProcessorControl3* This,MFARGB *color) { return This->lpVtbl->SetBorderColor(This,color); } static inline HRESULT IMFVideoProcessorControl3_SetSourceRectangle(IMFVideoProcessorControl3* This,RECT *rect) { return This->lpVtbl->SetSourceRectangle(This,rect); } static inline HRESULT IMFVideoProcessorControl3_SetDestinationRectangle(IMFVideoProcessorControl3* This,RECT *rect) { return This->lpVtbl->SetDestinationRectangle(This,rect); } static inline HRESULT IMFVideoProcessorControl3_SetMirror(IMFVideoProcessorControl3* This,MF_VIDEO_PROCESSOR_MIRROR mirror) { return This->lpVtbl->SetMirror(This,mirror); } static inline HRESULT IMFVideoProcessorControl3_SetRotation(IMFVideoProcessorControl3* This,MF_VIDEO_PROCESSOR_ROTATION rotation) { return This->lpVtbl->SetRotation(This,rotation); } static inline HRESULT IMFVideoProcessorControl3_SetConstrictionSize(IMFVideoProcessorControl3* This,SIZE *size) { return This->lpVtbl->SetConstrictionSize(This,size); } /*** IMFVideoProcessorControl2 methods ***/ static inline HRESULT IMFVideoProcessorControl3_SetRotationOverride(IMFVideoProcessorControl3* This,UINT rotation) { return This->lpVtbl->SetRotationOverride(This,rotation); } static inline HRESULT IMFVideoProcessorControl3_EnableHardwareEffects(IMFVideoProcessorControl3* This,BOOL enabled) { return This->lpVtbl->EnableHardwareEffects(This,enabled); } static inline HRESULT IMFVideoProcessorControl3_GetSupportedHardwareEffects(IMFVideoProcessorControl3* This,UINT *support) { return This->lpVtbl->GetSupportedHardwareEffects(This,support); } /*** IMFVideoProcessorControl3 methods ***/ static inline HRESULT IMFVideoProcessorControl3_GetNaturalOutputType(IMFVideoProcessorControl3* This,IMFMediaType **media_type) { return This->lpVtbl->GetNaturalOutputType(This,media_type); } static inline HRESULT IMFVideoProcessorControl3_EnableSphericalVideoProcessing(IMFVideoProcessorControl3* This,BOOL enable,MFVideoSphericalFormat format,MFVideoSphericalProjectionMode projection_mode) { return This->lpVtbl->EnableSphericalVideoProcessing(This,enable,format,projection_mode); } static inline HRESULT IMFVideoProcessorControl3_SetSphericalVideoProperties(IMFVideoProcessorControl3* This,float x,float y,float z,float w,float fov) { return This->lpVtbl->SetSphericalVideoProperties(This,x,y,z,w,fov); } static inline HRESULT IMFVideoProcessorControl3_SetOutputDevice(IMFVideoProcessorControl3* This,IUnknown *output_device) { return This->lpVtbl->SetOutputDevice(This,output_device); } #endif #endif #endif #endif /* __IMFVideoProcessorControl3_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFRealTimeClient interface */ #ifndef __IMFRealTimeClient_INTERFACE_DEFINED__ #define __IMFRealTimeClient_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFRealTimeClient, 0x2347d60b, 0x3fb5, 0x480c, 0x88,0x03, 0x8d,0xf3,0xad,0xcd,0x3e,0xf0); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("2347d60b-3fb5-480c-8803-8df3adcd3ef0") IMFRealTimeClient : public IUnknown { virtual HRESULT STDMETHODCALLTYPE RegisterThreads( DWORD task_index, LPCWSTR classname) = 0; virtual HRESULT STDMETHODCALLTYPE UnregisterThreads( ) = 0; virtual HRESULT STDMETHODCALLTYPE SetWorkQueue( DWORD queue_id) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFRealTimeClient, 0x2347d60b, 0x3fb5, 0x480c, 0x88,0x03, 0x8d,0xf3,0xad,0xcd,0x3e,0xf0) #endif #else typedef struct IMFRealTimeClientVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFRealTimeClient *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFRealTimeClient *This); ULONG (STDMETHODCALLTYPE *Release)( IMFRealTimeClient *This); /*** IMFRealTimeClient methods ***/ HRESULT (STDMETHODCALLTYPE *RegisterThreads)( IMFRealTimeClient *This, DWORD task_index, LPCWSTR classname); HRESULT (STDMETHODCALLTYPE *UnregisterThreads)( IMFRealTimeClient *This); HRESULT (STDMETHODCALLTYPE *SetWorkQueue)( IMFRealTimeClient *This, DWORD queue_id); END_INTERFACE } IMFRealTimeClientVtbl; interface IMFRealTimeClient { CONST_VTBL IMFRealTimeClientVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFRealTimeClient_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFRealTimeClient_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFRealTimeClient_Release(This) (This)->lpVtbl->Release(This) /*** IMFRealTimeClient methods ***/ #define IMFRealTimeClient_RegisterThreads(This,task_index,classname) (This)->lpVtbl->RegisterThreads(This,task_index,classname) #define IMFRealTimeClient_UnregisterThreads(This) (This)->lpVtbl->UnregisterThreads(This) #define IMFRealTimeClient_SetWorkQueue(This,queue_id) (This)->lpVtbl->SetWorkQueue(This,queue_id) #else /*** IUnknown methods ***/ static inline HRESULT IMFRealTimeClient_QueryInterface(IMFRealTimeClient* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFRealTimeClient_AddRef(IMFRealTimeClient* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFRealTimeClient_Release(IMFRealTimeClient* This) { return This->lpVtbl->Release(This); } /*** IMFRealTimeClient methods ***/ static inline HRESULT IMFRealTimeClient_RegisterThreads(IMFRealTimeClient* This,DWORD task_index,LPCWSTR classname) { return This->lpVtbl->RegisterThreads(This,task_index,classname); } static inline HRESULT IMFRealTimeClient_UnregisterThreads(IMFRealTimeClient* This) { return This->lpVtbl->UnregisterThreads(This); } static inline HRESULT IMFRealTimeClient_SetWorkQueue(IMFRealTimeClient* This,DWORD queue_id) { return This->lpVtbl->SetWorkQueue(This,queue_id); } #endif #endif #endif #endif /* __IMFRealTimeClient_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFRealTimeClientEx interface */ #ifndef __IMFRealTimeClientEx_INTERFACE_DEFINED__ #define __IMFRealTimeClientEx_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFRealTimeClientEx, 0x03910848, 0xab16, 0x4611, 0xb1,0x00, 0x17,0xb8,0x8a,0xe2,0xf2,0x48); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("03910848-ab16-4611-b100-17b88ae2f248") IMFRealTimeClientEx : public IUnknown { virtual HRESULT STDMETHODCALLTYPE RegisterThreadsEx( DWORD *task_index, LPCWSTR classname, LONG basepriority) = 0; virtual HRESULT STDMETHODCALLTYPE UnregisterThreads( ) = 0; virtual HRESULT STDMETHODCALLTYPE SetWorkQueueEx( DWORD mtqueue_id, LONG base_priority) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFRealTimeClientEx, 0x03910848, 0xab16, 0x4611, 0xb1,0x00, 0x17,0xb8,0x8a,0xe2,0xf2,0x48) #endif #else typedef struct IMFRealTimeClientExVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFRealTimeClientEx *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFRealTimeClientEx *This); ULONG (STDMETHODCALLTYPE *Release)( IMFRealTimeClientEx *This); /*** IMFRealTimeClientEx methods ***/ HRESULT (STDMETHODCALLTYPE *RegisterThreadsEx)( IMFRealTimeClientEx *This, DWORD *task_index, LPCWSTR classname, LONG basepriority); HRESULT (STDMETHODCALLTYPE *UnregisterThreads)( IMFRealTimeClientEx *This); HRESULT (STDMETHODCALLTYPE *SetWorkQueueEx)( IMFRealTimeClientEx *This, DWORD mtqueue_id, LONG base_priority); END_INTERFACE } IMFRealTimeClientExVtbl; interface IMFRealTimeClientEx { CONST_VTBL IMFRealTimeClientExVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFRealTimeClientEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFRealTimeClientEx_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFRealTimeClientEx_Release(This) (This)->lpVtbl->Release(This) /*** IMFRealTimeClientEx methods ***/ #define IMFRealTimeClientEx_RegisterThreadsEx(This,task_index,classname,basepriority) (This)->lpVtbl->RegisterThreadsEx(This,task_index,classname,basepriority) #define IMFRealTimeClientEx_UnregisterThreads(This) (This)->lpVtbl->UnregisterThreads(This) #define IMFRealTimeClientEx_SetWorkQueueEx(This,mtqueue_id,base_priority) (This)->lpVtbl->SetWorkQueueEx(This,mtqueue_id,base_priority) #else /*** IUnknown methods ***/ static inline HRESULT IMFRealTimeClientEx_QueryInterface(IMFRealTimeClientEx* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFRealTimeClientEx_AddRef(IMFRealTimeClientEx* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFRealTimeClientEx_Release(IMFRealTimeClientEx* This) { return This->lpVtbl->Release(This); } /*** IMFRealTimeClientEx methods ***/ static inline HRESULT IMFRealTimeClientEx_RegisterThreadsEx(IMFRealTimeClientEx* This,DWORD *task_index,LPCWSTR classname,LONG basepriority) { return This->lpVtbl->RegisterThreadsEx(This,task_index,classname,basepriority); } static inline HRESULT IMFRealTimeClientEx_UnregisterThreads(IMFRealTimeClientEx* This) { return This->lpVtbl->UnregisterThreads(This); } static inline HRESULT IMFRealTimeClientEx_SetWorkQueueEx(IMFRealTimeClientEx* This,DWORD mtqueue_id,LONG base_priority) { return This->lpVtbl->SetWorkQueueEx(This,mtqueue_id,base_priority); } #endif #endif #endif #endif /* __IMFRealTimeClientEx_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFWorkQueueServices interface */ #ifndef __IMFWorkQueueServices_INTERFACE_DEFINED__ #define __IMFWorkQueueServices_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFWorkQueueServices, 0x35fe1bb8, 0xa3a9, 0x40fe, 0xbb,0xec, 0xeb,0x56,0x9c,0x9c,0xcc,0xa3); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("35fe1bb8-a3a9-40fe-bbec-eb569c9ccca3") IMFWorkQueueServices : public IUnknown { virtual HRESULT STDMETHODCALLTYPE BeginRegisterTopologyWorkQueuesWithMMCSS( IMFAsyncCallback *callback, IUnknown *state) = 0; virtual HRESULT STDMETHODCALLTYPE EndRegisterTopologyWorkQueuesWithMMCSS( IMFAsyncResult *result) = 0; virtual HRESULT STDMETHODCALLTYPE BeginUnregisterTopologyWorkQueuesWithMMCSS( IMFAsyncCallback *callback, IUnknown *state) = 0; virtual HRESULT STDMETHODCALLTYPE EndUnregisterTopologyWorkQueuesWithMMCSS( IMFAsyncResult *result) = 0; virtual HRESULT STDMETHODCALLTYPE GetTopologyWorkQueueMMCSSClass( DWORD queue, LPWSTR classname, DWORD *classname_len) = 0; virtual HRESULT STDMETHODCALLTYPE GetTopologyWorkQueueMMCSSTaskId( DWORD queue, DWORD *taksid) = 0; virtual HRESULT STDMETHODCALLTYPE BeginRegisterPlatformWorkQueueWithMMCSS( DWORD platform_queue, LPCWSTR classname, DWORD taskid, IMFAsyncCallback *callback, IUnknown *state) = 0; virtual HRESULT STDMETHODCALLTYPE EndRegisterPlatformWorkQueueWithMMCSS( IMFAsyncResult *result, DWORD *taskid) = 0; virtual HRESULT STDMETHODCALLTYPE BeginUnregisterPlatformWorkQueueWithMMCSS( DWORD platform_queue, IMFAsyncCallback *callback, IUnknown *state) = 0; virtual HRESULT STDMETHODCALLTYPE EndUnregisterPlatformWorkQueueWithMMCSS( IMFAsyncResult *result) = 0; virtual HRESULT STDMETHODCALLTYPE GetPlaftormWorkQueueMMCSSClass( DWORD platform_queue, LPWSTR classname, DWORD *classname_len) = 0; virtual HRESULT STDMETHODCALLTYPE GetPlatformWorkQueueMMCSSTaskId( DWORD platform_queue, DWORD *taskid) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFWorkQueueServices, 0x35fe1bb8, 0xa3a9, 0x40fe, 0xbb,0xec, 0xeb,0x56,0x9c,0x9c,0xcc,0xa3) #endif #else typedef struct IMFWorkQueueServicesVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFWorkQueueServices *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFWorkQueueServices *This); ULONG (STDMETHODCALLTYPE *Release)( IMFWorkQueueServices *This); /*** IMFWorkQueueServices methods ***/ HRESULT (STDMETHODCALLTYPE *BeginRegisterTopologyWorkQueuesWithMMCSS)( IMFWorkQueueServices *This, IMFAsyncCallback *callback, IUnknown *state); HRESULT (STDMETHODCALLTYPE *EndRegisterTopologyWorkQueuesWithMMCSS)( IMFWorkQueueServices *This, IMFAsyncResult *result); HRESULT (STDMETHODCALLTYPE *BeginUnregisterTopologyWorkQueuesWithMMCSS)( IMFWorkQueueServices *This, IMFAsyncCallback *callback, IUnknown *state); HRESULT (STDMETHODCALLTYPE *EndUnregisterTopologyWorkQueuesWithMMCSS)( IMFWorkQueueServices *This, IMFAsyncResult *result); HRESULT (STDMETHODCALLTYPE *GetTopologyWorkQueueMMCSSClass)( IMFWorkQueueServices *This, DWORD queue, LPWSTR classname, DWORD *classname_len); HRESULT (STDMETHODCALLTYPE *GetTopologyWorkQueueMMCSSTaskId)( IMFWorkQueueServices *This, DWORD queue, DWORD *taksid); HRESULT (STDMETHODCALLTYPE *BeginRegisterPlatformWorkQueueWithMMCSS)( IMFWorkQueueServices *This, DWORD platform_queue, LPCWSTR classname, DWORD taskid, IMFAsyncCallback *callback, IUnknown *state); HRESULT (STDMETHODCALLTYPE *EndRegisterPlatformWorkQueueWithMMCSS)( IMFWorkQueueServices *This, IMFAsyncResult *result, DWORD *taskid); HRESULT (STDMETHODCALLTYPE *BeginUnregisterPlatformWorkQueueWithMMCSS)( IMFWorkQueueServices *This, DWORD platform_queue, IMFAsyncCallback *callback, IUnknown *state); HRESULT (STDMETHODCALLTYPE *EndUnregisterPlatformWorkQueueWithMMCSS)( IMFWorkQueueServices *This, IMFAsyncResult *result); HRESULT (STDMETHODCALLTYPE *GetPlaftormWorkQueueMMCSSClass)( IMFWorkQueueServices *This, DWORD platform_queue, LPWSTR classname, DWORD *classname_len); HRESULT (STDMETHODCALLTYPE *GetPlatformWorkQueueMMCSSTaskId)( IMFWorkQueueServices *This, DWORD platform_queue, DWORD *taskid); END_INTERFACE } IMFWorkQueueServicesVtbl; interface IMFWorkQueueServices { CONST_VTBL IMFWorkQueueServicesVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFWorkQueueServices_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFWorkQueueServices_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFWorkQueueServices_Release(This) (This)->lpVtbl->Release(This) /*** IMFWorkQueueServices methods ***/ #define IMFWorkQueueServices_BeginRegisterTopologyWorkQueuesWithMMCSS(This,callback,state) (This)->lpVtbl->BeginRegisterTopologyWorkQueuesWithMMCSS(This,callback,state) #define IMFWorkQueueServices_EndRegisterTopologyWorkQueuesWithMMCSS(This,result) (This)->lpVtbl->EndRegisterTopologyWorkQueuesWithMMCSS(This,result) #define IMFWorkQueueServices_BeginUnregisterTopologyWorkQueuesWithMMCSS(This,callback,state) (This)->lpVtbl->BeginUnregisterTopologyWorkQueuesWithMMCSS(This,callback,state) #define IMFWorkQueueServices_EndUnregisterTopologyWorkQueuesWithMMCSS(This,result) (This)->lpVtbl->EndUnregisterTopologyWorkQueuesWithMMCSS(This,result) #define IMFWorkQueueServices_GetTopologyWorkQueueMMCSSClass(This,queue,classname,classname_len) (This)->lpVtbl->GetTopologyWorkQueueMMCSSClass(This,queue,classname,classname_len) #define IMFWorkQueueServices_GetTopologyWorkQueueMMCSSTaskId(This,queue,taksid) (This)->lpVtbl->GetTopologyWorkQueueMMCSSTaskId(This,queue,taksid) #define IMFWorkQueueServices_BeginRegisterPlatformWorkQueueWithMMCSS(This,platform_queue,classname,taskid,callback,state) (This)->lpVtbl->BeginRegisterPlatformWorkQueueWithMMCSS(This,platform_queue,classname,taskid,callback,state) #define IMFWorkQueueServices_EndRegisterPlatformWorkQueueWithMMCSS(This,result,taskid) (This)->lpVtbl->EndRegisterPlatformWorkQueueWithMMCSS(This,result,taskid) #define IMFWorkQueueServices_BeginUnregisterPlatformWorkQueueWithMMCSS(This,platform_queue,callback,state) (This)->lpVtbl->BeginUnregisterPlatformWorkQueueWithMMCSS(This,platform_queue,callback,state) #define IMFWorkQueueServices_EndUnregisterPlatformWorkQueueWithMMCSS(This,result) (This)->lpVtbl->EndUnregisterPlatformWorkQueueWithMMCSS(This,result) #define IMFWorkQueueServices_GetPlaftormWorkQueueMMCSSClass(This,platform_queue,classname,classname_len) (This)->lpVtbl->GetPlaftormWorkQueueMMCSSClass(This,platform_queue,classname,classname_len) #define IMFWorkQueueServices_GetPlatformWorkQueueMMCSSTaskId(This,platform_queue,taskid) (This)->lpVtbl->GetPlatformWorkQueueMMCSSTaskId(This,platform_queue,taskid) #else /*** IUnknown methods ***/ static inline HRESULT IMFWorkQueueServices_QueryInterface(IMFWorkQueueServices* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFWorkQueueServices_AddRef(IMFWorkQueueServices* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFWorkQueueServices_Release(IMFWorkQueueServices* This) { return This->lpVtbl->Release(This); } /*** IMFWorkQueueServices methods ***/ static inline HRESULT IMFWorkQueueServices_BeginRegisterTopologyWorkQueuesWithMMCSS(IMFWorkQueueServices* This,IMFAsyncCallback *callback,IUnknown *state) { return This->lpVtbl->BeginRegisterTopologyWorkQueuesWithMMCSS(This,callback,state); } static inline HRESULT IMFWorkQueueServices_EndRegisterTopologyWorkQueuesWithMMCSS(IMFWorkQueueServices* This,IMFAsyncResult *result) { return This->lpVtbl->EndRegisterTopologyWorkQueuesWithMMCSS(This,result); } static inline HRESULT IMFWorkQueueServices_BeginUnregisterTopologyWorkQueuesWithMMCSS(IMFWorkQueueServices* This,IMFAsyncCallback *callback,IUnknown *state) { return This->lpVtbl->BeginUnregisterTopologyWorkQueuesWithMMCSS(This,callback,state); } static inline HRESULT IMFWorkQueueServices_EndUnregisterTopologyWorkQueuesWithMMCSS(IMFWorkQueueServices* This,IMFAsyncResult *result) { return This->lpVtbl->EndUnregisterTopologyWorkQueuesWithMMCSS(This,result); } static inline HRESULT IMFWorkQueueServices_GetTopologyWorkQueueMMCSSClass(IMFWorkQueueServices* This,DWORD queue,LPWSTR classname,DWORD *classname_len) { return This->lpVtbl->GetTopologyWorkQueueMMCSSClass(This,queue,classname,classname_len); } static inline HRESULT IMFWorkQueueServices_GetTopologyWorkQueueMMCSSTaskId(IMFWorkQueueServices* This,DWORD queue,DWORD *taksid) { return This->lpVtbl->GetTopologyWorkQueueMMCSSTaskId(This,queue,taksid); } static inline HRESULT IMFWorkQueueServices_BeginRegisterPlatformWorkQueueWithMMCSS(IMFWorkQueueServices* This,DWORD platform_queue,LPCWSTR classname,DWORD taskid,IMFAsyncCallback *callback,IUnknown *state) { return This->lpVtbl->BeginRegisterPlatformWorkQueueWithMMCSS(This,platform_queue,classname,taskid,callback,state); } static inline HRESULT IMFWorkQueueServices_EndRegisterPlatformWorkQueueWithMMCSS(IMFWorkQueueServices* This,IMFAsyncResult *result,DWORD *taskid) { return This->lpVtbl->EndRegisterPlatformWorkQueueWithMMCSS(This,result,taskid); } static inline HRESULT IMFWorkQueueServices_BeginUnregisterPlatformWorkQueueWithMMCSS(IMFWorkQueueServices* This,DWORD platform_queue,IMFAsyncCallback *callback,IUnknown *state) { return This->lpVtbl->BeginUnregisterPlatformWorkQueueWithMMCSS(This,platform_queue,callback,state); } static inline HRESULT IMFWorkQueueServices_EndUnregisterPlatformWorkQueueWithMMCSS(IMFWorkQueueServices* This,IMFAsyncResult *result) { return This->lpVtbl->EndUnregisterPlatformWorkQueueWithMMCSS(This,result); } static inline HRESULT IMFWorkQueueServices_GetPlaftormWorkQueueMMCSSClass(IMFWorkQueueServices* This,DWORD platform_queue,LPWSTR classname,DWORD *classname_len) { return This->lpVtbl->GetPlaftormWorkQueueMMCSSClass(This,platform_queue,classname,classname_len); } static inline HRESULT IMFWorkQueueServices_GetPlatformWorkQueueMMCSSTaskId(IMFWorkQueueServices* This,DWORD platform_queue,DWORD *taskid) { return This->lpVtbl->GetPlatformWorkQueueMMCSSTaskId(This,platform_queue,taskid); } #endif #endif #endif HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_RemoteBeginRegisterTopologyWorkQueuesWithMMCSS_Proxy( IMFWorkQueueServices* This, IMFRemoteAsyncCallback *callback); void __RPC_STUB IMFWorkQueueServices_RemoteBeginRegisterTopologyWorkQueuesWithMMCSS_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_RemoteEndRegisterTopologyWorkQueuesWithMMCSS_Proxy( IMFWorkQueueServices* This, IUnknown *result); void __RPC_STUB IMFWorkQueueServices_RemoteEndRegisterTopologyWorkQueuesWithMMCSS_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_RemoteBeginUnregisterTopologyWorkQueuesWithMMCSS_Proxy( IMFWorkQueueServices* This, IMFRemoteAsyncCallback *callback); void __RPC_STUB IMFWorkQueueServices_RemoteBeginUnregisterTopologyWorkQueuesWithMMCSS_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_RemoteEndUnregisterTopologyWorkQueuesWithMMCSS_Proxy( IMFWorkQueueServices* This, IUnknown *result); void __RPC_STUB IMFWorkQueueServices_RemoteEndUnregisterTopologyWorkQueuesWithMMCSS_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_RemoteBeginRegisterPlatformWorkQueueWithMMCSS_Proxy( IMFWorkQueueServices* This, DWORD platform_queue, LPCWSTR classname, DWORD taskid, IMFRemoteAsyncCallback *callback); void __RPC_STUB IMFWorkQueueServices_RemoteBeginRegisterPlatformWorkQueueWithMMCSS_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_RemoteEndRegisterPlatformWorkQueueWithMMCSS_Proxy( IMFWorkQueueServices* This, IUnknown *result, DWORD *taskid); void __RPC_STUB IMFWorkQueueServices_RemoteEndRegisterPlatformWorkQueueWithMMCSS_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_RemoteBeginUnregisterPlatformWorkQueueWithMMCSS_Proxy( IMFWorkQueueServices* This, DWORD platform_queue, IMFRemoteAsyncCallback *callback); void __RPC_STUB IMFWorkQueueServices_RemoteBeginUnregisterPlatformWorkQueueWithMMCSS_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_RemoteEndUnregisterPlatformWorkQueueWithMMCSS_Proxy( IMFWorkQueueServices* This, IUnknown *result); void __RPC_STUB IMFWorkQueueServices_RemoteEndUnregisterPlatformWorkQueueWithMMCSS_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IMFWorkQueueServices_BeginRegisterTopologyWorkQueuesWithMMCSS_Proxy( IMFWorkQueueServices* This, IMFAsyncCallback *callback, IUnknown *state); HRESULT __RPC_STUB IMFWorkQueueServices_BeginRegisterTopologyWorkQueuesWithMMCSS_Stub( IMFWorkQueueServices* This, IMFRemoteAsyncCallback *callback); HRESULT CALLBACK IMFWorkQueueServices_EndRegisterTopologyWorkQueuesWithMMCSS_Proxy( IMFWorkQueueServices* This, IMFAsyncResult *result); HRESULT __RPC_STUB IMFWorkQueueServices_EndRegisterTopologyWorkQueuesWithMMCSS_Stub( IMFWorkQueueServices* This, IUnknown *result); HRESULT CALLBACK IMFWorkQueueServices_BeginUnregisterTopologyWorkQueuesWithMMCSS_Proxy( IMFWorkQueueServices* This, IMFAsyncCallback *callback, IUnknown *state); HRESULT __RPC_STUB IMFWorkQueueServices_BeginUnregisterTopologyWorkQueuesWithMMCSS_Stub( IMFWorkQueueServices* This, IMFRemoteAsyncCallback *callback); HRESULT CALLBACK IMFWorkQueueServices_EndUnregisterTopologyWorkQueuesWithMMCSS_Proxy( IMFWorkQueueServices* This, IMFAsyncResult *result); HRESULT __RPC_STUB IMFWorkQueueServices_EndUnregisterTopologyWorkQueuesWithMMCSS_Stub( IMFWorkQueueServices* This, IUnknown *result); HRESULT CALLBACK IMFWorkQueueServices_BeginRegisterPlatformWorkQueueWithMMCSS_Proxy( IMFWorkQueueServices* This, DWORD platform_queue, LPCWSTR classname, DWORD taskid, IMFAsyncCallback *callback, IUnknown *state); HRESULT __RPC_STUB IMFWorkQueueServices_BeginRegisterPlatformWorkQueueWithMMCSS_Stub( IMFWorkQueueServices* This, DWORD platform_queue, LPCWSTR classname, DWORD taskid, IMFRemoteAsyncCallback *callback); HRESULT CALLBACK IMFWorkQueueServices_EndRegisterPlatformWorkQueueWithMMCSS_Proxy( IMFWorkQueueServices* This, IMFAsyncResult *result, DWORD *taskid); HRESULT __RPC_STUB IMFWorkQueueServices_EndRegisterPlatformWorkQueueWithMMCSS_Stub( IMFWorkQueueServices* This, IUnknown *result, DWORD *taskid); HRESULT CALLBACK IMFWorkQueueServices_BeginUnregisterPlatformWorkQueueWithMMCSS_Proxy( IMFWorkQueueServices* This, DWORD platform_queue, IMFAsyncCallback *callback, IUnknown *state); HRESULT __RPC_STUB IMFWorkQueueServices_BeginUnregisterPlatformWorkQueueWithMMCSS_Stub( IMFWorkQueueServices* This, DWORD platform_queue, IMFRemoteAsyncCallback *callback); HRESULT CALLBACK IMFWorkQueueServices_EndUnregisterPlatformWorkQueueWithMMCSS_Proxy( IMFWorkQueueServices* This, IMFAsyncResult *result); HRESULT __RPC_STUB IMFWorkQueueServices_EndUnregisterPlatformWorkQueueWithMMCSS_Stub( IMFWorkQueueServices* This, IUnknown *result); #endif /* __IMFWorkQueueServices_INTERFACE_DEFINED__ */ /***************************************************************************** * IMFWorkQueueServicesEx interface */ #ifndef __IMFWorkQueueServicesEx_INTERFACE_DEFINED__ #define __IMFWorkQueueServicesEx_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMFWorkQueueServicesEx, 0x96bf961b, 0x40fe, 0x42f1, 0xba,0x9d, 0x32,0x02,0x38,0xb4,0x97,0x00); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("96bf961b-40fe-42f1-ba9d-320238b49700") IMFWorkQueueServicesEx : public IMFWorkQueueServices { virtual HRESULT STDMETHODCALLTYPE GetTopologyWorkQueueMMCSSPriority( DWORD queueid, LONG *priority) = 0; virtual HRESULT STDMETHODCALLTYPE BeginRegisterPlatformWorkQueueWithMMCSSEx( DWORD platform_queue, LPCWSTR classname, DWORD taskid, LONG priority, IMFAsyncCallback *callback, IUnknown *state) = 0; virtual HRESULT STDMETHODCALLTYPE GetPlatformWorkQueueMMCSSPriority( DWORD platform_queue, LONG *priority) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMFWorkQueueServicesEx, 0x96bf961b, 0x40fe, 0x42f1, 0xba,0x9d, 0x32,0x02,0x38,0xb4,0x97,0x00) #endif #else typedef struct IMFWorkQueueServicesExVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMFWorkQueueServicesEx *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMFWorkQueueServicesEx *This); ULONG (STDMETHODCALLTYPE *Release)( IMFWorkQueueServicesEx *This); /*** IMFWorkQueueServices methods ***/ HRESULT (STDMETHODCALLTYPE *BeginRegisterTopologyWorkQueuesWithMMCSS)( IMFWorkQueueServicesEx *This, IMFAsyncCallback *callback, IUnknown *state); HRESULT (STDMETHODCALLTYPE *EndRegisterTopologyWorkQueuesWithMMCSS)( IMFWorkQueueServicesEx *This, IMFAsyncResult *result); HRESULT (STDMETHODCALLTYPE *BeginUnregisterTopologyWorkQueuesWithMMCSS)( IMFWorkQueueServicesEx *This, IMFAsyncCallback *callback, IUnknown *state); HRESULT (STDMETHODCALLTYPE *EndUnregisterTopologyWorkQueuesWithMMCSS)( IMFWorkQueueServicesEx *This, IMFAsyncResult *result); HRESULT (STDMETHODCALLTYPE *GetTopologyWorkQueueMMCSSClass)( IMFWorkQueueServicesEx *This, DWORD queue, LPWSTR classname, DWORD *classname_len); HRESULT (STDMETHODCALLTYPE *GetTopologyWorkQueueMMCSSTaskId)( IMFWorkQueueServicesEx *This, DWORD queue, DWORD *taksid); HRESULT (STDMETHODCALLTYPE *BeginRegisterPlatformWorkQueueWithMMCSS)( IMFWorkQueueServicesEx *This, DWORD platform_queue, LPCWSTR classname, DWORD taskid, IMFAsyncCallback *callback, IUnknown *state); HRESULT (STDMETHODCALLTYPE *EndRegisterPlatformWorkQueueWithMMCSS)( IMFWorkQueueServicesEx *This, IMFAsyncResult *result, DWORD *taskid); HRESULT (STDMETHODCALLTYPE *BeginUnregisterPlatformWorkQueueWithMMCSS)( IMFWorkQueueServicesEx *This, DWORD platform_queue, IMFAsyncCallback *callback, IUnknown *state); HRESULT (STDMETHODCALLTYPE *EndUnregisterPlatformWorkQueueWithMMCSS)( IMFWorkQueueServicesEx *This, IMFAsyncResult *result); HRESULT (STDMETHODCALLTYPE *GetPlaftormWorkQueueMMCSSClass)( IMFWorkQueueServicesEx *This, DWORD platform_queue, LPWSTR classname, DWORD *classname_len); HRESULT (STDMETHODCALLTYPE *GetPlatformWorkQueueMMCSSTaskId)( IMFWorkQueueServicesEx *This, DWORD platform_queue, DWORD *taskid); /*** IMFWorkQueueServicesEx methods ***/ HRESULT (STDMETHODCALLTYPE *GetTopologyWorkQueueMMCSSPriority)( IMFWorkQueueServicesEx *This, DWORD queueid, LONG *priority); HRESULT (STDMETHODCALLTYPE *BeginRegisterPlatformWorkQueueWithMMCSSEx)( IMFWorkQueueServicesEx *This, DWORD platform_queue, LPCWSTR classname, DWORD taskid, LONG priority, IMFAsyncCallback *callback, IUnknown *state); HRESULT (STDMETHODCALLTYPE *GetPlatformWorkQueueMMCSSPriority)( IMFWorkQueueServicesEx *This, DWORD platform_queue, LONG *priority); END_INTERFACE } IMFWorkQueueServicesExVtbl; interface IMFWorkQueueServicesEx { CONST_VTBL IMFWorkQueueServicesExVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMFWorkQueueServicesEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMFWorkQueueServicesEx_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMFWorkQueueServicesEx_Release(This) (This)->lpVtbl->Release(This) /*** IMFWorkQueueServices methods ***/ #define IMFWorkQueueServicesEx_BeginRegisterTopologyWorkQueuesWithMMCSS(This,callback,state) (This)->lpVtbl->BeginRegisterTopologyWorkQueuesWithMMCSS(This,callback,state) #define IMFWorkQueueServicesEx_EndRegisterTopologyWorkQueuesWithMMCSS(This,result) (This)->lpVtbl->EndRegisterTopologyWorkQueuesWithMMCSS(This,result) #define IMFWorkQueueServicesEx_BeginUnregisterTopologyWorkQueuesWithMMCSS(This,callback,state) (This)->lpVtbl->BeginUnregisterTopologyWorkQueuesWithMMCSS(This,callback,state) #define IMFWorkQueueServicesEx_EndUnregisterTopologyWorkQueuesWithMMCSS(This,result) (This)->lpVtbl->EndUnregisterTopologyWorkQueuesWithMMCSS(This,result) #define IMFWorkQueueServicesEx_GetTopologyWorkQueueMMCSSClass(This,queue,classname,classname_len) (This)->lpVtbl->GetTopologyWorkQueueMMCSSClass(This,queue,classname,classname_len) #define IMFWorkQueueServicesEx_GetTopologyWorkQueueMMCSSTaskId(This,queue,taksid) (This)->lpVtbl->GetTopologyWorkQueueMMCSSTaskId(This,queue,taksid) #define IMFWorkQueueServicesEx_BeginRegisterPlatformWorkQueueWithMMCSS(This,platform_queue,classname,taskid,callback,state) (This)->lpVtbl->BeginRegisterPlatformWorkQueueWithMMCSS(This,platform_queue,classname,taskid,callback,state) #define IMFWorkQueueServicesEx_EndRegisterPlatformWorkQueueWithMMCSS(This,result,taskid) (This)->lpVtbl->EndRegisterPlatformWorkQueueWithMMCSS(This,result,taskid) #define IMFWorkQueueServicesEx_BeginUnregisterPlatformWorkQueueWithMMCSS(This,platform_queue,callback,state) (This)->lpVtbl->BeginUnregisterPlatformWorkQueueWithMMCSS(This,platform_queue,callback,state) #define IMFWorkQueueServicesEx_EndUnregisterPlatformWorkQueueWithMMCSS(This,result) (This)->lpVtbl->EndUnregisterPlatformWorkQueueWithMMCSS(This,result) #define IMFWorkQueueServicesEx_GetPlaftormWorkQueueMMCSSClass(This,platform_queue,classname,classname_len) (This)->lpVtbl->GetPlaftormWorkQueueMMCSSClass(This,platform_queue,classname,classname_len) #define IMFWorkQueueServicesEx_GetPlatformWorkQueueMMCSSTaskId(This,platform_queue,taskid) (This)->lpVtbl->GetPlatformWorkQueueMMCSSTaskId(This,platform_queue,taskid) /*** IMFWorkQueueServicesEx methods ***/ #define IMFWorkQueueServicesEx_GetTopologyWorkQueueMMCSSPriority(This,queueid,priority) (This)->lpVtbl->GetTopologyWorkQueueMMCSSPriority(This,queueid,priority) #define IMFWorkQueueServicesEx_BeginRegisterPlatformWorkQueueWithMMCSSEx(This,platform_queue,classname,taskid,priority,callback,state) (This)->lpVtbl->BeginRegisterPlatformWorkQueueWithMMCSSEx(This,platform_queue,classname,taskid,priority,callback,state) #define IMFWorkQueueServicesEx_GetPlatformWorkQueueMMCSSPriority(This,platform_queue,priority) (This)->lpVtbl->GetPlatformWorkQueueMMCSSPriority(This,platform_queue,priority) #else /*** IUnknown methods ***/ static inline HRESULT IMFWorkQueueServicesEx_QueryInterface(IMFWorkQueueServicesEx* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMFWorkQueueServicesEx_AddRef(IMFWorkQueueServicesEx* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMFWorkQueueServicesEx_Release(IMFWorkQueueServicesEx* This) { return This->lpVtbl->Release(This); } /*** IMFWorkQueueServices methods ***/ static inline HRESULT IMFWorkQueueServicesEx_BeginRegisterTopologyWorkQueuesWithMMCSS(IMFWorkQueueServicesEx* This,IMFAsyncCallback *callback,IUnknown *state) { return This->lpVtbl->BeginRegisterTopologyWorkQueuesWithMMCSS(This,callback,state); } static inline HRESULT IMFWorkQueueServicesEx_EndRegisterTopologyWorkQueuesWithMMCSS(IMFWorkQueueServicesEx* This,IMFAsyncResult *result) { return This->lpVtbl->EndRegisterTopologyWorkQueuesWithMMCSS(This,result); } static inline HRESULT IMFWorkQueueServicesEx_BeginUnregisterTopologyWorkQueuesWithMMCSS(IMFWorkQueueServicesEx* This,IMFAsyncCallback *callback,IUnknown *state) { return This->lpVtbl->BeginUnregisterTopologyWorkQueuesWithMMCSS(This,callback,state); } static inline HRESULT IMFWorkQueueServicesEx_EndUnregisterTopologyWorkQueuesWithMMCSS(IMFWorkQueueServicesEx* This,IMFAsyncResult *result) { return This->lpVtbl->EndUnregisterTopologyWorkQueuesWithMMCSS(This,result); } static inline HRESULT IMFWorkQueueServicesEx_GetTopologyWorkQueueMMCSSClass(IMFWorkQueueServicesEx* This,DWORD queue,LPWSTR classname,DWORD *classname_len) { return This->lpVtbl->GetTopologyWorkQueueMMCSSClass(This,queue,classname,classname_len); } static inline HRESULT IMFWorkQueueServicesEx_GetTopologyWorkQueueMMCSSTaskId(IMFWorkQueueServicesEx* This,DWORD queue,DWORD *taksid) { return This->lpVtbl->GetTopologyWorkQueueMMCSSTaskId(This,queue,taksid); } static inline HRESULT IMFWorkQueueServicesEx_BeginRegisterPlatformWorkQueueWithMMCSS(IMFWorkQueueServicesEx* This,DWORD platform_queue,LPCWSTR classname,DWORD taskid,IMFAsyncCallback *callback,IUnknown *state) { return This->lpVtbl->BeginRegisterPlatformWorkQueueWithMMCSS(This,platform_queue,classname,taskid,callback,state); } static inline HRESULT IMFWorkQueueServicesEx_EndRegisterPlatformWorkQueueWithMMCSS(IMFWorkQueueServicesEx* This,IMFAsyncResult *result,DWORD *taskid) { return This->lpVtbl->EndRegisterPlatformWorkQueueWithMMCSS(This,result,taskid); } static inline HRESULT IMFWorkQueueServicesEx_BeginUnregisterPlatformWorkQueueWithMMCSS(IMFWorkQueueServicesEx* This,DWORD platform_queue,IMFAsyncCallback *callback,IUnknown *state) { return This->lpVtbl->BeginUnregisterPlatformWorkQueueWithMMCSS(This,platform_queue,callback,state); } static inline HRESULT IMFWorkQueueServicesEx_EndUnregisterPlatformWorkQueueWithMMCSS(IMFWorkQueueServicesEx* This,IMFAsyncResult *result) { return This->lpVtbl->EndUnregisterPlatformWorkQueueWithMMCSS(This,result); } static inline HRESULT IMFWorkQueueServicesEx_GetPlaftormWorkQueueMMCSSClass(IMFWorkQueueServicesEx* This,DWORD platform_queue,LPWSTR classname,DWORD *classname_len) { return This->lpVtbl->GetPlaftormWorkQueueMMCSSClass(This,platform_queue,classname,classname_len); } static inline HRESULT IMFWorkQueueServicesEx_GetPlatformWorkQueueMMCSSTaskId(IMFWorkQueueServicesEx* This,DWORD platform_queue,DWORD *taskid) { return This->lpVtbl->GetPlatformWorkQueueMMCSSTaskId(This,platform_queue,taskid); } /*** IMFWorkQueueServicesEx methods ***/ static inline HRESULT IMFWorkQueueServicesEx_GetTopologyWorkQueueMMCSSPriority(IMFWorkQueueServicesEx* This,DWORD queueid,LONG *priority) { return This->lpVtbl->GetTopologyWorkQueueMMCSSPriority(This,queueid,priority); } static inline HRESULT IMFWorkQueueServicesEx_BeginRegisterPlatformWorkQueueWithMMCSSEx(IMFWorkQueueServicesEx* This,DWORD platform_queue,LPCWSTR classname,DWORD taskid,LONG priority,IMFAsyncCallback *callback,IUnknown *state) { return This->lpVtbl->BeginRegisterPlatformWorkQueueWithMMCSSEx(This,platform_queue,classname,taskid,priority,callback,state); } static inline HRESULT IMFWorkQueueServicesEx_GetPlatformWorkQueueMMCSSPriority(IMFWorkQueueServicesEx* This,DWORD platform_queue,LONG *priority) { return This->lpVtbl->GetPlatformWorkQueueMMCSSPriority(This,platform_queue,priority); } #endif #endif #endif HRESULT STDMETHODCALLTYPE IMFWorkQueueServicesEx_RemoteBeginRegisterPlatformWorkQueueWithMMCSSEx_Proxy( IMFWorkQueueServicesEx* This, DWORD platform_queue, LPCWSTR classname, DWORD taskid, LONG priority, IMFRemoteAsyncCallback *callback); void __RPC_STUB IMFWorkQueueServicesEx_RemoteBeginRegisterPlatformWorkQueueWithMMCSSEx_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IMFWorkQueueServicesEx_BeginRegisterPlatformWorkQueueWithMMCSSEx_Proxy( IMFWorkQueueServicesEx* This, DWORD platform_queue, LPCWSTR classname, DWORD taskid, LONG priority, IMFAsyncCallback *callback, IUnknown *state); HRESULT __RPC_STUB IMFWorkQueueServicesEx_BeginRegisterPlatformWorkQueueWithMMCSSEx_Stub( IMFWorkQueueServicesEx* This, DWORD platform_queue, LPCWSTR classname, DWORD taskid, LONG priority, IMFRemoteAsyncCallback *callback); #endif /* __IMFWorkQueueServicesEx_INTERFACE_DEFINED__ */ enum { MF_ACTIVATE_CUSTOM_MIXER_ALLOWFAIL = 0x1 }; enum { MF_ACTIVATE_CUSTOM_PRESENTER_ALLOWFAIL = 0x1 }; #ifdef __cplusplus static inline HRESULT MFSetAttributeSize(IMFAttributes *attributes, REFGUID key, UINT32 width, UINT32 height) { return attributes->SetUINT64(key, ((UINT64)width << 32) | height); } static inline HRESULT MFSetAttributeRatio(IMFAttributes *attributes, REFGUID key, UINT32 numerator, UINT32 denominator) { return attributes->SetUINT64(key, ((UINT64)numerator << 32) | denominator); } #endif #define MF_AUDIO_RENDERER_ATTRIBUTE_FLAGS_CROSSPROCESS 0x00000001 #define MF_AUDIO_RENDERER_ATTRIBUTE_FLAGS_NOPERSIST 0x00000002 #define MF_AUDIO_RENDERER_ATTRIBUTE_FLAGS_DONT_ALLOW_FORMAT_CHANGES 0x00000004 EXTERN_GUID(MF_ACTIVATE_MFT_LOCKED, 0xc1f6093c, 0x7f65, 0x4fbd, 0x9e, 0x39, 0x5f, 0xae, 0xc3, 0xc4, 0xfb, 0xd7); EXTERN_GUID(MF_SD_LANGUAGE, 0x00af2180, 0xbdc2, 0x423c, 0xab, 0xca, 0xf5, 0x03, 0x59, 0x3b, 0xc1, 0x21); EXTERN_GUID(MF_SD_MUTUALLY_EXCLUSIVE, 0x023ef79c, 0x388d, 0x487f, 0xac, 0x17, 0x69, 0x6c, 0xd6, 0xe3, 0xc6, 0xf5); EXTERN_GUID(MF_SD_PROTECTED, 0x00af2181, 0xbdc2, 0x423c, 0xab, 0xca, 0xf5, 0x03, 0x59, 0x3b, 0xc1, 0x21); EXTERN_GUID(MF_SD_STREAM_NAME, 0x4f1b099d, 0xd314, 0x41e5, 0xa7, 0x81, 0x7f, 0xef, 0xaa, 0x4c, 0x50, 0x1f); EXTERN_GUID(MF_SD_SAMI_LANGUAGE, 0x36fcb98a, 0x6cd0, 0x44cb, 0xac, 0xb9, 0xa8, 0xf5, 0x60, 0x0d, 0xd0, 0xbb); EXTERN_GUID(MF_PD_PMPHOST_CONTEXT, 0x6c990d31, 0xbb8e, 0x477a, 0x85, 0x98, 0x0d, 0x5d, 0x96, 0xfc, 0xd8, 0x8a); EXTERN_GUID(MF_PD_APP_CONTEXT, 0x6c990d32, 0xbb8e, 0x477a, 0x85, 0x98, 0x0d, 0x5d, 0x96, 0xfc, 0xd8, 0x8a); EXTERN_GUID(MF_PD_DURATION, 0x6c990d33, 0xbb8e, 0x477a, 0x85, 0x98, 0x0d, 0x5d, 0x96, 0xfc, 0xd8, 0x8a); EXTERN_GUID(MF_PD_TOTAL_FILE_SIZE, 0x6c990d34, 0xbb8e, 0x477a, 0x85, 0x98, 0x0d, 0x5d, 0x96, 0xfc, 0xd8, 0x8a); EXTERN_GUID(MF_PD_AUDIO_ENCODING_BITRATE, 0x6c990d35, 0xbb8e, 0x477a, 0x85, 0x98, 0x0d, 0x5d, 0x96, 0xfc, 0xd8, 0x8a); EXTERN_GUID(MF_PD_VIDEO_ENCODING_BITRATE, 0x6c990d36, 0xbb8e, 0x477a, 0x85, 0x98, 0x0d, 0x5d, 0x96, 0xfc, 0xd8, 0x8a); EXTERN_GUID(MF_PD_MIME_TYPE, 0x6c990d37, 0xbb8e, 0x477a, 0x85, 0x98, 0x0d, 0x5d, 0x96, 0xfc, 0xd8, 0x8a); EXTERN_GUID(MF_PD_LAST_MODIFIED_TIME, 0x6c990d38, 0xbb8e, 0x477a, 0x85, 0x98, 0x0d, 0x5d, 0x96, 0xfc, 0xd8, 0x8a); EXTERN_GUID(MF_PD_PLAYBACK_ELEMENT_ID, 0x6c990d39, 0xbb8e, 0x477a, 0x85, 0x98, 0x0d, 0x5d, 0x96, 0xfc, 0xd8, 0x8a); EXTERN_GUID(MF_PD_PREFERRED_LANGUAGE, 0x6c990d3a, 0xbb8e, 0x477a, 0x85, 0x98, 0x0d, 0x5d, 0x96, 0xfc, 0xd8, 0x8a); EXTERN_GUID(MF_PD_PLAYBACK_BOUNDARY_TIME, 0x6c990d3b, 0xbb8e, 0x477a, 0x85, 0x98, 0x0d, 0x5d, 0x96, 0xfc, 0xd8, 0x8a); EXTERN_GUID(MF_PD_AUDIO_ISVARIABLEBITRATE, 0x33026ee0, 0xe387, 0x4582, 0xae, 0x0a, 0x34, 0xa2, 0xad, 0x3b, 0xaa, 0x18); DEFINE_GUID(MF_PD_ADAPTIVE_STREAMING, 0xea0d5d97, 0x29f9, 0x488b, 0xae, 0x6b, 0x7d, 0x6b, 0x41, 0x36, 0x11, 0x2b); EXTERN_GUID(MF_PD_SAMI_STYLELIST, 0xe0b73c7f, 0x486d, 0x484e, 0x98, 0x72, 0x4d, 0xe5, 0x19, 0x2a, 0x7b, 0xf8); EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE, 0xc60ac5fe, 0x252a, 0x478f, 0xa0, 0xef, 0xbc, 0x8f, 0xa5, 0xf7, 0xca, 0xd3); EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_MEDIA_TYPE, 0x56a819ca, 0x0c78, 0x4de4, 0xa0, 0xa7, 0x3d, 0xda, 0xba, 0x0f, 0x24, 0xd4); EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_FRIENDLY_NAME, 0x60d0e559, 0x52f8, 0x4fa2, 0xbb, 0xce, 0xac, 0xdb, 0x34, 0xa8, 0xec, 0x01); EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_SYMBOLIC_LINK, 0x98d24b5e, 0x5930, 0x4614, 0xb5, 0xa1, 0xf6, 0x00, 0xf9, 0x35, 0x5a, 0x78); 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, 0x00, 0x40, 0x05, 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, 0x0d, 0x1b, 0xd1, 0x63); EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_PROVIDER_DEVICE_ID, 0x36689d42, 0xa06c, 0x40ae, 0x84, 0xcf, 0xf5, 0xa0, 0x34, 0x06, 0x7c, 0xc4); 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_VIDCAP_MAX_BUFFERS, 0x7dd9b730, 0x4f2d, 0x41d5, 0x8f, 0x95, 0x0c, 0xc9, 0xa9, 0x12, 0xba, 0x26); EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_GUID, 0x14dd9a1c, 0x7cff, 0x41be, 0xb1, 0xb9, 0xba, 0x1a, 0xc6, 0xec, 0xb5, 0x71); EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_GUID, 0x8ac3587a, 0x4ae7, 0x42d8, 0x99, 0xe0, 0x0a, 0x60, 0x13, 0xee, 0xf9, 0x0f); EXTERN_GUID(MF_TOPONODE_CONNECT_METHOD, 0x494bbcf1, 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_TOPONODE_DECODER, 0x494bbd02, 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_DISABLE_PREROLL, 0x14932f9e, 0x9087, 0x4bb4, 0x84, 0x12, 0x51, 0x67, 0x14, 0x5c, 0xbe, 0x04); EXTERN_GUID(MF_TOPONODE_DISCARDABLE, 0x494bbcfb, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc); EXTERN_GUID(MF_TOPONODE_DRAIN, 0x494bbce9, 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_ERRORCODE, 0x494bbcee, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc); EXTERN_GUID(MF_TOPONODE_FLUSH, 0x494bbce8, 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_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_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_NOSHUTDOWN_ON_REMOVE, 0x14932f9c, 0x9087, 0x4bb4, 0x84, 0x12, 0x51, 0x67, 0x14, 0x5c, 0xbe, 0x04); EXTERN_GUID(MF_TOPONODE_PRESENTATION_DESCRIPTOR, 0x835c58ed, 0xe075, 0x4bc7, 0xbc, 0xba, 0x4d, 0xe0, 0x00, 0xdf, 0x9a, 0xe6); EXTERN_GUID(MF_TOPONODE_PRIMARYOUTPUT, 0x6304ef99, 0x16b2, 0x4ebe, 0x9d, 0x67, 0xe4, 0xc5, 0x39, 0xb3, 0xa2, 0x59); EXTERN_GUID(MF_TOPONODE_RATELESS, 0x14932f9d, 0x9087, 0x4bb4, 0x84, 0x12, 0x51, 0x67, 0x14, 0x5c, 0xbe, 0x04); EXTERN_GUID(MF_TOPONODE_SEQUENCE_ELEMENTID, 0x835c58ef, 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_STREAM_DESCRIPTOR, 0x835c58ee, 0xe075, 0x4bc7, 0xbc, 0xba, 0x4d, 0xe0, 0x00, 0xdf, 0x9a, 0xe6); EXTERN_GUID(MF_TOPONODE_STREAMID, 0x14932f9b, 0x9087, 0x4bb4, 0x84, 0x12, 0x51, 0x67, 0x14, 0x5c, 0xbe, 0x04); EXTERN_GUID(MF_TOPONODE_TRANSFORM_OBJECTID, 0x88dcc0c9, 0x293e, 0x4e8b, 0x9a, 0xeb, 0xa, 0xd6, 0x4c, 0xc0, 0x16, 0xb0); EXTERN_GUID(MF_TOPONODE_WORKQUEUE_ID, 0x494bbcf8, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc); EXTERN_GUID(MF_TOPONODE_WORKQUEUE_ITEM_PRIORITY, 0xa1ff99be, 0x5e97, 0x4a53, 0xb4, 0x94, 0x56, 0x8c, 0x64, 0x2c, 0x0f, 0xf3); EXTERN_GUID(MF_TOPONODE_WORKQUEUE_MMCSS_CLASS, 0x494bbcf9, 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_MMCSS_TASKID, 0x494bbcff, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc); EXTERN_GUID(MF_TOPOLOGY_DXVA_MODE, 0x1e8d34f6, 0xf5ab, 0x4e23, 0xbb, 0x88, 0x87, 0x4a, 0xa3, 0xa1, 0xa7, 0x4d); EXTERN_GUID(MF_TOPOLOGY_DYNAMIC_CHANGE_NOT_ALLOWED, 0xd529950b, 0xd484, 0x4527, 0xa9, 0xcd, 0xb1, 0x90, 0x95, 0x32, 0xb5, 0xb0); EXTERN_GUID(MF_TOPOLOGY_ENABLE_XVP_FOR_PLAYBACK, 0x1967731f, 0xcd78, 0x42fc, 0xb0, 0x26, 0x09, 0x92, 0xa5, 0x6e, 0x56, 0x93); EXTERN_GUID(MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES, 0x6248c36d, 0x5d0b, 0x4f40, 0xa0, 0xbb, 0xb0, 0xb3, 0x05, 0xf7, 0x76, 0x98); EXTERN_GUID(MF_TOPOLOGY_HARDWARE_MODE, 0xd2d362fd, 0x4e4f, 0x4191, 0xa5, 0x79, 0xc6, 0x18, 0xb6, 0x67, 0x06, 0xaf); EXTERN_GUID(MF_TOPOLOGY_NO_MARKIN_MARKOUT, 0x7ed3f804, 0x86bb, 0x4b3f, 0xb7, 0xe4, 0x7c, 0xb4, 0x3a, 0xfd, 0x4b, 0x80); EXTERN_GUID(MF_TOPOLOGY_PLAYBACK_FRAMERATE, 0xc164737a, 0xc2b1, 0x4553, 0x83, 0xbb, 0x5a, 0x52, 0x60, 0x72, 0x44, 0x8f); EXTERN_GUID(MF_TOPOLOGY_PLAYBACK_MAX_DIMS, 0x5715cf19, 0x5768, 0x44aa, 0xad, 0x6e, 0x87, 0x21, 0xf1, 0xb0, 0xf9, 0xbb); EXTERN_GUID(MF_TOPOLOGY_PROJECTSTART, 0x7ed3f802, 0x86bb, 0x4b3f, 0xb7, 0xe4, 0x7c, 0xb4, 0x3a, 0xfd, 0x4b, 0x80); EXTERN_GUID(MF_TOPOLOGY_PROJECTSTOP, 0x7ed3f803, 0x86bb, 0x4b3f, 0xb7, 0xe4, 0x7c, 0xb4, 0x3a, 0xfd, 0x4b, 0x80); EXTERN_GUID(MF_TOPOLOGY_RESOLUTION_STATUS, 0x494bbcde, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc); EXTERN_GUID(MF_TOPOLOGY_START_TIME_ON_PRESENTATION_SWITCH, 0xc8cc113f, 0x7951, 0x4548, 0xaa, 0xd6, 0x9e, 0xd6, 0x20, 0x2e, 0x62, 0xb3); EXTERN_GUID(MF_TOPOLOGY_STATIC_PLAYBACK_OPTIMIZATIONS, 0xb86cac42, 0x41a6, 0x4b79, 0x89, 0x7a, 0x1a, 0xb0, 0xe5, 0x2b, 0x4a, 0x1b); EXTERN_GUID(MF_RATE_CONTROL_SERVICE, 0x866fa297, 0xb802, 0x4bf8, 0x9d, 0xc9, 0x5e, 0x3b, 0x6a, 0x9f, 0x53, 0xc9); EXTERN_GUID(MF_LOCAL_MFT_REGISTRATION_SERVICE, 0xddf5cf9c, 0x4506, 0x45aa, 0xab, 0xf0, 0x6d, 0x5d, 0x94, 0xdd, 0x1b, 0x4a); EXTERN_C const GUID MF_SCRUBBING_SERVICE; EXTERN_GUID(MF_TOPONODE_ATTRIBUTE_EDITOR_SERVICE, 0x65656e1a, 0x077f, 0x4472, 0x83, 0xef, 0x31, 0x6f, 0x11, 0xd5, 0x08, 0x7a); EXTERN_GUID(MR_POLICY_VOLUME_SERVICE, 0x1abaa2ac, 0x9d3b, 0x47c6, 0xab, 0x48, 0xc5, 0x95, 0x06, 0xde, 0x78, 0x4d); EXTERN_GUID(MR_CAPTURE_POLICY_VOLUME_SERVICE, 0x24030acd, 0x107a, 0x4265, 0x97, 0x5c, 0x41, 0x4e, 0x33, 0xe6, 0x5f, 0x2a); EXTERN_GUID(MR_STREAM_VOLUME_SERVICE, 0xf8b5fa2f, 0x32ef, 0x46f5, 0xb1, 0x72, 0x13, 0x21, 0x21, 0x2f, 0xb2, 0xc4); EXTERN_GUID(MR_AUDIO_POLICY_SERVICE, 0x911fd737, 0x6775, 0x4ab0, 0xa6, 0x14, 0x29, 0x78, 0x62, 0xfd, 0xac, 0x88); EXTERN_GUID(MF_PROPERTY_HANDLER_SERVICE, 0xa3face02, 0x32b8, 0x41dd, 0x90, 0xe7, 0x5f, 0xef, 0x7c, 0x89, 0x91, 0xb5); EXTERN_GUID(MF_WORKQUEUE_SERVICES, 0x8e37d489, 0x41e0, 0x413a, 0x90, 0x68, 0x28, 0x7c, 0x88, 0x6d, 0x8d, 0xda); EXTERN_GUID(MF_PROGRESSIVE_CODING_CONTENT, 0x8f020eea, 0x1508, 0x471f, 0x9d, 0xa6, 0x50, 0x7d, 0x7c, 0xfa, 0x40, 0xdb); EXTERN_GUID(MF_NALU_LENGTH_SET, 0xa7911d53, 0x12a4, 0x4965, 0xae, 0x70, 0x6e, 0xad, 0xd6, 0xff, 0x05, 0x51); EXTERN_GUID(MF_SAMPLEGRABBERSINK_SAMPLE_TIME_OFFSET, 0x62e3d776, 0x8100, 0x4e03, 0xa6, 0xe8, 0xbd, 0x38, 0x57, 0xac, 0x9c, 0x47); EXTERN_GUID(MF_SAMPLEGRABBERSINK_IGNORE_CLOCK, 0x0efda2c0, 0x2b69, 0x4e2e, 0xab, 0x8d, 0x46, 0xdc, 0xbf, 0xf7, 0xd2, 0x5d); EXTERN_GUID(MF_SESSION_TOPOLOADER, 0x1e83d482, 0x1f1c, 0x4571, 0x84, 0x05, 0x88, 0xf4, 0xb2, 0x18, 0x1f, 0x71); EXTERN_GUID(MF_SESSION_GLOBAL_TIME, 0x1e83d482, 0x1f1c, 0x4571, 0x84, 0x05, 0x88, 0xf4, 0xb2, 0x18, 0x1f, 0x72); EXTERN_GUID(MF_SESSION_QUALITY_MANAGER, 0x1e83d482, 0x1f1c, 0x4571, 0x84, 0x05, 0x88, 0xf4, 0xb2, 0x18, 0x1f, 0x73); EXTERN_GUID(MF_SESSION_CONTENT_PROTECTION_MANAGER, 0x1e83d482, 0x1f1c, 0x4571, 0x84, 0x05, 0x88, 0xf4, 0xb2, 0x18, 0x1f, 0x74); EXTERN_GUID(MF_SESSION_SERVER_CONTEXT, 0xafe5b291, 0x50fa, 0x46e8, 0xb9, 0xbe, 0x0c, 0x0c, 0x3c, 0xe4, 0xb3, 0xa5); EXTERN_GUID(MF_SESSION_REMOTE_SOURCE_MODE, 0xf4033ef4, 0x9bb3, 0x4378, 0x94, 0x1f, 0x85, 0xa0, 0x85, 0x6b, 0xc2, 0x44); EXTERN_GUID(MF_SESSION_APPROX_EVENT_OCCURRENCE_TIME, 0x190e852f, 0x6238, 0x42d1, 0xb5, 0xaf, 0x69, 0xea, 0x33, 0x8e, 0xf8, 0x50); EXTERN_GUID(MF_PMP_SERVER_CONTEXT, 0x2f00c910, 0xd2cf, 0x4278, 0x8b, 0x6a, 0xd0, 0x77, 0xfa, 0xc3, 0xa2, 0x5f); EXTERN_GUID(MF_AUDIO_RENDERER_ATTRIBUTE_FLAGS, 0xede4b5e0, 0xf805, 0x4d6c, 0x99, 0xb3, 0xdb, 0x01, 0xbf, 0x95, 0xdf, 0xab); 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, 0x05, 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, 0x0c, 0x3a, 0x7a); EXTERN_GUID(MF_ACTIVATE_VIDEO_WINDOW, 0x9a2dbbdd, 0xf57e, 0x4162, 0x82, 0xb9, 0x68, 0x31, 0x37, 0x76, 0x82, 0xd3); 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_VIDEO_PROCESSOR_ALGORITHM, 0x4a0a1e1f, 0x272c, 0x4fb6, 0x9e, 0xb1, 0xdb, 0x33, 0x0c, 0xbc, 0x97, 0xca); EXTERN_GUID(MF_XVP_DISABLE_FRC, 0x2c0afa19, 0x7a97, 0x4d5a, 0x9e, 0xe8, 0x16, 0xd4, 0xfc, 0x51, 0x8d, 0x8c); EXTERN_GUID(MF_XVP_CALLER_ALLOCATES_OUTPUT, 0x4a2cabc, 0x0cab, 0x40b1, 0xa1, 0xb9, 0x75, 0xbc, 0x36, 0x58, 0xf0, 0x00); EXTERN_GUID(MF_XVP_SAMPLE_LOCK_TIMEOUT, 0xaa4ddb29, 0x5134, 0x4363, 0xac, 0x72, 0x83, 0xec, 0x4b, 0xc1, 0x04, 0x26); EXTERN_GUID(CLSID_MSAACDecMFT, 0x32d186a7, 0x218f, 0x4c75, 0x88, 0x76, 0xdd, 0x77, 0x27, 0x3a, 0x89, 0x99); EXTERN_GUID(CLSID_MSDDPlusDecMFT, 0x177c0afe, 0x900b, 0x48d4, 0x9e, 0x4c, 0x57, 0xad, 0xd2, 0x50, 0xb3, 0xd4); EXTERN_GUID(CLSID_MSMPEGAudDecMFT, 0x70707b39, 0xb2ca, 0x4015, 0xab, 0xea, 0xf8, 0x44, 0x7d, 0x22, 0xd8, 0x8b); EXTERN_GUID(CLSID_MSMPEGDecoderMFT, 0x2d709e52, 0x123f, 0x49b5, 0x9c, 0xbc, 0x9a, 0xf5, 0xcd, 0xe2, 0x8f, 0xb9); EXTERN_GUID(CLSID_MSH264DecoderMFT, 0x62ce7e72, 0x4c71, 0x4d20, 0xb1, 0x5d, 0x45, 0x28, 0x31, 0xa8, 0x7d, 0x9d); EXTERN_GUID(CLSID_MSH264EncoderMFT, 0x6ca50344, 0x051a, 0x4ded, 0x97, 0x79, 0xa4, 0x33, 0x05, 0x16, 0x5e, 0x35); EXTERN_GUID(CLSID_MSH265DecoderMFT, 0x420a51a3, 0xd605, 0x430c, 0xb4, 0xfc, 0x45, 0x27, 0x4f, 0xa6, 0xc5, 0x62); EXTERN_GUID(CLSID_MSVPxDecoder, 0xe3aaf548, 0xc9a4, 0x4c6e, 0x23, 0x4d, 0x5a, 0xda, 0x37, 0x4b, 0x00, 0x00); EXTERN_GUID(CLSID_VideoProcessorMFT, 0x88753b26, 0x5b24, 0x49bd, 0xb2, 0xe7, 0xc, 0x44, 0x5c, 0x78, 0xc9, 0x82); EXTERN_GUID(CLSID_WMVDecoderMFT, 0x82d353df, 0x90bd, 0x4382, 0x8b, 0xc2, 0x3f, 0x61, 0x92, 0xb7, 0x6e, 0x34); EXTERN_GUID(CLSID_AudioResamplerMediaObject, 0xf447b69e, 0x1884, 0x4a7e, 0x80, 0x55, 0x34, 0x6f, 0x74, 0xd6, 0xed, 0xb3); EXTERN_GUID(CLSID_MP3DecMediaObject, 0xbbeea841, 0x0a63, 0x4f52, 0xa7, 0xab, 0xa9, 0xb3, 0xa8, 0x4e, 0xd3, 0x8a); EXTERN_GUID(CLSID_WMADecMediaObject, 0x2eeb4adf, 0x4578, 0x4d10, 0xbc, 0xa7, 0xbb, 0x95, 0x5f, 0x56, 0x32, 0x0a); EXTERN_GUID(CLSID_HttpSchemePlugin, 0x44cb442b, 0x9da9, 0x49df, 0xb3, 0xfd, 0x02, 0x37, 0x77, 0xb1, 0x6e, 0x50); EXTERN_GUID(CLSID_NetSchemePlugin, 0xe9f4ebab, 0xd97b, 0x463e, 0xa2, 0xb1, 0xc5, 0x4e, 0xe3, 0xf9, 0x41, 0x4d); EXTERN_GUID(CLSID_UrlmonSchemePlugin, 0x9ec4b4f9, 0x3029, 0x45ad, 0x94, 0x7b, 0x34, 0x4d, 0xe2, 0xa2, 0x49, 0xe2); EXTERN_GUID(MF_TRANSCODE_ADJUST_PROFILE, 0x9c37c21b, 0x060f, 0x487c, 0xa6, 0x90, 0x80, 0xd7, 0xf5, 0x0d, 0x1c, 0x72); EXTERN_GUID(MF_TRANSCODE_CONTAINERTYPE, 0x150ff23f, 0x4abc, 0x478b, 0xac, 0x4f, 0xe1, 0x91, 0x6f, 0xba, 0x1c, 0xca); EXTERN_GUID(MF_TRANSCODE_DONOT_INSERT_ENCODER, 0xf45aa7ce, 0xab24, 0x4012, 0xa1, 0x1b, 0xdc, 0x82, 0x20, 0x20, 0x14, 0x10); EXTERN_GUID(MF_TRANSCODE_ENCODINGPROFILE, 0x6947787c, 0xf508, 0x4ea9, 0xb1, 0xe9, 0xa1, 0xfe, 0x3a, 0x49, 0xfb, 0xc9); EXTERN_GUID(MF_TRANSCODE_SKIP_METADATA_TRANSFER, 0x4e4469ef, 0xb571, 0x4959, 0x8f, 0x83, 0x3d, 0xcf, 0xba, 0x33, 0xa3, 0x93); EXTERN_GUID(MF_TRANSCODE_TOPOLOGYMODE, 0x3e3df610, 0x394a, 0x40b2, 0x9d, 0xea, 0x3b, 0xab, 0x65, 0x0b, 0xeb, 0xf2); EXTERN_GUID(MF_TRANSCODE_QUALITYVSSPEED, 0x98332df8, 0x03cd, 0x476b, 0x89, 0xfa, 0x3f, 0x9e, 0x44, 0x2d, 0xec, 0x9f); 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_AMR, 0x25d5ad3, 0x621a, 0x475b, 0x96, 0x4d, 0x66, 0xb1, 0xc8, 0x24, 0xf0, 0x79); EXTERN_GUID(MFTranscodeContainerType_ASF, 0x430f6f6e, 0xb6bf, 0x4fc1, 0xa0, 0xbd, 0x9e, 0xe4, 0x6e, 0xee, 0x2a, 0xfb); EXTERN_GUID(MFTranscodeContainerType_AVI, 0x7edfe8af, 0x402f, 0x4d76, 0xa3, 0x3c, 0x61, 0x9f, 0xd1, 0x57, 0xd0, 0xf1); EXTERN_GUID(MFTranscodeContainerType_FLAC, 0x31344aa3, 0x05a9, 0x42b5, 0x90, 0x1b, 0x8e, 0x9d, 0x42, 0x57, 0xf7, 0x5e); EXTERN_GUID(MFTranscodeContainerType_FMPEG4, 0x9ba876f1, 0x419f, 0x4b77, 0xa1, 0xe0, 0x35, 0x95, 0x9d, 0x9d, 0x40, 0x04); EXTERN_GUID(MFTranscodeContainerType_MP3, 0xe438b912, 0x83f1, 0x4de6, 0x9e, 0x3a, 0x9f, 0xfb, 0xc6, 0xdd, 0x24, 0xd1); EXTERN_GUID(MFTranscodeContainerType_MPEG2, 0xbfc2dbf9, 0x7bb4, 0x4f8f, 0xaf, 0xde, 0xe1, 0x12, 0xc4, 0x4b, 0xa8, 0x82); EXTERN_GUID(MFTranscodeContainerType_MPEG4, 0xdc6cd05d, 0xb9d0, 0x40ef, 0xbd, 0x35, 0xfa, 0x62, 0x2c, 0x1a, 0xb2, 0x8a); EXTERN_GUID(MFTranscodeContainerType_WAVE, 0x64c3453c, 0x0f26, 0x4741, 0xbe, 0x63, 0x87, 0xbd, 0xf8, 0xbb, 0x93, 0x5b); /* 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__ */