summaryrefslogtreecommitdiffstats
path: root/dxsdk/Include/amstream.h
diff options
context:
space:
mode:
Diffstat (limited to 'dxsdk/Include/amstream.h')
-rw-r--r--dxsdk/Include/amstream.h2295
1 files changed, 2295 insertions, 0 deletions
diff --git a/dxsdk/Include/amstream.h b/dxsdk/Include/amstream.h
new file mode 100644
index 00000000..421fb80e
--- /dev/null
+++ b/dxsdk/Include/amstream.h
@@ -0,0 +1,2295 @@
+
+#pragma warning( disable: 4049 ) /* more than 64k source lines */
+
+/* this ALWAYS GENERATED file contains the definitions for the interfaces */
+
+
+ /* File created by MIDL compiler version 6.00.0357 */
+/* Compiler settings for amstream.idl:
+ Oicf, W1, Zp8, env=Win32 (32b run)
+ protocol : dce , ms_ext, c_ext, robust
+ error checks: allocation ref bounds_check enum stub_data
+ VC __declspec() decoration level:
+ __declspec(uuid()), __declspec(selectany), __declspec(novtable)
+ DECLSPEC_UUID(), MIDL_INTERFACE()
+*/
+//@@MIDL_FILE_HEADING( )
+
+
+/* verify that the <rpcndr.h> version is high enough to compile this file*/
+#ifndef __REQUIRED_RPCNDR_H_VERSION__
+#define __REQUIRED_RPCNDR_H_VERSION__ 475
+#endif
+
+#include "rpc.h"
+#include "rpcndr.h"
+
+#ifndef __RPCNDR_H_VERSION__
+#error this stub requires an updated version of <rpcndr.h>
+#endif // __RPCNDR_H_VERSION__
+
+#ifndef COM_NO_WINDOWS_H
+#include "windows.h"
+#include "ole2.h"
+#endif /*COM_NO_WINDOWS_H*/
+
+#ifndef __amstream_h__
+#define __amstream_h__
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+#pragma once
+#endif
+
+/* Forward Declarations */
+
+#ifndef __IDirectShowStream_FWD_DEFINED__
+#define __IDirectShowStream_FWD_DEFINED__
+typedef interface IDirectShowStream IDirectShowStream;
+#endif /* __IDirectShowStream_FWD_DEFINED__ */
+
+
+#ifndef __IAMMultiMediaStream_FWD_DEFINED__
+#define __IAMMultiMediaStream_FWD_DEFINED__
+typedef interface IAMMultiMediaStream IAMMultiMediaStream;
+#endif /* __IAMMultiMediaStream_FWD_DEFINED__ */
+
+
+#ifndef __IAMMediaStream_FWD_DEFINED__
+#define __IAMMediaStream_FWD_DEFINED__
+typedef interface IAMMediaStream IAMMediaStream;
+#endif /* __IAMMediaStream_FWD_DEFINED__ */
+
+
+#ifndef __IMediaStreamFilter_FWD_DEFINED__
+#define __IMediaStreamFilter_FWD_DEFINED__
+typedef interface IMediaStreamFilter IMediaStreamFilter;
+#endif /* __IMediaStreamFilter_FWD_DEFINED__ */
+
+
+#ifndef __IDirectDrawMediaSampleAllocator_FWD_DEFINED__
+#define __IDirectDrawMediaSampleAllocator_FWD_DEFINED__
+typedef interface IDirectDrawMediaSampleAllocator IDirectDrawMediaSampleAllocator;
+#endif /* __IDirectDrawMediaSampleAllocator_FWD_DEFINED__ */
+
+
+#ifndef __IDirectDrawMediaSample_FWD_DEFINED__
+#define __IDirectDrawMediaSample_FWD_DEFINED__
+typedef interface IDirectDrawMediaSample IDirectDrawMediaSample;
+#endif /* __IDirectDrawMediaSample_FWD_DEFINED__ */
+
+
+#ifndef __IAMMediaTypeStream_FWD_DEFINED__
+#define __IAMMediaTypeStream_FWD_DEFINED__
+typedef interface IAMMediaTypeStream IAMMediaTypeStream;
+#endif /* __IAMMediaTypeStream_FWD_DEFINED__ */
+
+
+#ifndef __IAMMediaTypeSample_FWD_DEFINED__
+#define __IAMMediaTypeSample_FWD_DEFINED__
+typedef interface IAMMediaTypeSample IAMMediaTypeSample;
+#endif /* __IAMMediaTypeSample_FWD_DEFINED__ */
+
+
+#ifndef __AMMultiMediaStream_FWD_DEFINED__
+#define __AMMultiMediaStream_FWD_DEFINED__
+
+#ifdef __cplusplus
+typedef class AMMultiMediaStream AMMultiMediaStream;
+#else
+typedef struct AMMultiMediaStream AMMultiMediaStream;
+#endif /* __cplusplus */
+
+#endif /* __AMMultiMediaStream_FWD_DEFINED__ */
+
+
+/* header files for imported files */
+#include "unknwn.h"
+#include "mmstream.h"
+#include "strmif.h"
+
+#ifdef __cplusplus
+extern "C"{
+#endif
+
+void * __RPC_USER MIDL_user_allocate(size_t);
+void __RPC_USER MIDL_user_free( void * );
+
+/* interface __MIDL_itf_amstream_0000 */
+/* [local] */
+
+#include <ddraw.h>
+#include <mmsystem.h>
+#include <mmstream.h>
+#include <ddstream.h>
+#include <austream.h>
+
+
+
+
+
+
+
+
+enum __MIDL___MIDL_itf_amstream_0000_0001
+ { AMMSF_NOGRAPHTHREAD = 0x1
+ } ;
+
+enum __MIDL___MIDL_itf_amstream_0000_0002
+ { AMMSF_ADDDEFAULTRENDERER = 0x1,
+ AMMSF_CREATEPEER = 0x2,
+ AMMSF_STOPIFNOSAMPLES = 0x4,
+ AMMSF_NOSTALL = 0x8
+ } ;
+
+enum __MIDL___MIDL_itf_amstream_0000_0003
+ { AMMSF_RENDERTYPEMASK = 0x3,
+ AMMSF_RENDERTOEXISTING = 0,
+ AMMSF_RENDERALLSTREAMS = 0x1,
+ AMMSF_NORENDER = 0x2,
+ AMMSF_NOCLOCK = 0x4,
+ AMMSF_RUN = 0x8
+ } ;
+typedef /* [public][public][public][public][public][v1_enum] */
+enum __MIDL___MIDL_itf_amstream_0000_0004
+ { Disabled = 0,
+ ReadData = 1,
+ RenderData = 2
+ } OUTPUT_STATE;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_amstream_0000_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_amstream_0000_v0_0_s_ifspec;
+
+#ifndef __IDirectShowStream_INTERFACE_DEFINED__
+#define __IDirectShowStream_INTERFACE_DEFINED__
+
+/* interface IDirectShowStream */
+/* [unique][helpstring][dual][uuid][object] */
+
+
+EXTERN_C const IID IID_IDirectShowStream;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("7DB01C96-C0C3-11d0-8FF1-00C04FD9189D")
+ IDirectShowStream : public IDispatch
+ {
+ public:
+ virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_FileName(
+ /* [retval][out] */ BSTR *pVal) = 0;
+
+ virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_FileName(
+ /* [in] */ BSTR newVal) = 0;
+
+ virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Video(
+ /* [retval][out] */ OUTPUT_STATE *pVal) = 0;
+
+ virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Video(
+ /* [in] */ OUTPUT_STATE newVal) = 0;
+
+ virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Audio(
+ /* [retval][out] */ OUTPUT_STATE *pVal) = 0;
+
+ virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Audio(
+ /* [in] */ OUTPUT_STATE newVal) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IDirectShowStreamVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDirectShowStream * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDirectShowStream * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDirectShowStream * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
+ IDirectShowStream * This,
+ /* [out] */ UINT *pctinfo);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
+ IDirectShowStream * This,
+ /* [in] */ UINT iTInfo,
+ /* [in] */ LCID lcid,
+ /* [out] */ ITypeInfo **ppTInfo);
+
+ HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
+ IDirectShowStream * This,
+ /* [in] */ REFIID riid,
+ /* [size_is][in] */ LPOLESTR *rgszNames,
+ /* [in] */ UINT cNames,
+ /* [in] */ LCID lcid,
+ /* [size_is][out] */ DISPID *rgDispId);
+
+ /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ IDirectShowStream * This,
+ /* [in] */ DISPID dispIdMember,
+ /* [in] */ REFIID riid,
+ /* [in] */ LCID lcid,
+ /* [in] */ WORD wFlags,
+ /* [out][in] */ DISPPARAMS *pDispParams,
+ /* [out] */ VARIANT *pVarResult,
+ /* [out] */ EXCEPINFO *pExcepInfo,
+ /* [out] */ UINT *puArgErr);
+
+ /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FileName )(
+ IDirectShowStream * This,
+ /* [retval][out] */ BSTR *pVal);
+
+ /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FileName )(
+ IDirectShowStream * This,
+ /* [in] */ BSTR newVal);
+
+ /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Video )(
+ IDirectShowStream * This,
+ /* [retval][out] */ OUTPUT_STATE *pVal);
+
+ /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Video )(
+ IDirectShowStream * This,
+ /* [in] */ OUTPUT_STATE newVal);
+
+ /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Audio )(
+ IDirectShowStream * This,
+ /* [retval][out] */ OUTPUT_STATE *pVal);
+
+ /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Audio )(
+ IDirectShowStream * This,
+ /* [in] */ OUTPUT_STATE newVal);
+
+ END_INTERFACE
+ } IDirectShowStreamVtbl;
+
+ interface IDirectShowStream
+ {
+ CONST_VTBL struct IDirectShowStreamVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDirectShowStream_QueryInterface(This,riid,ppvObject) \
+ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
+
+#define IDirectShowStream_AddRef(This) \
+ (This)->lpVtbl -> AddRef(This)
+
+#define IDirectShowStream_Release(This) \
+ (This)->lpVtbl -> Release(This)
+
+
+#define IDirectShowStream_GetTypeInfoCount(This,pctinfo) \
+ (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
+
+#define IDirectShowStream_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
+ (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+
+#define IDirectShowStream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
+ (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+
+#define IDirectShowStream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
+ (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+
+
+#define IDirectShowStream_get_FileName(This,pVal) \
+ (This)->lpVtbl -> get_FileName(This,pVal)
+
+#define IDirectShowStream_put_FileName(This,newVal) \
+ (This)->lpVtbl -> put_FileName(This,newVal)
+
+#define IDirectShowStream_get_Video(This,pVal) \
+ (This)->lpVtbl -> get_Video(This,pVal)
+
+#define IDirectShowStream_put_Video(This,newVal) \
+ (This)->lpVtbl -> put_Video(This,newVal)
+
+#define IDirectShowStream_get_Audio(This,pVal) \
+ (This)->lpVtbl -> get_Audio(This,pVal)
+
+#define IDirectShowStream_put_Audio(This,newVal) \
+ (This)->lpVtbl -> put_Audio(This,newVal)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IDirectShowStream_get_FileName_Proxy(
+ IDirectShowStream * This,
+ /* [retval][out] */ BSTR *pVal);
+
+
+void __RPC_STUB IDirectShowStream_get_FileName_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IDirectShowStream_put_FileName_Proxy(
+ IDirectShowStream * This,
+ /* [in] */ BSTR newVal);
+
+
+void __RPC_STUB IDirectShowStream_put_FileName_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IDirectShowStream_get_Video_Proxy(
+ IDirectShowStream * This,
+ /* [retval][out] */ OUTPUT_STATE *pVal);
+
+
+void __RPC_STUB IDirectShowStream_get_Video_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IDirectShowStream_put_Video_Proxy(
+ IDirectShowStream * This,
+ /* [in] */ OUTPUT_STATE newVal);
+
+
+void __RPC_STUB IDirectShowStream_put_Video_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IDirectShowStream_get_Audio_Proxy(
+ IDirectShowStream * This,
+ /* [retval][out] */ OUTPUT_STATE *pVal);
+
+
+void __RPC_STUB IDirectShowStream_get_Audio_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IDirectShowStream_put_Audio_Proxy(
+ IDirectShowStream * This,
+ /* [in] */ OUTPUT_STATE newVal);
+
+
+void __RPC_STUB IDirectShowStream_put_Audio_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IDirectShowStream_INTERFACE_DEFINED__ */
+
+
+#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);
+
+ HRESULT ( STDMETHODCALLTYPE *JoinAMMultiMediaStream )(
+ IAMMediaStream * This,
+ /* [in] */ IAMMultiMediaStream *pAMMultiMediaStream);
+
+ HRESULT ( STDMETHODCALLTYPE *JoinFilter )(
+ IAMMediaStream * This,
+ /* [in] */ IMediaStreamFilter *pMediaStreamFilter);
+
+ HRESULT ( STDMETHODCALLTYPE *JoinFilterGraph )(
+ IAMMediaStream * This,
+ /* [in] */ IFilterGraph *pFilterGraph);
+
+ END_INTERFACE
+ } IAMMediaStreamVtbl;
+
+ interface IAMMediaStream
+ {
+ CONST_VTBL struct IAMMediaStreamVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAMMediaStream_QueryInterface(This,riid,ppvObject) \
+ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
+
+#define IAMMediaStream_AddRef(This) \
+ (This)->lpVtbl -> AddRef(This)
+
+#define IAMMediaStream_Release(This) \
+ (This)->lpVtbl -> Release(This)
+
+
+#define IAMMediaStream_GetMultiMediaStream(This,ppMultiMediaStream) \
+ (This)->lpVtbl -> GetMultiMediaStream(This,ppMultiMediaStream)
+
+#define IAMMediaStream_GetInformation(This,pPurposeId,pType) \
+ (This)->lpVtbl -> GetInformation(This,pPurposeId,pType)
+
+#define IAMMediaStream_SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags) \
+ (This)->lpVtbl -> SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags)
+
+#define IAMMediaStream_AllocateSample(This,dwFlags,ppSample) \
+ (This)->lpVtbl -> AllocateSample(This,dwFlags,ppSample)
+
+#define IAMMediaStream_CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample) \
+ (This)->lpVtbl -> CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample)
+
+#define IAMMediaStream_SendEndOfStream(This,dwFlags) \
+ (This)->lpVtbl -> SendEndOfStream(This,dwFlags)
+
+
+#define IAMMediaStream_Initialize(This,pSourceObject,dwFlags,PurposeId,StreamType) \
+ (This)->lpVtbl -> Initialize(This,pSourceObject,dwFlags,PurposeId,StreamType)
+
+#define IAMMediaStream_SetState(This,State) \
+ (This)->lpVtbl -> SetState(This,State)
+
+#define IAMMediaStream_JoinAMMultiMediaStream(This,pAMMultiMediaStream) \
+ (This)->lpVtbl -> JoinAMMultiMediaStream(This,pAMMultiMediaStream)
+
+#define IAMMediaStream_JoinFilter(This,pMediaStreamFilter) \
+ (This)->lpVtbl -> JoinFilter(This,pMediaStreamFilter)
+
+#define IAMMediaStream_JoinFilterGraph(This,pFilterGraph) \
+ (This)->lpVtbl -> JoinFilterGraph(This,pFilterGraph)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMMediaStream_Initialize_Proxy(
+ IAMMediaStream * This,
+ /* [in] */ IUnknown *pSourceObject,
+ /* [in] */ DWORD dwFlags,
+ /* [in] */ REFMSPID PurposeId,
+ /* [in] */ const STREAM_TYPE StreamType);
+
+
+void __RPC_STUB IAMMediaStream_Initialize_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMMediaStream_SetState_Proxy(
+ IAMMediaStream * This,
+ /* [in] */ FILTER_STATE State);
+
+
+void __RPC_STUB IAMMediaStream_SetState_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMMediaStream_JoinAMMultiMediaStream_Proxy(
+ IAMMediaStream * This,
+ /* [in] */ IAMMultiMediaStream *pAMMultiMediaStream);
+
+
+void __RPC_STUB IAMMediaStream_JoinAMMultiMediaStream_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMMediaStream_JoinFilter_Proxy(
+ IAMMediaStream * This,
+ /* [in] */ IMediaStreamFilter *pMediaStreamFilter);
+
+
+void __RPC_STUB IAMMediaStream_JoinFilter_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMMediaStream_JoinFilterGraph_Proxy(
+ IAMMediaStream * This,
+ /* [in] */ IFilterGraph *pFilterGraph);
+
+
+void __RPC_STUB IAMMediaStream_JoinFilterGraph_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMMediaStream_INTERFACE_DEFINED__ */
+
+
+#ifndef __IMediaStreamFilter_INTERFACE_DEFINED__
+#define __IMediaStreamFilter_INTERFACE_DEFINED__
+
+/* interface IMediaStreamFilter */
+/* [unique][uuid][local][object] */
+
+
+EXTERN_C const IID IID_IMediaStreamFilter;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("BEBE595E-9A6F-11d0-8FDE-00C04FD9189D")
+ IMediaStreamFilter : public IBaseFilter
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE AddMediaStream(
+ /* [in] */ IAMMediaStream *pAMMediaStream) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetMediaStream(
+ /* [in] */ REFMSPID idPurpose,
+ /* [out] */ IMediaStream **ppMediaStream) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE EnumMediaStreams(
+ /* [in] */ long Index,
+ /* [out] */ IMediaStream **ppMediaStream) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SupportSeeking(
+ /* [in] */ BOOL bRenderer) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ReferenceTimeToStreamTime(
+ /* [out][in] */ REFERENCE_TIME *pTime) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCurrentStreamTime(
+ /* [out] */ REFERENCE_TIME *pCurrentStreamTime) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE WaitUntil(
+ /* [in] */ REFERENCE_TIME WaitStreamTime) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Flush(
+ /* [in] */ BOOL bCancelEOS) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE EndOfStream( void) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IMediaStreamFilterVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IMediaStreamFilter * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IMediaStreamFilter * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IMediaStreamFilter * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetClassID )(
+ IMediaStreamFilter * This,
+ /* [out] */ CLSID *pClassID);
+
+ HRESULT ( STDMETHODCALLTYPE *Stop )(
+ IMediaStreamFilter * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Pause )(
+ IMediaStreamFilter * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Run )(
+ IMediaStreamFilter * This,
+ REFERENCE_TIME tStart);
+
+ HRESULT ( STDMETHODCALLTYPE *GetState )(
+ IMediaStreamFilter * This,
+ /* [in] */ DWORD dwMilliSecsTimeout,
+ /* [out] */ FILTER_STATE *State);
+
+ HRESULT ( STDMETHODCALLTYPE *SetSyncSource )(
+ IMediaStreamFilter * This,
+ /* [in] */ IReferenceClock *pClock);
+
+ HRESULT ( STDMETHODCALLTYPE *GetSyncSource )(
+ IMediaStreamFilter * This,
+ /* [out] */ IReferenceClock **pClock);
+
+ HRESULT ( STDMETHODCALLTYPE *EnumPins )(
+ IMediaStreamFilter * This,
+ /* [out] */ IEnumPins **ppEnum);
+
+ HRESULT ( STDMETHODCALLTYPE *FindPin )(
+ IMediaStreamFilter * This,
+ /* [string][in] */ LPCWSTR Id,
+ /* [out] */ IPin **ppPin);
+
+ HRESULT ( STDMETHODCALLTYPE *QueryFilterInfo )(
+ IMediaStreamFilter * This,
+ /* [out] */ FILTER_INFO *pInfo);
+
+ HRESULT ( STDMETHODCALLTYPE *JoinFilterGraph )(
+ IMediaStreamFilter * This,
+ /* [in] */ IFilterGraph *pGraph,
+ /* [string][in] */ LPCWSTR pName);
+
+ HRESULT ( STDMETHODCALLTYPE *QueryVendorInfo )(
+ IMediaStreamFilter * This,
+ /* [string][out] */ LPWSTR *pVendorInfo);
+
+ HRESULT ( STDMETHODCALLTYPE *AddMediaStream )(
+ IMediaStreamFilter * This,
+ /* [in] */ IAMMediaStream *pAMMediaStream);
+
+ HRESULT ( STDMETHODCALLTYPE *GetMediaStream )(
+ IMediaStreamFilter * This,
+ /* [in] */ REFMSPID idPurpose,
+ /* [out] */ IMediaStream **ppMediaStream);
+
+ HRESULT ( STDMETHODCALLTYPE *EnumMediaStreams )(
+ IMediaStreamFilter * This,
+ /* [in] */ long Index,
+ /* [out] */ IMediaStream **ppMediaStream);
+
+ HRESULT ( STDMETHODCALLTYPE *SupportSeeking )(
+ IMediaStreamFilter * This,
+ /* [in] */ BOOL bRenderer);
+
+ HRESULT ( STDMETHODCALLTYPE *ReferenceTimeToStreamTime )(
+ IMediaStreamFilter * This,
+ /* [out][in] */ REFERENCE_TIME *pTime);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCurrentStreamTime )(
+ IMediaStreamFilter * This,
+ /* [out] */ REFERENCE_TIME *pCurrentStreamTime);
+
+ HRESULT ( STDMETHODCALLTYPE *WaitUntil )(
+ IMediaStreamFilter * This,
+ /* [in] */ REFERENCE_TIME WaitStreamTime);
+
+ HRESULT ( STDMETHODCALLTYPE *Flush )(
+ IMediaStreamFilter * This,
+ /* [in] */ BOOL bCancelEOS);
+
+ HRESULT ( STDMETHODCALLTYPE *EndOfStream )(
+ IMediaStreamFilter * This);
+
+ END_INTERFACE
+ } IMediaStreamFilterVtbl;
+
+ interface IMediaStreamFilter
+ {
+ CONST_VTBL struct IMediaStreamFilterVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IMediaStreamFilter_QueryInterface(This,riid,ppvObject) \
+ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
+
+#define IMediaStreamFilter_AddRef(This) \
+ (This)->lpVtbl -> AddRef(This)
+
+#define IMediaStreamFilter_Release(This) \
+ (This)->lpVtbl -> Release(This)
+
+
+#define IMediaStreamFilter_GetClassID(This,pClassID) \
+ (This)->lpVtbl -> GetClassID(This,pClassID)
+
+
+#define IMediaStreamFilter_Stop(This) \
+ (This)->lpVtbl -> Stop(This)
+
+#define IMediaStreamFilter_Pause(This) \
+ (This)->lpVtbl -> Pause(This)
+
+#define IMediaStreamFilter_Run(This,tStart) \
+ (This)->lpVtbl -> Run(This,tStart)
+
+#define IMediaStreamFilter_GetState(This,dwMilliSecsTimeout,State) \
+ (This)->lpVtbl -> GetState(This,dwMilliSecsTimeout,State)
+
+#define IMediaStreamFilter_SetSyncSource(This,pClock) \
+ (This)->lpVtbl -> SetSyncSource(This,pClock)
+
+#define IMediaStreamFilter_GetSyncSource(This,pClock) \
+ (This)->lpVtbl -> GetSyncSource(This,pClock)
+
+
+#define IMediaStreamFilter_EnumPins(This,ppEnum) \
+ (This)->lpVtbl -> EnumPins(This,ppEnum)
+
+#define IMediaStreamFilter_FindPin(This,Id,ppPin) \
+ (This)->lpVtbl -> FindPin(This,Id,ppPin)
+
+#define IMediaStreamFilter_QueryFilterInfo(This,pInfo) \
+ (This)->lpVtbl -> QueryFilterInfo(This,pInfo)
+
+#define IMediaStreamFilter_JoinFilterGraph(This,pGraph,pName) \
+ (This)->lpVtbl -> JoinFilterGraph(This,pGraph,pName)
+
+#define IMediaStreamFilter_QueryVendorInfo(This,pVendorInfo) \
+ (This)->lpVtbl -> QueryVendorInfo(This,pVendorInfo)
+
+
+#define IMediaStreamFilter_AddMediaStream(This,pAMMediaStream) \
+ (This)->lpVtbl -> AddMediaStream(This,pAMMediaStream)
+
+#define IMediaStreamFilter_GetMediaStream(This,idPurpose,ppMediaStream) \
+ (This)->lpVtbl -> GetMediaStream(This,idPurpose,ppMediaStream)
+
+#define IMediaStreamFilter_EnumMediaStreams(This,Index,ppMediaStream) \
+ (This)->lpVtbl -> EnumMediaStreams(This,Index,ppMediaStream)
+
+#define IMediaStreamFilter_SupportSeeking(This,bRenderer) \
+ (This)->lpVtbl -> SupportSeeking(This,bRenderer)
+
+#define IMediaStreamFilter_ReferenceTimeToStreamTime(This,pTime) \
+ (This)->lpVtbl -> ReferenceTimeToStreamTime(This,pTime)
+
+#define IMediaStreamFilter_GetCurrentStreamTime(This,pCurrentStreamTime) \
+ (This)->lpVtbl -> GetCurrentStreamTime(This,pCurrentStreamTime)
+
+#define IMediaStreamFilter_WaitUntil(This,WaitStreamTime) \
+ (This)->lpVtbl -> WaitUntil(This,WaitStreamTime)
+
+#define IMediaStreamFilter_Flush(This,bCancelEOS) \
+ (This)->lpVtbl -> Flush(This,bCancelEOS)
+
+#define IMediaStreamFilter_EndOfStream(This) \
+ (This)->lpVtbl -> EndOfStream(This)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IMediaStreamFilter_AddMediaStream_Proxy(
+ IMediaStreamFilter * This,
+ /* [in] */ IAMMediaStream *pAMMediaStream);
+
+
+void __RPC_STUB IMediaStreamFilter_AddMediaStream_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaStreamFilter_GetMediaStream_Proxy(
+ IMediaStreamFilter * This,
+ /* [in] */ REFMSPID idPurpose,
+ /* [out] */ IMediaStream **ppMediaStream);
+
+
+void __RPC_STUB IMediaStreamFilter_GetMediaStream_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaStreamFilter_EnumMediaStreams_Proxy(
+ IMediaStreamFilter * This,
+ /* [in] */ long Index,
+ /* [out] */ IMediaStream **ppMediaStream);
+
+
+void __RPC_STUB IMediaStreamFilter_EnumMediaStreams_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaStreamFilter_SupportSeeking_Proxy(
+ IMediaStreamFilter * This,
+ /* [in] */ BOOL bRenderer);
+
+
+void __RPC_STUB IMediaStreamFilter_SupportSeeking_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaStreamFilter_ReferenceTimeToStreamTime_Proxy(
+ IMediaStreamFilter * This,
+ /* [out][in] */ REFERENCE_TIME *pTime);
+
+
+void __RPC_STUB IMediaStreamFilter_ReferenceTimeToStreamTime_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaStreamFilter_GetCurrentStreamTime_Proxy(
+ IMediaStreamFilter * This,
+ /* [out] */ REFERENCE_TIME *pCurrentStreamTime);
+
+
+void __RPC_STUB IMediaStreamFilter_GetCurrentStreamTime_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaStreamFilter_WaitUntil_Proxy(
+ IMediaStreamFilter * This,
+ /* [in] */ REFERENCE_TIME WaitStreamTime);
+
+
+void __RPC_STUB IMediaStreamFilter_WaitUntil_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaStreamFilter_Flush_Proxy(
+ IMediaStreamFilter * This,
+ /* [in] */ BOOL bCancelEOS);
+
+
+void __RPC_STUB IMediaStreamFilter_Flush_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaStreamFilter_EndOfStream_Proxy(
+ IMediaStreamFilter * This);
+
+
+void __RPC_STUB IMediaStreamFilter_EndOfStream_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IMediaStreamFilter_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDirectDrawMediaSampleAllocator_INTERFACE_DEFINED__
+#define __IDirectDrawMediaSampleAllocator_INTERFACE_DEFINED__
+
+/* interface IDirectDrawMediaSampleAllocator */
+/* [unique][uuid][local][object] */
+
+
+EXTERN_C const IID IID_IDirectDrawMediaSampleAllocator;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("AB6B4AFC-F6E4-11d0-900D-00C04FD9189D")
+ IDirectDrawMediaSampleAllocator : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetDirectDraw(
+ IDirectDraw **ppDirectDraw) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IDirectDrawMediaSampleAllocatorVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDirectDrawMediaSampleAllocator * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDirectDrawMediaSampleAllocator * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDirectDrawMediaSampleAllocator * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDirectDraw )(
+ IDirectDrawMediaSampleAllocator * This,
+ IDirectDraw **ppDirectDraw);
+
+ END_INTERFACE
+ } IDirectDrawMediaSampleAllocatorVtbl;
+
+ interface IDirectDrawMediaSampleAllocator
+ {
+ CONST_VTBL struct IDirectDrawMediaSampleAllocatorVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDirectDrawMediaSampleAllocator_QueryInterface(This,riid,ppvObject) \
+ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
+
+#define IDirectDrawMediaSampleAllocator_AddRef(This) \
+ (This)->lpVtbl -> AddRef(This)
+
+#define IDirectDrawMediaSampleAllocator_Release(This) \
+ (This)->lpVtbl -> Release(This)
+
+
+#define IDirectDrawMediaSampleAllocator_GetDirectDraw(This,ppDirectDraw) \
+ (This)->lpVtbl -> GetDirectDraw(This,ppDirectDraw)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IDirectDrawMediaSampleAllocator_GetDirectDraw_Proxy(
+ IDirectDrawMediaSampleAllocator * This,
+ IDirectDraw **ppDirectDraw);
+
+
+void __RPC_STUB IDirectDrawMediaSampleAllocator_GetDirectDraw_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IDirectDrawMediaSampleAllocator_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDirectDrawMediaSample_INTERFACE_DEFINED__
+#define __IDirectDrawMediaSample_INTERFACE_DEFINED__
+
+/* interface IDirectDrawMediaSample */
+/* [unique][uuid][local][object] */
+
+
+EXTERN_C const IID IID_IDirectDrawMediaSample;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("AB6B4AFE-F6E4-11d0-900D-00C04FD9189D")
+ IDirectDrawMediaSample : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetSurfaceAndReleaseLock(
+ /* [out] */ IDirectDrawSurface **ppDirectDrawSurface,
+ /* [out] */ RECT *pRect) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE LockMediaSamplePointer( void) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IDirectDrawMediaSampleVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDirectDrawMediaSample * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDirectDrawMediaSample * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDirectDrawMediaSample * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetSurfaceAndReleaseLock )(
+ IDirectDrawMediaSample * This,
+ /* [out] */ IDirectDrawSurface **ppDirectDrawSurface,
+ /* [out] */ RECT *pRect);
+
+ HRESULT ( STDMETHODCALLTYPE *LockMediaSamplePointer )(
+ IDirectDrawMediaSample * This);
+
+ END_INTERFACE
+ } IDirectDrawMediaSampleVtbl;
+
+ interface IDirectDrawMediaSample
+ {
+ CONST_VTBL struct IDirectDrawMediaSampleVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDirectDrawMediaSample_QueryInterface(This,riid,ppvObject) \
+ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
+
+#define IDirectDrawMediaSample_AddRef(This) \
+ (This)->lpVtbl -> AddRef(This)
+
+#define IDirectDrawMediaSample_Release(This) \
+ (This)->lpVtbl -> Release(This)
+
+
+#define IDirectDrawMediaSample_GetSurfaceAndReleaseLock(This,ppDirectDrawSurface,pRect) \
+ (This)->lpVtbl -> GetSurfaceAndReleaseLock(This,ppDirectDrawSurface,pRect)
+
+#define IDirectDrawMediaSample_LockMediaSamplePointer(This) \
+ (This)->lpVtbl -> LockMediaSamplePointer(This)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IDirectDrawMediaSample_GetSurfaceAndReleaseLock_Proxy(
+ IDirectDrawMediaSample * This,
+ /* [out] */ IDirectDrawSurface **ppDirectDrawSurface,
+ /* [out] */ RECT *pRect);
+
+
+void __RPC_STUB IDirectDrawMediaSample_GetSurfaceAndReleaseLock_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDirectDrawMediaSample_LockMediaSamplePointer_Proxy(
+ IDirectDrawMediaSample * This);
+
+
+void __RPC_STUB IDirectDrawMediaSample_LockMediaSamplePointer_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IDirectDrawMediaSample_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAMMediaTypeStream_INTERFACE_DEFINED__
+#define __IAMMediaTypeStream_INTERFACE_DEFINED__
+
+/* interface IAMMediaTypeStream */
+/* [unique][uuid][local][object] */
+
+
+EXTERN_C const IID IID_IAMMediaTypeStream;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("AB6B4AFA-F6E4-11d0-900D-00C04FD9189D")
+ IAMMediaTypeStream : public IMediaStream
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetFormat(
+ /* [out] */ AM_MEDIA_TYPE *pMediaType,
+ /* [in] */ DWORD dwFlags) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetFormat(
+ /* [in] */ AM_MEDIA_TYPE *pMediaType,
+ /* [in] */ DWORD dwFlags) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateSample(
+ /* [in] */ long lSampleSize,
+ /* [in] */ BYTE *pbBuffer,
+ /* [in] */ DWORD dwFlags,
+ /* [in] */ IUnknown *pUnkOuter,
+ /* [out] */ IAMMediaTypeSample **ppAMMediaTypeSample) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetStreamAllocatorRequirements(
+ /* [out] */ ALLOCATOR_PROPERTIES *pProps) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetStreamAllocatorRequirements(
+ /* [in] */ ALLOCATOR_PROPERTIES *pProps) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMMediaTypeStreamVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMMediaTypeStream * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMMediaTypeStream * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMMediaTypeStream * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetMultiMediaStream )(
+ IAMMediaTypeStream * This,
+ /* [out] */ IMultiMediaStream **ppMultiMediaStream);
+
+ HRESULT ( STDMETHODCALLTYPE *GetInformation )(
+ IAMMediaTypeStream * This,
+ /* [out] */ MSPID *pPurposeId,
+ /* [out] */ STREAM_TYPE *pType);
+
+ HRESULT ( STDMETHODCALLTYPE *SetSameFormat )(
+ IAMMediaTypeStream * This,
+ /* [in] */ IMediaStream *pStreamThatHasDesiredFormat,
+ /* [in] */ DWORD dwFlags);
+
+ HRESULT ( STDMETHODCALLTYPE *AllocateSample )(
+ IAMMediaTypeStream * This,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IStreamSample **ppSample);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateSharedSample )(
+ IAMMediaTypeStream * This,
+ /* [in] */ IStreamSample *pExistingSample,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IStreamSample **ppNewSample);
+
+ HRESULT ( STDMETHODCALLTYPE *SendEndOfStream )(
+ IAMMediaTypeStream * This,
+ DWORD dwFlags);
+
+ HRESULT ( STDMETHODCALLTYPE *GetFormat )(
+ IAMMediaTypeStream * This,
+ /* [out] */ AM_MEDIA_TYPE *pMediaType,
+ /* [in] */ DWORD dwFlags);
+
+ HRESULT ( STDMETHODCALLTYPE *SetFormat )(
+ IAMMediaTypeStream * This,
+ /* [in] */ AM_MEDIA_TYPE *pMediaType,
+ /* [in] */ DWORD dwFlags);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateSample )(
+ IAMMediaTypeStream * This,
+ /* [in] */ long lSampleSize,
+ /* [in] */ BYTE *pbBuffer,
+ /* [in] */ DWORD dwFlags,
+ /* [in] */ IUnknown *pUnkOuter,
+ /* [out] */ IAMMediaTypeSample **ppAMMediaTypeSample);
+
+ HRESULT ( STDMETHODCALLTYPE *GetStreamAllocatorRequirements )(
+ IAMMediaTypeStream * This,
+ /* [out] */ ALLOCATOR_PROPERTIES *pProps);
+
+ HRESULT ( STDMETHODCALLTYPE *SetStreamAllocatorRequirements )(
+ IAMMediaTypeStream * This,
+ /* [in] */ ALLOCATOR_PROPERTIES *pProps);
+
+ END_INTERFACE
+ } IAMMediaTypeStreamVtbl;
+
+ interface IAMMediaTypeStream
+ {
+ CONST_VTBL struct IAMMediaTypeStreamVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAMMediaTypeStream_QueryInterface(This,riid,ppvObject) \
+ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
+
+#define IAMMediaTypeStream_AddRef(This) \
+ (This)->lpVtbl -> AddRef(This)
+
+#define IAMMediaTypeStream_Release(This) \
+ (This)->lpVtbl -> Release(This)
+
+
+#define IAMMediaTypeStream_GetMultiMediaStream(This,ppMultiMediaStream) \
+ (This)->lpVtbl -> GetMultiMediaStream(This,ppMultiMediaStream)
+
+#define IAMMediaTypeStream_GetInformation(This,pPurposeId,pType) \
+ (This)->lpVtbl -> GetInformation(This,pPurposeId,pType)
+
+#define IAMMediaTypeStream_SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags) \
+ (This)->lpVtbl -> SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags)
+
+#define IAMMediaTypeStream_AllocateSample(This,dwFlags,ppSample) \
+ (This)->lpVtbl -> AllocateSample(This,dwFlags,ppSample)
+
+#define IAMMediaTypeStream_CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample) \
+ (This)->lpVtbl -> CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample)
+
+#define IAMMediaTypeStream_SendEndOfStream(This,dwFlags) \
+ (This)->lpVtbl -> SendEndOfStream(This,dwFlags)
+
+
+#define IAMMediaTypeStream_GetFormat(This,pMediaType,dwFlags) \
+ (This)->lpVtbl -> GetFormat(This,pMediaType,dwFlags)
+
+#define IAMMediaTypeStream_SetFormat(This,pMediaType,dwFlags) \
+ (This)->lpVtbl -> SetFormat(This,pMediaType,dwFlags)
+
+#define IAMMediaTypeStream_CreateSample(This,lSampleSize,pbBuffer,dwFlags,pUnkOuter,ppAMMediaTypeSample) \
+ (This)->lpVtbl -> CreateSample(This,lSampleSize,pbBuffer,dwFlags,pUnkOuter,ppAMMediaTypeSample)
+
+#define IAMMediaTypeStream_GetStreamAllocatorRequirements(This,pProps) \
+ (This)->lpVtbl -> GetStreamAllocatorRequirements(This,pProps)
+
+#define IAMMediaTypeStream_SetStreamAllocatorRequirements(This,pProps) \
+ (This)->lpVtbl -> SetStreamAllocatorRequirements(This,pProps)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMMediaTypeStream_GetFormat_Proxy(
+ IAMMediaTypeStream * This,
+ /* [out] */ AM_MEDIA_TYPE *pMediaType,
+ /* [in] */ DWORD dwFlags);
+
+
+void __RPC_STUB IAMMediaTypeStream_GetFormat_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMMediaTypeStream_SetFormat_Proxy(
+ IAMMediaTypeStream * This,
+ /* [in] */ AM_MEDIA_TYPE *pMediaType,
+ /* [in] */ DWORD dwFlags);
+
+
+void __RPC_STUB IAMMediaTypeStream_SetFormat_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMMediaTypeStream_CreateSample_Proxy(
+ IAMMediaTypeStream * This,
+ /* [in] */ long lSampleSize,
+ /* [in] */ BYTE *pbBuffer,
+ /* [in] */ DWORD dwFlags,
+ /* [in] */ IUnknown *pUnkOuter,
+ /* [out] */ IAMMediaTypeSample **ppAMMediaTypeSample);
+
+
+void __RPC_STUB IAMMediaTypeStream_CreateSample_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMMediaTypeStream_GetStreamAllocatorRequirements_Proxy(
+ IAMMediaTypeStream * This,
+ /* [out] */ ALLOCATOR_PROPERTIES *pProps);
+
+
+void __RPC_STUB IAMMediaTypeStream_GetStreamAllocatorRequirements_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMMediaTypeStream_SetStreamAllocatorRequirements_Proxy(
+ IAMMediaTypeStream * This,
+ /* [in] */ ALLOCATOR_PROPERTIES *pProps);
+
+
+void __RPC_STUB IAMMediaTypeStream_SetStreamAllocatorRequirements_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMMediaTypeStream_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAMMediaTypeSample_INTERFACE_DEFINED__
+#define __IAMMediaTypeSample_INTERFACE_DEFINED__
+
+/* interface IAMMediaTypeSample */
+/* [unique][uuid][local][object] */
+
+
+EXTERN_C const IID IID_IAMMediaTypeSample;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("AB6B4AFB-F6E4-11d0-900D-00C04FD9189D")
+ IAMMediaTypeSample : public IStreamSample
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE SetPointer(
+ /* [in] */ BYTE *pBuffer,
+ /* [in] */ long lSize) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetPointer(
+ /* [out] */ BYTE **ppBuffer) = 0;
+
+ virtual long STDMETHODCALLTYPE GetSize( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetTime(
+ /* [out] */ REFERENCE_TIME *pTimeStart,
+ /* [out] */ REFERENCE_TIME *pTimeEnd) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetTime(
+ /* [in] */ REFERENCE_TIME *pTimeStart,
+ /* [in] */ REFERENCE_TIME *pTimeEnd) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE IsSyncPoint( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetSyncPoint(
+ BOOL bIsSyncPoint) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE IsPreroll( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetPreroll(
+ BOOL bIsPreroll) = 0;
+
+ virtual long STDMETHODCALLTYPE GetActualDataLength( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetActualDataLength(
+ long __MIDL_0020) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetMediaType(
+ AM_MEDIA_TYPE **ppMediaType) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetMediaType(
+ AM_MEDIA_TYPE *pMediaType) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE IsDiscontinuity( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetDiscontinuity(
+ BOOL bDiscontinuity) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetMediaTime(
+ /* [out] */ LONGLONG *pTimeStart,
+ /* [out] */ LONGLONG *pTimeEnd) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetMediaTime(
+ /* [in] */ LONGLONG *pTimeStart,
+ /* [in] */ LONGLONG *pTimeEnd) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMMediaTypeSampleVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMMediaTypeSample * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMMediaTypeSample * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMMediaTypeSample * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetMediaStream )(
+ IAMMediaTypeSample * This,
+ /* [in] */ IMediaStream **ppMediaStream);
+
+ HRESULT ( STDMETHODCALLTYPE *GetSampleTimes )(
+ IAMMediaTypeSample * This,
+ /* [out] */ STREAM_TIME *pStartTime,
+ /* [out] */ STREAM_TIME *pEndTime,
+ /* [out] */ STREAM_TIME *pCurrentTime);
+
+ HRESULT ( STDMETHODCALLTYPE *SetSampleTimes )(
+ IAMMediaTypeSample * This,
+ /* [in] */ const STREAM_TIME *pStartTime,
+ /* [in] */ const STREAM_TIME *pEndTime);
+
+ HRESULT ( STDMETHODCALLTYPE *Update )(
+ IAMMediaTypeSample * This,
+ /* [in] */ DWORD dwFlags,
+ /* [in] */ HANDLE hEvent,
+ /* [in] */ PAPCFUNC pfnAPC,
+ /* [in] */ DWORD_PTR dwAPCData);
+
+ HRESULT ( STDMETHODCALLTYPE *CompletionStatus )(
+ IAMMediaTypeSample * This,
+ /* [in] */ DWORD dwFlags,
+ /* [in] */ DWORD dwMilliseconds);
+
+ HRESULT ( STDMETHODCALLTYPE *SetPointer )(
+ IAMMediaTypeSample * This,
+ /* [in] */ BYTE *pBuffer,
+ /* [in] */ long lSize);
+
+ HRESULT ( STDMETHODCALLTYPE *GetPointer )(
+ IAMMediaTypeSample * This,
+ /* [out] */ BYTE **ppBuffer);
+
+ long ( STDMETHODCALLTYPE *GetSize )(
+ IAMMediaTypeSample * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTime )(
+ IAMMediaTypeSample * This,
+ /* [out] */ REFERENCE_TIME *pTimeStart,
+ /* [out] */ REFERENCE_TIME *pTimeEnd);
+
+ HRESULT ( STDMETHODCALLTYPE *SetTime )(
+ IAMMediaTypeSample * This,
+ /* [in] */ REFERENCE_TIME *pTimeStart,
+ /* [in] */ 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 __MIDL_0020);
+
+ 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,
+ /* [out] */ LONGLONG *pTimeStart,
+ /* [out] */ LONGLONG *pTimeEnd);
+
+ HRESULT ( STDMETHODCALLTYPE *SetMediaTime )(
+ IAMMediaTypeSample * This,
+ /* [in] */ LONGLONG *pTimeStart,
+ /* [in] */ LONGLONG *pTimeEnd);
+
+ END_INTERFACE
+ } IAMMediaTypeSampleVtbl;
+
+ interface IAMMediaTypeSample
+ {
+ CONST_VTBL struct IAMMediaTypeSampleVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IAMMediaTypeSample_QueryInterface(This,riid,ppvObject) \
+ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
+
+#define IAMMediaTypeSample_AddRef(This) \
+ (This)->lpVtbl -> AddRef(This)
+
+#define IAMMediaTypeSample_Release(This) \
+ (This)->lpVtbl -> Release(This)
+
+
+#define IAMMediaTypeSample_GetMediaStream(This,ppMediaStream) \
+ (This)->lpVtbl -> GetMediaStream(This,ppMediaStream)
+
+#define IAMMediaTypeSample_GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime) \
+ (This)->lpVtbl -> GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime)
+
+#define IAMMediaTypeSample_SetSampleTimes(This,pStartTime,pEndTime) \
+ (This)->lpVtbl -> SetSampleTimes(This,pStartTime,pEndTime)
+
+#define IAMMediaTypeSample_Update(This,dwFlags,hEvent,pfnAPC,dwAPCData) \
+ (This)->lpVtbl -> Update(This,dwFlags,hEvent,pfnAPC,dwAPCData)
+
+#define IAMMediaTypeSample_CompletionStatus(This,dwFlags,dwMilliseconds) \
+ (This)->lpVtbl -> CompletionStatus(This,dwFlags,dwMilliseconds)
+
+
+#define IAMMediaTypeSample_SetPointer(This,pBuffer,lSize) \
+ (This)->lpVtbl -> SetPointer(This,pBuffer,lSize)
+
+#define IAMMediaTypeSample_GetPointer(This,ppBuffer) \
+ (This)->lpVtbl -> GetPointer(This,ppBuffer)
+
+#define IAMMediaTypeSample_GetSize(This) \
+ (This)->lpVtbl -> GetSize(This)
+
+#define IAMMediaTypeSample_GetTime(This,pTimeStart,pTimeEnd) \
+ (This)->lpVtbl -> GetTime(This,pTimeStart,pTimeEnd)
+
+#define IAMMediaTypeSample_SetTime(This,pTimeStart,pTimeEnd) \
+ (This)->lpVtbl -> SetTime(This,pTimeStart,pTimeEnd)
+
+#define IAMMediaTypeSample_IsSyncPoint(This) \
+ (This)->lpVtbl -> IsSyncPoint(This)
+
+#define IAMMediaTypeSample_SetSyncPoint(This,bIsSyncPoint) \
+ (This)->lpVtbl -> SetSyncPoint(This,bIsSyncPoint)
+
+#define IAMMediaTypeSample_IsPreroll(This) \
+ (This)->lpVtbl -> IsPreroll(This)
+
+#define IAMMediaTypeSample_SetPreroll(This,bIsPreroll) \
+ (This)->lpVtbl -> SetPreroll(This,bIsPreroll)
+
+#define IAMMediaTypeSample_GetActualDataLength(This) \
+ (This)->lpVtbl -> GetActualDataLength(This)
+
+#define IAMMediaTypeSample_SetActualDataLength(This,__MIDL_0020) \
+ (This)->lpVtbl -> SetActualDataLength(This,__MIDL_0020)
+
+#define IAMMediaTypeSample_GetMediaType(This,ppMediaType) \
+ (This)->lpVtbl -> GetMediaType(This,ppMediaType)
+
+#define IAMMediaTypeSample_SetMediaType(This,pMediaType) \
+ (This)->lpVtbl -> SetMediaType(This,pMediaType)
+
+#define IAMMediaTypeSample_IsDiscontinuity(This) \
+ (This)->lpVtbl -> IsDiscontinuity(This)
+
+#define IAMMediaTypeSample_SetDiscontinuity(This,bDiscontinuity) \
+ (This)->lpVtbl -> SetDiscontinuity(This,bDiscontinuity)
+
+#define IAMMediaTypeSample_GetMediaTime(This,pTimeStart,pTimeEnd) \
+ (This)->lpVtbl -> GetMediaTime(This,pTimeStart,pTimeEnd)
+
+#define IAMMediaTypeSample_SetMediaTime(This,pTimeStart,pTimeEnd) \
+ (This)->lpVtbl -> SetMediaTime(This,pTimeStart,pTimeEnd)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetPointer_Proxy(
+ IAMMediaTypeSample * This,
+ /* [in] */ BYTE *pBuffer,
+ /* [in] */ long lSize);
+
+
+void __RPC_STUB IAMMediaTypeSample_SetPointer_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_GetPointer_Proxy(
+ IAMMediaTypeSample * This,
+ /* [out] */ BYTE **ppBuffer);
+
+
+void __RPC_STUB IAMMediaTypeSample_GetPointer_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+long STDMETHODCALLTYPE IAMMediaTypeSample_GetSize_Proxy(
+ IAMMediaTypeSample * This);
+
+
+void __RPC_STUB IAMMediaTypeSample_GetSize_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_GetTime_Proxy(
+ IAMMediaTypeSample * This,
+ /* [out] */ REFERENCE_TIME *pTimeStart,
+ /* [out] */ REFERENCE_TIME *pTimeEnd);
+
+
+void __RPC_STUB IAMMediaTypeSample_GetTime_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetTime_Proxy(
+ IAMMediaTypeSample * This,
+ /* [in] */ REFERENCE_TIME *pTimeStart,
+ /* [in] */ REFERENCE_TIME *pTimeEnd);
+
+
+void __RPC_STUB IAMMediaTypeSample_SetTime_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_IsSyncPoint_Proxy(
+ IAMMediaTypeSample * This);
+
+
+void __RPC_STUB IAMMediaTypeSample_IsSyncPoint_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetSyncPoint_Proxy(
+ IAMMediaTypeSample * This,
+ BOOL bIsSyncPoint);
+
+
+void __RPC_STUB IAMMediaTypeSample_SetSyncPoint_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_IsPreroll_Proxy(
+ IAMMediaTypeSample * This);
+
+
+void __RPC_STUB IAMMediaTypeSample_IsPreroll_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetPreroll_Proxy(
+ IAMMediaTypeSample * This,
+ BOOL bIsPreroll);
+
+
+void __RPC_STUB IAMMediaTypeSample_SetPreroll_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+long STDMETHODCALLTYPE IAMMediaTypeSample_GetActualDataLength_Proxy(
+ IAMMediaTypeSample * This);
+
+
+void __RPC_STUB IAMMediaTypeSample_GetActualDataLength_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetActualDataLength_Proxy(
+ IAMMediaTypeSample * This,
+ long __MIDL_0020);
+
+
+void __RPC_STUB IAMMediaTypeSample_SetActualDataLength_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_GetMediaType_Proxy(
+ IAMMediaTypeSample * This,
+ AM_MEDIA_TYPE **ppMediaType);
+
+
+void __RPC_STUB IAMMediaTypeSample_GetMediaType_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetMediaType_Proxy(
+ IAMMediaTypeSample * This,
+ AM_MEDIA_TYPE *pMediaType);
+
+
+void __RPC_STUB IAMMediaTypeSample_SetMediaType_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_IsDiscontinuity_Proxy(
+ IAMMediaTypeSample * This);
+
+
+void __RPC_STUB IAMMediaTypeSample_IsDiscontinuity_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetDiscontinuity_Proxy(
+ IAMMediaTypeSample * This,
+ BOOL bDiscontinuity);
+
+
+void __RPC_STUB IAMMediaTypeSample_SetDiscontinuity_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_GetMediaTime_Proxy(
+ IAMMediaTypeSample * This,
+ /* [out] */ LONGLONG *pTimeStart,
+ /* [out] */ LONGLONG *pTimeEnd);
+
+
+void __RPC_STUB IAMMediaTypeSample_GetMediaTime_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetMediaTime_Proxy(
+ IAMMediaTypeSample * This,
+ /* [in] */ LONGLONG *pTimeStart,
+ /* [in] */ LONGLONG *pTimeEnd);
+
+
+void __RPC_STUB IAMMediaTypeSample_SetMediaTime_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMMediaTypeSample_INTERFACE_DEFINED__ */
+
+
+
+#ifndef __DirectShowStreamLib_LIBRARY_DEFINED__
+#define __DirectShowStreamLib_LIBRARY_DEFINED__
+
+/* library DirectShowStreamLib */
+/* [helpstring][version][uuid] */
+
+
+EXTERN_C const IID LIBID_DirectShowStreamLib;
+
+EXTERN_C const CLSID CLSID_AMMultiMediaStream;
+
+#ifdef __cplusplus
+
+class DECLSPEC_UUID("49c47ce5-9ba4-11d0-8212-00c04fc32c45")
+AMMultiMediaStream;
+#endif
+#endif /* __DirectShowStreamLib_LIBRARY_DEFINED__ */
+
+/* interface __MIDL_itf_amstream_0418 */
+/* [local] */
+
+#ifndef __cplusplus
+EXTERN_C const CLSID CLSID_AMMultiMediaStream;
+#endif
+DEFINE_GUID(CLSID_AMDirectDrawStream, /* 49c47ce4-9ba4-11d0-8212-00c04fc32c45 */
+0x49c47ce4, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);
+DEFINE_GUID(CLSID_AMAudioStream, /* 8496e040-af4c-11d0-8212-00c04fc32c45 */
+0x8496e040, 0xaf4c, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);
+DEFINE_GUID(CLSID_AMAudioData, /* f2468580-af8a-11d0-8212-00c04fc32c45 */
+0xf2468580, 0xaf8a, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);
+DEFINE_GUID(CLSID_AMMediaTypeStream, /* CF0F2F7C-F7BF-11d0-900D-00C04FD9189D */
+0xcf0f2f7c, 0xf7bf, 0x11d0, 0x90, 0xd, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0x9d);
+
+
+extern RPC_IF_HANDLE __MIDL_itf_amstream_0418_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_amstream_0418_v0_0_s_ifspec;
+
+/* Additional Prototypes for ALL interfaces */
+
+unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
+unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
+unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
+void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
+
+/* end of Additional Prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+