| /*** Autogenerated by WIDL 6.3 from include/strmif.idl - Do not edit ***/ |
| |
| #ifdef _WIN32 |
| #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
| #define __REQUIRED_RPCNDR_H_VERSION__ 475 |
| #endif |
| #include <rpc.h> |
| #include <rpcndr.h> |
| #endif |
| |
| #ifndef COM_NO_WINDOWS_H |
| #include <windows.h> |
| #include <ole2.h> |
| #endif |
| |
| #ifndef __strmif_h__ |
| #define __strmif_h__ |
| |
| /* Forward declarations */ |
| |
| #ifndef __ICreateDevEnum_FWD_DEFINED__ |
| #define __ICreateDevEnum_FWD_DEFINED__ |
| typedef interface ICreateDevEnum ICreateDevEnum; |
| #ifdef __cplusplus |
| interface ICreateDevEnum; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IPin_FWD_DEFINED__ |
| #define __IPin_FWD_DEFINED__ |
| typedef interface IPin IPin; |
| #ifdef __cplusplus |
| interface IPin; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IEnumPins_FWD_DEFINED__ |
| #define __IEnumPins_FWD_DEFINED__ |
| typedef interface IEnumPins IEnumPins; |
| #ifdef __cplusplus |
| interface IEnumPins; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IEnumMediaTypes_FWD_DEFINED__ |
| #define __IEnumMediaTypes_FWD_DEFINED__ |
| typedef interface IEnumMediaTypes IEnumMediaTypes; |
| #ifdef __cplusplus |
| interface IEnumMediaTypes; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IFilterGraph_FWD_DEFINED__ |
| #define __IFilterGraph_FWD_DEFINED__ |
| typedef interface IFilterGraph IFilterGraph; |
| #ifdef __cplusplus |
| interface IFilterGraph; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IEnumFilters_FWD_DEFINED__ |
| #define __IEnumFilters_FWD_DEFINED__ |
| typedef interface IEnumFilters IEnumFilters; |
| #ifdef __cplusplus |
| interface IEnumFilters; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMediaFilter_FWD_DEFINED__ |
| #define __IMediaFilter_FWD_DEFINED__ |
| typedef interface IMediaFilter IMediaFilter; |
| #ifdef __cplusplus |
| interface IMediaFilter; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IBaseFilter_FWD_DEFINED__ |
| #define __IBaseFilter_FWD_DEFINED__ |
| typedef interface IBaseFilter IBaseFilter; |
| #ifdef __cplusplus |
| interface IBaseFilter; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IReferenceClock_FWD_DEFINED__ |
| #define __IReferenceClock_FWD_DEFINED__ |
| typedef interface IReferenceClock IReferenceClock; |
| #ifdef __cplusplus |
| interface IReferenceClock; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IReferenceClockTimerControl_FWD_DEFINED__ |
| #define __IReferenceClockTimerControl_FWD_DEFINED__ |
| typedef interface IReferenceClockTimerControl IReferenceClockTimerControl; |
| #ifdef __cplusplus |
| interface IReferenceClockTimerControl; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IReferenceClock2_FWD_DEFINED__ |
| #define __IReferenceClock2_FWD_DEFINED__ |
| typedef interface IReferenceClock2 IReferenceClock2; |
| #ifdef __cplusplus |
| interface IReferenceClock2; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMediaSample_FWD_DEFINED__ |
| #define __IMediaSample_FWD_DEFINED__ |
| typedef interface IMediaSample IMediaSample; |
| #ifdef __cplusplus |
| interface IMediaSample; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMediaSample2_FWD_DEFINED__ |
| #define __IMediaSample2_FWD_DEFINED__ |
| typedef interface IMediaSample2 IMediaSample2; |
| #ifdef __cplusplus |
| interface IMediaSample2; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMediaSample2Config_FWD_DEFINED__ |
| #define __IMediaSample2Config_FWD_DEFINED__ |
| typedef interface IMediaSample2Config IMediaSample2Config; |
| #ifdef __cplusplus |
| interface IMediaSample2Config; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMemAllocator_FWD_DEFINED__ |
| #define __IMemAllocator_FWD_DEFINED__ |
| typedef interface IMemAllocator IMemAllocator; |
| #ifdef __cplusplus |
| interface IMemAllocator; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMemAllocatorCallbackTemp_FWD_DEFINED__ |
| #define __IMemAllocatorCallbackTemp_FWD_DEFINED__ |
| typedef interface IMemAllocatorCallbackTemp IMemAllocatorCallbackTemp; |
| #ifdef __cplusplus |
| interface IMemAllocatorCallbackTemp; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__ |
| #define __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__ |
| typedef interface IMemAllocatorNotifyCallbackTemp IMemAllocatorNotifyCallbackTemp; |
| #ifdef __cplusplus |
| interface IMemAllocatorNotifyCallbackTemp; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMemInputPin_FWD_DEFINED__ |
| #define __IMemInputPin_FWD_DEFINED__ |
| typedef interface IMemInputPin IMemInputPin; |
| #ifdef __cplusplus |
| interface IMemInputPin; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IAMovieSetup_FWD_DEFINED__ |
| #define __IAMovieSetup_FWD_DEFINED__ |
| typedef interface IAMovieSetup IAMovieSetup; |
| #ifdef __cplusplus |
| interface IAMovieSetup; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMediaSeeking_FWD_DEFINED__ |
| #define __IMediaSeeking_FWD_DEFINED__ |
| typedef interface IMediaSeeking IMediaSeeking; |
| #ifdef __cplusplus |
| interface IMediaSeeking; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IEnumRegFilters_FWD_DEFINED__ |
| #define __IEnumRegFilters_FWD_DEFINED__ |
| typedef interface IEnumRegFilters IEnumRegFilters; |
| #ifdef __cplusplus |
| interface IEnumRegFilters; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IFilterMapper_FWD_DEFINED__ |
| #define __IFilterMapper_FWD_DEFINED__ |
| typedef interface IFilterMapper IFilterMapper; |
| #ifdef __cplusplus |
| interface IFilterMapper; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IFilterMapper2_FWD_DEFINED__ |
| #define __IFilterMapper2_FWD_DEFINED__ |
| typedef interface IFilterMapper2 IFilterMapper2; |
| #ifdef __cplusplus |
| interface IFilterMapper2; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IFilterMapper3_FWD_DEFINED__ |
| #define __IFilterMapper3_FWD_DEFINED__ |
| typedef interface IFilterMapper3 IFilterMapper3; |
| #ifdef __cplusplus |
| interface IFilterMapper3; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IQualityControl_FWD_DEFINED__ |
| #define __IQualityControl_FWD_DEFINED__ |
| typedef interface IQualityControl IQualityControl; |
| #ifdef __cplusplus |
| interface IQualityControl; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IOverlayNotify_FWD_DEFINED__ |
| #define __IOverlayNotify_FWD_DEFINED__ |
| typedef interface IOverlayNotify IOverlayNotify; |
| #ifdef __cplusplus |
| interface IOverlayNotify; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IOverlayNotify2_FWD_DEFINED__ |
| #define __IOverlayNotify2_FWD_DEFINED__ |
| typedef interface IOverlayNotify2 IOverlayNotify2; |
| #ifdef __cplusplus |
| interface IOverlayNotify2; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IOverlay_FWD_DEFINED__ |
| #define __IOverlay_FWD_DEFINED__ |
| typedef interface IOverlay IOverlay; |
| #ifdef __cplusplus |
| interface IOverlay; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMediaEventSink_FWD_DEFINED__ |
| #define __IMediaEventSink_FWD_DEFINED__ |
| typedef interface IMediaEventSink IMediaEventSink; |
| #ifdef __cplusplus |
| interface IMediaEventSink; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IFileSourceFilter_FWD_DEFINED__ |
| #define __IFileSourceFilter_FWD_DEFINED__ |
| typedef interface IFileSourceFilter IFileSourceFilter; |
| #ifdef __cplusplus |
| interface IFileSourceFilter; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IFileSinkFilter_FWD_DEFINED__ |
| #define __IFileSinkFilter_FWD_DEFINED__ |
| typedef interface IFileSinkFilter IFileSinkFilter; |
| #ifdef __cplusplus |
| interface IFileSinkFilter; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IFileSinkFilter2_FWD_DEFINED__ |
| #define __IFileSinkFilter2_FWD_DEFINED__ |
| typedef interface IFileSinkFilter2 IFileSinkFilter2; |
| #ifdef __cplusplus |
| interface IFileSinkFilter2; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IGraphBuilder_FWD_DEFINED__ |
| #define __IGraphBuilder_FWD_DEFINED__ |
| typedef interface IGraphBuilder IGraphBuilder; |
| #ifdef __cplusplus |
| interface IGraphBuilder; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __ICaptureGraphBuilder_FWD_DEFINED__ |
| #define __ICaptureGraphBuilder_FWD_DEFINED__ |
| typedef interface ICaptureGraphBuilder ICaptureGraphBuilder; |
| #ifdef __cplusplus |
| interface ICaptureGraphBuilder; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IAMCopyCaptureFileProgress_FWD_DEFINED__ |
| #define __IAMCopyCaptureFileProgress_FWD_DEFINED__ |
| typedef interface IAMCopyCaptureFileProgress IAMCopyCaptureFileProgress; |
| #ifdef __cplusplus |
| interface IAMCopyCaptureFileProgress; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __ICaptureGraphBuilder2_FWD_DEFINED__ |
| #define __ICaptureGraphBuilder2_FWD_DEFINED__ |
| typedef interface ICaptureGraphBuilder2 ICaptureGraphBuilder2; |
| #ifdef __cplusplus |
| interface ICaptureGraphBuilder2; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IConfigAviMux_FWD_DEFINED__ |
| #define __IConfigAviMux_FWD_DEFINED__ |
| typedef interface IConfigAviMux IConfigAviMux; |
| #ifdef __cplusplus |
| interface IConfigAviMux; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IConfigInterleaving_FWD_DEFINED__ |
| #define __IConfigInterleaving_FWD_DEFINED__ |
| typedef interface IConfigInterleaving IConfigInterleaving; |
| #ifdef __cplusplus |
| interface IConfigInterleaving; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IAMClockSlave_FWD_DEFINED__ |
| #define __IAMClockSlave_FWD_DEFINED__ |
| typedef interface IAMClockSlave IAMClockSlave; |
| #ifdef __cplusplus |
| interface IAMClockSlave; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IAMCertifiedOutputProtection_FWD_DEFINED__ |
| #define __IAMCertifiedOutputProtection_FWD_DEFINED__ |
| typedef interface IAMCertifiedOutputProtection IAMCertifiedOutputProtection; |
| #ifdef __cplusplus |
| interface IAMCertifiedOutputProtection; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IFilterGraph2_FWD_DEFINED__ |
| #define __IFilterGraph2_FWD_DEFINED__ |
| typedef interface IFilterGraph2 IFilterGraph2; |
| #ifdef __cplusplus |
| interface IFilterGraph2; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IStreamBuilder_FWD_DEFINED__ |
| #define __IStreamBuilder_FWD_DEFINED__ |
| typedef interface IStreamBuilder IStreamBuilder; |
| #ifdef __cplusplus |
| interface IStreamBuilder; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IAMStreamConfig_FWD_DEFINED__ |
| #define __IAMStreamConfig_FWD_DEFINED__ |
| typedef interface IAMStreamConfig IAMStreamConfig; |
| #ifdef __cplusplus |
| interface IAMStreamConfig; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IAMVideoProcAmp_FWD_DEFINED__ |
| #define __IAMVideoProcAmp_FWD_DEFINED__ |
| typedef interface IAMVideoProcAmp IAMVideoProcAmp; |
| #ifdef __cplusplus |
| interface IAMVideoProcAmp; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IAsyncReader_FWD_DEFINED__ |
| #define __IAsyncReader_FWD_DEFINED__ |
| typedef interface IAsyncReader IAsyncReader; |
| #ifdef __cplusplus |
| interface IAsyncReader; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IGraphVersion_FWD_DEFINED__ |
| #define __IGraphVersion_FWD_DEFINED__ |
| typedef interface IGraphVersion IGraphVersion; |
| #ifdef __cplusplus |
| interface IGraphVersion; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IResourceConsumer_FWD_DEFINED__ |
| #define __IResourceConsumer_FWD_DEFINED__ |
| typedef interface IResourceConsumer IResourceConsumer; |
| #ifdef __cplusplus |
| interface IResourceConsumer; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IResourceManager_FWD_DEFINED__ |
| #define __IResourceManager_FWD_DEFINED__ |
| typedef interface IResourceManager IResourceManager; |
| #ifdef __cplusplus |
| interface IResourceManager; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IAMStreamControl_FWD_DEFINED__ |
| #define __IAMStreamControl_FWD_DEFINED__ |
| typedef interface IAMStreamControl IAMStreamControl; |
| #ifdef __cplusplus |
| interface IAMStreamControl; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IKsPropertySet_FWD_DEFINED__ |
| #define __IKsPropertySet_FWD_DEFINED__ |
| typedef interface IKsPropertySet IKsPropertySet; |
| #ifdef __cplusplus |
| interface IKsPropertySet; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMediaPropertyBag_FWD_DEFINED__ |
| #define __IMediaPropertyBag_FWD_DEFINED__ |
| typedef interface IMediaPropertyBag IMediaPropertyBag; |
| #ifdef __cplusplus |
| interface IMediaPropertyBag; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IPersistMediaPropertyBag_FWD_DEFINED__ |
| #define __IPersistMediaPropertyBag_FWD_DEFINED__ |
| typedef interface IPersistMediaPropertyBag IPersistMediaPropertyBag; |
| #ifdef __cplusplus |
| interface IPersistMediaPropertyBag; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __ISeekingPassThru_FWD_DEFINED__ |
| #define __ISeekingPassThru_FWD_DEFINED__ |
| typedef interface ISeekingPassThru ISeekingPassThru; |
| #ifdef __cplusplus |
| interface ISeekingPassThru; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IAMFilterMiscFlags_FWD_DEFINED__ |
| #define __IAMFilterMiscFlags_FWD_DEFINED__ |
| typedef interface IAMFilterMiscFlags IAMFilterMiscFlags; |
| #ifdef __cplusplus |
| interface IAMFilterMiscFlags; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IAMGraphBuilderCallback_FWD_DEFINED__ |
| #define __IAMGraphBuilderCallback_FWD_DEFINED__ |
| typedef interface IAMGraphBuilderCallback IAMGraphBuilderCallback; |
| #ifdef __cplusplus |
| interface IAMGraphBuilderCallback; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IAMVfwCaptureDialogs_FWD_DEFINED__ |
| #define __IAMVfwCaptureDialogs_FWD_DEFINED__ |
| typedef interface IAMVfwCaptureDialogs IAMVfwCaptureDialogs; |
| #ifdef __cplusplus |
| interface IAMVfwCaptureDialogs; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IAMCameraControl_FWD_DEFINED__ |
| #define __IAMCameraControl_FWD_DEFINED__ |
| typedef interface IAMCameraControl IAMCameraControl; |
| #ifdef __cplusplus |
| interface IAMCameraControl; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IAMVideoControl_FWD_DEFINED__ |
| #define __IAMVideoControl_FWD_DEFINED__ |
| typedef interface IAMVideoControl IAMVideoControl; |
| #ifdef __cplusplus |
| interface IAMVideoControl; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IAMBufferNegotiation_FWD_DEFINED__ |
| #define __IAMBufferNegotiation_FWD_DEFINED__ |
| typedef interface IAMBufferNegotiation IAMBufferNegotiation; |
| #ifdef __cplusplus |
| interface IAMBufferNegotiation; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IAMDroppedFrames_FWD_DEFINED__ |
| #define __IAMDroppedFrames_FWD_DEFINED__ |
| typedef interface IAMDroppedFrames IAMDroppedFrames; |
| #ifdef __cplusplus |
| interface IAMDroppedFrames; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IAMLatency_FWD_DEFINED__ |
| #define __IAMLatency_FWD_DEFINED__ |
| typedef interface IAMLatency IAMLatency; |
| #ifdef __cplusplus |
| interface IAMLatency; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IAMPushSource_FWD_DEFINED__ |
| #define __IAMPushSource_FWD_DEFINED__ |
| typedef interface IAMPushSource IAMPushSource; |
| #ifdef __cplusplus |
| interface IAMPushSource; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IAMVideoCompression_FWD_DEFINED__ |
| #define __IAMVideoCompression_FWD_DEFINED__ |
| typedef interface IAMVideoCompression IAMVideoCompression; |
| #ifdef __cplusplus |
| interface IAMVideoCompression; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IAMCrossbar_FWD_DEFINED__ |
| #define __IAMCrossbar_FWD_DEFINED__ |
| typedef interface IAMCrossbar IAMCrossbar; |
| #ifdef __cplusplus |
| interface IAMCrossbar; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IAMTunerNotification_FWD_DEFINED__ |
| #define __IAMTunerNotification_FWD_DEFINED__ |
| typedef interface IAMTunerNotification IAMTunerNotification; |
| #ifdef __cplusplus |
| interface IAMTunerNotification; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IAMTuner_FWD_DEFINED__ |
| #define __IAMTuner_FWD_DEFINED__ |
| typedef interface IAMTuner IAMTuner; |
| #ifdef __cplusplus |
| interface IAMTuner; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IAMTVTuner_FWD_DEFINED__ |
| #define __IAMTVTuner_FWD_DEFINED__ |
| typedef interface IAMTVTuner IAMTVTuner; |
| #ifdef __cplusplus |
| interface IAMTVTuner; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IVideoFrameStep_FWD_DEFINED__ |
| #define __IVideoFrameStep_FWD_DEFINED__ |
| typedef interface IVideoFrameStep IVideoFrameStep; |
| #ifdef __cplusplus |
| interface IVideoFrameStep; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IAMAsyncReaderTimestampScaling_FWD_DEFINED__ |
| #define __IAMAsyncReaderTimestampScaling_FWD_DEFINED__ |
| typedef interface IAMAsyncReaderTimestampScaling IAMAsyncReaderTimestampScaling; |
| #ifdef __cplusplus |
| interface IAMAsyncReaderTimestampScaling; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IAMPluginControl_FWD_DEFINED__ |
| #define __IAMPluginControl_FWD_DEFINED__ |
| typedef interface IAMPluginControl IAMPluginControl; |
| #ifdef __cplusplus |
| interface IAMPluginControl; |
| #endif /* __cplusplus */ |
| #endif |
| |
| /* Headers for imported files */ |
| |
| #include <unknwn.h> |
| #include <objidl.h> |
| #include <oaidl.h> |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| /** |
| * This file is part of the mingw-w64 runtime package. |
| * No warranty is given; refer to the file DISCLAIMER within this package. |
| */ |
| |
| #include <winapifamily.h> |
| |
| #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) |
| |
| #define CDEF_CLASS_DEFAULT 0x1 |
| #define CDEF_BYPASS_CLASS_MANAGER 0x2 |
| #define CDEF_MERIT_ABOVE_DO_NOT_USE 0x8 |
| #define CDEF_DEVMON_CMGR_DEVICE 0x10 |
| #define CDEF_DEVMON_DMO 0x20 |
| #define CDEF_DEVMON_PNP_DEVICE 0x40 |
| #define CDEF_DEVMON_FILTER 0x80 |
| |
| #define CDEF_DEVMON_SELECTIVE_MASK 0xf0 |
| |
| |
| /***************************************************************************** |
| * ICreateDevEnum interface |
| */ |
| #ifndef __ICreateDevEnum_INTERFACE_DEFINED__ |
| #define __ICreateDevEnum_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_ICreateDevEnum, 0x29840822, 0x5b84, 0x11d0, 0xbd,0x3b, 0x00,0xa0,0xc9,0x11,0xce,0x86); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("29840822-5b84-11d0-bd3b-00a0c911ce86") |
| ICreateDevEnum : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE CreateClassEnumerator( |
| REFCLSID clsidDeviceClass, |
| IEnumMoniker **ppEnumMoniker, |
| DWORD dwFlags) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(ICreateDevEnum, 0x29840822, 0x5b84, 0x11d0, 0xbd,0x3b, 0x00,0xa0,0xc9,0x11,0xce,0x86) |
| #endif |
| #else |
| typedef struct ICreateDevEnumVtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| ICreateDevEnum *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| ICreateDevEnum *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| ICreateDevEnum *This); |
| |
| /*** ICreateDevEnum methods ***/ |
| HRESULT (STDMETHODCALLTYPE *CreateClassEnumerator)( |
| ICreateDevEnum *This, |
| REFCLSID clsidDeviceClass, |
| IEnumMoniker **ppEnumMoniker, |
| DWORD dwFlags); |
| |
| END_INTERFACE |
| } ICreateDevEnumVtbl; |
| |
| interface ICreateDevEnum { |
| CONST_VTBL ICreateDevEnumVtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define ICreateDevEnum_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define ICreateDevEnum_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define ICreateDevEnum_Release(This) (This)->lpVtbl->Release(This) |
| /*** ICreateDevEnum methods ***/ |
| #define ICreateDevEnum_CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags) (This)->lpVtbl->CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT ICreateDevEnum_QueryInterface(ICreateDevEnum* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG ICreateDevEnum_AddRef(ICreateDevEnum* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG ICreateDevEnum_Release(ICreateDevEnum* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** ICreateDevEnum methods ***/ |
| static FORCEINLINE HRESULT ICreateDevEnum_CreateClassEnumerator(ICreateDevEnum* This,REFCLSID clsidDeviceClass,IEnumMoniker **ppEnumMoniker,DWORD dwFlags) { |
| return This->lpVtbl->CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| |
| #endif /* __ICreateDevEnum_INTERFACE_DEFINED__ */ |
| |
| #endif |
| /** |
| * This file is part of the mingw-w64 runtime package. |
| * No warranty is given; refer to the file DISCLAIMER within this package. |
| */ |
| |
| #include <winapifamily.h> |
| |
| #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) |
| |
| #define CHARS_IN_GUID 39 |
| |
| #ifdef WINE_NO_UNICODE_MACROS |
| #undef GetTimeFormat |
| #endif |
| |
| typedef struct _AMMediaType { |
| GUID majortype; |
| GUID subtype; |
| WINBOOL bFixedSizeSamples; |
| WINBOOL bTemporalCompression; |
| ULONG lSampleSize; |
| GUID formattype; |
| IUnknown *pUnk; |
| ULONG cbFormat; |
| BYTE *pbFormat; |
| } AM_MEDIA_TYPE; |
| |
| typedef enum _PinDirection { |
| PINDIR_INPUT = 0, |
| PINDIR_OUTPUT = 1 |
| } PIN_DIRECTION; |
| |
| #define MAX_PIN_NAME 128 |
| #define MAX_FILTER_NAME 128 |
| |
| #ifndef REFERENCE_TIME_DEFINED |
| #define REFERENCE_TIME_DEFINED |
| typedef LONGLONG REFERENCE_TIME; |
| #endif |
| |
| #ifndef REFTIME_DEFINED |
| #define REFTIME_DEFINED |
| typedef double REFTIME; |
| #endif |
| |
| typedef DWORD_PTR HSEMAPHORE; |
| typedef DWORD_PTR HEVENT; |
| |
| typedef struct _AllocatorProperties { |
| LONG cBuffers; |
| LONG cbBuffer; |
| LONG cbAlign; |
| LONG cbPrefix; |
| } ALLOCATOR_PROPERTIES; |
| |
| #ifndef __IAMovieSetup_FWD_DEFINED__ |
| #define __IAMovieSetup_FWD_DEFINED__ |
| typedef interface IAMovieSetup IAMovieSetup; |
| #ifdef __cplusplus |
| interface IAMovieSetup; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IEnumFilters_FWD_DEFINED__ |
| #define __IEnumFilters_FWD_DEFINED__ |
| typedef interface IEnumFilters IEnumFilters; |
| #ifdef __cplusplus |
| interface IEnumFilters; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IEnumMediaTypes_FWD_DEFINED__ |
| #define __IEnumMediaTypes_FWD_DEFINED__ |
| typedef interface IEnumMediaTypes IEnumMediaTypes; |
| #ifdef __cplusplus |
| interface IEnumMediaTypes; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IEnumPins_FWD_DEFINED__ |
| #define __IEnumPins_FWD_DEFINED__ |
| typedef interface IEnumPins IEnumPins; |
| #ifdef __cplusplus |
| interface IEnumPins; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IBaseFilter_FWD_DEFINED__ |
| #define __IBaseFilter_FWD_DEFINED__ |
| typedef interface IBaseFilter IBaseFilter; |
| #ifdef __cplusplus |
| interface IBaseFilter; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IFilterGraph_FWD_DEFINED__ |
| #define __IFilterGraph_FWD_DEFINED__ |
| typedef interface IFilterGraph IFilterGraph; |
| #ifdef __cplusplus |
| interface IFilterGraph; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMediaFilter_FWD_DEFINED__ |
| #define __IMediaFilter_FWD_DEFINED__ |
| typedef interface IMediaFilter IMediaFilter; |
| #ifdef __cplusplus |
| interface IMediaFilter; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMediaSample_FWD_DEFINED__ |
| #define __IMediaSample_FWD_DEFINED__ |
| typedef interface IMediaSample IMediaSample; |
| #ifdef __cplusplus |
| interface IMediaSample; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMemAllocator_FWD_DEFINED__ |
| #define __IMemAllocator_FWD_DEFINED__ |
| typedef interface IMemAllocator IMemAllocator; |
| #ifdef __cplusplus |
| interface IMemAllocator; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMemAllocatorCallbackTemp_FWD_DEFINED__ |
| #define __IMemAllocatorCallbackTemp_FWD_DEFINED__ |
| typedef interface IMemAllocatorCallbackTemp IMemAllocatorCallbackTemp; |
| #ifdef __cplusplus |
| interface IMemAllocatorCallbackTemp; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__ |
| #define __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__ |
| typedef interface IMemAllocatorNotifyCallbackTemp IMemAllocatorNotifyCallbackTemp; |
| #ifdef __cplusplus |
| interface IMemAllocatorNotifyCallbackTemp; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IMemInputPin_FWD_DEFINED__ |
| #define __IMemInputPin_FWD_DEFINED__ |
| typedef interface IMemInputPin IMemInputPin; |
| #ifdef __cplusplus |
| interface IMemInputPin; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IPin_FWD_DEFINED__ |
| #define __IPin_FWD_DEFINED__ |
| typedef interface IPin IPin; |
| #ifdef __cplusplus |
| interface IPin; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IReferenceClock_FWD_DEFINED__ |
| #define __IReferenceClock_FWD_DEFINED__ |
| typedef interface IReferenceClock IReferenceClock; |
| #ifdef __cplusplus |
| interface IReferenceClock; |
| #endif /* __cplusplus */ |
| #endif |
| |
| |
| /***************************************************************************** |
| * IPin interface |
| */ |
| #ifndef __IPin_INTERFACE_DEFINED__ |
| #define __IPin_INTERFACE_DEFINED__ |
| |
| typedef struct _PinInfo { |
| IBaseFilter *pFilter; |
| PIN_DIRECTION dir; |
| WCHAR achName[128]; |
| } PIN_INFO; |
| |
| DEFINE_GUID(IID_IPin, 0x56a86891, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("56a86891-0ad4-11ce-b03a-0020af0ba770") |
| IPin : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE Connect( |
| IPin *pReceivePin, |
| const AM_MEDIA_TYPE *pmt) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE ReceiveConnection( |
| IPin *pConnector, |
| const AM_MEDIA_TYPE *pmt) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Disconnect( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE ConnectedTo( |
| IPin **pPin) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE ConnectionMediaType( |
| AM_MEDIA_TYPE *pmt) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE QueryPinInfo( |
| PIN_INFO *pInfo) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE QueryDirection( |
| PIN_DIRECTION *pPinDir) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE QueryId( |
| LPWSTR *Id) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE QueryAccept( |
| const AM_MEDIA_TYPE *pmt) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE EnumMediaTypes( |
| IEnumMediaTypes **ppEnum) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE QueryInternalConnections( |
| IPin **apPin, |
| ULONG *nPin) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE EndOfStream( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE BeginFlush( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE EndFlush( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE NewSegment( |
| REFERENCE_TIME tStart, |
| REFERENCE_TIME tStop, |
| double dRate) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IPin, 0x56a86891, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) |
| #endif |
| #else |
| typedef struct IPinVtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IPin *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IPin *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IPin *This); |
| |
| /*** IPin methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Connect)( |
| IPin *This, |
| IPin *pReceivePin, |
| const AM_MEDIA_TYPE *pmt); |
| |
| HRESULT (STDMETHODCALLTYPE *ReceiveConnection)( |
| IPin *This, |
| IPin *pConnector, |
| const AM_MEDIA_TYPE *pmt); |
| |
| HRESULT (STDMETHODCALLTYPE *Disconnect)( |
| IPin *This); |
| |
| HRESULT (STDMETHODCALLTYPE *ConnectedTo)( |
| IPin *This, |
| IPin **pPin); |
| |
| HRESULT (STDMETHODCALLTYPE *ConnectionMediaType)( |
| IPin *This, |
| AM_MEDIA_TYPE *pmt); |
| |
| HRESULT (STDMETHODCALLTYPE *QueryPinInfo)( |
| IPin *This, |
| PIN_INFO *pInfo); |
| |
| HRESULT (STDMETHODCALLTYPE *QueryDirection)( |
| IPin *This, |
| PIN_DIRECTION *pPinDir); |
| |
| HRESULT (STDMETHODCALLTYPE *QueryId)( |
| IPin *This, |
| LPWSTR *Id); |
| |
| HRESULT (STDMETHODCALLTYPE *QueryAccept)( |
| IPin *This, |
| const AM_MEDIA_TYPE *pmt); |
| |
| HRESULT (STDMETHODCALLTYPE *EnumMediaTypes)( |
| IPin *This, |
| IEnumMediaTypes **ppEnum); |
| |
| HRESULT (STDMETHODCALLTYPE *QueryInternalConnections)( |
| IPin *This, |
| IPin **apPin, |
| ULONG *nPin); |
| |
| HRESULT (STDMETHODCALLTYPE *EndOfStream)( |
| IPin *This); |
| |
| HRESULT (STDMETHODCALLTYPE *BeginFlush)( |
| IPin *This); |
| |
| HRESULT (STDMETHODCALLTYPE *EndFlush)( |
| IPin *This); |
| |
| HRESULT (STDMETHODCALLTYPE *NewSegment)( |
| IPin *This, |
| REFERENCE_TIME tStart, |
| REFERENCE_TIME tStop, |
| double dRate); |
| |
| END_INTERFACE |
| } IPinVtbl; |
| |
| interface IPin { |
| CONST_VTBL IPinVtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IPin_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IPin_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IPin_Release(This) (This)->lpVtbl->Release(This) |
| /*** IPin methods ***/ |
| #define IPin_Connect(This,pReceivePin,pmt) (This)->lpVtbl->Connect(This,pReceivePin,pmt) |
| #define IPin_ReceiveConnection(This,pConnector,pmt) (This)->lpVtbl->ReceiveConnection(This,pConnector,pmt) |
| #define IPin_Disconnect(This) (This)->lpVtbl->Disconnect(This) |
| #define IPin_ConnectedTo(This,pPin) (This)->lpVtbl->ConnectedTo(This,pPin) |
| #define IPin_ConnectionMediaType(This,pmt) (This)->lpVtbl->ConnectionMediaType(This,pmt) |
| #define IPin_QueryPinInfo(This,pInfo) (This)->lpVtbl->QueryPinInfo(This,pInfo) |
| #define IPin_QueryDirection(This,pPinDir) (This)->lpVtbl->QueryDirection(This,pPinDir) |
| #define IPin_QueryId(This,Id) (This)->lpVtbl->QueryId(This,Id) |
| #define IPin_QueryAccept(This,pmt) (This)->lpVtbl->QueryAccept(This,pmt) |
| #define IPin_EnumMediaTypes(This,ppEnum) (This)->lpVtbl->EnumMediaTypes(This,ppEnum) |
| #define IPin_QueryInternalConnections(This,apPin,nPin) (This)->lpVtbl->QueryInternalConnections(This,apPin,nPin) |
| #define IPin_EndOfStream(This) (This)->lpVtbl->EndOfStream(This) |
| #define IPin_BeginFlush(This) (This)->lpVtbl->BeginFlush(This) |
| #define IPin_EndFlush(This) (This)->lpVtbl->EndFlush(This) |
| #define IPin_NewSegment(This,tStart,tStop,dRate) (This)->lpVtbl->NewSegment(This,tStart,tStop,dRate) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IPin_QueryInterface(IPin* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IPin_AddRef(IPin* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IPin_Release(IPin* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IPin methods ***/ |
| static FORCEINLINE HRESULT IPin_Connect(IPin* This,IPin *pReceivePin,const AM_MEDIA_TYPE *pmt) { |
| return This->lpVtbl->Connect(This,pReceivePin,pmt); |
| } |
| static FORCEINLINE HRESULT IPin_ReceiveConnection(IPin* This,IPin *pConnector,const AM_MEDIA_TYPE *pmt) { |
| return This->lpVtbl->ReceiveConnection(This,pConnector,pmt); |
| } |
| static FORCEINLINE HRESULT IPin_Disconnect(IPin* This) { |
| return This->lpVtbl->Disconnect(This); |
| } |
| static FORCEINLINE HRESULT IPin_ConnectedTo(IPin* This,IPin **pPin) { |
| return This->lpVtbl->ConnectedTo(This,pPin); |
| } |
| static FORCEINLINE HRESULT IPin_ConnectionMediaType(IPin* This,AM_MEDIA_TYPE *pmt) { |
| return This->lpVtbl->ConnectionMediaType(This,pmt); |
| } |
| static FORCEINLINE HRESULT IPin_QueryPinInfo(IPin* This,PIN_INFO *pInfo) { |
| return This->lpVtbl->QueryPinInfo(This,pInfo); |
| } |
| static FORCEINLINE HRESULT IPin_QueryDirection(IPin* This,PIN_DIRECTION *pPinDir) { |
| return This->lpVtbl->QueryDirection(This,pPinDir); |
| } |
| static FORCEINLINE HRESULT IPin_QueryId(IPin* This,LPWSTR *Id) { |
| return This->lpVtbl->QueryId(This,Id); |
| } |
| static FORCEINLINE HRESULT IPin_QueryAccept(IPin* This,const AM_MEDIA_TYPE *pmt) { |
| return This->lpVtbl->QueryAccept(This,pmt); |
| } |
| static FORCEINLINE HRESULT IPin_EnumMediaTypes(IPin* This,IEnumMediaTypes **ppEnum) { |
| return This->lpVtbl->EnumMediaTypes(This,ppEnum); |
| } |
| static FORCEINLINE HRESULT IPin_QueryInternalConnections(IPin* This,IPin **apPin,ULONG *nPin) { |
| return This->lpVtbl->QueryInternalConnections(This,apPin,nPin); |
| } |
| static FORCEINLINE HRESULT IPin_EndOfStream(IPin* This) { |
| return This->lpVtbl->EndOfStream(This); |
| } |
| static FORCEINLINE HRESULT IPin_BeginFlush(IPin* This) { |
| return This->lpVtbl->BeginFlush(This); |
| } |
| static FORCEINLINE HRESULT IPin_EndFlush(IPin* This) { |
| return This->lpVtbl->EndFlush(This); |
| } |
| static FORCEINLINE HRESULT IPin_NewSegment(IPin* This,REFERENCE_TIME tStart,REFERENCE_TIME tStop,double dRate) { |
| return This->lpVtbl->NewSegment(This,tStart,tStop,dRate); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| |
| #endif /* __IPin_INTERFACE_DEFINED__ */ |
| |
| typedef IPin *PPIN; |
| |
| /***************************************************************************** |
| * IEnumPins interface |
| */ |
| #ifndef __IEnumPins_INTERFACE_DEFINED__ |
| #define __IEnumPins_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IEnumPins, 0x56a86892, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("56a86892-0ad4-11ce-b03a-0020af0ba770") |
| IEnumPins : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE Next( |
| ULONG cPins, |
| IPin **ppPins, |
| ULONG *pcFetched) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Skip( |
| ULONG cPins) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Reset( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Clone( |
| IEnumPins **ppEnum) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IEnumPins, 0x56a86892, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) |
| #endif |
| #else |
| typedef struct IEnumPinsVtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IEnumPins *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IEnumPins *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IEnumPins *This); |
| |
| /*** IEnumPins methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Next)( |
| IEnumPins *This, |
| ULONG cPins, |
| IPin **ppPins, |
| ULONG *pcFetched); |
| |
| HRESULT (STDMETHODCALLTYPE *Skip)( |
| IEnumPins *This, |
| ULONG cPins); |
| |
| HRESULT (STDMETHODCALLTYPE *Reset)( |
| IEnumPins *This); |
| |
| HRESULT (STDMETHODCALLTYPE *Clone)( |
| IEnumPins *This, |
| IEnumPins **ppEnum); |
| |
| END_INTERFACE |
| } IEnumPinsVtbl; |
| |
| interface IEnumPins { |
| CONST_VTBL IEnumPinsVtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IEnumPins_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IEnumPins_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IEnumPins_Release(This) (This)->lpVtbl->Release(This) |
| /*** IEnumPins methods ***/ |
| #define IEnumPins_Next(This,cPins,ppPins,pcFetched) (This)->lpVtbl->Next(This,cPins,ppPins,pcFetched) |
| #define IEnumPins_Skip(This,cPins) (This)->lpVtbl->Skip(This,cPins) |
| #define IEnumPins_Reset(This) (This)->lpVtbl->Reset(This) |
| #define IEnumPins_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IEnumPins_QueryInterface(IEnumPins* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IEnumPins_AddRef(IEnumPins* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IEnumPins_Release(IEnumPins* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IEnumPins methods ***/ |
| static FORCEINLINE HRESULT IEnumPins_Next(IEnumPins* This,ULONG cPins,IPin **ppPins,ULONG *pcFetched) { |
| return This->lpVtbl->Next(This,cPins,ppPins,pcFetched); |
| } |
| static FORCEINLINE HRESULT IEnumPins_Skip(IEnumPins* This,ULONG cPins) { |
| return This->lpVtbl->Skip(This,cPins); |
| } |
| static FORCEINLINE HRESULT IEnumPins_Reset(IEnumPins* This) { |
| return This->lpVtbl->Reset(This); |
| } |
| static FORCEINLINE HRESULT IEnumPins_Clone(IEnumPins* This,IEnumPins **ppEnum) { |
| return This->lpVtbl->Clone(This,ppEnum); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| |
| #endif /* __IEnumPins_INTERFACE_DEFINED__ */ |
| |
| typedef IEnumPins *PENUMPINS; |
| |
| /***************************************************************************** |
| * IEnumMediaTypes interface |
| */ |
| #ifndef __IEnumMediaTypes_INTERFACE_DEFINED__ |
| #define __IEnumMediaTypes_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IEnumMediaTypes, 0x89c31040, 0x846b, 0x11ce, 0x97,0xd3, 0x00,0xaa,0x00,0x55,0x59,0x5a); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("89c31040-846b-11ce-97d3-00aa0055595a") |
| IEnumMediaTypes : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE Next( |
| ULONG cMediaTypes, |
| AM_MEDIA_TYPE **ppMediaTypes, |
| ULONG *pcFetched) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Skip( |
| ULONG cMediaTypes) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Reset( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Clone( |
| IEnumMediaTypes **ppEnum) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IEnumMediaTypes, 0x89c31040, 0x846b, 0x11ce, 0x97,0xd3, 0x00,0xaa,0x00,0x55,0x59,0x5a) |
| #endif |
| #else |
| typedef struct IEnumMediaTypesVtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IEnumMediaTypes *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IEnumMediaTypes *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IEnumMediaTypes *This); |
| |
| /*** IEnumMediaTypes methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Next)( |
| IEnumMediaTypes *This, |
| ULONG cMediaTypes, |
| AM_MEDIA_TYPE **ppMediaTypes, |
| ULONG *pcFetched); |
| |
| HRESULT (STDMETHODCALLTYPE *Skip)( |
| IEnumMediaTypes *This, |
| ULONG cMediaTypes); |
| |
| HRESULT (STDMETHODCALLTYPE *Reset)( |
| IEnumMediaTypes *This); |
| |
| HRESULT (STDMETHODCALLTYPE *Clone)( |
| IEnumMediaTypes *This, |
| IEnumMediaTypes **ppEnum); |
| |
| END_INTERFACE |
| } IEnumMediaTypesVtbl; |
| |
| interface IEnumMediaTypes { |
| CONST_VTBL IEnumMediaTypesVtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IEnumMediaTypes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IEnumMediaTypes_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IEnumMediaTypes_Release(This) (This)->lpVtbl->Release(This) |
| /*** IEnumMediaTypes methods ***/ |
| #define IEnumMediaTypes_Next(This,cMediaTypes,ppMediaTypes,pcFetched) (This)->lpVtbl->Next(This,cMediaTypes,ppMediaTypes,pcFetched) |
| #define IEnumMediaTypes_Skip(This,cMediaTypes) (This)->lpVtbl->Skip(This,cMediaTypes) |
| #define IEnumMediaTypes_Reset(This) (This)->lpVtbl->Reset(This) |
| #define IEnumMediaTypes_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IEnumMediaTypes_QueryInterface(IEnumMediaTypes* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IEnumMediaTypes_AddRef(IEnumMediaTypes* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IEnumMediaTypes_Release(IEnumMediaTypes* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IEnumMediaTypes methods ***/ |
| static FORCEINLINE HRESULT IEnumMediaTypes_Next(IEnumMediaTypes* This,ULONG cMediaTypes,AM_MEDIA_TYPE **ppMediaTypes,ULONG *pcFetched) { |
| return This->lpVtbl->Next(This,cMediaTypes,ppMediaTypes,pcFetched); |
| } |
| static FORCEINLINE HRESULT IEnumMediaTypes_Skip(IEnumMediaTypes* This,ULONG cMediaTypes) { |
| return This->lpVtbl->Skip(This,cMediaTypes); |
| } |
| static FORCEINLINE HRESULT IEnumMediaTypes_Reset(IEnumMediaTypes* This) { |
| return This->lpVtbl->Reset(This); |
| } |
| static FORCEINLINE HRESULT IEnumMediaTypes_Clone(IEnumMediaTypes* This,IEnumMediaTypes **ppEnum) { |
| return This->lpVtbl->Clone(This,ppEnum); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| |
| #endif /* __IEnumMediaTypes_INTERFACE_DEFINED__ */ |
| |
| typedef IEnumMediaTypes *PENUMMEDIATYPES; |
| |
| /***************************************************************************** |
| * IFilterGraph interface |
| */ |
| #ifndef __IFilterGraph_INTERFACE_DEFINED__ |
| #define __IFilterGraph_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IFilterGraph, 0x56a8689f, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("56a8689f-0ad4-11ce-b03a-0020af0ba770") |
| IFilterGraph : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE AddFilter( |
| IBaseFilter *pFilter, |
| LPCWSTR pName) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE RemoveFilter( |
| IBaseFilter *pFilter) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE EnumFilters( |
| IEnumFilters **ppEnum) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE FindFilterByName( |
| LPCWSTR pName, |
| IBaseFilter **ppFilter) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE ConnectDirect( |
| IPin *ppinOut, |
| IPin *ppinIn, |
| const AM_MEDIA_TYPE *pmt) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Reconnect( |
| IPin *ppin) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Disconnect( |
| IPin *ppin) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetDefaultSyncSource( |
| ) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IFilterGraph, 0x56a8689f, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) |
| #endif |
| #else |
| typedef struct IFilterGraphVtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IFilterGraph *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IFilterGraph *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IFilterGraph *This); |
| |
| /*** IFilterGraph methods ***/ |
| HRESULT (STDMETHODCALLTYPE *AddFilter)( |
| IFilterGraph *This, |
| IBaseFilter *pFilter, |
| LPCWSTR pName); |
| |
| HRESULT (STDMETHODCALLTYPE *RemoveFilter)( |
| IFilterGraph *This, |
| IBaseFilter *pFilter); |
| |
| HRESULT (STDMETHODCALLTYPE *EnumFilters)( |
| IFilterGraph *This, |
| IEnumFilters **ppEnum); |
| |
| HRESULT (STDMETHODCALLTYPE *FindFilterByName)( |
| IFilterGraph *This, |
| LPCWSTR pName, |
| IBaseFilter **ppFilter); |
| |
| HRESULT (STDMETHODCALLTYPE *ConnectDirect)( |
| IFilterGraph *This, |
| IPin *ppinOut, |
| IPin *ppinIn, |
| const AM_MEDIA_TYPE *pmt); |
| |
| HRESULT (STDMETHODCALLTYPE *Reconnect)( |
| IFilterGraph *This, |
| IPin *ppin); |
| |
| HRESULT (STDMETHODCALLTYPE *Disconnect)( |
| IFilterGraph *This, |
| IPin *ppin); |
| |
| HRESULT (STDMETHODCALLTYPE *SetDefaultSyncSource)( |
| IFilterGraph *This); |
| |
| END_INTERFACE |
| } IFilterGraphVtbl; |
| |
| interface IFilterGraph { |
| CONST_VTBL IFilterGraphVtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IFilterGraph_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IFilterGraph_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IFilterGraph_Release(This) (This)->lpVtbl->Release(This) |
| /*** IFilterGraph methods ***/ |
| #define IFilterGraph_AddFilter(This,pFilter,pName) (This)->lpVtbl->AddFilter(This,pFilter,pName) |
| #define IFilterGraph_RemoveFilter(This,pFilter) (This)->lpVtbl->RemoveFilter(This,pFilter) |
| #define IFilterGraph_EnumFilters(This,ppEnum) (This)->lpVtbl->EnumFilters(This,ppEnum) |
| #define IFilterGraph_FindFilterByName(This,pName,ppFilter) (This)->lpVtbl->FindFilterByName(This,pName,ppFilter) |
| #define IFilterGraph_ConnectDirect(This,ppinOut,ppinIn,pmt) (This)->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt) |
| #define IFilterGraph_Reconnect(This,ppin) (This)->lpVtbl->Reconnect(This,ppin) |
| #define IFilterGraph_Disconnect(This,ppin) (This)->lpVtbl->Disconnect(This,ppin) |
| #define IFilterGraph_SetDefaultSyncSource(This) (This)->lpVtbl->SetDefaultSyncSource(This) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IFilterGraph_QueryInterface(IFilterGraph* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IFilterGraph_AddRef(IFilterGraph* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IFilterGraph_Release(IFilterGraph* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IFilterGraph methods ***/ |
| static FORCEINLINE HRESULT IFilterGraph_AddFilter(IFilterGraph* This,IBaseFilter *pFilter,LPCWSTR pName) { |
| return This->lpVtbl->AddFilter(This,pFilter,pName); |
| } |
| static FORCEINLINE HRESULT IFilterGraph_RemoveFilter(IFilterGraph* This,IBaseFilter *pFilter) { |
| return This->lpVtbl->RemoveFilter(This,pFilter); |
| } |
| static FORCEINLINE HRESULT IFilterGraph_EnumFilters(IFilterGraph* This,IEnumFilters **ppEnum) { |
| return This->lpVtbl->EnumFilters(This,ppEnum); |
| } |
| static FORCEINLINE HRESULT IFilterGraph_FindFilterByName(IFilterGraph* This,LPCWSTR pName,IBaseFilter **ppFilter) { |
| return This->lpVtbl->FindFilterByName(This,pName,ppFilter); |
| } |
| static FORCEINLINE HRESULT IFilterGraph_ConnectDirect(IFilterGraph* This,IPin *ppinOut,IPin *ppinIn,const AM_MEDIA_TYPE *pmt) { |
| return This->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt); |
| } |
| static FORCEINLINE HRESULT IFilterGraph_Reconnect(IFilterGraph* This,IPin *ppin) { |
| return This->lpVtbl->Reconnect(This,ppin); |
| } |
| static FORCEINLINE HRESULT IFilterGraph_Disconnect(IFilterGraph* This,IPin *ppin) { |
| return This->lpVtbl->Disconnect(This,ppin); |
| } |
| static FORCEINLINE HRESULT IFilterGraph_SetDefaultSyncSource(IFilterGraph* This) { |
| return This->lpVtbl->SetDefaultSyncSource(This); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| |
| #endif /* __IFilterGraph_INTERFACE_DEFINED__ */ |
| |
| typedef IFilterGraph *PFILTERGRAPH; |
| |
| /***************************************************************************** |
| * IEnumFilters interface |
| */ |
| #ifndef __IEnumFilters_INTERFACE_DEFINED__ |
| #define __IEnumFilters_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IEnumFilters, 0x56a86893, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("56a86893-0ad4-11ce-b03a-0020af0ba770") |
| IEnumFilters : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE Next( |
| ULONG cFilters, |
| IBaseFilter **ppFilter, |
| ULONG *pcFetched) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Skip( |
| ULONG cFilters) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Reset( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Clone( |
| IEnumFilters **ppEnum) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IEnumFilters, 0x56a86893, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) |
| #endif |
| #else |
| typedef struct IEnumFiltersVtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IEnumFilters *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IEnumFilters *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IEnumFilters *This); |
| |
| /*** IEnumFilters methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Next)( |
| IEnumFilters *This, |
| ULONG cFilters, |
| IBaseFilter **ppFilter, |
| ULONG *pcFetched); |
| |
| HRESULT (STDMETHODCALLTYPE *Skip)( |
| IEnumFilters *This, |
| ULONG cFilters); |
| |
| HRESULT (STDMETHODCALLTYPE *Reset)( |
| IEnumFilters *This); |
| |
| HRESULT (STDMETHODCALLTYPE *Clone)( |
| IEnumFilters *This, |
| IEnumFilters **ppEnum); |
| |
| END_INTERFACE |
| } IEnumFiltersVtbl; |
| |
| interface IEnumFilters { |
| CONST_VTBL IEnumFiltersVtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IEnumFilters_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IEnumFilters_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IEnumFilters_Release(This) (This)->lpVtbl->Release(This) |
| /*** IEnumFilters methods ***/ |
| #define IEnumFilters_Next(This,cFilters,ppFilter,pcFetched) (This)->lpVtbl->Next(This,cFilters,ppFilter,pcFetched) |
| #define IEnumFilters_Skip(This,cFilters) (This)->lpVtbl->Skip(This,cFilters) |
| #define IEnumFilters_Reset(This) (This)->lpVtbl->Reset(This) |
| #define IEnumFilters_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IEnumFilters_QueryInterface(IEnumFilters* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IEnumFilters_AddRef(IEnumFilters* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IEnumFilters_Release(IEnumFilters* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IEnumFilters methods ***/ |
| static FORCEINLINE HRESULT IEnumFilters_Next(IEnumFilters* This,ULONG cFilters,IBaseFilter **ppFilter,ULONG *pcFetched) { |
| return This->lpVtbl->Next(This,cFilters,ppFilter,pcFetched); |
| } |
| static FORCEINLINE HRESULT IEnumFilters_Skip(IEnumFilters* This,ULONG cFilters) { |
| return This->lpVtbl->Skip(This,cFilters); |
| } |
| static FORCEINLINE HRESULT IEnumFilters_Reset(IEnumFilters* This) { |
| return This->lpVtbl->Reset(This); |
| } |
| static FORCEINLINE HRESULT IEnumFilters_Clone(IEnumFilters* This,IEnumFilters **ppEnum) { |
| return This->lpVtbl->Clone(This,ppEnum); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| |
| #endif /* __IEnumFilters_INTERFACE_DEFINED__ */ |
| |
| typedef IEnumFilters *PENUMFILTERS; |
| |
| /***************************************************************************** |
| * IMediaFilter interface |
| */ |
| #ifndef __IMediaFilter_INTERFACE_DEFINED__ |
| #define __IMediaFilter_INTERFACE_DEFINED__ |
| |
| typedef enum _FilterState { |
| State_Stopped = 0, |
| State_Paused = 1, |
| State_Running = 2 |
| } FILTER_STATE; |
| |
| DEFINE_GUID(IID_IMediaFilter, 0x56a86899, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("56a86899-0ad4-11ce-b03a-0020af0ba770") |
| IMediaFilter : public IPersist |
| { |
| virtual HRESULT STDMETHODCALLTYPE Stop( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Pause( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Run( |
| REFERENCE_TIME tStart) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetState( |
| DWORD dwMilliSecsTimeout, |
| FILTER_STATE *State) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetSyncSource( |
| IReferenceClock *pClock) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetSyncSource( |
| IReferenceClock **pClock) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IMediaFilter, 0x56a86899, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) |
| #endif |
| #else |
| typedef struct IMediaFilterVtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IMediaFilter *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IMediaFilter *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IMediaFilter *This); |
| |
| /*** IPersist methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetClassID)( |
| IMediaFilter *This, |
| CLSID *pClassID); |
| |
| /*** IMediaFilter methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Stop)( |
| IMediaFilter *This); |
| |
| HRESULT (STDMETHODCALLTYPE *Pause)( |
| IMediaFilter *This); |
| |
| HRESULT (STDMETHODCALLTYPE *Run)( |
| IMediaFilter *This, |
| REFERENCE_TIME tStart); |
| |
| HRESULT (STDMETHODCALLTYPE *GetState)( |
| IMediaFilter *This, |
| DWORD dwMilliSecsTimeout, |
| FILTER_STATE *State); |
| |
| HRESULT (STDMETHODCALLTYPE *SetSyncSource)( |
| IMediaFilter *This, |
| IReferenceClock *pClock); |
| |
| HRESULT (STDMETHODCALLTYPE *GetSyncSource)( |
| IMediaFilter *This, |
| IReferenceClock **pClock); |
| |
| END_INTERFACE |
| } IMediaFilterVtbl; |
| |
| interface IMediaFilter { |
| CONST_VTBL IMediaFilterVtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IMediaFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMediaFilter_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IMediaFilter_Release(This) (This)->lpVtbl->Release(This) |
| /*** IPersist methods ***/ |
| #define IMediaFilter_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) |
| /*** IMediaFilter methods ***/ |
| #define IMediaFilter_Stop(This) (This)->lpVtbl->Stop(This) |
| #define IMediaFilter_Pause(This) (This)->lpVtbl->Pause(This) |
| #define IMediaFilter_Run(This,tStart) (This)->lpVtbl->Run(This,tStart) |
| #define IMediaFilter_GetState(This,dwMilliSecsTimeout,State) (This)->lpVtbl->GetState(This,dwMilliSecsTimeout,State) |
| #define IMediaFilter_SetSyncSource(This,pClock) (This)->lpVtbl->SetSyncSource(This,pClock) |
| #define IMediaFilter_GetSyncSource(This,pClock) (This)->lpVtbl->GetSyncSource(This,pClock) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IMediaFilter_QueryInterface(IMediaFilter* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IMediaFilter_AddRef(IMediaFilter* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IMediaFilter_Release(IMediaFilter* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IPersist methods ***/ |
| static FORCEINLINE HRESULT IMediaFilter_GetClassID(IMediaFilter* This,CLSID *pClassID) { |
| return This->lpVtbl->GetClassID(This,pClassID); |
| } |
| /*** IMediaFilter methods ***/ |
| static FORCEINLINE HRESULT IMediaFilter_Stop(IMediaFilter* This) { |
| return This->lpVtbl->Stop(This); |
| } |
| static FORCEINLINE HRESULT IMediaFilter_Pause(IMediaFilter* This) { |
| return This->lpVtbl->Pause(This); |
| } |
| static FORCEINLINE HRESULT IMediaFilter_Run(IMediaFilter* This,REFERENCE_TIME tStart) { |
| return This->lpVtbl->Run(This,tStart); |
| } |
| static FORCEINLINE HRESULT IMediaFilter_GetState(IMediaFilter* This,DWORD dwMilliSecsTimeout,FILTER_STATE *State) { |
| return This->lpVtbl->GetState(This,dwMilliSecsTimeout,State); |
| } |
| static FORCEINLINE HRESULT IMediaFilter_SetSyncSource(IMediaFilter* This,IReferenceClock *pClock) { |
| return This->lpVtbl->SetSyncSource(This,pClock); |
| } |
| static FORCEINLINE HRESULT IMediaFilter_GetSyncSource(IMediaFilter* This,IReferenceClock **pClock) { |
| return This->lpVtbl->GetSyncSource(This,pClock); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| |
| #endif /* __IMediaFilter_INTERFACE_DEFINED__ */ |
| |
| typedef IMediaFilter *PMEDIAFILTER; |
| |
| /***************************************************************************** |
| * IBaseFilter interface |
| */ |
| #ifndef __IBaseFilter_INTERFACE_DEFINED__ |
| #define __IBaseFilter_INTERFACE_DEFINED__ |
| |
| typedef struct _FilterInfo { |
| WCHAR achName[128]; |
| IFilterGraph *pGraph; |
| } FILTER_INFO; |
| |
| DEFINE_GUID(IID_IBaseFilter, 0x56a86895, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("56a86895-0ad4-11ce-b03a-0020af0ba770") |
| IBaseFilter : public IMediaFilter |
| { |
| virtual HRESULT STDMETHODCALLTYPE EnumPins( |
| IEnumPins **ppEnum) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE FindPin( |
| LPCWSTR Id, |
| IPin **ppPin) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE QueryFilterInfo( |
| FILTER_INFO *pInfo) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE JoinFilterGraph( |
| IFilterGraph *pGraph, |
| LPCWSTR pName) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE QueryVendorInfo( |
| LPWSTR *pVendorInfo) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IBaseFilter, 0x56a86895, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) |
| #endif |
| #else |
| typedef struct IBaseFilterVtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IBaseFilter *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IBaseFilter *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IBaseFilter *This); |
| |
| /*** IPersist methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetClassID)( |
| IBaseFilter *This, |
| CLSID *pClassID); |
| |
| /*** IMediaFilter methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Stop)( |
| IBaseFilter *This); |
| |
| HRESULT (STDMETHODCALLTYPE *Pause)( |
| IBaseFilter *This); |
| |
| HRESULT (STDMETHODCALLTYPE *Run)( |
| IBaseFilter *This, |
| REFERENCE_TIME tStart); |
| |
| HRESULT (STDMETHODCALLTYPE *GetState)( |
| IBaseFilter *This, |
| DWORD dwMilliSecsTimeout, |
| FILTER_STATE *State); |
| |
| HRESULT (STDMETHODCALLTYPE *SetSyncSource)( |
| IBaseFilter *This, |
| IReferenceClock *pClock); |
| |
| HRESULT (STDMETHODCALLTYPE *GetSyncSource)( |
| IBaseFilter *This, |
| IReferenceClock **pClock); |
| |
| /*** IBaseFilter methods ***/ |
| HRESULT (STDMETHODCALLTYPE *EnumPins)( |
| IBaseFilter *This, |
| IEnumPins **ppEnum); |
| |
| HRESULT (STDMETHODCALLTYPE *FindPin)( |
| IBaseFilter *This, |
| LPCWSTR Id, |
| IPin **ppPin); |
| |
| HRESULT (STDMETHODCALLTYPE *QueryFilterInfo)( |
| IBaseFilter *This, |
| FILTER_INFO *pInfo); |
| |
| HRESULT (STDMETHODCALLTYPE *JoinFilterGraph)( |
| IBaseFilter *This, |
| IFilterGraph *pGraph, |
| LPCWSTR pName); |
| |
| HRESULT (STDMETHODCALLTYPE *QueryVendorInfo)( |
| IBaseFilter *This, |
| LPWSTR *pVendorInfo); |
| |
| END_INTERFACE |
| } IBaseFilterVtbl; |
| |
| interface IBaseFilter { |
| CONST_VTBL IBaseFilterVtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IBaseFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IBaseFilter_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IBaseFilter_Release(This) (This)->lpVtbl->Release(This) |
| /*** IPersist methods ***/ |
| #define IBaseFilter_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) |
| /*** IMediaFilter methods ***/ |
| #define IBaseFilter_Stop(This) (This)->lpVtbl->Stop(This) |
| #define IBaseFilter_Pause(This) (This)->lpVtbl->Pause(This) |
| #define IBaseFilter_Run(This,tStart) (This)->lpVtbl->Run(This,tStart) |
| #define IBaseFilter_GetState(This,dwMilliSecsTimeout,State) (This)->lpVtbl->GetState(This,dwMilliSecsTimeout,State) |
| #define IBaseFilter_SetSyncSource(This,pClock) (This)->lpVtbl->SetSyncSource(This,pClock) |
| #define IBaseFilter_GetSyncSource(This,pClock) (This)->lpVtbl->GetSyncSource(This,pClock) |
| /*** IBaseFilter methods ***/ |
| #define IBaseFilter_EnumPins(This,ppEnum) (This)->lpVtbl->EnumPins(This,ppEnum) |
| #define IBaseFilter_FindPin(This,Id,ppPin) (This)->lpVtbl->FindPin(This,Id,ppPin) |
| #define IBaseFilter_QueryFilterInfo(This,pInfo) (This)->lpVtbl->QueryFilterInfo(This,pInfo) |
| #define IBaseFilter_JoinFilterGraph(This,pGraph,pName) (This)->lpVtbl->JoinFilterGraph(This,pGraph,pName) |
| #define IBaseFilter_QueryVendorInfo(This,pVendorInfo) (This)->lpVtbl->QueryVendorInfo(This,pVendorInfo) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IBaseFilter_QueryInterface(IBaseFilter* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IBaseFilter_AddRef(IBaseFilter* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IBaseFilter_Release(IBaseFilter* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IPersist methods ***/ |
| static FORCEINLINE HRESULT IBaseFilter_GetClassID(IBaseFilter* This,CLSID *pClassID) { |
| return This->lpVtbl->GetClassID(This,pClassID); |
| } |
| /*** IMediaFilter methods ***/ |
| static FORCEINLINE HRESULT IBaseFilter_Stop(IBaseFilter* This) { |
| return This->lpVtbl->Stop(This); |
| } |
| static FORCEINLINE HRESULT IBaseFilter_Pause(IBaseFilter* This) { |
| return This->lpVtbl->Pause(This); |
| } |
| static FORCEINLINE HRESULT IBaseFilter_Run(IBaseFilter* This,REFERENCE_TIME tStart) { |
| return This->lpVtbl->Run(This,tStart); |
| } |
| static FORCEINLINE HRESULT IBaseFilter_GetState(IBaseFilter* This,DWORD dwMilliSecsTimeout,FILTER_STATE *State) { |
| return This->lpVtbl->GetState(This,dwMilliSecsTimeout,State); |
| } |
| static FORCEINLINE HRESULT IBaseFilter_SetSyncSource(IBaseFilter* This,IReferenceClock *pClock) { |
| return This->lpVtbl->SetSyncSource(This,pClock); |
| } |
| static FORCEINLINE HRESULT IBaseFilter_GetSyncSource(IBaseFilter* This,IReferenceClock **pClock) { |
| return This->lpVtbl->GetSyncSource(This,pClock); |
| } |
| /*** IBaseFilter methods ***/ |
| static FORCEINLINE HRESULT IBaseFilter_EnumPins(IBaseFilter* This,IEnumPins **ppEnum) { |
| return This->lpVtbl->EnumPins(This,ppEnum); |
| } |
| static FORCEINLINE HRESULT IBaseFilter_FindPin(IBaseFilter* This,LPCWSTR Id,IPin **ppPin) { |
| return This->lpVtbl->FindPin(This,Id,ppPin); |
| } |
| static FORCEINLINE HRESULT IBaseFilter_QueryFilterInfo(IBaseFilter* This,FILTER_INFO *pInfo) { |
| return This->lpVtbl->QueryFilterInfo(This,pInfo); |
| } |
| static FORCEINLINE HRESULT IBaseFilter_JoinFilterGraph(IBaseFilter* This,IFilterGraph *pGraph,LPCWSTR pName) { |
| return This->lpVtbl->JoinFilterGraph(This,pGraph,pName); |
| } |
| static FORCEINLINE HRESULT IBaseFilter_QueryVendorInfo(IBaseFilter* This,LPWSTR *pVendorInfo) { |
| return This->lpVtbl->QueryVendorInfo(This,pVendorInfo); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| |
| #endif /* __IBaseFilter_INTERFACE_DEFINED__ */ |
| |
| typedef IBaseFilter *PFILTER; |
| |
| /***************************************************************************** |
| * IReferenceClock interface |
| */ |
| #ifndef __IReferenceClock_INTERFACE_DEFINED__ |
| #define __IReferenceClock_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IReferenceClock, 0x56a86897, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("56a86897-0ad4-11ce-b03a-0020af0ba770") |
| IReferenceClock : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE GetTime( |
| REFERENCE_TIME *pTime) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE AdviseTime( |
| REFERENCE_TIME baseTime, |
| REFERENCE_TIME streamTime, |
| HEVENT hEvent, |
| DWORD_PTR *pdwAdviseCookie) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE AdvisePeriodic( |
| REFERENCE_TIME startTime, |
| REFERENCE_TIME periodTime, |
| HSEMAPHORE hSemaphore, |
| DWORD_PTR *pdwAdviseCookie) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Unadvise( |
| DWORD_PTR dwAdviseCookie) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IReferenceClock, 0x56a86897, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) |
| #endif |
| #else |
| typedef struct IReferenceClockVtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IReferenceClock *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IReferenceClock *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IReferenceClock *This); |
| |
| /*** IReferenceClock methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetTime)( |
| IReferenceClock *This, |
| REFERENCE_TIME *pTime); |
| |
| HRESULT (STDMETHODCALLTYPE *AdviseTime)( |
| IReferenceClock *This, |
| REFERENCE_TIME baseTime, |
| REFERENCE_TIME streamTime, |
| HEVENT hEvent, |
| DWORD_PTR *pdwAdviseCookie); |
| |
| HRESULT (STDMETHODCALLTYPE *AdvisePeriodic)( |
| IReferenceClock *This, |
| REFERENCE_TIME startTime, |
| REFERENCE_TIME periodTime, |
| HSEMAPHORE hSemaphore, |
| DWORD_PTR *pdwAdviseCookie); |
| |
| HRESULT (STDMETHODCALLTYPE *Unadvise)( |
| IReferenceClock *This, |
| DWORD_PTR dwAdviseCookie); |
| |
| END_INTERFACE |
| } IReferenceClockVtbl; |
| |
| interface IReferenceClock { |
| CONST_VTBL IReferenceClockVtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IReferenceClock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IReferenceClock_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IReferenceClock_Release(This) (This)->lpVtbl->Release(This) |
| /*** IReferenceClock methods ***/ |
| #define IReferenceClock_GetTime(This,pTime) (This)->lpVtbl->GetTime(This,pTime) |
| #define IReferenceClock_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) (This)->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) |
| #define IReferenceClock_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) (This)->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) |
| #define IReferenceClock_Unadvise(This,dwAdviseCookie) (This)->lpVtbl->Unadvise(This,dwAdviseCookie) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IReferenceClock_QueryInterface(IReferenceClock* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IReferenceClock_AddRef(IReferenceClock* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IReferenceClock_Release(IReferenceClock* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IReferenceClock methods ***/ |
| static FORCEINLINE HRESULT IReferenceClock_GetTime(IReferenceClock* This,REFERENCE_TIME *pTime) { |
| return This->lpVtbl->GetTime(This,pTime); |
| } |
| static FORCEINLINE HRESULT IReferenceClock_AdviseTime(IReferenceClock* This,REFERENCE_TIME baseTime,REFERENCE_TIME streamTime,HEVENT hEvent,DWORD_PTR *pdwAdviseCookie) { |
| return This->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie); |
| } |
| static FORCEINLINE HRESULT IReferenceClock_AdvisePeriodic(IReferenceClock* This,REFERENCE_TIME startTime,REFERENCE_TIME periodTime,HSEMAPHORE hSemaphore,DWORD_PTR *pdwAdviseCookie) { |
| return This->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie); |
| } |
| static FORCEINLINE HRESULT IReferenceClock_Unadvise(IReferenceClock* This,DWORD_PTR dwAdviseCookie) { |
| return This->lpVtbl->Unadvise(This,dwAdviseCookie); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| |
| #endif /* __IReferenceClock_INTERFACE_DEFINED__ */ |
| |
| typedef IReferenceClock *PREFERENCECLOCK; |
| |
| /***************************************************************************** |
| * IReferenceClockTimerControl interface |
| */ |
| #ifndef __IReferenceClockTimerControl_INTERFACE_DEFINED__ |
| #define __IReferenceClockTimerControl_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IReferenceClockTimerControl, 0xebec459c, 0x2eca, 0x4d42, 0xa8,0xaf, 0x30,0xdf,0x55,0x76,0x14,0xb8); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("ebec459c-2eca-4d42-a8af-30df557614b8") |
| IReferenceClockTimerControl : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE SetDefaultTimerResolution( |
| REFERENCE_TIME timerResolution) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetDefaultTimerResolution( |
| REFERENCE_TIME *pTimerResolution) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IReferenceClockTimerControl, 0xebec459c, 0x2eca, 0x4d42, 0xa8,0xaf, 0x30,0xdf,0x55,0x76,0x14,0xb8) |
| #endif |
| #else |
| typedef struct IReferenceClockTimerControlVtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IReferenceClockTimerControl *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IReferenceClockTimerControl *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IReferenceClockTimerControl *This); |
| |
| /*** IReferenceClockTimerControl methods ***/ |
| HRESULT (STDMETHODCALLTYPE *SetDefaultTimerResolution)( |
| IReferenceClockTimerControl *This, |
| REFERENCE_TIME timerResolution); |
| |
| HRESULT (STDMETHODCALLTYPE *GetDefaultTimerResolution)( |
| IReferenceClockTimerControl *This, |
| REFERENCE_TIME *pTimerResolution); |
| |
| END_INTERFACE |
| } IReferenceClockTimerControlVtbl; |
| |
| interface IReferenceClockTimerControl { |
| CONST_VTBL IReferenceClockTimerControlVtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IReferenceClockTimerControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IReferenceClockTimerControl_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IReferenceClockTimerControl_Release(This) (This)->lpVtbl->Release(This) |
| /*** IReferenceClockTimerControl methods ***/ |
| #define IReferenceClockTimerControl_SetDefaultTimerResolution(This,timerResolution) (This)->lpVtbl->SetDefaultTimerResolution(This,timerResolution) |
| #define IReferenceClockTimerControl_GetDefaultTimerResolution(This,pTimerResolution) (This)->lpVtbl->GetDefaultTimerResolution(This,pTimerResolution) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IReferenceClockTimerControl_QueryInterface(IReferenceClockTimerControl* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IReferenceClockTimerControl_AddRef(IReferenceClockTimerControl* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IReferenceClockTimerControl_Release(IReferenceClockTimerControl* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IReferenceClockTimerControl methods ***/ |
| static FORCEINLINE HRESULT IReferenceClockTimerControl_SetDefaultTimerResolution(IReferenceClockTimerControl* This,REFERENCE_TIME timerResolution) { |
| return This->lpVtbl->SetDefaultTimerResolution(This,timerResolution); |
| } |
| static FORCEINLINE HRESULT IReferenceClockTimerControl_GetDefaultTimerResolution(IReferenceClockTimerControl* This,REFERENCE_TIME *pTimerResolution) { |
| return This->lpVtbl->GetDefaultTimerResolution(This,pTimerResolution); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| |
| #endif /* __IReferenceClockTimerControl_INTERFACE_DEFINED__ */ |
| |
| |
| /***************************************************************************** |
| * IReferenceClock2 interface |
| */ |
| #ifndef __IReferenceClock2_INTERFACE_DEFINED__ |
| #define __IReferenceClock2_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IReferenceClock2, 0x36b73885, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("36b73885-c2c8-11cf-8b46-00805f6cef60") |
| IReferenceClock2 : public IReferenceClock |
| { |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IReferenceClock2, 0x36b73885, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60) |
| #endif |
| #else |
| typedef struct IReferenceClock2Vtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IReferenceClock2 *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IReferenceClock2 *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IReferenceClock2 *This); |
| |
| /*** IReferenceClock methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetTime)( |
| IReferenceClock2 *This, |
| REFERENCE_TIME *pTime); |
| |
| HRESULT (STDMETHODCALLTYPE *AdviseTime)( |
| IReferenceClock2 *This, |
| REFERENCE_TIME baseTime, |
| REFERENCE_TIME streamTime, |
| HEVENT hEvent, |
| DWORD_PTR *pdwAdviseCookie); |
| |
| HRESULT (STDMETHODCALLTYPE *AdvisePeriodic)( |
| IReferenceClock2 *This, |
| REFERENCE_TIME startTime, |
| REFERENCE_TIME periodTime, |
| HSEMAPHORE hSemaphore, |
| DWORD_PTR *pdwAdviseCookie); |
| |
| HRESULT (STDMETHODCALLTYPE *Unadvise)( |
| IReferenceClock2 *This, |
| DWORD_PTR dwAdviseCookie); |
| |
| END_INTERFACE |
| } IReferenceClock2Vtbl; |
| |
| interface IReferenceClock2 { |
| CONST_VTBL IReferenceClock2Vtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IReferenceClock2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IReferenceClock2_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IReferenceClock2_Release(This) (This)->lpVtbl->Release(This) |
| /*** IReferenceClock methods ***/ |
| #define IReferenceClock2_GetTime(This,pTime) (This)->lpVtbl->GetTime(This,pTime) |
| #define IReferenceClock2_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) (This)->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) |
| #define IReferenceClock2_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) (This)->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) |
| #define IReferenceClock2_Unadvise(This,dwAdviseCookie) (This)->lpVtbl->Unadvise(This,dwAdviseCookie) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IReferenceClock2_QueryInterface(IReferenceClock2* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IReferenceClock2_AddRef(IReferenceClock2* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IReferenceClock2_Release(IReferenceClock2* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IReferenceClock methods ***/ |
| static FORCEINLINE HRESULT IReferenceClock2_GetTime(IReferenceClock2* This,REFERENCE_TIME *pTime) { |
| return This->lpVtbl->GetTime(This,pTime); |
| } |
| static FORCEINLINE HRESULT IReferenceClock2_AdviseTime(IReferenceClock2* This,REFERENCE_TIME baseTime,REFERENCE_TIME streamTime,HEVENT hEvent,DWORD_PTR *pdwAdviseCookie) { |
| return This->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie); |
| } |
| static FORCEINLINE HRESULT IReferenceClock2_AdvisePeriodic(IReferenceClock2* This,REFERENCE_TIME startTime,REFERENCE_TIME periodTime,HSEMAPHORE hSemaphore,DWORD_PTR *pdwAdviseCookie) { |
| return This->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie); |
| } |
| static FORCEINLINE HRESULT IReferenceClock2_Unadvise(IReferenceClock2* This,DWORD_PTR dwAdviseCookie) { |
| return This->lpVtbl->Unadvise(This,dwAdviseCookie); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| |
| #endif /* __IReferenceClock2_INTERFACE_DEFINED__ */ |
| |
| typedef IReferenceClock2 *PREFERENCECLOCK2; |
| |
| /***************************************************************************** |
| * IMediaSample interface |
| */ |
| #ifndef __IMediaSample_INTERFACE_DEFINED__ |
| #define __IMediaSample_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IMediaSample, 0x56a8689a, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("56a8689a-0ad4-11ce-b03a-0020af0ba770") |
| IMediaSample : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE GetPointer( |
| BYTE **ppBuffer) = 0; |
| |
| virtual LONG STDMETHODCALLTYPE GetSize( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetTime( |
| REFERENCE_TIME *pTimeStart, |
| REFERENCE_TIME *pTimeEnd) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetTime( |
| REFERENCE_TIME *pTimeStart, |
| REFERENCE_TIME *pTimeEnd) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE IsSyncPoint( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetSyncPoint( |
| WINBOOL bIsSyncPoint) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE IsPreroll( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetPreroll( |
| WINBOOL bIsPreroll) = 0; |
| |
| virtual LONG STDMETHODCALLTYPE GetActualDataLength( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetActualDataLength( |
| LONG a) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetMediaType( |
| AM_MEDIA_TYPE **ppMediaType) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetMediaType( |
| AM_MEDIA_TYPE *pMediaType) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE IsDiscontinuity( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetDiscontinuity( |
| WINBOOL bDiscontinuity) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetMediaTime( |
| LONGLONG *pTimeStart, |
| LONGLONG *pTimeEnd) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetMediaTime( |
| LONGLONG *pTimeStart, |
| LONGLONG *pTimeEnd) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IMediaSample, 0x56a8689a, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) |
| #endif |
| #else |
| typedef struct IMediaSampleVtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IMediaSample *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IMediaSample *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IMediaSample *This); |
| |
| /*** IMediaSample methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetPointer)( |
| IMediaSample *This, |
| BYTE **ppBuffer); |
| |
| LONG (STDMETHODCALLTYPE *GetSize)( |
| IMediaSample *This); |
| |
| HRESULT (STDMETHODCALLTYPE *GetTime)( |
| IMediaSample *This, |
| REFERENCE_TIME *pTimeStart, |
| REFERENCE_TIME *pTimeEnd); |
| |
| HRESULT (STDMETHODCALLTYPE *SetTime)( |
| IMediaSample *This, |
| REFERENCE_TIME *pTimeStart, |
| REFERENCE_TIME *pTimeEnd); |
| |
| HRESULT (STDMETHODCALLTYPE *IsSyncPoint)( |
| IMediaSample *This); |
| |
| HRESULT (STDMETHODCALLTYPE *SetSyncPoint)( |
| IMediaSample *This, |
| WINBOOL bIsSyncPoint); |
| |
| HRESULT (STDMETHODCALLTYPE *IsPreroll)( |
| IMediaSample *This); |
| |
| HRESULT (STDMETHODCALLTYPE *SetPreroll)( |
| IMediaSample *This, |
| WINBOOL bIsPreroll); |
| |
| LONG (STDMETHODCALLTYPE *GetActualDataLength)( |
| IMediaSample *This); |
| |
| HRESULT (STDMETHODCALLTYPE *SetActualDataLength)( |
| IMediaSample *This, |
| LONG a); |
| |
| HRESULT (STDMETHODCALLTYPE *GetMediaType)( |
| IMediaSample *This, |
| AM_MEDIA_TYPE **ppMediaType); |
| |
| HRESULT (STDMETHODCALLTYPE *SetMediaType)( |
| IMediaSample *This, |
| AM_MEDIA_TYPE *pMediaType); |
| |
| HRESULT (STDMETHODCALLTYPE *IsDiscontinuity)( |
| IMediaSample *This); |
| |
| HRESULT (STDMETHODCALLTYPE *SetDiscontinuity)( |
| IMediaSample *This, |
| WINBOOL bDiscontinuity); |
| |
| HRESULT (STDMETHODCALLTYPE *GetMediaTime)( |
| IMediaSample *This, |
| LONGLONG *pTimeStart, |
| LONGLONG *pTimeEnd); |
| |
| HRESULT (STDMETHODCALLTYPE *SetMediaTime)( |
| IMediaSample *This, |
| LONGLONG *pTimeStart, |
| LONGLONG *pTimeEnd); |
| |
| END_INTERFACE |
| } IMediaSampleVtbl; |
| |
| interface IMediaSample { |
| CONST_VTBL IMediaSampleVtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IMediaSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMediaSample_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IMediaSample_Release(This) (This)->lpVtbl->Release(This) |
| /*** IMediaSample methods ***/ |
| #define IMediaSample_GetPointer(This,ppBuffer) (This)->lpVtbl->GetPointer(This,ppBuffer) |
| #define IMediaSample_GetSize(This) (This)->lpVtbl->GetSize(This) |
| #define IMediaSample_GetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetTime(This,pTimeStart,pTimeEnd) |
| #define IMediaSample_SetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetTime(This,pTimeStart,pTimeEnd) |
| #define IMediaSample_IsSyncPoint(This) (This)->lpVtbl->IsSyncPoint(This) |
| #define IMediaSample_SetSyncPoint(This,bIsSyncPoint) (This)->lpVtbl->SetSyncPoint(This,bIsSyncPoint) |
| #define IMediaSample_IsPreroll(This) (This)->lpVtbl->IsPreroll(This) |
| #define IMediaSample_SetPreroll(This,bIsPreroll) (This)->lpVtbl->SetPreroll(This,bIsPreroll) |
| #define IMediaSample_GetActualDataLength(This) (This)->lpVtbl->GetActualDataLength(This) |
| #define IMediaSample_SetActualDataLength(This,a) (This)->lpVtbl->SetActualDataLength(This,a) |
| #define IMediaSample_GetMediaType(This,ppMediaType) (This)->lpVtbl->GetMediaType(This,ppMediaType) |
| #define IMediaSample_SetMediaType(This,pMediaType) (This)->lpVtbl->SetMediaType(This,pMediaType) |
| #define IMediaSample_IsDiscontinuity(This) (This)->lpVtbl->IsDiscontinuity(This) |
| #define IMediaSample_SetDiscontinuity(This,bDiscontinuity) (This)->lpVtbl->SetDiscontinuity(This,bDiscontinuity) |
| #define IMediaSample_GetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd) |
| #define IMediaSample_SetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IMediaSample_QueryInterface(IMediaSample* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IMediaSample_AddRef(IMediaSample* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IMediaSample_Release(IMediaSample* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IMediaSample methods ***/ |
| static FORCEINLINE HRESULT IMediaSample_GetPointer(IMediaSample* This,BYTE **ppBuffer) { |
| return This->lpVtbl->GetPointer(This,ppBuffer); |
| } |
| static FORCEINLINE LONG IMediaSample_GetSize(IMediaSample* This) { |
| return This->lpVtbl->GetSize(This); |
| } |
| static FORCEINLINE HRESULT IMediaSample_GetTime(IMediaSample* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) { |
| return This->lpVtbl->GetTime(This,pTimeStart,pTimeEnd); |
| } |
| static FORCEINLINE HRESULT IMediaSample_SetTime(IMediaSample* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) { |
| return This->lpVtbl->SetTime(This,pTimeStart,pTimeEnd); |
| } |
| static FORCEINLINE HRESULT IMediaSample_IsSyncPoint(IMediaSample* This) { |
| return This->lpVtbl->IsSyncPoint(This); |
| } |
| static FORCEINLINE HRESULT IMediaSample_SetSyncPoint(IMediaSample* This,WINBOOL bIsSyncPoint) { |
| return This->lpVtbl->SetSyncPoint(This,bIsSyncPoint); |
| } |
| static FORCEINLINE HRESULT IMediaSample_IsPreroll(IMediaSample* This) { |
| return This->lpVtbl->IsPreroll(This); |
| } |
| static FORCEINLINE HRESULT IMediaSample_SetPreroll(IMediaSample* This,WINBOOL bIsPreroll) { |
| return This->lpVtbl->SetPreroll(This,bIsPreroll); |
| } |
| static FORCEINLINE LONG IMediaSample_GetActualDataLength(IMediaSample* This) { |
| return This->lpVtbl->GetActualDataLength(This); |
| } |
| static FORCEINLINE HRESULT IMediaSample_SetActualDataLength(IMediaSample* This,LONG a) { |
| return This->lpVtbl->SetActualDataLength(This,a); |
| } |
| static FORCEINLINE HRESULT IMediaSample_GetMediaType(IMediaSample* This,AM_MEDIA_TYPE **ppMediaType) { |
| return This->lpVtbl->GetMediaType(This,ppMediaType); |
| } |
| static FORCEINLINE HRESULT IMediaSample_SetMediaType(IMediaSample* This,AM_MEDIA_TYPE *pMediaType) { |
| return This->lpVtbl->SetMediaType(This,pMediaType); |
| } |
| static FORCEINLINE HRESULT IMediaSample_IsDiscontinuity(IMediaSample* This) { |
| return This->lpVtbl->IsDiscontinuity(This); |
| } |
| static FORCEINLINE HRESULT IMediaSample_SetDiscontinuity(IMediaSample* This,WINBOOL bDiscontinuity) { |
| return This->lpVtbl->SetDiscontinuity(This,bDiscontinuity); |
| } |
| static FORCEINLINE HRESULT IMediaSample_GetMediaTime(IMediaSample* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) { |
| return This->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd); |
| } |
| static FORCEINLINE HRESULT IMediaSample_SetMediaTime(IMediaSample* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) { |
| return This->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| |
| #endif /* __IMediaSample_INTERFACE_DEFINED__ */ |
| |
| typedef IMediaSample *PMEDIASAMPLE; |
| |
| enum tagAM_SAMPLE_PROPERTY_FLAGS { |
| AM_SAMPLE_SPLICEPOINT = 0x1, |
| AM_SAMPLE_PREROLL = 0x2, |
| AM_SAMPLE_DATADISCONTINUITY = 0x4, |
| AM_SAMPLE_TYPECHANGED = 0x8, |
| AM_SAMPLE_TIMEVALID = 0x10, |
| AM_SAMPLE_TIMEDISCONTINUITY = 0x40, |
| AM_SAMPLE_FLUSH_ON_PAUSE = 0x80, |
| AM_SAMPLE_STOPVALID = 0x100, |
| AM_SAMPLE_ENDOFSTREAM = 0x200, |
| AM_STREAM_MEDIA = 0, |
| AM_STREAM_CONTROL = 1 |
| }; |
| |
| typedef struct tagAM_SAMPLE2_PROPERTIES { |
| DWORD cbData; |
| DWORD dwTypeSpecificFlags; |
| DWORD dwSampleFlags; |
| LONG lActual; |
| REFERENCE_TIME tStart; |
| REFERENCE_TIME tStop; |
| DWORD dwStreamId; |
| AM_MEDIA_TYPE *pMediaType; |
| BYTE *pbBuffer; |
| LONG cbBuffer; |
| } AM_SAMPLE2_PROPERTIES; |
| |
| /***************************************************************************** |
| * IMediaSample2 interface |
| */ |
| #ifndef __IMediaSample2_INTERFACE_DEFINED__ |
| #define __IMediaSample2_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IMediaSample2, 0x36b73884, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("36b73884-c2c8-11cf-8b46-00805f6cef60") |
| IMediaSample2 : public IMediaSample |
| { |
| virtual HRESULT STDMETHODCALLTYPE GetProperties( |
| DWORD cbProperties, |
| BYTE *pbProperties) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetProperties( |
| DWORD cbProperties, |
| const BYTE *pbProperties) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IMediaSample2, 0x36b73884, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60) |
| #endif |
| #else |
| typedef struct IMediaSample2Vtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IMediaSample2 *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IMediaSample2 *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IMediaSample2 *This); |
| |
| /*** IMediaSample methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetPointer)( |
| IMediaSample2 *This, |
| BYTE **ppBuffer); |
| |
| LONG (STDMETHODCALLTYPE *GetSize)( |
| IMediaSample2 *This); |
| |
| HRESULT (STDMETHODCALLTYPE *GetTime)( |
| IMediaSample2 *This, |
| REFERENCE_TIME *pTimeStart, |
| REFERENCE_TIME *pTimeEnd); |
| |
| HRESULT (STDMETHODCALLTYPE *SetTime)( |
| IMediaSample2 *This, |
| REFERENCE_TIME *pTimeStart, |
| REFERENCE_TIME *pTimeEnd); |
| |
| HRESULT (STDMETHODCALLTYPE *IsSyncPoint)( |
| IMediaSample2 *This); |
| |
| HRESULT (STDMETHODCALLTYPE *SetSyncPoint)( |
| IMediaSample2 *This, |
| WINBOOL bIsSyncPoint); |
| |
| HRESULT (STDMETHODCALLTYPE *IsPreroll)( |
| IMediaSample2 *This); |
| |
| HRESULT (STDMETHODCALLTYPE *SetPreroll)( |
| IMediaSample2 *This, |
| WINBOOL bIsPreroll); |
| |
| LONG (STDMETHODCALLTYPE *GetActualDataLength)( |
| IMediaSample2 *This); |
| |
| HRESULT (STDMETHODCALLTYPE *SetActualDataLength)( |
| IMediaSample2 *This, |
| LONG a); |
| |
| HRESULT (STDMETHODCALLTYPE *GetMediaType)( |
| IMediaSample2 *This, |
| AM_MEDIA_TYPE **ppMediaType); |
| |
| HRESULT (STDMETHODCALLTYPE *SetMediaType)( |
| IMediaSample2 *This, |
| AM_MEDIA_TYPE *pMediaType); |
| |
| HRESULT (STDMETHODCALLTYPE *IsDiscontinuity)( |
| IMediaSample2 *This); |
| |
| HRESULT (STDMETHODCALLTYPE *SetDiscontinuity)( |
| IMediaSample2 *This, |
| WINBOOL bDiscontinuity); |
| |
| HRESULT (STDMETHODCALLTYPE *GetMediaTime)( |
| IMediaSample2 *This, |
| LONGLONG *pTimeStart, |
| LONGLONG *pTimeEnd); |
| |
| HRESULT (STDMETHODCALLTYPE *SetMediaTime)( |
| IMediaSample2 *This, |
| LONGLONG *pTimeStart, |
| LONGLONG *pTimeEnd); |
| |
| /*** IMediaSample2 methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetProperties)( |
| IMediaSample2 *This, |
| DWORD cbProperties, |
| BYTE *pbProperties); |
| |
| HRESULT (STDMETHODCALLTYPE *SetProperties)( |
| IMediaSample2 *This, |
| DWORD cbProperties, |
| const BYTE *pbProperties); |
| |
| END_INTERFACE |
| } IMediaSample2Vtbl; |
| |
| interface IMediaSample2 { |
| CONST_VTBL IMediaSample2Vtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IMediaSample2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMediaSample2_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IMediaSample2_Release(This) (This)->lpVtbl->Release(This) |
| /*** IMediaSample methods ***/ |
| #define IMediaSample2_GetPointer(This,ppBuffer) (This)->lpVtbl->GetPointer(This,ppBuffer) |
| #define IMediaSample2_GetSize(This) (This)->lpVtbl->GetSize(This) |
| #define IMediaSample2_GetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetTime(This,pTimeStart,pTimeEnd) |
| #define IMediaSample2_SetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetTime(This,pTimeStart,pTimeEnd) |
| #define IMediaSample2_IsSyncPoint(This) (This)->lpVtbl->IsSyncPoint(This) |
| #define IMediaSample2_SetSyncPoint(This,bIsSyncPoint) (This)->lpVtbl->SetSyncPoint(This,bIsSyncPoint) |
| #define IMediaSample2_IsPreroll(This) (This)->lpVtbl->IsPreroll(This) |
| #define IMediaSample2_SetPreroll(This,bIsPreroll) (This)->lpVtbl->SetPreroll(This,bIsPreroll) |
| #define IMediaSample2_GetActualDataLength(This) (This)->lpVtbl->GetActualDataLength(This) |
| #define IMediaSample2_SetActualDataLength(This,a) (This)->lpVtbl->SetActualDataLength(This,a) |
| #define IMediaSample2_GetMediaType(This,ppMediaType) (This)->lpVtbl->GetMediaType(This,ppMediaType) |
| #define IMediaSample2_SetMediaType(This,pMediaType) (This)->lpVtbl->SetMediaType(This,pMediaType) |
| #define IMediaSample2_IsDiscontinuity(This) (This)->lpVtbl->IsDiscontinuity(This) |
| #define IMediaSample2_SetDiscontinuity(This,bDiscontinuity) (This)->lpVtbl->SetDiscontinuity(This,bDiscontinuity) |
| #define IMediaSample2_GetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd) |
| #define IMediaSample2_SetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd) |
| /*** IMediaSample2 methods ***/ |
| #define IMediaSample2_GetProperties(This,cbProperties,pbProperties) (This)->lpVtbl->GetProperties(This,cbProperties,pbProperties) |
| #define IMediaSample2_SetProperties(This,cbProperties,pbProperties) (This)->lpVtbl->SetProperties(This,cbProperties,pbProperties) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IMediaSample2_QueryInterface(IMediaSample2* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IMediaSample2_AddRef(IMediaSample2* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IMediaSample2_Release(IMediaSample2* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IMediaSample methods ***/ |
| static FORCEINLINE HRESULT IMediaSample2_GetPointer(IMediaSample2* This,BYTE **ppBuffer) { |
| return This->lpVtbl->GetPointer(This,ppBuffer); |
| } |
| static FORCEINLINE LONG IMediaSample2_GetSize(IMediaSample2* This) { |
| return This->lpVtbl->GetSize(This); |
| } |
| static FORCEINLINE HRESULT IMediaSample2_GetTime(IMediaSample2* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) { |
| return This->lpVtbl->GetTime(This,pTimeStart,pTimeEnd); |
| } |
| static FORCEINLINE HRESULT IMediaSample2_SetTime(IMediaSample2* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) { |
| return This->lpVtbl->SetTime(This,pTimeStart,pTimeEnd); |
| } |
| static FORCEINLINE HRESULT IMediaSample2_IsSyncPoint(IMediaSample2* This) { |
| return This->lpVtbl->IsSyncPoint(This); |
| } |
| static FORCEINLINE HRESULT IMediaSample2_SetSyncPoint(IMediaSample2* This,WINBOOL bIsSyncPoint) { |
| return This->lpVtbl->SetSyncPoint(This,bIsSyncPoint); |
| } |
| static FORCEINLINE HRESULT IMediaSample2_IsPreroll(IMediaSample2* This) { |
| return This->lpVtbl->IsPreroll(This); |
| } |
| static FORCEINLINE HRESULT IMediaSample2_SetPreroll(IMediaSample2* This,WINBOOL bIsPreroll) { |
| return This->lpVtbl->SetPreroll(This,bIsPreroll); |
| } |
| static FORCEINLINE LONG IMediaSample2_GetActualDataLength(IMediaSample2* This) { |
| return This->lpVtbl->GetActualDataLength(This); |
| } |
| static FORCEINLINE HRESULT IMediaSample2_SetActualDataLength(IMediaSample2* This,LONG a) { |
| return This->lpVtbl->SetActualDataLength(This,a); |
| } |
| static FORCEINLINE HRESULT IMediaSample2_GetMediaType(IMediaSample2* This,AM_MEDIA_TYPE **ppMediaType) { |
| return This->lpVtbl->GetMediaType(This,ppMediaType); |
| } |
| static FORCEINLINE HRESULT IMediaSample2_SetMediaType(IMediaSample2* This,AM_MEDIA_TYPE *pMediaType) { |
| return This->lpVtbl->SetMediaType(This,pMediaType); |
| } |
| static FORCEINLINE HRESULT IMediaSample2_IsDiscontinuity(IMediaSample2* This) { |
| return This->lpVtbl->IsDiscontinuity(This); |
| } |
| static FORCEINLINE HRESULT IMediaSample2_SetDiscontinuity(IMediaSample2* This,WINBOOL bDiscontinuity) { |
| return This->lpVtbl->SetDiscontinuity(This,bDiscontinuity); |
| } |
| static FORCEINLINE HRESULT IMediaSample2_GetMediaTime(IMediaSample2* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) { |
| return This->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd); |
| } |
| static FORCEINLINE HRESULT IMediaSample2_SetMediaTime(IMediaSample2* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) { |
| return This->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd); |
| } |
| /*** IMediaSample2 methods ***/ |
| static FORCEINLINE HRESULT IMediaSample2_GetProperties(IMediaSample2* This,DWORD cbProperties,BYTE *pbProperties) { |
| return This->lpVtbl->GetProperties(This,cbProperties,pbProperties); |
| } |
| static FORCEINLINE HRESULT IMediaSample2_SetProperties(IMediaSample2* This,DWORD cbProperties,const BYTE *pbProperties) { |
| return This->lpVtbl->SetProperties(This,cbProperties,pbProperties); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| |
| #endif /* __IMediaSample2_INTERFACE_DEFINED__ */ |
| |
| typedef IMediaSample2 *PMEDIASAMPLE2; |
| |
| /***************************************************************************** |
| * IMediaSample2Config interface |
| */ |
| #ifndef __IMediaSample2Config_INTERFACE_DEFINED__ |
| #define __IMediaSample2Config_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IMediaSample2Config, 0x68961e68, 0x832b, 0x41ea, 0xbc,0x91, 0x63,0x59,0x3f,0x3e,0x70,0xe3); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("68961e68-832b-41ea-bc91-63593f3e70e3") |
| IMediaSample2Config : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE GetSurface( |
| IUnknown **ppDirect3DSurface9) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IMediaSample2Config, 0x68961e68, 0x832b, 0x41ea, 0xbc,0x91, 0x63,0x59,0x3f,0x3e,0x70,0xe3) |
| #endif |
| #else |
| typedef struct IMediaSample2ConfigVtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IMediaSample2Config *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IMediaSample2Config *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IMediaSample2Config *This); |
| |
| /*** IMediaSample2Config methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetSurface)( |
| IMediaSample2Config *This, |
| IUnknown **ppDirect3DSurface9); |
| |
| END_INTERFACE |
| } IMediaSample2ConfigVtbl; |
| |
| interface IMediaSample2Config { |
| CONST_VTBL IMediaSample2ConfigVtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IMediaSample2Config_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMediaSample2Config_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IMediaSample2Config_Release(This) (This)->lpVtbl->Release(This) |
| /*** IMediaSample2Config methods ***/ |
| #define IMediaSample2Config_GetSurface(This,ppDirect3DSurface9) (This)->lpVtbl->GetSurface(This,ppDirect3DSurface9) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IMediaSample2Config_QueryInterface(IMediaSample2Config* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IMediaSample2Config_AddRef(IMediaSample2Config* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IMediaSample2Config_Release(IMediaSample2Config* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IMediaSample2Config methods ***/ |
| static FORCEINLINE HRESULT IMediaSample2Config_GetSurface(IMediaSample2Config* This,IUnknown **ppDirect3DSurface9) { |
| return This->lpVtbl->GetSurface(This,ppDirect3DSurface9); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| |
| #endif /* __IMediaSample2Config_INTERFACE_DEFINED__ */ |
| |
| |
| #define AM_GBF_PREVFRAMESKIPPED 1 |
| #define AM_GBF_NOTASYNCPOINT 2 |
| #define AM_GBF_NOWAIT 4 |
| #define AM_GBF_NODDSURFACELOCK 8 |
| |
| /***************************************************************************** |
| * IMemAllocator interface |
| */ |
| #ifndef __IMemAllocator_INTERFACE_DEFINED__ |
| #define __IMemAllocator_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IMemAllocator, 0x56a8689c, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("56a8689c-0ad4-11ce-b03a-0020af0ba770") |
| IMemAllocator : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE SetProperties( |
| ALLOCATOR_PROPERTIES *pRequest, |
| ALLOCATOR_PROPERTIES *pActual) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetProperties( |
| ALLOCATOR_PROPERTIES *pProps) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Commit( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Decommit( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetBuffer( |
| IMediaSample **ppBuffer, |
| REFERENCE_TIME *pStartTime, |
| REFERENCE_TIME *pEndTime, |
| DWORD dwFlags) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer( |
| IMediaSample *pBuffer) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IMemAllocator, 0x56a8689c, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) |
| #endif |
| #else |
| typedef struct IMemAllocatorVtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IMemAllocator *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IMemAllocator *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IMemAllocator *This); |
| |
| /*** IMemAllocator methods ***/ |
| HRESULT (STDMETHODCALLTYPE *SetProperties)( |
| IMemAllocator *This, |
| ALLOCATOR_PROPERTIES *pRequest, |
| ALLOCATOR_PROPERTIES *pActual); |
| |
| HRESULT (STDMETHODCALLTYPE *GetProperties)( |
| IMemAllocator *This, |
| ALLOCATOR_PROPERTIES *pProps); |
| |
| HRESULT (STDMETHODCALLTYPE *Commit)( |
| IMemAllocator *This); |
| |
| HRESULT (STDMETHODCALLTYPE *Decommit)( |
| IMemAllocator *This); |
| |
| HRESULT (STDMETHODCALLTYPE *GetBuffer)( |
| IMemAllocator *This, |
| IMediaSample **ppBuffer, |
| REFERENCE_TIME *pStartTime, |
| REFERENCE_TIME *pEndTime, |
| DWORD dwFlags); |
| |
| HRESULT (STDMETHODCALLTYPE *ReleaseBuffer)( |
| IMemAllocator *This, |
| IMediaSample *pBuffer); |
| |
| END_INTERFACE |
| } IMemAllocatorVtbl; |
| |
| interface IMemAllocator { |
| CONST_VTBL IMemAllocatorVtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IMemAllocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMemAllocator_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IMemAllocator_Release(This) (This)->lpVtbl->Release(This) |
| /*** IMemAllocator methods ***/ |
| #define IMemAllocator_SetProperties(This,pRequest,pActual) (This)->lpVtbl->SetProperties(This,pRequest,pActual) |
| #define IMemAllocator_GetProperties(This,pProps) (This)->lpVtbl->GetProperties(This,pProps) |
| #define IMemAllocator_Commit(This) (This)->lpVtbl->Commit(This) |
| #define IMemAllocator_Decommit(This) (This)->lpVtbl->Decommit(This) |
| #define IMemAllocator_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags) (This)->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags) |
| #define IMemAllocator_ReleaseBuffer(This,pBuffer) (This)->lpVtbl->ReleaseBuffer(This,pBuffer) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IMemAllocator_QueryInterface(IMemAllocator* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IMemAllocator_AddRef(IMemAllocator* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IMemAllocator_Release(IMemAllocator* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IMemAllocator methods ***/ |
| static FORCEINLINE HRESULT IMemAllocator_SetProperties(IMemAllocator* This,ALLOCATOR_PROPERTIES *pRequest,ALLOCATOR_PROPERTIES *pActual) { |
| return This->lpVtbl->SetProperties(This,pRequest,pActual); |
| } |
| static FORCEINLINE HRESULT IMemAllocator_GetProperties(IMemAllocator* This,ALLOCATOR_PROPERTIES *pProps) { |
| return This->lpVtbl->GetProperties(This,pProps); |
| } |
| static FORCEINLINE HRESULT IMemAllocator_Commit(IMemAllocator* This) { |
| return This->lpVtbl->Commit(This); |
| } |
| static FORCEINLINE HRESULT IMemAllocator_Decommit(IMemAllocator* This) { |
| return This->lpVtbl->Decommit(This); |
| } |
| static FORCEINLINE HRESULT IMemAllocator_GetBuffer(IMemAllocator* This,IMediaSample **ppBuffer,REFERENCE_TIME *pStartTime,REFERENCE_TIME *pEndTime,DWORD dwFlags) { |
| return This->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags); |
| } |
| static FORCEINLINE HRESULT IMemAllocator_ReleaseBuffer(IMemAllocator* This,IMediaSample *pBuffer) { |
| return This->lpVtbl->ReleaseBuffer(This,pBuffer); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| |
| #endif /* __IMemAllocator_INTERFACE_DEFINED__ */ |
| |
| typedef IMemAllocator *PMEMALLOCATOR; |
| |
| /***************************************************************************** |
| * IMemAllocatorCallbackTemp interface |
| */ |
| #ifndef __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__ |
| #define __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IMemAllocatorCallbackTemp, 0x379a0cf0, 0xc1de, 0x11d2, 0xab,0xf5, 0x00,0xa0,0xc9,0x05,0xf3,0x75); |
|