AmStream.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:72k
源码类别:

模拟服务器

开发平台:

C/C++

  1. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3.  /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for amstream.idl:
  5.     Oicf, W1, Zp8, env=Win32 (32b run)
  6.     protocol : dce , ms_ext, c_ext, robust
  7.     error checks: allocation ref bounds_check enum stub_data 
  8.     VC __declspec() decoration level: 
  9.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10.          DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING(  )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __amstream_h__
  27. #define __amstream_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */ 
  32. #ifndef __IDirectShowStream_FWD_DEFINED__
  33. #define __IDirectShowStream_FWD_DEFINED__
  34. typedef interface IDirectShowStream IDirectShowStream;
  35. #endif  /* __IDirectShowStream_FWD_DEFINED__ */
  36. #ifndef __IAMMultiMediaStream_FWD_DEFINED__
  37. #define __IAMMultiMediaStream_FWD_DEFINED__
  38. typedef interface IAMMultiMediaStream IAMMultiMediaStream;
  39. #endif  /* __IAMMultiMediaStream_FWD_DEFINED__ */
  40. #ifndef __IAMMediaStream_FWD_DEFINED__
  41. #define __IAMMediaStream_FWD_DEFINED__
  42. typedef interface IAMMediaStream IAMMediaStream;
  43. #endif  /* __IAMMediaStream_FWD_DEFINED__ */
  44. #ifndef __IMediaStreamFilter_FWD_DEFINED__
  45. #define __IMediaStreamFilter_FWD_DEFINED__
  46. typedef interface IMediaStreamFilter IMediaStreamFilter;
  47. #endif  /* __IMediaStreamFilter_FWD_DEFINED__ */
  48. #ifndef __IDirectDrawMediaSampleAllocator_FWD_DEFINED__
  49. #define __IDirectDrawMediaSampleAllocator_FWD_DEFINED__
  50. typedef interface IDirectDrawMediaSampleAllocator IDirectDrawMediaSampleAllocator;
  51. #endif  /* __IDirectDrawMediaSampleAllocator_FWD_DEFINED__ */
  52. #ifndef __IDirectDrawMediaSample_FWD_DEFINED__
  53. #define __IDirectDrawMediaSample_FWD_DEFINED__
  54. typedef interface IDirectDrawMediaSample IDirectDrawMediaSample;
  55. #endif  /* __IDirectDrawMediaSample_FWD_DEFINED__ */
  56. #ifndef __IAMMediaTypeStream_FWD_DEFINED__
  57. #define __IAMMediaTypeStream_FWD_DEFINED__
  58. typedef interface IAMMediaTypeStream IAMMediaTypeStream;
  59. #endif  /* __IAMMediaTypeStream_FWD_DEFINED__ */
  60. #ifndef __IAMMediaTypeSample_FWD_DEFINED__
  61. #define __IAMMediaTypeSample_FWD_DEFINED__
  62. typedef interface IAMMediaTypeSample IAMMediaTypeSample;
  63. #endif  /* __IAMMediaTypeSample_FWD_DEFINED__ */
  64. #ifndef __AMMultiMediaStream_FWD_DEFINED__
  65. #define __AMMultiMediaStream_FWD_DEFINED__
  66. #ifdef __cplusplus
  67. typedef class AMMultiMediaStream AMMultiMediaStream;
  68. #else
  69. typedef struct AMMultiMediaStream AMMultiMediaStream;
  70. #endif /* __cplusplus */
  71. #endif  /* __AMMultiMediaStream_FWD_DEFINED__ */
  72. /* header files for imported files */
  73. #include "unknwn.h"
  74. #include "mmstream.h"
  75. #include "strmif.h"
  76. #ifdef __cplusplus
  77. extern "C"{
  78. #endif 
  79. void * __RPC_USER MIDL_user_allocate(size_t);
  80. void __RPC_USER MIDL_user_free( void * ); 
  81. /* interface __MIDL_itf_amstream_0000 */
  82. /* [local] */ 
  83. #include <ddraw.h>
  84. #include <mmsystem.h>
  85. #include <mmstream.h>
  86. #include <ddstream.h>
  87. #include <austream.h>
  88. enum __MIDL___MIDL_itf_amstream_0000_0001
  89.     { AMMSF_NOGRAPHTHREAD = 0x1
  90.     } ;
  91. enum __MIDL___MIDL_itf_amstream_0000_0002
  92.     { AMMSF_ADDDEFAULTRENDERER = 0x1,
  93. AMMSF_CREATEPEER = 0x2,
  94. AMMSF_STOPIFNOSAMPLES = 0x4,
  95. AMMSF_NOSTALL = 0x8
  96.     } ;
  97. enum __MIDL___MIDL_itf_amstream_0000_0003
  98.     { AMMSF_RENDERTYPEMASK = 0x3,
  99. AMMSF_RENDERTOEXISTING = 0,
  100. AMMSF_RENDERALLSTREAMS = 0x1,
  101. AMMSF_NORENDER = 0x2,
  102. AMMSF_NOCLOCK = 0x4,
  103. AMMSF_RUN = 0x8
  104.     } ;
  105. typedef /* [public][public][public][public][public][v1_enum] */ 
  106. enum __MIDL___MIDL_itf_amstream_0000_0004
  107.     { Disabled = 0,
  108. ReadData = 1,
  109. RenderData = 2
  110.     }  OUTPUT_STATE;
  111. extern RPC_IF_HANDLE __MIDL_itf_amstream_0000_v0_0_c_ifspec;
  112. extern RPC_IF_HANDLE __MIDL_itf_amstream_0000_v0_0_s_ifspec;
  113. #ifndef __IDirectShowStream_INTERFACE_DEFINED__
  114. #define __IDirectShowStream_INTERFACE_DEFINED__
  115. /* interface IDirectShowStream */
  116. /* [unique][helpstring][dual][uuid][object] */ 
  117. EXTERN_C const IID IID_IDirectShowStream;
  118. #if defined(__cplusplus) && !defined(CINTERFACE)
  119.     
  120.     MIDL_INTERFACE("7DB01C96-C0C3-11d0-8FF1-00C04FD9189D")
  121.     IDirectShowStream : public IDispatch
  122.     {
  123.     public:
  124.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_FileName( 
  125.             /* [retval][out] */ BSTR *pVal) = 0;
  126.         
  127.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_FileName( 
  128.             /* [in] */ BSTR newVal) = 0;
  129.         
  130.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Video( 
  131.             /* [retval][out] */ OUTPUT_STATE *pVal) = 0;
  132.         
  133.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Video( 
  134.             /* [in] */ OUTPUT_STATE newVal) = 0;
  135.         
  136.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Audio( 
  137.             /* [retval][out] */ OUTPUT_STATE *pVal) = 0;
  138.         
  139.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Audio( 
  140.             /* [in] */ OUTPUT_STATE newVal) = 0;
  141.         
  142.     };
  143.     
  144. #else  /* C style interface */
  145.     typedef struct IDirectShowStreamVtbl
  146.     {
  147.         BEGIN_INTERFACE
  148.         
  149.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  150.             IDirectShowStream * This,
  151.             /* [in] */ REFIID riid,
  152.             /* [iid_is][out] */ void **ppvObject);
  153.         
  154.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  155.             IDirectShowStream * This);
  156.         
  157.         ULONG ( STDMETHODCALLTYPE *Release )( 
  158.             IDirectShowStream * This);
  159.         
  160.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  161.             IDirectShowStream * This,
  162.             /* [out] */ UINT *pctinfo);
  163.         
  164.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  165.             IDirectShowStream * This,
  166.             /* [in] */ UINT iTInfo,
  167.             /* [in] */ LCID lcid,
  168.             /* [out] */ ITypeInfo **ppTInfo);
  169.         
  170.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  171.             IDirectShowStream * This,
  172.             /* [in] */ REFIID riid,
  173.             /* [size_is][in] */ LPOLESTR *rgszNames,
  174.             /* [in] */ UINT cNames,
  175.             /* [in] */ LCID lcid,
  176.             /* [size_is][out] */ DISPID *rgDispId);
  177.         
  178.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  179.             IDirectShowStream * This,
  180.             /* [in] */ DISPID dispIdMember,
  181.             /* [in] */ REFIID riid,
  182.             /* [in] */ LCID lcid,
  183.             /* [in] */ WORD wFlags,
  184.             /* [out][in] */ DISPPARAMS *pDispParams,
  185.             /* [out] */ VARIANT *pVarResult,
  186.             /* [out] */ EXCEPINFO *pExcepInfo,
  187.             /* [out] */ UINT *puArgErr);
  188.         
  189.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FileName )( 
  190.             IDirectShowStream * This,
  191.             /* [retval][out] */ BSTR *pVal);
  192.         
  193.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FileName )( 
  194.             IDirectShowStream * This,
  195.             /* [in] */ BSTR newVal);
  196.         
  197.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Video )( 
  198.             IDirectShowStream * This,
  199.             /* [retval][out] */ OUTPUT_STATE *pVal);
  200.         
  201.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Video )( 
  202.             IDirectShowStream * This,
  203.             /* [in] */ OUTPUT_STATE newVal);
  204.         
  205.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Audio )( 
  206.             IDirectShowStream * This,
  207.             /* [retval][out] */ OUTPUT_STATE *pVal);
  208.         
  209.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Audio )( 
  210.             IDirectShowStream * This,
  211.             /* [in] */ OUTPUT_STATE newVal);
  212.         
  213.         END_INTERFACE
  214.     } IDirectShowStreamVtbl;
  215.     interface IDirectShowStream
  216.     {
  217.         CONST_VTBL struct IDirectShowStreamVtbl *lpVtbl;
  218.     };
  219.     
  220. #ifdef COBJMACROS
  221. #define IDirectShowStream_QueryInterface(This,riid,ppvObject)
  222.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  223. #define IDirectShowStream_AddRef(This)
  224.     (This)->lpVtbl -> AddRef(This)
  225. #define IDirectShowStream_Release(This)
  226.     (This)->lpVtbl -> Release(This)
  227. #define IDirectShowStream_GetTypeInfoCount(This,pctinfo)
  228.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  229. #define IDirectShowStream_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  230.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  231. #define IDirectShowStream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  232.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  233. #define IDirectShowStream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  234.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  235. #define IDirectShowStream_get_FileName(This,pVal)
  236.     (This)->lpVtbl -> get_FileName(This,pVal)
  237. #define IDirectShowStream_put_FileName(This,newVal)
  238.     (This)->lpVtbl -> put_FileName(This,newVal)
  239. #define IDirectShowStream_get_Video(This,pVal)
  240.     (This)->lpVtbl -> get_Video(This,pVal)
  241. #define IDirectShowStream_put_Video(This,newVal)
  242.     (This)->lpVtbl -> put_Video(This,newVal)
  243. #define IDirectShowStream_get_Audio(This,pVal)
  244.     (This)->lpVtbl -> get_Audio(This,pVal)
  245. #define IDirectShowStream_put_Audio(This,newVal)
  246.     (This)->lpVtbl -> put_Audio(This,newVal)
  247. #endif /* COBJMACROS */
  248. #endif  /* C style interface */
  249. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IDirectShowStream_get_FileName_Proxy( 
  250.     IDirectShowStream * This,
  251.     /* [retval][out] */ BSTR *pVal);
  252. void __RPC_STUB IDirectShowStream_get_FileName_Stub(
  253.     IRpcStubBuffer *This,
  254.     IRpcChannelBuffer *_pRpcChannelBuffer,
  255.     PRPC_MESSAGE _pRpcMessage,
  256.     DWORD *_pdwStubPhase);
  257. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IDirectShowStream_put_FileName_Proxy( 
  258.     IDirectShowStream * This,
  259.     /* [in] */ BSTR newVal);
  260. void __RPC_STUB IDirectShowStream_put_FileName_Stub(
  261.     IRpcStubBuffer *This,
  262.     IRpcChannelBuffer *_pRpcChannelBuffer,
  263.     PRPC_MESSAGE _pRpcMessage,
  264.     DWORD *_pdwStubPhase);
  265. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IDirectShowStream_get_Video_Proxy( 
  266.     IDirectShowStream * This,
  267.     /* [retval][out] */ OUTPUT_STATE *pVal);
  268. void __RPC_STUB IDirectShowStream_get_Video_Stub(
  269.     IRpcStubBuffer *This,
  270.     IRpcChannelBuffer *_pRpcChannelBuffer,
  271.     PRPC_MESSAGE _pRpcMessage,
  272.     DWORD *_pdwStubPhase);
  273. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IDirectShowStream_put_Video_Proxy( 
  274.     IDirectShowStream * This,
  275.     /* [in] */ OUTPUT_STATE newVal);
  276. void __RPC_STUB IDirectShowStream_put_Video_Stub(
  277.     IRpcStubBuffer *This,
  278.     IRpcChannelBuffer *_pRpcChannelBuffer,
  279.     PRPC_MESSAGE _pRpcMessage,
  280.     DWORD *_pdwStubPhase);
  281. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IDirectShowStream_get_Audio_Proxy( 
  282.     IDirectShowStream * This,
  283.     /* [retval][out] */ OUTPUT_STATE *pVal);
  284. void __RPC_STUB IDirectShowStream_get_Audio_Stub(
  285.     IRpcStubBuffer *This,
  286.     IRpcChannelBuffer *_pRpcChannelBuffer,
  287.     PRPC_MESSAGE _pRpcMessage,
  288.     DWORD *_pdwStubPhase);
  289. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IDirectShowStream_put_Audio_Proxy( 
  290.     IDirectShowStream * This,
  291.     /* [in] */ OUTPUT_STATE newVal);
  292. void __RPC_STUB IDirectShowStream_put_Audio_Stub(
  293.     IRpcStubBuffer *This,
  294.     IRpcChannelBuffer *_pRpcChannelBuffer,
  295.     PRPC_MESSAGE _pRpcMessage,
  296.     DWORD *_pdwStubPhase);
  297. #endif  /* __IDirectShowStream_INTERFACE_DEFINED__ */
  298. #ifndef __IAMMultiMediaStream_INTERFACE_DEFINED__
  299. #define __IAMMultiMediaStream_INTERFACE_DEFINED__
  300. /* interface IAMMultiMediaStream */
  301. /* [unique][uuid][object] */ 
  302. EXTERN_C const IID IID_IAMMultiMediaStream;
  303. #if defined(__cplusplus) && !defined(CINTERFACE)
  304.     
  305.     MIDL_INTERFACE("BEBE595C-9A6F-11d0-8FDE-00C04FD9189D")
  306.     IAMMultiMediaStream : public IMultiMediaStream
  307.     {
  308.     public:
  309.         virtual HRESULT STDMETHODCALLTYPE Initialize( 
  310.             /* [in] */ STREAM_TYPE StreamType,
  311.             /* [in] */ DWORD dwFlags,
  312.             /* [in] */ IGraphBuilder *pFilterGraph) = 0;
  313.         
  314.         virtual HRESULT STDMETHODCALLTYPE GetFilterGraph( 
  315.             /* [out] */ IGraphBuilder **ppGraphBuilder) = 0;
  316.         
  317.         virtual HRESULT STDMETHODCALLTYPE GetFilter( 
  318.             /* [out] */ IMediaStreamFilter **ppFilter) = 0;
  319.         
  320.         virtual HRESULT STDMETHODCALLTYPE AddMediaStream( 
  321.             /* [in] */ IUnknown *pStreamObject,
  322.             /* [in] */ const MSPID *PurposeId,
  323.             /* [in] */ DWORD dwFlags,
  324.             /* [out] */ IMediaStream **ppNewStream) = 0;
  325.         
  326.         virtual HRESULT STDMETHODCALLTYPE OpenFile( 
  327.             /* [in] */ LPCWSTR pszFileName,
  328.             /* [in] */ DWORD dwFlags) = 0;
  329.         
  330.         virtual HRESULT STDMETHODCALLTYPE OpenMoniker( 
  331.             /* [in] */ IBindCtx *pCtx,
  332.             /* [in] */ IMoniker *pMoniker,
  333.             /* [in] */ DWORD dwFlags) = 0;
  334.         
  335.         virtual HRESULT STDMETHODCALLTYPE Render( 
  336.             /* [in] */ DWORD dwFlags) = 0;
  337.         
  338.     };
  339.     
  340. #else  /* C style interface */
  341.     typedef struct IAMMultiMediaStreamVtbl
  342.     {
  343.         BEGIN_INTERFACE
  344.         
  345.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  346.             IAMMultiMediaStream * This,
  347.             /* [in] */ REFIID riid,
  348.             /* [iid_is][out] */ void **ppvObject);
  349.         
  350.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  351.             IAMMultiMediaStream * This);
  352.         
  353.         ULONG ( STDMETHODCALLTYPE *Release )( 
  354.             IAMMultiMediaStream * This);
  355.         
  356.         HRESULT ( STDMETHODCALLTYPE *GetInformation )( 
  357.             IAMMultiMediaStream * This,
  358.             /* [out] */ DWORD *pdwFlags,
  359.             /* [out] */ STREAM_TYPE *pStreamType);
  360.         
  361.         HRESULT ( STDMETHODCALLTYPE *GetMediaStream )( 
  362.             IAMMultiMediaStream * This,
  363.             /* [in] */ REFMSPID idPurpose,
  364.             /* [out] */ IMediaStream **ppMediaStream);
  365.         
  366.         HRESULT ( STDMETHODCALLTYPE *EnumMediaStreams )( 
  367.             IAMMultiMediaStream * This,
  368.             /* [in] */ long Index,
  369.             /* [out] */ IMediaStream **ppMediaStream);
  370.         
  371.         HRESULT ( STDMETHODCALLTYPE *GetState )( 
  372.             IAMMultiMediaStream * This,
  373.             /* [out] */ STREAM_STATE *pCurrentState);
  374.         
  375.         HRESULT ( STDMETHODCALLTYPE *SetState )( 
  376.             IAMMultiMediaStream * This,
  377.             /* [in] */ STREAM_STATE NewState);
  378.         
  379.         HRESULT ( STDMETHODCALLTYPE *GetTime )( 
  380.             IAMMultiMediaStream * This,
  381.             /* [out] */ STREAM_TIME *pCurrentTime);
  382.         
  383.         HRESULT ( STDMETHODCALLTYPE *GetDuration )( 
  384.             IAMMultiMediaStream * This,
  385.             /* [out] */ STREAM_TIME *pDuration);
  386.         
  387.         HRESULT ( STDMETHODCALLTYPE *Seek )( 
  388.             IAMMultiMediaStream * This,
  389.             /* [in] */ STREAM_TIME SeekTime);
  390.         
  391.         HRESULT ( STDMETHODCALLTYPE *GetEndOfStreamEventHandle )( 
  392.             IAMMultiMediaStream * This,
  393.             /* [out] */ HANDLE *phEOS);
  394.         
  395.         HRESULT ( STDMETHODCALLTYPE *Initialize )( 
  396.             IAMMultiMediaStream * This,
  397.             /* [in] */ STREAM_TYPE StreamType,
  398.             /* [in] */ DWORD dwFlags,
  399.             /* [in] */ IGraphBuilder *pFilterGraph);
  400.         
  401.         HRESULT ( STDMETHODCALLTYPE *GetFilterGraph )( 
  402.             IAMMultiMediaStream * This,
  403.             /* [out] */ IGraphBuilder **ppGraphBuilder);
  404.         
  405.         HRESULT ( STDMETHODCALLTYPE *GetFilter )( 
  406.             IAMMultiMediaStream * This,
  407.             /* [out] */ IMediaStreamFilter **ppFilter);
  408.         
  409.         HRESULT ( STDMETHODCALLTYPE *AddMediaStream )( 
  410.             IAMMultiMediaStream * This,
  411.             /* [in] */ IUnknown *pStreamObject,
  412.             /* [in] */ const MSPID *PurposeId,
  413.             /* [in] */ DWORD dwFlags,
  414.             /* [out] */ IMediaStream **ppNewStream);
  415.         
  416.         HRESULT ( STDMETHODCALLTYPE *OpenFile )( 
  417.             IAMMultiMediaStream * This,
  418.             /* [in] */ LPCWSTR pszFileName,
  419.             /* [in] */ DWORD dwFlags);
  420.         
  421.         HRESULT ( STDMETHODCALLTYPE *OpenMoniker )( 
  422.             IAMMultiMediaStream * This,
  423.             /* [in] */ IBindCtx *pCtx,
  424.             /* [in] */ IMoniker *pMoniker,
  425.             /* [in] */ DWORD dwFlags);
  426.         
  427.         HRESULT ( STDMETHODCALLTYPE *Render )( 
  428.             IAMMultiMediaStream * This,
  429.             /* [in] */ DWORD dwFlags);
  430.         
  431.         END_INTERFACE
  432.     } IAMMultiMediaStreamVtbl;
  433.     interface IAMMultiMediaStream
  434.     {
  435.         CONST_VTBL struct IAMMultiMediaStreamVtbl *lpVtbl;
  436.     };
  437.     
  438. #ifdef COBJMACROS
  439. #define IAMMultiMediaStream_QueryInterface(This,riid,ppvObject)
  440.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  441. #define IAMMultiMediaStream_AddRef(This)
  442.     (This)->lpVtbl -> AddRef(This)
  443. #define IAMMultiMediaStream_Release(This)
  444.     (This)->lpVtbl -> Release(This)
  445. #define IAMMultiMediaStream_GetInformation(This,pdwFlags,pStreamType)
  446.     (This)->lpVtbl -> GetInformation(This,pdwFlags,pStreamType)
  447. #define IAMMultiMediaStream_GetMediaStream(This,idPurpose,ppMediaStream)
  448.     (This)->lpVtbl -> GetMediaStream(This,idPurpose,ppMediaStream)
  449. #define IAMMultiMediaStream_EnumMediaStreams(This,Index,ppMediaStream)
  450.     (This)->lpVtbl -> EnumMediaStreams(This,Index,ppMediaStream)
  451. #define IAMMultiMediaStream_GetState(This,pCurrentState)
  452.     (This)->lpVtbl -> GetState(This,pCurrentState)
  453. #define IAMMultiMediaStream_SetState(This,NewState)
  454.     (This)->lpVtbl -> SetState(This,NewState)
  455. #define IAMMultiMediaStream_GetTime(This,pCurrentTime)
  456.     (This)->lpVtbl -> GetTime(This,pCurrentTime)
  457. #define IAMMultiMediaStream_GetDuration(This,pDuration)
  458.     (This)->lpVtbl -> GetDuration(This,pDuration)
  459. #define IAMMultiMediaStream_Seek(This,SeekTime)
  460.     (This)->lpVtbl -> Seek(This,SeekTime)
  461. #define IAMMultiMediaStream_GetEndOfStreamEventHandle(This,phEOS)
  462.     (This)->lpVtbl -> GetEndOfStreamEventHandle(This,phEOS)
  463. #define IAMMultiMediaStream_Initialize(This,StreamType,dwFlags,pFilterGraph)
  464.     (This)->lpVtbl -> Initialize(This,StreamType,dwFlags,pFilterGraph)
  465. #define IAMMultiMediaStream_GetFilterGraph(This,ppGraphBuilder)
  466.     (This)->lpVtbl -> GetFilterGraph(This,ppGraphBuilder)
  467. #define IAMMultiMediaStream_GetFilter(This,ppFilter)
  468.     (This)->lpVtbl -> GetFilter(This,ppFilter)
  469. #define IAMMultiMediaStream_AddMediaStream(This,pStreamObject,PurposeId,dwFlags,ppNewStream)
  470.     (This)->lpVtbl -> AddMediaStream(This,pStreamObject,PurposeId,dwFlags,ppNewStream)
  471. #define IAMMultiMediaStream_OpenFile(This,pszFileName,dwFlags)
  472.     (This)->lpVtbl -> OpenFile(This,pszFileName,dwFlags)
  473. #define IAMMultiMediaStream_OpenMoniker(This,pCtx,pMoniker,dwFlags)
  474.     (This)->lpVtbl -> OpenMoniker(This,pCtx,pMoniker,dwFlags)
  475. #define IAMMultiMediaStream_Render(This,dwFlags)
  476.     (This)->lpVtbl -> Render(This,dwFlags)
  477. #endif /* COBJMACROS */
  478. #endif  /* C style interface */
  479. HRESULT STDMETHODCALLTYPE IAMMultiMediaStream_Initialize_Proxy( 
  480.     IAMMultiMediaStream * This,
  481.     /* [in] */ STREAM_TYPE StreamType,
  482.     /* [in] */ DWORD dwFlags,
  483.     /* [in] */ IGraphBuilder *pFilterGraph);
  484. void __RPC_STUB IAMMultiMediaStream_Initialize_Stub(
  485.     IRpcStubBuffer *This,
  486.     IRpcChannelBuffer *_pRpcChannelBuffer,
  487.     PRPC_MESSAGE _pRpcMessage,
  488.     DWORD *_pdwStubPhase);
  489. HRESULT STDMETHODCALLTYPE IAMMultiMediaStream_GetFilterGraph_Proxy( 
  490.     IAMMultiMediaStream * This,
  491.     /* [out] */ IGraphBuilder **ppGraphBuilder);
  492. void __RPC_STUB IAMMultiMediaStream_GetFilterGraph_Stub(
  493.     IRpcStubBuffer *This,
  494.     IRpcChannelBuffer *_pRpcChannelBuffer,
  495.     PRPC_MESSAGE _pRpcMessage,
  496.     DWORD *_pdwStubPhase);
  497. HRESULT STDMETHODCALLTYPE IAMMultiMediaStream_GetFilter_Proxy( 
  498.     IAMMultiMediaStream * This,
  499.     /* [out] */ IMediaStreamFilter **ppFilter);
  500. void __RPC_STUB IAMMultiMediaStream_GetFilter_Stub(
  501.     IRpcStubBuffer *This,
  502.     IRpcChannelBuffer *_pRpcChannelBuffer,
  503.     PRPC_MESSAGE _pRpcMessage,
  504.     DWORD *_pdwStubPhase);
  505. HRESULT STDMETHODCALLTYPE IAMMultiMediaStream_AddMediaStream_Proxy( 
  506.     IAMMultiMediaStream * This,
  507.     /* [in] */ IUnknown *pStreamObject,
  508.     /* [in] */ const MSPID *PurposeId,
  509.     /* [in] */ DWORD dwFlags,
  510.     /* [out] */ IMediaStream **ppNewStream);
  511. void __RPC_STUB IAMMultiMediaStream_AddMediaStream_Stub(
  512.     IRpcStubBuffer *This,
  513.     IRpcChannelBuffer *_pRpcChannelBuffer,
  514.     PRPC_MESSAGE _pRpcMessage,
  515.     DWORD *_pdwStubPhase);
  516. HRESULT STDMETHODCALLTYPE IAMMultiMediaStream_OpenFile_Proxy( 
  517.     IAMMultiMediaStream * This,
  518.     /* [in] */ LPCWSTR pszFileName,
  519.     /* [in] */ DWORD dwFlags);
  520. void __RPC_STUB IAMMultiMediaStream_OpenFile_Stub(
  521.     IRpcStubBuffer *This,
  522.     IRpcChannelBuffer *_pRpcChannelBuffer,
  523.     PRPC_MESSAGE _pRpcMessage,
  524.     DWORD *_pdwStubPhase);
  525. HRESULT STDMETHODCALLTYPE IAMMultiMediaStream_OpenMoniker_Proxy( 
  526.     IAMMultiMediaStream * This,
  527.     /* [in] */ IBindCtx *pCtx,
  528.     /* [in] */ IMoniker *pMoniker,
  529.     /* [in] */ DWORD dwFlags);
  530. void __RPC_STUB IAMMultiMediaStream_OpenMoniker_Stub(
  531.     IRpcStubBuffer *This,
  532.     IRpcChannelBuffer *_pRpcChannelBuffer,
  533.     PRPC_MESSAGE _pRpcMessage,
  534.     DWORD *_pdwStubPhase);
  535. HRESULT STDMETHODCALLTYPE IAMMultiMediaStream_Render_Proxy( 
  536.     IAMMultiMediaStream * This,
  537.     /* [in] */ DWORD dwFlags);
  538. void __RPC_STUB IAMMultiMediaStream_Render_Stub(
  539.     IRpcStubBuffer *This,
  540.     IRpcChannelBuffer *_pRpcChannelBuffer,
  541.     PRPC_MESSAGE _pRpcMessage,
  542.     DWORD *_pdwStubPhase);
  543. #endif  /* __IAMMultiMediaStream_INTERFACE_DEFINED__ */
  544. #ifndef __IAMMediaStream_INTERFACE_DEFINED__
  545. #define __IAMMediaStream_INTERFACE_DEFINED__
  546. /* interface IAMMediaStream */
  547. /* [unique][uuid][object] */ 
  548. EXTERN_C const IID IID_IAMMediaStream;
  549. #if defined(__cplusplus) && !defined(CINTERFACE)
  550.     
  551.     MIDL_INTERFACE("BEBE595D-9A6F-11d0-8FDE-00C04FD9189D")
  552.     IAMMediaStream : public IMediaStream
  553.     {
  554.     public:
  555.         virtual HRESULT STDMETHODCALLTYPE Initialize( 
  556.             /* [in] */ IUnknown *pSourceObject,
  557.             /* [in] */ DWORD dwFlags,
  558.             /* [in] */ REFMSPID PurposeId,
  559.             /* [in] */ const STREAM_TYPE StreamType) = 0;
  560.         
  561.         virtual HRESULT STDMETHODCALLTYPE SetState( 
  562.             /* [in] */ FILTER_STATE State) = 0;
  563.         
  564.         virtual HRESULT STDMETHODCALLTYPE JoinAMMultiMediaStream( 
  565.             /* [in] */ IAMMultiMediaStream *pAMMultiMediaStream) = 0;
  566.         
  567.         virtual HRESULT STDMETHODCALLTYPE JoinFilter( 
  568.             /* [in] */ IMediaStreamFilter *pMediaStreamFilter) = 0;
  569.         
  570.         virtual HRESULT STDMETHODCALLTYPE JoinFilterGraph( 
  571.             /* [in] */ IFilterGraph *pFilterGraph) = 0;
  572.         
  573.     };
  574.     
  575. #else  /* C style interface */
  576.     typedef struct IAMMediaStreamVtbl
  577.     {
  578.         BEGIN_INTERFACE
  579.         
  580.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  581.             IAMMediaStream * This,
  582.             /* [in] */ REFIID riid,
  583.             /* [iid_is][out] */ void **ppvObject);
  584.         
  585.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  586.             IAMMediaStream * This);
  587.         
  588.         ULONG ( STDMETHODCALLTYPE *Release )( 
  589.             IAMMediaStream * This);
  590.         
  591.         HRESULT ( STDMETHODCALLTYPE *GetMultiMediaStream )( 
  592.             IAMMediaStream * This,
  593.             /* [out] */ IMultiMediaStream **ppMultiMediaStream);
  594.         
  595.         HRESULT ( STDMETHODCALLTYPE *GetInformation )( 
  596.             IAMMediaStream * This,
  597.             /* [out] */ MSPID *pPurposeId,
  598.             /* [out] */ STREAM_TYPE *pType);
  599.         
  600.         HRESULT ( STDMETHODCALLTYPE *SetSameFormat )( 
  601.             IAMMediaStream * This,
  602.             /* [in] */ IMediaStream *pStreamThatHasDesiredFormat,
  603.             /* [in] */ DWORD dwFlags);
  604.         
  605.         HRESULT ( STDMETHODCALLTYPE *AllocateSample )( 
  606.             IAMMediaStream * This,
  607.             /* [in] */ DWORD dwFlags,
  608.             /* [out] */ IStreamSample **ppSample);
  609.         
  610.         HRESULT ( STDMETHODCALLTYPE *CreateSharedSample )( 
  611.             IAMMediaStream * This,
  612.             /* [in] */ IStreamSample *pExistingSample,
  613.             /* [in] */ DWORD dwFlags,
  614.             /* [out] */ IStreamSample **ppNewSample);
  615.         
  616.         HRESULT ( STDMETHODCALLTYPE *SendEndOfStream )( 
  617.             IAMMediaStream * This,
  618.             DWORD dwFlags);
  619.         
  620.         HRESULT ( STDMETHODCALLTYPE *Initialize )( 
  621.             IAMMediaStream * This,
  622.             /* [in] */ IUnknown *pSourceObject,
  623.             /* [in] */ DWORD dwFlags,
  624.             /* [in] */ REFMSPID PurposeId,
  625.             /* [in] */ const STREAM_TYPE StreamType);
  626.         
  627.         HRESULT ( STDMETHODCALLTYPE *SetState )( 
  628.             IAMMediaStream * This,
  629.             /* [in] */ FILTER_STATE State);
  630.         
  631.         HRESULT ( STDMETHODCALLTYPE *JoinAMMultiMediaStream )( 
  632.             IAMMediaStream * This,
  633.             /* [in] */ IAMMultiMediaStream *pAMMultiMediaStream);
  634.         
  635.         HRESULT ( STDMETHODCALLTYPE *JoinFilter )( 
  636.             IAMMediaStream * This,
  637.             /* [in] */ IMediaStreamFilter *pMediaStreamFilter);
  638.         
  639.         HRESULT ( STDMETHODCALLTYPE *JoinFilterGraph )( 
  640.             IAMMediaStream * This,
  641.             /* [in] */ IFilterGraph *pFilterGraph);
  642.         
  643.         END_INTERFACE
  644.     } IAMMediaStreamVtbl;
  645.     interface IAMMediaStream
  646.     {
  647.         CONST_VTBL struct IAMMediaStreamVtbl *lpVtbl;
  648.     };
  649.     
  650. #ifdef COBJMACROS
  651. #define IAMMediaStream_QueryInterface(This,riid,ppvObject)
  652.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  653. #define IAMMediaStream_AddRef(This)
  654.     (This)->lpVtbl -> AddRef(This)
  655. #define IAMMediaStream_Release(This)
  656.     (This)->lpVtbl -> Release(This)
  657. #define IAMMediaStream_GetMultiMediaStream(This,ppMultiMediaStream)
  658.     (This)->lpVtbl -> GetMultiMediaStream(This,ppMultiMediaStream)
  659. #define IAMMediaStream_GetInformation(This,pPurposeId,pType)
  660.     (This)->lpVtbl -> GetInformation(This,pPurposeId,pType)
  661. #define IAMMediaStream_SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags)
  662.     (This)->lpVtbl -> SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags)
  663. #define IAMMediaStream_AllocateSample(This,dwFlags,ppSample)
  664.     (This)->lpVtbl -> AllocateSample(This,dwFlags,ppSample)
  665. #define IAMMediaStream_CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample)
  666.     (This)->lpVtbl -> CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample)
  667. #define IAMMediaStream_SendEndOfStream(This,dwFlags)
  668.     (This)->lpVtbl -> SendEndOfStream(This,dwFlags)
  669. #define IAMMediaStream_Initialize(This,pSourceObject,dwFlags,PurposeId,StreamType)
  670.     (This)->lpVtbl -> Initialize(This,pSourceObject,dwFlags,PurposeId,StreamType)
  671. #define IAMMediaStream_SetState(This,State)
  672.     (This)->lpVtbl -> SetState(This,State)
  673. #define IAMMediaStream_JoinAMMultiMediaStream(This,pAMMultiMediaStream)
  674.     (This)->lpVtbl -> JoinAMMultiMediaStream(This,pAMMultiMediaStream)
  675. #define IAMMediaStream_JoinFilter(This,pMediaStreamFilter)
  676.     (This)->lpVtbl -> JoinFilter(This,pMediaStreamFilter)
  677. #define IAMMediaStream_JoinFilterGraph(This,pFilterGraph)
  678.     (This)->lpVtbl -> JoinFilterGraph(This,pFilterGraph)
  679. #endif /* COBJMACROS */
  680. #endif  /* C style interface */
  681. HRESULT STDMETHODCALLTYPE IAMMediaStream_Initialize_Proxy( 
  682.     IAMMediaStream * This,
  683.     /* [in] */ IUnknown *pSourceObject,
  684.     /* [in] */ DWORD dwFlags,
  685.     /* [in] */ REFMSPID PurposeId,
  686.     /* [in] */ const STREAM_TYPE StreamType);
  687. void __RPC_STUB IAMMediaStream_Initialize_Stub(
  688.     IRpcStubBuffer *This,
  689.     IRpcChannelBuffer *_pRpcChannelBuffer,
  690.     PRPC_MESSAGE _pRpcMessage,
  691.     DWORD *_pdwStubPhase);
  692. HRESULT STDMETHODCALLTYPE IAMMediaStream_SetState_Proxy( 
  693.     IAMMediaStream * This,
  694.     /* [in] */ FILTER_STATE State);
  695. void __RPC_STUB IAMMediaStream_SetState_Stub(
  696.     IRpcStubBuffer *This,
  697.     IRpcChannelBuffer *_pRpcChannelBuffer,
  698.     PRPC_MESSAGE _pRpcMessage,
  699.     DWORD *_pdwStubPhase);
  700. HRESULT STDMETHODCALLTYPE IAMMediaStream_JoinAMMultiMediaStream_Proxy( 
  701.     IAMMediaStream * This,
  702.     /* [in] */ IAMMultiMediaStream *pAMMultiMediaStream);
  703. void __RPC_STUB IAMMediaStream_JoinAMMultiMediaStream_Stub(
  704.     IRpcStubBuffer *This,
  705.     IRpcChannelBuffer *_pRpcChannelBuffer,
  706.     PRPC_MESSAGE _pRpcMessage,
  707.     DWORD *_pdwStubPhase);
  708. HRESULT STDMETHODCALLTYPE IAMMediaStream_JoinFilter_Proxy( 
  709.     IAMMediaStream * This,
  710.     /* [in] */ IMediaStreamFilter *pMediaStreamFilter);
  711. void __RPC_STUB IAMMediaStream_JoinFilter_Stub(
  712.     IRpcStubBuffer *This,
  713.     IRpcChannelBuffer *_pRpcChannelBuffer,
  714.     PRPC_MESSAGE _pRpcMessage,
  715.     DWORD *_pdwStubPhase);
  716. HRESULT STDMETHODCALLTYPE IAMMediaStream_JoinFilterGraph_Proxy( 
  717.     IAMMediaStream * This,
  718.     /* [in] */ IFilterGraph *pFilterGraph);
  719. void __RPC_STUB IAMMediaStream_JoinFilterGraph_Stub(
  720.     IRpcStubBuffer *This,
  721.     IRpcChannelBuffer *_pRpcChannelBuffer,
  722.     PRPC_MESSAGE _pRpcMessage,
  723.     DWORD *_pdwStubPhase);
  724. #endif  /* __IAMMediaStream_INTERFACE_DEFINED__ */
  725. #ifndef __IMediaStreamFilter_INTERFACE_DEFINED__
  726. #define __IMediaStreamFilter_INTERFACE_DEFINED__
  727. /* interface IMediaStreamFilter */
  728. /* [unique][uuid][local][object] */ 
  729. EXTERN_C const IID IID_IMediaStreamFilter;
  730. #if defined(__cplusplus) && !defined(CINTERFACE)
  731.     
  732.     MIDL_INTERFACE("BEBE595E-9A6F-11d0-8FDE-00C04FD9189D")
  733.     IMediaStreamFilter : public IBaseFilter
  734.     {
  735.     public:
  736.         virtual HRESULT STDMETHODCALLTYPE AddMediaStream( 
  737.             /* [in] */ IAMMediaStream *pAMMediaStream) = 0;
  738.         
  739.         virtual HRESULT STDMETHODCALLTYPE GetMediaStream( 
  740.             /* [in] */ REFMSPID idPurpose,
  741.             /* [out] */ IMediaStream **ppMediaStream) = 0;
  742.         
  743.         virtual HRESULT STDMETHODCALLTYPE EnumMediaStreams( 
  744.             /* [in] */ long Index,
  745.             /* [out] */ IMediaStream **ppMediaStream) = 0;
  746.         
  747.         virtual HRESULT STDMETHODCALLTYPE SupportSeeking( 
  748.             /* [in] */ BOOL bRenderer) = 0;
  749.         
  750.         virtual HRESULT STDMETHODCALLTYPE ReferenceTimeToStreamTime( 
  751.             /* [out][in] */ REFERENCE_TIME *pTime) = 0;
  752.         
  753.         virtual HRESULT STDMETHODCALLTYPE GetCurrentStreamTime( 
  754.             /* [out] */ REFERENCE_TIME *pCurrentStreamTime) = 0;
  755.         
  756.         virtual HRESULT STDMETHODCALLTYPE WaitUntil( 
  757.             /* [in] */ REFERENCE_TIME WaitStreamTime) = 0;
  758.         
  759.         virtual HRESULT STDMETHODCALLTYPE Flush( 
  760.             /* [in] */ BOOL bCancelEOS) = 0;
  761.         
  762.         virtual HRESULT STDMETHODCALLTYPE EndOfStream( void) = 0;
  763.         
  764.     };
  765.     
  766. #else  /* C style interface */
  767.     typedef struct IMediaStreamFilterVtbl
  768.     {
  769.         BEGIN_INTERFACE
  770.         
  771.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  772.             IMediaStreamFilter * This,
  773.             /* [in] */ REFIID riid,
  774.             /* [iid_is][out] */ void **ppvObject);
  775.         
  776.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  777.             IMediaStreamFilter * This);
  778.         
  779.         ULONG ( STDMETHODCALLTYPE *Release )( 
  780.             IMediaStreamFilter * This);
  781.         
  782.         HRESULT ( STDMETHODCALLTYPE *GetClassID )( 
  783.             IMediaStreamFilter * This,
  784.             /* [out] */ CLSID *pClassID);
  785.         
  786.         HRESULT ( STDMETHODCALLTYPE *Stop )( 
  787.             IMediaStreamFilter * This);
  788.         
  789.         HRESULT ( STDMETHODCALLTYPE *Pause )( 
  790.             IMediaStreamFilter * This);
  791.         
  792.         HRESULT ( STDMETHODCALLTYPE *Run )( 
  793.             IMediaStreamFilter * This,
  794.             REFERENCE_TIME tStart);
  795.         
  796.         HRESULT ( STDMETHODCALLTYPE *GetState )( 
  797.             IMediaStreamFilter * This,
  798.             /* [in] */ DWORD dwMilliSecsTimeout,
  799.             /* [out] */ FILTER_STATE *State);
  800.         
  801.         HRESULT ( STDMETHODCALLTYPE *SetSyncSource )( 
  802.             IMediaStreamFilter * This,
  803.             /* [in] */ IReferenceClock *pClock);
  804.         
  805.         HRESULT ( STDMETHODCALLTYPE *GetSyncSource )( 
  806.             IMediaStreamFilter * This,
  807.             /* [out] */ IReferenceClock **pClock);
  808.         
  809.         HRESULT ( STDMETHODCALLTYPE *EnumPins )( 
  810.             IMediaStreamFilter * This,
  811.             /* [out] */ IEnumPins **ppEnum);
  812.         
  813.         HRESULT ( STDMETHODCALLTYPE *FindPin )( 
  814.             IMediaStreamFilter * This,
  815.             /* [string][in] */ LPCWSTR Id,
  816.             /* [out] */ IPin **ppPin);
  817.         
  818.         HRESULT ( STDMETHODCALLTYPE *QueryFilterInfo )( 
  819.             IMediaStreamFilter * This,
  820.             /* [out] */ FILTER_INFO *pInfo);
  821.         
  822.         HRESULT ( STDMETHODCALLTYPE *JoinFilterGraph )( 
  823.             IMediaStreamFilter * This,
  824.             /* [in] */ IFilterGraph *pGraph,
  825.             /* [string][in] */ LPCWSTR pName);
  826.         
  827.         HRESULT ( STDMETHODCALLTYPE *QueryVendorInfo )( 
  828.             IMediaStreamFilter * This,
  829.             /* [string][out] */ LPWSTR *pVendorInfo);
  830.         
  831.         HRESULT ( STDMETHODCALLTYPE *AddMediaStream )( 
  832.             IMediaStreamFilter * This,
  833.             /* [in] */ IAMMediaStream *pAMMediaStream);
  834.         
  835.         HRESULT ( STDMETHODCALLTYPE *GetMediaStream )( 
  836.             IMediaStreamFilter * This,
  837.             /* [in] */ REFMSPID idPurpose,
  838.             /* [out] */ IMediaStream **ppMediaStream);
  839.         
  840.         HRESULT ( STDMETHODCALLTYPE *EnumMediaStreams )( 
  841.             IMediaStreamFilter * This,
  842.             /* [in] */ long Index,
  843.             /* [out] */ IMediaStream **ppMediaStream);
  844.         
  845.         HRESULT ( STDMETHODCALLTYPE *SupportSeeking )( 
  846.             IMediaStreamFilter * This,
  847.             /* [in] */ BOOL bRenderer);
  848.         
  849.         HRESULT ( STDMETHODCALLTYPE *ReferenceTimeToStreamTime )( 
  850.             IMediaStreamFilter * This,
  851.             /* [out][in] */ REFERENCE_TIME *pTime);
  852.         
  853.         HRESULT ( STDMETHODCALLTYPE *GetCurrentStreamTime )( 
  854.             IMediaStreamFilter * This,
  855.             /* [out] */ REFERENCE_TIME *pCurrentStreamTime);
  856.         
  857.         HRESULT ( STDMETHODCALLTYPE *WaitUntil )( 
  858.             IMediaStreamFilter * This,
  859.             /* [in] */ REFERENCE_TIME WaitStreamTime);
  860.         
  861.         HRESULT ( STDMETHODCALLTYPE *Flush )( 
  862.             IMediaStreamFilter * This,
  863.             /* [in] */ BOOL bCancelEOS);
  864.         
  865.         HRESULT ( STDMETHODCALLTYPE *EndOfStream )( 
  866.             IMediaStreamFilter * This);
  867.         
  868.         END_INTERFACE
  869.     } IMediaStreamFilterVtbl;
  870.     interface IMediaStreamFilter
  871.     {
  872.         CONST_VTBL struct IMediaStreamFilterVtbl *lpVtbl;
  873.     };
  874.     
  875. #ifdef COBJMACROS
  876. #define IMediaStreamFilter_QueryInterface(This,riid,ppvObject)
  877.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  878. #define IMediaStreamFilter_AddRef(This)
  879.     (This)->lpVtbl -> AddRef(This)
  880. #define IMediaStreamFilter_Release(This)
  881.     (This)->lpVtbl -> Release(This)
  882. #define IMediaStreamFilter_GetClassID(This,pClassID)
  883.     (This)->lpVtbl -> GetClassID(This,pClassID)
  884. #define IMediaStreamFilter_Stop(This)
  885.     (This)->lpVtbl -> Stop(This)
  886. #define IMediaStreamFilter_Pause(This)
  887.     (This)->lpVtbl -> Pause(This)
  888. #define IMediaStreamFilter_Run(This,tStart)
  889.     (This)->lpVtbl -> Run(This,tStart)
  890. #define IMediaStreamFilter_GetState(This,dwMilliSecsTimeout,State)
  891.     (This)->lpVtbl -> GetState(This,dwMilliSecsTimeout,State)
  892. #define IMediaStreamFilter_SetSyncSource(This,pClock)
  893.     (This)->lpVtbl -> SetSyncSource(This,pClock)
  894. #define IMediaStreamFilter_GetSyncSource(This,pClock)
  895.     (This)->lpVtbl -> GetSyncSource(This,pClock)
  896. #define IMediaStreamFilter_EnumPins(This,ppEnum)
  897.     (This)->lpVtbl -> EnumPins(This,ppEnum)
  898. #define IMediaStreamFilter_FindPin(This,Id,ppPin)
  899.     (This)->lpVtbl -> FindPin(This,Id,ppPin)
  900. #define IMediaStreamFilter_QueryFilterInfo(This,pInfo)
  901.     (This)->lpVtbl -> QueryFilterInfo(This,pInfo)
  902. #define IMediaStreamFilter_JoinFilterGraph(This,pGraph,pName)
  903.     (This)->lpVtbl -> JoinFilterGraph(This,pGraph,pName)
  904. #define IMediaStreamFilter_QueryVendorInfo(This,pVendorInfo)
  905.     (This)->lpVtbl -> QueryVendorInfo(This,pVendorInfo)
  906. #define IMediaStreamFilter_AddMediaStream(This,pAMMediaStream)
  907.     (This)->lpVtbl -> AddMediaStream(This,pAMMediaStream)
  908. #define IMediaStreamFilter_GetMediaStream(This,idPurpose,ppMediaStream)
  909.     (This)->lpVtbl -> GetMediaStream(This,idPurpose,ppMediaStream)
  910. #define IMediaStreamFilter_EnumMediaStreams(This,Index,ppMediaStream)
  911.     (This)->lpVtbl -> EnumMediaStreams(This,Index,ppMediaStream)
  912. #define IMediaStreamFilter_SupportSeeking(This,bRenderer)
  913.     (This)->lpVtbl -> SupportSeeking(This,bRenderer)
  914. #define IMediaStreamFilter_ReferenceTimeToStreamTime(This,pTime)
  915.     (This)->lpVtbl -> ReferenceTimeToStreamTime(This,pTime)
  916. #define IMediaStreamFilter_GetCurrentStreamTime(This,pCurrentStreamTime)
  917.     (This)->lpVtbl -> GetCurrentStreamTime(This,pCurrentStreamTime)
  918. #define IMediaStreamFilter_WaitUntil(This,WaitStreamTime)
  919.     (This)->lpVtbl -> WaitUntil(This,WaitStreamTime)
  920. #define IMediaStreamFilter_Flush(This,bCancelEOS)
  921.     (This)->lpVtbl -> Flush(This,bCancelEOS)
  922. #define IMediaStreamFilter_EndOfStream(This)
  923.     (This)->lpVtbl -> EndOfStream(This)
  924. #endif /* COBJMACROS */
  925. #endif  /* C style interface */
  926. HRESULT STDMETHODCALLTYPE IMediaStreamFilter_AddMediaStream_Proxy( 
  927.     IMediaStreamFilter * This,
  928.     /* [in] */ IAMMediaStream *pAMMediaStream);
  929. void __RPC_STUB IMediaStreamFilter_AddMediaStream_Stub(
  930.     IRpcStubBuffer *This,
  931.     IRpcChannelBuffer *_pRpcChannelBuffer,
  932.     PRPC_MESSAGE _pRpcMessage,
  933.     DWORD *_pdwStubPhase);
  934. HRESULT STDMETHODCALLTYPE IMediaStreamFilter_GetMediaStream_Proxy( 
  935.     IMediaStreamFilter * This,
  936.     /* [in] */ REFMSPID idPurpose,
  937.     /* [out] */ IMediaStream **ppMediaStream);
  938. void __RPC_STUB IMediaStreamFilter_GetMediaStream_Stub(
  939.     IRpcStubBuffer *This,
  940.     IRpcChannelBuffer *_pRpcChannelBuffer,
  941.     PRPC_MESSAGE _pRpcMessage,
  942.     DWORD *_pdwStubPhase);
  943. HRESULT STDMETHODCALLTYPE IMediaStreamFilter_EnumMediaStreams_Proxy( 
  944.     IMediaStreamFilter * This,
  945.     /* [in] */ long Index,
  946.     /* [out] */ IMediaStream **ppMediaStream);
  947. void __RPC_STUB IMediaStreamFilter_EnumMediaStreams_Stub(
  948.     IRpcStubBuffer *This,
  949.     IRpcChannelBuffer *_pRpcChannelBuffer,
  950.     PRPC_MESSAGE _pRpcMessage,
  951.     DWORD *_pdwStubPhase);
  952. HRESULT STDMETHODCALLTYPE IMediaStreamFilter_SupportSeeking_Proxy( 
  953.     IMediaStreamFilter * This,
  954.     /* [in] */ BOOL bRenderer);
  955. void __RPC_STUB IMediaStreamFilter_SupportSeeking_Stub(
  956.     IRpcStubBuffer *This,
  957.     IRpcChannelBuffer *_pRpcChannelBuffer,
  958.     PRPC_MESSAGE _pRpcMessage,
  959.     DWORD *_pdwStubPhase);
  960. HRESULT STDMETHODCALLTYPE IMediaStreamFilter_ReferenceTimeToStreamTime_Proxy( 
  961.     IMediaStreamFilter * This,
  962.     /* [out][in] */ REFERENCE_TIME *pTime);
  963. void __RPC_STUB IMediaStreamFilter_ReferenceTimeToStreamTime_Stub(
  964.     IRpcStubBuffer *This,
  965.     IRpcChannelBuffer *_pRpcChannelBuffer,
  966.     PRPC_MESSAGE _pRpcMessage,
  967.     DWORD *_pdwStubPhase);
  968. HRESULT STDMETHODCALLTYPE IMediaStreamFilter_GetCurrentStreamTime_Proxy( 
  969.     IMediaStreamFilter * This,
  970.     /* [out] */ REFERENCE_TIME *pCurrentStreamTime);
  971. void __RPC_STUB IMediaStreamFilter_GetCurrentStreamTime_Stub(
  972.     IRpcStubBuffer *This,
  973.     IRpcChannelBuffer *_pRpcChannelBuffer,
  974.     PRPC_MESSAGE _pRpcMessage,
  975.     DWORD *_pdwStubPhase);
  976. HRESULT STDMETHODCALLTYPE IMediaStreamFilter_WaitUntil_Proxy( 
  977.     IMediaStreamFilter * This,
  978.     /* [in] */ REFERENCE_TIME WaitStreamTime);
  979. void __RPC_STUB IMediaStreamFilter_WaitUntil_Stub(
  980.     IRpcStubBuffer *This,
  981.     IRpcChannelBuffer *_pRpcChannelBuffer,
  982.     PRPC_MESSAGE _pRpcMessage,
  983.     DWORD *_pdwStubPhase);
  984. HRESULT STDMETHODCALLTYPE IMediaStreamFilter_Flush_Proxy( 
  985.     IMediaStreamFilter * This,
  986.     /* [in] */ BOOL bCancelEOS);
  987. void __RPC_STUB IMediaStreamFilter_Flush_Stub(
  988.     IRpcStubBuffer *This,
  989.     IRpcChannelBuffer *_pRpcChannelBuffer,
  990.     PRPC_MESSAGE _pRpcMessage,
  991.     DWORD *_pdwStubPhase);
  992. HRESULT STDMETHODCALLTYPE IMediaStreamFilter_EndOfStream_Proxy( 
  993.     IMediaStreamFilter * This);
  994. void __RPC_STUB IMediaStreamFilter_EndOfStream_Stub(
  995.     IRpcStubBuffer *This,
  996.     IRpcChannelBuffer *_pRpcChannelBuffer,
  997.     PRPC_MESSAGE _pRpcMessage,
  998.     DWORD *_pdwStubPhase);
  999. #endif  /* __IMediaStreamFilter_INTERFACE_DEFINED__ */
  1000. #ifndef __IDirectDrawMediaSampleAllocator_INTERFACE_DEFINED__
  1001. #define __IDirectDrawMediaSampleAllocator_INTERFACE_DEFINED__
  1002. /* interface IDirectDrawMediaSampleAllocator */
  1003. /* [unique][uuid][local][object] */ 
  1004. EXTERN_C const IID IID_IDirectDrawMediaSampleAllocator;
  1005. #if defined(__cplusplus) && !defined(CINTERFACE)
  1006.     
  1007.     MIDL_INTERFACE("AB6B4AFC-F6E4-11d0-900D-00C04FD9189D")
  1008.     IDirectDrawMediaSampleAllocator : public IUnknown
  1009.     {
  1010.     public:
  1011.         virtual HRESULT STDMETHODCALLTYPE GetDirectDraw( 
  1012.             IDirectDraw **ppDirectDraw) = 0;
  1013.         
  1014.     };
  1015.     
  1016. #else  /* C style interface */
  1017.     typedef struct IDirectDrawMediaSampleAllocatorVtbl
  1018.     {
  1019.         BEGIN_INTERFACE
  1020.         
  1021.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1022.             IDirectDrawMediaSampleAllocator * This,
  1023.             /* [in] */ REFIID riid,
  1024.             /* [iid_is][out] */ void **ppvObject);
  1025.         
  1026.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1027.             IDirectDrawMediaSampleAllocator * This);
  1028.         
  1029.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1030.             IDirectDrawMediaSampleAllocator * This);
  1031.         
  1032.         HRESULT ( STDMETHODCALLTYPE *GetDirectDraw )( 
  1033.             IDirectDrawMediaSampleAllocator * This,
  1034.             IDirectDraw **ppDirectDraw);
  1035.         
  1036.         END_INTERFACE
  1037.     } IDirectDrawMediaSampleAllocatorVtbl;
  1038.     interface IDirectDrawMediaSampleAllocator
  1039.     {
  1040.         CONST_VTBL struct IDirectDrawMediaSampleAllocatorVtbl *lpVtbl;
  1041.     };
  1042.     
  1043. #ifdef COBJMACROS
  1044. #define IDirectDrawMediaSampleAllocator_QueryInterface(This,riid,ppvObject)
  1045.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1046. #define IDirectDrawMediaSampleAllocator_AddRef(This)
  1047.     (This)->lpVtbl -> AddRef(This)
  1048. #define IDirectDrawMediaSampleAllocator_Release(This)
  1049.     (This)->lpVtbl -> Release(This)
  1050. #define IDirectDrawMediaSampleAllocator_GetDirectDraw(This,ppDirectDraw)
  1051.     (This)->lpVtbl -> GetDirectDraw(This,ppDirectDraw)
  1052. #endif /* COBJMACROS */
  1053. #endif  /* C style interface */
  1054. HRESULT STDMETHODCALLTYPE IDirectDrawMediaSampleAllocator_GetDirectDraw_Proxy( 
  1055.     IDirectDrawMediaSampleAllocator * This,
  1056.     IDirectDraw **ppDirectDraw);
  1057. void __RPC_STUB IDirectDrawMediaSampleAllocator_GetDirectDraw_Stub(
  1058.     IRpcStubBuffer *This,
  1059.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1060.     PRPC_MESSAGE _pRpcMessage,
  1061.     DWORD *_pdwStubPhase);
  1062. #endif  /* __IDirectDrawMediaSampleAllocator_INTERFACE_DEFINED__ */
  1063. #ifndef __IDirectDrawMediaSample_INTERFACE_DEFINED__
  1064. #define __IDirectDrawMediaSample_INTERFACE_DEFINED__
  1065. /* interface IDirectDrawMediaSample */
  1066. /* [unique][uuid][local][object] */ 
  1067. EXTERN_C const IID IID_IDirectDrawMediaSample;
  1068. #if defined(__cplusplus) && !defined(CINTERFACE)
  1069.     
  1070.     MIDL_INTERFACE("AB6B4AFE-F6E4-11d0-900D-00C04FD9189D")
  1071.     IDirectDrawMediaSample : public IUnknown
  1072.     {
  1073.     public:
  1074.         virtual HRESULT STDMETHODCALLTYPE GetSurfaceAndReleaseLock( 
  1075.             /* [out] */ IDirectDrawSurface **ppDirectDrawSurface,
  1076.             /* [out] */ RECT *pRect) = 0;
  1077.         
  1078.         virtual HRESULT STDMETHODCALLTYPE LockMediaSamplePointer( void) = 0;
  1079.         
  1080.     };
  1081.     
  1082. #else  /* C style interface */
  1083.     typedef struct IDirectDrawMediaSampleVtbl
  1084.     {
  1085.         BEGIN_INTERFACE
  1086.         
  1087.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1088.             IDirectDrawMediaSample * This,
  1089.             /* [in] */ REFIID riid,
  1090.             /* [iid_is][out] */ void **ppvObject);
  1091.         
  1092.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1093.             IDirectDrawMediaSample * This);
  1094.         
  1095.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1096.             IDirectDrawMediaSample * This);
  1097.         
  1098.         HRESULT ( STDMETHODCALLTYPE *GetSurfaceAndReleaseLock )( 
  1099.             IDirectDrawMediaSample * This,
  1100.             /* [out] */ IDirectDrawSurface **ppDirectDrawSurface,
  1101.             /* [out] */ RECT *pRect);
  1102.         
  1103.         HRESULT ( STDMETHODCALLTYPE *LockMediaSamplePointer )( 
  1104.             IDirectDrawMediaSample * This);
  1105.         
  1106.         END_INTERFACE
  1107.     } IDirectDrawMediaSampleVtbl;
  1108.     interface IDirectDrawMediaSample
  1109.     {
  1110.         CONST_VTBL struct IDirectDrawMediaSampleVtbl *lpVtbl;
  1111.     };
  1112.     
  1113. #ifdef COBJMACROS
  1114. #define IDirectDrawMediaSample_QueryInterface(This,riid,ppvObject)
  1115.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1116. #define IDirectDrawMediaSample_AddRef(This)
  1117.     (This)->lpVtbl -> AddRef(This)
  1118. #define IDirectDrawMediaSample_Release(This)
  1119.     (This)->lpVtbl -> Release(This)
  1120. #define IDirectDrawMediaSample_GetSurfaceAndReleaseLock(This,ppDirectDrawSurface,pRect)
  1121.     (This)->lpVtbl -> GetSurfaceAndReleaseLock(This,ppDirectDrawSurface,pRect)
  1122. #define IDirectDrawMediaSample_LockMediaSamplePointer(This)
  1123.     (This)->lpVtbl -> LockMediaSamplePointer(This)
  1124. #endif /* COBJMACROS */
  1125. #endif  /* C style interface */
  1126. HRESULT STDMETHODCALLTYPE IDirectDrawMediaSample_GetSurfaceAndReleaseLock_Proxy( 
  1127.     IDirectDrawMediaSample * This,
  1128.     /* [out] */ IDirectDrawSurface **ppDirectDrawSurface,
  1129.     /* [out] */ RECT *pRect);
  1130. void __RPC_STUB IDirectDrawMediaSample_GetSurfaceAndReleaseLock_Stub(
  1131.     IRpcStubBuffer *This,
  1132.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1133.     PRPC_MESSAGE _pRpcMessage,
  1134.     DWORD *_pdwStubPhase);
  1135. HRESULT STDMETHODCALLTYPE IDirectDrawMediaSample_LockMediaSamplePointer_Proxy( 
  1136.     IDirectDrawMediaSample * This);
  1137. void __RPC_STUB IDirectDrawMediaSample_LockMediaSamplePointer_Stub(
  1138.     IRpcStubBuffer *This,
  1139.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1140.     PRPC_MESSAGE _pRpcMessage,
  1141.     DWORD *_pdwStubPhase);
  1142. #endif  /* __IDirectDrawMediaSample_INTERFACE_DEFINED__ */
  1143. #ifndef __IAMMediaTypeStream_INTERFACE_DEFINED__
  1144. #define __IAMMediaTypeStream_INTERFACE_DEFINED__
  1145. /* interface IAMMediaTypeStream */
  1146. /* [unique][uuid][local][object] */ 
  1147. EXTERN_C const IID IID_IAMMediaTypeStream;
  1148. #if defined(__cplusplus) && !defined(CINTERFACE)
  1149.     
  1150.     MIDL_INTERFACE("AB6B4AFA-F6E4-11d0-900D-00C04FD9189D")
  1151.     IAMMediaTypeStream : public IMediaStream
  1152.     {
  1153.     public:
  1154.         virtual HRESULT STDMETHODCALLTYPE GetFormat( 
  1155.             /* [out] */ AM_MEDIA_TYPE *pMediaType,
  1156.             /* [in] */ DWORD dwFlags) = 0;
  1157.         
  1158.         virtual HRESULT STDMETHODCALLTYPE SetFormat( 
  1159.             /* [in] */ AM_MEDIA_TYPE *pMediaType,
  1160.             /* [in] */ DWORD dwFlags) = 0;
  1161.         
  1162.         virtual HRESULT STDMETHODCALLTYPE CreateSample( 
  1163.             /* [in] */ long lSampleSize,
  1164.             /* [in] */ BYTE *pbBuffer,
  1165.             /* [in] */ DWORD dwFlags,
  1166.             /* [in] */ IUnknown *pUnkOuter,
  1167.             /* [out] */ IAMMediaTypeSample **ppAMMediaTypeSample) = 0;
  1168.         
  1169.         virtual HRESULT STDMETHODCALLTYPE GetStreamAllocatorRequirements( 
  1170.             /* [out] */ ALLOCATOR_PROPERTIES *pProps) = 0;
  1171.         
  1172.         virtual HRESULT STDMETHODCALLTYPE SetStreamAllocatorRequirements( 
  1173.             /* [in] */ ALLOCATOR_PROPERTIES *pProps) = 0;
  1174.         
  1175.     };
  1176.     
  1177. #else  /* C style interface */
  1178.     typedef struct IAMMediaTypeStreamVtbl
  1179.     {
  1180.         BEGIN_INTERFACE
  1181.         
  1182.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1183.             IAMMediaTypeStream * This,
  1184.             /* [in] */ REFIID riid,
  1185.             /* [iid_is][out] */ void **ppvObject);
  1186.         
  1187.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1188.             IAMMediaTypeStream * This);
  1189.         
  1190.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1191.             IAMMediaTypeStream * This);
  1192.         
  1193.         HRESULT ( STDMETHODCALLTYPE *GetMultiMediaStream )( 
  1194.             IAMMediaTypeStream * This,
  1195.             /* [out] */ IMultiMediaStream **ppMultiMediaStream);
  1196.         
  1197.         HRESULT ( STDMETHODCALLTYPE *GetInformation )( 
  1198.             IAMMediaTypeStream * This,
  1199.             /* [out] */ MSPID *pPurposeId,
  1200.             /* [out] */ STREAM_TYPE *pType);
  1201.         
  1202.         HRESULT ( STDMETHODCALLTYPE *SetSameFormat )( 
  1203.             IAMMediaTypeStream * This,
  1204.             /* [in] */ IMediaStream *pStreamThatHasDesiredFormat,
  1205.             /* [in] */ DWORD dwFlags);
  1206.         
  1207.         HRESULT ( STDMETHODCALLTYPE *AllocateSample )( 
  1208.             IAMMediaTypeStream * This,
  1209.             /* [in] */ DWORD dwFlags,
  1210.             /* [out] */ IStreamSample **ppSample);
  1211.         
  1212.         HRESULT ( STDMETHODCALLTYPE *CreateSharedSample )( 
  1213.             IAMMediaTypeStream * This,
  1214.             /* [in] */ IStreamSample *pExistingSample,
  1215.             /* [in] */ DWORD dwFlags,
  1216.             /* [out] */ IStreamSample **ppNewSample);
  1217.         
  1218.         HRESULT ( STDMETHODCALLTYPE *SendEndOfStream )( 
  1219.             IAMMediaTypeStream * This,
  1220.             DWORD dwFlags);
  1221.         
  1222.         HRESULT ( STDMETHODCALLTYPE *GetFormat )( 
  1223.             IAMMediaTypeStream * This,
  1224.             /* [out] */ AM_MEDIA_TYPE *pMediaType,
  1225.             /* [in] */ DWORD dwFlags);
  1226.         
  1227.         HRESULT ( STDMETHODCALLTYPE *SetFormat )( 
  1228.             IAMMediaTypeStream * This,
  1229.             /* [in] */ AM_MEDIA_TYPE *pMediaType,
  1230.             /* [in] */ DWORD dwFlags);
  1231.         
  1232.         HRESULT ( STDMETHODCALLTYPE *CreateSample )( 
  1233.             IAMMediaTypeStream * This,
  1234.             /* [in] */ long lSampleSize,
  1235.             /* [in] */ BYTE *pbBuffer,
  1236.             /* [in] */ DWORD dwFlags,
  1237.             /* [in] */ IUnknown *pUnkOuter,
  1238.             /* [out] */ IAMMediaTypeSample **ppAMMediaTypeSample);
  1239.         
  1240.         HRESULT ( STDMETHODCALLTYPE *GetStreamAllocatorRequirements )( 
  1241.             IAMMediaTypeStream * This,
  1242.             /* [out] */ ALLOCATOR_PROPERTIES *pProps);
  1243.         
  1244.         HRESULT ( STDMETHODCALLTYPE *SetStreamAllocatorRequirements )( 
  1245.             IAMMediaTypeStream * This,
  1246.             /* [in] */ ALLOCATOR_PROPERTIES *pProps);
  1247.         
  1248.         END_INTERFACE
  1249.     } IAMMediaTypeStreamVtbl;
  1250.     interface IAMMediaTypeStream
  1251.     {
  1252.         CONST_VTBL struct IAMMediaTypeStreamVtbl *lpVtbl;
  1253.     };
  1254.     
  1255. #ifdef COBJMACROS
  1256. #define IAMMediaTypeStream_QueryInterface(This,riid,ppvObject)
  1257.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1258. #define IAMMediaTypeStream_AddRef(This)
  1259.     (This)->lpVtbl -> AddRef(This)
  1260. #define IAMMediaTypeStream_Release(This)
  1261.     (This)->lpVtbl -> Release(This)
  1262. #define IAMMediaTypeStream_GetMultiMediaStream(This,ppMultiMediaStream)
  1263.     (This)->lpVtbl -> GetMultiMediaStream(This,ppMultiMediaStream)
  1264. #define IAMMediaTypeStream_GetInformation(This,pPurposeId,pType)
  1265.     (This)->lpVtbl -> GetInformation(This,pPurposeId,pType)
  1266. #define IAMMediaTypeStream_SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags)
  1267.     (This)->lpVtbl -> SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags)
  1268. #define IAMMediaTypeStream_AllocateSample(This,dwFlags,ppSample)
  1269.     (This)->lpVtbl -> AllocateSample(This,dwFlags,ppSample)
  1270. #define IAMMediaTypeStream_CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample)
  1271.     (This)->lpVtbl -> CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample)
  1272. #define IAMMediaTypeStream_SendEndOfStream(This,dwFlags)
  1273.     (This)->lpVtbl -> SendEndOfStream(This,dwFlags)
  1274. #define IAMMediaTypeStream_GetFormat(This,pMediaType,dwFlags)
  1275.     (This)->lpVtbl -> GetFormat(This,pMediaType,dwFlags)
  1276. #define IAMMediaTypeStream_SetFormat(This,pMediaType,dwFlags)
  1277.     (This)->lpVtbl -> SetFormat(This,pMediaType,dwFlags)
  1278. #define IAMMediaTypeStream_CreateSample(This,lSampleSize,pbBuffer,dwFlags,pUnkOuter,ppAMMediaTypeSample)
  1279.     (This)->lpVtbl -> CreateSample(This,lSampleSize,pbBuffer,dwFlags,pUnkOuter,ppAMMediaTypeSample)
  1280. #define IAMMediaTypeStream_GetStreamAllocatorRequirements(This,pProps)
  1281.     (This)->lpVtbl -> GetStreamAllocatorRequirements(This,pProps)
  1282. #define IAMMediaTypeStream_SetStreamAllocatorRequirements(This,pProps)
  1283.     (This)->lpVtbl -> SetStreamAllocatorRequirements(This,pProps)
  1284. #endif /* COBJMACROS */
  1285. #endif  /* C style interface */
  1286. HRESULT STDMETHODCALLTYPE IAMMediaTypeStream_GetFormat_Proxy( 
  1287.     IAMMediaTypeStream * This,
  1288.     /* [out] */ AM_MEDIA_TYPE *pMediaType,
  1289.     /* [in] */ DWORD dwFlags);
  1290. void __RPC_STUB IAMMediaTypeStream_GetFormat_Stub(
  1291.     IRpcStubBuffer *This,
  1292.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1293.     PRPC_MESSAGE _pRpcMessage,
  1294.     DWORD *_pdwStubPhase);
  1295. HRESULT STDMETHODCALLTYPE IAMMediaTypeStream_SetFormat_Proxy( 
  1296.     IAMMediaTypeStream * This,
  1297.     /* [in] */ AM_MEDIA_TYPE *pMediaType,
  1298.     /* [in] */ DWORD dwFlags);
  1299. void __RPC_STUB IAMMediaTypeStream_SetFormat_Stub(
  1300.     IRpcStubBuffer *This,
  1301.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1302.     PRPC_MESSAGE _pRpcMessage,
  1303.     DWORD *_pdwStubPhase);
  1304. HRESULT STDMETHODCALLTYPE IAMMediaTypeStream_CreateSample_Proxy( 
  1305.     IAMMediaTypeStream * This,
  1306.     /* [in] */ long lSampleSize,
  1307.     /* [in] */ BYTE *pbBuffer,
  1308.     /* [in] */ DWORD dwFlags,
  1309.     /* [in] */ IUnknown *pUnkOuter,
  1310.     /* [out] */ IAMMediaTypeSample **ppAMMediaTypeSample);
  1311. void __RPC_STUB IAMMediaTypeStream_CreateSample_Stub(
  1312.     IRpcStubBuffer *This,
  1313.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1314.     PRPC_MESSAGE _pRpcMessage,
  1315.     DWORD *_pdwStubPhase);
  1316. HRESULT STDMETHODCALLTYPE IAMMediaTypeStream_GetStreamAllocatorRequirements_Proxy( 
  1317.     IAMMediaTypeStream * This,
  1318.     /* [out] */ ALLOCATOR_PROPERTIES *pProps);
  1319. void __RPC_STUB IAMMediaTypeStream_GetStreamAllocatorRequirements_Stub(
  1320.     IRpcStubBuffer *This,
  1321.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1322.     PRPC_MESSAGE _pRpcMessage,
  1323.     DWORD *_pdwStubPhase);
  1324. HRESULT STDMETHODCALLTYPE IAMMediaTypeStream_SetStreamAllocatorRequirements_Proxy( 
  1325.     IAMMediaTypeStream * This,
  1326.     /* [in] */ ALLOCATOR_PROPERTIES *pProps);
  1327. void __RPC_STUB IAMMediaTypeStream_SetStreamAllocatorRequirements_Stub(
  1328.     IRpcStubBuffer *This,
  1329.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1330.     PRPC_MESSAGE _pRpcMessage,
  1331.     DWORD *_pdwStubPhase);
  1332. #endif  /* __IAMMediaTypeStream_INTERFACE_DEFINED__ */
  1333. #ifndef __IAMMediaTypeSample_INTERFACE_DEFINED__
  1334. #define __IAMMediaTypeSample_INTERFACE_DEFINED__
  1335. /* interface IAMMediaTypeSample */
  1336. /* [unique][uuid][local][object] */ 
  1337. EXTERN_C const IID IID_IAMMediaTypeSample;
  1338. #if defined(__cplusplus) && !defined(CINTERFACE)
  1339.     
  1340.     MIDL_INTERFACE("AB6B4AFB-F6E4-11d0-900D-00C04FD9189D")
  1341.     IAMMediaTypeSample : public IStreamSample
  1342.     {
  1343.     public:
  1344.         virtual HRESULT STDMETHODCALLTYPE SetPointer( 
  1345.             /* [in] */ BYTE *pBuffer,
  1346.             /* [in] */ long lSize) = 0;
  1347.         
  1348.         virtual HRESULT STDMETHODCALLTYPE GetPointer( 
  1349.             /* [out] */ BYTE **ppBuffer) = 0;
  1350.         
  1351.         virtual long STDMETHODCALLTYPE GetSize( void) = 0;
  1352.         
  1353.         virtual HRESULT STDMETHODCALLTYPE GetTime( 
  1354.             /* [out] */ REFERENCE_TIME *pTimeStart,
  1355.             /* [out] */ REFERENCE_TIME *pTimeEnd) = 0;
  1356.         
  1357.         virtual HRESULT STDMETHODCALLTYPE SetTime( 
  1358.             /* [in] */ REFERENCE_TIME *pTimeStart,
  1359.             /* [in] */ REFERENCE_TIME *pTimeEnd) = 0;
  1360.         
  1361.         virtual HRESULT STDMETHODCALLTYPE IsSyncPoint( void) = 0;
  1362.         
  1363.         virtual HRESULT STDMETHODCALLTYPE SetSyncPoint( 
  1364.             BOOL bIsSyncPoint) = 0;
  1365.         
  1366.         virtual HRESULT STDMETHODCALLTYPE IsPreroll( void) = 0;
  1367.         
  1368.         virtual HRESULT STDMETHODCALLTYPE SetPreroll( 
  1369.             BOOL bIsPreroll) = 0;
  1370.         
  1371.         virtual long STDMETHODCALLTYPE GetActualDataLength( void) = 0;
  1372.         
  1373.         virtual HRESULT STDMETHODCALLTYPE SetActualDataLength( 
  1374.             long __MIDL_0017) = 0;
  1375.         
  1376.         virtual HRESULT STDMETHODCALLTYPE GetMediaType( 
  1377.             AM_MEDIA_TYPE **ppMediaType) = 0;
  1378.         
  1379.         virtual HRESULT STDMETHODCALLTYPE SetMediaType( 
  1380.             AM_MEDIA_TYPE *pMediaType) = 0;
  1381.         
  1382.         virtual HRESULT STDMETHODCALLTYPE IsDiscontinuity( void) = 0;
  1383.         
  1384.         virtual HRESULT STDMETHODCALLTYPE SetDiscontinuity( 
  1385.             BOOL bDiscontinuity) = 0;
  1386.         
  1387.         virtual HRESULT STDMETHODCALLTYPE GetMediaTime( 
  1388.             /* [out] */ LONGLONG *pTimeStart,
  1389.             /* [out] */ LONGLONG *pTimeEnd) = 0;
  1390.         
  1391.         virtual HRESULT STDMETHODCALLTYPE SetMediaTime( 
  1392.             /* [in] */ LONGLONG *pTimeStart,
  1393.             /* [in] */ LONGLONG *pTimeEnd) = 0;
  1394.         
  1395.     };
  1396.     
  1397. #else  /* C style interface */
  1398.     typedef struct IAMMediaTypeSampleVtbl
  1399.     {
  1400.         BEGIN_INTERFACE
  1401.         
  1402.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1403.             IAMMediaTypeSample * This,
  1404.             /* [in] */ REFIID riid,
  1405.             /* [iid_is][out] */ void **ppvObject);
  1406.         
  1407.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1408.             IAMMediaTypeSample * This);
  1409.         
  1410.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1411.             IAMMediaTypeSample * This);
  1412.         
  1413.         HRESULT ( STDMETHODCALLTYPE *GetMediaStream )( 
  1414.             IAMMediaTypeSample * This,
  1415.             /* [in] */ IMediaStream **ppMediaStream);
  1416.         
  1417.         HRESULT ( STDMETHODCALLTYPE *GetSampleTimes )( 
  1418.             IAMMediaTypeSample * This,
  1419.             /* [out] */ STREAM_TIME *pStartTime,
  1420.             /* [out] */ STREAM_TIME *pEndTime,
  1421.             /* [out] */ STREAM_TIME *pCurrentTime);
  1422.         
  1423.         HRESULT ( STDMETHODCALLTYPE *SetSampleTimes )( 
  1424.             IAMMediaTypeSample * This,
  1425.             /* [in] */ const STREAM_TIME *pStartTime,
  1426.             /* [in] */ const STREAM_TIME *pEndTime);
  1427.         
  1428.         HRESULT ( STDMETHODCALLTYPE *Update )( 
  1429.             IAMMediaTypeSample * This,
  1430.             /* [in] */ DWORD dwFlags,
  1431.             /* [in] */ HANDLE hEvent,
  1432.             /* [in] */ PAPCFUNC pfnAPC,
  1433.             /* [in] */ DWORD_PTR dwAPCData);
  1434.         
  1435.         HRESULT ( STDMETHODCALLTYPE *CompletionStatus )( 
  1436.             IAMMediaTypeSample * This,
  1437.             /* [in] */ DWORD dwFlags,
  1438.             /* [in] */ DWORD dwMilliseconds);
  1439.         
  1440.         HRESULT ( STDMETHODCALLTYPE *SetPointer )( 
  1441.             IAMMediaTypeSample * This,
  1442.             /* [in] */ BYTE *pBuffer,
  1443.             /* [in] */ long lSize);
  1444.         
  1445.         HRESULT ( STDMETHODCALLTYPE *GetPointer )( 
  1446.             IAMMediaTypeSample * This,
  1447.             /* [out] */ BYTE **ppBuffer);
  1448.         
  1449.         long ( STDMETHODCALLTYPE *GetSize )( 
  1450.             IAMMediaTypeSample * This);
  1451.         
  1452.         HRESULT ( STDMETHODCALLTYPE *GetTime )( 
  1453.             IAMMediaTypeSample * This,
  1454.             /* [out] */ REFERENCE_TIME *pTimeStart,
  1455.             /* [out] */ REFERENCE_TIME *pTimeEnd);
  1456.         
  1457.         HRESULT ( STDMETHODCALLTYPE *SetTime )( 
  1458.             IAMMediaTypeSample * This,
  1459.             /* [in] */ REFERENCE_TIME *pTimeStart,
  1460.             /* [in] */ REFERENCE_TIME *pTimeEnd);
  1461.         
  1462.         HRESULT ( STDMETHODCALLTYPE *IsSyncPoint )( 
  1463.             IAMMediaTypeSample * This);
  1464.         
  1465.         HRESULT ( STDMETHODCALLTYPE *SetSyncPoint )( 
  1466.             IAMMediaTypeSample * This,
  1467.             BOOL bIsSyncPoint);
  1468.         
  1469.         HRESULT ( STDMETHODCALLTYPE *IsPreroll )( 
  1470.             IAMMediaTypeSample * This);
  1471.         
  1472.         HRESULT ( STDMETHODCALLTYPE *SetPreroll )( 
  1473.             IAMMediaTypeSample * This,
  1474.             BOOL bIsPreroll);
  1475.         
  1476.         long ( STDMETHODCALLTYPE *GetActualDataLength )( 
  1477.             IAMMediaTypeSample * This);
  1478.         
  1479.         HRESULT ( STDMETHODCALLTYPE *SetActualDataLength )( 
  1480.             IAMMediaTypeSample * This,
  1481.             long __MIDL_0017);
  1482.         
  1483.         HRESULT ( STDMETHODCALLTYPE *GetMediaType )( 
  1484.             IAMMediaTypeSample * This,
  1485.             AM_MEDIA_TYPE **ppMediaType);
  1486.         
  1487.         HRESULT ( STDMETHODCALLTYPE *SetMediaType )( 
  1488.             IAMMediaTypeSample * This,
  1489.             AM_MEDIA_TYPE *pMediaType);
  1490.         
  1491.         HRESULT ( STDMETHODCALLTYPE *IsDiscontinuity )( 
  1492.             IAMMediaTypeSample * This);
  1493.         
  1494.         HRESULT ( STDMETHODCALLTYPE *SetDiscontinuity )( 
  1495.             IAMMediaTypeSample * This,
  1496.             BOOL bDiscontinuity);
  1497.         
  1498.         HRESULT ( STDMETHODCALLTYPE *GetMediaTime )( 
  1499.             IAMMediaTypeSample * This,
  1500.             /* [out] */ LONGLONG *pTimeStart,
  1501.             /* [out] */ LONGLONG *pTimeEnd);
  1502.         
  1503.         HRESULT ( STDMETHODCALLTYPE *SetMediaTime )( 
  1504.             IAMMediaTypeSample * This,
  1505.             /* [in] */ LONGLONG *pTimeStart,
  1506.             /* [in] */ LONGLONG *pTimeEnd);
  1507.         
  1508.         END_INTERFACE
  1509.     } IAMMediaTypeSampleVtbl;
  1510.     interface IAMMediaTypeSample
  1511.     {
  1512.         CONST_VTBL struct IAMMediaTypeSampleVtbl *lpVtbl;
  1513.     };
  1514.     
  1515. #ifdef COBJMACROS
  1516. #define IAMMediaTypeSample_QueryInterface(This,riid,ppvObject)
  1517.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1518. #define IAMMediaTypeSample_AddRef(This)
  1519.     (This)->lpVtbl -> AddRef(This)
  1520. #define IAMMediaTypeSample_Release(This)
  1521.     (This)->lpVtbl -> Release(This)
  1522. #define IAMMediaTypeSample_GetMediaStream(This,ppMediaStream)
  1523.     (This)->lpVtbl -> GetMediaStream(This,ppMediaStream)
  1524. #define IAMMediaTypeSample_GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime)
  1525.     (This)->lpVtbl -> GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime)
  1526. #define IAMMediaTypeSample_SetSampleTimes(This,pStartTime,pEndTime)
  1527.     (This)->lpVtbl -> SetSampleTimes(This,pStartTime,pEndTime)
  1528. #define IAMMediaTypeSample_Update(This,dwFlags,hEvent,pfnAPC,dwAPCData)
  1529.     (This)->lpVtbl -> Update(This,dwFlags,hEvent,pfnAPC,dwAPCData)
  1530. #define IAMMediaTypeSample_CompletionStatus(This,dwFlags,dwMilliseconds)
  1531.     (This)->lpVtbl -> CompletionStatus(This,dwFlags,dwMilliseconds)
  1532. #define IAMMediaTypeSample_SetPointer(This,pBuffer,lSize)
  1533.     (This)->lpVtbl -> SetPointer(This,pBuffer,lSize)
  1534. #define IAMMediaTypeSample_GetPointer(This,ppBuffer)
  1535.     (This)->lpVtbl -> GetPointer(This,ppBuffer)
  1536. #define IAMMediaTypeSample_GetSize(This)
  1537.     (This)->lpVtbl -> GetSize(This)
  1538. #define IAMMediaTypeSample_GetTime(This,pTimeStart,pTimeEnd)
  1539.     (This)->lpVtbl -> GetTime(This,pTimeStart,pTimeEnd)
  1540. #define IAMMediaTypeSample_SetTime(This,pTimeStart,pTimeEnd)
  1541.     (This)->lpVtbl -> SetTime(This,pTimeStart,pTimeEnd)
  1542. #define IAMMediaTypeSample_IsSyncPoint(This)
  1543.     (This)->lpVtbl -> IsSyncPoint(This)
  1544. #define IAMMediaTypeSample_SetSyncPoint(This,bIsSyncPoint)
  1545.     (This)->lpVtbl -> SetSyncPoint(This,bIsSyncPoint)
  1546. #define IAMMediaTypeSample_IsPreroll(This)
  1547.     (This)->lpVtbl -> IsPreroll(This)
  1548. #define IAMMediaTypeSample_SetPreroll(This,bIsPreroll)
  1549.     (This)->lpVtbl -> SetPreroll(This,bIsPreroll)
  1550. #define IAMMediaTypeSample_GetActualDataLength(This)
  1551.     (This)->lpVtbl -> GetActualDataLength(This)
  1552. #define IAMMediaTypeSample_SetActualDataLength(This,__MIDL_0017)
  1553.     (This)->lpVtbl -> SetActualDataLength(This,__MIDL_0017)
  1554. #define IAMMediaTypeSample_GetMediaType(This,ppMediaType)
  1555.     (This)->lpVtbl -> GetMediaType(This,ppMediaType)
  1556. #define IAMMediaTypeSample_SetMediaType(This,pMediaType)
  1557.     (This)->lpVtbl -> SetMediaType(This,pMediaType)
  1558. #define IAMMediaTypeSample_IsDiscontinuity(This)
  1559.     (This)->lpVtbl -> IsDiscontinuity(This)
  1560. #define IAMMediaTypeSample_SetDiscontinuity(This,bDiscontinuity)
  1561.     (This)->lpVtbl -> SetDiscontinuity(This,bDiscontinuity)
  1562. #define IAMMediaTypeSample_GetMediaTime(This,pTimeStart,pTimeEnd)
  1563.     (This)->lpVtbl -> GetMediaTime(This,pTimeStart,pTimeEnd)
  1564. #define IAMMediaTypeSample_SetMediaTime(This,pTimeStart,pTimeEnd)
  1565.     (This)->lpVtbl -> SetMediaTime(This,pTimeStart,pTimeEnd)
  1566. #endif /* COBJMACROS */
  1567. #endif  /* C style interface */
  1568. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetPointer_Proxy( 
  1569.     IAMMediaTypeSample * This,
  1570.     /* [in] */ BYTE *pBuffer,
  1571.     /* [in] */ long lSize);
  1572. void __RPC_STUB IAMMediaTypeSample_SetPointer_Stub(
  1573.     IRpcStubBuffer *This,
  1574.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1575.     PRPC_MESSAGE _pRpcMessage,
  1576.     DWORD *_pdwStubPhase);
  1577. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_GetPointer_Proxy( 
  1578.     IAMMediaTypeSample * This,
  1579.     /* [out] */ BYTE **ppBuffer);
  1580. void __RPC_STUB IAMMediaTypeSample_GetPointer_Stub(
  1581.     IRpcStubBuffer *This,
  1582.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1583.     PRPC_MESSAGE _pRpcMessage,
  1584.     DWORD *_pdwStubPhase);
  1585. long STDMETHODCALLTYPE IAMMediaTypeSample_GetSize_Proxy( 
  1586.     IAMMediaTypeSample * This);
  1587. void __RPC_STUB IAMMediaTypeSample_GetSize_Stub(
  1588.     IRpcStubBuffer *This,
  1589.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1590.     PRPC_MESSAGE _pRpcMessage,
  1591.     DWORD *_pdwStubPhase);
  1592. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_GetTime_Proxy( 
  1593.     IAMMediaTypeSample * This,
  1594.     /* [out] */ REFERENCE_TIME *pTimeStart,
  1595.     /* [out] */ REFERENCE_TIME *pTimeEnd);
  1596. void __RPC_STUB IAMMediaTypeSample_GetTime_Stub(
  1597.     IRpcStubBuffer *This,
  1598.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1599.     PRPC_MESSAGE _pRpcMessage,
  1600.     DWORD *_pdwStubPhase);
  1601. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetTime_Proxy( 
  1602.     IAMMediaTypeSample * This,
  1603.     /* [in] */ REFERENCE_TIME *pTimeStart,
  1604.     /* [in] */ REFERENCE_TIME *pTimeEnd);
  1605. void __RPC_STUB IAMMediaTypeSample_SetTime_Stub(
  1606.     IRpcStubBuffer *This,
  1607.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1608.     PRPC_MESSAGE _pRpcMessage,
  1609.     DWORD *_pdwStubPhase);
  1610. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_IsSyncPoint_Proxy( 
  1611.     IAMMediaTypeSample * This);
  1612. void __RPC_STUB IAMMediaTypeSample_IsSyncPoint_Stub(
  1613.     IRpcStubBuffer *This,
  1614.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1615.     PRPC_MESSAGE _pRpcMessage,
  1616.     DWORD *_pdwStubPhase);
  1617. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetSyncPoint_Proxy( 
  1618.     IAMMediaTypeSample * This,
  1619.     BOOL bIsSyncPoint);
  1620. void __RPC_STUB IAMMediaTypeSample_SetSyncPoint_Stub(
  1621.     IRpcStubBuffer *This,
  1622.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1623.     PRPC_MESSAGE _pRpcMessage,
  1624.     DWORD *_pdwStubPhase);
  1625. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_IsPreroll_Proxy( 
  1626.     IAMMediaTypeSample * This);
  1627. void __RPC_STUB IAMMediaTypeSample_IsPreroll_Stub(
  1628.     IRpcStubBuffer *This,
  1629.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1630.     PRPC_MESSAGE _pRpcMessage,
  1631.     DWORD *_pdwStubPhase);
  1632. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetPreroll_Proxy( 
  1633.     IAMMediaTypeSample * This,
  1634.     BOOL bIsPreroll);
  1635. void __RPC_STUB IAMMediaTypeSample_SetPreroll_Stub(
  1636.     IRpcStubBuffer *This,
  1637.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1638.     PRPC_MESSAGE _pRpcMessage,
  1639.     DWORD *_pdwStubPhase);
  1640. long STDMETHODCALLTYPE IAMMediaTypeSample_GetActualDataLength_Proxy( 
  1641.     IAMMediaTypeSample * This);
  1642. void __RPC_STUB IAMMediaTypeSample_GetActualDataLength_Stub(
  1643.     IRpcStubBuffer *This,
  1644.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1645.     PRPC_MESSAGE _pRpcMessage,
  1646.     DWORD *_pdwStubPhase);
  1647. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetActualDataLength_Proxy( 
  1648.     IAMMediaTypeSample * This,
  1649.     long __MIDL_0017);
  1650. void __RPC_STUB IAMMediaTypeSample_SetActualDataLength_Stub(
  1651.     IRpcStubBuffer *This,
  1652.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1653.     PRPC_MESSAGE _pRpcMessage,
  1654.     DWORD *_pdwStubPhase);
  1655. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_GetMediaType_Proxy( 
  1656.     IAMMediaTypeSample * This,
  1657.     AM_MEDIA_TYPE **ppMediaType);
  1658. void __RPC_STUB IAMMediaTypeSample_GetMediaType_Stub(
  1659.     IRpcStubBuffer *This,
  1660.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1661.     PRPC_MESSAGE _pRpcMessage,
  1662.     DWORD *_pdwStubPhase);
  1663. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetMediaType_Proxy( 
  1664.     IAMMediaTypeSample * This,
  1665.     AM_MEDIA_TYPE *pMediaType);
  1666. void __RPC_STUB IAMMediaTypeSample_SetMediaType_Stub(
  1667.     IRpcStubBuffer *This,
  1668.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1669.     PRPC_MESSAGE _pRpcMessage,
  1670.     DWORD *_pdwStubPhase);
  1671. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_IsDiscontinuity_Proxy( 
  1672.     IAMMediaTypeSample * This);
  1673. void __RPC_STUB IAMMediaTypeSample_IsDiscontinuity_Stub(
  1674.     IRpcStubBuffer *This,
  1675.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1676.     PRPC_MESSAGE _pRpcMessage,
  1677.     DWORD *_pdwStubPhase);
  1678. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetDiscontinuity_Proxy( 
  1679.     IAMMediaTypeSample * This,
  1680.     BOOL bDiscontinuity);
  1681. void __RPC_STUB IAMMediaTypeSample_SetDiscontinuity_Stub(
  1682.     IRpcStubBuffer *This,
  1683.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1684.     PRPC_MESSAGE _pRpcMessage,
  1685.     DWORD *_pdwStubPhase);
  1686. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_GetMediaTime_Proxy( 
  1687.     IAMMediaTypeSample * This,
  1688.     /* [out] */ LONGLONG *pTimeStart,
  1689.     /* [out] */ LONGLONG *pTimeEnd);
  1690. void __RPC_STUB IAMMediaTypeSample_GetMediaTime_Stub(
  1691.     IRpcStubBuffer *This,
  1692.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1693.     PRPC_MESSAGE _pRpcMessage,
  1694.     DWORD *_pdwStubPhase);
  1695. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetMediaTime_Proxy( 
  1696.     IAMMediaTypeSample * This,
  1697.     /* [in] */ LONGLONG *pTimeStart,
  1698.     /* [in] */ LONGLONG *pTimeEnd);
  1699. void __RPC_STUB IAMMediaTypeSample_SetMediaTime_Stub(
  1700.     IRpcStubBuffer *This,
  1701.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1702.     PRPC_MESSAGE _pRpcMessage,
  1703.     DWORD *_pdwStubPhase);
  1704. #endif  /* __IAMMediaTypeSample_INTERFACE_DEFINED__ */
  1705. #ifndef __DirectShowStreamLib_LIBRARY_DEFINED__
  1706. #define __DirectShowStreamLib_LIBRARY_DEFINED__
  1707. /* library DirectShowStreamLib */
  1708. /* [helpstring][version][uuid] */ 
  1709. EXTERN_C const IID LIBID_DirectShowStreamLib;
  1710. EXTERN_C const CLSID CLSID_AMMultiMediaStream;
  1711. #ifdef __cplusplus
  1712. class DECLSPEC_UUID("49c47ce5-9ba4-11d0-8212-00c04fc32c45")
  1713. AMMultiMediaStream;
  1714. #endif
  1715. #endif /* __DirectShowStreamLib_LIBRARY_DEFINED__ */
  1716. /* interface __MIDL_itf_amstream_0409 */
  1717. /* [local] */ 
  1718. #ifndef __cplusplus
  1719. EXTERN_C const CLSID CLSID_AMMultiMediaStream;
  1720. #endif
  1721. DEFINE_GUID(CLSID_AMDirectDrawStream, /* 49c47ce4-9ba4-11d0-8212-00c04fc32c45 */
  1722. 0x49c47ce4, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);
  1723. DEFINE_GUID(CLSID_AMAudioStream, /* 8496e040-af4c-11d0-8212-00c04fc32c45 */
  1724. 0x8496e040, 0xaf4c, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);
  1725. DEFINE_GUID(CLSID_AMAudioData, /* f2468580-af8a-11d0-8212-00c04fc32c45 */
  1726. 0xf2468580, 0xaf8a, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);
  1727. DEFINE_GUID(CLSID_AMMediaTypeStream, /* CF0F2F7C-F7BF-11d0-900D-00C04FD9189D */
  1728. 0xcf0f2f7c, 0xf7bf, 0x11d0, 0x90, 0xd, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0x9d);
  1729. extern RPC_IF_HANDLE __MIDL_itf_amstream_0409_v0_0_c_ifspec;
  1730. extern RPC_IF_HANDLE __MIDL_itf_amstream_0409_v0_0_s_ifspec;
  1731. /* Additional Prototypes for ALL interfaces */
  1732. unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
  1733. unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
  1734. unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
  1735. void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 
  1736. /* end of Additional Prototypes */
  1737. #ifdef __cplusplus
  1738. }
  1739. #endif
  1740. #endif