wine/include/amstream.h
2004-08-23 18:10:02 +00:00

1595 lines
58 KiB
C

/*** Autogenerated by WIDL 0.1 from amstream.idl - Do not edit ***/
#include <rpc.h>
#include <rpcndr.h>
#ifndef __WIDL_AMSTREAM_H
#define __WIDL_AMSTREAM_H
#ifdef __cplusplus
extern "C" {
#endif
#include <unknwn.h>
#include <mmstream.h>
#include <strmif.h>
#include <ddraw.h>
#include <mmsystem.h>
#include <mmstream.h>
#include <ddstream.h>
#include <austream.h>
#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 {
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,
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);
END_INTERFACE
};
#ifdef COBJMACROS
/*** 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
#endif
#define IAMMultiMediaStream_METHODS \
/*** 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 {
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
};
#ifdef COBJMACROS
/*** 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
#endif
#define IAMMediaStream_METHODS \
/*** 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 {
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,
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);
END_INTERFACE
};
#ifdef COBJMACROS
/*** 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
#endif
#define IMediaStreamFilter_METHODS \
/*** 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 {
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
};
#ifdef COBJMACROS
/*** 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
#endif
#define IDirectDrawMediaSampleAllocator_METHODS \
/*** 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 {
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
};
#ifdef COBJMACROS
/*** 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
#endif
#define IDirectDrawMediaSample_METHODS \
/*** 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 {
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
};
#ifdef COBJMACROS
/*** 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
#endif
#define IAMMediaTypeStream_METHODS \
/*** 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 {
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,
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);
END_INTERFACE
};
#ifdef COBJMACROS
/*** 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
#endif
#define IAMMediaTypeSample_METHODS \
/*** 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 */