/*** Autogenerated by WIDL 6.4 from include/amstream.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ #define __REQUIRED_RPCNDR_H_VERSION__ 475 #endif #include #include #endif #ifndef COM_NO_WINDOWS_H #include #include #endif #ifndef __amstream_h__ #define __amstream_h__ /* Forward declarations */ #ifndef __IDirectShowStream_FWD_DEFINED__ #define __IDirectShowStream_FWD_DEFINED__ typedef interface IDirectShowStream IDirectShowStream; #ifdef __cplusplus interface IDirectShowStream; #endif /* __cplusplus */ #endif #ifndef __IAMMultiMediaStream_FWD_DEFINED__ #define __IAMMultiMediaStream_FWD_DEFINED__ typedef interface IAMMultiMediaStream IAMMultiMediaStream; #ifdef __cplusplus interface IAMMultiMediaStream; #endif /* __cplusplus */ #endif #ifndef __IAMMediaStream_FWD_DEFINED__ #define __IAMMediaStream_FWD_DEFINED__ typedef interface IAMMediaStream IAMMediaStream; #ifdef __cplusplus interface IAMMediaStream; #endif /* __cplusplus */ #endif #ifndef __IMediaStreamFilter_FWD_DEFINED__ #define __IMediaStreamFilter_FWD_DEFINED__ typedef interface IMediaStreamFilter IMediaStreamFilter; #ifdef __cplusplus interface IMediaStreamFilter; #endif /* __cplusplus */ #endif #ifndef __IDirectDrawMediaSampleAllocator_FWD_DEFINED__ #define __IDirectDrawMediaSampleAllocator_FWD_DEFINED__ typedef interface IDirectDrawMediaSampleAllocator IDirectDrawMediaSampleAllocator; #ifdef __cplusplus interface IDirectDrawMediaSampleAllocator; #endif /* __cplusplus */ #endif #ifndef __IDirectDrawMediaSample_FWD_DEFINED__ #define __IDirectDrawMediaSample_FWD_DEFINED__ typedef interface IDirectDrawMediaSample IDirectDrawMediaSample; #ifdef __cplusplus interface IDirectDrawMediaSample; #endif /* __cplusplus */ #endif #ifndef __IAMMediaTypeStream_FWD_DEFINED__ #define __IAMMediaTypeStream_FWD_DEFINED__ typedef interface IAMMediaTypeStream IAMMediaTypeStream; #ifdef __cplusplus interface IAMMediaTypeStream; #endif /* __cplusplus */ #endif #ifndef __IAMMediaTypeSample_FWD_DEFINED__ #define __IAMMediaTypeSample_FWD_DEFINED__ typedef interface IAMMediaTypeSample IAMMediaTypeSample; #ifdef __cplusplus interface IAMMediaTypeSample; #endif /* __cplusplus */ #endif #ifndef __AMMultiMediaStream_FWD_DEFINED__ #define __AMMultiMediaStream_FWD_DEFINED__ #ifdef __cplusplus typedef class AMMultiMediaStream AMMultiMediaStream; #else typedef struct AMMultiMediaStream AMMultiMediaStream; #endif /* defined __cplusplus */ #endif /* defined __AMMultiMediaStream_FWD_DEFINED__ */ /* Headers for imported files */ #include #include #include #ifdef __cplusplus extern "C" { #endif #include #include #include #include #include #if 0 #ifndef __IDirectDraw_FWD_DEFINED__ #define __IDirectDraw_FWD_DEFINED__ typedef interface IDirectDraw IDirectDraw; #ifdef __cplusplus interface IDirectDraw; #endif /* __cplusplus */ #endif #ifndef __IDirectDrawSurface_FWD_DEFINED__ #define __IDirectDrawSurface_FWD_DEFINED__ typedef interface IDirectDrawSurface IDirectDrawSurface; #ifdef __cplusplus interface IDirectDrawSurface; #endif /* __cplusplus */ #endif #endif #ifndef __IAMMultiMediaStream_FWD_DEFINED__ #define __IAMMultiMediaStream_FWD_DEFINED__ typedef interface IAMMultiMediaStream IAMMultiMediaStream; #ifdef __cplusplus interface IAMMultiMediaStream; #endif /* __cplusplus */ #endif #ifndef __IAMMediaStream_FWD_DEFINED__ #define __IAMMediaStream_FWD_DEFINED__ typedef interface IAMMediaStream IAMMediaStream; #ifdef __cplusplus interface IAMMediaStream; #endif /* __cplusplus */ #endif #ifndef __IMediaStreamFilter_FWD_DEFINED__ #define __IMediaStreamFilter_FWD_DEFINED__ typedef interface IMediaStreamFilter IMediaStreamFilter; #ifdef __cplusplus interface IMediaStreamFilter; #endif /* __cplusplus */ #endif #ifndef __IAMMediaTypeStream_FWD_DEFINED__ #define __IAMMediaTypeStream_FWD_DEFINED__ typedef interface IAMMediaTypeStream IAMMediaTypeStream; #ifdef __cplusplus interface IAMMediaTypeStream; #endif /* __cplusplus */ #endif #ifndef __IAMMediaTypeSample_FWD_DEFINED__ #define __IAMMediaTypeSample_FWD_DEFINED__ typedef interface IAMMediaTypeSample IAMMediaTypeSample; #ifdef __cplusplus interface IAMMediaTypeSample; #endif /* __cplusplus */ #endif enum { AMMSF_NOGRAPHTHREAD = 0x1 }; enum { AMMSF_ADDDEFAULTRENDERER = 0x1, AMMSF_CREATEPEER = 0x2, AMMSF_STOPIFNOSAMPLES = 0x4, AMMSF_NOSTALL = 0x8 }; enum { AMMSF_RENDERTYPEMASK = 0x3, AMMSF_RENDERTOEXISTING = 0x0, AMMSF_RENDERALLSTREAMS = 0x1, AMMSF_NORENDER = 0x2, AMMSF_NOCLOCK = 0x4, AMMSF_RUN = 0x8 }; typedef enum __WIDL_amstream_generated_name_00000019 { Disabled = 0, ReadData = 1, RenderData = 2 } OUTPUT_STATE; /***************************************************************************** * IDirectShowStream interface */ #ifndef __IDirectShowStream_INTERFACE_DEFINED__ #define __IDirectShowStream_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDirectShowStream, 0x7db01c96, 0xc0c3, 0x11d0, 0x8f,0xf1, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("7db01c96-c0c3-11d0-8ff1-00c04fd9189d") IDirectShowStream : public IDispatch { virtual HRESULT STDMETHODCALLTYPE get_FileName( BSTR *pVal) = 0; virtual HRESULT STDMETHODCALLTYPE put_FileName( BSTR newVal) = 0; virtual HRESULT STDMETHODCALLTYPE get_Video( OUTPUT_STATE *pVal) = 0; virtual HRESULT STDMETHODCALLTYPE put_Video( OUTPUT_STATE newVal) = 0; virtual HRESULT STDMETHODCALLTYPE get_Audio( OUTPUT_STATE *pVal) = 0; virtual HRESULT STDMETHODCALLTYPE put_Audio( OUTPUT_STATE newVal) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDirectShowStream, 0x7db01c96, 0xc0c3, 0x11d0, 0x8f,0xf1, 0x00,0xc0,0x4f,0xd9,0x18,0x9d) #endif #else typedef struct IDirectShowStreamVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDirectShowStream *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDirectShowStream *This); ULONG (STDMETHODCALLTYPE *Release)( IDirectShowStream *This); /*** IDispatch methods ***/ HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( IDirectShowStream *This, UINT *pctinfo); HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( IDirectShowStream *This, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo); HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( IDirectShowStream *This, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId); HRESULT (STDMETHODCALLTYPE *Invoke)( IDirectShowStream *This, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr); /*** IDirectShowStream methods ***/ HRESULT (STDMETHODCALLTYPE *get_FileName)( IDirectShowStream *This, BSTR *pVal); HRESULT (STDMETHODCALLTYPE *put_FileName)( IDirectShowStream *This, BSTR newVal); HRESULT (STDMETHODCALLTYPE *get_Video)( IDirectShowStream *This, OUTPUT_STATE *pVal); HRESULT (STDMETHODCALLTYPE *put_Video)( IDirectShowStream *This, OUTPUT_STATE newVal); HRESULT (STDMETHODCALLTYPE *get_Audio)( IDirectShowStream *This, OUTPUT_STATE *pVal); HRESULT (STDMETHODCALLTYPE *put_Audio)( IDirectShowStream *This, OUTPUT_STATE newVal); END_INTERFACE } IDirectShowStreamVtbl; interface IDirectShowStream { CONST_VTBL IDirectShowStreamVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDirectShowStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDirectShowStream_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDirectShowStream_Release(This) (This)->lpVtbl->Release(This) /*** IDispatch methods ***/ #define IDirectShowStream_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) #define IDirectShowStream_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) #define IDirectShowStream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) #define IDirectShowStream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) /*** IDirectShowStream methods ***/ #define IDirectShowStream_get_FileName(This,pVal) (This)->lpVtbl->get_FileName(This,pVal) #define IDirectShowStream_put_FileName(This,newVal) (This)->lpVtbl->put_FileName(This,newVal) #define IDirectShowStream_get_Video(This,pVal) (This)->lpVtbl->get_Video(This,pVal) #define IDirectShowStream_put_Video(This,newVal) (This)->lpVtbl->put_Video(This,newVal) #define IDirectShowStream_get_Audio(This,pVal) (This)->lpVtbl->get_Audio(This,pVal) #define IDirectShowStream_put_Audio(This,newVal) (This)->lpVtbl->put_Audio(This,newVal) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDirectShowStream_QueryInterface(IDirectShowStream* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDirectShowStream_AddRef(IDirectShowStream* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDirectShowStream_Release(IDirectShowStream* This) { return This->lpVtbl->Release(This); } /*** IDispatch methods ***/ static FORCEINLINE HRESULT IDirectShowStream_GetTypeInfoCount(IDirectShowStream* This,UINT *pctinfo) { return This->lpVtbl->GetTypeInfoCount(This,pctinfo); } static FORCEINLINE HRESULT IDirectShowStream_GetTypeInfo(IDirectShowStream* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); } static FORCEINLINE HRESULT IDirectShowStream_GetIDsOfNames(IDirectShowStream* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); } static FORCEINLINE HRESULT IDirectShowStream_Invoke(IDirectShowStream* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) { return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr); } /*** IDirectShowStream methods ***/ static FORCEINLINE HRESULT IDirectShowStream_get_FileName(IDirectShowStream* This,BSTR *pVal) { return This->lpVtbl->get_FileName(This,pVal); } static FORCEINLINE HRESULT IDirectShowStream_put_FileName(IDirectShowStream* This,BSTR newVal) { return This->lpVtbl->put_FileName(This,newVal); } static FORCEINLINE HRESULT IDirectShowStream_get_Video(IDirectShowStream* This,OUTPUT_STATE *pVal) { return This->lpVtbl->get_Video(This,pVal); } static FORCEINLINE HRESULT IDirectShowStream_put_Video(IDirectShowStream* This,OUTPUT_STATE newVal) { return This->lpVtbl->put_Video(This,newVal); } static FORCEINLINE HRESULT IDirectShowStream_get_Audio(IDirectShowStream* This,OUTPUT_STATE *pVal) { return This->lpVtbl->get_Audio(This,pVal); } static FORCEINLINE HRESULT IDirectShowStream_put_Audio(IDirectShowStream* This,OUTPUT_STATE newVal) { return This->lpVtbl->put_Audio(This,newVal); } #endif #endif #endif #endif /* __IDirectShowStream_INTERFACE_DEFINED__ */ /***************************************************************************** * IAMMultiMediaStream interface */ #ifndef __IAMMultiMediaStream_INTERFACE_DEFINED__ #define __IAMMultiMediaStream_INTERFACE_DEFINED__ DEFINE_GUID(IID_IAMMultiMediaStream, 0xbebe595c, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("bebe595c-9a6f-11d0-8fde-00c04fd9189d") IAMMultiMediaStream : public IMultiMediaStream { virtual HRESULT STDMETHODCALLTYPE Initialize( STREAM_TYPE StreamType, DWORD dwFlags, IGraphBuilder *pFilterGraph) = 0; virtual HRESULT STDMETHODCALLTYPE GetFilterGraph( IGraphBuilder **ppGraphBuilder) = 0; virtual HRESULT STDMETHODCALLTYPE GetFilter( IMediaStreamFilter **ppFilter) = 0; virtual HRESULT STDMETHODCALLTYPE AddMediaStream( IUnknown *pStreamObject, const MSPID *PurposeId, DWORD dwFlags, IMediaStream **ppNewStream) = 0; virtual HRESULT STDMETHODCALLTYPE OpenFile( LPCWSTR pszFileName, DWORD dwFlags) = 0; virtual HRESULT STDMETHODCALLTYPE OpenMoniker( IBindCtx *pCtx, IMoniker *pMoniker, DWORD dwFlags) = 0; virtual HRESULT STDMETHODCALLTYPE Render( DWORD dwFlags) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IAMMultiMediaStream, 0xbebe595c, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d) #endif #else typedef struct IAMMultiMediaStreamVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IAMMultiMediaStream *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IAMMultiMediaStream *This); ULONG (STDMETHODCALLTYPE *Release)( IAMMultiMediaStream *This); /*** IMultiMediaStream methods ***/ HRESULT (STDMETHODCALLTYPE *GetInformation)( IAMMultiMediaStream *This, DWORD *pdwFlags, STREAM_TYPE *pStreamType); HRESULT (STDMETHODCALLTYPE *GetMediaStream)( IAMMultiMediaStream *This, REFMSPID idPurpose, IMediaStream **ppMediaStream); HRESULT (STDMETHODCALLTYPE *EnumMediaStreams)( IAMMultiMediaStream *This, LONG Index, IMediaStream **ppMediaStream); HRESULT (STDMETHODCALLTYPE *GetState)( IAMMultiMediaStream *This, STREAM_STATE *pCurrentState); HRESULT (STDMETHODCALLTYPE *SetState)( IAMMultiMediaStream *This, STREAM_STATE NewState); HRESULT (STDMETHODCALLTYPE *GetTime)( IAMMultiMediaStream *This, STREAM_TIME *pCurrentTime); HRESULT (STDMETHODCALLTYPE *GetDuration)( IAMMultiMediaStream *This, STREAM_TIME *pDuration); HRESULT (STDMETHODCALLTYPE *Seek)( IAMMultiMediaStream *This, STREAM_TIME SeekTime); HRESULT (STDMETHODCALLTYPE *GetEndOfStreamEventHandle)( IAMMultiMediaStream *This, HANDLE *phEOS); /*** IAMMultiMediaStream methods ***/ HRESULT (STDMETHODCALLTYPE *Initialize)( IAMMultiMediaStream *This, STREAM_TYPE StreamType, DWORD dwFlags, IGraphBuilder *pFilterGraph); HRESULT (STDMETHODCALLTYPE *GetFilterGraph)( IAMMultiMediaStream *This, IGraphBuilder **ppGraphBuilder); HRESULT (STDMETHODCALLTYPE *GetFilter)( IAMMultiMediaStream *This, IMediaStreamFilter **ppFilter); HRESULT (STDMETHODCALLTYPE *AddMediaStream)( IAMMultiMediaStream *This, IUnknown *pStreamObject, const MSPID *PurposeId, DWORD dwFlags, IMediaStream **ppNewStream); HRESULT (STDMETHODCALLTYPE *OpenFile)( IAMMultiMediaStream *This, LPCWSTR pszFileName, DWORD dwFlags); HRESULT (STDMETHODCALLTYPE *OpenMoniker)( IAMMultiMediaStream *This, IBindCtx *pCtx, IMoniker *pMoniker, DWORD dwFlags); HRESULT (STDMETHODCALLTYPE *Render)( IAMMultiMediaStream *This, DWORD dwFlags); END_INTERFACE } IAMMultiMediaStreamVtbl; interface IAMMultiMediaStream { CONST_VTBL IAMMultiMediaStreamVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IAMMultiMediaStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IAMMultiMediaStream_AddRef(This) (This)->lpVtbl->AddRef(This) #define IAMMultiMediaStream_Release(This) (This)->lpVtbl->Release(This) /*** IMultiMediaStream methods ***/ #define IAMMultiMediaStream_GetInformation(This,pdwFlags,pStreamType) (This)->lpVtbl->GetInformation(This,pdwFlags,pStreamType) #define IAMMultiMediaStream_GetMediaStream(This,idPurpose,ppMediaStream) (This)->lpVtbl->GetMediaStream(This,idPurpose,ppMediaStream) #define IAMMultiMediaStream_EnumMediaStreams(This,Index,ppMediaStream) (This)->lpVtbl->EnumMediaStreams(This,Index,ppMediaStream) #define IAMMultiMediaStream_GetState(This,pCurrentState) (This)->lpVtbl->GetState(This,pCurrentState) #define IAMMultiMediaStream_SetState(This,NewState) (This)->lpVtbl->SetState(This,NewState) #define IAMMultiMediaStream_GetTime(This,pCurrentTime) (This)->lpVtbl->GetTime(This,pCurrentTime) #define IAMMultiMediaStream_GetDuration(This,pDuration) (This)->lpVtbl->GetDuration(This,pDuration) #define IAMMultiMediaStream_Seek(This,SeekTime) (This)->lpVtbl->Seek(This,SeekTime) #define IAMMultiMediaStream_GetEndOfStreamEventHandle(This,phEOS) (This)->lpVtbl->GetEndOfStreamEventHandle(This,phEOS) /*** IAMMultiMediaStream methods ***/ #define IAMMultiMediaStream_Initialize(This,StreamType,dwFlags,pFilterGraph) (This)->lpVtbl->Initialize(This,StreamType,dwFlags,pFilterGraph) #define IAMMultiMediaStream_GetFilterGraph(This,ppGraphBuilder) (This)->lpVtbl->GetFilterGraph(This,ppGraphBuilder) #define IAMMultiMediaStream_GetFilter(This,ppFilter) (This)->lpVtbl->GetFilter(This,ppFilter) #define IAMMultiMediaStream_AddMediaStream(This,pStreamObject,PurposeId,dwFlags,ppNewStream) (This)->lpVtbl->AddMediaStream(This,pStreamObject,PurposeId,dwFlags,ppNewStream) #define IAMMultiMediaStream_OpenFile(This,pszFileName,dwFlags) (This)->lpVtbl->OpenFile(This,pszFileName,dwFlags) #define IAMMultiMediaStream_OpenMoniker(This,pCtx,pMoniker,dwFlags) (This)->lpVtbl->OpenMoniker(This,pCtx,pMoniker,dwFlags) #define IAMMultiMediaStream_Render(This,dwFlags) (This)->lpVtbl->Render(This,dwFlags) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IAMMultiMediaStream_QueryInterface(IAMMultiMediaStream* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IAMMultiMediaStream_AddRef(IAMMultiMediaStream* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IAMMultiMediaStream_Release(IAMMultiMediaStream* This) { return This->lpVtbl->Release(This); } /*** IMultiMediaStream methods ***/ static FORCEINLINE HRESULT IAMMultiMediaStream_GetInformation(IAMMultiMediaStream* This,DWORD *pdwFlags,STREAM_TYPE *pStreamType) { return This->lpVtbl->GetInformation(This,pdwFlags,pStreamType); } static FORCEINLINE HRESULT IAMMultiMediaStream_GetMediaStream(IAMMultiMediaStream* This,REFMSPID idPurpose,IMediaStream **ppMediaStream) { return This->lpVtbl->GetMediaStream(This,idPurpose,ppMediaStream); } static FORCEINLINE HRESULT IAMMultiMediaStream_EnumMediaStreams(IAMMultiMediaStream* This,LONG Index,IMediaStream **ppMediaStream) { return This->lpVtbl->EnumMediaStreams(This,Index,ppMediaStream); } static FORCEINLINE HRESULT IAMMultiMediaStream_GetState(IAMMultiMediaStream* This,STREAM_STATE *pCurrentState) { return This->lpVtbl->GetState(This,pCurrentState); } static FORCEINLINE HRESULT IAMMultiMediaStream_SetState(IAMMultiMediaStream* This,STREAM_STATE NewState) { return This->lpVtbl->SetState(This,NewState); } static FORCEINLINE HRESULT IAMMultiMediaStream_GetTime(IAMMultiMediaStream* This,STREAM_TIME *pCurrentTime) { return This->lpVtbl->GetTime(This,pCurrentTime); } static FORCEINLINE HRESULT IAMMultiMediaStream_GetDuration(IAMMultiMediaStream* This,STREAM_TIME *pDuration) { return This->lpVtbl->GetDuration(This,pDuration); } static FORCEINLINE HRESULT IAMMultiMediaStream_Seek(IAMMultiMediaStream* This,STREAM_TIME SeekTime) { return This->lpVtbl->Seek(This,SeekTime); } static FORCEINLINE HRESULT IAMMultiMediaStream_GetEndOfStreamEventHandle(IAMMultiMediaStream* This,HANDLE *phEOS) { return This->lpVtbl->GetEndOfStreamEventHandle(This,phEOS); } /*** IAMMultiMediaStream methods ***/ static FORCEINLINE HRESULT IAMMultiMediaStream_Initialize(IAMMultiMediaStream* This,STREAM_TYPE StreamType,DWORD dwFlags,IGraphBuilder *pFilterGraph) { return This->lpVtbl->Initialize(This,StreamType,dwFlags,pFilterGraph); } static FORCEINLINE HRESULT IAMMultiMediaStream_GetFilterGraph(IAMMultiMediaStream* This,IGraphBuilder **ppGraphBuilder) { return This->lpVtbl->GetFilterGraph(This,ppGraphBuilder); } static FORCEINLINE HRESULT IAMMultiMediaStream_GetFilter(IAMMultiMediaStream* This,IMediaStreamFilter **ppFilter) { return This->lpVtbl->GetFilter(This,ppFilter); } static FORCEINLINE HRESULT IAMMultiMediaStream_AddMediaStream(IAMMultiMediaStream* This,IUnknown *pStreamObject,const MSPID *PurposeId,DWORD dwFlags,IMediaStream **ppNewStream) { return This->lpVtbl->AddMediaStream(This,pStreamObject,PurposeId,dwFlags,ppNewStream); } static FORCEINLINE HRESULT IAMMultiMediaStream_OpenFile(IAMMultiMediaStream* This,LPCWSTR pszFileName,DWORD dwFlags) { return This->lpVtbl->OpenFile(This,pszFileName,dwFlags); } static FORCEINLINE HRESULT IAMMultiMediaStream_OpenMoniker(IAMMultiMediaStream* This,IBindCtx *pCtx,IMoniker *pMoniker,DWORD dwFlags) { return This->lpVtbl->OpenMoniker(This,pCtx,pMoniker,dwFlags); } static FORCEINLINE HRESULT IAMMultiMediaStream_Render(IAMMultiMediaStream* This,DWORD dwFlags) { return This->lpVtbl->Render(This,dwFlags); } #endif #endif #endif #endif /* __IAMMultiMediaStream_INTERFACE_DEFINED__ */ /***************************************************************************** * IAMMediaStream interface */ #ifndef __IAMMediaStream_INTERFACE_DEFINED__ #define __IAMMediaStream_INTERFACE_DEFINED__ DEFINE_GUID(IID_IAMMediaStream, 0xbebe595d, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("bebe595d-9a6f-11d0-8fde-00c04fd9189d") IAMMediaStream : public IMediaStream { virtual HRESULT STDMETHODCALLTYPE Initialize( IUnknown *pSourceObject, DWORD dwFlags, REFMSPID PurposeId, const STREAM_TYPE StreamType) = 0; virtual HRESULT STDMETHODCALLTYPE SetState( FILTER_STATE State) = 0; virtual HRESULT STDMETHODCALLTYPE JoinAMMultiMediaStream( IAMMultiMediaStream *pAMMultiMediaStream) = 0; virtual HRESULT STDMETHODCALLTYPE JoinFilter( IMediaStreamFilter *pMediaStreamFilter) = 0; virtual HRESULT STDMETHODCALLTYPE JoinFilterGraph( IFilterGraph *pFilterGraph) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IAMMediaStream, 0xbebe595d, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d) #endif #else typedef struct IAMMediaStreamVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IAMMediaStream *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IAMMediaStream *This); ULONG (STDMETHODCALLTYPE *Release)( IAMMediaStream *This); /*** IMediaStream methods ***/ HRESULT (STDMETHODCALLTYPE *GetMultiMediaStream)( IAMMediaStream *This, IMultiMediaStream **ppMultiMediaStream); HRESULT (STDMETHODCALLTYPE *GetInformation)( IAMMediaStream *This, MSPID *pPurposeId, STREAM_TYPE *pType); HRESULT (STDMETHODCALLTYPE *SetSameFormat)( IAMMediaStream *This, IMediaStream *pStreamThatHasDesiredFormat, DWORD dwFlags); HRESULT (STDMETHODCALLTYPE *AllocateSample)( IAMMediaStream *This, DWORD dwFlags, IStreamSample **ppSample); HRESULT (STDMETHODCALLTYPE *CreateSharedSample)( IAMMediaStream *This, IStreamSample *pExistingSample, DWORD dwFlags, IStreamSample **ppNewSample); HRESULT (STDMETHODCALLTYPE *SendEndOfStream)( IAMMediaStream *This, DWORD dwFlags); /*** IAMMediaStream methods ***/ HRESULT (STDMETHODCALLTYPE *Initialize)( IAMMediaStream *This, IUnknown *pSourceObject, DWORD dwFlags, REFMSPID PurposeId, const STREAM_TYPE StreamType); HRESULT (STDMETHODCALLTYPE *SetState)( IAMMediaStream *This, FILTER_STATE State); HRESULT (STDMETHODCALLTYPE *JoinAMMultiMediaStream)( IAMMediaStream *This, IAMMultiMediaStream *pAMMultiMediaStream); HRESULT (STDMETHODCALLTYPE *JoinFilter)( IAMMediaStream *This, IMediaStreamFilter *pMediaStreamFilter); HRESULT (STDMETHODCALLTYPE *JoinFilterGraph)( IAMMediaStream *This, IFilterGraph *pFilterGraph); END_INTERFACE } IAMMediaStreamVtbl; interface IAMMediaStream { CONST_VTBL IAMMediaStreamVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IAMMediaStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IAMMediaStream_AddRef(This) (This)->lpVtbl->AddRef(This) #define IAMMediaStream_Release(This) (This)->lpVtbl->Release(This) /*** IMediaStream methods ***/ #define IAMMediaStream_GetMultiMediaStream(This,ppMultiMediaStream) (This)->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream) #define IAMMediaStream_GetInformation(This,pPurposeId,pType) (This)->lpVtbl->GetInformation(This,pPurposeId,pType) #define IAMMediaStream_SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags) (This)->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags) #define IAMMediaStream_AllocateSample(This,dwFlags,ppSample) (This)->lpVtbl->AllocateSample(This,dwFlags,ppSample) #define IAMMediaStream_CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample) (This)->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample) #define IAMMediaStream_SendEndOfStream(This,dwFlags) (This)->lpVtbl->SendEndOfStream(This,dwFlags) /*** IAMMediaStream methods ***/ #define IAMMediaStream_Initialize(This,pSourceObject,dwFlags,PurposeId,StreamType) (This)->lpVtbl->Initialize(This,pSourceObject,dwFlags,PurposeId,StreamType) #define IAMMediaStream_SetState(This,State) (This)->lpVtbl->SetState(This,State) #define IAMMediaStream_JoinAMMultiMediaStream(This,pAMMultiMediaStream) (This)->lpVtbl->JoinAMMultiMediaStream(This,pAMMultiMediaStream) #define IAMMediaStream_JoinFilter(This,pMediaStreamFilter) (This)->lpVtbl->JoinFilter(This,pMediaStreamFilter) #define IAMMediaStream_JoinFilterGraph(This,pFilterGraph) (This)->lpVtbl->JoinFilterGraph(This,pFilterGraph) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IAMMediaStream_QueryInterface(IAMMediaStream* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IAMMediaStream_AddRef(IAMMediaStream* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IAMMediaStream_Release(IAMMediaStream* This) { return This->lpVtbl->Release(This); } /*** IMediaStream methods ***/ static FORCEINLINE HRESULT IAMMediaStream_GetMultiMediaStream(IAMMediaStream* This,IMultiMediaStream **ppMultiMediaStream) { return This->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream); } static FORCEINLINE HRESULT IAMMediaStream_GetInformation(IAMMediaStream* This,MSPID *pPurposeId,STREAM_TYPE *pType) { return This->lpVtbl->GetInformation(This,pPurposeId,pType); } static FORCEINLINE HRESULT IAMMediaStream_SetSameFormat(IAMMediaStream* This,IMediaStream *pStreamThatHasDesiredFormat,DWORD dwFlags) { return This->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags); } static FORCEINLINE HRESULT IAMMediaStream_AllocateSample(IAMMediaStream* This,DWORD dwFlags,IStreamSample **ppSample) { return This->lpVtbl->AllocateSample(This,dwFlags,ppSample); } static FORCEINLINE HRESULT IAMMediaStream_CreateSharedSample(IAMMediaStream* This,IStreamSample *pExistingSample,DWORD dwFlags,IStreamSample **ppNewSample) { return This->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample); } static FORCEINLINE HRESULT IAMMediaStream_SendEndOfStream(IAMMediaStream* This,DWORD dwFlags) { return This->lpVtbl->SendEndOfStream(This,dwFlags); } /*** IAMMediaStream methods ***/ static FORCEINLINE HRESULT IAMMediaStream_Initialize(IAMMediaStream* This,IUnknown *pSourceObject,DWORD dwFlags,REFMSPID PurposeId,const STREAM_TYPE StreamType) { return This->lpVtbl->Initialize(This,pSourceObject,dwFlags,PurposeId,StreamType); } static FORCEINLINE HRESULT IAMMediaStream_SetState(IAMMediaStream* This,FILTER_STATE State) { return This->lpVtbl->SetState(This,State); } static FORCEINLINE HRESULT IAMMediaStream_JoinAMMultiMediaStream(IAMMediaStream* This,IAMMultiMediaStream *pAMMultiMediaStream) { return This->lpVtbl->JoinAMMultiMediaStream(This,pAMMultiMediaStream); } static FORCEINLINE HRESULT IAMMediaStream_JoinFilter(IAMMediaStream* This,IMediaStreamFilter *pMediaStreamFilter) { return This->lpVtbl->JoinFilter(This,pMediaStreamFilter); } static FORCEINLINE HRESULT IAMMediaStream_JoinFilterGraph(IAMMediaStream* This,IFilterGraph *pFilterGraph) { return This->lpVtbl->JoinFilterGraph(This,pFilterGraph); } #endif #endif #endif #endif /* __IAMMediaStream_INTERFACE_DEFINED__ */ /***************************************************************************** * IMediaStreamFilter interface */ #ifndef __IMediaStreamFilter_INTERFACE_DEFINED__ #define __IMediaStreamFilter_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMediaStreamFilter, 0xbebe595e, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("bebe595e-9a6f-11d0-8fde-00c04fd9189d") IMediaStreamFilter : public IBaseFilter { virtual HRESULT STDMETHODCALLTYPE AddMediaStream( IAMMediaStream *pAMMediaStream) = 0; virtual HRESULT STDMETHODCALLTYPE GetMediaStream( REFMSPID idPurpose, IMediaStream **ppMediaStream) = 0; virtual HRESULT STDMETHODCALLTYPE EnumMediaStreams( LONG Index, IMediaStream **ppMediaStream) = 0; virtual HRESULT STDMETHODCALLTYPE SupportSeeking( WINBOOL bRenderer) = 0; virtual HRESULT STDMETHODCALLTYPE ReferenceTimeToStreamTime( REFERENCE_TIME *pTime) = 0; virtual HRESULT STDMETHODCALLTYPE GetCurrentStreamTime( REFERENCE_TIME *pCurrentStreamTime) = 0; virtual HRESULT STDMETHODCALLTYPE WaitUntil( REFERENCE_TIME WaitStreamTime) = 0; virtual HRESULT STDMETHODCALLTYPE Flush( WINBOOL bCancelEOS) = 0; virtual HRESULT STDMETHODCALLTYPE EndOfStream( ) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMediaStreamFilter, 0xbebe595e, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d) #endif #else typedef struct IMediaStreamFilterVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMediaStreamFilter *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMediaStreamFilter *This); ULONG (STDMETHODCALLTYPE *Release)( IMediaStreamFilter *This); /*** IPersist methods ***/ HRESULT (STDMETHODCALLTYPE *GetClassID)( IMediaStreamFilter *This, CLSID *pClassID); /*** IMediaFilter methods ***/ HRESULT (STDMETHODCALLTYPE *Stop)( IMediaStreamFilter *This); HRESULT (STDMETHODCALLTYPE *Pause)( IMediaStreamFilter *This); HRESULT (STDMETHODCALLTYPE *Run)( IMediaStreamFilter *This, REFERENCE_TIME tStart); HRESULT (STDMETHODCALLTYPE *GetState)( IMediaStreamFilter *This, DWORD dwMilliSecsTimeout, FILTER_STATE *State); HRESULT (STDMETHODCALLTYPE *SetSyncSource)( IMediaStreamFilter *This, IReferenceClock *pClock); HRESULT (STDMETHODCALLTYPE *GetSyncSource)( IMediaStreamFilter *This, IReferenceClock **pClock); /*** IBaseFilter methods ***/ HRESULT (STDMETHODCALLTYPE *EnumPins)( IMediaStreamFilter *This, IEnumPins **ppEnum); HRESULT (STDMETHODCALLTYPE *FindPin)( IMediaStreamFilter *This, LPCWSTR Id, IPin **ppPin); HRESULT (STDMETHODCALLTYPE *QueryFilterInfo)( IMediaStreamFilter *This, FILTER_INFO *pInfo); HRESULT (STDMETHODCALLTYPE *JoinFilterGraph)( IMediaStreamFilter *This, IFilterGraph *pGraph, LPCWSTR pName); HRESULT (STDMETHODCALLTYPE *QueryVendorInfo)( IMediaStreamFilter *This, LPWSTR *pVendorInfo); /*** IMediaStreamFilter methods ***/ HRESULT (STDMETHODCALLTYPE *AddMediaStream)( IMediaStreamFilter *This, IAMMediaStream *pAMMediaStream); HRESULT (STDMETHODCALLTYPE *GetMediaStream)( IMediaStreamFilter *This, REFMSPID idPurpose, IMediaStream **ppMediaStream); HRESULT (STDMETHODCALLTYPE *EnumMediaStreams)( IMediaStreamFilter *This, LONG Index, IMediaStream **ppMediaStream); HRESULT (STDMETHODCALLTYPE *SupportSeeking)( IMediaStreamFilter *This, WINBOOL bRenderer); HRESULT (STDMETHODCALLTYPE *ReferenceTimeToStreamTime)( IMediaStreamFilter *This, REFERENCE_TIME *pTime); HRESULT (STDMETHODCALLTYPE *GetCurrentStreamTime)( IMediaStreamFilter *This, REFERENCE_TIME *pCurrentStreamTime); HRESULT (STDMETHODCALLTYPE *WaitUntil)( IMediaStreamFilter *This, REFERENCE_TIME WaitStreamTime); HRESULT (STDMETHODCALLTYPE *Flush)( IMediaStreamFilter *This, WINBOOL bCancelEOS); HRESULT (STDMETHODCALLTYPE *EndOfStream)( IMediaStreamFilter *This); END_INTERFACE } IMediaStreamFilterVtbl; interface IMediaStreamFilter { CONST_VTBL IMediaStreamFilterVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMediaStreamFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMediaStreamFilter_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMediaStreamFilter_Release(This) (This)->lpVtbl->Release(This) /*** IPersist methods ***/ #define IMediaStreamFilter_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) /*** IMediaFilter methods ***/ #define IMediaStreamFilter_Stop(This) (This)->lpVtbl->Stop(This) #define IMediaStreamFilter_Pause(This) (This)->lpVtbl->Pause(This) #define IMediaStreamFilter_Run(This,tStart) (This)->lpVtbl->Run(This,tStart) #define IMediaStreamFilter_GetState(This,dwMilliSecsTimeout,State) (This)->lpVtbl->GetState(This,dwMilliSecsTimeout,State) #define IMediaStreamFilter_SetSyncSource(This,pClock) (This)->lpVtbl->SetSyncSource(This,pClock) #define IMediaStreamFilter_GetSyncSource(This,pClock) (This)->lpVtbl->GetSyncSource(This,pClock) /*** IBaseFilter methods ***/ #define IMediaStreamFilter_EnumPins(This,ppEnum) (This)->lpVtbl->EnumPins(This,ppEnum) #define IMediaStreamFilter_FindPin(This,Id,ppPin) (This)->lpVtbl->FindPin(This,Id,ppPin) #define IMediaStreamFilter_QueryFilterInfo(This,pInfo) (This)->lpVtbl->QueryFilterInfo(This,pInfo) #define IMediaStreamFilter_JoinFilterGraph(This,pGraph,pName) (This)->lpVtbl->JoinFilterGraph(This,pGraph,pName) #define IMediaStreamFilter_QueryVendorInfo(This,pVendorInfo) (This)->lpVtbl->QueryVendorInfo(This,pVendorInfo) /*** IMediaStreamFilter methods ***/ #define IMediaStreamFilter_AddMediaStream(This,pAMMediaStream) (This)->lpVtbl->AddMediaStream(This,pAMMediaStream) #define IMediaStreamFilter_GetMediaStream(This,idPurpose,ppMediaStream) (This)->lpVtbl->GetMediaStream(This,idPurpose,ppMediaStream) #define IMediaStreamFilter_EnumMediaStreams(This,Index,ppMediaStream) (This)->lpVtbl->EnumMediaStreams(This,Index,ppMediaStream) #define IMediaStreamFilter_SupportSeeking(This,bRenderer) (This)->lpVtbl->SupportSeeking(This,bRenderer) #define IMediaStreamFilter_ReferenceTimeToStreamTime(This,pTime) (This)->lpVtbl->ReferenceTimeToStreamTime(This,pTime) #define IMediaStreamFilter_GetCurrentStreamTime(This,pCurrentStreamTime) (This)->lpVtbl->GetCurrentStreamTime(This,pCurrentStreamTime) #define IMediaStreamFilter_WaitUntil(This,WaitStreamTime) (This)->lpVtbl->WaitUntil(This,WaitStreamTime) #define IMediaStreamFilter_Flush(This,bCancelEOS) (This)->lpVtbl->Flush(This,bCancelEOS) #define IMediaStreamFilter_EndOfStream(This) (This)->lpVtbl->EndOfStream(This) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IMediaStreamFilter_QueryInterface(IMediaStreamFilter* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IMediaStreamFilter_AddRef(IMediaStreamFilter* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IMediaStreamFilter_Release(IMediaStreamFilter* This) { return This->lpVtbl->Release(This); } /*** IPersist methods ***/ static FORCEINLINE HRESULT IMediaStreamFilter_GetClassID(IMediaStreamFilter* This,CLSID *pClassID) { return This->lpVtbl->GetClassID(This,pClassID); } /*** IMediaFilter methods ***/ static FORCEINLINE HRESULT IMediaStreamFilter_Stop(IMediaStreamFilter* This) { return This->lpVtbl->Stop(This); } static FORCEINLINE HRESULT IMediaStreamFilter_Pause(IMediaStreamFilter* This) { return This->lpVtbl->Pause(This); } static FORCEINLINE HRESULT IMediaStreamFilter_Run(IMediaStreamFilter* This,REFERENCE_TIME tStart) { return This->lpVtbl->Run(This,tStart); } static FORCEINLINE HRESULT IMediaStreamFilter_GetState(IMediaStreamFilter* This,DWORD dwMilliSecsTimeout,FILTER_STATE *State) { return This->lpVtbl->GetState(This,dwMilliSecsTimeout,State); } static FORCEINLINE HRESULT IMediaStreamFilter_SetSyncSource(IMediaStreamFilter* This,IReferenceClock *pClock) { return This->lpVtbl->SetSyncSource(This,pClock); } static FORCEINLINE HRESULT IMediaStreamFilter_GetSyncSource(IMediaStreamFilter* This,IReferenceClock **pClock) { return This->lpVtbl->GetSyncSource(This,pClock); } /*** IBaseFilter methods ***/ static FORCEINLINE HRESULT IMediaStreamFilter_EnumPins(IMediaStreamFilter* This,IEnumPins **ppEnum) { return This->lpVtbl->EnumPins(This,ppEnum); } static FORCEINLINE HRESULT IMediaStreamFilter_FindPin(IMediaStreamFilter* This,LPCWSTR Id,IPin **ppPin) { return This->lpVtbl->FindPin(This,Id,ppPin); } static FORCEINLINE HRESULT IMediaStreamFilter_QueryFilterInfo(IMediaStreamFilter* This,FILTER_INFO *pInfo) { return This->lpVtbl->QueryFilterInfo(This,pInfo); } static FORCEINLINE HRESULT IMediaStreamFilter_JoinFilterGraph(IMediaStreamFilter* This,IFilterGraph *pGraph,LPCWSTR pName) { return This->lpVtbl->JoinFilterGraph(This,pGraph,pName); } static FORCEINLINE HRESULT IMediaStreamFilter_QueryVendorInfo(IMediaStreamFilter* This,LPWSTR *pVendorInfo) { return This->lpVtbl->QueryVendorInfo(This,pVendorInfo); } /*** IMediaStreamFilter methods ***/ static FORCEINLINE HRESULT IMediaStreamFilter_AddMediaStream(IMediaStreamFilter* This,IAMMediaStream *pAMMediaStream) { return This->lpVtbl->AddMediaStream(This,pAMMediaStream); } static FORCEINLINE HRESULT IMediaStreamFilter_GetMediaStream(IMediaStreamFilter* This,REFMSPID idPurpose,IMediaStream **ppMediaStream) { return This->lpVtbl->GetMediaStream(This,idPurpose,ppMediaStream); } static FORCEINLINE HRESULT IMediaStreamFilter_EnumMediaStreams(IMediaStreamFilter* This,LONG Index,IMediaStream **ppMediaStream) { return This->lpVtbl->EnumMediaStreams(This,Index,ppMediaStream); } static FORCEINLINE HRESULT IMediaStreamFilter_SupportSeeking(IMediaStreamFilter* This,WINBOOL bRenderer) { return This->lpVtbl->SupportSeeking(This,bRenderer); } static FORCEINLINE HRESULT IMediaStreamFilter_ReferenceTimeToStreamTime(IMediaStreamFilter* This,REFERENCE_TIME *pTime) { return This->lpVtbl->ReferenceTimeToStreamTime(This,pTime); } static FORCEINLINE HRESULT IMediaStreamFilter_GetCurrentStreamTime(IMediaStreamFilter* This,REFERENCE_TIME *pCurrentStreamTime) { return This->lpVtbl->GetCurrentStreamTime(This,pCurrentStreamTime); } static FORCEINLINE HRESULT IMediaStreamFilter_WaitUntil(IMediaStreamFilter* This,REFERENCE_TIME WaitStreamTime) { return This->lpVtbl->WaitUntil(This,WaitStreamTime); } static FORCEINLINE HRESULT IMediaStreamFilter_Flush(IMediaStreamFilter* This,WINBOOL bCancelEOS) { return This->lpVtbl->Flush(This,bCancelEOS); } static FORCEINLINE HRESULT IMediaStreamFilter_EndOfStream(IMediaStreamFilter* This) { return This->lpVtbl->EndOfStream(This); } #endif #endif #endif #endif /* __IMediaStreamFilter_INTERFACE_DEFINED__ */ /***************************************************************************** * IDirectDrawMediaSampleAllocator interface */ #ifndef __IDirectDrawMediaSampleAllocator_INTERFACE_DEFINED__ #define __IDirectDrawMediaSampleAllocator_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDirectDrawMediaSampleAllocator, 0xab6b4afc, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("ab6b4afc-f6e4-11d0-900d-00c04fd9189d") IDirectDrawMediaSampleAllocator : public IUnknown { virtual HRESULT STDMETHODCALLTYPE GetDirectDraw( IDirectDraw **ppDirectDraw) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDirectDrawMediaSampleAllocator, 0xab6b4afc, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d) #endif #else typedef struct IDirectDrawMediaSampleAllocatorVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDirectDrawMediaSampleAllocator *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDirectDrawMediaSampleAllocator *This); ULONG (STDMETHODCALLTYPE *Release)( IDirectDrawMediaSampleAllocator *This); /*** IDirectDrawMediaSampleAllocator methods ***/ HRESULT (STDMETHODCALLTYPE *GetDirectDraw)( IDirectDrawMediaSampleAllocator *This, IDirectDraw **ppDirectDraw); END_INTERFACE } IDirectDrawMediaSampleAllocatorVtbl; interface IDirectDrawMediaSampleAllocator { CONST_VTBL IDirectDrawMediaSampleAllocatorVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDirectDrawMediaSampleAllocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDirectDrawMediaSampleAllocator_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDirectDrawMediaSampleAllocator_Release(This) (This)->lpVtbl->Release(This) /*** IDirectDrawMediaSampleAllocator methods ***/ #define IDirectDrawMediaSampleAllocator_GetDirectDraw(This,ppDirectDraw) (This)->lpVtbl->GetDirectDraw(This,ppDirectDraw) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDirectDrawMediaSampleAllocator_QueryInterface(IDirectDrawMediaSampleAllocator* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDirectDrawMediaSampleAllocator_AddRef(IDirectDrawMediaSampleAllocator* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDirectDrawMediaSampleAllocator_Release(IDirectDrawMediaSampleAllocator* This) { return This->lpVtbl->Release(This); } /*** IDirectDrawMediaSampleAllocator methods ***/ static FORCEINLINE HRESULT IDirectDrawMediaSampleAllocator_GetDirectDraw(IDirectDrawMediaSampleAllocator* This,IDirectDraw **ppDirectDraw) { return This->lpVtbl->GetDirectDraw(This,ppDirectDraw); } #endif #endif #endif #endif /* __IDirectDrawMediaSampleAllocator_INTERFACE_DEFINED__ */ /***************************************************************************** * IDirectDrawMediaSample interface */ #ifndef __IDirectDrawMediaSample_INTERFACE_DEFINED__ #define __IDirectDrawMediaSample_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDirectDrawMediaSample, 0xab6b4afe, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("ab6b4afe-f6e4-11d0-900d-00c04fd9189d") IDirectDrawMediaSample : public IUnknown { virtual HRESULT STDMETHODCALLTYPE GetSurfaceAndReleaseLock( IDirectDrawSurface **ppDirectDrawSurface, RECT *pRect) = 0; virtual HRESULT STDMETHODCALLTYPE LockMediaSamplePointer( ) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDirectDrawMediaSample, 0xab6b4afe, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d) #endif #else typedef struct IDirectDrawMediaSampleVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDirectDrawMediaSample *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDirectDrawMediaSample *This); ULONG (STDMETHODCALLTYPE *Release)( IDirectDrawMediaSample *This); /*** IDirectDrawMediaSample methods ***/ HRESULT (STDMETHODCALLTYPE *GetSurfaceAndReleaseLock)( IDirectDrawMediaSample *This, IDirectDrawSurface **ppDirectDrawSurface, RECT *pRect); HRESULT (STDMETHODCALLTYPE *LockMediaSamplePointer)( IDirectDrawMediaSample *This); END_INTERFACE } IDirectDrawMediaSampleVtbl; interface IDirectDrawMediaSample { CONST_VTBL IDirectDrawMediaSampleVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDirectDrawMediaSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDirectDrawMediaSample_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDirectDrawMediaSample_Release(This) (This)->lpVtbl->Release(This) /*** IDirectDrawMediaSample methods ***/ #define IDirectDrawMediaSample_GetSurfaceAndReleaseLock(This,ppDirectDrawSurface,pRect) (This)->lpVtbl->GetSurfaceAndReleaseLock(This,ppDirectDrawSurface,pRect) #define IDirectDrawMediaSample_LockMediaSamplePointer(This) (This)->lpVtbl->LockMediaSamplePointer(This) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IDirectDrawMediaSample_QueryInterface(IDirectDrawMediaSample* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IDirectDrawMediaSample_AddRef(IDirectDrawMediaSample* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IDirectDrawMediaSample_Release(IDirectDrawMediaSample* This) { return This->lpVtbl->Release(This); } /*** IDirectDrawMediaSample methods ***/ static FORCEINLINE HRESULT IDirectDrawMediaSample_GetSurfaceAndReleaseLock(IDirectDrawMediaSample* This,IDirectDrawSurface **ppDirectDrawSurface,RECT *pRect) { return This->lpVtbl->GetSurfaceAndReleaseLock(This,ppDirectDrawSurface,pRect); } static FORCEINLINE HRESULT IDirectDrawMediaSample_LockMediaSamplePointer(IDirectDrawMediaSample* This) { return This->lpVtbl->LockMediaSamplePointer(This); } #endif #endif #endif #endif /* __IDirectDrawMediaSample_INTERFACE_DEFINED__ */ /***************************************************************************** * IAMMediaTypeStream interface */ #ifndef __IAMMediaTypeStream_INTERFACE_DEFINED__ #define __IAMMediaTypeStream_INTERFACE_DEFINED__ DEFINE_GUID(IID_IAMMediaTypeStream, 0xab6b4afa, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("ab6b4afa-f6e4-11d0-900d-00c04fd9189d") IAMMediaTypeStream : public IMediaStream { virtual HRESULT STDMETHODCALLTYPE GetFormat( AM_MEDIA_TYPE *pMediaType, DWORD dwFlags) = 0; virtual HRESULT STDMETHODCALLTYPE SetFormat( AM_MEDIA_TYPE *pMediaType, DWORD dwFlags) = 0; virtual HRESULT STDMETHODCALLTYPE CreateSample( LONG lSampleSize, BYTE *pbBuffer, DWORD dwFlags, IUnknown *pUnkOuter, IAMMediaTypeSample **ppAMMediaTypeSample) = 0; virtual HRESULT STDMETHODCALLTYPE GetStreamAllocatorRequirements( ALLOCATOR_PROPERTIES *pProps) = 0; virtual HRESULT STDMETHODCALLTYPE SetStreamAllocatorRequirements( ALLOCATOR_PROPERTIES *pProps) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IAMMediaTypeStream, 0xab6b4afa, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d) #endif #else typedef struct IAMMediaTypeStreamVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IAMMediaTypeStream *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IAMMediaTypeStream *This); ULONG (STDMETHODCALLTYPE *Release)( IAMMediaTypeStream *This); /*** IMediaStream methods ***/ HRESULT (STDMETHODCALLTYPE *GetMultiMediaStream)( IAMMediaTypeStream *This, IMultiMediaStream **ppMultiMediaStream); HRESULT (STDMETHODCALLTYPE *GetInformation)( IAMMediaTypeStream *This, MSPID *pPurposeId, STREAM_TYPE *pType); HRESULT (STDMETHODCALLTYPE *SetSameFormat)( IAMMediaTypeStream *This, IMediaStream *pStreamThatHasDesiredFormat, DWORD dwFlags); HRESULT (STDMETHODCALLTYPE *AllocateSample)( IAMMediaTypeStream *This, DWORD dwFlags, IStreamSample **ppSample); HRESULT (STDMETHODCALLTYPE *CreateSharedSample)( IAMMediaTypeStream *This, IStreamSample *pExistingSample, DWORD dwFlags, IStreamSample **ppNewSample); HRESULT (STDMETHODCALLTYPE *SendEndOfStream)( IAMMediaTypeStream *This, DWORD dwFlags); /*** IAMMediaTypeStream methods ***/ HRESULT (STDMETHODCALLTYPE *GetFormat)( IAMMediaTypeStream *This, AM_MEDIA_TYPE *pMediaType, DWORD dwFlags); HRESULT (STDMETHODCALLTYPE *SetFormat)( IAMMediaTypeStream *This, AM_MEDIA_TYPE *pMediaType, DWORD dwFlags); HRESULT (STDMETHODCALLTYPE *CreateSample)( IAMMediaTypeStream *This, LONG lSampleSize, BYTE *pbBuffer, DWORD dwFlags, IUnknown *pUnkOuter, IAMMediaTypeSample **ppAMMediaTypeSample); HRESULT (STDMETHODCALLTYPE *GetStreamAllocatorRequirements)( IAMMediaTypeStream *This, ALLOCATOR_PROPERTIES *pProps); HRESULT (STDMETHODCALLTYPE *SetStreamAllocatorRequirements)( IAMMediaTypeStream *This, ALLOCATOR_PROPERTIES *pProps); END_INTERFACE } IAMMediaTypeStreamVtbl; interface IAMMediaTypeStream { CONST_VTBL IAMMediaTypeStreamVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IAMMediaTypeStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IAMMediaTypeStream_AddRef(This) (This)->lpVtbl->AddRef(This) #define IAMMediaTypeStream_Release(This) (This)->lpVtbl->Release(This) /*** IMediaStream methods ***/ #define IAMMediaTypeStream_GetMultiMediaStream(This,ppMultiMediaStream) (This)->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream) #define IAMMediaTypeStream_GetInformation(This,pPurposeId,pType) (This)->lpVtbl->GetInformation(This,pPurposeId,pType) #define IAMMediaTypeStream_SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags) (This)->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags) #define IAMMediaTypeStream_AllocateSample(This,dwFlags,ppSample) (This)->lpVtbl->AllocateSample(This,dwFlags,ppSample) #define IAMMediaTypeStream_CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample) (This)->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample) #define IAMMediaTypeStream_SendEndOfStream(This,dwFlags) (This)->lpVtbl->SendEndOfStream(This,dwFlags) /*** IAMMediaTypeStream methods ***/ #define IAMMediaTypeStream_GetFormat(This,pMediaType,dwFlags) (This)->lpVtbl->GetFormat(This,pMediaType,dwFlags) #define IAMMediaTypeStream_SetFormat(This,pMediaType,dwFlags) (This)->lpVtbl->SetFormat(This,pMediaType,dwFlags) #define IAMMediaTypeStream_CreateSample(This,lSampleSize,pbBuffer,dwFlags,pUnkOuter,ppAMMediaTypeSample) (This)->lpVtbl->CreateSample(This,lSampleSize,pbBuffer,dwFlags,pUnkOuter,ppAMMediaTypeSample) #define IAMMediaTypeStream_GetStreamAllocatorRequirements(This,pProps) (This)->lpVtbl->GetStreamAllocatorRequirements(This,pProps) #define IAMMediaTypeStream_SetStreamAllocatorRequirements(This,pProps) (This)->lpVtbl->SetStreamAllocatorRequirements(This,pProps) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IAMMediaTypeStream_QueryInterface(IAMMediaTypeStream* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IAMMediaTypeStream_AddRef(IAMMediaTypeStream* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IAMMediaTypeStream_Release(IAMMediaTypeStream* This) { return This->lpVtbl->Release(This); } /*** IMediaStream methods ***/ static FORCEINLINE HRESULT IAMMediaTypeStream_GetMultiMediaStream(IAMMediaTypeStream* This,IMultiMediaStream **ppMultiMediaStream) { return This->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream); } static FORCEINLINE HRESULT IAMMediaTypeStream_GetInformation(IAMMediaTypeStream* This,MSPID *pPurposeId,STREAM_TYPE *pType) { return This->lpVtbl->GetInformation(This,pPurposeId,pType); } static FORCEINLINE HRESULT IAMMediaTypeStream_SetSameFormat(IAMMediaTypeStream* This,IMediaStream *pStreamThatHasDesiredFormat,DWORD dwFlags) { return This->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags); } static FORCEINLINE HRESULT IAMMediaTypeStream_AllocateSample(IAMMediaTypeStream* This,DWORD dwFlags,IStreamSample **ppSample) { return This->lpVtbl->AllocateSample(This,dwFlags,ppSample); } static FORCEINLINE HRESULT IAMMediaTypeStream_CreateSharedSample(IAMMediaTypeStream* This,IStreamSample *pExistingSample,DWORD dwFlags,IStreamSample **ppNewSample) { return This->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample); } static FORCEINLINE HRESULT IAMMediaTypeStream_SendEndOfStream(IAMMediaTypeStream* This,DWORD dwFlags) { return This->lpVtbl->SendEndOfStream(This,dwFlags); } /*** IAMMediaTypeStream methods ***/ static FORCEINLINE HRESULT IAMMediaTypeStream_GetFormat(IAMMediaTypeStream* This,AM_MEDIA_TYPE *pMediaType,DWORD dwFlags) { return This->lpVtbl->GetFormat(This,pMediaType,dwFlags); } static FORCEINLINE HRESULT IAMMediaTypeStream_SetFormat(IAMMediaTypeStream* This,AM_MEDIA_TYPE *pMediaType,DWORD dwFlags) { return This->lpVtbl->SetFormat(This,pMediaType,dwFlags); } static FORCEINLINE HRESULT IAMMediaTypeStream_CreateSample(IAMMediaTypeStream* This,LONG lSampleSize,BYTE *pbBuffer,DWORD dwFlags,IUnknown *pUnkOuter,IAMMediaTypeSample **ppAMMediaTypeSample) { return This->lpVtbl->CreateSample(This,lSampleSize,pbBuffer,dwFlags,pUnkOuter,ppAMMediaTypeSample); } static FORCEINLINE HRESULT IAMMediaTypeStream_GetStreamAllocatorRequirements(IAMMediaTypeStream* This,ALLOCATOR_PROPERTIES *pProps) { return This->lpVtbl->GetStreamAllocatorRequirements(This,pProps); } static FORCEINLINE HRESULT IAMMediaTypeStream_SetStreamAllocatorRequirements(IAMMediaTypeStream* This,ALLOCATOR_PROPERTIES *pProps) { return This->lpVtbl->SetStreamAllocatorRequirements(This,pProps); } #endif #endif #endif #endif /* __IAMMediaTypeStream_INTERFACE_DEFINED__ */ /***************************************************************************** * IAMMediaTypeSample interface */ #ifndef __IAMMediaTypeSample_INTERFACE_DEFINED__ #define __IAMMediaTypeSample_INTERFACE_DEFINED__ DEFINE_GUID(IID_IAMMediaTypeSample, 0xab6b4afb, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("ab6b4afb-f6e4-11d0-900d-00c04fd9189d") IAMMediaTypeSample : public IStreamSample { virtual HRESULT STDMETHODCALLTYPE SetPointer( BYTE *pBuffer, LONG lSize) = 0; virtual HRESULT STDMETHODCALLTYPE GetPointer( BYTE **ppBuffer) = 0; virtual LONG STDMETHODCALLTYPE GetSize( ) = 0; virtual HRESULT STDMETHODCALLTYPE GetTime( REFERENCE_TIME *pTimeStart, REFERENCE_TIME *pTimeEnd) = 0; virtual HRESULT STDMETHODCALLTYPE SetTime( REFERENCE_TIME *pTimeStart, REFERENCE_TIME *pTimeEnd) = 0; virtual HRESULT STDMETHODCALLTYPE IsSyncPoint( ) = 0; virtual HRESULT STDMETHODCALLTYPE SetSyncPoint( WINBOOL bIsSyncPoint) = 0; virtual HRESULT STDMETHODCALLTYPE IsPreroll( ) = 0; virtual HRESULT STDMETHODCALLTYPE SetPreroll( WINBOOL bIsPreroll) = 0; virtual LONG STDMETHODCALLTYPE GetActualDataLength( ) = 0; virtual HRESULT STDMETHODCALLTYPE SetActualDataLength( LONG Len) = 0; virtual HRESULT STDMETHODCALLTYPE GetMediaType( AM_MEDIA_TYPE **ppMediaType) = 0; virtual HRESULT STDMETHODCALLTYPE SetMediaType( AM_MEDIA_TYPE *pMediaType) = 0; virtual HRESULT STDMETHODCALLTYPE IsDiscontinuity( ) = 0; virtual HRESULT STDMETHODCALLTYPE SetDiscontinuity( WINBOOL bDiscontinuity) = 0; virtual HRESULT STDMETHODCALLTYPE GetMediaTime( LONGLONG *pTimeStart, LONGLONG *pTimeEnd) = 0; virtual HRESULT STDMETHODCALLTYPE SetMediaTime( LONGLONG *pTimeStart, LONGLONG *pTimeEnd) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IAMMediaTypeSample, 0xab6b4afb, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d) #endif #else typedef struct IAMMediaTypeSampleVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IAMMediaTypeSample *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IAMMediaTypeSample *This); ULONG (STDMETHODCALLTYPE *Release)( IAMMediaTypeSample *This); /*** IStreamSample methods ***/ HRESULT (STDMETHODCALLTYPE *GetMediaStream)( IAMMediaTypeSample *This, IMediaStream **ppMediaStream); HRESULT (STDMETHODCALLTYPE *GetSampleTimes)( IAMMediaTypeSample *This, STREAM_TIME *pStartTime, STREAM_TIME *pEndTime, STREAM_TIME *pCurrentTime); HRESULT (STDMETHODCALLTYPE *SetSampleTimes)( IAMMediaTypeSample *This, const STREAM_TIME *pStartTime, const STREAM_TIME *pEndTime); HRESULT (STDMETHODCALLTYPE *Update)( IAMMediaTypeSample *This, DWORD dwFlags, HANDLE hEvent, PAPCFUNC pfnAPC, DWORD dwAPCData); HRESULT (STDMETHODCALLTYPE *CompletionStatus)( IAMMediaTypeSample *This, DWORD dwFlags, DWORD dwMilliseconds); /*** IAMMediaTypeSample methods ***/ HRESULT (STDMETHODCALLTYPE *SetPointer)( IAMMediaTypeSample *This, BYTE *pBuffer, LONG lSize); HRESULT (STDMETHODCALLTYPE *GetPointer)( IAMMediaTypeSample *This, BYTE **ppBuffer); LONG (STDMETHODCALLTYPE *GetSize)( IAMMediaTypeSample *This); HRESULT (STDMETHODCALLTYPE *GetTime)( IAMMediaTypeSample *This, REFERENCE_TIME *pTimeStart, REFERENCE_TIME *pTimeEnd); HRESULT (STDMETHODCALLTYPE *SetTime)( IAMMediaTypeSample *This, REFERENCE_TIME *pTimeStart, REFERENCE_TIME *pTimeEnd); HRESULT (STDMETHODCALLTYPE *IsSyncPoint)( IAMMediaTypeSample *This); HRESULT (STDMETHODCALLTYPE *SetSyncPoint)( IAMMediaTypeSample *This, WINBOOL bIsSyncPoint); HRESULT (STDMETHODCALLTYPE *IsPreroll)( IAMMediaTypeSample *This); HRESULT (STDMETHODCALLTYPE *SetPreroll)( IAMMediaTypeSample *This, WINBOOL bIsPreroll); LONG (STDMETHODCALLTYPE *GetActualDataLength)( IAMMediaTypeSample *This); HRESULT (STDMETHODCALLTYPE *SetActualDataLength)( IAMMediaTypeSample *This, LONG Len); HRESULT (STDMETHODCALLTYPE *GetMediaType)( IAMMediaTypeSample *This, AM_MEDIA_TYPE **ppMediaType); HRESULT (STDMETHODCALLTYPE *SetMediaType)( IAMMediaTypeSample *This, AM_MEDIA_TYPE *pMediaType); HRESULT (STDMETHODCALLTYPE *IsDiscontinuity)( IAMMediaTypeSample *This); HRESULT (STDMETHODCALLTYPE *SetDiscontinuity)( IAMMediaTypeSample *This, WINBOOL bDiscontinuity); HRESULT (STDMETHODCALLTYPE *GetMediaTime)( IAMMediaTypeSample *This, LONGLONG *pTimeStart, LONGLONG *pTimeEnd); HRESULT (STDMETHODCALLTYPE *SetMediaTime)( IAMMediaTypeSample *This, LONGLONG *pTimeStart, LONGLONG *pTimeEnd); END_INTERFACE } IAMMediaTypeSampleVtbl; interface IAMMediaTypeSample { CONST_VTBL IAMMediaTypeSampleVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IAMMediaTypeSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IAMMediaTypeSample_AddRef(This) (This)->lpVtbl->AddRef(This) #define IAMMediaTypeSample_Release(This) (This)->lpVtbl->Release(This) /*** IStreamSample methods ***/ #define IAMMediaTypeSample_GetMediaStream(This,ppMediaStream) (This)->lpVtbl->GetMediaStream(This,ppMediaStream) #define IAMMediaTypeSample_GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime) (This)->lpVtbl->GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime) #define IAMMediaTypeSample_SetSampleTimes(This,pStartTime,pEndTime) (This)->lpVtbl->SetSampleTimes(This,pStartTime,pEndTime) #define IAMMediaTypeSample_Update(This,dwFlags,hEvent,pfnAPC,dwAPCData) (This)->lpVtbl->Update(This,dwFlags,hEvent,pfnAPC,dwAPCData) #define IAMMediaTypeSample_CompletionStatus(This,dwFlags,dwMilliseconds) (This)->lpVtbl->CompletionStatus(This,dwFlags,dwMilliseconds) /*** IAMMediaTypeSample methods ***/ #define IAMMediaTypeSample_SetPointer(This,pBuffer,lSize) (This)->lpVtbl->SetPointer(This,pBuffer,lSize) #define IAMMediaTypeSample_GetPointer(This,ppBuffer) (This)->lpVtbl->GetPointer(This,ppBuffer) #define IAMMediaTypeSample_GetSize(This) (This)->lpVtbl->GetSize(This) #define IAMMediaTypeSample_GetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetTime(This,pTimeStart,pTimeEnd) #define IAMMediaTypeSample_SetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetTime(This,pTimeStart,pTimeEnd) #define IAMMediaTypeSample_IsSyncPoint(This) (This)->lpVtbl->IsSyncPoint(This) #define IAMMediaTypeSample_SetSyncPoint(This,bIsSyncPoint) (This)->lpVtbl->SetSyncPoint(This,bIsSyncPoint) #define IAMMediaTypeSample_IsPreroll(This) (This)->lpVtbl->IsPreroll(This) #define IAMMediaTypeSample_SetPreroll(This,bIsPreroll) (This)->lpVtbl->SetPreroll(This,bIsPreroll) #define IAMMediaTypeSample_GetActualDataLength(This) (This)->lpVtbl->GetActualDataLength(This) #define IAMMediaTypeSample_SetActualDataLength(This,Len) (This)->lpVtbl->SetActualDataLength(This,Len) #define IAMMediaTypeSample_GetMediaType(This,ppMediaType) (This)->lpVtbl->GetMediaType(This,ppMediaType) #define IAMMediaTypeSample_SetMediaType(This,pMediaType) (This)->lpVtbl->SetMediaType(This,pMediaType) #define IAMMediaTypeSample_IsDiscontinuity(This) (This)->lpVtbl->IsDiscontinuity(This) #define IAMMediaTypeSample_SetDiscontinuity(This,bDiscontinuity) (This)->lpVtbl->SetDiscontinuity(This,bDiscontinuity) #define IAMMediaTypeSample_GetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd) #define IAMMediaTypeSample_SetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IAMMediaTypeSample_QueryInterface(IAMMediaTypeSample* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IAMMediaTypeSample_AddRef(IAMMediaTypeSample* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IAMMediaTypeSample_Release(IAMMediaTypeSample* This) { return This->lpVtbl->Release(This); } /*** IStreamSample methods ***/ static FORCEINLINE HRESULT IAMMediaTypeSample_GetMediaStream(IAMMediaTypeSample* This,IMediaStream **ppMediaStream) { return This->lpVtbl->GetMediaStream(This,ppMediaStream); } static FORCEINLINE HRESULT IAMMediaTypeSample_GetSampleTimes(IAMMediaTypeSample* This,STREAM_TIME *pStartTime,STREAM_TIME *pEndTime,STREAM_TIME *pCurrentTime) { return This->lpVtbl->GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime); } static FORCEINLINE HRESULT IAMMediaTypeSample_SetSampleTimes(IAMMediaTypeSample* This,const STREAM_TIME *pStartTime,const STREAM_TIME *pEndTime) { return This->lpVtbl->SetSampleTimes(This,pStartTime,pEndTime); } static FORCEINLINE HRESULT IAMMediaTypeSample_Update(IAMMediaTypeSample* This,DWORD dwFlags,HANDLE hEvent,PAPCFUNC pfnAPC,DWORD dwAPCData) { return This->lpVtbl->Update(This,dwFlags,hEvent,pfnAPC,dwAPCData); } static FORCEINLINE HRESULT IAMMediaTypeSample_CompletionStatus(IAMMediaTypeSample* This,DWORD dwFlags,DWORD dwMilliseconds) { return This->lpVtbl->CompletionStatus(This,dwFlags,dwMilliseconds); } /*** IAMMediaTypeSample methods ***/ static FORCEINLINE HRESULT IAMMediaTypeSample_SetPointer(IAMMediaTypeSample* This,BYTE *pBuffer,LONG lSize) { return This->lpVtbl->SetPointer(This,pBuffer,lSize); } static FORCEINLINE HRESULT IAMMediaTypeSample_GetPointer(IAMMediaTypeSample* This,BYTE **ppBuffer) { return This->lpVtbl->GetPointer(This,ppBuffer); } static FORCEINLINE LONG IAMMediaTypeSample_GetSize(IAMMediaTypeSample* This) { return This->lpVtbl->GetSize(This); } static FORCEINLINE HRESULT IAMMediaTypeSample_GetTime(IAMMediaTypeSample* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) { return This->lpVtbl->GetTime(This,pTimeStart,pTimeEnd); } static FORCEINLINE HRESULT IAMMediaTypeSample_SetTime(IAMMediaTypeSample* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) { return This->lpVtbl->SetTime(This,pTimeStart,pTimeEnd); } static FORCEINLINE HRESULT IAMMediaTypeSample_IsSyncPoint(IAMMediaTypeSample* This) { return This->lpVtbl->IsSyncPoint(This); } static FORCEINLINE HRESULT IAMMediaTypeSample_SetSyncPoint(IAMMediaTypeSample* This,WINBOOL bIsSyncPoint) { return This->lpVtbl->SetSyncPoint(This,bIsSyncPoint); } static FORCEINLINE HRESULT IAMMediaTypeSample_IsPreroll(IAMMediaTypeSample* This) { return This->lpVtbl->IsPreroll(This); } static FORCEINLINE HRESULT IAMMediaTypeSample_SetPreroll(IAMMediaTypeSample* This,WINBOOL bIsPreroll) { return This->lpVtbl->SetPreroll(This,bIsPreroll); } static FORCEINLINE LONG IAMMediaTypeSample_GetActualDataLength(IAMMediaTypeSample* This) { return This->lpVtbl->GetActualDataLength(This); } static FORCEINLINE HRESULT IAMMediaTypeSample_SetActualDataLength(IAMMediaTypeSample* This,LONG Len) { return This->lpVtbl->SetActualDataLength(This,Len); } static FORCEINLINE HRESULT IAMMediaTypeSample_GetMediaType(IAMMediaTypeSample* This,AM_MEDIA_TYPE **ppMediaType) { return This->lpVtbl->GetMediaType(This,ppMediaType); } static FORCEINLINE HRESULT IAMMediaTypeSample_SetMediaType(IAMMediaTypeSample* This,AM_MEDIA_TYPE *pMediaType) { return This->lpVtbl->SetMediaType(This,pMediaType); } static FORCEINLINE HRESULT IAMMediaTypeSample_IsDiscontinuity(IAMMediaTypeSample* This) { return This->lpVtbl->IsDiscontinuity(This); } static FORCEINLINE HRESULT IAMMediaTypeSample_SetDiscontinuity(IAMMediaTypeSample* This,WINBOOL bDiscontinuity) { return This->lpVtbl->SetDiscontinuity(This,bDiscontinuity); } static FORCEINLINE HRESULT IAMMediaTypeSample_GetMediaTime(IAMMediaTypeSample* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) { return This->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd); } static FORCEINLINE HRESULT IAMMediaTypeSample_SetMediaTime(IAMMediaTypeSample* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) { return This->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd); } #endif #endif #endif #endif /* __IAMMediaTypeSample_INTERFACE_DEFINED__ */ /***************************************************************************** * AMMultiMediaStream coclass */ DEFINE_GUID(CLSID_AMMultiMediaStream, 0x49c47ce5, 0x9ba4, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45); #ifdef __cplusplus class DECLSPEC_UUID("49c47ce5-9ba4-11d0-8212-00c04fc32c45") AMMultiMediaStream; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(AMMultiMediaStream, 0x49c47ce5, 0x9ba4, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45) #endif #endif DEFINE_GUID(CLSID_AMDirectDrawStream, 0x49c47ce4, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45); DEFINE_GUID(CLSID_AMAudioStream, 0x8496e040, 0xaf4c, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45); DEFINE_GUID(CLSID_AMAudioData, 0xf2468580, 0xaf8a, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45); DEFINE_GUID(CLSID_AMMediaTypeStream, 0xcf0f2f7c, 0xf7bf, 0x11d0, 0x90, 0x0d, 0x00, 0xc0, 0x4f, 0xd9, 0x18, 0x9d); DEFINE_GUID(CLSID_MediaStreamFilter, 0x49c47ce0, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45); /* Begin additional prototypes for all interfaces */ ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *); unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *); unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *); void __RPC_USER BSTR_UserFree (ULONG *, BSTR *); /* End additional prototypes */ #ifdef __cplusplus } #endif #endif /* __amstream_h__ */