/*** Autogenerated by WIDL 0.1 from amstream.idl - Do not edit ***/ #include #include #ifndef __WIDL_AMSTREAM_H #define __WIDL_AMSTREAM_H #ifdef __cplusplus extern "C" { #endif #include #include #include #include #include #include #include #include #if 0 #ifndef __IDirectDraw_FWD_DEFINED__ #define __IDirectDraw_FWD_DEFINED__ typedef struct IDirectDraw IDirectDraw; #endif #ifndef __IDirectDrawSurface_FWD_DEFINED__ #define __IDirectDrawSurface_FWD_DEFINED__ typedef struct IDirectDrawSurface IDirectDrawSurface; #endif #endif #ifndef __IAMMultiMediaStream_FWD_DEFINED__ #define __IAMMultiMediaStream_FWD_DEFINED__ typedef struct IAMMultiMediaStream IAMMultiMediaStream; #endif #ifndef __IAMMediaStream_FWD_DEFINED__ #define __IAMMediaStream_FWD_DEFINED__ typedef struct IAMMediaStream IAMMediaStream; #endif #ifndef __IMediaStreamFilter_FWD_DEFINED__ #define __IMediaStreamFilter_FWD_DEFINED__ typedef struct IMediaStreamFilter IMediaStreamFilter; #endif #ifndef __IAMMediaTypeStream_FWD_DEFINED__ #define __IAMMediaTypeStream_FWD_DEFINED__ typedef struct IAMMediaTypeStream IAMMediaTypeStream; #endif #ifndef __IAMMediaTypeSample_FWD_DEFINED__ #define __IAMMediaTypeSample_FWD_DEFINED__ typedef struct IAMMediaTypeSample IAMMediaTypeSample; #endif enum { AMMSF_NOGRAPHTHREAD = 0x1 }; enum { AMMSF_ADDDEFAULTRENDERER = 0x1, AMMSF_CREATEPEER = 0x2 }; enum { AMMSF_RENDERTYPEMASK = 0x3, AMMSF_RENDERTOEXISTING = 0x0, AMMSF_RENDERALLSTREAMS = 0x1, AMMSF_NORENDER = 0x2, AMMSF_NOCLOCK = 0x4, AMMSF_RUN = 0x8 }; typedef enum { Disabled = 0, ReadData = 1, RenderData = 2 } OUTPUT_STATE; /***************************************************************************** * 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) struct 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; }; #else typedef struct IAMMultiMediaStreamVtbl IAMMultiMediaStreamVtbl; struct IAMMultiMediaStream { const IAMMultiMediaStreamVtbl* lpVtbl; }; struct IAMMultiMediaStreamVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** 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, char* 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); }; /*** IUnknown methods ***/ #define IAMMultiMediaStream_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define IAMMultiMediaStream_AddRef(p) (p)->lpVtbl->AddRef(p) #define IAMMultiMediaStream_Release(p) (p)->lpVtbl->Release(p) /*** IMultiMediaStream methods ***/ #define IAMMultiMediaStream_GetInformation(p,a,b) (p)->lpVtbl->GetInformation(p,a,b) #define IAMMultiMediaStream_GetMediaStream(p,a,b) (p)->lpVtbl->GetMediaStream(p,a,b) #define IAMMultiMediaStream_EnumMediaStreams(p,a,b) (p)->lpVtbl->EnumMediaStreams(p,a,b) #define IAMMultiMediaStream_GetState(p,a) (p)->lpVtbl->GetState(p,a) #define IAMMultiMediaStream_SetState(p,a) (p)->lpVtbl->SetState(p,a) #define IAMMultiMediaStream_GetTime(p,a) (p)->lpVtbl->GetTime(p,a) #define IAMMultiMediaStream_GetDuration(p,a) (p)->lpVtbl->GetDuration(p,a) #define IAMMultiMediaStream_Seek(p,a) (p)->lpVtbl->Seek(p,a) #define IAMMultiMediaStream_GetEndOfStreamEventHandle(p,a) (p)->lpVtbl->GetEndOfStreamEventHandle(p,a) /*** IAMMultiMediaStream methods ***/ #define IAMMultiMediaStream_Initialize(p,a,b,c) (p)->lpVtbl->Initialize(p,a,b,c) #define IAMMultiMediaStream_GetFilterGraph(p,a) (p)->lpVtbl->GetFilterGraph(p,a) #define IAMMultiMediaStream_GetFilter(p,a) (p)->lpVtbl->GetFilter(p,a) #define IAMMultiMediaStream_AddMediaStream(p,a,b,c,d) (p)->lpVtbl->AddMediaStream(p,a,b,c,d) #define IAMMultiMediaStream_OpenFile(p,a,b) (p)->lpVtbl->OpenFile(p,a,b) #define IAMMultiMediaStream_OpenMoniker(p,a,b,c) (p)->lpVtbl->OpenMoniker(p,a,b,c) #define IAMMultiMediaStream_Render(p,a) (p)->lpVtbl->Render(p,a) #endif #define IAMMultiMediaStream_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; \ /*** IMultiMediaStream methods ***/ \ STDMETHOD_(HRESULT,GetInformation)(THIS_ char* pdwFlags, STREAM_TYPE* pStreamType) PURE; \ STDMETHOD_(HRESULT,GetMediaStream)(THIS_ REFMSPID idPurpose, IMediaStream** ppMediaStream) PURE; \ STDMETHOD_(HRESULT,EnumMediaStreams)(THIS_ long Index, IMediaStream** ppMediaStream) PURE; \ STDMETHOD_(HRESULT,GetState)(THIS_ STREAM_STATE* pCurrentState) PURE; \ STDMETHOD_(HRESULT,SetState)(THIS_ STREAM_STATE NewState) PURE; \ STDMETHOD_(HRESULT,GetTime)(THIS_ STREAM_TIME* pCurrentTime) PURE; \ STDMETHOD_(HRESULT,GetDuration)(THIS_ STREAM_TIME* pDuration) PURE; \ STDMETHOD_(HRESULT,Seek)(THIS_ STREAM_TIME SeekTime) PURE; \ STDMETHOD_(HRESULT,GetEndOfStreamEventHandle)(THIS_ HANDLE* phEOS) PURE; \ /*** IAMMultiMediaStream methods ***/ \ STDMETHOD_(HRESULT,Initialize)(THIS_ STREAM_TYPE StreamType, DWORD dwFlags, IGraphBuilder* pFilterGraph) PURE; \ STDMETHOD_(HRESULT,GetFilterGraph)(THIS_ IGraphBuilder** ppGraphBuilder) PURE; \ STDMETHOD_(HRESULT,GetFilter)(THIS_ IMediaStreamFilter** ppFilter) PURE; \ STDMETHOD_(HRESULT,AddMediaStream)(THIS_ IUnknown* pStreamObject, const MSPID* PurposeId, DWORD dwFlags, IMediaStream** ppNewStream) PURE; \ STDMETHOD_(HRESULT,OpenFile)(THIS_ LPCWSTR pszFileName, DWORD dwFlags) PURE; \ STDMETHOD_(HRESULT,OpenMoniker)(THIS_ IBindCtx* pCtx, IMoniker* pMoniker, DWORD dwFlags) PURE; \ STDMETHOD_(HRESULT,Render)(THIS_ DWORD dwFlags) PURE; HRESULT CALLBACK IAMMultiMediaStream_Initialize_Proxy( IAMMultiMediaStream* This, STREAM_TYPE StreamType, DWORD dwFlags, IGraphBuilder* pFilterGraph); void __RPC_STUB IAMMultiMediaStream_Initialize_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IAMMultiMediaStream_GetFilterGraph_Proxy( IAMMultiMediaStream* This, IGraphBuilder** ppGraphBuilder); void __RPC_STUB IAMMultiMediaStream_GetFilterGraph_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IAMMultiMediaStream_GetFilter_Proxy( IAMMultiMediaStream* This, IMediaStreamFilter** ppFilter); void __RPC_STUB IAMMultiMediaStream_GetFilter_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IAMMultiMediaStream_AddMediaStream_Proxy( IAMMultiMediaStream* This, IUnknown* pStreamObject, const MSPID* PurposeId, DWORD dwFlags, IMediaStream** ppNewStream); void __RPC_STUB IAMMultiMediaStream_AddMediaStream_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IAMMultiMediaStream_OpenFile_Proxy( IAMMultiMediaStream* This, LPCWSTR pszFileName, DWORD dwFlags); void __RPC_STUB IAMMultiMediaStream_OpenFile_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IAMMultiMediaStream_OpenMoniker_Proxy( IAMMultiMediaStream* This, IBindCtx* pCtx, IMoniker* pMoniker, DWORD dwFlags); void __RPC_STUB IAMMultiMediaStream_OpenMoniker_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IAMMultiMediaStream_Render_Proxy( IAMMultiMediaStream* This, DWORD dwFlags); void __RPC_STUB IAMMultiMediaStream_Render_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #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) struct 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; }; #else typedef struct IAMMediaStreamVtbl IAMMediaStreamVtbl; struct IAMMediaStream { const IAMMediaStreamVtbl* lpVtbl; }; struct IAMMediaStreamVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** 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); }; /*** IUnknown methods ***/ #define IAMMediaStream_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define IAMMediaStream_AddRef(p) (p)->lpVtbl->AddRef(p) #define IAMMediaStream_Release(p) (p)->lpVtbl->Release(p) /*** IMediaStream methods ***/ #define IAMMediaStream_GetMultiMediaStream(p,a) (p)->lpVtbl->GetMultiMediaStream(p,a) #define IAMMediaStream_GetInformation(p,a,b) (p)->lpVtbl->GetInformation(p,a,b) #define IAMMediaStream_SetSameFormat(p,a,b) (p)->lpVtbl->SetSameFormat(p,a,b) #define IAMMediaStream_AllocateSample(p,a,b) (p)->lpVtbl->AllocateSample(p,a,b) #define IAMMediaStream_CreateSharedSample(p,a,b,c) (p)->lpVtbl->CreateSharedSample(p,a,b,c) #define IAMMediaStream_SendEndOfStream(p,a) (p)->lpVtbl->SendEndOfStream(p,a) /*** IAMMediaStream methods ***/ #define IAMMediaStream_Initialize(p,a,b,c,d) (p)->lpVtbl->Initialize(p,a,b,c,d) #define IAMMediaStream_SetState(p,a) (p)->lpVtbl->SetState(p,a) #define IAMMediaStream_JoinAMMultiMediaStream(p,a) (p)->lpVtbl->JoinAMMultiMediaStream(p,a) #define IAMMediaStream_JoinFilter(p,a) (p)->lpVtbl->JoinFilter(p,a) #define IAMMediaStream_JoinFilterGraph(p,a) (p)->lpVtbl->JoinFilterGraph(p,a) #endif #define IAMMediaStream_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; \ /*** IMediaStream methods ***/ \ STDMETHOD_(HRESULT,GetMultiMediaStream)(THIS_ IMultiMediaStream** ppMultiMediaStream) PURE; \ STDMETHOD_(HRESULT,GetInformation)(THIS_ MSPID* pPurposeId, STREAM_TYPE* pType) PURE; \ STDMETHOD_(HRESULT,SetSameFormat)(THIS_ IMediaStream* pStreamThatHasDesiredFormat, DWORD dwFlags) PURE; \ STDMETHOD_(HRESULT,AllocateSample)(THIS_ DWORD dwFlags, IStreamSample** ppSample) PURE; \ STDMETHOD_(HRESULT,CreateSharedSample)(THIS_ IStreamSample* pExistingSample, DWORD dwFlags, IStreamSample** ppNewSample) PURE; \ STDMETHOD_(HRESULT,SendEndOfStream)(THIS_ DWORD dwFlags) PURE; \ /*** IAMMediaStream methods ***/ \ STDMETHOD_(HRESULT,Initialize)(THIS_ IUnknown* pSourceObject, DWORD dwFlags, REFMSPID PurposeId, const STREAM_TYPE StreamType) PURE; \ STDMETHOD_(HRESULT,SetState)(THIS_ FILTER_STATE State) PURE; \ STDMETHOD_(HRESULT,JoinAMMultiMediaStream)(THIS_ IAMMultiMediaStream* pAMMultiMediaStream) PURE; \ STDMETHOD_(HRESULT,JoinFilter)(THIS_ IMediaStreamFilter* pMediaStreamFilter) PURE; \ STDMETHOD_(HRESULT,JoinFilterGraph)(THIS_ IFilterGraph* pFilterGraph) PURE; HRESULT CALLBACK IAMMediaStream_Initialize_Proxy( IAMMediaStream* This, IUnknown* pSourceObject, DWORD dwFlags, REFMSPID PurposeId, const STREAM_TYPE StreamType); void __RPC_STUB IAMMediaStream_Initialize_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IAMMediaStream_SetState_Proxy( IAMMediaStream* This, FILTER_STATE State); void __RPC_STUB IAMMediaStream_SetState_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IAMMediaStream_JoinAMMultiMediaStream_Proxy( IAMMediaStream* This, IAMMultiMediaStream* pAMMultiMediaStream); void __RPC_STUB IAMMediaStream_JoinAMMultiMediaStream_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IAMMediaStream_JoinFilter_Proxy( IAMMediaStream* This, IMediaStreamFilter* pMediaStreamFilter); void __RPC_STUB IAMMediaStream_JoinFilter_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IAMMediaStream_JoinFilterGraph_Proxy( IAMMediaStream* This, IFilterGraph* pFilterGraph); void __RPC_STUB IAMMediaStream_JoinFilterGraph_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #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) struct 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( BOOL 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( BOOL bCancelEOS) = 0; virtual HRESULT STDMETHODCALLTYPE EndOfStream( ) = 0; }; #else typedef struct IMediaStreamFilterVtbl IMediaStreamFilterVtbl; struct IMediaStreamFilter { const IMediaStreamFilterVtbl* lpVtbl; }; struct IMediaStreamFilterVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** 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, BOOL 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, BOOL bCancelEOS); HRESULT (STDMETHODCALLTYPE *EndOfStream)( IMediaStreamFilter* This); }; /*** IUnknown methods ***/ #define IMediaStreamFilter_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define IMediaStreamFilter_AddRef(p) (p)->lpVtbl->AddRef(p) #define IMediaStreamFilter_Release(p) (p)->lpVtbl->Release(p) /*** IPersist methods ***/ #define IMediaStreamFilter_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a) /*** IMediaFilter methods ***/ #define IMediaStreamFilter_Stop(p) (p)->lpVtbl->Stop(p) #define IMediaStreamFilter_Pause(p) (p)->lpVtbl->Pause(p) #define IMediaStreamFilter_Run(p,a) (p)->lpVtbl->Run(p,a) #define IMediaStreamFilter_GetState(p,a,b) (p)->lpVtbl->GetState(p,a,b) #define IMediaStreamFilter_SetSyncSource(p,a) (p)->lpVtbl->SetSyncSource(p,a) #define IMediaStreamFilter_GetSyncSource(p,a) (p)->lpVtbl->GetSyncSource(p,a) /*** IBaseFilter methods ***/ #define IMediaStreamFilter_EnumPins(p,a) (p)->lpVtbl->EnumPins(p,a) #define IMediaStreamFilter_FindPin(p,a,b) (p)->lpVtbl->FindPin(p,a,b) #define IMediaStreamFilter_QueryFilterInfo(p,a) (p)->lpVtbl->QueryFilterInfo(p,a) #define IMediaStreamFilter_JoinFilterGraph(p,a,b) (p)->lpVtbl->JoinFilterGraph(p,a,b) #define IMediaStreamFilter_QueryVendorInfo(p,a) (p)->lpVtbl->QueryVendorInfo(p,a) /*** IMediaStreamFilter methods ***/ #define IMediaStreamFilter_AddMediaStream(p,a) (p)->lpVtbl->AddMediaStream(p,a) #define IMediaStreamFilter_GetMediaStream(p,a,b) (p)->lpVtbl->GetMediaStream(p,a,b) #define IMediaStreamFilter_EnumMediaStreams(p,a,b) (p)->lpVtbl->EnumMediaStreams(p,a,b) #define IMediaStreamFilter_SupportSeeking(p,a) (p)->lpVtbl->SupportSeeking(p,a) #define IMediaStreamFilter_ReferenceTimeToStreamTime(p,a) (p)->lpVtbl->ReferenceTimeToStreamTime(p,a) #define IMediaStreamFilter_GetCurrentStreamTime(p,a) (p)->lpVtbl->GetCurrentStreamTime(p,a) #define IMediaStreamFilter_WaitUntil(p,a) (p)->lpVtbl->WaitUntil(p,a) #define IMediaStreamFilter_Flush(p,a) (p)->lpVtbl->Flush(p,a) #define IMediaStreamFilter_EndOfStream(p) (p)->lpVtbl->EndOfStream(p) #endif #define IMediaStreamFilter_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; \ /*** IMediaStreamFilter methods ***/ \ STDMETHOD_(HRESULT,AddMediaStream)(THIS_ IAMMediaStream* pAMMediaStream) PURE; \ STDMETHOD_(HRESULT,GetMediaStream)(THIS_ REFMSPID idPurpose, IMediaStream** ppMediaStream) PURE; \ STDMETHOD_(HRESULT,EnumMediaStreams)(THIS_ long Index, IMediaStream** ppMediaStream) PURE; \ STDMETHOD_(HRESULT,SupportSeeking)(THIS_ BOOL bRenderer) PURE; \ STDMETHOD_(HRESULT,ReferenceTimeToStreamTime)(THIS_ REFERENCE_TIME* pTime) PURE; \ STDMETHOD_(HRESULT,GetCurrentStreamTime)(THIS_ REFERENCE_TIME* pCurrentStreamTime) PURE; \ STDMETHOD_(HRESULT,WaitUntil)(THIS_ REFERENCE_TIME WaitStreamTime) PURE; \ STDMETHOD_(HRESULT,Flush)(THIS_ BOOL bCancelEOS) PURE; \ STDMETHOD_(HRESULT,EndOfStream)(THIS) PURE; HRESULT CALLBACK IMediaStreamFilter_AddMediaStream_Proxy( IMediaStreamFilter* This, IAMMediaStream* pAMMediaStream); void __RPC_STUB IMediaStreamFilter_AddMediaStream_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IMediaStreamFilter_GetMediaStream_Proxy( IMediaStreamFilter* This, REFMSPID idPurpose, IMediaStream** ppMediaStream); void __RPC_STUB IMediaStreamFilter_GetMediaStream_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IMediaStreamFilter_EnumMediaStreams_Proxy( IMediaStreamFilter* This, long Index, IMediaStream** ppMediaStream); void __RPC_STUB IMediaStreamFilter_EnumMediaStreams_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IMediaStreamFilter_SupportSeeking_Proxy( IMediaStreamFilter* This, BOOL bRenderer); void __RPC_STUB IMediaStreamFilter_SupportSeeking_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IMediaStreamFilter_ReferenceTimeToStreamTime_Proxy( IMediaStreamFilter* This, REFERENCE_TIME* pTime); void __RPC_STUB IMediaStreamFilter_ReferenceTimeToStreamTime_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IMediaStreamFilter_GetCurrentStreamTime_Proxy( IMediaStreamFilter* This, REFERENCE_TIME* pCurrentStreamTime); void __RPC_STUB IMediaStreamFilter_GetCurrentStreamTime_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IMediaStreamFilter_WaitUntil_Proxy( IMediaStreamFilter* This, REFERENCE_TIME WaitStreamTime); void __RPC_STUB IMediaStreamFilter_WaitUntil_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IMediaStreamFilter_Flush_Proxy( IMediaStreamFilter* This, BOOL bCancelEOS); void __RPC_STUB IMediaStreamFilter_Flush_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IMediaStreamFilter_EndOfStream_Proxy( IMediaStreamFilter* This); void __RPC_STUB IMediaStreamFilter_EndOfStream_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IMediaStreamFilter_INTERFACE_DEFINED__ */ #ifndef __IDirectDrawMediaSampleAllocator_FWD_DEFINED__ #define __IDirectDrawMediaSampleAllocator_FWD_DEFINED__ typedef struct IDirectDrawMediaSampleAllocator IDirectDrawMediaSampleAllocator; #endif /***************************************************************************** * 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) struct IDirectDrawMediaSampleAllocator : public IUnknown { virtual HRESULT STDMETHODCALLTYPE GetDirectDraw( IDirectDraw** ppDirectDraw) = 0; }; #else typedef struct IDirectDrawMediaSampleAllocatorVtbl IDirectDrawMediaSampleAllocatorVtbl; struct IDirectDrawMediaSampleAllocator { const IDirectDrawMediaSampleAllocatorVtbl* lpVtbl; }; struct IDirectDrawMediaSampleAllocatorVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** 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); }; /*** IUnknown methods ***/ #define IDirectDrawMediaSampleAllocator_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define IDirectDrawMediaSampleAllocator_AddRef(p) (p)->lpVtbl->AddRef(p) #define IDirectDrawMediaSampleAllocator_Release(p) (p)->lpVtbl->Release(p) /*** IDirectDrawMediaSampleAllocator methods ***/ #define IDirectDrawMediaSampleAllocator_GetDirectDraw(p,a) (p)->lpVtbl->GetDirectDraw(p,a) #endif #define IDirectDrawMediaSampleAllocator_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; \ /*** IDirectDrawMediaSampleAllocator methods ***/ \ STDMETHOD_(HRESULT,GetDirectDraw)(THIS_ IDirectDraw** ppDirectDraw) PURE; HRESULT CALLBACK IDirectDrawMediaSampleAllocator_GetDirectDraw_Proxy( IDirectDrawMediaSampleAllocator* This, IDirectDraw** ppDirectDraw); void __RPC_STUB IDirectDrawMediaSampleAllocator_GetDirectDraw_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IDirectDrawMediaSampleAllocator_INTERFACE_DEFINED__ */ #ifndef __IDirectDrawMediaSample_FWD_DEFINED__ #define __IDirectDrawMediaSample_FWD_DEFINED__ typedef struct IDirectDrawMediaSample IDirectDrawMediaSample; #endif /***************************************************************************** * 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) struct IDirectDrawMediaSample : public IUnknown { virtual HRESULT STDMETHODCALLTYPE GetSurfaceAndReleaseLock( IDirectDrawSurface** ppDirectDrawSurface, RECT* pRect) = 0; virtual HRESULT STDMETHODCALLTYPE LockMediaSamplePointer( ) = 0; }; #else typedef struct IDirectDrawMediaSampleVtbl IDirectDrawMediaSampleVtbl; struct IDirectDrawMediaSample { const IDirectDrawMediaSampleVtbl* lpVtbl; }; struct IDirectDrawMediaSampleVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** 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); }; /*** IUnknown methods ***/ #define IDirectDrawMediaSample_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define IDirectDrawMediaSample_AddRef(p) (p)->lpVtbl->AddRef(p) #define IDirectDrawMediaSample_Release(p) (p)->lpVtbl->Release(p) /*** IDirectDrawMediaSample methods ***/ #define IDirectDrawMediaSample_GetSurfaceAndReleaseLock(p,a,b) (p)->lpVtbl->GetSurfaceAndReleaseLock(p,a,b) #define IDirectDrawMediaSample_LockMediaSamplePointer(p) (p)->lpVtbl->LockMediaSamplePointer(p) #endif #define IDirectDrawMediaSample_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; \ /*** IDirectDrawMediaSample methods ***/ \ STDMETHOD_(HRESULT,GetSurfaceAndReleaseLock)(THIS_ IDirectDrawSurface** ppDirectDrawSurface, RECT* pRect) PURE; \ STDMETHOD_(HRESULT,LockMediaSamplePointer)(THIS) PURE; HRESULT CALLBACK IDirectDrawMediaSample_GetSurfaceAndReleaseLock_Proxy( IDirectDrawMediaSample* This, IDirectDrawSurface** ppDirectDrawSurface, RECT* pRect); void __RPC_STUB IDirectDrawMediaSample_GetSurfaceAndReleaseLock_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IDirectDrawMediaSample_LockMediaSamplePointer_Proxy( IDirectDrawMediaSample* This); void __RPC_STUB IDirectDrawMediaSample_LockMediaSamplePointer_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #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) struct 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; }; #else typedef struct IAMMediaTypeStreamVtbl IAMMediaTypeStreamVtbl; struct IAMMediaTypeStream { const IAMMediaTypeStreamVtbl* lpVtbl; }; struct IAMMediaTypeStreamVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** 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); }; /*** IUnknown methods ***/ #define IAMMediaTypeStream_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define IAMMediaTypeStream_AddRef(p) (p)->lpVtbl->AddRef(p) #define IAMMediaTypeStream_Release(p) (p)->lpVtbl->Release(p) /*** IMediaStream methods ***/ #define IAMMediaTypeStream_GetMultiMediaStream(p,a) (p)->lpVtbl->GetMultiMediaStream(p,a) #define IAMMediaTypeStream_GetInformation(p,a,b) (p)->lpVtbl->GetInformation(p,a,b) #define IAMMediaTypeStream_SetSameFormat(p,a,b) (p)->lpVtbl->SetSameFormat(p,a,b) #define IAMMediaTypeStream_AllocateSample(p,a,b) (p)->lpVtbl->AllocateSample(p,a,b) #define IAMMediaTypeStream_CreateSharedSample(p,a,b,c) (p)->lpVtbl->CreateSharedSample(p,a,b,c) #define IAMMediaTypeStream_SendEndOfStream(p,a) (p)->lpVtbl->SendEndOfStream(p,a) /*** IAMMediaTypeStream methods ***/ #define IAMMediaTypeStream_GetFormat(p,a,b) (p)->lpVtbl->GetFormat(p,a,b) #define IAMMediaTypeStream_SetFormat(p,a,b) (p)->lpVtbl->SetFormat(p,a,b) #define IAMMediaTypeStream_CreateSample(p,a,b,c,d,e) (p)->lpVtbl->CreateSample(p,a,b,c,d,e) #define IAMMediaTypeStream_GetStreamAllocatorRequirements(p,a) (p)->lpVtbl->GetStreamAllocatorRequirements(p,a) #define IAMMediaTypeStream_SetStreamAllocatorRequirements(p,a) (p)->lpVtbl->SetStreamAllocatorRequirements(p,a) #endif #define IAMMediaTypeStream_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; \ /*** IMediaStream methods ***/ \ STDMETHOD_(HRESULT,GetMultiMediaStream)(THIS_ IMultiMediaStream** ppMultiMediaStream) PURE; \ STDMETHOD_(HRESULT,GetInformation)(THIS_ MSPID* pPurposeId, STREAM_TYPE* pType) PURE; \ STDMETHOD_(HRESULT,SetSameFormat)(THIS_ IMediaStream* pStreamThatHasDesiredFormat, DWORD dwFlags) PURE; \ STDMETHOD_(HRESULT,AllocateSample)(THIS_ DWORD dwFlags, IStreamSample** ppSample) PURE; \ STDMETHOD_(HRESULT,CreateSharedSample)(THIS_ IStreamSample* pExistingSample, DWORD dwFlags, IStreamSample** ppNewSample) PURE; \ STDMETHOD_(HRESULT,SendEndOfStream)(THIS_ DWORD dwFlags) PURE; \ /*** IAMMediaTypeStream methods ***/ \ STDMETHOD_(HRESULT,GetFormat)(THIS_ AM_MEDIA_TYPE* pMediaType, DWORD dwFlags) PURE; \ STDMETHOD_(HRESULT,SetFormat)(THIS_ AM_MEDIA_TYPE* pMediaType, DWORD dwFlags) PURE; \ STDMETHOD_(HRESULT,CreateSample)(THIS_ long lSampleSize, BYTE* pbBuffer, DWORD dwFlags, IUnknown* pUnkOuter, IAMMediaTypeSample** ppAMMediaTypeSample) PURE; \ STDMETHOD_(HRESULT,GetStreamAllocatorRequirements)(THIS_ ALLOCATOR_PROPERTIES* pProps) PURE; \ STDMETHOD_(HRESULT,SetStreamAllocatorRequirements)(THIS_ ALLOCATOR_PROPERTIES* pProps) PURE; HRESULT CALLBACK IAMMediaTypeStream_GetFormat_Proxy( IAMMediaTypeStream* This, AM_MEDIA_TYPE* pMediaType, DWORD dwFlags); void __RPC_STUB IAMMediaTypeStream_GetFormat_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IAMMediaTypeStream_SetFormat_Proxy( IAMMediaTypeStream* This, AM_MEDIA_TYPE* pMediaType, DWORD dwFlags); void __RPC_STUB IAMMediaTypeStream_SetFormat_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IAMMediaTypeStream_CreateSample_Proxy( IAMMediaTypeStream* This, long lSampleSize, BYTE* pbBuffer, DWORD dwFlags, IUnknown* pUnkOuter, IAMMediaTypeSample** ppAMMediaTypeSample); void __RPC_STUB IAMMediaTypeStream_CreateSample_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IAMMediaTypeStream_GetStreamAllocatorRequirements_Proxy( IAMMediaTypeStream* This, ALLOCATOR_PROPERTIES* pProps); void __RPC_STUB IAMMediaTypeStream_GetStreamAllocatorRequirements_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IAMMediaTypeStream_SetStreamAllocatorRequirements_Proxy( IAMMediaTypeStream* This, ALLOCATOR_PROPERTIES* pProps); void __RPC_STUB IAMMediaTypeStream_SetStreamAllocatorRequirements_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #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) struct 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( 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 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( BOOL bDiscontinuity) = 0; virtual HRESULT STDMETHODCALLTYPE GetMediaTime( LONGLONG* pTimeStart, LONGLONG* pTimeEnd) = 0; virtual HRESULT STDMETHODCALLTYPE SetMediaTime( LONGLONG* pTimeStart, LONGLONG* pTimeEnd) = 0; }; #else typedef struct IAMMediaTypeSampleVtbl IAMMediaTypeSampleVtbl; struct IAMMediaTypeSample { const IAMMediaTypeSampleVtbl* lpVtbl; }; struct IAMMediaTypeSampleVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** 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, BOOL bIsSyncPoint); HRESULT (STDMETHODCALLTYPE *IsPreroll)( IAMMediaTypeSample* This); HRESULT (STDMETHODCALLTYPE *SetPreroll)( IAMMediaTypeSample* This, BOOL 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, BOOL bDiscontinuity); HRESULT (STDMETHODCALLTYPE *GetMediaTime)( IAMMediaTypeSample* This, LONGLONG* pTimeStart, LONGLONG* pTimeEnd); HRESULT (STDMETHODCALLTYPE *SetMediaTime)( IAMMediaTypeSample* This, LONGLONG* pTimeStart, LONGLONG* pTimeEnd); }; /*** IUnknown methods ***/ #define IAMMediaTypeSample_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define IAMMediaTypeSample_AddRef(p) (p)->lpVtbl->AddRef(p) #define IAMMediaTypeSample_Release(p) (p)->lpVtbl->Release(p) /*** IStreamSample methods ***/ #define IAMMediaTypeSample_GetMediaStream(p,a) (p)->lpVtbl->GetMediaStream(p,a) #define IAMMediaTypeSample_GetSampleTimes(p,a,b,c) (p)->lpVtbl->GetSampleTimes(p,a,b,c) #define IAMMediaTypeSample_SetSampleTimes(p,a,b) (p)->lpVtbl->SetSampleTimes(p,a,b) #define IAMMediaTypeSample_Update(p,a,b,c,d) (p)->lpVtbl->Update(p,a,b,c,d) #define IAMMediaTypeSample_CompletionStatus(p,a,b) (p)->lpVtbl->CompletionStatus(p,a,b) /*** IAMMediaTypeSample methods ***/ #define IAMMediaTypeSample_SetPointer(p,a,b) (p)->lpVtbl->SetPointer(p,a,b) #define IAMMediaTypeSample_GetPointer(p,a) (p)->lpVtbl->GetPointer(p,a) #define IAMMediaTypeSample_GetSize(p) (p)->lpVtbl->GetSize(p) #define IAMMediaTypeSample_GetTime(p,a,b) (p)->lpVtbl->GetTime(p,a,b) #define IAMMediaTypeSample_SetTime(p,a,b) (p)->lpVtbl->SetTime(p,a,b) #define IAMMediaTypeSample_IsSyncPoint(p) (p)->lpVtbl->IsSyncPoint(p) #define IAMMediaTypeSample_SetSyncPoint(p,a) (p)->lpVtbl->SetSyncPoint(p,a) #define IAMMediaTypeSample_IsPreroll(p) (p)->lpVtbl->IsPreroll(p) #define IAMMediaTypeSample_SetPreroll(p,a) (p)->lpVtbl->SetPreroll(p,a) #define IAMMediaTypeSample_GetActualDataLength(p) (p)->lpVtbl->GetActualDataLength(p) #define IAMMediaTypeSample_SetActualDataLength(p,a) (p)->lpVtbl->SetActualDataLength(p,a) #define IAMMediaTypeSample_GetMediaType(p,a) (p)->lpVtbl->GetMediaType(p,a) #define IAMMediaTypeSample_SetMediaType(p,a) (p)->lpVtbl->SetMediaType(p,a) #define IAMMediaTypeSample_IsDiscontinuity(p) (p)->lpVtbl->IsDiscontinuity(p) #define IAMMediaTypeSample_SetDiscontinuity(p,a) (p)->lpVtbl->SetDiscontinuity(p,a) #define IAMMediaTypeSample_GetMediaTime(p,a,b) (p)->lpVtbl->GetMediaTime(p,a,b) #define IAMMediaTypeSample_SetMediaTime(p,a,b) (p)->lpVtbl->SetMediaTime(p,a,b) #endif #define IAMMediaTypeSample_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; \ /*** IStreamSample methods ***/ \ STDMETHOD_(HRESULT,GetMediaStream)(THIS_ IMediaStream** ppMediaStream) PURE; \ STDMETHOD_(HRESULT,GetSampleTimes)(THIS_ STREAM_TIME* pStartTime, STREAM_TIME* pEndTime, STREAM_TIME* pCurrentTime) PURE; \ STDMETHOD_(HRESULT,SetSampleTimes)(THIS_ const STREAM_TIME* pStartTime, const STREAM_TIME* pEndTime) PURE; \ STDMETHOD_(HRESULT,Update)(THIS_ DWORD dwFlags, HANDLE hEvent, PAPCFUNC pfnAPC, DWORD dwAPCData) PURE; \ STDMETHOD_(HRESULT,CompletionStatus)(THIS_ DWORD dwFlags, DWORD dwMilliseconds) PURE; \ /*** IAMMediaTypeSample methods ***/ \ STDMETHOD_(HRESULT,SetPointer)(THIS_ BYTE* pBuffer, long lSize) PURE; \ 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 Len) 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 IAMMediaTypeSample_SetPointer_Proxy( IAMMediaTypeSample* This, BYTE* pBuffer, long lSize); void __RPC_STUB IAMMediaTypeSample_SetPointer_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IAMMediaTypeSample_GetPointer_Proxy( IAMMediaTypeSample* This, BYTE** ppBuffer); void __RPC_STUB IAMMediaTypeSample_GetPointer_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); long CALLBACK IAMMediaTypeSample_GetSize_Proxy( IAMMediaTypeSample* This); void __RPC_STUB IAMMediaTypeSample_GetSize_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IAMMediaTypeSample_GetTime_Proxy( IAMMediaTypeSample* This, REFERENCE_TIME* pTimeStart, REFERENCE_TIME* pTimeEnd); void __RPC_STUB IAMMediaTypeSample_GetTime_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IAMMediaTypeSample_SetTime_Proxy( IAMMediaTypeSample* This, REFERENCE_TIME* pTimeStart, REFERENCE_TIME* pTimeEnd); void __RPC_STUB IAMMediaTypeSample_SetTime_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IAMMediaTypeSample_IsSyncPoint_Proxy( IAMMediaTypeSample* This); void __RPC_STUB IAMMediaTypeSample_IsSyncPoint_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IAMMediaTypeSample_SetSyncPoint_Proxy( IAMMediaTypeSample* This, BOOL bIsSyncPoint); void __RPC_STUB IAMMediaTypeSample_SetSyncPoint_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IAMMediaTypeSample_IsPreroll_Proxy( IAMMediaTypeSample* This); void __RPC_STUB IAMMediaTypeSample_IsPreroll_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IAMMediaTypeSample_SetPreroll_Proxy( IAMMediaTypeSample* This, BOOL bIsPreroll); void __RPC_STUB IAMMediaTypeSample_SetPreroll_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); long CALLBACK IAMMediaTypeSample_GetActualDataLength_Proxy( IAMMediaTypeSample* This); void __RPC_STUB IAMMediaTypeSample_GetActualDataLength_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IAMMediaTypeSample_SetActualDataLength_Proxy( IAMMediaTypeSample* This, long Len); void __RPC_STUB IAMMediaTypeSample_SetActualDataLength_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IAMMediaTypeSample_GetMediaType_Proxy( IAMMediaTypeSample* This, AM_MEDIA_TYPE** ppMediaType); void __RPC_STUB IAMMediaTypeSample_GetMediaType_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IAMMediaTypeSample_SetMediaType_Proxy( IAMMediaTypeSample* This, AM_MEDIA_TYPE* pMediaType); void __RPC_STUB IAMMediaTypeSample_SetMediaType_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IAMMediaTypeSample_IsDiscontinuity_Proxy( IAMMediaTypeSample* This); void __RPC_STUB IAMMediaTypeSample_IsDiscontinuity_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IAMMediaTypeSample_SetDiscontinuity_Proxy( IAMMediaTypeSample* This, BOOL bDiscontinuity); void __RPC_STUB IAMMediaTypeSample_SetDiscontinuity_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IAMMediaTypeSample_GetMediaTime_Proxy( IAMMediaTypeSample* This, LONGLONG* pTimeStart, LONGLONG* pTimeEnd); void __RPC_STUB IAMMediaTypeSample_GetMediaTime_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IAMMediaTypeSample_SetMediaTime_Proxy( IAMMediaTypeSample* This, LONGLONG* pTimeStart, LONGLONG* pTimeEnd); void __RPC_STUB IAMMediaTypeSample_SetMediaTime_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IAMMediaTypeSample_INTERFACE_DEFINED__ */ DEFINE_GUID(CLSID_AMMultiMediaStream, 0x49c47ce5, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45); 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); #ifdef __cplusplus } #endif #endif /* __WIDL_AMSTREAM_H */