📄 amstream.h
字号:
#ifndef __IAMMultiMediaStream_INTERFACE_DEFINED__
#define __IAMMultiMediaStream_INTERFACE_DEFINED__
/* interface IAMMultiMediaStream */
/* [unique][uuid][object] */
EXTERN_C const IID IID_IAMMultiMediaStream;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("BEBE595C-9A6F-11d0-8FDE-00C04FD9189D")
IAMMultiMediaStream : public IMultiMediaStream
{
public:
virtual HRESULT STDMETHODCALLTYPE Initialize(
/* [in] */ STREAM_TYPE StreamType,
/* [in] */ DWORD dwFlags,
/* [in] */ IGraphBuilder *pFilterGraph) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFilterGraph(
/* [out] */ IGraphBuilder **ppGraphBuilder) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFilter(
/* [out] */ IMediaStreamFilter **ppFilter) = 0;
virtual HRESULT STDMETHODCALLTYPE AddMediaStream(
/* [in] */ IUnknown *pStreamObject,
/* [in] */ const MSPID *PurposeId,
/* [in] */ DWORD dwFlags,
/* [out] */ IMediaStream **ppNewStream) = 0;
virtual HRESULT STDMETHODCALLTYPE OpenFile(
/* [in] */ LPCWSTR pszFileName,
/* [in] */ DWORD dwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE OpenMoniker(
/* [in] */ IBindCtx *pCtx,
/* [in] */ IMoniker *pMoniker,
/* [in] */ DWORD dwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE Render(
/* [in] */ DWORD dwFlags) = 0;
};
#else /* C style interface */
typedef struct IAMMultiMediaStreamVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IAMMultiMediaStream * This,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IAMMultiMediaStream * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IAMMultiMediaStream * This);
HRESULT ( STDMETHODCALLTYPE *GetInformation )(
IAMMultiMediaStream * This,
/* [out] */ DWORD *pdwFlags,
/* [out] */ STREAM_TYPE *pStreamType);
HRESULT ( STDMETHODCALLTYPE *GetMediaStream )(
IAMMultiMediaStream * This,
/* [in] */ REFMSPID idPurpose,
/* [out] */ IMediaStream **ppMediaStream);
HRESULT ( STDMETHODCALLTYPE *EnumMediaStreams )(
IAMMultiMediaStream * This,
/* [in] */ long Index,
/* [out] */ IMediaStream **ppMediaStream);
HRESULT ( STDMETHODCALLTYPE *GetState )(
IAMMultiMediaStream * This,
/* [out] */ STREAM_STATE *pCurrentState);
HRESULT ( STDMETHODCALLTYPE *SetState )(
IAMMultiMediaStream * This,
/* [in] */ STREAM_STATE NewState);
HRESULT ( STDMETHODCALLTYPE *GetTime )(
IAMMultiMediaStream * This,
/* [out] */ STREAM_TIME *pCurrentTime);
HRESULT ( STDMETHODCALLTYPE *GetDuration )(
IAMMultiMediaStream * This,
/* [out] */ STREAM_TIME *pDuration);
HRESULT ( STDMETHODCALLTYPE *Seek )(
IAMMultiMediaStream * This,
/* [in] */ STREAM_TIME SeekTime);
HRESULT ( STDMETHODCALLTYPE *GetEndOfStreamEventHandle )(
IAMMultiMediaStream * This,
/* [out] */ HANDLE *phEOS);
HRESULT ( STDMETHODCALLTYPE *Initialize )(
IAMMultiMediaStream * This,
/* [in] */ STREAM_TYPE StreamType,
/* [in] */ DWORD dwFlags,
/* [in] */ IGraphBuilder *pFilterGraph);
HRESULT ( STDMETHODCALLTYPE *GetFilterGraph )(
IAMMultiMediaStream * This,
/* [out] */ IGraphBuilder **ppGraphBuilder);
HRESULT ( STDMETHODCALLTYPE *GetFilter )(
IAMMultiMediaStream * This,
/* [out] */ IMediaStreamFilter **ppFilter);
HRESULT ( STDMETHODCALLTYPE *AddMediaStream )(
IAMMultiMediaStream * This,
/* [in] */ IUnknown *pStreamObject,
/* [in] */ const MSPID *PurposeId,
/* [in] */ DWORD dwFlags,
/* [out] */ IMediaStream **ppNewStream);
HRESULT ( STDMETHODCALLTYPE *OpenFile )(
IAMMultiMediaStream * This,
/* [in] */ LPCWSTR pszFileName,
/* [in] */ DWORD dwFlags);
HRESULT ( STDMETHODCALLTYPE *OpenMoniker )(
IAMMultiMediaStream * This,
/* [in] */ IBindCtx *pCtx,
/* [in] */ IMoniker *pMoniker,
/* [in] */ DWORD dwFlags);
HRESULT ( STDMETHODCALLTYPE *Render )(
IAMMultiMediaStream * This,
/* [in] */ DWORD dwFlags);
END_INTERFACE
} IAMMultiMediaStreamVtbl;
interface IAMMultiMediaStream
{
CONST_VTBL struct IAMMultiMediaStreamVtbl *lpVtbl;
};
#ifdef COBJMACROS
#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)
#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)
#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)
#endif /* COBJMACROS */
#endif /* C style interface */
HRESULT STDMETHODCALLTYPE IAMMultiMediaStream_Initialize_Proxy(
IAMMultiMediaStream * This,
/* [in] */ STREAM_TYPE StreamType,
/* [in] */ DWORD dwFlags,
/* [in] */ IGraphBuilder *pFilterGraph);
void __RPC_STUB IAMMultiMediaStream_Initialize_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IAMMultiMediaStream_GetFilterGraph_Proxy(
IAMMultiMediaStream * This,
/* [out] */ IGraphBuilder **ppGraphBuilder);
void __RPC_STUB IAMMultiMediaStream_GetFilterGraph_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IAMMultiMediaStream_GetFilter_Proxy(
IAMMultiMediaStream * This,
/* [out] */ IMediaStreamFilter **ppFilter);
void __RPC_STUB IAMMultiMediaStream_GetFilter_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IAMMultiMediaStream_AddMediaStream_Proxy(
IAMMultiMediaStream * This,
/* [in] */ IUnknown *pStreamObject,
/* [in] */ const MSPID *PurposeId,
/* [in] */ DWORD dwFlags,
/* [out] */ IMediaStream **ppNewStream);
void __RPC_STUB IAMMultiMediaStream_AddMediaStream_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IAMMultiMediaStream_OpenFile_Proxy(
IAMMultiMediaStream * This,
/* [in] */ LPCWSTR pszFileName,
/* [in] */ DWORD dwFlags);
void __RPC_STUB IAMMultiMediaStream_OpenFile_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IAMMultiMediaStream_OpenMoniker_Proxy(
IAMMultiMediaStream * This,
/* [in] */ IBindCtx *pCtx,
/* [in] */ IMoniker *pMoniker,
/* [in] */ DWORD dwFlags);
void __RPC_STUB IAMMultiMediaStream_OpenMoniker_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IAMMultiMediaStream_Render_Proxy(
IAMMultiMediaStream * This,
/* [in] */ DWORD dwFlags);
void __RPC_STUB IAMMultiMediaStream_Render_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
#endif /* __IAMMultiMediaStream_INTERFACE_DEFINED__ */
#ifndef __IAMMediaStream_INTERFACE_DEFINED__
#define __IAMMediaStream_INTERFACE_DEFINED__
/* interface IAMMediaStream */
/* [unique][uuid][object] */
EXTERN_C const IID IID_IAMMediaStream;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("BEBE595D-9A6F-11d0-8FDE-00C04FD9189D")
IAMMediaStream : public IMediaStream
{
public:
virtual HRESULT STDMETHODCALLTYPE Initialize(
/* [in] */ IUnknown *pSourceObject,
/* [in] */ DWORD dwFlags,
/* [in] */ REFMSPID PurposeId,
/* [in] */ const STREAM_TYPE StreamType) = 0;
virtual HRESULT STDMETHODCALLTYPE SetState(
/* [in] */ FILTER_STATE State) = 0;
virtual HRESULT STDMETHODCALLTYPE JoinAMMultiMediaStream(
/* [in] */ IAMMultiMediaStream *pAMMultiMediaStream) = 0;
virtual HRESULT STDMETHODCALLTYPE JoinFilter(
/* [in] */ IMediaStreamFilter *pMediaStreamFilter) = 0;
virtual HRESULT STDMETHODCALLTYPE JoinFilterGraph(
/* [in] */ IFilterGraph *pFilterGraph) = 0;
};
#else /* C style interface */
typedef struct IAMMediaStreamVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IAMMediaStream * This,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IAMMediaStream * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IAMMediaStream * This);
HRESULT ( STDMETHODCALLTYPE *GetMultiMediaStream )(
IAMMediaStream * This,
/* [out] */ IMultiMediaStream **ppMultiMediaStream);
HRESULT ( STDMETHODCALLTYPE *GetInformation )(
IAMMediaStream * This,
/* [out] */ MSPID *pPurposeId,
/* [out] */ STREAM_TYPE *pType);
HRESULT ( STDMETHODCALLTYPE *SetSameFormat )(
IAMMediaStream * This,
/* [in] */ IMediaStream *pStreamThatHasDesiredFormat,
/* [in] */ DWORD dwFlags);
HRESULT ( STDMETHODCALLTYPE *AllocateSample )(
IAMMediaStream * This,
/* [in] */ DWORD dwFlags,
/* [out] */ IStreamSample **ppSample);
HRESULT ( STDMETHODCALLTYPE *CreateSharedSample )(
IAMMediaStream * This,
/* [in] */ IStreamSample *pExistingSample,
/* [in] */ DWORD dwFlags,
/* [out] */ IStreamSample **ppNewSample);
HRESULT ( STDMETHODCALLTYPE *SendEndOfStream )(
IAMMediaStream * This,
DWORD dwFlags);
HRESULT ( STDMETHODCALLTYPE *Initialize )(
IAMMediaStream * This,
/* [in] */ IUnknown *pSourceObject,
/* [in] */ DWORD dwFlags,
/* [in] */ REFMSPID PurposeId,
/* [in] */ const STREAM_TYPE StreamType);
HRESULT ( STDMETHODCALLTYPE *SetState )(
IAMMediaStream * This,
/* [in] */ FILTER_STATE State);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -