| /*** Autogenerated by WIDL 0.1 from strmif.idl - Do not edit ***/ |
| #include "rpc.h" |
| #include "rpcndr.h" |
| |
| #ifndef __WIDL_STRMIF_H |
| #define __WIDL_STRMIF_H |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| #include "objidl.h" |
| #include "guiddef.h" |
| #include "oaidl.h" |
| #define CDEF_CLASS_DEFAULT 0x0001 |
| #define CDEF_BYPASS_CLASS_MANAGER 0x0002 |
| #define CDEF_CLASS_LEGACY 0x0004 |
| #define CDEF_MERIT_ABOVE_DO_NOT_USE 0x0008 |
| #ifndef __ICreateDevEnum_FWD_DEFINED__ |
| #define __ICreateDevEnum_FWD_DEFINED__ |
| typedef struct ICreateDevEnum ICreateDevEnum; |
| #endif |
| |
| /***************************************************************************** |
| * 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) |
| struct ICreateDevEnum : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE CreateClassEnumerator( |
| REFCLSID clsidDeviceClass, |
| IEnumMoniker** ppEnumMoniker, |
| DWORD dwFlags) = 0; |
| |
| }; |
| #else |
| typedef struct ICreateDevEnumVtbl ICreateDevEnumVtbl; |
| struct ICreateDevEnum { |
| const ICreateDevEnumVtbl* lpVtbl; |
| }; |
| struct ICreateDevEnumVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** 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); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define ICreateDevEnum_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define ICreateDevEnum_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define ICreateDevEnum_Release(p) (p)->lpVtbl->Release(p) |
| /*** ICreateDevEnum methods ***/ |
| #define ICreateDevEnum_CreateClassEnumerator(p,a,b,c) (p)->lpVtbl->CreateClassEnumerator(p,a,b,c) |
| |
| #endif |
| |
| #define ICreateDevEnum_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** ICreateDevEnum methods ***/ \ |
| STDMETHOD_(HRESULT,CreateClassEnumerator)(THIS_ REFCLSID clsidDeviceClass, IEnumMoniker** ppEnumMoniker, DWORD dwFlags) PURE; |
| |
| HRESULT CALLBACK ICreateDevEnum_CreateClassEnumerator_Proxy( |
| ICreateDevEnum* This, |
| REFCLSID clsidDeviceClass, |
| IEnumMoniker** ppEnumMoniker, |
| DWORD dwFlags); |
| void __RPC_STUB ICreateDevEnum_CreateClassEnumerator_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #endif /* __ICreateDevEnum_INTERFACE_DEFINED__ */ |
| |
| #define CHARS_IN_GUID 39 |
| #undef GetTimeFormat |
| typedef struct _AMMediaType { |
| GUID majortype; |
| GUID subtype; |
| BOOL bFixedSizeSamples; |
| BOOL bTemporalCompression; |
| ULONG lSampleSize; |
| GUID formattype; |
| IUnknown *pUnk; |
| ULONG cbFormat; |
| BYTE *pbFormat; |
| } AM_MEDIA_TYPE; |
| |
| typedef enum _PinDirection { |
| PINDIR_INPUT, |
| PINDIR_OUTPUT |
| } PIN_DIRECTION; |
| |
| #define MAX_PIN_NAME 128 |
| #define MAX_FILTER_NAME 128 |
| typedef LONGLONG REFERENCE_TIME; |
| |
| typedef double REFTIME; |
| |
| 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 struct IAMovieSetup IAMovieSetup; |
| #endif |
| |
| #ifndef __IEnumFilters_FWD_DEFINED__ |
| #define __IEnumFilters_FWD_DEFINED__ |
| typedef struct IEnumFilters IEnumFilters; |
| #endif |
| |
| #ifndef __IEnumMediaTypes_FWD_DEFINED__ |
| #define __IEnumMediaTypes_FWD_DEFINED__ |
| typedef struct IEnumMediaTypes IEnumMediaTypes; |
| #endif |
| |
| #ifndef __IEnumPins_FWD_DEFINED__ |
| #define __IEnumPins_FWD_DEFINED__ |
| typedef struct IEnumPins IEnumPins; |
| #endif |
| |
| #ifndef __IBaseFilter_FWD_DEFINED__ |
| #define __IBaseFilter_FWD_DEFINED__ |
| typedef struct IBaseFilter IBaseFilter; |
| #endif |
| |
| #ifndef __IFilterGraph_FWD_DEFINED__ |
| #define __IFilterGraph_FWD_DEFINED__ |
| typedef struct IFilterGraph IFilterGraph; |
| #endif |
| |
| #ifndef __IMediaFilter_FWD_DEFINED__ |
| #define __IMediaFilter_FWD_DEFINED__ |
| typedef struct IMediaFilter IMediaFilter; |
| #endif |
| |
| #ifndef __IMediaSample_FWD_DEFINED__ |
| #define __IMediaSample_FWD_DEFINED__ |
| typedef struct IMediaSample IMediaSample; |
| #endif |
| |
| #ifndef __IMemAllocator_FWD_DEFINED__ |
| #define __IMemAllocator_FWD_DEFINED__ |
| typedef struct IMemAllocator IMemAllocator; |
| #endif |
| |
| #ifndef __IMemAllocatorCallbackTemp_FWD_DEFINED__ |
| #define __IMemAllocatorCallbackTemp_FWD_DEFINED__ |
| typedef struct IMemAllocatorCallbackTemp IMemAllocatorCallbackTemp; |
| #endif |
| |
| #ifndef __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__ |
| #define __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__ |
| typedef struct IMemAllocatorNotifyCallbackTemp IMemAllocatorNotifyCallbackTemp; |
| #endif |
| |
| #ifndef __IMemInputPin_FWD_DEFINED__ |
| #define __IMemInputPin_FWD_DEFINED__ |
| typedef struct IMemInputPin IMemInputPin; |
| #endif |
| |
| #ifndef __IPin_FWD_DEFINED__ |
| #define __IPin_FWD_DEFINED__ |
| typedef struct IPin IPin; |
| #endif |
| |
| #ifndef __IReferenceClock_FWD_DEFINED__ |
| #define __IReferenceClock_FWD_DEFINED__ |
| typedef struct IReferenceClock IReferenceClock; |
| #endif |
| |
| typedef struct _PinInfo { |
| IBaseFilter *pFilter; |
| PIN_DIRECTION dir; |
| WCHAR achName[128]; |
| } PIN_INFO; |
| |
| /***************************************************************************** |
| * IPin interface |
| */ |
| #ifndef __IPin_INTERFACE_DEFINED__ |
| #define __IPin_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IPin, 0x56a86891, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct 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; |
| |
| }; |
| #else |
| typedef struct IPinVtbl IPinVtbl; |
| struct IPin { |
| const IPinVtbl* lpVtbl; |
| }; |
| struct IPinVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** 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); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IPin_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IPin_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IPin_Release(p) (p)->lpVtbl->Release(p) |
| /*** IPin methods ***/ |
| #define IPin_Connect(p,a,b) (p)->lpVtbl->Connect(p,a,b) |
| #define IPin_ReceiveConnection(p,a,b) (p)->lpVtbl->ReceiveConnection(p,a,b) |
| #define IPin_Disconnect(p) (p)->lpVtbl->Disconnect(p) |
| #define IPin_ConnectedTo(p,a) (p)->lpVtbl->ConnectedTo(p,a) |
| #define IPin_ConnectionMediaType(p,a) (p)->lpVtbl->ConnectionMediaType(p,a) |
| #define IPin_QueryPinInfo(p,a) (p)->lpVtbl->QueryPinInfo(p,a) |
| #define IPin_QueryDirection(p,a) (p)->lpVtbl->QueryDirection(p,a) |
| #define IPin_QueryId(p,a) (p)->lpVtbl->QueryId(p,a) |
| #define IPin_QueryAccept(p,a) (p)->lpVtbl->QueryAccept(p,a) |
| #define IPin_EnumMediaTypes(p,a) (p)->lpVtbl->EnumMediaTypes(p,a) |
| #define IPin_QueryInternalConnections(p,a,b) (p)->lpVtbl->QueryInternalConnections(p,a,b) |
| #define IPin_EndOfStream(p) (p)->lpVtbl->EndOfStream(p) |
| #define IPin_BeginFlush(p) (p)->lpVtbl->BeginFlush(p) |
| #define IPin_EndFlush(p) (p)->lpVtbl->EndFlush(p) |
| #define IPin_NewSegment(p,a,b,c) (p)->lpVtbl->NewSegment(p,a,b,c) |
| |
| #endif |
| |
| #define IPin_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IPin methods ***/ \ |
| STDMETHOD_(HRESULT,Connect)(THIS_ IPin* pReceivePin, const AM_MEDIA_TYPE* pmt) PURE; \ |
| STDMETHOD_(HRESULT,ReceiveConnection)(THIS_ IPin* pConnector, const AM_MEDIA_TYPE* pmt) PURE; \ |
| STDMETHOD_(HRESULT,Disconnect)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,ConnectedTo)(THIS_ IPin** pPin) PURE; \ |
| STDMETHOD_(HRESULT,ConnectionMediaType)(THIS_ AM_MEDIA_TYPE* pmt) PURE; \ |
| STDMETHOD_(HRESULT,QueryPinInfo)(THIS_ PIN_INFO* pInfo) PURE; \ |
| STDMETHOD_(HRESULT,QueryDirection)(THIS_ PIN_DIRECTION* pPinDir) PURE; \ |
| STDMETHOD_(HRESULT,QueryId)(THIS_ LPWSTR* Id) PURE; \ |
| STDMETHOD_(HRESULT,QueryAccept)(THIS_ const AM_MEDIA_TYPE* pmt) PURE; \ |
| STDMETHOD_(HRESULT,EnumMediaTypes)(THIS_ IEnumMediaTypes** ppEnum) PURE; \ |
| STDMETHOD_(HRESULT,QueryInternalConnections)(THIS_ IPin** apPin, ULONG* nPin) PURE; \ |
| STDMETHOD_(HRESULT,EndOfStream)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,BeginFlush)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,EndFlush)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,NewSegment)(THIS_ REFERENCE_TIME tStart, REFERENCE_TIME tStop, double dRate) PURE; |
| |
| HRESULT CALLBACK IPin_Connect_Proxy( |
| IPin* This, |
| IPin* pReceivePin, |
| const AM_MEDIA_TYPE* pmt); |
| void __RPC_STUB IPin_Connect_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPin_ReceiveConnection_Proxy( |
| IPin* This, |
| IPin* pConnector, |
| const AM_MEDIA_TYPE* pmt); |
| void __RPC_STUB IPin_ReceiveConnection_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPin_Disconnect_Proxy( |
| IPin* This); |
| void __RPC_STUB IPin_Disconnect_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPin_ConnectedTo_Proxy( |
| IPin* This, |
| IPin** pPin); |
| void __RPC_STUB IPin_ConnectedTo_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPin_ConnectionMediaType_Proxy( |
| IPin* This, |
| AM_MEDIA_TYPE* pmt); |
| void __RPC_STUB IPin_ConnectionMediaType_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPin_QueryPinInfo_Proxy( |
| IPin* This, |
| PIN_INFO* pInfo); |
| void __RPC_STUB IPin_QueryPinInfo_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPin_QueryDirection_Proxy( |
| IPin* This, |
| PIN_DIRECTION* pPinDir); |
| void __RPC_STUB IPin_QueryDirection_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPin_QueryId_Proxy( |
| IPin* This, |
| LPWSTR* Id); |
| void __RPC_STUB IPin_QueryId_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPin_QueryAccept_Proxy( |
| IPin* This, |
| const AM_MEDIA_TYPE* pmt); |
| void __RPC_STUB IPin_QueryAccept_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPin_EnumMediaTypes_Proxy( |
| IPin* This, |
| IEnumMediaTypes** ppEnum); |
| void __RPC_STUB IPin_EnumMediaTypes_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPin_QueryInternalConnections_Proxy( |
| IPin* This, |
| IPin** apPin, |
| ULONG* nPin); |
| void __RPC_STUB IPin_QueryInternalConnections_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPin_EndOfStream_Proxy( |
| IPin* This); |
| void __RPC_STUB IPin_EndOfStream_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPin_BeginFlush_Proxy( |
| IPin* This); |
| void __RPC_STUB IPin_BeginFlush_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPin_EndFlush_Proxy( |
| IPin* This); |
| void __RPC_STUB IPin_EndFlush_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPin_NewSegment_Proxy( |
| IPin* This, |
| REFERENCE_TIME tStart, |
| REFERENCE_TIME tStop, |
| double dRate); |
| void __RPC_STUB IPin_NewSegment_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #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) |
| struct 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; |
| |
| }; |
| #else |
| typedef struct IEnumPinsVtbl IEnumPinsVtbl; |
| struct IEnumPins { |
| const IEnumPinsVtbl* lpVtbl; |
| }; |
| struct IEnumPinsVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** 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); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IEnumPins_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IEnumPins_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IEnumPins_Release(p) (p)->lpVtbl->Release(p) |
| /*** IEnumPins methods ***/ |
| #define IEnumPins_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c) |
| #define IEnumPins_Skip(p,a) (p)->lpVtbl->Skip(p,a) |
| #define IEnumPins_Reset(p) (p)->lpVtbl->Reset(p) |
| #define IEnumPins_Clone(p,a) (p)->lpVtbl->Clone(p,a) |
| |
| #endif |
| |
| #define IEnumPins_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IEnumPins methods ***/ \ |
| STDMETHOD_(HRESULT,Next)(THIS_ ULONG cPins, IPin** ppPins, ULONG* pcFetched) PURE; \ |
| STDMETHOD_(HRESULT,Skip)(THIS_ ULONG cPins) PURE; \ |
| STDMETHOD_(HRESULT,Reset)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,Clone)(THIS_ IEnumPins** ppEnum) PURE; |
| |
| HRESULT CALLBACK IEnumPins_Next_Proxy( |
| IEnumPins* This, |
| ULONG cPins, |
| IPin** ppPins, |
| ULONG* pcFetched); |
| void __RPC_STUB IEnumPins_Next_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IEnumPins_Skip_Proxy( |
| IEnumPins* This, |
| ULONG cPins); |
| void __RPC_STUB IEnumPins_Skip_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IEnumPins_Reset_Proxy( |
| IEnumPins* This); |
| void __RPC_STUB IEnumPins_Reset_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IEnumPins_Clone_Proxy( |
| IEnumPins* This, |
| IEnumPins** ppEnum); |
| void __RPC_STUB IEnumPins_Clone_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #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) |
| struct 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; |
| |
| }; |
| #else |
| typedef struct IEnumMediaTypesVtbl IEnumMediaTypesVtbl; |
| struct IEnumMediaTypes { |
| const IEnumMediaTypesVtbl* lpVtbl; |
| }; |
| struct IEnumMediaTypesVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** 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); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IEnumMediaTypes_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IEnumMediaTypes_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IEnumMediaTypes_Release(p) (p)->lpVtbl->Release(p) |
| /*** IEnumMediaTypes methods ***/ |
| #define IEnumMediaTypes_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c) |
| #define IEnumMediaTypes_Skip(p,a) (p)->lpVtbl->Skip(p,a) |
| #define IEnumMediaTypes_Reset(p) (p)->lpVtbl->Reset(p) |
| #define IEnumMediaTypes_Clone(p,a) (p)->lpVtbl->Clone(p,a) |
| |
| #endif |
| |
| #define IEnumMediaTypes_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IEnumMediaTypes methods ***/ \ |
| STDMETHOD_(HRESULT,Next)(THIS_ ULONG cMediaTypes, AM_MEDIA_TYPE** ppMediaTypes, ULONG* pcFetched) PURE; \ |
| STDMETHOD_(HRESULT,Skip)(THIS_ ULONG cMediaTypes) PURE; \ |
| STDMETHOD_(HRESULT,Reset)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,Clone)(THIS_ IEnumMediaTypes** ppEnum) PURE; |
| |
| HRESULT CALLBACK IEnumMediaTypes_Next_Proxy( |
| IEnumMediaTypes* This, |
| ULONG cMediaTypes, |
| AM_MEDIA_TYPE** ppMediaTypes, |
| ULONG* pcFetched); |
| void __RPC_STUB IEnumMediaTypes_Next_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IEnumMediaTypes_Skip_Proxy( |
| IEnumMediaTypes* This, |
| ULONG cMediaTypes); |
| void __RPC_STUB IEnumMediaTypes_Skip_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IEnumMediaTypes_Reset_Proxy( |
| IEnumMediaTypes* This); |
| void __RPC_STUB IEnumMediaTypes_Reset_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IEnumMediaTypes_Clone_Proxy( |
| IEnumMediaTypes* This, |
| IEnumMediaTypes** ppEnum); |
| void __RPC_STUB IEnumMediaTypes_Clone_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #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) |
| struct 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; |
| |
| }; |
| #else |
| typedef struct IFilterGraphVtbl IFilterGraphVtbl; |
| struct IFilterGraph { |
| const IFilterGraphVtbl* lpVtbl; |
| }; |
| struct IFilterGraphVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** 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); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IFilterGraph_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IFilterGraph_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IFilterGraph_Release(p) (p)->lpVtbl->Release(p) |
| /*** IFilterGraph methods ***/ |
| #define IFilterGraph_AddFilter(p,a,b) (p)->lpVtbl->AddFilter(p,a,b) |
| #define IFilterGraph_RemoveFilter(p,a) (p)->lpVtbl->RemoveFilter(p,a) |
| #define IFilterGraph_EnumFilters(p,a) (p)->lpVtbl->EnumFilters(p,a) |
| #define IFilterGraph_FindFilterByName(p,a,b) (p)->lpVtbl->FindFilterByName(p,a,b) |
| #define IFilterGraph_ConnectDirect(p,a,b,c) (p)->lpVtbl->ConnectDirect(p,a,b,c) |
| #define IFilterGraph_Reconnect(p,a) (p)->lpVtbl->Reconnect(p,a) |
| #define IFilterGraph_Disconnect(p,a) (p)->lpVtbl->Disconnect(p,a) |
| #define IFilterGraph_SetDefaultSyncSource(p) (p)->lpVtbl->SetDefaultSyncSource(p) |
| |
| #endif |
| |
| #define IFilterGraph_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IFilterGraph methods ***/ \ |
| STDMETHOD_(HRESULT,AddFilter)(THIS_ IBaseFilter* pFilter, LPCWSTR pName) PURE; \ |
| STDMETHOD_(HRESULT,RemoveFilter)(THIS_ IBaseFilter* pFilter) PURE; \ |
| STDMETHOD_(HRESULT,EnumFilters)(THIS_ IEnumFilters** ppEnum) PURE; \ |
| STDMETHOD_(HRESULT,FindFilterByName)(THIS_ LPCWSTR pName, IBaseFilter** ppFilter) PURE; \ |
| STDMETHOD_(HRESULT,ConnectDirect)(THIS_ IPin* ppinOut, IPin* ppinIn, const AM_MEDIA_TYPE* pmt) PURE; \ |
| STDMETHOD_(HRESULT,Reconnect)(THIS_ IPin* ppin) PURE; \ |
| STDMETHOD_(HRESULT,Disconnect)(THIS_ IPin* ppin) PURE; \ |
| STDMETHOD_(HRESULT,SetDefaultSyncSource)(THIS) PURE; |
| |
| HRESULT CALLBACK IFilterGraph_AddFilter_Proxy( |
| IFilterGraph* This, |
| IBaseFilter* pFilter, |
| LPCWSTR pName); |
| void __RPC_STUB IFilterGraph_AddFilter_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IFilterGraph_RemoveFilter_Proxy( |
| IFilterGraph* This, |
| IBaseFilter* pFilter); |
| void __RPC_STUB IFilterGraph_RemoveFilter_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IFilterGraph_EnumFilters_Proxy( |
| IFilterGraph* This, |
| IEnumFilters** ppEnum); |
| void __RPC_STUB IFilterGraph_EnumFilters_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IFilterGraph_FindFilterByName_Proxy( |
| IFilterGraph* This, |
| LPCWSTR pName, |
| IBaseFilter** ppFilter); |
| void __RPC_STUB IFilterGraph_FindFilterByName_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IFilterGraph_ConnectDirect_Proxy( |
| IFilterGraph* This, |
| IPin* ppinOut, |
| IPin* ppinIn, |
| const AM_MEDIA_TYPE* pmt); |
| void __RPC_STUB IFilterGraph_ConnectDirect_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IFilterGraph_Reconnect_Proxy( |
| IFilterGraph* This, |
| IPin* ppin); |
| void __RPC_STUB IFilterGraph_Reconnect_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IFilterGraph_Disconnect_Proxy( |
| IFilterGraph* This, |
| IPin* ppin); |
| void __RPC_STUB IFilterGraph_Disconnect_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IFilterGraph_SetDefaultSyncSource_Proxy( |
| IFilterGraph* This); |
| void __RPC_STUB IFilterGraph_SetDefaultSyncSource_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #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) |
| struct 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; |
| |
| }; |
| #else |
| typedef struct IEnumFiltersVtbl IEnumFiltersVtbl; |
| struct IEnumFilters { |
| const IEnumFiltersVtbl* lpVtbl; |
| }; |
| struct IEnumFiltersVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** 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); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IEnumFilters_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IEnumFilters_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IEnumFilters_Release(p) (p)->lpVtbl->Release(p) |
| /*** IEnumFilters methods ***/ |
| #define IEnumFilters_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c) |
| #define IEnumFilters_Skip(p,a) (p)->lpVtbl->Skip(p,a) |
| #define IEnumFilters_Reset(p) (p)->lpVtbl->Reset(p) |
| #define IEnumFilters_Clone(p,a) (p)->lpVtbl->Clone(p,a) |
| |
| #endif |
| |
| #define IEnumFilters_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IEnumFilters methods ***/ \ |
| STDMETHOD_(HRESULT,Next)(THIS_ ULONG cFilters, IBaseFilter** ppFilter, ULONG* pcFetched) PURE; \ |
| STDMETHOD_(HRESULT,Skip)(THIS_ ULONG cFilters) PURE; \ |
| STDMETHOD_(HRESULT,Reset)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,Clone)(THIS_ IEnumFilters** ppEnum) PURE; |
| |
| HRESULT CALLBACK IEnumFilters_Next_Proxy( |
| IEnumFilters* This, |
| ULONG cFilters, |
| IBaseFilter** ppFilter, |
| ULONG* pcFetched); |
| void __RPC_STUB IEnumFilters_Next_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IEnumFilters_Skip_Proxy( |
| IEnumFilters* This, |
| ULONG cFilters); |
| void __RPC_STUB IEnumFilters_Skip_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IEnumFilters_Reset_Proxy( |
| IEnumFilters* This); |
| void __RPC_STUB IEnumFilters_Reset_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IEnumFilters_Clone_Proxy( |
| IEnumFilters* This, |
| IEnumFilters** ppEnum); |
| void __RPC_STUB IEnumFilters_Clone_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #endif /* __IEnumFilters_INTERFACE_DEFINED__ */ |
| |
| typedef IEnumFilters *PENUMFILTERS; |
| |
| typedef enum _FilterState { |
| State_Stopped, |
| State_Paused, |
| State_Running |
| } FILTER_STATE; |
| |
| /***************************************************************************** |
| * IMediaFilter interface |
| */ |
| #ifndef __IMediaFilter_INTERFACE_DEFINED__ |
| #define __IMediaFilter_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IMediaFilter, 0x56a86899, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct 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; |
| |
| }; |
| #else |
| typedef struct IMediaFilterVtbl IMediaFilterVtbl; |
| struct IMediaFilter { |
| const IMediaFilterVtbl* lpVtbl; |
| }; |
| struct IMediaFilterVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** 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); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IMediaFilter_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IMediaFilter_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IMediaFilter_Release(p) (p)->lpVtbl->Release(p) |
| /*** IPersist methods ***/ |
| #define IMediaFilter_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a) |
| /*** IMediaFilter methods ***/ |
| #define IMediaFilter_Stop(p) (p)->lpVtbl->Stop(p) |
| #define IMediaFilter_Pause(p) (p)->lpVtbl->Pause(p) |
| #define IMediaFilter_Run(p,a) (p)->lpVtbl->Run(p,a) |
| #define IMediaFilter_GetState(p,a,b) (p)->lpVtbl->GetState(p,a,b) |
| #define IMediaFilter_SetSyncSource(p,a) (p)->lpVtbl->SetSyncSource(p,a) |
| #define IMediaFilter_GetSyncSource(p,a) (p)->lpVtbl->GetSyncSource(p,a) |
| |
| #endif |
| |
| #define IMediaFilter_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IPersist methods ***/ \ |
| STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \ |
| /*** IMediaFilter methods ***/ \ |
| STDMETHOD_(HRESULT,Stop)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,Pause)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,Run)(THIS_ REFERENCE_TIME tStart) PURE; \ |
| STDMETHOD_(HRESULT,GetState)(THIS_ DWORD dwMilliSecsTimeout, FILTER_STATE* State) PURE; \ |
| STDMETHOD_(HRESULT,SetSyncSource)(THIS_ IReferenceClock* pClock) PURE; \ |
| STDMETHOD_(HRESULT,GetSyncSource)(THIS_ IReferenceClock** pClock) PURE; |
| |
| HRESULT CALLBACK IMediaFilter_Stop_Proxy( |
| IMediaFilter* This); |
| void __RPC_STUB IMediaFilter_Stop_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMediaFilter_Pause_Proxy( |
| IMediaFilter* This); |
| void __RPC_STUB IMediaFilter_Pause_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMediaFilter_Run_Proxy( |
| IMediaFilter* This, |
| REFERENCE_TIME tStart); |
| void __RPC_STUB IMediaFilter_Run_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMediaFilter_GetState_Proxy( |
| IMediaFilter* This, |
| DWORD dwMilliSecsTimeout, |
| FILTER_STATE* State); |
| void __RPC_STUB IMediaFilter_GetState_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMediaFilter_SetSyncSource_Proxy( |
| IMediaFilter* This, |
| IReferenceClock* pClock); |
| void __RPC_STUB IMediaFilter_SetSyncSource_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMediaFilter_GetSyncSource_Proxy( |
| IMediaFilter* This, |
| IReferenceClock** pClock); |
| void __RPC_STUB IMediaFilter_GetSyncSource_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #endif /* __IMediaFilter_INTERFACE_DEFINED__ */ |
| |
| typedef IMediaFilter *PMEDIAFILTER; |
| |
| typedef struct _FilterInfo { |
| WCHAR achName[128]; |
| IFilterGraph *pGraph; |
| } FILTER_INFO; |
| |
| /***************************************************************************** |
| * IBaseFilter interface |
| */ |
| #ifndef __IBaseFilter_INTERFACE_DEFINED__ |
| #define __IBaseFilter_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IBaseFilter, 0x56a86895, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct 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; |
| |
| }; |
| #else |
| typedef struct IBaseFilterVtbl IBaseFilterVtbl; |
| struct IBaseFilter { |
| const IBaseFilterVtbl* lpVtbl; |
| }; |
| struct IBaseFilterVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** 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); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IBaseFilter_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IBaseFilter_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IBaseFilter_Release(p) (p)->lpVtbl->Release(p) |
| /*** IPersist methods ***/ |
| #define IBaseFilter_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a) |
| /*** IMediaFilter methods ***/ |
| #define IBaseFilter_Stop(p) (p)->lpVtbl->Stop(p) |
| #define IBaseFilter_Pause(p) (p)->lpVtbl->Pause(p) |
| #define IBaseFilter_Run(p,a) (p)->lpVtbl->Run(p,a) |
| #define IBaseFilter_GetState(p,a,b) (p)->lpVtbl->GetState(p,a,b) |
| #define IBaseFilter_SetSyncSource(p,a) (p)->lpVtbl->SetSyncSource(p,a) |
| #define IBaseFilter_GetSyncSource(p,a) (p)->lpVtbl->GetSyncSource(p,a) |
| /*** IBaseFilter methods ***/ |
| #define IBaseFilter_EnumPins(p,a) (p)->lpVtbl->EnumPins(p,a) |
| #define IBaseFilter_FindPin(p,a,b) (p)->lpVtbl->FindPin(p,a,b) |
| #define IBaseFilter_QueryFilterInfo(p,a) (p)->lpVtbl->QueryFilterInfo(p,a) |
| #define IBaseFilter_JoinFilterGraph(p,a,b) (p)->lpVtbl->JoinFilterGraph(p,a,b) |
| #define IBaseFilter_QueryVendorInfo(p,a) (p)->lpVtbl->QueryVendorInfo(p,a) |
| |
| #endif |
| |
| #define IBaseFilter_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IPersist methods ***/ \ |
| STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \ |
| /*** IMediaFilter methods ***/ \ |
| STDMETHOD_(HRESULT,Stop)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,Pause)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,Run)(THIS_ REFERENCE_TIME tStart) PURE; \ |
| STDMETHOD_(HRESULT,GetState)(THIS_ DWORD dwMilliSecsTimeout, FILTER_STATE* State) PURE; \ |
| STDMETHOD_(HRESULT,SetSyncSource)(THIS_ IReferenceClock* pClock) PURE; \ |
| STDMETHOD_(HRESULT,GetSyncSource)(THIS_ IReferenceClock** pClock) PURE; \ |
| /*** IBaseFilter methods ***/ \ |
| STDMETHOD_(HRESULT,EnumPins)(THIS_ IEnumPins** ppEnum) PURE; \ |
| STDMETHOD_(HRESULT,FindPin)(THIS_ LPCWSTR Id, IPin** ppPin) PURE; \ |
| STDMETHOD_(HRESULT,QueryFilterInfo)(THIS_ FILTER_INFO* pInfo) PURE; \ |
| STDMETHOD_(HRESULT,JoinFilterGraph)(THIS_ IFilterGraph* pGraph, LPCWSTR pName) PURE; \ |
| STDMETHOD_(HRESULT,QueryVendorInfo)(THIS_ LPWSTR* pVendorInfo) PURE; |
| |
| HRESULT CALLBACK IBaseFilter_EnumPins_Proxy( |
| IBaseFilter* This, |
| IEnumPins** ppEnum); |
| void __RPC_STUB IBaseFilter_EnumPins_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IBaseFilter_FindPin_Proxy( |
| IBaseFilter* This, |
| LPCWSTR Id, |
| IPin** ppPin); |
| void __RPC_STUB IBaseFilter_FindPin_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IBaseFilter_QueryFilterInfo_Proxy( |
| IBaseFilter* This, |
| FILTER_INFO* pInfo); |
| void __RPC_STUB IBaseFilter_QueryFilterInfo_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IBaseFilter_JoinFilterGraph_Proxy( |
| IBaseFilter* This, |
| IFilterGraph* pGraph, |
| LPCWSTR pName); |
| void __RPC_STUB IBaseFilter_JoinFilterGraph_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IBaseFilter_QueryVendorInfo_Proxy( |
| IBaseFilter* This, |
| LPWSTR* pVendorInfo); |
| void __RPC_STUB IBaseFilter_QueryVendorInfo_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #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) |
| struct 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; |
| |
| }; |
| #else |
| typedef struct IReferenceClockVtbl IReferenceClockVtbl; |
| struct IReferenceClock { |
| const IReferenceClockVtbl* lpVtbl; |
| }; |
| struct IReferenceClockVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** 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); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IReferenceClock_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IReferenceClock_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IReferenceClock_Release(p) (p)->lpVtbl->Release(p) |
| /*** IReferenceClock methods ***/ |
| #define IReferenceClock_GetTime(p,a) (p)->lpVtbl->GetTime(p,a) |
| #define IReferenceClock_AdviseTime(p,a,b,c,d) (p)->lpVtbl->AdviseTime(p,a,b,c,d) |
| #define IReferenceClock_AdvisePeriodic(p,a,b,c,d) (p)->lpVtbl->AdvisePeriodic(p,a,b,c,d) |
| #define IReferenceClock_Unadvise(p,a) (p)->lpVtbl->Unadvise(p,a) |
| |
| #endif |
| |
| #define IReferenceClock_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IReferenceClock methods ***/ \ |
| STDMETHOD_(HRESULT,GetTime)(THIS_ REFERENCE_TIME* pTime) PURE; \ |
| STDMETHOD_(HRESULT,AdviseTime)(THIS_ REFERENCE_TIME baseTime, REFERENCE_TIME streamTime, HEVENT hEvent, DWORD_PTR* pdwAdviseCookie) PURE; \ |
| STDMETHOD_(HRESULT,AdvisePeriodic)(THIS_ REFERENCE_TIME startTime, REFERENCE_TIME periodTime, HSEMAPHORE hSemaphore, DWORD_PTR* pdwAdviseCookie) PURE; \ |
| STDMETHOD_(HRESULT,Unadvise)(THIS_ DWORD_PTR dwAdviseCookie) PURE; |
| |
| HRESULT CALLBACK IReferenceClock_GetTime_Proxy( |
| IReferenceClock* This, |
| REFERENCE_TIME* pTime); |
| void __RPC_STUB IReferenceClock_GetTime_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IReferenceClock_AdviseTime_Proxy( |
| IReferenceClock* This, |
| REFERENCE_TIME baseTime, |
| REFERENCE_TIME streamTime, |
| HEVENT hEvent, |
| DWORD_PTR* pdwAdviseCookie); |
| void __RPC_STUB IReferenceClock_AdviseTime_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IReferenceClock_AdvisePeriodic_Proxy( |
| IReferenceClock* This, |
| REFERENCE_TIME startTime, |
| REFERENCE_TIME periodTime, |
| HSEMAPHORE hSemaphore, |
| DWORD_PTR* pdwAdviseCookie); |
| void __RPC_STUB IReferenceClock_AdvisePeriodic_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IReferenceClock_Unadvise_Proxy( |
| IReferenceClock* This, |
| DWORD_PTR dwAdviseCookie); |
| void __RPC_STUB IReferenceClock_Unadvise_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #endif /* __IReferenceClock_INTERFACE_DEFINED__ */ |
| |
| typedef IReferenceClock *PREFERENCECLOCK; |
| |
| /***************************************************************************** |
| * 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) |
| struct 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( |
| BOOL bIsSyncPoint) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE IsPreroll( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetPreroll( |
| BOOL bIsPreroll) = 0; |
| |
| virtual long STDMETHODCALLTYPE GetActualDataLength( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetActualDataLength( |
| long length) = 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( |
| BOOL bDiscontinuity) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetMediaTime( |
| LONGLONG* pTimeStart, |
| LONGLONG* pTimeEnd) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetMediaTime( |
| LONGLONG* pTimeStart, |
| LONGLONG* pTimeEnd) = 0; |
| |
| }; |
| #else |
| typedef struct IMediaSampleVtbl IMediaSampleVtbl; |
| struct IMediaSample { |
| const IMediaSampleVtbl* lpVtbl; |
| }; |
| struct IMediaSampleVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** 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, |
| BOOL bIsSyncPoint); |
| |
| HRESULT (STDMETHODCALLTYPE *IsPreroll)( |
| IMediaSample* This); |
| |
| HRESULT (STDMETHODCALLTYPE *SetPreroll)( |
| IMediaSample* This, |
| BOOL bIsPreroll); |
| |
| long (STDMETHODCALLTYPE *GetActualDataLength)( |
| IMediaSample* This); |
| |
| HRESULT (STDMETHODCALLTYPE *SetActualDataLength)( |
| IMediaSample* This, |
| long length); |
| |
| 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, |
| BOOL bDiscontinuity); |
| |
| HRESULT (STDMETHODCALLTYPE *GetMediaTime)( |
| IMediaSample* This, |
| LONGLONG* pTimeStart, |
| LONGLONG* pTimeEnd); |
| |
| HRESULT (STDMETHODCALLTYPE *SetMediaTime)( |
| IMediaSample* This, |
| LONGLONG* pTimeStart, |
| LONGLONG* pTimeEnd); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IMediaSample_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IMediaSample_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IMediaSample_Release(p) (p)->lpVtbl->Release(p) |
| /*** IMediaSample methods ***/ |
| #define IMediaSample_GetPointer(p,a) (p)->lpVtbl->GetPointer(p,a) |
| #define IMediaSample_GetSize(p) (p)->lpVtbl->GetSize(p) |
| #define IMediaSample_GetTime(p,a,b) (p)->lpVtbl->GetTime(p,a,b) |
| #define IMediaSample_SetTime(p,a,b) (p)->lpVtbl->SetTime(p,a,b) |
| #define IMediaSample_IsSyncPoint(p) (p)->lpVtbl->IsSyncPoint(p) |
| #define IMediaSample_SetSyncPoint(p,a) (p)->lpVtbl->SetSyncPoint(p,a) |
| #define IMediaSample_IsPreroll(p) (p)->lpVtbl->IsPreroll(p) |
| #define IMediaSample_SetPreroll(p,a) (p)->lpVtbl->SetPreroll(p,a) |
| #define IMediaSample_GetActualDataLength(p) (p)->lpVtbl->GetActualDataLength(p) |
| #define IMediaSample_SetActualDataLength(p,a) (p)->lpVtbl->SetActualDataLength(p,a) |
| #define IMediaSample_GetMediaType(p,a) (p)->lpVtbl->GetMediaType(p,a) |
| #define IMediaSample_SetMediaType(p,a) (p)->lpVtbl->SetMediaType(p,a) |
| #define IMediaSample_IsDiscontinuity(p) (p)->lpVtbl->IsDiscontinuity(p) |
| #define IMediaSample_SetDiscontinuity(p,a) (p)->lpVtbl->SetDiscontinuity(p,a) |
| #define IMediaSample_GetMediaTime(p,a,b) (p)->lpVtbl->GetMediaTime(p,a,b) |
| #define IMediaSample_SetMediaTime(p,a,b) (p)->lpVtbl->SetMediaTime(p,a,b) |
| |
| #endif |
| |
| #define IMediaSample_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IMediaSample methods ***/ \ |
| STDMETHOD_(HRESULT,GetPointer)(THIS_ BYTE** ppBuffer) PURE; \ |
| STDMETHOD_(long,GetSize)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,GetTime)(THIS_ REFERENCE_TIME* pTimeStart, REFERENCE_TIME* pTimeEnd) PURE; \ |
| STDMETHOD_(HRESULT,SetTime)(THIS_ REFERENCE_TIME* pTimeStart, REFERENCE_TIME* pTimeEnd) PURE; \ |
| STDMETHOD_(HRESULT,IsSyncPoint)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,SetSyncPoint)(THIS_ BOOL bIsSyncPoint) PURE; \ |
| STDMETHOD_(HRESULT,IsPreroll)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,SetPreroll)(THIS_ BOOL bIsPreroll) PURE; \ |
| STDMETHOD_(long,GetActualDataLength)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,SetActualDataLength)(THIS_ long length) PURE; \ |
| STDMETHOD_(HRESULT,GetMediaType)(THIS_ AM_MEDIA_TYPE** ppMediaType) PURE; \ |
| STDMETHOD_(HRESULT,SetMediaType)(THIS_ AM_MEDIA_TYPE* pMediaType) PURE; \ |
| STDMETHOD_(HRESULT,IsDiscontinuity)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,SetDiscontinuity)(THIS_ BOOL bDiscontinuity) PURE; \ |
| STDMETHOD_(HRESULT,GetMediaTime)(THIS_ LONGLONG* pTimeStart, LONGLONG* pTimeEnd) PURE; \ |
| STDMETHOD_(HRESULT,SetMediaTime)(THIS_ LONGLONG* pTimeStart, LONGLONG* pTimeEnd) PURE; |
| |
| HRESULT CALLBACK IMediaSample_GetPointer_Proxy( |
| IMediaSample* This, |
| BYTE** ppBuffer); |
| void __RPC_STUB IMediaSample_GetPointer_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| long CALLBACK IMediaSample_GetSize_Proxy( |
| IMediaSample* This); |
| void __RPC_STUB IMediaSample_GetSize_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMediaSample_GetTime_Proxy( |
| IMediaSample* This, |
| REFERENCE_TIME* pTimeStart, |
| REFERENCE_TIME* pTimeEnd); |
| void __RPC_STUB IMediaSample_GetTime_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMediaSample_SetTime_Proxy( |
| IMediaSample* This, |
| REFERENCE_TIME* pTimeStart, |
| REFERENCE_TIME* pTimeEnd); |
| void __RPC_STUB IMediaSample_SetTime_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMediaSample_IsSyncPoint_Proxy( |
| IMediaSample* This); |
| void __RPC_STUB IMediaSample_IsSyncPoint_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMediaSample_SetSyncPoint_Proxy( |
| IMediaSample* This, |
| BOOL bIsSyncPoint); |
| void __RPC_STUB IMediaSample_SetSyncPoint_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMediaSample_IsPreroll_Proxy( |
| IMediaSample* This); |
| void __RPC_STUB IMediaSample_IsPreroll_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMediaSample_SetPreroll_Proxy( |
| IMediaSample* This, |
| BOOL bIsPreroll); |
| void __RPC_STUB IMediaSample_SetPreroll_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| long CALLBACK IMediaSample_GetActualDataLength_Proxy( |
| IMediaSample* This); |
| void __RPC_STUB IMediaSample_GetActualDataLength_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMediaSample_SetActualDataLength_Proxy( |
| IMediaSample* This, |
| long length); |
| void __RPC_STUB IMediaSample_SetActualDataLength_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMediaSample_GetMediaType_Proxy( |
| IMediaSample* This, |
| AM_MEDIA_TYPE** ppMediaType); |
| void __RPC_STUB IMediaSample_GetMediaType_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMediaSample_SetMediaType_Proxy( |
| IMediaSample* This, |
| AM_MEDIA_TYPE* pMediaType); |
| void __RPC_STUB IMediaSample_SetMediaType_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMediaSample_IsDiscontinuity_Proxy( |
| IMediaSample* This); |
| void __RPC_STUB IMediaSample_IsDiscontinuity_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMediaSample_SetDiscontinuity_Proxy( |
| IMediaSample* This, |
| BOOL bDiscontinuity); |
| void __RPC_STUB IMediaSample_SetDiscontinuity_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMediaSample_GetMediaTime_Proxy( |
| IMediaSample* This, |
| LONGLONG* pTimeStart, |
| LONGLONG* pTimeEnd); |
| void __RPC_STUB IMediaSample_GetMediaTime_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMediaSample_SetMediaTime_Proxy( |
| IMediaSample* This, |
| LONGLONG* pTimeStart, |
| LONGLONG* pTimeEnd); |
| void __RPC_STUB IMediaSample_SetMediaTime_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #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; |
| |
| #ifndef __IMediaSample2_FWD_DEFINED__ |
| #define __IMediaSample2_FWD_DEFINED__ |
| typedef struct IMediaSample2 IMediaSample2; |
| #endif |
| |
| /***************************************************************************** |
| * 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) |
| struct IMediaSample2 : public IMediaSample |
| { |
| virtual HRESULT STDMETHODCALLTYPE GetProperties( |
| DWORD cbProperties, |
| BYTE* pbProperties) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetProperties( |
| DWORD cbProperties, |
| const BYTE* pbProperties) = 0; |
| |
| }; |
| #else |
| typedef struct IMediaSample2Vtbl IMediaSample2Vtbl; |
| struct IMediaSample2 { |
| const IMediaSample2Vtbl* lpVtbl; |
| }; |
| struct IMediaSample2Vtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** 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, |
| BOOL bIsSyncPoint); |
| |
| HRESULT (STDMETHODCALLTYPE *IsPreroll)( |
| IMediaSample2* This); |
| |
| HRESULT (STDMETHODCALLTYPE *SetPreroll)( |
| IMediaSample2* This, |
| BOOL bIsPreroll); |
| |
| long (STDMETHODCALLTYPE *GetActualDataLength)( |
| IMediaSample2* This); |
| |
| HRESULT (STDMETHODCALLTYPE *SetActualDataLength)( |
| IMediaSample2* This, |
| long length); |
| |
| 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, |
| BOOL 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); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IMediaSample2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IMediaSample2_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IMediaSample2_Release(p) (p)->lpVtbl->Release(p) |
| /*** IMediaSample methods ***/ |
| #define IMediaSample2_GetPointer(p,a) (p)->lpVtbl->GetPointer(p,a) |
| #define IMediaSample2_GetSize(p) (p)->lpVtbl->GetSize(p) |
| #define IMediaSample2_GetTime(p,a,b) (p)->lpVtbl->GetTime(p,a,b) |
| #define IMediaSample2_SetTime(p,a,b) (p)->lpVtbl->SetTime(p,a,b) |
| #define IMediaSample2_IsSyncPoint(p) (p)->lpVtbl->IsSyncPoint(p) |
| #define IMediaSample2_SetSyncPoint(p,a) (p)->lpVtbl->SetSyncPoint(p,a) |
| #define IMediaSample2_IsPreroll(p) (p)->lpVtbl->IsPreroll(p) |
| #define IMediaSample2_SetPreroll(p,a) (p)->lpVtbl->SetPreroll(p,a) |
| #define IMediaSample2_GetActualDataLength(p) (p)->lpVtbl->GetActualDataLength(p) |
| #define IMediaSample2_SetActualDataLength(p,a) (p)->lpVtbl->SetActualDataLength(p,a) |
| #define IMediaSample2_GetMediaType(p,a) (p)->lpVtbl->GetMediaType(p,a) |
| #define IMediaSample2_SetMediaType(p,a) (p)->lpVtbl->SetMediaType(p,a) |
| #define IMediaSample2_IsDiscontinuity(p) (p)->lpVtbl->IsDiscontinuity(p) |
| #define IMediaSample2_SetDiscontinuity(p,a) (p)->lpVtbl->SetDiscontinuity(p,a) |
| #define IMediaSample2_GetMediaTime(p,a,b) (p)->lpVtbl->GetMediaTime(p,a,b) |
| #define IMediaSample2_SetMediaTime(p,a,b) (p)->lpVtbl->SetMediaTime(p,a,b) |
| /*** IMediaSample2 methods ***/ |
| #define IMediaSample2_GetProperties(p,a,b) (p)->lpVtbl->GetProperties(p,a,b) |
| #define IMediaSample2_SetProperties(p,a,b) (p)->lpVtbl->SetProperties(p,a,b) |
| |
| #endif |
| |
| #define IMediaSample2_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IMediaSample methods ***/ \ |
| STDMETHOD_(HRESULT,GetPointer)(THIS_ BYTE** ppBuffer) PURE; \ |
| STDMETHOD_(long,GetSize)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,GetTime)(THIS_ REFERENCE_TIME* pTimeStart, REFERENCE_TIME* pTimeEnd) PURE; \ |
| STDMETHOD_(HRESULT,SetTime)(THIS_ REFERENCE_TIME* pTimeStart, REFERENCE_TIME* pTimeEnd) PURE; \ |
| STDMETHOD_(HRESULT,IsSyncPoint)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,SetSyncPoint)(THIS_ BOOL bIsSyncPoint) PURE; \ |
| STDMETHOD_(HRESULT,IsPreroll)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,SetPreroll)(THIS_ BOOL bIsPreroll) PURE; \ |
| STDMETHOD_(long,GetActualDataLength)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,SetActualDataLength)(THIS_ long length) PURE; \ |
| STDMETHOD_(HRESULT,GetMediaType)(THIS_ AM_MEDIA_TYPE** ppMediaType) PURE; \ |
| STDMETHOD_(HRESULT,SetMediaType)(THIS_ AM_MEDIA_TYPE* pMediaType) PURE; \ |
| STDMETHOD_(HRESULT,IsDiscontinuity)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,SetDiscontinuity)(THIS_ BOOL bDiscontinuity) PURE; \ |
| STDMETHOD_(HRESULT,GetMediaTime)(THIS_ LONGLONG* pTimeStart, LONGLONG* pTimeEnd) PURE; \ |
| STDMETHOD_(HRESULT,SetMediaTime)(THIS_ LONGLONG* pTimeStart, LONGLONG* pTimeEnd) PURE; \ |
| /*** IMediaSample2 methods ***/ \ |
| STDMETHOD_(HRESULT,GetProperties)(THIS_ DWORD cbProperties, BYTE* pbProperties) PURE; \ |
| STDMETHOD_(HRESULT,SetProperties)(THIS_ DWORD cbProperties, const BYTE* pbProperties) PURE; |
| |
| HRESULT CALLBACK IMediaSample2_GetProperties_Proxy( |
| IMediaSample2* This, |
| DWORD cbProperties, |
| BYTE* pbProperties); |
| void __RPC_STUB IMediaSample2_GetProperties_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMediaSample2_SetProperties_Proxy( |
| IMediaSample2* This, |
| DWORD cbProperties, |
| const BYTE* pbProperties); |
| void __RPC_STUB IMediaSample2_SetProperties_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #endif /* __IMediaSample2_INTERFACE_DEFINED__ */ |
| |
| typedef IMediaSample2 *PMEDIASAMPLE2; |
| |
| #define AM_GBF_PREVFRAMESKIPPED 1 |
| #define AM_GBF_NOTASYNCPOINT 2 |
| #define AM_GBF_NOWAIT 4 |
| /***************************************************************************** |
| * 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) |
| struct 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; |
| |
| }; |
| #else |
| typedef struct IMemAllocatorVtbl IMemAllocatorVtbl; |
| struct IMemAllocator { |
| const IMemAllocatorVtbl* lpVtbl; |
| }; |
| struct IMemAllocatorVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** 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); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IMemAllocator_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IMemAllocator_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IMemAllocator_Release(p) (p)->lpVtbl->Release(p) |
| /*** IMemAllocator methods ***/ |
| #define IMemAllocator_SetProperties(p,a,b) (p)->lpVtbl->SetProperties(p,a,b) |
| #define IMemAllocator_GetProperties(p,a) (p)->lpVtbl->GetProperties(p,a) |
| #define IMemAllocator_Commit(p) (p)->lpVtbl->Commit(p) |
| #define IMemAllocator_Decommit(p) (p)->lpVtbl->Decommit(p) |
| #define IMemAllocator_GetBuffer(p,a,b,c,d) (p)->lpVtbl->GetBuffer(p,a,b,c,d) |
| #define IMemAllocator_ReleaseBuffer(p,a) (p)->lpVtbl->ReleaseBuffer(p,a) |
| |
| #endif |
| |
| #define IMemAllocator_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IMemAllocator methods ***/ \ |
| STDMETHOD_(HRESULT,SetProperties)(THIS_ ALLOCATOR_PROPERTIES* pRequest, ALLOCATOR_PROPERTIES* pActual) PURE; \ |
| STDMETHOD_(HRESULT,GetProperties)(THIS_ ALLOCATOR_PROPERTIES* pProps) PURE; \ |
| STDMETHOD_(HRESULT,Commit)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,Decommit)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,GetBuffer)(THIS_ IMediaSample** ppBuffer, REFERENCE_TIME* pStartTime, REFERENCE_TIME* pEndTime, DWORD dwFlags) PURE; \ |
| STDMETHOD_(HRESULT,ReleaseBuffer)(THIS_ IMediaSample* pBuffer) PURE; |
| |
| HRESULT CALLBACK IMemAllocator_SetProperties_Proxy( |
| IMemAllocator* This, |
| ALLOCATOR_PROPERTIES* pRequest, |
| ALLOCATOR_PROPERTIES* pActual); |
| void __RPC_STUB IMemAllocator_SetProperties_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMemAllocator_GetProperties_Proxy( |
| IMemAllocator* This, |
| ALLOCATOR_PROPERTIES* pProps); |
| void __RPC_STUB IMemAllocator_GetProperties_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMemAllocator_Commit_Proxy( |
| IMemAllocator* This); |
| void __RPC_STUB IMemAllocator_Commit_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMemAllocator_Decommit_Proxy( |
| IMemAllocator* This); |
| void __RPC_STUB IMemAllocator_Decommit_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMemAllocator_GetBuffer_Proxy( |
| IMemAllocator* This, |
| IMediaSample** ppBuffer, |
| REFERENCE_TIME* pStartTime, |
| REFERENCE_TIME* pEndTime, |
| DWORD dwFlags); |
| void __RPC_STUB IMemAllocator_GetBuffer_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMemAllocator_ReleaseBuffer_Proxy( |
| IMemAllocator* This, |
| IMediaSample* pBuffer); |
| void __RPC_STUB IMemAllocator_ReleaseBuffer_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #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); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IMemAllocatorCallbackTemp : public IMemAllocator |
| { |
| virtual HRESULT STDMETHODCALLTYPE SetNotify( |
| IMemAllocatorNotifyCallbackTemp* pNotify) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetFreeCount( |
| LONG* plBuffersFree) = 0; |
| |
| }; |
| #else |
| typedef struct IMemAllocatorCallbackTempVtbl IMemAllocatorCallbackTempVtbl; |
| struct IMemAllocatorCallbackTemp { |
| const IMemAllocatorCallbackTempVtbl* lpVtbl; |
| }; |
| struct IMemAllocatorCallbackTempVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IMemAllocatorCallbackTemp* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IMemAllocatorCallbackTemp* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IMemAllocatorCallbackTemp* This); |
| |
| /*** IMemAllocator methods ***/ |
| HRESULT (STDMETHODCALLTYPE *SetProperties)( |
| IMemAllocatorCallbackTemp* This, |
| ALLOCATOR_PROPERTIES* pRequest, |
| ALLOCATOR_PROPERTIES* pActual); |
| |
| HRESULT (STDMETHODCALLTYPE *GetProperties)( |
| IMemAllocatorCallbackTemp* This, |
| ALLOCATOR_PROPERTIES* pProps); |
| |
| HRESULT (STDMETHODCALLTYPE *Commit)( |
| IMemAllocatorCallbackTemp* This); |
| |
| HRESULT (STDMETHODCALLTYPE *Decommit)( |
| IMemAllocatorCallbackTemp* This); |
| |
| HRESULT (STDMETHODCALLTYPE *GetBuffer)( |
| IMemAllocatorCallbackTemp* This, |
| IMediaSample** ppBuffer, |
| REFERENCE_TIME* pStartTime, |
| REFERENCE_TIME* pEndTime, |
| DWORD dwFlags); |
| |
| HRESULT (STDMETHODCALLTYPE *ReleaseBuffer)( |
| IMemAllocatorCallbackTemp* This, |
| IMediaSample* pBuffer); |
| |
| /*** IMemAllocatorCallbackTemp methods ***/ |
| HRESULT (STDMETHODCALLTYPE *SetNotify)( |
| IMemAllocatorCallbackTemp* This, |
| IMemAllocatorNotifyCallbackTemp* pNotify); |
| |
| HRESULT (STDMETHODCALLTYPE *GetFreeCount)( |
| IMemAllocatorCallbackTemp* This, |
| LONG* plBuffersFree); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IMemAllocatorCallbackTemp_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IMemAllocatorCallbackTemp_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IMemAllocatorCallbackTemp_Release(p) (p)->lpVtbl->Release(p) |
| /*** IMemAllocator methods ***/ |
| #define IMemAllocatorCallbackTemp_SetProperties(p,a,b) (p)->lpVtbl->SetProperties(p,a,b) |
| #define IMemAllocatorCallbackTemp_GetProperties(p,a) (p)->lpVtbl->GetProperties(p,a) |
| #define IMemAllocatorCallbackTemp_Commit(p) (p)->lpVtbl->Commit(p) |
| #define IMemAllocatorCallbackTemp_Decommit(p) (p)->lpVtbl->Decommit(p) |
| #define IMemAllocatorCallbackTemp_GetBuffer(p,a,b,c,d) (p)->lpVtbl->GetBuffer(p,a,b,c,d) |
| #define IMemAllocatorCallbackTemp_ReleaseBuffer(p,a) (p)->lpVtbl->ReleaseBuffer(p,a) |
| /*** IMemAllocatorCallbackTemp methods ***/ |
| #define IMemAllocatorCallbackTemp_SetNotify(p,a) (p)->lpVtbl->SetNotify(p,a) |
| #define IMemAllocatorCallbackTemp_GetFreeCount(p,a) (p)->lpVtbl->GetFreeCount(p,a) |
| |
| #endif |
| |
| #define IMemAllocatorCallbackTemp_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IMemAllocator methods ***/ \ |
| STDMETHOD_(HRESULT,SetProperties)(THIS_ ALLOCATOR_PROPERTIES* pRequest, ALLOCATOR_PROPERTIES* pActual) PURE; \ |
| STDMETHOD_(HRESULT,GetProperties)(THIS_ ALLOCATOR_PROPERTIES* pProps) PURE; \ |
| STDMETHOD_(HRESULT,Commit)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,Decommit)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,GetBuffer)(THIS_ IMediaSample** ppBuffer, REFERENCE_TIME* pStartTime, REFERENCE_TIME* pEndTime, DWORD dwFlags) PURE; \ |
| STDMETHOD_(HRESULT,ReleaseBuffer)(THIS_ IMediaSample* pBuffer) PURE; \ |
| /*** IMemAllocatorCallbackTemp methods ***/ \ |
| STDMETHOD_(HRESULT,SetNotify)(THIS_ IMemAllocatorNotifyCallbackTemp* pNotify) PURE; \ |
| STDMETHOD_(HRESULT,GetFreeCount)(THIS_ LONG* plBuffersFree) PURE; |
| |
| HRESULT CALLBACK IMemAllocatorCallbackTemp_SetNotify_Proxy( |
| IMemAllocatorCallbackTemp* This, |
| IMemAllocatorNotifyCallbackTemp* pNotify); |
| void __RPC_STUB IMemAllocatorCallbackTemp_SetNotify_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMemAllocatorCallbackTemp_GetFreeCount_Proxy( |
| IMemAllocatorCallbackTemp* This, |
| LONG* plBuffersFree); |
| void __RPC_STUB IMemAllocatorCallbackTemp_GetFreeCount_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #endif /* __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__ */ |
| |
| /***************************************************************************** |
| * IMemAllocatorNotifyCallbackTemp interface |
| */ |
| #ifndef __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__ |
| #define __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IMemAllocatorNotifyCallbackTemp, 0x92980b30, 0xc1de, 0x11d2, 0xab,0xf5, 0x00,0xa0,0xc9,0x05,0xf3,0x75); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IMemAllocatorNotifyCallbackTemp : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE NotifyRelease( |
| ) = 0; |
| |
| }; |
| #else |
| typedef struct IMemAllocatorNotifyCallbackTempVtbl IMemAllocatorNotifyCallbackTempVtbl; |
| struct IMemAllocatorNotifyCallbackTemp { |
| const IMemAllocatorNotifyCallbackTempVtbl* lpVtbl; |
| }; |
| struct IMemAllocatorNotifyCallbackTempVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IMemAllocatorNotifyCallbackTemp* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IMemAllocatorNotifyCallbackTemp* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IMemAllocatorNotifyCallbackTemp* This); |
| |
| /*** IMemAllocatorNotifyCallbackTemp methods ***/ |
| HRESULT (STDMETHODCALLTYPE *NotifyRelease)( |
| IMemAllocatorNotifyCallbackTemp* This); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IMemAllocatorNotifyCallbackTemp_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IMemAllocatorNotifyCallbackTemp_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IMemAllocatorNotifyCallbackTemp_Release(p) (p)->lpVtbl->Release(p) |
| /*** IMemAllocatorNotifyCallbackTemp methods ***/ |
| #define IMemAllocatorNotifyCallbackTemp_NotifyRelease(p) (p)->lpVtbl->NotifyRelease(p) |
| |
| #endif |
| |
| #define IMemAllocatorNotifyCallbackTemp_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IMemAllocatorNotifyCallbackTemp methods ***/ \ |
| STDMETHOD_(HRESULT,NotifyRelease)(THIS) PURE; |
| |
| HRESULT CALLBACK IMemAllocatorNotifyCallbackTemp_NotifyRelease_Proxy( |
| IMemAllocatorNotifyCallbackTemp* This); |
| void __RPC_STUB IMemAllocatorNotifyCallbackTemp_NotifyRelease_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #endif /* __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__ */ |
| |
| /***************************************************************************** |
| * IMemInputPin interface |
| */ |
| #ifndef __IMemInputPin_INTERFACE_DEFINED__ |
| #define __IMemInputPin_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IMemInputPin, 0x56a8689d, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IMemInputPin : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE GetAllocator( |
| IMemAllocator** ppAllocator) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE NotifyAllocator( |
| IMemAllocator* pAllocator, |
| BOOL bReadOnly) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetAllocatorRequirements( |
| ALLOCATOR_PROPERTIES* pProps) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Receive( |
| IMediaSample* pSample) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE ReceiveMultiple( |
| IMediaSample** pSamples, |
| long nSamples, |
| long* nSamplesProcessed) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE ReceiveCanBlock( |
| ) = 0; |
| |
| }; |
| #else |
| typedef struct IMemInputPinVtbl IMemInputPinVtbl; |
| struct IMemInputPin { |
| const IMemInputPinVtbl* lpVtbl; |
| }; |
| struct IMemInputPinVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IMemInputPin* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IMemInputPin* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IMemInputPin* This); |
| |
| /*** IMemInputPin methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetAllocator)( |
| IMemInputPin* This, |
| IMemAllocator** ppAllocator); |
| |
| HRESULT (STDMETHODCALLTYPE *NotifyAllocator)( |
| IMemInputPin* This, |
| IMemAllocator* pAllocator, |
| BOOL bReadOnly); |
| |
| HRESULT (STDMETHODCALLTYPE *GetAllocatorRequirements)( |
| IMemInputPin* This, |
| ALLOCATOR_PROPERTIES* pProps); |
| |
| HRESULT (STDMETHODCALLTYPE *Receive)( |
| IMemInputPin* This, |
| IMediaSample* pSample); |
| |
| HRESULT (STDMETHODCALLTYPE *ReceiveMultiple)( |
| IMemInputPin* This, |
| IMediaSample** pSamples, |
| long nSamples, |
| long* nSamplesProcessed); |
| |
| HRESULT (STDMETHODCALLTYPE *ReceiveCanBlock)( |
| IMemInputPin* This); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IMemInputPin_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IMemInputPin_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IMemInputPin_Release(p) (p)->lpVtbl->Release(p) |
| /*** IMemInputPin methods ***/ |
| #define IMemInputPin_GetAllocator(p,a) (p)->lpVtbl->GetAllocator(p,a) |
| #define IMemInputPin_NotifyAllocator(p,a,b) (p)->lpVtbl->NotifyAllocator(p,a,b) |
| #define IMemInputPin_GetAllocatorRequirements(p,a) (p)->lpVtbl->GetAllocatorRequirements(p,a) |
| #define IMemInputPin_Receive(p,a) (p)->lpVtbl->Receive(p,a) |
| #define IMemInputPin_ReceiveMultiple(p,a,b,c) (p)->lpVtbl->ReceiveMultiple(p,a,b,c) |
| #define IMemInputPin_ReceiveCanBlock(p) (p)->lpVtbl->ReceiveCanBlock(p) |
| |
| #endif |
| |
| #define IMemInputPin_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IMemInputPin methods ***/ \ |
| STDMETHOD_(HRESULT,GetAllocator)(THIS_ IMemAllocator** ppAllocator) PURE; \ |
| STDMETHOD_(HRESULT,NotifyAllocator)(THIS_ IMemAllocator* pAllocator, BOOL bReadOnly) PURE; \ |
| STDMETHOD_(HRESULT,GetAllocatorRequirements)(THIS_ ALLOCATOR_PROPERTIES* pProps) PURE; \ |
| STDMETHOD_(HRESULT,Receive)(THIS_ IMediaSample* pSample) PURE; \ |
| STDMETHOD_(HRESULT,ReceiveMultiple)(THIS_ IMediaSample** pSamples, long nSamples, long* nSamplesProcessed) PURE; \ |
| STDMETHOD_(HRESULT,ReceiveCanBlock)(THIS) PURE; |
| |
| HRESULT CALLBACK IMemInputPin_GetAllocator_Proxy( |
| IMemInputPin* This, |
| IMemAllocator** ppAllocator); |
| void __RPC_STUB IMemInputPin_GetAllocator_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMemInputPin_NotifyAllocator_Proxy( |
| IMemInputPin* This, |
| IMemAllocator* pAllocator, |
| BOOL bReadOnly); |
| void __RPC_STUB IMemInputPin_NotifyAllocator_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMemInputPin_GetAllocatorRequirements_Proxy( |
| IMemInputPin* This, |
| ALLOCATOR_PROPERTIES* pProps); |
| void __RPC_STUB IMemInputPin_GetAllocatorRequirements_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMemInputPin_Receive_Proxy( |
| IMemInputPin* This, |
| IMediaSample* pSample); |
| void __RPC_STUB IMemInputPin_Receive_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMemInputPin_ReceiveMultiple_Proxy( |
| IMemInputPin* This, |
| IMediaSample** pSamples, |
| long nSamples, |
| long* nSamplesProcessed); |
| void __RPC_STUB IMemInputPin_ReceiveMultiple_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMemInputPin_ReceiveCanBlock_Proxy( |
| IMemInputPin* This); |
| void __RPC_STUB IMemInputPin_ReceiveCanBlock_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #endif /* __IMemInputPin_INTERFACE_DEFINED__ */ |
| |
| typedef IMemInputPin *PMEMINPUTPIN; |
| |
| /***************************************************************************** |
| * IAMovieSetup interface |
| */ |
| #ifndef __IAMovieSetup_INTERFACE_DEFINED__ |
| #define __IAMovieSetup_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IAMovieSetup, 0xa3d8cec0, 0x7e5a, 0x11cf, 0xbb,0xc5, 0x00,0x80,0x5f,0x6c,0xef,0x20); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IAMovieSetup : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE Register( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Unregister( |
| ) = 0; |
| |
| }; |
| #else |
| typedef struct IAMovieSetupVtbl IAMovieSetupVtbl; |
| struct IAMovieSetup { |
| const IAMovieSetupVtbl* lpVtbl; |
| }; |
| struct IAMovieSetupVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IAMovieSetup* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IAMovieSetup* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IAMovieSetup* This); |
| |
| /*** IAMovieSetup methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Register)( |
| IAMovieSetup* This); |
| |
| HRESULT (STDMETHODCALLTYPE *Unregister)( |
| IAMovieSetup* This); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IAMovieSetup_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IAMovieSetup_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IAMovieSetup_Release(p) (p)->lpVtbl->Release(p) |
| /*** IAMovieSetup methods ***/ |
| #define IAMovieSetup_Register(p) (p)->lpVtbl->Register(p) |
| #define IAMovieSetup_Unregister(p) (p)->lpVtbl->Unregister(p) |
| |
| #endif |
| |
| #define IAMovieSetup_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IAMovieSetup methods ***/ \ |
| STDMETHOD_(HRESULT,Register)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,Unregister)(THIS) PURE; |
| |
| HRESULT CALLBACK IAMovieSetup_Register_Proxy( |
| IAMovieSetup* This); |
| void __RPC_STUB IAMovieSetup_Register_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IAMovieSetup_Unregister_Proxy( |
| IAMovieSetup* This); |
| void __RPC_STUB IAMovieSetup_Unregister_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #endif /* __IAMovieSetup_INTERFACE_DEFINED__ */ |
| |
| typedef IAMovieSetup *PAMOVIESETUP; |
| |
| typedef enum AM_SEEKING_SeekingFlags { |
| AM_SEEKING_NoPositioning = 0x0, |
| AM_SEEKING_AbsolutePositioning = 0x1, |
| AM_SEEKING_RelativePositioning = 0x2, |
| AM_SEEKING_IncrementalPositioning = 0x3, |
| AM_SEEKING_PositioningBitsMask = 0x3, |
| AM_SEEKING_SeekToKeyFrame = 0x4, |
| AM_SEEKING_ReturnTime = 0x8, |
| AM_SEEKING_Segment = 0x10, |
| AM_SEEKING_NoFlush = 0x20 |
| } AM_SEEKING_SEEKING_FLAGS; |
| |
| typedef enum AM_SEEKING_SeekingCapabilities { |
| AM_SEEKING_CanSeekAbsolute = 0x1, |
| AM_SEEKING_CanSeekForwards = 0x2, |
| AM_SEEKING_CanSeekBackwards = 0x4, |
| AM_SEEKING_CanGetCurrentPos = 0x8, |
| AM_SEEKING_CanGetStopPos = 0x10, |
| AM_SEEKING_CanGetDuration = 0x20, |
| AM_SEEKING_CanPlayBackwards = 0x40, |
| AM_SEEKING_CanDoSegments = 0x80, |
| AM_SEEKING_Source = 0x100 |
| } AM_SEEKING_SEEKING_CAPABILITIES; |
| |
| #ifndef __IMediaSeeking_FWD_DEFINED__ |
| #define __IMediaSeeking_FWD_DEFINED__ |
| typedef struct IMediaSeeking IMediaSeeking; |
| #endif |
| |
| /***************************************************************************** |
| * IMediaSeeking interface |
| */ |
| #ifndef __IMediaSeeking_INTERFACE_DEFINED__ |
| #define __IMediaSeeking_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IMediaSeeking, 0x36b73880, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IMediaSeeking : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE GetCapabilities( |
| DWORD* pCapabilities) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE CheckCapabilities( |
| DWORD* pCapabilities) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE IsFormatSupported( |
| const GUID* pFormat) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE QueryPreferredFormat( |
| GUID* pFormat) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetTimeFormat( |
| GUID* pFormat) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE IsUsingTimeFormat( |
| const GUID* pFormat) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetTimeFormat( |
| const GUID* pFormat) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetDuration( |
| LONGLONG* pDuration) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetStopPosition( |
| LONGLONG* pStop) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetCurrentPosition( |
| LONGLONG* pCurrent) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE ConvertTimeFormat( |
| LONGLONG* pTarget, |
| const GUID* pTargetFormat, |
| LONGLONG Source, |
| const GUID* pSourceFormat) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetPositions( |
| LONGLONG* pCurrent, |
| DWORD dwCurrentFlags, |
| LONGLONG* pStop, |
| DWORD dwStopFlags) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetPositions( |
| LONGLONG* pCurrent, |
| LONGLONG* pStop) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetAvailable( |
| LONGLONG* pEarliest, |
| LONGLONG* pLatest) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetRate( |
| double dRate) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetRate( |
| double* pdRate) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetPreroll( |
| LONGLONG* pllPreroll) = 0; |
| |
| }; |
| #else |
| typedef struct IMediaSeekingVtbl IMediaSeekingVtbl; |
| struct IMediaSeeking { |
| const IMediaSeekingVtbl* lpVtbl; |
| }; |
| struct IMediaSeekingVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IMediaSeeking* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IMediaSeeking* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IMediaSeeking* This); |
| |
| /*** IMediaSeeking methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetCapabilities)( |
| IMediaSeeking* This, |
| DWORD* pCapabilities); |
| |
| HRESULT (STDMETHODCALLTYPE *CheckCapabilities)( |
| IMediaSeeking* This, |
| DWORD* pCapabilities); |
| |
| HRESULT (STDMETHODCALLTYPE *IsFormatSupported)( |
| IMediaSeeking* This, |
| const GUID* pFormat); |
| |
| HRESULT (STDMETHODCALLTYPE *QueryPreferredFormat)( |
| IMediaSeeking* This, |
| GUID* pFormat); |
| |
| HRESULT (STDMETHODCALLTYPE *GetTimeFormat)( |
| IMediaSeeking* This, |
| GUID* pFormat); |
| |
| HRESULT (STDMETHODCALLTYPE *IsUsingTimeFormat)( |
| IMediaSeeking* This, |
| const GUID* pFormat); |
| |
| HRESULT (STDMETHODCALLTYPE *SetTimeFormat)( |
| IMediaSeeking* This, |
| const GUID* pFormat); |
| |
| HRESULT (STDMETHODCALLTYPE *GetDuration)( |
| IMediaSeeking* This, |
| LONGLONG* pDuration); |
| |
| HRESULT (STDMETHODCALLTYPE *GetStopPosition)( |
| IMediaSeeking* This, |
| LONGLONG* pStop); |
| |
| HRESULT (STDMETHODCALLTYPE *GetCurrentPosition)( |
| IMediaSeeking* This, |
| LONGLONG* pCurrent); |
| |
| HRESULT (STDMETHODCALLTYPE *ConvertTimeFormat)( |
| IMediaSeeking* This, |
| LONGLONG* pTarget, |
| const GUID* pTargetFormat, |
| LONGLONG Source, |
| const GUID* pSourceFormat); |
| |
| HRESULT (STDMETHODCALLTYPE *SetPositions)( |
| IMediaSeeking* This, |
| LONGLONG* pCurrent, |
| DWORD dwCurrentFlags, |
| LONGLONG* pStop, |
| DWORD dwStopFlags); |
| |
| HRESULT (STDMETHODCALLTYPE *GetPositions)( |
| IMediaSeeking* This, |
| LONGLONG* pCurrent, |
| LONGLONG* pStop); |
| |
| HRESULT (STDMETHODCALLTYPE *GetAvailable)( |
| IMediaSeeking* This, |
| LONGLONG* pEarliest, |
| LONGLONG* pLatest); |
| |
| HRESULT (STDMETHODCALLTYPE *SetRate)( |
| IMediaSeeking* This, |
| double dRate); |
| |
| HRESULT (STDMETHODCALLTYPE *GetRate)( |
| IMediaSeeking* This, |
| double* pdRate); |
| |
| HRESULT (STDMETHODCALLTYPE *GetPreroll)( |
| IMediaSeeking* This, |
| LONGLONG* pllPreroll); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IMediaSeeking_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IMediaSeeking_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IMediaSeeking_Release(p) (p)->lpVtbl->Release(p) |
| /*** IMediaSeeking methods ***/ |
| #define IMediaSeeking_GetCapabilities(p,a) (p)->lpVtbl->GetCapabilities(p,a) |
| #define IMediaSeeking_CheckCapabilities(p,a) (p)->lpVtbl->CheckCapabilities(p,a) |
| #define IMediaSeeking_IsFormatSupported(p,a) (p)->lpVtbl->IsFormatSupported(p,a) |
| #define IMediaSeeking_QueryPreferredFormat(p,a) (p)->lpVtbl->QueryPreferredFormat(p,a) |
| #define IMediaSeeking_GetTimeFormat(p,a) (p)->lpVtbl->GetTimeFormat(p,a) |
| #define IMediaSeeking_IsUsingTimeFormat(p,a) (p)->lpVtbl->IsUsingTimeFormat(p,a) |
| #define IMediaSeeking_SetTimeFormat(p,a) (p)->lpVtbl->SetTimeFormat(p,a) |
| #define IMediaSeeking_GetDuration(p,a) (p)->lpVtbl->GetDuration(p,a) |
| #define IMediaSeeking_GetStopPosition(p,a) (p)->lpVtbl->GetStopPosition(p,a) |
| #define IMediaSeeking_GetCurrentPosition(p,a) (p)->lpVtbl->GetCurrentPosition(p,a) |
| #define IMediaSeeking_ConvertTimeFormat(p,a,b,c,d) (p)->lpVtbl->ConvertTimeFormat(p,a,b,c,d) |
| #define IMediaSeeking_SetPositions(p,a,b,c,d) (p)->lpVtbl->SetPositions(p,a,b,c,d) |
| #define IMediaSeeking_GetPositions(p,a,b) (p)->lpVtbl->GetPositions(p,a,b) |
| #define IMediaSeeking_GetAvailable(p,a,b) (p)->lpVtbl->GetAvailable(p,a,b) |
| #define IMediaSeeking_SetRate(p,a) (p)->lpVtbl->SetRate(p,a) |
| #define IMediaSeeking_GetRate(p,a) (p)->lpVtbl->GetRate(p,a) |
| #define IMediaSeeking_GetPreroll(p,a) (p)->lpVtbl->GetPreroll(p,a) |
| |
| #endif |
| |
| #define IMediaSeeking_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IMediaSeeking methods ***/ \ |
| STDMETHOD_(HRESULT,GetCapabilities)(THIS_ DWORD* pCapabilities) PURE; \ |
| STDMETHOD_(HRESULT,CheckCapabilities)(THIS_ DWORD* pCapabilities) PURE; \ |
| STDMETHOD_(HRESULT,IsFormatSupported)(THIS_ const GUID* pFormat) PURE; \ |
| STDMETHOD_(HRESULT,QueryPreferredFormat)(THIS_ GUID* pFormat) PURE; \ |
| STDMETHOD_(HRESULT,GetTimeFormat)(THIS_ GUID* pFormat) PURE; \ |
| STDMETHOD_(HRESULT,IsUsingTimeFormat)(THIS_ const GUID* pFormat) PURE; \ |
| STDMETHOD_(HRESULT,SetTimeFormat)(THIS_ const GUID* pFormat) PURE; \ |
| STDMETHOD_(HRESULT,GetDuration)(THIS_ LONGLONG* pDuration) PURE; \ |
| STDMETHOD_(HRESULT,GetStopPosition)(THIS_ LONGLONG* pStop) PURE; \ |
| STDMETHOD_(HRESULT,GetCurrentPosition)(THIS_ LONGLONG* pCurrent) PURE; \ |
| STDMETHOD_(HRESULT,ConvertTimeFormat)(THIS_ LONGLONG* pTarget, const GUID* pTargetFormat, LONGLONG Source, const GUID* pSourceFormat) PURE; \ |
| STDMETHOD_(HRESULT,SetPositions)(THIS_ LONGLONG* pCurrent, DWORD dwCurrentFlags, LONGLONG* pStop, DWORD dwStopFlags) PURE; \ |
| STDMETHOD_(HRESULT,GetPositions)(THIS_ LONGLONG* pCurrent, LONGLONG* pStop) PURE; \ |
| STDMETHOD_(HRESULT,GetAvailable)(THIS_ LONGLONG* pEarliest, LONGLONG* pLatest) PURE; \ |
| STDMETHOD_(HRESULT,SetRate)(THIS_ double dRate) PURE; \ |
| STDMETHOD_(HRESULT,GetRate)(THIS_ double* pdRate) PURE; \ |
| STDMETHOD_(HRESULT,GetPreroll)(THIS_ LONGLONG* pllPreroll) PURE; |
| |
| HRESULT CALLBACK IMediaSeeking_GetCapabilities_Proxy( |
| IMediaSeeking* This, |
| DWORD* pCapabilities); |
| void __RPC_STUB IMediaSeeking_GetCapabilities_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMediaSeeking_CheckCapabilities_Proxy( |
| IMediaSeeking* This, |
| DWORD* pCapabilities); |
| void __RPC_STUB IMediaSeeking_CheckCapabilities_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMediaSeeking_IsFormatSupported_Proxy( |
| IMediaSeeking* This, |
| const GUID* pFormat); |
| void __RPC_STUB IMediaSeeking_IsFormatSupported_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMediaSeeking_QueryPreferredFormat_Proxy( |
| IMediaSeeking* This, |
| GUID* pFormat); |
| void __RPC_STUB IMediaSeeking_QueryPreferredFormat_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMediaSeeking_GetTimeFormat_Proxy( |
| IMediaSeeking* This, |
| GUID* pFormat); |
| void __RPC_STUB IMediaSeeking_GetTimeFormat_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMediaSeeking_IsUsingTimeFormat_Proxy( |
| IMediaSeeking* This, |
| const GUID* pFormat); |
| void __RPC_STUB IMediaSeeking_IsUsingTimeFormat_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMediaSeeking_SetTimeFormat_Proxy( |
| IMediaSeeking* This, |
| const GUID* pFormat); |
| void __RPC_STUB IMediaSeeking_SetTimeFormat_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMediaSeeking_GetDuration_Proxy( |
| IMediaSeeking* This, |
| LONGLONG* pDuration); |
| void __RPC_STUB IMediaSeeking_GetDuration_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMediaSeeking_GetStopPosition_Proxy( |
| IMediaSeeking* This, |
| LONGLONG* pStop); |
| void __RPC_STUB IMediaSeeking_GetStopPosition_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMediaSeeking_GetCurrentPosition_Proxy( |
| IMediaSeeking* This, |
| LONGLONG* pCurrent); |
| void __RPC_STUB IMediaSeeking_GetCurrentPosition_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMediaSeeking_ConvertTimeFormat_Proxy( |
| IMediaSeeking* This, |
| LONGLONG* pTarget, |
| const GUID* pTargetFormat, |
| LONGLONG Source, |
| const GUID* pSourceFormat); |
| void __RPC_STUB IMediaSeeking_ConvertTimeFormat_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMediaSeeking_SetPositions_Proxy( |
| IMediaSeeking* This, |
| LONGLONG* pCurrent, |
| DWORD dwCurrentFlags, |
| LONGLONG* pStop, |
| DWORD dwStopFlags); |
| void __RPC_STUB IMediaSeeking_SetPositions_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMediaSeeking_GetPositions_Proxy( |
| IMediaSeeking* This, |
| LONGLONG* pCurrent, |
| LONGLONG* pStop); |
| void __RPC_STUB IMediaSeeking_GetPositions_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMediaSeeking_GetAvailable_Proxy( |
| IMediaSeeking* This, |
| LONGLONG* pEarliest, |
| LONGLONG* pLatest); |
| void __RPC_STUB IMediaSeeking_GetAvailable_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMediaSeeking_SetRate_Proxy( |
| IMediaSeeking* This, |
| double dRate); |
| void __RPC_STUB IMediaSeeking_SetRate_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMediaSeeking_GetRate_Proxy( |
| IMediaSeeking* This, |
| double* pdRate); |
| void __RPC_STUB IMediaSeeking_GetRate_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMediaSeeking_GetPreroll_Proxy( |
| IMediaSeeking* This, |
| LONGLONG* pllPreroll); |
| void __RPC_STUB IMediaSeeking_GetPreroll_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #endif /* __IMediaSeeking_INTERFACE_DEFINED__ */ |
| |
| typedef IMediaSeeking *PMEDIASEEKING; |
| |
| enum tagAM_MEDIAEVENT_FLAGS { |
| AM_MEDIAEVENT_NONOTIFY = 0x1 |
| }; |
| |
| #ifndef __IAMAnalogVideoDecoder_FWD_DEFINED__ |
| #define __IAMAnalogVideoDecoder_FWD_DEFINED__ |
| typedef struct IAMAnalogVideoDecoder IAMAnalogVideoDecoder; |
| #endif |
| |
| #ifndef __IAMAnalogVideoEncoder_FWD_DEFINED__ |
| #define __IAMAnalogVideoEncoder_FWD_DEFINED__ |
| typedef struct IAMAnalogVideoEncoder IAMAnalogVideoEncoder; |
| #endif |
| |
| #ifndef __IAMAudioInputMixer_FWD_DEFINED__ |
| #define __IAMAudioInputMixer_FWD_DEFINED__ |
| typedef struct IAMAudioInputMixer IAMAudioInputMixer; |
| #endif |
| |
| #ifndef __IAMAudioRendererStats_FWD_DEFINED__ |
| #define __IAMAudioRendererStats_FWD_DEFINED__ |
| typedef struct IAMAudioRendererStats IAMAudioRendererStats; |
| #endif |
| |
| #ifndef __IAMBufferNegotiation_FWD_DEFINED__ |
| #define __IAMBufferNegotiation_FWD_DEFINED__ |
| typedef struct IAMBufferNegotiation IAMBufferNegotiation; |
| #endif |
| |
| #ifndef __IAMCameraControl_FWD_DEFINED__ |
| #define __IAMCameraControl_FWD_DEFINED__ |
| typedef struct IAMCameraControl IAMCameraControl; |
| #endif |
| |
| #ifndef __IAMCopyCaptureFileProgress_FWD_DEFINED__ |
| #define __IAMCopyCaptureFileProgress_FWD_DEFINED__ |
| typedef struct IAMCopyCaptureFileProgress IAMCopyCaptureFileProgress; |
| #endif |
| |
| #ifndef __IAMCrossbar_FWD_DEFINED__ |
| #define __IAMCrossbar_FWD_DEFINED__ |
| typedef struct IAMCrossbar IAMCrossbar; |
| #endif |
| |
| #ifndef __IAMDevMemoryAllocator_FWD_DEFINED__ |
| #define __IAMDevMemoryAllocator_FWD_DEFINED__ |
| typedef struct IAMDevMemoryAllocator IAMDevMemoryAllocator; |
| #endif |
| |
| #ifndef __IAMDevMemoryControl_FWD_DEFINED__ |
| #define __IAMDevMemoryControl_FWD_DEFINED__ |
| typedef struct IAMDevMemoryControl IAMDevMemoryControl; |
| #endif |
| |
| #ifndef __IAMDroppedFrames_FWD_DEFINED__ |
| #define __IAMDroppedFrames_FWD_DEFINED__ |
| typedef struct IAMDroppedFrames IAMDroppedFrames; |
| #endif |
| |
| #ifndef __IAMExtDevice_FWD_DEFINED__ |
| #define __IAMExtDevice_FWD_DEFINED__ |
| typedef struct IAMExtDevice IAMExtDevice; |
| #endif |
| |
| #ifndef __IAMExtTransport_FWD_DEFINED__ |
| #define __IAMExtTransport_FWD_DEFINED__ |
| typedef struct IAMExtTransport IAMExtTransport; |
| #endif |
| |
| #ifndef __IAMGraphStreams_FWD_DEFINED__ |
| #define __IAMGraphStreams_FWD_DEFINED__ |
| typedef struct IAMGraphStreams IAMGraphStreams; |
| #endif |
| |
| #ifndef __IAMLatency_FWD_DEFINED__ |
| #define __IAMLatency_FWD_DEFINED__ |
| typedef struct IAMLatency IAMLatency; |
| #endif |
| |
| #ifndef __IAMOpenProgress_FWD_DEFINED__ |
| #define __IAMOpenProgress_FWD_DEFINED__ |
| typedef struct IAMOpenProgress IAMOpenProgress; |
| #endif |
| |
| #ifndef __IAMOverlayFX_FWD_DEFINED__ |
| #define __IAMOverlayFX_FWD_DEFINED__ |
| typedef struct IAMOverlayFX IAMOverlayFX; |
| #endif |
| |
| #ifndef __IAMPhysicalPinInfo_FWD_DEFINED__ |
| #define __IAMPhysicalPinInfo_FWD_DEFINED__ |
| typedef struct IAMPhysicalPinInfo IAMPhysicalPinInfo; |
| #endif |
| |
| #ifndef __IAMPushSource_FWD_DEFINED__ |
| #define __IAMPushSource_FWD_DEFINED__ |
| typedef struct IAMPushSource IAMPushSource; |
| #endif |
| |
| #ifndef __IAMStreamConfig_FWD_DEFINED__ |
| #define __IAMStreamConfig_FWD_DEFINED__ |
| typedef struct IAMStreamConfig IAMStreamConfig; |
| #endif |
| |
| #ifndef __IAMTimecodeDisplay_FWD_DEFINED__ |
| #define __IAMTimecodeDisplay_FWD_DEFINED__ |
| typedef struct IAMTimecodeDisplay IAMTimecodeDisplay; |
| #endif |
| |
| #ifndef __IAMTimecodeGenerator_FWD_DEFINED__ |
| #define __IAMTimecodeGenerator_FWD_DEFINED__ |
| typedef struct IAMTimecodeGenerator IAMTimecodeGenerator; |
| #endif |
| |
| #ifndef __IAMTimecodeReader_FWD_DEFINED__ |
| #define __IAMTimecodeReader_FWD_DEFINED__ |
| typedef struct IAMTimecodeReader IAMTimecodeReader; |
| #endif |
| |
| #ifndef __IAMTVTuner_FWD_DEFINED__ |
| #define __IAMTVTuner_FWD_DEFINED__ |
| typedef struct IAMTVTuner IAMTVTuner; |
| #endif |
| |
| #ifndef __IAMVfwCaptureDialogs_FWD_DEFINED__ |
| #define __IAMVfwCaptureDialogs_FWD_DEFINED__ |
| typedef struct IAMVfwCaptureDialogs IAMVfwCaptureDialogs; |
| #endif |
| |
| #ifndef __IAMVfwCompressDialogs_FWD_DEFINED__ |
| #define __IAMVfwCompressDialogs_FWD_DEFINED__ |
| typedef struct IAMVfwCompressDialogs IAMVfwCompressDialogs; |
| #endif |
| |
| #ifndef __IAMVideoCompression_FWD_DEFINED__ |
| #define __IAMVideoCompression_FWD_DEFINED__ |
| typedef struct IAMVideoCompression IAMVideoCompression; |
| #endif |
| |
| #ifndef __IAMVideoDecimationProperties_FWD_DEFINED__ |
| #define __IAMVideoDecimationProperties_FWD_DEFINED__ |
| typedef struct IAMVideoDecimationProperties IAMVideoDecimationProperties; |
| #endif |
| |
| #ifndef __IAMVideoProcAmp_FWD_DEFINED__ |
| #define __IAMVideoProcAmp_FWD_DEFINED__ |
| typedef struct IAMVideoProcAmp IAMVideoProcAmp; |
| #endif |
| |
| #ifndef __ICaptureGraphBuilder_FWD_DEFINED__ |
| #define __ICaptureGraphBuilder_FWD_DEFINED__ |
| typedef struct ICaptureGraphBuilder ICaptureGraphBuilder; |
| #endif |
| |
| #ifndef __ICaptureGraphBuilder2_FWD_DEFINED__ |
| #define __ICaptureGraphBuilder2_FWD_DEFINED__ |
| typedef struct ICaptureGraphBuilder2 ICaptureGraphBuilder2; |
| #endif |
| |
| #ifndef __IConfigAviMux_FWD_DEFINED__ |
| #define __IConfigAviMux_FWD_DEFINED__ |
| typedef struct IConfigAviMux IConfigAviMux; |
| #endif |
| |
| #ifndef __IConfigInterleaving_FWD_DEFINED__ |
| #define __IConfigInterleaving_FWD_DEFINED__ |
| typedef struct IConfigInterleaving IConfigInterleaving; |
| #endif |
| |
| #ifndef __IDecimateVideoImage_FWD_DEFINED__ |
| #define __IDecimateVideoImage_FWD_DEFINED__ |
| typedef struct IDecimateVideoImage IDecimateVideoImage; |
| #endif |
| |
| #ifndef __IDrawVideoImage_FWD_DEFINED__ |
| #define __IDrawVideoImage_FWD_DEFINED__ |
| typedef struct IDrawVideoImage IDrawVideoImage; |
| #endif |
| |
| #ifndef __IEnumRegFilters_FWD_DEFINED__ |
| #define __IEnumRegFilters_FWD_DEFINED__ |
| typedef struct IEnumRegFilters IEnumRegFilters; |
| #endif |
| |
| #ifndef __IEnumStreamIdMap_FWD_DEFINED__ |
| #define __IEnumStreamIdMap_FWD_DEFINED__ |
| typedef struct IEnumStreamIdMap IEnumStreamIdMap; |
| #endif |
| |
| #ifndef __IFileSourceFilter_FWD_DEFINED__ |
| #define __IFileSourceFilter_FWD_DEFINED__ |
| typedef struct IFileSourceFilter IFileSourceFilter; |
| #endif |
| |
| #ifndef __IFileSinkFilter_FWD_DEFINED__ |
| #define __IFileSinkFilter_FWD_DEFINED__ |
| typedef struct IFileSinkFilter IFileSinkFilter; |
| #endif |
| |
| #ifndef __IFileSinkFilter2_FWD_DEFINED__ |
| #define __IFileSinkFilter2_FWD_DEFINED__ |
| typedef struct IFileSinkFilter2 IFileSinkFilter2; |
| #endif |
| |
| #ifndef __IFilterMapper_FWD_DEFINED__ |
| #define __IFilterMapper_FWD_DEFINED__ |
| typedef struct IFilterMapper IFilterMapper; |
| #endif |
| |
| #ifndef __IFilterMapper2_FWD_DEFINED__ |
| #define __IFilterMapper2_FWD_DEFINED__ |
| typedef struct IFilterMapper2 IFilterMapper2; |
| #endif |
| |
| #ifndef __IGraphBuilder_FWD_DEFINED__ |
| #define __IGraphBuilder_FWD_DEFINED__ |
| typedef struct IGraphBuilder IGraphBuilder; |
| #endif |
| |
| #ifndef __IKsPropertySet_FWD_DEFINED__ |
| #define __IKsPropertySet_FWD_DEFINED__ |
| typedef struct IKsPropertySet IKsPropertySet; |
| #endif |
| |
| #ifndef __IMediaEventSink_FWD_DEFINED__ |
| #define __IMediaEventSink_FWD_DEFINED__ |
| typedef struct IMediaEventSink IMediaEventSink; |
| #endif |
| |
| #ifndef __IMpeg2Demultiplexer_FWD_DEFINED__ |
| #define __IMpeg2Demultiplexer_FWD_DEFINED__ |
| typedef struct IMpeg2Demultiplexer IMpeg2Demultiplexer; |
| #endif |
| |
| #ifndef __IMPEG2StreamIdMap_FWD_DEFINED__ |
| #define __IMPEG2StreamIdMap_FWD_DEFINED__ |
| typedef struct IMPEG2StreamIdMap IMPEG2StreamIdMap; |
| #endif |
| |
| #ifndef __IOverlay_FWD_DEFINED__ |
| #define __IOverlay_FWD_DEFINED__ |
| typedef struct IOverlay IOverlay; |
| #endif |
| |
| #ifndef __IOverlayNotify_FWD_DEFINED__ |
| #define __IOverlayNotify_FWD_DEFINED__ |
| typedef struct IOverlayNotify IOverlayNotify; |
| #endif |
| |
| #ifndef __IOverlayNotify2_FWD_DEFINED__ |
| #define __IOverlayNotify2_FWD_DEFINED__ |
| typedef struct IOverlayNotify2 IOverlayNotify2; |
| #endif |
| |
| #ifndef __IQualityControl_FWD_DEFINED__ |
| #define __IQualityControl_FWD_DEFINED__ |
| typedef struct IQualityControl IQualityControl; |
| #endif |
| |
| #ifndef __ISeekingPassThru_FWD_DEFINED__ |
| #define __ISeekingPassThru_FWD_DEFINED__ |
| typedef struct ISeekingPassThru ISeekingPassThru; |
| #endif |
| |
| typedef struct { |
| CLSID Clsid; |
| LPWSTR Name; |
| } REGFILTER; |
| |
| /***************************************************************************** |
| * IEnumRegFilters interface |
| */ |
| #ifndef __IEnumRegFilters_INTERFACE_DEFINED__ |
| #define __IEnumRegFilters_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IEnumRegFilters, 0x56a868a4, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IEnumRegFilters : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE Next( |
| ULONG cFilters, |
| REGFILTER** apRegFilter, |
| ULONG* pcFetched) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Skip( |
| ULONG cFilters) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Reset( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Clone( |
| IEnumRegFilters** ppEnum) = 0; |
| |
| }; |
| #else |
| typedef struct IEnumRegFiltersVtbl IEnumRegFiltersVtbl; |
| struct IEnumRegFilters { |
| const IEnumRegFiltersVtbl* lpVtbl; |
| }; |
| struct IEnumRegFiltersVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IEnumRegFilters* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IEnumRegFilters* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IEnumRegFilters* This); |
| |
| /*** IEnumRegFilters methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Next)( |
| IEnumRegFilters* This, |
| ULONG cFilters, |
| REGFILTER** apRegFilter, |
| ULONG* pcFetched); |
| |
| HRESULT (STDMETHODCALLTYPE *Skip)( |
| IEnumRegFilters* This, |
| ULONG cFilters); |
| |
| HRESULT (STDMETHODCALLTYPE *Reset)( |
| IEnumRegFilters* This); |
| |
| HRESULT (STDMETHODCALLTYPE *Clone)( |
| IEnumRegFilters* This, |
| IEnumRegFilters** ppEnum); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IEnumRegFilters_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IEnumRegFilters_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IEnumRegFilters_Release(p) (p)->lpVtbl->Release(p) |
| /*** IEnumRegFilters methods ***/ |
| #define IEnumRegFilters_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c) |
| #define IEnumRegFilters_Skip(p,a) (p)->lpVtbl->Skip(p,a) |
| #define IEnumRegFilters_Reset(p) (p)->lpVtbl->Reset(p) |
| #define IEnumRegFilters_Clone(p,a) (p)->lpVtbl->Clone(p,a) |
| |
| #endif |
| |
| #define IEnumRegFilters_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IEnumRegFilters methods ***/ \ |
| STDMETHOD_(HRESULT,Next)(THIS_ ULONG cFilters, REGFILTER** apRegFilter, ULONG* pcFetched) PURE; \ |
| STDMETHOD_(HRESULT,Skip)(THIS_ ULONG cFilters) PURE; \ |
| STDMETHOD_(HRESULT,Reset)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,Clone)(THIS_ IEnumRegFilters** ppEnum) PURE; |
| |
| HRESULT CALLBACK IEnumRegFilters_Next_Proxy( |
| IEnumRegFilters* This, |
| ULONG cFilters, |
| REGFILTER** apRegFilter, |
| ULONG* pcFetched); |
| void __RPC_STUB IEnumRegFilters_Next_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IEnumRegFilters_Skip_Proxy( |
| IEnumRegFilters* This, |
| ULONG cFilters); |
| void __RPC_STUB IEnumRegFilters_Skip_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IEnumRegFilters_Reset_Proxy( |
| IEnumRegFilters* This); |
| void __RPC_STUB IEnumRegFilters_Reset_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IEnumRegFilters_Clone_Proxy( |
| IEnumRegFilters* This, |
| IEnumRegFilters** ppEnum); |
| void __RPC_STUB IEnumRegFilters_Clone_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #endif /* __IEnumRegFilters_INTERFACE_DEFINED__ */ |
| |
| typedef IEnumRegFilters *PENUMREGFILTERS; |
| |
| enum { |
| MERIT_PREFERRED = 0x800000, |
| MERIT_NORMAL = 0x600000, |
| MERIT_UNLIKELY = 0x400000, |
| MERIT_DO_NOT_USE = 0x200000, |
| MERIT_SW_COMPRESSOR = 0x100000, |
| MERIT_HW_COMPRESSOR = 0x100050 |
| }; |
| |
| /***************************************************************************** |
| * IFilterMapper interface |
| */ |
| #ifndef __IFilterMapper_INTERFACE_DEFINED__ |
| #define __IFilterMapper_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IFilterMapper, 0x56a868a3, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IFilterMapper : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE RegisterFilter( |
| CLSID clsid, |
| LPCWSTR Name, |
| DWORD dwMerit) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE RegisterFilterInstance( |
| CLSID clsid, |
| LPCWSTR Name, |
| CLSID* MRId) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE RegisterPin( |
| CLSID Filter, |
| LPCWSTR Name, |
| BOOL bRendered, |
| BOOL bOutput, |
| BOOL bZero, |
| BOOL bMany, |
| CLSID ConnectsToFilter, |
| LPCWSTR ConnectsToPin) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE RegisterPinType( |
| CLSID clsFilter, |
| LPCWSTR strName, |
| CLSID clsMajorType, |
| CLSID clsSubType) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE UnregisterFilter( |
| CLSID Filter) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE UnregisterFilterInstance( |
| CLSID MRId) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE UnregisterPin( |
| CLSID Filter, |
| LPCWSTR Name) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE EnumMatchingFilters( |
| IEnumRegFilters** ppEnum, |
| DWORD dwMerit, |
| BOOL bInputNeeded, |
| CLSID clsInMaj, |
| CLSID clsInSub, |
| BOOL bRender, |
| BOOL bOututNeeded, |
| CLSID clsOutMaj, |
| CLSID clsOutSub) = 0; |
| |
| }; |
| #else |
| typedef struct IFilterMapperVtbl IFilterMapperVtbl; |
| struct IFilterMapper { |
| const IFilterMapperVtbl* lpVtbl; |
| }; |
| struct IFilterMapperVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IFilterMapper* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IFilterMapper* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IFilterMapper* This); |
| |
| /*** IFilterMapper methods ***/ |
| HRESULT (STDMETHODCALLTYPE *RegisterFilter)( |
| IFilterMapper* This, |
| CLSID clsid, |
| LPCWSTR Name, |
| DWORD dwMerit); |
| |
| HRESULT (STDMETHODCALLTYPE *RegisterFilterInstance)( |
| IFilterMapper* This, |
| CLSID clsid, |
| LPCWSTR Name, |
| CLSID* MRId); |
| |
| HRESULT (STDMETHODCALLTYPE *RegisterPin)( |
| IFilterMapper* This, |
| CLSID Filter, |
| LPCWSTR Name, |
| BOOL bRendered, |
| BOOL bOutput, |
| BOOL bZero, |
| BOOL bMany, |
| CLSID ConnectsToFilter, |
| LPCWSTR ConnectsToPin); |
| |
| HRESULT (STDMETHODCALLTYPE *RegisterPinType)( |
| IFilterMapper* This, |
| CLSID clsFilter, |
| LPCWSTR strName, |
| CLSID clsMajorType, |
| CLSID clsSubType); |
| |
| HRESULT (STDMETHODCALLTYPE *UnregisterFilter)( |
| IFilterMapper* This, |
| CLSID Filter); |
| |
| HRESULT (STDMETHODCALLTYPE *UnregisterFilterInstance)( |
| IFilterMapper* This, |
| CLSID MRId); |
| |
| HRESULT (STDMETHODCALLTYPE *UnregisterPin)( |
| IFilterMapper* This, |
| CLSID Filter, |
| LPCWSTR Name); |
| |
| HRESULT (STDMETHODCALLTYPE *EnumMatchingFilters)( |
| IFilterMapper* This, |
| IEnumRegFilters** ppEnum, |
| DWORD dwMerit, |
| BOOL bInputNeeded, |
| CLSID clsInMaj, |
| CLSID clsInSub, |
| BOOL bRender, |
| BOOL bOututNeeded, |
| CLSID clsOutMaj, |
| CLSID clsOutSub); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IFilterMapper_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IFilterMapper_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IFilterMapper_Release(p) (p)->lpVtbl->Release(p) |
| /*** IFilterMapper methods ***/ |
| #define IFilterMapper_RegisterFilter(p,a,b,c) (p)->lpVtbl->RegisterFilter(p,a,b,c) |
| #define IFilterMapper_RegisterFilterInstance(p,a,b,c) (p)->lpVtbl->RegisterFilterInstance(p,a,b,c) |
| #define IFilterMapper_RegisterPin(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->RegisterPin(p,a,b,c,d,e,f,g,h) |
| #define IFilterMapper_RegisterPinType(p,a,b,c,d) (p)->lpVtbl->RegisterPinType(p,a,b,c,d) |
| #define IFilterMapper_UnregisterFilter(p,a) (p)->lpVtbl->UnregisterFilter(p,a) |
| #define IFilterMapper_UnregisterFilterInstance(p,a) (p)->lpVtbl->UnregisterFilterInstance(p,a) |
| #define IFilterMapper_UnregisterPin(p,a,b) (p)->lpVtbl->UnregisterPin(p,a,b) |
| #define IFilterMapper_EnumMatchingFilters(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->EnumMatchingFilters(p,a,b,c,d,e,f,g,h,i) |
| |
| #endif |
| |
| #define IFilterMapper_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IFilterMapper methods ***/ \ |
| STDMETHOD_(HRESULT,RegisterFilter)(THIS_ CLSID clsid, LPCWSTR Name, DWORD dwMerit) PURE; \ |
| STDMETHOD_(HRESULT,RegisterFilterInstance)(THIS_ CLSID clsid, LPCWSTR Name, CLSID* MRId) PURE; \ |
| STDMETHOD_(HRESULT,RegisterPin)(THIS_ CLSID Filter, LPCWSTR Name, BOOL bRendered, BOOL bOutput, BOOL bZero, BOOL bMany, CLSID ConnectsToFilter, LPCWSTR ConnectsToPin) PURE; \ |
| STDMETHOD_(HRESULT,RegisterPinType)(THIS_ CLSID clsFilter, LPCWSTR strName, CLSID clsMajorType, CLSID clsSubType) PURE; \ |
| STDMETHOD_(HRESULT,UnregisterFilter)(THIS_ CLSID Filter) PURE; \ |
| STDMETHOD_(HRESULT,UnregisterFilterInstance)(THIS_ CLSID MRId) PURE; \ |
| STDMETHOD_(HRESULT,UnregisterPin)(THIS_ CLSID Filter, LPCWSTR Name) PURE; \ |
| STDMETHOD_(HRESULT,EnumMatchingFilters)(THIS_ IEnumRegFilters** ppEnum, DWORD dwMerit, BOOL bInputNeeded, CLSID clsInMaj, CLSID clsInSub, BOOL bRender, BOOL bOututNeeded, CLSID clsOutMaj, CLSID clsOutSub) PURE; |
| |
| HRESULT CALLBACK IFilterMapper_RegisterFilter_Proxy( |
| IFilterMapper* This, |
| CLSID clsid, |
| LPCWSTR Name, |
| DWORD dwMerit); |
| void __RPC_STUB IFilterMapper_RegisterFilter_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IFilterMapper_RegisterFilterInstance_Proxy( |
| IFilterMapper* This, |
| CLSID clsid, |
| LPCWSTR Name, |
| CLSID* MRId); |
| void __RPC_STUB IFilterMapper_RegisterFilterInstance_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IFilterMapper_RegisterPin_Proxy( |
| IFilterMapper* This, |
| CLSID Filter, |
| LPCWSTR Name, |
| BOOL bRendered, |
| BOOL bOutput, |
| BOOL bZero, |
| BOOL bMany, |
| CLSID ConnectsToFilter, |
| LPCWSTR ConnectsToPin); |
| void __RPC_STUB IFilterMapper_RegisterPin_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IFilterMapper_RegisterPinType_Proxy( |
| IFilterMapper* This, |
| CLSID clsFilter, |
| LPCWSTR strName, |
| CLSID clsMajorType, |
| CLSID clsSubType); |
| void __RPC_STUB IFilterMapper_RegisterPinType_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IFilterMapper_UnregisterFilter_Proxy( |
| IFilterMapper* This, |
| CLSID Filter); |
| void __RPC_STUB IFilterMapper_UnregisterFilter_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IFilterMapper_UnregisterFilterInstance_Proxy( |
| IFilterMapper* This, |
| CLSID MRId); |
| void __RPC_STUB IFilterMapper_UnregisterFilterInstance_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IFilterMapper_UnregisterPin_Proxy( |
| IFilterMapper* This, |
| CLSID Filter, |
| LPCWSTR Name); |
| void __RPC_STUB IFilterMapper_UnregisterPin_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IFilterMapper_EnumMatchingFilters_Proxy( |
| IFilterMapper* This, |
| IEnumRegFilters** ppEnum, |
| DWORD dwMerit, |
| BOOL bInputNeeded, |
| CLSID clsInMaj, |
| CLSID clsInSub, |
| BOOL bRender, |
| BOOL bOututNeeded, |
| CLSID clsOutMaj, |
| CLSID clsOutSub); |
| void __RPC_STUB IFilterMapper_EnumMatchingFilters_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #endif /* __IFilterMapper_INTERFACE_DEFINED__ */ |
| |
| typedef struct { |
| const CLSID *clsMajorType; |
| const CLSID *clsMinorType; |
| } REGPINTYPES; |
| |
| typedef struct { |
| LPWSTR strName; |
| BOOL bRendered; |
| BOOL bOutput; |
| BOOL bZero; |
| BOOL bMany; |
| const CLSID *clsConnectsToFilter; |
| const WCHAR *strConnectsToPin; |
| UINT nMediaTypes; |
| const REGPINTYPES *lpMediaType; |
| } REGFILTERPINS; |
| |
| typedef struct { |
| CLSID clsMedium; |
| DWORD dw1; |
| DWORD dw2; |
| } REGPINMEDIUM; |
| |
| enum { |
| REG_PINFLAG_B_ZERO = 0x1, |
| REG_PINFLAG_B_RENDERER = 0x2, |
| REG_PINFLAG_B_MANY = 0x4, |
| REG_PINFLAG_B_OUTPUT = 0x8 |
| }; |
| |
| typedef struct { |
| DWORD dwFlags; |
| UINT cInstances; |
| UINT nMediaTypes; |
| const REGPINTYPES *lpMediaType; |
| UINT nMediums; |
| const REGPINMEDIUM *lpMedium; |
| const CLSID *clsPinCategory; |
| } REGFILTERPINS2; |
| |
| typedef struct { |
| DWORD dwVersion; |
| DWORD dwMerit; |
| union { |
| struct { |
| ULONG cPins; |
| const REGFILTERPINS *rgPins; |
| } DUMMYSTRUCTNAME; |
| struct { |
| ULONG cPins2; |
| const REGFILTERPINS2 *rgPins2; |
| } DUMMYSTRUCTNAME1; |
| } DUMMYUNIONNAME; |
| } REGFILTER2; |
| |
| /***************************************************************************** |
| * IFilterMapper2 interface |
| */ |
| #ifndef __IFilterMapper2_INTERFACE_DEFINED__ |
| #define __IFilterMapper2_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IFilterMapper2, 0xb79bb0b0, 0x33c1, 0x11d1, 0xab,0xe1, 0x00,0xa0,0xc9,0x05,0xf3,0x75); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IFilterMapper2 : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE CreateCategory( |
| REFCLSID clsidCategory, |
| DWORD dwCategoryMerit, |
| LPCWSTR Description) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE UnregisterFilter( |
| const CLSID* pclsidCategory, |
| const OLECHAR* szInstance, |
| REFCLSID Filter) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE RegisterFilter( |
| REFCLSID clsidFilter, |
| LPCWSTR Name, |
| IMoniker** ppMoniker, |
| const CLSID* pclsidCategory, |
| const OLECHAR* szInstance, |
| const REGFILTER2* prf2) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE EnumMatchingFilters( |
| IEnumMoniker** ppEnum, |
| DWORD dwFlags, |
| BOOL bExactMatch, |
| DWORD dwMerit, |
| BOOL bInputNeeded, |
| DWORD cInputTypes, |
| const GUID* pInputTypes, |
| const REGPINMEDIUM* pMedIn, |
| const CLSID* pPinCategoryIn, |
| BOOL bRender, |
| BOOL bOutputNeeded, |
| DWORD cOutputTypes, |
| const GUID* pOutputTypes, |
| const REGPINMEDIUM* pMedOut, |
| const CLSID* pPinCategoryOut) = 0; |
| |
| }; |
| #else |
| typedef struct IFilterMapper2Vtbl IFilterMapper2Vtbl; |
| struct IFilterMapper2 { |
| const IFilterMapper2Vtbl* lpVtbl; |
| }; |
| struct IFilterMapper2Vtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IFilterMapper2* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IFilterMapper2* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IFilterMapper2* This); |
| |
| /*** IFilterMapper2 methods ***/ |
| HRESULT (STDMETHODCALLTYPE *CreateCategory)( |
| IFilterMapper2* This, |
| REFCLSID clsidCategory, |
| DWORD dwCategoryMerit, |
| LPCWSTR Description); |
| |
| HRESULT (STDMETHODCALLTYPE *UnregisterFilter)( |
| IFilterMapper2* This, |
| const CLSID* pclsidCategory, |
| const OLECHAR* szInstance, |
| REFCLSID Filter); |
| |
| HRESULT (STDMETHODCALLTYPE *RegisterFilter)( |
| IFilterMapper2* This, |
| REFCLSID clsidFilter, |
| LPCWSTR Name, |
| IMoniker** ppMoniker, |
| const CLSID* pclsidCategory, |
| const OLECHAR* szInstance, |
| const REGFILTER2* prf2); |
| |
| HRESULT (STDMETHODCALLTYPE *EnumMatchingFilters)( |
| IFilterMapper2* This, |
| IEnumMoniker** ppEnum, |
| DWORD dwFlags, |
| BOOL bExactMatch, |
| DWORD dwMerit, |
| BOOL bInputNeeded, |
| DWORD cInputTypes, |
| const GUID* pInputTypes, |
| const REGPINMEDIUM* pMedIn, |
| const CLSID* pPinCategoryIn, |
| BOOL bRender, |
| BOOL bOutputNeeded, |
| DWORD cOutputTypes, |
| const GUID* pOutputTypes, |
| const REGPINMEDIUM* pMedOut, |
| const CLSID* pPinCategoryOut); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IFilterMapper2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IFilterMapper2_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IFilterMapper2_Release(p) (p)->lpVtbl->Release(p) |
| /*** IFilterMapper2 methods ***/ |
| #define IFilterMapper2_CreateCategory(p,a,b,c) (p)->lpVtbl->CreateCategory(p,a,b,c) |
| #define IFilterMapper2_UnregisterFilter(p,a,b,c) (p)->lpVtbl->UnregisterFilter(p,a,b,c) |
| #define IFilterMapper2_RegisterFilter(p,a,b,c,d,e,f) (p)->lpVtbl->RegisterFilter(p,a,b,c,d,e,f) |
| #define IFilterMapper2_EnumMatchingFilters(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) (p)->lpVtbl->EnumMatchingFilters(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) |
| |
| #endif |
| |
| #define IFilterMapper2_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IFilterMapper2 methods ***/ \ |
| STDMETHOD_(HRESULT,CreateCategory)(THIS_ REFCLSID clsidCategory, DWORD dwCategoryMerit, LPCWSTR Description) PURE; \ |
| STDMETHOD_(HRESULT,UnregisterFilter)(THIS_ const CLSID* pclsidCategory, const OLECHAR* szInstance, REFCLSID Filter) PURE; \ |
| STDMETHOD_(HRESULT,RegisterFilter)(THIS_ REFCLSID clsidFilter, LPCWSTR Name, IMoniker** ppMoniker, const CLSID* pclsidCategory, const OLECHAR* szInstance, const REGFILTER2* prf2) PURE; \ |
| STDMETHOD_(HRESULT,EnumMatchingFilters)(THIS_ IEnumMoniker** ppEnum, DWORD dwFlags, BOOL bExactMatch, DWORD dwMerit, BOOL bInputNeeded, DWORD cInputTypes, const GUID* pInputTypes, const REGPINMEDIUM* pMedIn, const CLSID* pPinCategoryIn, BOOL bRender, BOOL bOutputNeeded, DWORD cOutputTypes, const GUID* pOutputTypes, const REGPINMEDIUM* pMedOut, const CLSID* pPinCategoryOut) PURE; |
| |
| HRESULT CALLBACK IFilterMapper2_CreateCategory_Proxy( |
| IFilterMapper2* This, |
| REFCLSID clsidCategory, |
| DWORD dwCategoryMerit, |
| LPCWSTR Description); |
| void __RPC_STUB IFilterMapper2_CreateCategory_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IFilterMapper2_UnregisterFilter_Proxy( |
| IFilterMapper2* This, |
| const CLSID* pclsidCategory, |
| const OLECHAR* szInstance, |
| REFCLSID Filter); |
| void __RPC_STUB IFilterMapper2_UnregisterFilter_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IFilterMapper2_RegisterFilter_Proxy( |
| IFilterMapper2* This, |
| REFCLSID clsidFilter, |
| LPCWSTR Name, |
| IMoniker** ppMoniker, |
| const CLSID* pclsidCategory, |
| const OLECHAR* szInstance, |
| const REGFILTER2* prf2); |
| void __RPC_STUB IFilterMapper2_RegisterFilter_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IFilterMapper2_EnumMatchingFilters_Proxy( |
| IFilterMapper2* This, |
| IEnumMoniker** ppEnum, |
| DWORD dwFlags, |
| BOOL bExactMatch, |
| DWORD dwMerit, |
| BOOL bInputNeeded, |
| DWORD cInputTypes, |
| const GUID* pInputTypes, |
| const REGPINMEDIUM* pMedIn, |
| const CLSID* pPinCategoryIn, |
| BOOL bRender, |
| BOOL bOutputNeeded, |
| DWORD cOutputTypes, |
| const GUID* pOutputTypes, |
| const REGPINMEDIUM* pMedOut, |
| const CLSID* pPinCategoryOut); |
| void __RPC_STUB IFilterMapper2_EnumMatchingFilters_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #endif /* __IFilterMapper2_INTERFACE_DEFINED__ */ |
| |
| #ifndef __IFilterMapper3_FWD_DEFINED__ |
| #define __IFilterMapper3_FWD_DEFINED__ |
| typedef struct IFilterMapper3 IFilterMapper3; |
| #endif |
| |
| /***************************************************************************** |
| * IFilterMapper3 interface |
| */ |
| #ifndef __IFilterMapper3_INTERFACE_DEFINED__ |
| #define __IFilterMapper3_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IFilterMapper3, 0xb79bb0b1, 0x33c1, 0x11d1, 0xab,0xe1, 0x00,0xa0,0xc9,0x05,0xf3,0x75); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IFilterMapper3 : public IFilterMapper2 |
| { |
| virtual HRESULT STDMETHODCALLTYPE GetICreateDevEnum( |
| ICreateDevEnum** ppEnum) = 0; |
| |
| }; |
| #else |
| typedef struct IFilterMapper3Vtbl IFilterMapper3Vtbl; |
| struct IFilterMapper3 { |
| const IFilterMapper3Vtbl* lpVtbl; |
| }; |
| struct IFilterMapper3Vtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IFilterMapper3* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IFilterMapper3* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IFilterMapper3* This); |
| |
| /*** IFilterMapper2 methods ***/ |
| HRESULT (STDMETHODCALLTYPE *CreateCategory)( |
| IFilterMapper3* This, |
| REFCLSID clsidCategory, |
| DWORD dwCategoryMerit, |
| LPCWSTR Description); |
| |
| HRESULT (STDMETHODCALLTYPE *UnregisterFilter)( |
| IFilterMapper3* This, |
| const CLSID* pclsidCategory, |
| const OLECHAR* szInstance, |
| REFCLSID Filter); |
| |
| HRESULT (STDMETHODCALLTYPE *RegisterFilter)( |
| IFilterMapper3* This, |
| REFCLSID clsidFilter, |
| LPCWSTR Name, |
| IMoniker** ppMoniker, |
| const CLSID* pclsidCategory, |
| const OLECHAR* szInstance, |
| const REGFILTER2* prf2); |
| |
| HRESULT (STDMETHODCALLTYPE *EnumMatchingFilters)( |
| IFilterMapper3* This, |
| IEnumMoniker** ppEnum, |
| DWORD dwFlags, |
| BOOL bExactMatch, |
| DWORD dwMerit, |
| BOOL bInputNeeded, |
| DWORD cInputTypes, |
| const GUID* pInputTypes, |
| const REGPINMEDIUM* pMedIn, |
| const CLSID* pPinCategoryIn, |
| BOOL bRender, |
| BOOL bOutputNeeded, |
| DWORD cOutputTypes, |
| const GUID* pOutputTypes, |
| const REGPINMEDIUM* pMedOut, |
| const CLSID* pPinCategoryOut); |
| |
| /*** IFilterMapper3 methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetICreateDevEnum)( |
| IFilterMapper3* This, |
| ICreateDevEnum** ppEnum); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IFilterMapper3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IFilterMapper3_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IFilterMapper3_Release(p) (p)->lpVtbl->Release(p) |
| /*** IFilterMapper2 methods ***/ |
| #define IFilterMapper3_CreateCategory(p,a,b,c) (p)->lpVtbl->CreateCategory(p,a,b,c) |
| #define IFilterMapper3_UnregisterFilter(p,a,b,c) (p)->lpVtbl->UnregisterFilter(p,a,b,c) |
| #define IFilterMapper3_RegisterFilter(p,a,b,c,d,e,f) (p)->lpVtbl->RegisterFilter(p,a,b,c,d,e,f) |
| #define IFilterMapper3_EnumMatchingFilters(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) (p)->lpVtbl->EnumMatchingFilters(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) |
| /*** IFilterMapper3 methods ***/ |
| #define IFilterMapper3_GetICreateDevEnum(p,a) (p)->lpVtbl->GetICreateDevEnum(p,a) |
| |
| #endif |
| |
| #define IFilterMapper3_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IFilterMapper2 methods ***/ \ |
| STDMETHOD_(HRESULT,CreateCategory)(THIS_ REFCLSID clsidCategory, DWORD dwCategoryMerit, LPCWSTR Description) PURE; \ |
| STDMETHOD_(HRESULT,UnregisterFilter)(THIS_ const CLSID* pclsidCategory, const OLECHAR* szInstance, REFCLSID Filter) PURE; \ |
| STDMETHOD_(HRESULT,RegisterFilter)(THIS_ REFCLSID clsidFilter, LPCWSTR Name, IMoniker** ppMoniker, const CLSID* pclsidCategory, const OLECHAR* szInstance, const REGFILTER2* prf2) PURE; \ |
| STDMETHOD_(HRESULT,EnumMatchingFilters)(THIS_ IEnumMoniker** ppEnum, DWORD dwFlags, BOOL bExactMatch, DWORD dwMerit, BOOL bInputNeeded, DWORD cInputTypes, const GUID* pInputTypes, const REGPINMEDIUM* pMedIn, const CLSID* pPinCategoryIn, BOOL bRender, BOOL bOutputNeeded, DWORD cOutputTypes, const GUID* pOutputTypes, const REGPINMEDIUM* pMedOut, const CLSID* pPinCategoryOut) PURE; \ |
| /*** IFilterMapper3 methods ***/ \ |
| STDMETHOD_(HRESULT,GetICreateDevEnum)(THIS_ ICreateDevEnum** ppEnum) PURE; |
| |
| HRESULT CALLBACK IFilterMapper3_GetICreateDevEnum_Proxy( |
| IFilterMapper3* This, |
| ICreateDevEnum** ppEnum); |
| void __RPC_STUB IFilterMapper3_GetICreateDevEnum_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #endif /* __IFilterMapper3_INTERFACE_DEFINED__ */ |
| |
| typedef enum tagQualityMessageType { |
| Famine, |
| Flood |
| } QualityMessageType; |
| |
| typedef struct tagQuality { |
| QualityMessageType Type; |
| long Proportion; |
| REFERENCE_TIME Late; |
| REFERENCE_TIME TimeStamp; |
| } Quality; |
| |
| typedef IQualityControl *PQUALITYCONTROL; |
| |
| /***************************************************************************** |
| * IQualityControl interface |
| */ |
| #ifndef __IQualityControl_INTERFACE_DEFINED__ |
| #define __IQualityControl_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IQualityControl, 0x56a868a5, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IQualityControl : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE Notify( |
| IBaseFilter* pSelf, |
| Quality q) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetSink( |
| IQualityControl* piqc) = 0; |
| |
| }; |
| #else |
| typedef struct IQualityControlVtbl IQualityControlVtbl; |
| struct IQualityControl { |
| const IQualityControlVtbl* lpVtbl; |
| }; |
| struct IQualityControlVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IQualityControl* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IQualityControl* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IQualityControl* This); |
| |
| /*** IQualityControl methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Notify)( |
| IQualityControl* This, |
| IBaseFilter* pSelf, |
| Quality q); |
| |
| HRESULT (STDMETHODCALLTYPE *SetSink)( |
| IQualityControl* This, |
| IQualityControl* piqc); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IQualityControl_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IQualityControl_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IQualityControl_Release(p) (p)->lpVtbl->Release(p) |
| /*** IQualityControl methods ***/ |
| #define IQualityControl_Notify(p,a,b) (p)->lpVtbl->Notify(p,a,b) |
| #define IQualityControl_SetSink(p,a) (p)->lpVtbl->SetSink(p,a) |
| |
| #endif |
| |
| #define IQualityControl_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IQualityControl methods ***/ \ |
| STDMETHOD_(HRESULT,Notify)(THIS_ IBaseFilter* pSelf, Quality q) PURE; \ |
| STDMETHOD_(HRESULT,SetSink)(THIS_ IQualityControl* piqc) PURE; |
| |
| HRESULT CALLBACK IQualityControl_Notify_Proxy( |
| IQualityControl* This, |
| IBaseFilter* pSelf, |
| Quality q); |
| void __RPC_STUB IQualityControl_Notify_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IQualityControl_SetSink_Proxy( |
| IQualityControl* This, |
| IQualityControl* piqc); |
| void __RPC_STUB IQualityControl_SetSink_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #endif /* __IQualityControl_INTERFACE_DEFINED__ */ |
| |
| enum { |
| CK_NOCOLORKEY = 0x0, |
| CK_INDEX = 0x1, |
| CK_RGB = 0x2 |
| }; |
| |
| typedef struct tagCOLORKEY { |
| DWORD KeyType; |
| DWORD PaletteIndex; |
| COLORREF LowColorValue; |
| COLORREF HighColorValue; |
| } COLORKEY; |
| |
| enum { |
| ADVISE_NONE = 0x0, |
| ADVISE_CLIPPING = 0x1, |
| ADVISE_PALETTE = 0x2, |
| ADVISE_COLORKEY = 0x4, |
| ADVISE_POSITION = 0x8, |
| ADVISE_DISPLAY_CHANGE = 0x10 |
| }; |
| |
| #define ADVISE_ALL (((ADVISE_CLIPPING | ADVISE_PALETTE) | ADVISE_COLORKEY) | ADVISE_POSITION) |
| |
| #define ADVISE_ALL2 (ADVISE_ALL | ADVISE_DISPLAY_CHANGE) |
| |
| #ifndef _WINGDI_ |
| typedef struct _RGNDATAHEADER { |
| DWORD dwSize; |
| DWORD iType; |
| DWORD nCount; |
| DWORD nRgnSize; |
| RECT rcBound; |
| } RGNDATAHEADER; |
| |
| typedef struct _RGNDATA { |
| RGNDATAHEADER rdh; |
| char Buffer[1]; |
| } RGNDATA; |
| |
| #endif /* _WINGDI_ */ |
| /***************************************************************************** |
| * IOverlayNotify interface |
| */ |
| #ifndef __IOverlayNotify_INTERFACE_DEFINED__ |
| #define __IOverlayNotify_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IOverlayNotify, 0x56a868a0, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IOverlayNotify : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE OnPaletteChange( |
| DWORD dwColors, |
| const PALETTEENTRY* pPalette) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE OnClipChange( |
| const RECT* pSourceRect, |
| const RECT* pDestinationRect, |
| const RGNDATA* pRgnData) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE OnColorKeyChange( |
| const COLORKEY* pColorKey) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE OnPositionChange( |
| const RECT* pSourceRect, |
| const RECT* pDestinationRect) = 0; |
| |
| }; |
| #else |
| typedef struct IOverlayNotifyVtbl IOverlayNotifyVtbl; |
| struct IOverlayNotify { |
| const IOverlayNotifyVtbl* lpVtbl; |
| }; |
| struct IOverlayNotifyVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IOverlayNotify* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IOverlayNotify* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IOverlayNotify* This); |
| |
| /*** IOverlayNotify methods ***/ |
| HRESULT (STDMETHODCALLTYPE *OnPaletteChange)( |
| IOverlayNotify* This, |
| DWORD dwColors, |
| const PALETTEENTRY* pPalette); |
| |
| HRESULT (STDMETHODCALLTYPE *OnClipChange)( |
| IOverlayNotify* This, |
| const RECT* pSourceRect, |
| const RECT* pDestinationRect, |
| const RGNDATA* pRgnData); |
| |
| HRESULT (STDMETHODCALLTYPE *OnColorKeyChange)( |
| IOverlayNotify* This, |
| const COLORKEY* pColorKey); |
| |
| HRESULT (STDMETHODCALLTYPE *OnPositionChange)( |
| IOverlayNotify* This, |
| const RECT* pSourceRect, |
| const RECT* pDestinationRect); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IOverlayNotify_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IOverlayNotify_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IOverlayNotify_Release(p) (p)->lpVtbl->Release(p) |
| /*** IOverlayNotify methods ***/ |
| #define IOverlayNotify_OnPaletteChange(p,a,b) (p)->lpVtbl->OnPaletteChange(p,a,b) |
| #define IOverlayNotify_OnClipChange(p,a,b,c) (p)->lpVtbl->OnClipChange(p,a,b,c) |
| #define IOverlayNotify_OnColorKeyChange(p,a) (p)->lpVtbl->OnColorKeyChange(p,a) |
| #define IOverlayNotify_OnPositionChange(p,a,b) (p)->lpVtbl->OnPositionChange(p,a,b) |
| |
| #endif |
| |
| #define IOverlayNotify_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IOverlayNotify methods ***/ \ |
| STDMETHOD_(HRESULT,OnPaletteChange)(THIS_ DWORD dwColors, const PALETTEENTRY* pPalette) PURE; \ |
| STDMETHOD_(HRESULT,OnClipChange)(THIS_ const RECT* pSourceRect, const RECT* pDestinationRect, const RGNDATA* pRgnData) PURE; \ |
| STDMETHOD_(HRESULT,OnColorKeyChange)(THIS_ const COLORKEY* pColorKey) PURE; \ |
| STDMETHOD_(HRESULT,OnPositionChange)(THIS_ const RECT* pSourceRect, const RECT* pDestinationRect) PURE; |
| |
| HRESULT CALLBACK IOverlayNotify_OnPaletteChange_Proxy( |
| IOverlayNotify* This, |
| DWORD dwColors, |
| const PALETTEENTRY* pPalette); |
| void __RPC_STUB IOverlayNotify_OnPaletteChange_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IOverlayNotify_OnClipChange_Proxy( |
| IOverlayNotify* This, |
| const RECT* pSourceRect, |
| const RECT* pDestinationRect, |
| const RGNDATA* pRgnData); |
| void __RPC_STUB IOverlayNotify_OnClipChange_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IOverlayNotify_OnColorKeyChange_Proxy( |
| IOverlayNotify* This, |
| const COLORKEY* pColorKey); |
| void __RPC_STUB IOverlayNotify_OnColorKeyChange_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IOverlayNotify_OnPositionChange_Proxy( |
| IOverlayNotify* This, |
| const RECT* pSourceRect, |
| const RECT* pDestinationRect); |
| void __RPC_STUB IOverlayNotify_OnPositionChange_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #endif /* __IOverlayNotify_INTERFACE_DEFINED__ */ |
| |
| typedef IOverlayNotify *POVERLAYNOTIFY; |
| |
| #if 0 |
| typedef HANDLE HMONITOR; |
| |
| #endif /* 0 */ |
| /***************************************************************************** |
| * IOverlayNotify2 interface |
| */ |
| #ifndef __IOverlayNotify2_INTERFACE_DEFINED__ |
| #define __IOverlayNotify2_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IOverlayNotify2, 0x680efa10, 0xd535, 0x11d1, 0x87,0xc8, 0x00,0xa0,0xc9,0x22,0x31,0x96); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IOverlayNotify2 : public IOverlayNotify |
| { |
| virtual HRESULT STDMETHODCALLTYPE OnDisplayChange( |
| HMONITOR hMonitor) = 0; |
| |
| }; |
| #else |
| typedef struct IOverlayNotify2Vtbl IOverlayNotify2Vtbl; |
| struct IOverlayNotify2 { |
| const IOverlayNotify2Vtbl* lpVtbl; |
| }; |
| struct IOverlayNotify2Vtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IOverlayNotify2* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IOverlayNotify2* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IOverlayNotify2* This); |
| |
| /*** IOverlayNotify methods ***/ |
| HRESULT (STDMETHODCALLTYPE *OnPaletteChange)( |
| IOverlayNotify2* This, |
| DWORD dwColors, |
| const PALETTEENTRY* pPalette); |
| |
| HRESULT (STDMETHODCALLTYPE *OnClipChange)( |
| IOverlayNotify2* This, |
| const RECT* pSourceRect, |
| const RECT* pDestinationRect, |
| const RGNDATA* pRgnData); |
| |
| HRESULT (STDMETHODCALLTYPE *OnColorKeyChange)( |
| IOverlayNotify2* This, |
| const COLORKEY* pColorKey); |
| |
| HRESULT (STDMETHODCALLTYPE *OnPositionChange)( |
| IOverlayNotify2* This, |
| const RECT* pSourceRect, |
| const RECT* pDestinationRect); |
| |
| /*** IOverlayNotify2 methods ***/ |
| HRESULT (STDMETHODCALLTYPE *OnDisplayChange)( |
| IOverlayNotify2* This, |
| HMONITOR hMonitor); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IOverlayNotify2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IOverlayNotify2_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IOverlayNotify2_Release(p) (p)->lpVtbl->Release(p) |
| /*** IOverlayNotify methods ***/ |
| #define IOverlayNotify2_OnPaletteChange(p,a,b) (p)->lpVtbl->OnPaletteChange(p,a,b) |
| #define IOverlayNotify2_OnClipChange(p,a,b,c) (p)->lpVtbl->OnClipChange(p,a,b,c) |
| #define IOverlayNotify2_OnColorKeyChange(p,a) (p)->lpVtbl->OnColorKeyChange(p,a) |
| #define IOverlayNotify2_OnPositionChange(p,a,b) (p)->lpVtbl->OnPositionChange(p,a,b) |
| /*** IOverlayNotify2 methods ***/ |
| #define IOverlayNotify2_OnDisplayChange(p,a) (p)->lpVtbl->OnDisplayChange(p,a) |
| |
| #endif |
| |
| #define IOverlayNotify2_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IOverlayNotify methods ***/ \ |
| STDMETHOD_(HRESULT,OnPaletteChange)(THIS_ DWORD dwColors, const PALETTEENTRY* pPalette) PURE; \ |
| STDMETHOD_(HRESULT,OnClipChange)(THIS_ const RECT* pSourceRect, const RECT* pDestinationRect, const RGNDATA* pRgnData) PURE; \ |
| STDMETHOD_(HRESULT,OnColorKeyChange)(THIS_ const COLORKEY* pColorKey) PURE; \ |
| STDMETHOD_(HRESULT,OnPositionChange)(THIS_ const RECT* pSourceRect, const RECT* pDestinationRect) PURE; \ |
| /*** IOverlayNotify2 methods ***/ \ |
| STDMETHOD_(HRESULT,OnDisplayChange)(THIS_ HMONITOR hMonitor) PURE; |
| |
| HRESULT CALLBACK IOverlayNotify2_OnDisplayChange_Proxy( |
| IOverlayNotify2* This, |
| HMONITOR hMonitor); |
| void __RPC_STUB IOverlayNotify2_OnDisplayChange_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #endif /* __IOverlayNotify2_INTERFACE_DEFINED__ */ |
| |
| typedef IOverlayNotify2 *POVERLAYNOTIFY2; |
| |
| /***************************************************************************** |
| * IOverlay interface |
| */ |
| #ifndef __IOverlay_INTERFACE_DEFINED__ |
| #define __IOverlay_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IOverlay, 0x56a868a1, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IOverlay : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE GetPalette( |
| DWORD* pdwColors, |
| PALETTEENTRY** ppPalette) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetPalette( |
| DWORD dwColors, |
| PALETTEENTRY* pPalette) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetDefaultColorKey( |
| COLORKEY* pColorKey) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetColorKey( |
| COLORKEY* pColorKey) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetColorKey( |
| COLORKEY* pColorKey) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetWindowHandle( |
| HWND* pHwnd) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetClipList( |
| RECT* pSourceRect, |
| RECT* pDestinationRect, |
| RGNDATA** ppRgnData) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetVideoPosition( |
| RECT* pSourceRect, |
| RECT* pDestinationRect) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Advise( |
| IOverlayNotify* pOverlayNotify, |
| DWORD dwInterests) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Unadvise( |
| ) = 0; |
| |
| }; |
| #else |
| typedef struct IOverlayVtbl IOverlayVtbl; |
| struct IOverlay { |
| const IOverlayVtbl* lpVtbl; |
| }; |
| struct IOverlayVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IOverlay* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IOverlay* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IOverlay* This); |
| |
| /*** IOverlay methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetPalette)( |
| IOverlay* This, |
| DWORD* pdwColors, |
| PALETTEENTRY** ppPalette); |
| |
| HRESULT (STDMETHODCALLTYPE *SetPalette)( |
| IOverlay* This, |
| DWORD dwColors, |
| PALETTEENTRY* pPalette); |
| |
| HRESULT (STDMETHODCALLTYPE *GetDefaultColorKey)( |
| IOverlay* This, |
| COLORKEY* pColorKey); |
| |
| HRESULT (STDMETHODCALLTYPE *GetColorKey)( |
| IOverlay* This, |
| COLORKEY* pColorKey); |
| |
| HRESULT (STDMETHODCALLTYPE *SetColorKey)( |
| IOverlay* This, |
| COLORKEY* pColorKey); |
| |
| HRESULT (STDMETHODCALLTYPE *GetWindowHandle)( |
| IOverlay* This, |
| HWND* pHwnd); |
| |
| HRESULT (STDMETHODCALLTYPE *GetClipList)( |
| IOverlay* This, |
| RECT* pSourceRect, |
| RECT* pDestinationRect, |
| RGNDATA** ppRgnData); |
| |
| HRESULT (STDMETHODCALLTYPE *GetVideoPosition)( |
| IOverlay* This, |
| RECT* pSourceRect, |
| RECT* pDestinationRect); |
| |
| HRESULT (STDMETHODCALLTYPE *Advise)( |
| IOverlay* This, |
| IOverlayNotify* pOverlayNotify, |
| DWORD dwInterests); |
| |
| HRESULT (STDMETHODCALLTYPE *Unadvise)( |
| IOverlay* This); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IOverlay_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IOverlay_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IOverlay_Release(p) (p)->lpVtbl->Release(p) |
| /*** IOverlay methods ***/ |
| #define IOverlay_GetPalette(p,a,b) (p)->lpVtbl->GetPalette(p,a,b) |
| #define IOverlay_SetPalette(p,a,b) (p)->lpVtbl->SetPalette(p,a,b) |
| #define IOverlay_GetDefaultColorKey(p,a) (p)->lpVtbl->GetDefaultColorKey(p,a) |
| #define IOverlay_GetColorKey(p,a) (p)->lpVtbl->GetColorKey(p,a) |
| #define IOverlay_SetColorKey(p,a) (p)->lpVtbl->SetColorKey(p,a) |
| #define IOverlay_GetWindowHandle(p,a) (p)->lpVtbl->GetWindowHandle(p,a) |
| #define IOverlay_GetClipList(p,a,b,c) (p)->lpVtbl->GetClipList(p,a,b,c) |
| #define IOverlay_GetVideoPosition(p,a,b) (p)->lpVtbl->GetVideoPosition(p,a,b) |
| #define IOverlay_Advise(p,a,b) (p)->lpVtbl->Advise(p,a,b) |
| #define IOverlay_Unadvise(p) (p)->lpVtbl->Unadvise(p) |
| |
| #endif |
| |
| #define IOverlay_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IOverlay methods ***/ \ |
| STDMETHOD_(HRESULT,GetPalette)(THIS_ DWORD* pdwColors, PALETTEENTRY** ppPalette) PURE; \ |
| STDMETHOD_(HRESULT,SetPalette)(THIS_ DWORD dwColors, PALETTEENTRY* pPalette) PURE; \ |
| STDMETHOD_(HRESULT,GetDefaultColorKey)(THIS_ COLORKEY* pColorKey) PURE; \ |
| STDMETHOD_(HRESULT,GetColorKey)(THIS_ COLORKEY* pColorKey) PURE; \ |
| STDMETHOD_(HRESULT,SetColorKey)(THIS_ COLORKEY* pColorKey) PURE; \ |
| STDMETHOD_(HRESULT,GetWindowHandle)(THIS_ HWND* pHwnd) PURE; \ |
| STDMETHOD_(HRESULT,GetClipList)(THIS_ RECT* pSourceRect, RECT* pDestinationRect, RGNDATA** ppRgnData) PURE; \ |
| STDMETHOD_(HRESULT,GetVideoPosition)(THIS_ RECT* pSourceRect, RECT* pDestinationRect) PURE; \ |
| STDMETHOD_(HRESULT,Advise)(THIS_ IOverlayNotify* pOverlayNotify, DWORD dwInterests) PURE; \ |
| STDMETHOD_(HRESULT,Unadvise)(THIS) PURE; |
| |
| HRESULT CALLBACK IOverlay_GetPalette_Proxy( |
| IOverlay* This, |
| DWORD* pdwColors, |
| PALETTEENTRY** ppPalette); |
| void __RPC_STUB IOverlay_GetPalette_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IOverlay_SetPalette_Proxy( |
| IOverlay* This, |
| DWORD dwColors, |
| PALETTEENTRY* pPalette); |
| void __RPC_STUB IOverlay_SetPalette_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IOverlay_GetDefaultColorKey_Proxy( |
| IOverlay* This, |
| COLORKEY* pColorKey); |
| void __RPC_STUB IOverlay_GetDefaultColorKey_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IOverlay_GetColorKey_Proxy( |
| IOverlay* This, |
| COLORKEY* pColorKey); |
| void __RPC_STUB IOverlay_GetColorKey_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IOverlay_SetColorKey_Proxy( |
| IOverlay* This, |
| COLORKEY* pColorKey); |
| void __RPC_STUB IOverlay_SetColorKey_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IOverlay_GetWindowHandle_Proxy( |
| IOverlay* This, |
| HWND* pHwnd); |
| void __RPC_STUB IOverlay_GetWindowHandle_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IOverlay_GetClipList_Proxy( |
| IOverlay* This, |
| RECT* pSourceRect, |
| RECT* pDestinationRect, |
| RGNDATA** ppRgnData); |
| void __RPC_STUB IOverlay_GetClipList_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IOverlay_GetVideoPosition_Proxy( |
| IOverlay* This, |
| RECT* pSourceRect, |
| RECT* pDestinationRect); |
| void __RPC_STUB IOverlay_GetVideoPosition_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IOverlay_Advise_Proxy( |
| IOverlay* This, |
| IOverlayNotify* pOverlayNotify, |
| DWORD dwInterests); |
| void __RPC_STUB IOverlay_Advise_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IOverlay_Unadvise_Proxy( |
| IOverlay* This); |
| void __RPC_STUB IOverlay_Unadvise_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #endif /* __IOverlay_INTERFACE_DEFINED__ */ |
| |
| typedef IOverlay *POVERLAY; |
| |
| /***************************************************************************** |
| * IMediaEventSink interface |
| */ |
| #ifndef __IMediaEventSink_INTERFACE_DEFINED__ |
| #define __IMediaEventSink_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IMediaEventSink, 0x56a868a2, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IMediaEventSink : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE Notify( |
| long EventCode, |
| LONG_PTR EventParam1, |
| LONG_PTR EventParam2) = 0; |
| |
| }; |
| #else |
| typedef struct IMediaEventSinkVtbl IMediaEventSinkVtbl; |
| struct IMediaEventSink { |
| const IMediaEventSinkVtbl* lpVtbl; |
| }; |
| struct IMediaEventSinkVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IMediaEventSink* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IMediaEventSink* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IMediaEventSink* This); |
| |
| /*** IMediaEventSink methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Notify)( |
| IMediaEventSink* This, |
| long EventCode, |
| LONG_PTR EventParam1, |
| LONG_PTR EventParam2); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IMediaEventSink_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IMediaEventSink_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IMediaEventSink_Release(p) (p)->lpVtbl->Release(p) |
| /*** IMediaEventSink methods ***/ |
| #define IMediaEventSink_Notify(p,a,b,c) (p)->lpVtbl->Notify(p,a,b,c) |
| |
| #endif |
| |
| #define IMediaEventSink_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IMediaEventSink methods ***/ \ |
| STDMETHOD_(HRESULT,Notify)(THIS_ long EventCode, LONG_PTR EventParam1, LONG_PTR EventParam2) PURE; |
| |
| HRESULT CALLBACK IMediaEventSink_Notify_Proxy( |
| IMediaEventSink* This, |
| long EventCode, |
| LONG_PTR EventParam1, |
| LONG_PTR EventParam2); |
| void __RPC_STUB IMediaEventSink_Notify_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #endif /* __IMediaEventSink_INTERFACE_DEFINED__ */ |
| |
| typedef IMediaEventSink *PMEDIAEVENTSINK; |
| |
| /***************************************************************************** |
| * IFileSourceFilter interface |
| */ |
| #ifndef __IFileSourceFilter_INTERFACE_DEFINED__ |
| #define __IFileSourceFilter_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IFileSourceFilter, 0x56a868a6, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IFileSourceFilter : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE Load( |
| LPCOLESTR pszFileName, |
| const AM_MEDIA_TYPE* pmt) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetCurFile( |
| LPOLESTR* ppszFileName, |
| AM_MEDIA_TYPE* pmt) = 0; |
| |
| }; |
| #else |
| typedef struct IFileSourceFilterVtbl IFileSourceFilterVtbl; |
| struct IFileSourceFilter { |
| const IFileSourceFilterVtbl* lpVtbl; |
| }; |
| struct IFileSourceFilterVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IFileSourceFilter* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IFileSourceFilter* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IFileSourceFilter* This); |
| |
| /*** IFileSourceFilter methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Load)( |
| IFileSourceFilter* This, |
| LPCOLESTR pszFileName, |
| const AM_MEDIA_TYPE* pmt); |
| |
| HRESULT (STDMETHODCALLTYPE *GetCurFile)( |
| IFileSourceFilter* This, |
| LPOLESTR* ppszFileName, |
| AM_MEDIA_TYPE* pmt); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IFileSourceFilter_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IFileSourceFilter_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IFileSourceFilter_Release(p) (p)->lpVtbl->Release(p) |
| /*** IFileSourceFilter methods ***/ |
| #define IFileSourceFilter_Load(p,a,b) (p)->lpVtbl->Load(p,a,b) |
| #define IFileSourceFilter_GetCurFile(p,a,b) (p)->lpVtbl->GetCurFile(p,a,b) |
| |
| #endif |
| |
| #define IFileSourceFilter_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IFileSourceFilter methods ***/ \ |
| STDMETHOD_(HRESULT,Load)(THIS_ LPCOLESTR pszFileName, const AM_MEDIA_TYPE* pmt) PURE; \ |
| STDMETHOD_(HRESULT,GetCurFile)(THIS_ LPOLESTR* ppszFileName, AM_MEDIA_TYPE* pmt) PURE; |
| |
| HRESULT CALLBACK IFileSourceFilter_Load_Proxy( |
| IFileSourceFilter* This, |
| LPCOLESTR pszFileName, |
| const AM_MEDIA_TYPE* pmt); |
| void __RPC_STUB IFileSourceFilter_Load_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IFileSourceFilter_GetCurFile_Proxy( |
| IFileSourceFilter* This, |
| LPOLESTR* ppszFileName, |
| AM_MEDIA_TYPE* pmt); |
| void __RPC_STUB IFileSourceFilter_GetCurFile_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #endif /* __IFileSourceFilter_INTERFACE_DEFINED__ */ |
| |
| typedef IFileSourceFilter *PFILTERFILESOURCE; |
| |
| /***************************************************************************** |
| * IFileSinkFilter interface |
| */ |
| #ifndef __IFileSinkFilter_INTERFACE_DEFINED__ |
| #define __IFileSinkFilter_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IFileSinkFilter, 0xa2104830, 0x7c70, 0x11cf, 0x8b,0xce, 0x00,0xaa,0x00,0xa3,0xf1,0xa6); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IFileSinkFilter : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE SetFileName( |
| LPCOLESTR pszFileName, |
| const AM_MEDIA_TYPE* pmt) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetCurFile( |
| LPOLESTR* ppszFileName, |
| AM_MEDIA_TYPE* pmt) = 0; |
| |
| }; |
| #else |
| typedef struct IFileSinkFilterVtbl IFileSinkFilterVtbl; |
| struct IFileSinkFilter { |
| const IFileSinkFilterVtbl* lpVtbl; |
| }; |
| struct IFileSinkFilterVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IFileSinkFilter* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IFileSinkFilter* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IFileSinkFilter* This); |
| |
| /*** IFileSinkFilter methods ***/ |
| HRESULT (STDMETHODCALLTYPE *SetFileName)( |
| IFileSinkFilter* This, |
| LPCOLESTR pszFileName, |
| const AM_MEDIA_TYPE* pmt); |
| |
| HRESULT (STDMETHODCALLTYPE *GetCurFile)( |
| IFileSinkFilter* This, |
| LPOLESTR* ppszFileName, |
| AM_MEDIA_TYPE* pmt); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IFileSinkFilter_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IFileSinkFilter_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IFileSinkFilter_Release(p) (p)->lpVtbl->Release(p) |
| /*** IFileSinkFilter methods ***/ |
| #define IFileSinkFilter_SetFileName(p,a,b) (p)->lpVtbl->SetFileName(p,a,b) |
| #define IFileSinkFilter_GetCurFile(p,a,b) (p)->lpVtbl->GetCurFile(p,a,b) |
| |
| #endif |
| |
| #define IFileSinkFilter_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IFileSinkFilter methods ***/ \ |
| STDMETHOD_(HRESULT,SetFileName)(THIS_ LPCOLESTR pszFileName, const AM_MEDIA_TYPE* pmt) PURE; \ |
| STDMETHOD_(HRESULT,GetCurFile)(THIS_ LPOLESTR* ppszFileName, AM_MEDIA_TYPE* pmt) PURE; |
| |
| HRESULT CALLBACK IFileSinkFilter_SetFileName_Proxy( |
| IFileSinkFilter* This, |
| LPCOLESTR pszFileName, |
| const AM_MEDIA_TYPE* pmt); |
| void __RPC_STUB IFileSinkFilter_SetFileName_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IFileSinkFilter_GetCurFile_Proxy( |
| IFileSinkFilter* This, |
| LPOLESTR* ppszFileName, |
| AM_MEDIA_TYPE* pmt); |
| void __RPC_STUB IFileSinkFilter_GetCurFile_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #endif /* __IFileSinkFilter_INTERFACE_DEFINED__ */ |
| |
| typedef IFileSinkFilter *PFILTERFILESINK; |
| |
| /***************************************************************************** |
| * IFileSinkFilter2 interface |
| */ |
| #ifndef __IFileSinkFilter2_INTERFACE_DEFINED__ |
| #define __IFileSinkFilter2_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IFileSinkFilter2, 0x00855b90, 0xce1b, 0x11d0, 0xbd,0x4f, 0x00,0xa0,0xc9,0x11,0xce,0x86); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IFileSinkFilter2 : public IFileSinkFilter |
| { |
| virtual HRESULT STDMETHODCALLTYPE SetMode( |
| DWORD dwFlags) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetMode( |
| DWORD* pdwFlags) = 0; |
| |
| }; |
| #else |
| typedef struct IFileSinkFilter2Vtbl IFileSinkFilter2Vtbl; |
| struct IFileSinkFilter2 { |
| const IFileSinkFilter2Vtbl* lpVtbl; |
| }; |
| struct IFileSinkFilter2Vtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IFileSinkFilter2* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IFileSinkFilter2* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IFileSinkFilter2* This); |
| |
| /*** IFileSinkFilter methods ***/ |
| HRESULT (STDMETHODCALLTYPE *SetFileName)( |
| IFileSinkFilter2* This, |
| LPCOLESTR pszFileName, |
| const AM_MEDIA_TYPE* pmt); |
| |
| HRESULT (STDMETHODCALLTYPE *GetCurFile)( |
| IFileSinkFilter2* This, |
| LPOLESTR* ppszFileName, |
| AM_MEDIA_TYPE* pmt); |
| |
| /*** IFileSinkFilter2 methods ***/ |
| HRESULT (STDMETHODCALLTYPE *SetMode)( |
| IFileSinkFilter2* This, |
| DWORD dwFlags); |
| |
| HRESULT (STDMETHODCALLTYPE *GetMode)( |
| IFileSinkFilter2* This, |
| DWORD* pdwFlags); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IFileSinkFilter2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IFileSinkFilter2_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IFileSinkFilter2_Release(p) (p)->lpVtbl->Release(p) |
| /*** IFileSinkFilter methods ***/ |
| #define IFileSinkFilter2_SetFileName(p,a,b) (p)->lpVtbl->SetFileName(p,a,b) |
| #define IFileSinkFilter2_GetCurFile(p,a,b) (p)->lpVtbl->GetCurFile(p,a,b) |
| /*** IFileSinkFilter2 methods ***/ |
| #define IFileSinkFilter2_SetMode(p,a) (p)->lpVtbl->SetMode(p,a) |
| #define IFileSinkFilter2_GetMode(p,a) (p)->lpVtbl->GetMode(p,a) |
| |
| #endif |
| |
| #define IFileSinkFilter2_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IFileSinkFilter methods ***/ \ |
| STDMETHOD_(HRESULT,SetFileName)(THIS_ LPCOLESTR pszFileName, const AM_MEDIA_TYPE* pmt) PURE; \ |
| STDMETHOD_(HRESULT,GetCurFile)(THIS_ LPOLESTR* ppszFileName, AM_MEDIA_TYPE* pmt) PURE; \ |
| /*** IFileSinkFilter2 methods ***/ \ |
| STDMETHOD_(HRESULT,SetMode)(THIS_ DWORD dwFlags) PURE; \ |
| STDMETHOD_(HRESULT,GetMode)(THIS_ DWORD* pdwFlags) PURE; |
| |
| HRESULT CALLBACK IFileSinkFilter2_SetMode_Proxy( |
| IFileSinkFilter2* This, |
| DWORD dwFlags); |
| void __RPC_STUB IFileSinkFilter2_SetMode_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IFileSinkFilter2_GetMode_Proxy( |
| IFileSinkFilter2* This, |
| DWORD* pdwFlags); |
| void __RPC_STUB IFileSinkFilter2_GetMode_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #endif /* __IFileSinkFilter2_INTERFACE_DEFINED__ */ |
| |
| typedef IFileSinkFilter2 *PFILESINKFILTER2; |
| |
| typedef enum { |
| AM_FILE_OVERWRITE = 0x1 |
| } AM_FILESINK_FLAGS; |
| |
| /***************************************************************************** |
| * IGraphBuilder interface |
| */ |
| #ifndef __IGraphBuilder_INTERFACE_DEFINED__ |
| #define __IGraphBuilder_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IGraphBuilder, 0x56a868a9, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IGraphBuilder : public IFilterGraph |
| { |
| virtual HRESULT STDMETHODCALLTYPE Connect( |
| IPin* ppinOut, |
| IPin* ppinIn) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Render( |
| IPin* ppinOut) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE RenderFile( |
| LPCWSTR lpcwstrFile, |
| LPCWSTR lpcwstrPlayList) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE AddSourceFilter( |
| LPCWSTR lpcwstrFileName, |
| LPCWSTR lpcwstrFilterName, |
| IBaseFilter** ppFilter) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetLogFile( |
| DWORD_PTR hFile) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Abort( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE ShouldOperationContinue( |
| ) = 0; |
| |
| }; |
| #else |
| typedef struct IGraphBuilderVtbl IGraphBuilderVtbl; |
| struct IGraphBuilder { |
| const IGraphBuilderVtbl* lpVtbl; |
| }; |
| struct IGraphBuilderVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IGraphBuilder* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IGraphBuilder* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IGraphBuilder* This); |
| |
| /*** IFilterGraph methods ***/ |
| HRESULT (STDMETHODCALLTYPE *AddFilter)( |
| IGraphBuilder* This, |
| IBaseFilter* pFilter, |
| LPCWSTR pName); |
| |
| HRESULT (STDMETHODCALLTYPE *RemoveFilter)( |
| IGraphBuilder* This, |
| IBaseFilter* pFilter); |
| |
| HRESULT (STDMETHODCALLTYPE *EnumFilters)( |
| IGraphBuilder* This, |
| IEnumFilters** ppEnum); |
| |
| HRESULT (STDMETHODCALLTYPE *FindFilterByName)( |
| IGraphBuilder* This, |
| LPCWSTR pName, |
| IBaseFilter** ppFilter); |
| |
| HRESULT (STDMETHODCALLTYPE *ConnectDirect)( |
| IGraphBuilder* This, |
| IPin* ppinOut, |
| IPin* ppinIn, |
| const AM_MEDIA_TYPE* pmt); |
| |
| HRESULT (STDMETHODCALLTYPE *Reconnect)( |
| IGraphBuilder* This, |
| IPin* ppin); |
| |
| HRESULT (STDMETHODCALLTYPE *Disconnect)( |
| IGraphBuilder* This, |
| IPin* ppin); |
| |
| HRESULT (STDMETHODCALLTYPE *SetDefaultSyncSource)( |
| IGraphBuilder* This); |
| |
| /*** IGraphBuilder methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Connect)( |
| IGraphBuilder* This, |
| IPin* ppinOut, |
| IPin* ppinIn); |
| |
| HRESULT (STDMETHODCALLTYPE *Render)( |
| IGraphBuilder* This, |
| IPin* ppinOut); |
| |
| HRESULT (STDMETHODCALLTYPE *RenderFile)( |
| IGraphBuilder* This, |
| LPCWSTR lpcwstrFile, |
| LPCWSTR lpcwstrPlayList); |
| |
| HRESULT (STDMETHODCALLTYPE *AddSourceFilter)( |
| IGraphBuilder* This, |
| LPCWSTR lpcwstrFileName, |
| LPCWSTR lpcwstrFilterName, |
| IBaseFilter** ppFilter); |
| |
| HRESULT (STDMETHODCALLTYPE *SetLogFile)( |
| IGraphBuilder* This, |
| DWORD_PTR hFile); |
| |
| HRESULT (STDMETHODCALLTYPE *Abort)( |
| IGraphBuilder* This); |
| |
| HRESULT (STDMETHODCALLTYPE *ShouldOperationContinue)( |
| IGraphBuilder* This); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IGraphBuilder_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IGraphBuilder_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IGraphBuilder_Release(p) (p)->lpVtbl->Release(p) |
| /*** IFilterGraph methods ***/ |
| #define IGraphBuilder_AddFilter(p,a,b) (p)->lpVtbl->AddFilter(p,a,b) |
| #define IGraphBuilder_RemoveFilter(p,a) (p)->lpVtbl->RemoveFilter(p,a) |
| #define IGraphBuilder_EnumFilters(p,a) (p)->lpVtbl->EnumFilters(p,a) |
| #define IGraphBuilder_FindFilterByName(p,a,b) (p)->lpVtbl->FindFilterByName(p,a,b) |
| #define IGraphBuilder_ConnectDirect(p,a,b,c) (p)->lpVtbl->ConnectDirect(p,a,b,c) |
| #define IGraphBuilder_Reconnect(p,a) (p)->lpVtbl->Reconnect(p,a) |
| #define IGraphBuilder_Disconnect(p,a) (p)->lpVtbl->Disconnect(p,a) |
| #define IGraphBuilder_SetDefaultSyncSource(p) (p)->lpVtbl->SetDefaultSyncSource(p) |
| /*** IGraphBuilder methods ***/ |
| #define IGraphBuilder_Connect(p,a,b) (p)->lpVtbl->Connect(p,a,b) |
| #define IGraphBuilder_Render(p,a) (p)->lpVtbl->Render(p,a) |
| #define IGraphBuilder_RenderFile(p,a,b) (p)->lpVtbl->RenderFile(p,a,b) |
| #define IGraphBuilder_AddSourceFilter(p,a,b,c) (p)->lpVtbl->AddSourceFilter(p,a,b,c) |
| #define IGraphBuilder_SetLogFile(p,a) (p)->lpVtbl->SetLogFile(p,a) |
| #define IGraphBuilder_Abort(p) (p)->lpVtbl->Abort(p) |
| #define IGraphBuilder_ShouldOperationContinue(p) (p)->lpVtbl->ShouldOperationContinue(p) |
| |
| #endif |
| |
| #define IGraphBuilder_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IFilterGraph methods ***/ \ |
| STDMETHOD_(HRESULT,AddFilter)(THIS_ IBaseFilter* pFilter, LPCWSTR pName) PURE; \ |
| STDMETHOD_(HRESULT,RemoveFilter)(THIS_ IBaseFilter* pFilter) PURE; \ |
| STDMETHOD_(HRESULT,EnumFilters)(THIS_ IEnumFilters** ppEnum) PURE; \ |
| STDMETHOD_(HRESULT,FindFilterByName)(THIS_ LPCWSTR pName, IBaseFilter** ppFilter) PURE; \ |
| STDMETHOD_(HRESULT,ConnectDirect)(THIS_ IPin* ppinOut, IPin* ppinIn, const AM_MEDIA_TYPE* pmt) PURE; \ |
| STDMETHOD_(HRESULT,Reconnect)(THIS_ IPin* ppin) PURE; \ |
| STDMETHOD_(HRESULT,Disconnect)(THIS_ IPin* ppin) PURE; \ |
| STDMETHOD_(HRESULT,SetDefaultSyncSource)(THIS) PURE; \ |
| /*** IGraphBuilder methods ***/ \ |
| STDMETHOD_(HRESULT,Connect)(THIS_ IPin* ppinOut, IPin* ppinIn) PURE; \ |
| STDMETHOD_(HRESULT,Render)(THIS_ IPin* ppinOut) PURE; \ |
| STDMETHOD_(HRESULT,RenderFile)(THIS_ LPCWSTR lpcwstrFile, LPCWSTR lpcwstrPlayList) PURE; \ |
| STDMETHOD_(HRESULT,AddSourceFilter)(THIS_ LPCWSTR lpcwstrFileName, LPCWSTR lpcwstrFilterName, IBaseFilter** ppFilter) PURE; \ |
| STDMETHOD_(HRESULT,SetLogFile)(THIS_ DWORD_PTR hFile) PURE; \ |
| STDMETHOD_(HRESULT,Abort)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,ShouldOperationContinue)(THIS) PURE; |
| |
| HRESULT CALLBACK IGraphBuilder_Connect_Proxy( |
| IGraphBuilder* This, |
| IPin* ppinOut, |
| IPin* ppinIn); |
| void __RPC_STUB IGraphBuilder_Connect_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IGraphBuilder_Render_Proxy( |
| IGraphBuilder* This, |
| IPin* ppinOut); |
| void __RPC_STUB IGraphBuilder_Render_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IGraphBuilder_RenderFile_Proxy( |
| IGraphBuilder* This, |
| LPCWSTR lpcwstrFile, |
| LPCWSTR lpcwstrPlayList); |
| void __RPC_STUB IGraphBuilder_RenderFile_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IGraphBuilder_AddSourceFilter_Proxy( |
| IGraphBuilder* This, |
| LPCWSTR lpcwstrFileName, |
| LPCWSTR lpcwstrFilterName, |
| IBaseFilter** ppFilter); |
| void __RPC_STUB IGraphBuilder_AddSourceFilter_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IGraphBuilder_SetLogFile_Proxy( |
| IGraphBuilder* This, |
| DWORD_PTR hFile); |
| void __RPC_STUB IGraphBuilder_SetLogFile_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IGraphBuilder_Abort_Proxy( |
| IGraphBuilder* This); |
| void __RPC_STUB IGraphBuilder_Abort_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IGraphBuilder_ShouldOperationContinue_Proxy( |
| IGraphBuilder* This); |
| void __RPC_STUB IGraphBuilder_ShouldOperationContinue_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #endif /* __IGraphBuilder_INTERFACE_DEFINED__ */ |
| |
| /***************************************************************************** |
| * ICaptureGraphBuilder interface |
| */ |
| #ifndef __ICaptureGraphBuilder_INTERFACE_DEFINED__ |
| #define __ICaptureGraphBuilder_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_ICaptureGraphBuilder, 0xbf87b6e0, 0x8c27, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct ICaptureGraphBuilder : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE SetFiltergraph( |
| IGraphBuilder* pfg) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetFiltergraph( |
| IGraphBuilder** ppfg) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetOutputFileName( |
| const GUID* pType, |
| LPCOLESTR lpstrFile, |
| IBaseFilter** ppf, |
| IFileSinkFilter** ppSink) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE FindInterface( |
| const GUID* pCategory, |
| IBaseFilter* pf, |
| REFIID riid, |
| void** ppint) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE RenderStream( |
| const GUID* pCategory, |
| IUnknown* pSource, |
| IBaseFilter* pfCompressor, |
| IBaseFilter* pfRenderer) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE ControlStream( |
| const GUID* pCategory, |
| IBaseFilter* pFilter, |
| REFERENCE_TIME* pstart, |
| REFERENCE_TIME* pstop, |
| WORD wStartCookie, |
| WORD wStopCookie) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE AllocCapFile( |
| LPCOLESTR lpstr, |
| DWORDLONG dwlSize) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE CopyCaptureFile( |
| LPOLESTR lpwstrOld, |
| LPOLESTR lpwstrNew, |
| int fAllowEscAbort, |
| IAMCopyCaptureFileProgress* pCallback) = 0; |
| |
| }; |
| #else |
| typedef struct ICaptureGraphBuilderVtbl ICaptureGraphBuilderVtbl; |
| struct ICaptureGraphBuilder { |
| const ICaptureGraphBuilderVtbl* lpVtbl; |
| }; |
| struct ICaptureGraphBuilderVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| ICaptureGraphBuilder* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| ICaptureGraphBuilder* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| ICaptureGraphBuilder* This); |
| |
| /*** ICaptureGraphBuilder methods ***/ |
| HRESULT (STDMETHODCALLTYPE *SetFiltergraph)( |
| ICaptureGraphBuilder* This, |
| IGraphBuilder* pfg); |
| |
| HRESULT (STDMETHODCALLTYPE *GetFiltergraph)( |
| ICaptureGraphBuilder* This, |
| IGraphBuilder** ppfg); |
| |
| HRESULT (STDMETHODCALLTYPE *SetOutputFileName)( |
| ICaptureGraphBuilder* This, |
| const GUID* pType, |
| LPCOLESTR lpstrFile, |
| IBaseFilter** ppf, |
| IFileSinkFilter** ppSink); |
| |
| HRESULT (STDMETHODCALLTYPE *FindInterface)( |
| ICaptureGraphBuilder* This, |
| const GUID* pCategory, |
| IBaseFilter* pf, |
| REFIID riid, |
| void** ppint); |
| |
| HRESULT (STDMETHODCALLTYPE *RenderStream)( |
| ICaptureGraphBuilder* This, |
| const GUID* pCategory, |
| IUnknown* pSource, |
| IBaseFilter* pfCompressor, |
| IBaseFilter* pfRenderer); |
| |
| HRESULT (STDMETHODCALLTYPE *ControlStream)( |
| ICaptureGraphBuilder* This, |
| const GUID* pCategory, |
| IBaseFilter* pFilter, |
| REFERENCE_TIME* pstart, |
| REFERENCE_TIME* pstop, |
| WORD wStartCookie, |
| WORD wStopCookie); |
| |
| HRESULT (STDMETHODCALLTYPE *AllocCapFile)( |
| ICaptureGraphBuilder* This, |
| LPCOLESTR lpstr, |
| DWORDLONG dwlSize); |
| |
| HRESULT (STDMETHODCALLTYPE *CopyCaptureFile)( |
| ICaptureGraphBuilder* This, |
| LPOLESTR lpwstrOld, |
| LPOLESTR lpwstrNew, |
| int fAllowEscAbort, |
| IAMCopyCaptureFileProgress* pCallback); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define ICaptureGraphBuilder_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define ICaptureGraphBuilder_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define ICaptureGraphBuilder_Release(p) (p)->lpVtbl->Release(p) |
| /*** ICaptureGraphBuilder methods ***/ |
| #define ICaptureGraphBuilder_SetFiltergraph(p,a) (p)->lpVtbl->SetFiltergraph(p,a) |
| #define ICaptureGraphBuilder_GetFiltergraph(p,a) (p)->lpVtbl->GetFiltergraph(p,a) |
| #define ICaptureGraphBuilder_SetOutputFileName(p,a,b,c,d) (p)->lpVtbl->SetOutputFileName(p,a,b,c,d) |
| #define ICaptureGraphBuilder_FindInterface(p,a,b,c,d) (p)->lpVtbl->FindInterface(p,a,b,c,d) |
| #define ICaptureGraphBuilder_RenderStream(p,a,b,c,d) (p)->lpVtbl->RenderStream(p,a,b,c,d) |
| #define ICaptureGraphBuilder_ControlStream(p,a,b,c,d,e,f) (p)->lpVtbl->ControlStream(p,a,b,c,d,e,f) |
| #define ICaptureGraphBuilder_AllocCapFile(p,a,b) (p)->lpVtbl->AllocCapFile(p,a,b) |
| #define ICaptureGraphBuilder_CopyCaptureFile(p,a,b,c,d) (p)->lpVtbl->CopyCaptureFile(p,a,b,c,d) |
| |
| #endif |
| |
| #define ICaptureGraphBuilder_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** ICaptureGraphBuilder methods ***/ \ |
| STDMETHOD_(HRESULT,SetFiltergraph)(THIS_ IGraphBuilder* pfg) PURE; \ |
| STDMETHOD_(HRESULT,GetFiltergraph)(THIS_ IGraphBuilder** ppfg) PURE; \ |
| STDMETHOD_(HRESULT,SetOutputFileName)(THIS_ const GUID* pType, LPCOLESTR lpstrFile, IBaseFilter** ppf, IFileSinkFilter** ppSink) PURE; \ |
| STDMETHOD_(HRESULT,FindInterface)(THIS_ const GUID* pCategory, IBaseFilter* pf, REFIID riid, void** ppint) PURE; \ |
| STDMETHOD_(HRESULT,RenderStream)(THIS_ const GUID* pCategory, IUnknown* pSource, IBaseFilter* pfCompressor, IBaseFilter* pfRenderer) PURE; \ |
| STDMETHOD_(HRESULT,ControlStream)(THIS_ const GUID* pCategory, IBaseFilter* pFilter, REFERENCE_TIME* pstart, REFERENCE_TIME* pstop, WORD wStartCookie, WORD wStopCookie) PURE; \ |
| STDMETHOD_(HRESULT,AllocCapFile)(THIS_ LPCOLESTR lpstr, DWORDLONG dwlSize) PURE; \ |
| STDMETHOD_(HRESULT,CopyCaptureFile)(THIS_ LPOLESTR lpwstrOld, LPOLESTR lpwstrNew, int fAllowEscAbort, IAMCopyCaptureFileProgress* pCallback) PURE; |
| |
| HRESULT CALLBACK ICaptureGraphBuilder_SetFiltergraph_Proxy( |
| ICaptureGraphBuilder* This, |
| IGraphBuilder* pfg); |
| void __RPC_STUB ICaptureGraphBuilder_SetFiltergraph_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK ICaptureGraphBuilder_GetFiltergraph_Proxy( |
| ICaptureGraphBuilder* This, |
| IGraphBuilder** ppfg); |
| void __RPC_STUB ICaptureGraphBuilder_GetFiltergraph_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK ICaptureGraphBuilder_SetOutputFileName_Proxy( |
| ICaptureGraphBuilder* This, |
| const GUID* pType, |
| LPCOLESTR lpstrFile, |
| IBaseFilter** ppf, |
| IFileSinkFilter** ppSink); |
| void __RPC_STUB ICaptureGraphBuilder_SetOutputFileName_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK ICaptureGraphBuilder_RemoteFindInterface_Proxy( |
| ICaptureGraphBuilder* This, |
| const GUID* pCategory, |
| IBaseFilter* pf, |
| REFIID riid, |
| IUnknown** ppint); |
| void __RPC_STUB ICaptureGraphBuilder_RemoteFindInterface_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK ICaptureGraphBuilder_FindInterface_Proxy( |
| ICaptureGraphBuilder* This, |
| const GUID* pCategory, |
| IBaseFilter* pf, |
| REFIID riid, |
| void** ppint); |
| HRESULT __RPC_STUB ICaptureGraphBuilder_FindInterface_Stub( |
| ICaptureGraphBuilder* This, |
| const GUID* pCategory, |
| IBaseFilter* pf, |
| REFIID riid, |
| IUnknown** ppint); |
| HRESULT CALLBACK ICaptureGraphBuilder_RenderStream_Proxy( |
| ICaptureGraphBuilder* This, |
| const GUID* pCategory, |
| IUnknown* pSource, |
| IBaseFilter* pfCompressor, |
| IBaseFilter* pfRenderer); |
| void __RPC_STUB ICaptureGraphBuilder_RenderStream_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK ICaptureGraphBuilder_ControlStream_Proxy( |
| ICaptureGraphBuilder* This, |
| const GUID* pCategory, |
| IBaseFilter* pFilter, |
| REFERENCE_TIME* pstart, |
| REFERENCE_TIME* pstop, |
| WORD wStartCookie, |
| WORD wStopCookie); |
| void __RPC_STUB ICaptureGraphBuilder_ControlStream_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK ICaptureGraphBuilder_AllocCapFile_Proxy( |
| ICaptureGraphBuilder* This, |
| LPCOLESTR lpstr, |
| DWORDLONG dwlSize); |
| void __RPC_STUB ICaptureGraphBuilder_AllocCapFile_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK ICaptureGraphBuilder_CopyCaptureFile_Proxy( |
| ICaptureGraphBuilder* This, |
| LPOLESTR lpwstrOld, |
| LPOLESTR lpwstrNew, |
| int fAllowEscAbort, |
| IAMCopyCaptureFileProgress* pCallback); |
| void __RPC_STUB ICaptureGraphBuilder_CopyCaptureFile_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #endif /* __ICaptureGraphBuilder_INTERFACE_DEFINED__ */ |
| |
| /***************************************************************************** |
| * IAMCopyCaptureFileProgress interface |
| */ |
| #ifndef __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__ |
| #define __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IAMCopyCaptureFileProgress, 0x670d1d20, 0xa068, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IAMCopyCaptureFileProgress : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE Progress( |
| int iProgress) = 0; |
| |
| }; |
| #else |
| typedef struct IAMCopyCaptureFileProgressVtbl IAMCopyCaptureFileProgressVtbl; |
| struct IAMCopyCaptureFileProgress { |
| const IAMCopyCaptureFileProgressVtbl* lpVtbl; |
| }; |
| struct IAMCopyCaptureFileProgressVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IAMCopyCaptureFileProgress* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IAMCopyCaptureFileProgress* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IAMCopyCaptureFileProgress* This); |
| |
| /*** IAMCopyCaptureFileProgress methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Progress)( |
| IAMCopyCaptureFileProgress* This, |
| int iProgress); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IAMCopyCaptureFileProgress_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IAMCopyCaptureFileProgress_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IAMCopyCaptureFileProgress_Release(p) (p)->lpVtbl->Release(p) |
| /*** IAMCopyCaptureFileProgress methods ***/ |
| #define IAMCopyCaptureFileProgress_Progress(p,a) (p)->lpVtbl->Progress(p,a) |
| |
| #endif |
| |
| #define IAMCopyCaptureFileProgress_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IAMCopyCaptureFileProgress methods ***/ \ |
| STDMETHOD_(HRESULT,Progress)(THIS_ int iProgress) PURE; |
| |
| HRESULT CALLBACK IAMCopyCaptureFileProgress_Progress_Proxy( |
| IAMCopyCaptureFileProgress* This, |
| int iProgress); |
| void __RPC_STUB IAMCopyCaptureFileProgress_Progress_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #endif /* __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__ */ |
| |
| /***************************************************************************** |
| * ICaptureGraphBuilder2 interface |
| */ |
| #ifndef __ICaptureGraphBuilder2_INTERFACE_DEFINED__ |
| #define __ICaptureGraphBuilder2_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_ICaptureGraphBuilder2, 0x93e5a4e0, 0x2d50, 0x11d2, 0xab,0xfa, 0x00,0xa0,0xc9,0xc6,0xe3,0x8d); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct ICaptureGraphBuilder2 : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE SetFiltergraph( |
| IGraphBuilder* pfg) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetFiltergraph( |
| IGraphBuilder** ppfg) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetOutputFileName( |
| const GUID* pType, |
| LPCOLESTR lpstrFile, |
| IBaseFilter** ppf, |
| IFileSinkFilter** ppSink) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE FindInterface( |
| const GUID* pCategory, |
| const GUID* pType, |
| IBaseFilter* pf, |
| REFIID riid, |
| void** ppint) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE RenderStream( |
| const GUID* pCategory, |
| const GUID* pType, |
| IUnknown* pSource, |
| IBaseFilter* pfCompressor, |
| IBaseFilter* pfRenderer) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE ControlStream( |
| const GUID* pCategory, |
| const GUID* pType, |
| IBaseFilter* pFilter, |
| REFERENCE_TIME* pstart, |
| REFERENCE_TIME* pstop, |
| WORD wStartCookie, |
| WORD wStopCookie) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE AllocCapFile( |
| LPCOLESTR lpstr, |
| DWORDLONG dwlSize) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE CopyCaptureFile( |
| LPOLESTR lpwstrOld, |
| LPOLESTR lpwstrNew, |
| int fAllowEscAbort, |
| IAMCopyCaptureFileProgress* pCallback) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE FindPin( |
| IUnknown* pSource, |
| PIN_DIRECTION pindir, |
| const GUID* pCategory, |
| const GUID* pType, |
| BOOL fUnconnected, |
| int num, |
| IPin** ppPin) = 0; |
| |
| }; |
| #else |
| typedef struct ICaptureGraphBuilder2Vtbl ICaptureGraphBuilder2Vtbl; |
| struct ICaptureGraphBuilder2 { |
| const ICaptureGraphBuilder2Vtbl* lpVtbl; |
| }; |
| struct ICaptureGraphBuilder2Vtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| ICaptureGraphBuilder2* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| ICaptureGraphBuilder2* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| ICaptureGraphBuilder2* This); |
| |
| /*** ICaptureGraphBuilder2 methods ***/ |
| HRESULT (STDMETHODCALLTYPE *SetFiltergraph)( |
| ICaptureGraphBuilder2* This, |
| IGraphBuilder* pfg); |
| |
| HRESULT (STDMETHODCALLTYPE *GetFiltergraph)( |
| ICaptureGraphBuilder2* This, |
| IGraphBuilder** ppfg); |
| |
| HRESULT (STDMETHODCALLTYPE *SetOutputFileName)( |
| ICaptureGraphBuilder2* This, |
| const GUID* pType, |
| LPCOLESTR lpstrFile, |
| IBaseFilter** ppf, |
| IFileSinkFilter** ppSink); |
| |
| HRESULT (STDMETHODCALLTYPE *FindInterface)( |
| ICaptureGraphBuilder2* This, |
| const GUID* pCategory, |
| const GUID* pType, |
| IBaseFilter* pf, |
| REFIID riid, |
| void** ppint); |
| |
| HRESULT (STDMETHODCALLTYPE *RenderStream)( |
| ICaptureGraphBuilder2* This, |
| const GUID* pCategory, |
| const GUID* pType, |
| IUnknown* pSource, |
| IBaseFilter* pfCompressor, |
| IBaseFilter* pfRenderer); |
| |
| HRESULT (STDMETHODCALLTYPE *ControlStream)( |
| ICaptureGraphBuilder2* This, |
| const GUID* pCategory, |
| const GUID* pType, |
| IBaseFilter* pFilter, |
| REFERENCE_TIME* pstart, |
| REFERENCE_TIME* pstop, |
| WORD wStartCookie, |
| WORD wStopCookie); |
| |
| HRESULT (STDMETHODCALLTYPE *AllocCapFile)( |
| ICaptureGraphBuilder2* This, |
| LPCOLESTR lpstr, |
| DWORDLONG dwlSize); |
| |
| HRESULT (STDMETHODCALLTYPE *CopyCaptureFile)( |
| ICaptureGraphBuilder2* This, |
| LPOLESTR lpwstrOld, |
| LPOLESTR lpwstrNew, |
| int fAllowEscAbort, |
| IAMCopyCaptureFileProgress* pCallback); |
| |
| HRESULT (STDMETHODCALLTYPE *FindPin)( |
| ICaptureGraphBuilder2* This, |
| IUnknown* pSource, |
| PIN_DIRECTION pindir, |
| const GUID* pCategory, |
| const GUID* pType, |
| BOOL fUnconnected, |
| int num, |
| IPin** ppPin); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define ICaptureGraphBuilder2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define ICaptureGraphBuilder2_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define ICaptureGraphBuilder2_Release(p) (p)->lpVtbl->Release(p) |
| /*** ICaptureGraphBuilder2 methods ***/ |
| #define ICaptureGraphBuilder2_SetFiltergraph(p,a) (p)->lpVtbl->SetFiltergraph(p,a) |
| #define ICaptureGraphBuilder2_GetFiltergraph(p,a) (p)->lpVtbl->GetFiltergraph(p,a) |
| #define ICaptureGraphBuilder2_SetOutputFileName(p,a,b,c,d) (p)->lpVtbl->SetOutputFileName(p,a,b,c,d) |
| #define ICaptureGraphBuilder2_FindInterface(p,a,b,c,d,e) (p)->lpVtbl->FindInterface(p,a,b,c,d,e) |
| #define ICaptureGraphBuilder2_RenderStream(p,a,b,c,d,e) (p)->lpVtbl->RenderStream(p,a,b,c,d,e) |
| #define ICaptureGraphBuilder2_ControlStream(p,a,b,c,d,e,f,g) (p)->lpVtbl->ControlStream(p,a,b,c,d,e,f,g) |
| #define ICaptureGraphBuilder2_AllocCapFile(p,a,b) (p)->lpVtbl->AllocCapFile(p,a,b) |
| #define ICaptureGraphBuilder2_CopyCaptureFile(p,a,b,c,d) (p)->lpVtbl->CopyCaptureFile(p,a,b,c,d) |
| #define ICaptureGraphBuilder2_FindPin(p,a,b,c,d,e,f,g) (p)->lpVtbl->FindPin(p,a,b,c,d,e,f,g) |
| |
| #endif |
| |
| #define ICaptureGraphBuilder2_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** ICaptureGraphBuilder2 methods ***/ \ |
| STDMETHOD_(HRESULT,SetFiltergraph)(THIS_ IGraphBuilder* pfg) PURE; \ |
| STDMETHOD_(HRESULT,GetFiltergraph)(THIS_ IGraphBuilder** ppfg) PURE; \ |
| STDMETHOD_(HRESULT,SetOutputFileName)(THIS_ const GUID* pType, LPCOLESTR lpstrFile, IBaseFilter** ppf, IFileSinkFilter** ppSink) PURE; \ |
| STDMETHOD_(HRESULT,FindInterface)(THIS_ const GUID* pCategory, const GUID* pType, IBaseFilter* pf, REFIID riid, void** ppint) PURE; \ |
| STDMETHOD_(HRESULT,RenderStream)(THIS_ const GUID* pCategory, const GUID* pType, IUnknown* pSource, IBaseFilter* pfCompressor, IBaseFilter* pfRenderer) PURE; \ |
| STDMETHOD_(HRESULT,ControlStream)(THIS_ const GUID* pCategory, const GUID* pType, IBaseFilter* pFilter, REFERENCE_TIME* pstart, REFERENCE_TIME* pstop, WORD wStartCookie, WORD wStopCookie) PURE; \ |
| STDMETHOD_(HRESULT,AllocCapFile)(THIS_ LPCOLESTR lpstr, DWORDLONG dwlSize) PURE; \ |
| STDMETHOD_(HRESULT,CopyCaptureFile)(THIS_ LPOLESTR lpwstrOld, LPOLESTR lpwstrNew, int fAllowEscAbort, IAMCopyCaptureFileProgress* pCallback) PURE; \ |
| STDMETHOD_(HRESULT,FindPin)(THIS_ IUnknown* pSource, PIN_DIRECTION pindir, const GUID* pCategory, const GUID* pType, BOOL fUnconnected, int num, IPin** ppPin) PURE; |
| |
| HRESULT CALLBACK ICaptureGraphBuilder2_SetFiltergraph_Proxy( |
| ICaptureGraphBuilder2* This, |
| IGraphBuilder* pfg); |
| void __RPC_STUB ICaptureGraphBuilder2_SetFiltergraph_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK ICaptureGraphBuilder2_GetFiltergraph_Proxy( |
| ICaptureGraphBuilder2* This, |
| IGraphBuilder** ppfg); |
| void __RPC_STUB ICaptureGraphBuilder2_GetFiltergraph_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK ICaptureGraphBuilder2_SetOutputFileName_Proxy( |
| ICaptureGraphBuilder2* This, |
| const GUID* pType, |
| LPCOLESTR lpstrFile, |
| IBaseFilter** ppf, |
| IFileSinkFilter** ppSink); |
| void __RPC_STUB ICaptureGraphBuilder2_SetOutputFileName_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK ICaptureGraphBuilder2_RemoteFindInterface_Proxy( |
| ICaptureGraphBuilder2* This, |
| const GUID* pCategory, |
| const GUID* pType, |
| IBaseFilter* pf, |
| REFIID riid, |
| IUnknown** ppint); |
| void __RPC_STUB ICaptureGraphBuilder2_RemoteFindInterface_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK ICaptureGraphBuilder2_FindInterface_Proxy( |
| ICaptureGraphBuilder2* This, |
| const GUID* pCategory, |
| const GUID* pType, |
| IBaseFilter* pf, |
| REFIID riid, |
| void** ppint); |
| HRESULT __RPC_STUB ICaptureGraphBuilder2_FindInterface_Stub( |
| ICaptureGraphBuilder2* This, |
| const GUID* pCategory, |
| const GUID* pType, |
| IBaseFilter* pf, |
| REFIID riid, |
| IUnknown** ppint); |
| HRESULT CALLBACK ICaptureGraphBuilder2_RenderStream_Proxy( |
| ICaptureGraphBuilder2* This, |
| const GUID* pCategory, |
| const GUID* pType, |
| IUnknown* pSource, |
| IBaseFilter* pfCompressor, |
| IBaseFilter* pfRenderer); |
| void __RPC_STUB ICaptureGraphBuilder2_RenderStream_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK ICaptureGraphBuilder2_ControlStream_Proxy( |
| ICaptureGraphBuilder2* This, |
| const GUID* pCategory, |
| const GUID* pType, |
| IBaseFilter* pFilter, |
| REFERENCE_TIME* pstart, |
| REFERENCE_TIME* pstop, |
| WORD wStartCookie, |
| WORD wStopCookie); |
| void __RPC_STUB ICaptureGraphBuilder2_ControlStream_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK ICaptureGraphBuilder2_AllocCapFile_Proxy( |
| ICaptureGraphBuilder2* This, |
| LPCOLESTR lpstr, |
| DWORDLONG dwlSize); |
| void __RPC_STUB ICaptureGraphBuilder2_AllocCapFile_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK ICaptureGraphBuilder2_CopyCaptureFile_Proxy( |
| ICaptureGraphBuilder2* This, |
| LPOLESTR lpwstrOld, |
| LPOLESTR lpwstrNew, |
| int fAllowEscAbort, |
| IAMCopyCaptureFileProgress* pCallback); |
| void __RPC_STUB ICaptureGraphBuilder2_CopyCaptureFile_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK ICaptureGraphBuilder2_FindPin_Proxy( |
| ICaptureGraphBuilder2* This, |
| IUnknown* pSource, |
| PIN_DIRECTION pindir, |
| const GUID* pCategory, |
| const GUID* pType, |
| BOOL fUnconnected, |
| int num, |
| IPin** ppPin); |
| void __RPC_STUB ICaptureGraphBuilder2_FindPin_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #endif /* __ICaptureGraphBuilder2_INTERFACE_DEFINED__ */ |
| |
| enum _AM_RENSDEREXFLAGS { |
| AM_RENDEREX_RENDERTOEXISTINGRENDERERS = 0x1 |
| }; |
| |
| #ifndef __IFilterGraph2_FWD_DEFINED__ |
| #define __IFilterGraph2_FWD_DEFINED__ |
| typedef struct IFilterGraph2 IFilterGraph2; |
| #endif |
| |
| /***************************************************************************** |
| * IFilterGraph2 interface |
| */ |
| #ifndef __IFilterGraph2_INTERFACE_DEFINED__ |
| #define __IFilterGraph2_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IFilterGraph2, 0x36b73882, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IFilterGraph2 : public IGraphBuilder |
| { |
| virtual HRESULT STDMETHODCALLTYPE AddSourceFilterForMoniker( |
| IMoniker* pMoniker, |
| IBindCtx* pCtx, |
| LPCWSTR lpcwstrFilterName, |
| IBaseFilter** ppFilter) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE ReconnectEx( |
| IPin* ppin, |
| const AM_MEDIA_TYPE* pmt) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE RenderEx( |
| IPin* pPinOut, |
| DWORD dwFlags, |
| DWORD* pvContext) = 0; |
| |
| }; |
| #else |
| typedef struct IFilterGraph2Vtbl IFilterGraph2Vtbl; |
| struct IFilterGraph2 { |
| const IFilterGraph2Vtbl* lpVtbl; |
| }; |
| struct IFilterGraph2Vtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IFilterGraph2* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IFilterGraph2* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IFilterGraph2* This); |
| |
| /*** IFilterGraph methods ***/ |
| HRESULT (STDMETHODCALLTYPE *AddFilter)( |
| IFilterGraph2* This, |
| IBaseFilter* pFilter, |
| LPCWSTR pName); |
| |
| HRESULT (STDMETHODCALLTYPE *RemoveFilter)( |
| IFilterGraph2* This, |
| IBaseFilter* pFilter); |
| |
| HRESULT (STDMETHODCALLTYPE *EnumFilters)( |
| IFilterGraph2* This, |
| IEnumFilters** ppEnum); |
| |
| HRESULT (STDMETHODCALLTYPE *FindFilterByName)( |
| IFilterGraph2* This, |
| LPCWSTR pName, |
| IBaseFilter** ppFilter); |
| |
| HRESULT (STDMETHODCALLTYPE *ConnectDirect)( |
| IFilterGraph2* This, |
| IPin* ppinOut, |
| IPin* ppinIn, |
| const AM_MEDIA_TYPE* pmt); |
| |
| HRESULT (STDMETHODCALLTYPE *Reconnect)( |
| IFilterGraph2* This, |
| IPin* ppin); |
| |
| HRESULT (STDMETHODCALLTYPE *Disconnect)( |
| IFilterGraph2* This, |
| IPin* ppin); |
| |
| HRESULT (STDMETHODCALLTYPE *SetDefaultSyncSource)( |
| IFilterGraph2* This); |
| |
| /*** IGraphBuilder methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Connect)( |
| IFilterGraph2* This, |
| IPin* ppinOut, |
| IPin* ppinIn); |
| |
| HRESULT (STDMETHODCALLTYPE *Render)( |
| IFilterGraph2* This, |
| IPin* ppinOut); |
| |
| HRESULT (STDMETHODCALLTYPE *RenderFile)( |
| IFilterGraph2* This, |
| LPCWSTR lpcwstrFile, |
| LPCWSTR lpcwstrPlayList); |
| |
| HRESULT (STDMETHODCALLTYPE *AddSourceFilter)( |
| IFilterGraph2* This, |
| LPCWSTR lpcwstrFileName, |
| LPCWSTR lpcwstrFilterName, |
| IBaseFilter** ppFilter); |
| |
| HRESULT (STDMETHODCALLTYPE *SetLogFile)( |
| IFilterGraph2* This, |
| DWORD_PTR hFile); |
| |
| HRESULT (STDMETHODCALLTYPE *Abort)( |
| IFilterGraph2* This); |
| |
| HRESULT (STDMETHODCALLTYPE *ShouldOperationContinue)( |
| IFilterGraph2* This); |
| |
| /*** IFilterGraph2 methods ***/ |
| HRESULT (STDMETHODCALLTYPE *AddSourceFilterForMoniker)( |
| IFilterGraph2* This, |
| IMoniker* pMoniker, |
| IBindCtx* pCtx, |
| LPCWSTR lpcwstrFilterName, |
| IBaseFilter** ppFilter); |
| |
| HRESULT (STDMETHODCALLTYPE *ReconnectEx)( |
| IFilterGraph2* This, |
| IPin* ppin, |
| const AM_MEDIA_TYPE* pmt); |
| |
| HRESULT (STDMETHODCALLTYPE *RenderEx)( |
| IFilterGraph2* This, |
| IPin* pPinOut, |
| DWORD dwFlags, |
| DWORD* pvContext); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IFilterGraph2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IFilterGraph2_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IFilterGraph2_Release(p) (p)->lpVtbl->Release(p) |
| /*** IFilterGraph methods ***/ |
| #define IFilterGraph2_AddFilter(p,a,b) (p)->lpVtbl->AddFilter(p,a,b) |
| #define IFilterGraph2_RemoveFilter(p,a) (p)->lpVtbl->RemoveFilter(p,a) |
| #define IFilterGraph2_EnumFilters(p,a) (p)->lpVtbl->EnumFilters(p,a) |
| #define IFilterGraph2_FindFilterByName(p,a,b) (p)->lpVtbl->FindFilterByName(p,a,b) |
| #define IFilterGraph2_ConnectDirect(p,a,b,c) (p)->lpVtbl->ConnectDirect(p,a,b,c) |
| #define IFilterGraph2_Reconnect(p,a) (p)->lpVtbl->Reconnect(p,a) |
| #define IFilterGraph2_Disconnect(p,a) (p)->lpVtbl->Disconnect(p,a) |
| #define IFilterGraph2_SetDefaultSyncSource(p) (p)->lpVtbl->SetDefaultSyncSource(p) |
| /*** IGraphBuilder methods ***/ |
| #define IFilterGraph2_Connect(p,a,b) (p)->lpVtbl->Connect(p,a,b) |
| #define IFilterGraph2_Render(p,a) (p)->lpVtbl->Render(p,a) |
| #define IFilterGraph2_RenderFile(p,a,b) (p)->lpVtbl->RenderFile(p,a,b) |
| #define IFilterGraph2_AddSourceFilter(p,a,b,c) (p)->lpVtbl->AddSourceFilter(p,a,b,c) |
| #define IFilterGraph2_SetLogFile(p,a) (p)->lpVtbl->SetLogFile(p,a) |
| #define IFilterGraph2_Abort(p) (p)->lpVtbl->Abort(p) |
| #define IFilterGraph2_ShouldOperationContinue(p) (p)->lpVtbl->ShouldOperationContinue(p) |
| /*** IFilterGraph2 methods ***/ |
| #define IFilterGraph2_AddSourceFilterForMoniker(p,a,b,c,d) (p)->lpVtbl->AddSourceFilterForMoniker(p,a,b,c,d) |
| #define IFilterGraph2_ReconnectEx(p,a,b) (p)->lpVtbl->ReconnectEx(p,a,b) |
| #define IFilterGraph2_RenderEx(p,a,b,c) (p)->lpVtbl->RenderEx(p,a,b,c) |
| |
| #endif |
| |
| #define IFilterGraph2_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IFilterGraph methods ***/ \ |
| STDMETHOD_(HRESULT,AddFilter)(THIS_ IBaseFilter* pFilter, LPCWSTR pName) PURE; \ |
| STDMETHOD_(HRESULT,RemoveFilter)(THIS_ IBaseFilter* pFilter) PURE; \ |
| STDMETHOD_(HRESULT,EnumFilters)(THIS_ IEnumFilters** ppEnum) PURE; \ |
| STDMETHOD_(HRESULT,FindFilterByName)(THIS_ LPCWSTR pName, IBaseFilter** ppFilter) PURE; \ |
| STDMETHOD_(HRESULT,ConnectDirect)(THIS_ IPin* ppinOut, IPin* ppinIn, const AM_MEDIA_TYPE* pmt) PURE; \ |
| STDMETHOD_(HRESULT,Reconnect)(THIS_ IPin* ppin) PURE; \ |
| STDMETHOD_(HRESULT,Disconnect)(THIS_ IPin* ppin) PURE; \ |
| STDMETHOD_(HRESULT,SetDefaultSyncSource)(THIS) PURE; \ |
| /*** IGraphBuilder methods ***/ \ |
| STDMETHOD_(HRESULT,Connect)(THIS_ IPin* ppinOut, IPin* ppinIn) PURE; \ |
| STDMETHOD_(HRESULT,Render)(THIS_ IPin* ppinOut) PURE; \ |
| STDMETHOD_(HRESULT,RenderFile)(THIS_ LPCWSTR lpcwstrFile, LPCWSTR lpcwstrPlayList) PURE; \ |
| STDMETHOD_(HRESULT,AddSourceFilter)(THIS_ LPCWSTR lpcwstrFileName, LPCWSTR lpcwstrFilterName, IBaseFilter** ppFilter) PURE; \ |
| STDMETHOD_(HRESULT,SetLogFile)(THIS_ DWORD_PTR hFile) PURE; \ |
| STDMETHOD_(HRESULT,Abort)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,ShouldOperationContinue)(THIS) PURE; \ |
| /*** IFilterGraph2 methods ***/ \ |
| STDMETHOD_(HRESULT,AddSourceFilterForMoniker)(THIS_ IMoniker* pMoniker, IBindCtx* pCtx, LPCWSTR lpcwstrFilterName, IBaseFilter** ppFilter) PURE; \ |
| STDMETHOD_(HRESULT,ReconnectEx)(THIS_ IPin* ppin, const AM_MEDIA_TYPE* pmt) PURE; \ |
| STDMETHOD_(HRESULT,RenderEx)(THIS_ IPin* pPinOut, DWORD dwFlags, DWORD* pvContext) PURE; |
| |
| HRESULT CALLBACK IFilterGraph2_AddSourceFilterForMoniker_Proxy( |
| IFilterGraph2* This, |
| IMoniker* pMoniker, |
| IBindCtx* pCtx, |
| LPCWSTR lpcwstrFilterName, |
| IBaseFilter** ppFilter); |
| void __RPC_STUB IFilterGraph2_AddSourceFilterForMoniker_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IFilterGraph2_ReconnectEx_Proxy( |
| IFilterGraph2* This, |
| IPin* ppin, |
| const AM_MEDIA_TYPE* pmt); |
| void __RPC_STUB IFilterGraph2_ReconnectEx_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IFilterGraph2_RenderEx_Proxy( |
| IFilterGraph2* This, |
| IPin* pPinOut, |
| DWORD dwFlags, |
| DWORD* pvContext); |
| void __RPC_STUB IFilterGraph2_RenderEx_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #endif /* __IFilterGraph2_INTERFACE_DEFINED__ */ |
| |
| #ifndef __IStreamBuilder_FWD_DEFINED__ |
| #define __IStreamBuilder_FWD_DEFINED__ |
| typedef struct IStreamBuilder IStreamBuilder; |
| #endif |
| |
| /***************************************************************************** |
| * IStreamBuilder interface |
| */ |
| #ifndef __IStreamBuilder_INTERFACE_DEFINED__ |
| #define __IStreamBuilder_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IStreamBuilder, 0x56a868bf, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IStreamBuilder : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE Render( |
| IPin* ppinOut, |
| IGraphBuilder* pGraph) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Backout( |
| IPin* ppinOut, |
| IGraphBuilder* pGraph) = 0; |
| |
| }; |
| #else |
| typedef struct IStreamBuilderVtbl IStreamBuilderVtbl; |
| struct IStreamBuilder { |
| const IStreamBuilderVtbl* lpVtbl; |
| }; |
| struct IStreamBuilderVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IStreamBuilder* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IStreamBuilder* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IStreamBuilder* This); |
| |
| /*** IStreamBuilder methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Render)( |
| IStreamBuilder* This, |
| IPin* ppinOut, |
| IGraphBuilder* pGraph); |
| |
| HRESULT (STDMETHODCALLTYPE *Backout)( |
| IStreamBuilder* This, |
| IPin* ppinOut, |
| IGraphBuilder* pGraph); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IStreamBuilder_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IStreamBuilder_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IStreamBuilder_Release(p) (p)->lpVtbl->Release(p) |
| /*** IStreamBuilder methods ***/ |
| #define IStreamBuilder_Render(p,a,b) (p)->lpVtbl->Render(p,a,b) |
| #define IStreamBuilder_Backout(p,a,b) (p)->lpVtbl->Backout(p,a,b) |
| |
| #endif |
| |
| #define IStreamBuilder_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IStreamBuilder methods ***/ \ |
| STDMETHOD_(HRESULT,Render)(THIS_ IPin* ppinOut, IGraphBuilder* pGraph) PURE; \ |
| STDMETHOD_(HRESULT,Backout)(THIS_ IPin* ppinOut, IGraphBuilder* pGraph) PURE; |
| |
| HRESULT CALLBACK IStreamBuilder_Render_Proxy( |
| IStreamBuilder* This, |
| IPin* ppinOut, |
| IGraphBuilder* pGraph); |
| void __RPC_STUB IStreamBuilder_Render_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStreamBuilder_Backout_Proxy( |
| IStreamBuilder* This, |
| IPin* ppinOut, |
| IGraphBuilder* pGraph); |
| void __RPC_STUB IStreamBuilder_Backout_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #endif /* __IStreamBuilder_INTERFACE_DEFINED__ */ |
| |
| #ifndef __IAsyncReader_FWD_DEFINED__ |
| #define __IAsyncReader_FWD_DEFINED__ |
| typedef struct IAsyncReader IAsyncReader; |
| #endif |
| |
| /***************************************************************************** |
| * IAsyncReader interface |
| */ |
| #ifndef __IAsyncReader_INTERFACE_DEFINED__ |
| #define __IAsyncReader_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IAsyncReader, 0x56a868aa, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IAsyncReader : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE RequestAllocator( |
| IMemAllocator* pPreferred, |
| ALLOCATOR_PROPERTIES* pProps, |
| IMemAllocator** ppActual) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Request( |
| IMediaSample* pSample, |
| DWORD_PTR dwUser) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE WaitForNext( |
| DWORD dwTimeout, |
| IMediaSample** ppSample, |
| DWORD_PTR* pdwUser) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SyncReadAligned( |
| IMediaSample* pSample) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SyncRead( |
| LONGLONG llPosition, |
| LONG lLength, |
| BYTE* pBuffer) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Length( |
| LONGLONG* pTotal, |
| LONGLONG* pAvailable) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE BeginFlush( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE EndFlush( |
| ) = 0; |
| |
| }; |
| #else |
| typedef struct IAsyncReaderVtbl IAsyncReaderVtbl; |
| struct IAsyncReader { |
| const IAsyncReaderVtbl* lpVtbl; |
| }; |
| struct IAsyncReaderVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IAsyncReader* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IAsyncReader* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IAsyncReader* This); |
| |
| /*** IAsyncReader methods ***/ |
| HRESULT (STDMETHODCALLTYPE *RequestAllocator)( |
| IAsyncReader* This, |
| IMemAllocator* pPreferred, |
| ALLOCATOR_PROPERTIES* pProps, |
| IMemAllocator** ppActual); |
| |
| HRESULT (STDMETHODCALLTYPE *Request)( |
| IAsyncReader* This, |
| IMediaSample* pSample, |
| DWORD_PTR dwUser); |
| |
| HRESULT (STDMETHODCALLTYPE *WaitForNext)( |
| IAsyncReader* This, |
| DWORD dwTimeout, |
| IMediaSample** ppSample, |
| DWORD_PTR* pdwUser); |
| |
| HRESULT (STDMETHODCALLTYPE *SyncReadAligned)( |
| IAsyncReader* This, |
| IMediaSample* pSample); |
| |
| HRESULT (STDMETHODCALLTYPE *SyncRead)( |
| IAsyncReader* This, |
| LONGLONG llPosition, |
| LONG lLength, |
| BYTE* pBuffer); |
| |
| HRESULT (STDMETHODCALLTYPE *Length)( |
| IAsyncReader* This, |
| LONGLONG* pTotal, |
| LONGLONG* pAvailable); |
| |
| HRESULT (STDMETHODCALLTYPE *BeginFlush)( |
| IAsyncReader* This); |
| |
| HRESULT (STDMETHODCALLTYPE *EndFlush)( |
| IAsyncReader* This); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IAsyncReader_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IAsyncReader_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IAsyncReader_Release(p) (p)->lpVtbl->Release(p) |
| /*** IAsyncReader methods ***/ |
| #define IAsyncReader_RequestAllocator(p,a,b,c) (p)->lpVtbl->RequestAllocator(p,a,b,c) |
| #define IAsyncReader_Request(p,a,b) (p)->lpVtbl->Request(p,a,b) |
| #define IAsyncReader_WaitForNext(p,a,b,c) (p)->lpVtbl->WaitForNext(p,a,b,c) |
| #define IAsyncReader_SyncReadAligned(p,a) (p)->lpVtbl->SyncReadAligned(p,a) |
| #define IAsyncReader_SyncRead(p,a,b,c) (p)->lpVtbl->SyncRead(p,a,b,c) |
| #define IAsyncReader_Length(p,a,b) (p)->lpVtbl->Length(p,a,b) |
| #define IAsyncReader_BeginFlush(p) (p)->lpVtbl->BeginFlush(p) |
| #define IAsyncReader_EndFlush(p) (p)->lpVtbl->EndFlush(p) |
| |
| #endif |
| |
| #define IAsyncReader_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IAsyncReader methods ***/ \ |
| STDMETHOD_(HRESULT,RequestAllocator)(THIS_ IMemAllocator* pPreferred, ALLOCATOR_PROPERTIES* pProps, IMemAllocator** ppActual) PURE; \ |
| STDMETHOD_(HRESULT,Request)(THIS_ IMediaSample* pSample, DWORD_PTR dwUser) PURE; \ |
| STDMETHOD_(HRESULT,WaitForNext)(THIS_ DWORD dwTimeout, IMediaSample** ppSample, DWORD_PTR* pdwUser) PURE; \ |
| STDMETHOD_(HRESULT,SyncReadAligned)(THIS_ IMediaSample* pSample) PURE; \ |
| STDMETHOD_(HRESULT,SyncRead)(THIS_ LONGLONG llPosition, LONG lLength, BYTE* pBuffer) PURE; \ |
| STDMETHOD_(HRESULT,Length)(THIS_ LONGLONG* pTotal, LONGLONG* pAvailable) PURE; \ |
| STDMETHOD_(HRESULT,BeginFlush)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,EndFlush)(THIS) PURE; |
| |
| HRESULT CALLBACK IAsyncReader_RequestAllocator_Proxy( |
| IAsyncReader* This, |
| IMemAllocator* pPreferred, |
| ALLOCATOR_PROPERTIES* pProps, |
| IMemAllocator** ppActual); |
| void __RPC_STUB IAsyncReader_RequestAllocator_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IAsyncReader_Request_Proxy( |
| IAsyncReader* This, |
| IMediaSample* pSample, |
| DWORD_PTR dwUser); |
| void __RPC_STUB IAsyncReader_Request_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IAsyncReader_WaitForNext_Proxy( |
| IAsyncReader* This, |
| DWORD dwTimeout, |
| IMediaSample** ppSample, |
| DWORD_PTR* pdwUser); |
| void __RPC_STUB IAsyncReader_WaitForNext_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IAsyncReader_SyncReadAligned_Proxy( |
| IAsyncReader* This, |
| IMediaSample* pSample); |
| void __RPC_STUB IAsyncReader_SyncReadAligned_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IAsyncReader_SyncRead_Proxy( |
| IAsyncReader* This, |
| LONGLONG llPosition, |
| LONG lLength, |
| BYTE* pBuffer); |
| void __RPC_STUB IAsyncReader_SyncRead_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IAsyncReader_Length_Proxy( |
| IAsyncReader* This, |
| LONGLONG* pTotal, |
| LONGLONG* pAvailable); |
| void __RPC_STUB IAsyncReader_Length_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IAsyncReader_BeginFlush_Proxy( |
| IAsyncReader* This); |
| void __RPC_STUB IAsyncReader_BeginFlush_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IAsyncReader_EndFlush_Proxy( |
| IAsyncReader* This); |
| void __RPC_STUB IAsyncReader_EndFlush_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #endif /* __IAsyncReader_INTERFACE_DEFINED__ */ |
| |
| #ifndef __IGraphVersion_FWD_DEFINED__ |
| #define __IGraphVersion_FWD_DEFINED__ |
| typedef struct IGraphVersion IGraphVersion; |
| #endif |
| |
| /***************************************************************************** |
| * IGraphVersion interface |
| */ |
| #ifndef __IGraphVersion_INTERFACE_DEFINED__ |
| #define __IGraphVersion_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IGraphVersion, 0x56a868ab, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IGraphVersion : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE QueryVersion( |
| LONG* pVersion) = 0; |
| |
| }; |
| #else |
| typedef struct IGraphVersionVtbl IGraphVersionVtbl; |
| struct IGraphVersion { |
| const IGraphVersionVtbl* lpVtbl; |
| }; |
| struct IGraphVersionVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IGraphVersion* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IGraphVersion* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IGraphVersion* This); |
| |
| /*** IGraphVersion methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryVersion)( |
| IGraphVersion* This, |
| LONG* pVersion); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IGraphVersion_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IGraphVersion_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IGraphVersion_Release(p) (p)->lpVtbl->Release(p) |
| /*** IGraphVersion methods ***/ |
| #define IGraphVersion_QueryVersion(p,a) (p)->lpVtbl->QueryVersion(p,a) |
| |
| #endif |
| |
| #define IGraphVersion_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IGraphVersion methods ***/ \ |
| STDMETHOD_(HRESULT,QueryVersion)(THIS_ LONG* pVersion) PURE; |
| |
| HRESULT CALLBACK IGraphVersion_QueryVersion_Proxy( |
| IGraphVersion* This, |
| LONG* pVersion); |
| void __RPC_STUB IGraphVersion_QueryVersion_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #endif /* __IGraphVersion_INTERFACE_DEFINED__ */ |
| |
| #ifndef __IResourceConsumer_FWD_DEFINED__ |
| #define __IResourceConsumer_FWD_DEFINED__ |
| typedef struct IResourceConsumer IResourceConsumer; |
| #endif |
| |
| /***************************************************************************** |
| * IResourceConsumer interface |
| */ |
| #ifndef __IResourceConsumer_INTERFACE_DEFINED__ |
| #define __IResourceConsumer_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IResourceConsumer, 0x56a868ad, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IResourceConsumer : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE AcquireResource( |
| LONG idResource) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE ReleaseResource( |
| LONG idResource) = 0; |
| |
| }; |
| #else |
| typedef struct IResourceConsumerVtbl IResourceConsumerVtbl; |
| struct IResourceConsumer { |
| const IResourceConsumerVtbl* lpVtbl; |
| }; |
| struct IResourceConsumerVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IResourceConsumer* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IResourceConsumer* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IResourceConsumer* This); |
| |
| /*** IResourceConsumer methods ***/ |
| HRESULT (STDMETHODCALLTYPE *AcquireResource)( |
| IResourceConsumer* This, |
| LONG idResource); |
| |
| HRESULT (STDMETHODCALLTYPE *ReleaseResource)( |
| IResourceConsumer* This, |
| LONG idResource); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IResourceConsumer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IResourceConsumer_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IResourceConsumer_Release(p) (p)->lpVtbl->Release(p) |
| /*** IResourceConsumer methods ***/ |
| #define IResourceConsumer_AcquireResource(p,a) (p)->lpVtbl->AcquireResource(p,a) |
| #define IResourceConsumer_ReleaseResource(p,a) (p)->lpVtbl->ReleaseResource(p,a) |
| |
| #endif |
| |
| #define IResourceConsumer_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IResourceConsumer methods ***/ \ |
| STDMETHOD_(HRESULT,AcquireResource)(THIS_ LONG idResource) PURE; \ |
| STDMETHOD_(HRESULT,ReleaseResource)(THIS_ LONG idResource) PURE; |
| |
| HRESULT CALLBACK IResourceConsumer_AcquireResource_Proxy( |
| IResourceConsumer* This, |
| LONG idResource); |
| void __RPC_STUB IResourceConsumer_AcquireResource_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IResourceConsumer_ReleaseResource_Proxy( |
| IResourceConsumer* This, |
| LONG idResource); |
| void __RPC_STUB IResourceConsumer_ReleaseResource_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #endif /* __IResourceConsumer_INTERFACE_DEFINED__ */ |
| |
| #ifndef __IResourceManager_FWD_DEFINED__ |
| #define __IResourceManager_FWD_DEFINED__ |
| typedef struct IResourceManager IResourceManager; |
| #endif |
| |
| /***************************************************************************** |
| * IResourceManager interface |
| */ |
| #ifndef __IResourceManager_INTERFACE_DEFINED__ |
| #define __IResourceManager_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IResourceManager, 0x56a868ac, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IResourceManager : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE Register( |
| LPCWSTR pName, |
| LONG cResource, |
| LONG* plToken) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE RegisterGroup( |
| LPCWSTR pName, |
| LONG cResource, |
| LONG* palTokens, |
| LONG* plToken) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE RequestResource( |
| LONG idResource, |
| IUnknown* pFocusObject, |
| IResourceConsumer* pConsumer) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE NotifyAcquire( |
| LONG idResource, |
| IResourceConsumer* pConsumer, |
| HRESULT hr) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE NotifyRelease( |
| LONG idResource, |
| IResourceConsumer* pConsumer, |
| BOOL bStillWant) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE CancelRequest( |
| LONG idResource, |
| IResourceConsumer* pConsumer) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetFocus( |
| IUnknown* pFocusObject) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE ReleaseFocus( |
| IUnknown* pFocusObject) = 0; |
| |
| }; |
| #else |
| typedef struct IResourceManagerVtbl IResourceManagerVtbl; |
| struct IResourceManager { |
| const IResourceManagerVtbl* lpVtbl; |
| }; |
| struct IResourceManagerVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IResourceManager* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IResourceManager* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IResourceManager* This); |
| |
| /*** IResourceManager methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Register)( |
| IResourceManager* This, |
| LPCWSTR pName, |
| LONG cResource, |
| LONG* plToken); |
| |
| HRESULT (STDMETHODCALLTYPE *RegisterGroup)( |
| IResourceManager* This, |
| LPCWSTR pName, |
| LONG cResource, |
| LONG* palTokens, |
| LONG* plToken); |
| |
| HRESULT (STDMETHODCALLTYPE *RequestResource)( |
| IResourceManager* This, |
| LONG idResource, |
| IUnknown* pFocusObject, |
| IResourceConsumer* pConsumer); |
| |
| HRESULT (STDMETHODCALLTYPE *NotifyAcquire)( |
| IResourceManager* This, |
| LONG idResource, |
| IResourceConsumer* pConsumer, |
| HRESULT hr); |
| |
| HRESULT (STDMETHODCALLTYPE *NotifyRelease)( |
| IResourceManager* This, |
| LONG idResource, |
| IResourceConsumer* pConsumer, |
| BOOL bStillWant); |
| |
| HRESULT (STDMETHODCALLTYPE *CancelRequest)( |
| IResourceManager* This, |
| LONG idResource, |
| IResourceConsumer* pConsumer); |
| |
| HRESULT (STDMETHODCALLTYPE *SetFocus)( |
| IResourceManager* This, |
| IUnknown* pFocusObject); |
| |
| HRESULT (STDMETHODCALLTYPE *ReleaseFocus)( |
| IResourceManager* This, |
| IUnknown* pFocusObject); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IResourceManager_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IResourceManager_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IResourceManager_Release(p) (p)->lpVtbl->Release(p) |
| /*** IResourceManager methods ***/ |
| #define IResourceManager_Register(p,a,b,c) (p)->lpVtbl->Register(p,a,b,c) |
| #define IResourceManager_RegisterGroup(p,a,b,c,d) (p)->lpVtbl->RegisterGroup(p,a,b,c,d) |
| #define IResourceManager_RequestResource(p,a,b,c) (p)->lpVtbl->RequestResource(p,a,b,c) |
| #define IResourceManager_NotifyAcquire(p,a,b,c) (p)->lpVtbl->NotifyAcquire(p,a,b,c) |
| #define IResourceManager_NotifyRelease(p,a,b,c) (p)->lpVtbl->NotifyRelease(p,a,b,c) |
| #define IResourceManager_CancelRequest(p,a,b) (p)->lpVtbl->CancelRequest(p,a,b) |
| #define IResourceManager_SetFocus(p,a) (p)->lpVtbl->SetFocus(p,a) |
| #define IResourceManager_ReleaseFocus(p,a) (p)->lpVtbl->ReleaseFocus(p,a) |
| |
| #endif |
| |
| #define IResourceManager_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IResourceManager methods ***/ \ |
| STDMETHOD_(HRESULT,Register)(THIS_ LPCWSTR pName, LONG cResource, LONG* plToken) PURE; \ |
| STDMETHOD_(HRESULT,RegisterGroup)(THIS_ LPCWSTR pName, LONG cResource, LONG* palTokens, LONG* plToken) PURE; \ |
| STDMETHOD_(HRESULT,RequestResource)(THIS_ LONG idResource, IUnknown* pFocusObject, IResourceConsumer* pConsumer) PURE; \ |
| STDMETHOD_(HRESULT,NotifyAcquire)(THIS_ LONG idResource, IResourceConsumer* pConsumer, HRESULT hr) PURE; \ |
| STDMETHOD_(HRESULT,NotifyRelease)(THIS_ LONG idResource, IResourceConsumer* pConsumer, BOOL bStillWant) PURE; \ |
| STDMETHOD_(HRESULT,CancelRequest)(THIS_ LONG idResource, IResourceConsumer* pConsumer) PURE; \ |
| STDMETHOD_(HRESULT,SetFocus)(THIS_ IUnknown* pFocusObject) PURE; \ |
| STDMETHOD_(HRESULT,ReleaseFocus)(THIS_ IUnknown* pFocusObject) PURE; |
| |
| HRESULT CALLBACK IResourceManager_Register_Proxy( |
| IResourceManager* This, |
| LPCWSTR pName, |
| LONG cResource, |
| LONG* plToken); |
| void __RPC_STUB IResourceManager_Register_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IResourceManager_RegisterGroup_Proxy( |
| IResourceManager* This, |
| LPCWSTR pName, |
| LONG cResource, |
| LONG* palTokens, |
| LONG* plToken); |
| void __RPC_STUB IResourceManager_RegisterGroup_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IResourceManager_RequestResource_Proxy( |
| IResourceManager* This, |
| LONG idResource, |
| IUnknown* pFocusObject, |
| IResourceConsumer* pConsumer); |
| void __RPC_STUB IResourceManager_RequestResource_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IResourceManager_NotifyAcquire_Proxy( |
| IResourceManager* This, |
| LONG idResource, |
| IResourceConsumer* pConsumer, |
| HRESULT hr); |
| void __RPC_STUB IResourceManager_NotifyAcquire_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IResourceManager_NotifyRelease_Proxy( |
| IResourceManager* This, |
| LONG idResource, |
| IResourceConsumer* pConsumer, |
| BOOL bStillWant); |
| void __RPC_STUB IResourceManager_NotifyRelease_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IResourceManager_CancelRequest_Proxy( |
| IResourceManager* This, |
| LONG idResource, |
| IResourceConsumer* pConsumer); |
| void __RPC_STUB IResourceManager_CancelRequest_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IResourceManager_SetFocus_Proxy( |
| IResourceManager* This, |
| IUnknown* pFocusObject); |
| void __RPC_STUB IResourceManager_SetFocus_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IResourceManager_ReleaseFocus_Proxy( |
| IResourceManager* This, |
| IUnknown* pFocusObject); |
| void __RPC_STUB IResourceManager_ReleaseFocus_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #endif /* __IResourceManager_INTERFACE_DEFINED__ */ |
| |
| #ifndef __IPinConnection_FWD_DEFINED__ |
| #define __IPinConnection_FWD_DEFINED__ |
| typedef struct IPinConnection IPinConnection; |
| #endif |
| |
| #ifndef __IPinFlowControl_FWD_DEFINED__ |
| #define __IPinFlowControl_FWD_DEFINED__ |
| typedef struct IPinFlowControl IPinFlowControl; |
| #endif |
| |
| #ifndef __IGraphConfig_FWD_DEFINED__ |
| #define __IGraphConfig_FWD_DEFINED__ |
| typedef struct IGraphConfig IGraphConfig; |
| #endif |
| |
| #ifndef __IGraphConfigCallback_FWD_DEFINED__ |
| #define __IGraphConfigCallback_FWD_DEFINED__ |
| typedef struct IGraphConfigCallback IGraphConfigCallback; |
| #endif |
| |
| /***************************************************************************** |
| * IPinConnection interface |
| */ |
| #ifndef __IPinConnection_INTERFACE_DEFINED__ |
| #define __IPinConnection_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IPinConnection, 0x4a9a62d3, 0x27d4, 0x403d, 0x91,0xe9, 0x89,0xf5,0x40,0xe5,0x55,0x34); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IPinConnection : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE DynamicQueryAccept( |
| const AM_MEDIA_TYPE* pmt) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE NotifyEndOfStream( |
| HANDLE hNotifyEvent) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE IsEndPin( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE DynamicDisconnect( |
| ) = 0; |
| |
| }; |
| #else |
| typedef struct IPinConnectionVtbl IPinConnectionVtbl; |
| struct IPinConnection { |
| const IPinConnectionVtbl* lpVtbl; |
| }; |
| struct IPinConnectionVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IPinConnection* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IPinConnection* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IPinConnection* This); |
| |
| /*** IPinConnection methods ***/ |
| HRESULT (STDMETHODCALLTYPE *DynamicQueryAccept)( |
| IPinConnection* This, |
| const AM_MEDIA_TYPE* pmt); |
| |
| HRESULT (STDMETHODCALLTYPE *NotifyEndOfStream)( |
| IPinConnection* This, |
| HANDLE hNotifyEvent); |
| |
| HRESULT (STDMETHODCALLTYPE *IsEndPin)( |
| IPinConnection* This); |
| |
| HRESULT (STDMETHODCALLTYPE *DynamicDisconnect)( |
| IPinConnection* This); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IPinConnection_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IPinConnection_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IPinConnection_Release(p) (p)->lpVtbl->Release(p) |
| /*** IPinConnection methods ***/ |
| #define IPinConnection_DynamicQueryAccept(p,a) (p)->lpVtbl->DynamicQueryAccept(p,a) |
| #define IPinConnection_NotifyEndOfStream(p,a) (p)->lpVtbl->NotifyEndOfStream(p,a) |
| #define IPinConnection_IsEndPin(p) (p)->lpVtbl->IsEndPin(p) |
| #define IPinConnection_DynamicDisconnect(p) (p)->lpVtbl->DynamicDisconnect(p) |
| |
| #endif |
| |
| #define IPinConnection_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IPinConnection methods ***/ \ |
| STDMETHOD_(HRESULT,DynamicQueryAccept)(THIS_ const AM_MEDIA_TYPE* pmt) PURE; \ |
| STDMETHOD_(HRESULT,NotifyEndOfStream)(THIS_ HANDLE hNotifyEvent) PURE; \ |
| STDMETHOD_(HRESULT,IsEndPin)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,DynamicDisconnect)(THIS) PURE; |
| |
| HRESULT CALLBACK IPinConnection_DynamicQueryAccept_Proxy( |
| IPinConnection* This, |
| const AM_MEDIA_TYPE* pmt); |
| void __RPC_STUB IPinConnection_DynamicQueryAccept_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPinConnection_NotifyEndOfStream_Proxy( |
| IPinConnection* This, |
| HANDLE hNotifyEvent); |
| void __RPC_STUB IPinConnection_NotifyEndOfStream_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPinConnection_IsEndPin_Proxy( |
| IPinConnection* This); |
| void __RPC_STUB IPinConnection_IsEndPin_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPinConnection_DynamicDisconnect_Proxy( |
| IPinConnection* This); |
| void __RPC_STUB IPinConnection_DynamicDisconnect_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #endif /* __IPinConnection_INTERFACE_DEFINED__ */ |
| |
| /***************************************************************************** |
| * IPinFlowControl interface |
| */ |
| #ifndef __IPinFlowControl_INTERFACE_DEFINED__ |
| #define __IPinFlowControl_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IPinFlowControl, 0xc56e9858, 0xdbf3, 0x4f6b, 0x81,0x19, 0x38,0x4a,0xf2,0x06,0x0d,0xeb); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IPinFlowControl : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE Block( |
| DWORD dwBlockFlags, |
| HANDLE hEvent) = 0; |
| |
| }; |
| #else |
| typedef struct IPinFlowControlVtbl IPinFlowControlVtbl; |
| struct IPinFlowControl { |
| const IPinFlowControlVtbl* lpVtbl; |
| }; |
| struct IPinFlowControlVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IPinFlowControl* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IPinFlowControl* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IPinFlowControl* This); |
| |
| /*** IPinFlowControl methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Block)( |
| IPinFlowControl* This, |
| DWORD dwBlockFlags, |
| HANDLE hEvent); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IPinFlowControl_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IPinFlowControl_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IPinFlowControl_Release(p) (p)->lpVtbl->Release(p) |
| /*** IPinFlowControl methods ***/ |
| #define IPinFlowControl_Block(p,a,b) (p)->lpVtbl->Block(p,a,b) |
| |
| #endif |
| |
| #define IPinFlowControl_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IPinFlowControl methods ***/ \ |
| STDMETHOD_(HRESULT,Block)(THIS_ DWORD dwBlockFlags, HANDLE hEvent) PURE; |
| |
| HRESULT CALLBACK IPinFlowControl_Block_Proxy( |
| IPinFlowControl* This, |
| DWORD dwBlockFlags, |
| HANDLE hEvent); |
| void __RPC_STUB IPinFlowControl_Block_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #endif /* __IPinFlowControl_INTERFACE_DEFINED__ */ |
| |
| enum _AM_PIN_FLOW_CONTROL_BLOCK_FLAGS { |
| AM_PIN_FLOW_CONTROL_BLOCK = 0x1 |
| }; |
| |
| typedef enum _AM_GRAPH_CONFIG_RECONNECT_FLAGS { |
| AM_GRAPH_CONFIG_RECONNECT_DIRECTCONNECT = 0x1, |
| AM_GRAPH_CONFIG_RECONNECT_CACHE_REMOVED_FILTERS = 0x2, |
| AM_GRAPH_CONFIG_RECONNECT_USE_ONLY_CACHED_FILTERS = 0x4 |
| } AM_GRAPH_CONFIG_RECONNECT_FLAGS; |
| |
| enum _REM_FILTER_FLAGS { |
| REMFILTERF_LEAVECONNECTED = 0x1 |
| }; |
| |
| typedef enum _AM_FILTER_FLAGS { |
| AM_FILTER_FLAGS_REMOVABLE = 0x1 |
| } AM_FILTER_FLAGS; |
| |
| /***************************************************************************** |
| * IGraphConfig interface |
| */ |
| #ifndef __IGraphConfig_INTERFACE_DEFINED__ |
| #define __IGraphConfig_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IGraphConfig, 0x03a1eb8e, 0x32bf, 0x4245, 0x85,0x02, 0x11,0x4d,0x08,0xa9,0xcb,0x88); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IGraphConfig : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE Reconnect( |
| IPin* pOutputPin, |
| IPin* pInputPin, |
| const AM_MEDIA_TYPE* pmtFirstConnection, |
| IBaseFilter* pUsingFilter, |
| HANDLE hAbortEvent, |
| DWORD dwFlags) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Reconfigure( |
| IGraphConfigCallback* pCallback, |
| PVOID pvContext, |
| DWORD dwFlags, |
| HANDLE hAbortEvent) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE AddFilterToCache( |
| IBaseFilter* pFilter) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE EnumCacheFilter( |
| IEnumFilters** pEnum) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE RemoveFilterFromCache( |
| IBaseFilter* pFilter) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetStartTime( |
| REFERENCE_TIME* prtStart) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE PushThroughData( |
| IPin* pOutputPin, |
| IPinConnection* pConnection, |
| HANDLE hEventAbort) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetFilterFlags( |
| IBaseFilter* pFilter, |
| DWORD dwFlags) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetFilterFlags( |
| IBaseFilter* pFilter, |
| DWORD* pdwFlags) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE RemoveFilterEx( |
| IBaseFilter* pFilter, |
| DWORD Flags) = 0; |
| |
| }; |
| #else |
| typedef struct IGraphConfigVtbl IGraphConfigVtbl; |
| struct IGraphConfig { |
| const IGraphConfigVtbl* lpVtbl; |
| }; |
| struct IGraphConfigVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IGraphConfig* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IGraphConfig* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IGraphConfig* This); |
| |
| /*** IGraphConfig methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Reconnect)( |
| IGraphConfig* This, |
| IPin* pOutputPin, |
| IPin* pInputPin, |
| const AM_MEDIA_TYPE* pmtFirstConnection, |
| IBaseFilter* pUsingFilter, |
| HANDLE hAbortEvent, |
| DWORD dwFlags); |
| |
| HRESULT (STDMETHODCALLTYPE *Reconfigure)( |
| IGraphConfig* This, |
| IGraphConfigCallback* pCallback, |
| PVOID pvContext, |
| DWORD dwFlags, |
| HANDLE hAbortEvent); |
| |
| HRESULT (STDMETHODCALLTYPE *AddFilterToCache)( |
| IGraphConfig* This, |
| IBaseFilter* pFilter); |
| |
| HRESULT (STDMETHODCALLTYPE *EnumCacheFilter)( |
| IGraphConfig* This, |
| IEnumFilters** pEnum); |
| |
| HRESULT (STDMETHODCALLTYPE *RemoveFilterFromCache)( |
| IGraphConfig* This, |
| IBaseFilter* pFilter); |
| |
| HRESULT (STDMETHODCALLTYPE *GetStartTime)( |
| IGraphConfig* This, |
| REFERENCE_TIME* prtStart); |
| |
| HRESULT (STDMETHODCALLTYPE *PushThroughData)( |
| IGraphConfig* This, |
| IPin* pOutputPin, |
| IPinConnection* pConnection, |
| HANDLE hEventAbort); |
| |
| HRESULT (STDMETHODCALLTYPE *SetFilterFlags)( |
| IGraphConfig* This, |
| IBaseFilter* pFilter, |
| DWORD dwFlags); |
| |
| HRESULT (STDMETHODCALLTYPE *GetFilterFlags)( |
| IGraphConfig* This, |
| IBaseFilter* pFilter, |
| DWORD* pdwFlags); |
| |
| HRESULT (STDMETHODCALLTYPE *RemoveFilterEx)( |
| IGraphConfig* This, |
| IBaseFilter* pFilter, |
| DWORD Flags); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IGraphConfig_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IGraphConfig_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IGraphConfig_Release(p) (p)->lpVtbl->Release(p) |
| /*** IGraphConfig methods ***/ |
| #define IGraphConfig_Reconnect(p,a,b,c,d,e,f) (p)->lpVtbl->Reconnect(p,a,b,c,d,e,f) |
| #define IGraphConfig_Reconfigure(p,a,b,c,d) (p)->lpVtbl->Reconfigure(p,a,b,c,d) |
| #define IGraphConfig_AddFilterToCache(p,a) (p)->lpVtbl->AddFilterToCache(p,a) |
| #define IGraphConfig_EnumCacheFilter(p,a) (p)->lpVtbl->EnumCacheFilter(p,a) |
| #define IGraphConfig_RemoveFilterFromCache(p,a) (p)->lpVtbl->RemoveFilterFromCache(p,a) |
| #define IGraphConfig_GetStartTime(p,a) (p)->lpVtbl->GetStartTime(p,a) |
| #define IGraphConfig_PushThroughData(p,a,b,c) (p)->lpVtbl->PushThroughData(p,a,b,c) |
| #define IGraphConfig_SetFilterFlags(p,a,b) (p)->lpVtbl->SetFilterFlags(p,a,b) |
| #define IGraphConfig_GetFilterFlags(p,a,b) (p)->lpVtbl->GetFilterFlags(p,a,b) |
| #define IGraphConfig_RemoveFilterEx(p,a,b) (p)->lpVtbl->RemoveFilterEx(p,a,b) |
| |
| #endif |
| |
| #define IGraphConfig_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IGraphConfig methods ***/ \ |
| STDMETHOD_(HRESULT,Reconnect)(THIS_ IPin* pOutputPin, IPin* pInputPin, const AM_MEDIA_TYPE* pmtFirstConnection, IBaseFilter* pUsingFilter, HANDLE hAbortEvent, DWORD dwFlags) PURE; \ |
| STDMETHOD_(HRESULT,Reconfigure)(THIS_ IGraphConfigCallback* pCallback, PVOID pvContext, DWORD dwFlags, HANDLE hAbortEvent) PURE; \ |
| STDMETHOD_(HRESULT,AddFilterToCache)(THIS_ IBaseFilter* pFilter) PURE; \ |
| STDMETHOD_(HRESULT,EnumCacheFilter)(THIS_ IEnumFilters** pEnum) PURE; \ |
| STDMETHOD_(HRESULT,RemoveFilterFromCache)(THIS_ IBaseFilter* pFilter) PURE; \ |
| STDMETHOD_(HRESULT,GetStartTime)(THIS_ REFERENCE_TIME* prtStart) PURE; \ |
| STDMETHOD_(HRESULT,PushThroughData)(THIS_ IPin* pOutputPin, IPinConnection* pConnection, HANDLE hEventAbort) PURE; \ |
| STDMETHOD_(HRESULT,SetFilterFlags)(THIS_ IBaseFilter* pFilter, DWORD dwFlags) PURE; \ |
| STDMETHOD_(HRESULT,GetFilterFlags)(THIS_ IBaseFilter* pFilter, DWORD* pdwFlags) PURE; \ |
| STDMETHOD_(HRESULT,RemoveFilterEx)(THIS_ IBaseFilter* pFilter, DWORD Flags) PURE; |
| |
| HRESULT CALLBACK IGraphConfig_Reconnect_Proxy( |
| IGraphConfig* This, |
| IPin* pOutputPin, |
| IPin* pInputPin, |
| const AM_MEDIA_TYPE* pmtFirstConnection, |
| IBaseFilter* pUsingFilter, |
| HANDLE hAbortEvent, |
| DWORD dwFlags); |
| void __RPC_STUB IGraphConfig_Reconnect_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IGraphConfig_Reconfigure_Proxy( |
| IGraphConfig* This, |
| IGraphConfigCallback* pCallback, |
| PVOID pvContext, |
| DWORD dwFlags, |
| HANDLE hAbortEvent); |
| void __RPC_STUB IGraphConfig_Reconfigure_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IGraphConfig_AddFilterToCache_Proxy( |
| IGraphConfig* This, |
| IBaseFilter* pFilter); |
| void __RPC_STUB IGraphConfig_AddFilterToCache_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IGraphConfig_EnumCacheFilter_Proxy( |
| IGraphConfig* This, |
| IEnumFilters** pEnum); |
| void __RPC_STUB IGraphConfig_EnumCacheFilter_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IGraphConfig_RemoveFilterFromCache_Proxy( |
| IGraphConfig* This, |
| IBaseFilter* pFilter); |
| void __RPC_STUB IGraphConfig_RemoveFilterFromCache_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IGraphConfig_GetStartTime_Proxy( |
| IGraphConfig* This, |
| REFERENCE_TIME* prtStart); |
| void __RPC_STUB IGraphConfig_GetStartTime_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IGraphConfig_PushThroughData_Proxy( |
| IGraphConfig* This, |
| IPin* pOutputPin, |
| IPinConnection* pConnection, |
| HANDLE hEventAbort); |
| void __RPC_STUB IGraphConfig_PushThroughData_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IGraphConfig_SetFilterFlags_Proxy( |
| IGraphConfig* This, |
| IBaseFilter* pFilter, |
| DWORD dwFlags); |
| void __RPC_STUB IGraphConfig_SetFilterFlags_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IGraphConfig_GetFilterFlags_Proxy( |
| IGraphConfig* This, |
| IBaseFilter* pFilter, |
| DWORD* pdwFlags); |
| void __RPC_STUB IGraphConfig_GetFilterFlags_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IGraphConfig_RemoveFilterEx_Proxy( |
| IGraphConfig* This, |
| IBaseFilter* pFilter, |
| DWORD Flags); |
| void __RPC_STUB IGraphConfig_RemoveFilterEx_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #endif /* __IGraphConfig_INTERFACE_DEFINED__ */ |
| |
| /***************************************************************************** |
| * IGraphConfigCallback interface |
| */ |
| #ifndef __IGraphConfigCallback_INTERFACE_DEFINED__ |
| #define __IGraphConfigCallback_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IGraphConfigCallback, 0xade0fd60, 0xd19d, 0x11d2, 0xab,0xf6, 0x00,0xa0,0xc9,0x05,0xf3,0x75); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IGraphConfigCallback : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE Reconfigure( |
| PVOID pvContext, |
| DWORD dwFlags) = 0; |
| |
| }; |
| #else |
| typedef struct IGraphConfigCallbackVtbl IGraphConfigCallbackVtbl; |
| struct IGraphConfigCallback { |
| const IGraphConfigCallbackVtbl* lpVtbl; |
| }; |
| struct IGraphConfigCallbackVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IGraphConfigCallback* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IGraphConfigCallback* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IGraphConfigCallback* This); |
| |
| /*** IGraphConfigCallback methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Reconfigure)( |
| IGraphConfigCallback* This, |
| PVOID pvContext, |
| DWORD dwFlags); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IGraphConfigCallback_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IGraphConfigCallback_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IGraphConfigCallback_Release(p) (p)->lpVtbl->Release(p) |
| /*** IGraphConfigCallback methods ***/ |
| #define IGraphConfigCallback_Reconfigure(p,a,b) (p)->lpVtbl->Reconfigure(p,a,b) |
| |
| #endif |
| |
| #define IGraphConfigCallback_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IGraphConfigCallback methods ***/ \ |
| STDMETHOD_(HRESULT,Reconfigure)(THIS_ PVOID pvContext, DWORD dwFlags) PURE; |
| |
| HRESULT CALLBACK IGraphConfigCallback_Reconfigure_Proxy( |
| IGraphConfigCallback* This, |
| PVOID pvContext, |
| DWORD dwFlags); |
| void __RPC_STUB IGraphConfigCallback_Reconfigure_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #endif /* __IGraphConfigCallback_INTERFACE_DEFINED__ */ |
| |
| #ifndef __IFilterChain_FWD_DEFINED__ |
| #define __IFilterChain_FWD_DEFINED__ |
| typedef struct IFilterChain IFilterChain; |
| #endif |
| |
| /***************************************************************************** |
| * IFilterChain interface |
| */ |
| #ifndef __IFilterChain_INTERFACE_DEFINED__ |
| #define __IFilterChain_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IFilterChain, 0xdcfbdcf6, 0x0dc2, 0x45f5, 0x9a,0xb2, 0x7c,0x33,0x0e,0xa0,0x9c,0x29); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IFilterChain : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE StartChain( |
| IBaseFilter* pStartFilter, |
| IBaseFilter* pEndFilter) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE PauseChain( |
| IBaseFilter* pStartFilter, |
| IBaseFilter* pEndFilter) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE StopChain( |
| IBaseFilter* pStartFilter, |
| IBaseFilter* pEndFilter) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE RemoveChain( |
| IBaseFilter* pStartFilter, |
| IBaseFilter* pEndFilter) = 0; |
| |
| }; |
| #else |
| typedef struct IFilterChainVtbl IFilterChainVtbl; |
| struct IFilterChain { |
| const IFilterChainVtbl* lpVtbl; |
| }; |
| struct IFilterChainVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IFilterChain* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IFilterChain* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IFilterChain* This); |
| |
| /*** IFilterChain methods ***/ |
| HRESULT (STDMETHODCALLTYPE *StartChain)( |
| IFilterChain* This, |
| IBaseFilter* pStartFilter, |
| IBaseFilter* pEndFilter); |
| |
| HRESULT (STDMETHODCALLTYPE *PauseChain)( |
| IFilterChain* This, |
| IBaseFilter* pStartFilter, |
| IBaseFilter* pEndFilter); |
| |
| HRESULT (STDMETHODCALLTYPE *StopChain)( |
| IFilterChain* This, |
| IBaseFilter* pStartFilter, |
| IBaseFilter* pEndFilter); |
| |
| HRESULT (STDMETHODCALLTYPE *RemoveChain)( |
| IFilterChain* This, |
| IBaseFilter* pStartFilter, |
| IBaseFilter* pEndFilter); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IFilterChain_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IFilterChain_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IFilterChain_Release(p) (p)->lpVtbl->Release(p) |
| /*** IFilterChain methods ***/ |
| #define IFilterChain_StartChain(p,a,b) (p)->lpVtbl->StartChain(p,a,b) |
| #define IFilterChain_PauseChain(p,a,b) (p)->lpVtbl->PauseChain(p,a,b) |
| #define IFilterChain_StopChain(p,a,b) (p)->lpVtbl->StopChain(p,a,b) |
| #define IFilterChain_RemoveChain(p,a,b) (p)->lpVtbl->RemoveChain(p,a,b) |
| |
| #endif |
| |
| #define IFilterChain_METHODS \ |
| ICOM_MSVTABLE_COMPAT_FIELDS \ |
| /*** IUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; \ |
| /*** IFilterChain methods ***/ \ |
| STDMETHOD_(HRESULT,StartChain)(THIS_ IBaseFilter* pStartFilter, IBaseFilter* pEndFilter) PURE; \ |
| STDMETHOD_(HRESULT,PauseChain)(THIS_ IBaseFilter* pStartFilter, IBaseFilter* pEndFilter) PURE; \ |
| STDMETHOD_(HRESULT,StopChain)(THIS_ IBaseFilter* pStartFilter, IBaseFilter* pEndFilter) PURE; \ |
| STDMETHOD_(HRESULT,RemoveChain)(THIS_ IBaseFilter* pStartFilter, IBaseFilter* pEndFilter) PURE; |
| |
| HRESULT CALLBACK IFilterChain_StartChain_Proxy( |
| IFilterChain* This, |
| IBaseFilter* pStartFilter, |
| IBaseFilter* pEndFilter); |
| void __RPC_STUB IFilterChain_StartChain_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IFilterChain_PauseChain_Proxy( |
| IFilterChain* This, |
| IBaseFilter* pStartFilter, |
| IBaseFilter* pEndFilter); |
| void __RPC_STUB IFilterChain_PauseChain_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IFilterChain_StopChain_Proxy( |
| IFilterChain* This, |
| IBaseFilter* pStartFilter, |
| IBaseFilter* pEndFilter); |
| void __RPC_STUB IFilterChain_StopChain_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IFilterChain_RemoveChain_Proxy( |
| IFilterChain* This, |
| IBaseFilter* pStartFilter, |
| IBaseFilter* pEndFilter); |
| void __RPC_STUB IFilterChain_RemoveChain_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #endif /* __IFilterChain_INTERFACE_DEFINED__ */ |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| #endif /* __WIDL_STRMIF_H */ |