home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / include / amstream.h < prev    next >
C/C++ Source or Header  |  1998-04-25  |  80KB  |  2,325 lines

  1. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  2.  
  3.  
  4. /* File created by MIDL compiler version 3.02.88 */
  5. /* at Thu Nov 13 19:28:37 1997
  6.  */
  7. /* Compiler settings for amstream.idl:
  8.     Oicf (OptLev=i2), W1, Zp8, env=Win32, ms_ext, c_ext
  9.     error checks: none
  10. */
  11. //@@MIDL_FILE_HEADING(  )
  12. #include "rpc.h"
  13. #include "rpcndr.h"
  14. #ifndef COM_NO_WINDOWS_H
  15. #include "windows.h"
  16. #include "ole2.h"
  17. #endif /*COM_NO_WINDOWS_H*/
  18.  
  19. #ifndef __amstream_h__
  20. #define __amstream_h__
  21.  
  22. #ifdef __cplusplus
  23. extern "C"{
  24. #endif 
  25.  
  26. /* Forward Declarations */ 
  27.  
  28. #ifndef __IDirectShowStream_FWD_DEFINED__
  29. #define __IDirectShowStream_FWD_DEFINED__
  30. typedef interface IDirectShowStream IDirectShowStream;
  31. #endif     /* __IDirectShowStream_FWD_DEFINED__ */
  32.  
  33.  
  34. #ifndef __IAMMultiMediaStream_FWD_DEFINED__
  35. #define __IAMMultiMediaStream_FWD_DEFINED__
  36. typedef interface IAMMultiMediaStream IAMMultiMediaStream;
  37. #endif     /* __IAMMultiMediaStream_FWD_DEFINED__ */
  38.  
  39.  
  40. #ifndef __IAMMediaStream_FWD_DEFINED__
  41. #define __IAMMediaStream_FWD_DEFINED__
  42. typedef interface IAMMediaStream IAMMediaStream;
  43. #endif     /* __IAMMediaStream_FWD_DEFINED__ */
  44.  
  45.  
  46. #ifndef __IMediaStreamFilter_FWD_DEFINED__
  47. #define __IMediaStreamFilter_FWD_DEFINED__
  48. typedef interface IMediaStreamFilter IMediaStreamFilter;
  49. #endif     /* __IMediaStreamFilter_FWD_DEFINED__ */
  50.  
  51.  
  52. #ifndef __IDirectDrawMediaSampleAllocator_FWD_DEFINED__
  53. #define __IDirectDrawMediaSampleAllocator_FWD_DEFINED__
  54. typedef interface IDirectDrawMediaSampleAllocator IDirectDrawMediaSampleAllocator;
  55. #endif     /* __IDirectDrawMediaSampleAllocator_FWD_DEFINED__ */
  56.  
  57.  
  58. #ifndef __IDirectDrawMediaSample_FWD_DEFINED__
  59. #define __IDirectDrawMediaSample_FWD_DEFINED__
  60. typedef interface IDirectDrawMediaSample IDirectDrawMediaSample;
  61. #endif     /* __IDirectDrawMediaSample_FWD_DEFINED__ */
  62.  
  63.  
  64. #ifndef __IAMMediaTypeStream_FWD_DEFINED__
  65. #define __IAMMediaTypeStream_FWD_DEFINED__
  66. typedef interface IAMMediaTypeStream IAMMediaTypeStream;
  67. #endif     /* __IAMMediaTypeStream_FWD_DEFINED__ */
  68.  
  69.  
  70. #ifndef __IAMMediaTypeSample_FWD_DEFINED__
  71. #define __IAMMediaTypeSample_FWD_DEFINED__
  72. typedef interface IAMMediaTypeSample IAMMediaTypeSample;
  73. #endif     /* __IAMMediaTypeSample_FWD_DEFINED__ */
  74.  
  75.  
  76. #ifndef __AMMultiMediaStream_FWD_DEFINED__
  77. #define __AMMultiMediaStream_FWD_DEFINED__
  78.  
  79. #ifdef __cplusplus
  80. typedef class AMMultiMediaStream AMMultiMediaStream;
  81. #else
  82. typedef struct AMMultiMediaStream AMMultiMediaStream;
  83. #endif /* __cplusplus */
  84.  
  85. #endif     /* __AMMultiMediaStream_FWD_DEFINED__ */
  86.  
  87.  
  88. /* header files for imported files */
  89. #include "unknwn.h"
  90. #include "mmstream.h"
  91. #include "strmif.h"
  92.  
  93. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  94. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  95.  
  96. /****************************************
  97.  * Generated header for interface: __MIDL_itf_amstream_0000
  98.  * at Thu Nov 13 19:28:37 1997
  99.  * using MIDL 3.02.88
  100.  ****************************************/
  101. /* [local] */ 
  102.  
  103.  
  104. #include <ddraw.h>
  105. #include <mmstream.h>
  106. #include <ddstream.h>
  107. #include <austream.h>
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116. enum __MIDL___MIDL_itf_amstream_0000_0001
  117.     {    AMMSF_NOGRAPHTHREAD    = 0x1
  118.     };
  119.  
  120. enum __MIDL___MIDL_itf_amstream_0000_0002
  121.     {    AMMSF_ADDDEFAULTRENDERER    = 0x1,
  122.     AMMSF_CREATEPEER    = 0x2
  123.     };
  124.  
  125. enum __MIDL___MIDL_itf_amstream_0000_0003
  126.     {    AMMSF_RENDERTYPEMASK    = 0x3,
  127.     AMMSF_RENDERTOEXISTING    = 0,
  128.     AMMSF_RENDERALLSTREAMS    = 0x1,
  129.     AMMSF_NORENDER    = 0x2,
  130.     AMMSF_NOCLOCK    = 0x4,
  131.     AMMSF_RUN    = 0x8
  132.     };
  133. typedef /* [public][public][public][public][public][v1_enum] */ 
  134. enum __MIDL___MIDL_itf_amstream_0000_0004
  135.     {    Disabled    = 0,
  136.     ReadData    = 1,
  137.     RenderData    = 2
  138.     }    OUTPUT_STATE;
  139.  
  140.  
  141.  
  142. extern RPC_IF_HANDLE __MIDL_itf_amstream_0000_v0_0_c_ifspec;
  143. extern RPC_IF_HANDLE __MIDL_itf_amstream_0000_v0_0_s_ifspec;
  144.  
  145. #ifndef __IDirectShowStream_INTERFACE_DEFINED__
  146. #define __IDirectShowStream_INTERFACE_DEFINED__
  147.  
  148. /****************************************
  149.  * Generated header for interface: IDirectShowStream
  150.  * at Thu Nov 13 19:28:37 1997
  151.  * using MIDL 3.02.88
  152.  ****************************************/
  153. /* [unique][helpstring][dual][uuid][object] */ 
  154.  
  155.  
  156.  
  157. EXTERN_C const IID IID_IDirectShowStream;
  158.  
  159. #if defined(__cplusplus) && !defined(CINTERFACE)
  160.     
  161.     interface DECLSPEC_UUID("7DB01C96-C0C3-11d0-8FF1-00C04FD9189D")
  162.     IDirectShowStream : public IDispatch
  163.     {
  164.     public:
  165.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_FileName( 
  166.             /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
  167.         
  168.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_FileName( 
  169.             /* [in] */ BSTR newVal) = 0;
  170.         
  171.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Video( 
  172.             /* [retval][out] */ OUTPUT_STATE __RPC_FAR *pVal) = 0;
  173.         
  174.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Video( 
  175.             /* [in] */ OUTPUT_STATE newVal) = 0;
  176.         
  177.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Audio( 
  178.             /* [retval][out] */ OUTPUT_STATE __RPC_FAR *pVal) = 0;
  179.         
  180.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Audio( 
  181.             /* [in] */ OUTPUT_STATE newVal) = 0;
  182.         
  183.     };
  184.     
  185. #else     /* C style interface */
  186.  
  187.     typedef struct IDirectShowStreamVtbl
  188.     {
  189.         BEGIN_INTERFACE
  190.         
  191.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  192.             IDirectShowStream __RPC_FAR * This,
  193.             /* [in] */ REFIID riid,
  194.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  195.         
  196.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  197.             IDirectShowStream __RPC_FAR * This);
  198.         
  199.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  200.             IDirectShowStream __RPC_FAR * This);
  201.         
  202.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  203.             IDirectShowStream __RPC_FAR * This,
  204.             /* [out] */ UINT __RPC_FAR *pctinfo);
  205.         
  206.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  207.             IDirectShowStream __RPC_FAR * This,
  208.             /* [in] */ UINT iTInfo,
  209.             /* [in] */ LCID lcid,
  210.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  211.         
  212.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  213.             IDirectShowStream __RPC_FAR * This,
  214.             /* [in] */ REFIID riid,
  215.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  216.             /* [in] */ UINT cNames,
  217.             /* [in] */ LCID lcid,
  218.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  219.         
  220.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  221.             IDirectShowStream __RPC_FAR * This,
  222.             /* [in] */ DISPID dispIdMember,
  223.             /* [in] */ REFIID riid,
  224.             /* [in] */ LCID lcid,
  225.             /* [in] */ WORD wFlags,
  226.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  227.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  228.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  229.             /* [out] */ UINT __RPC_FAR *puArgErr);
  230.         
  231.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_FileName )( 
  232.             IDirectShowStream __RPC_FAR * This,
  233.             /* [retval][out] */ BSTR __RPC_FAR *pVal);
  234.         
  235.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_FileName )( 
  236.             IDirectShowStream __RPC_FAR * This,
  237.             /* [in] */ BSTR newVal);
  238.         
  239.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Video )( 
  240.             IDirectShowStream __RPC_FAR * This,
  241.             /* [retval][out] */ OUTPUT_STATE __RPC_FAR *pVal);
  242.         
  243.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Video )( 
  244.             IDirectShowStream __RPC_FAR * This,
  245.             /* [in] */ OUTPUT_STATE newVal);
  246.         
  247.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Audio )( 
  248.             IDirectShowStream __RPC_FAR * This,
  249.             /* [retval][out] */ OUTPUT_STATE __RPC_FAR *pVal);
  250.         
  251.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Audio )( 
  252.             IDirectShowStream __RPC_FAR * This,
  253.             /* [in] */ OUTPUT_STATE newVal);
  254.         
  255.         END_INTERFACE
  256.     } IDirectShowStreamVtbl;
  257.  
  258.     interface IDirectShowStream
  259.     {
  260.         CONST_VTBL struct IDirectShowStreamVtbl __RPC_FAR *lpVtbl;
  261.     };
  262.  
  263.     
  264.  
  265. #ifdef COBJMACROS
  266.  
  267.  
  268. #define IDirectShowStream_QueryInterface(This,riid,ppvObject)    \
  269.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  270.  
  271. #define IDirectShowStream_AddRef(This)    \
  272.     (This)->lpVtbl -> AddRef(This)
  273.  
  274. #define IDirectShowStream_Release(This)    \
  275.     (This)->lpVtbl -> Release(This)
  276.  
  277.  
  278. #define IDirectShowStream_GetTypeInfoCount(This,pctinfo)    \
  279.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  280.  
  281. #define IDirectShowStream_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  282.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  283.  
  284. #define IDirectShowStream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  285.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  286.  
  287. #define IDirectShowStream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  288.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  289.  
  290.  
  291. #define IDirectShowStream_get_FileName(This,pVal)    \
  292.     (This)->lpVtbl -> get_FileName(This,pVal)
  293.  
  294. #define IDirectShowStream_put_FileName(This,newVal)    \
  295.     (This)->lpVtbl -> put_FileName(This,newVal)
  296.  
  297. #define IDirectShowStream_get_Video(This,pVal)    \
  298.     (This)->lpVtbl -> get_Video(This,pVal)
  299.  
  300. #define IDirectShowStream_put_Video(This,newVal)    \
  301.     (This)->lpVtbl -> put_Video(This,newVal)
  302.  
  303. #define IDirectShowStream_get_Audio(This,pVal)    \
  304.     (This)->lpVtbl -> get_Audio(This,pVal)
  305.  
  306. #define IDirectShowStream_put_Audio(This,newVal)    \
  307.     (This)->lpVtbl -> put_Audio(This,newVal)
  308.  
  309. #endif /* COBJMACROS */
  310.  
  311.  
  312. #endif     /* C style interface */
  313.  
  314.  
  315.  
  316. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IDirectShowStream_get_FileName_Proxy( 
  317.     IDirectShowStream __RPC_FAR * This,
  318.     /* [retval][out] */ BSTR __RPC_FAR *pVal);
  319.  
  320.  
  321. void __RPC_STUB IDirectShowStream_get_FileName_Stub(
  322.     IRpcStubBuffer *This,
  323.     IRpcChannelBuffer *_pRpcChannelBuffer,
  324.     PRPC_MESSAGE _pRpcMessage,
  325.     DWORD *_pdwStubPhase);
  326.  
  327.  
  328. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IDirectShowStream_put_FileName_Proxy( 
  329.     IDirectShowStream __RPC_FAR * This,
  330.     /* [in] */ BSTR newVal);
  331.  
  332.  
  333. void __RPC_STUB IDirectShowStream_put_FileName_Stub(
  334.     IRpcStubBuffer *This,
  335.     IRpcChannelBuffer *_pRpcChannelBuffer,
  336.     PRPC_MESSAGE _pRpcMessage,
  337.     DWORD *_pdwStubPhase);
  338.  
  339.  
  340. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IDirectShowStream_get_Video_Proxy( 
  341.     IDirectShowStream __RPC_FAR * This,
  342.     /* [retval][out] */ OUTPUT_STATE __RPC_FAR *pVal);
  343.  
  344.  
  345. void __RPC_STUB IDirectShowStream_get_Video_Stub(
  346.     IRpcStubBuffer *This,
  347.     IRpcChannelBuffer *_pRpcChannelBuffer,
  348.     PRPC_MESSAGE _pRpcMessage,
  349.     DWORD *_pdwStubPhase);
  350.  
  351.  
  352. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IDirectShowStream_put_Video_Proxy( 
  353.     IDirectShowStream __RPC_FAR * This,
  354.     /* [in] */ OUTPUT_STATE newVal);
  355.  
  356.  
  357. void __RPC_STUB IDirectShowStream_put_Video_Stub(
  358.     IRpcStubBuffer *This,
  359.     IRpcChannelBuffer *_pRpcChannelBuffer,
  360.     PRPC_MESSAGE _pRpcMessage,
  361.     DWORD *_pdwStubPhase);
  362.  
  363.  
  364. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IDirectShowStream_get_Audio_Proxy( 
  365.     IDirectShowStream __RPC_FAR * This,
  366.     /* [retval][out] */ OUTPUT_STATE __RPC_FAR *pVal);
  367.  
  368.  
  369. void __RPC_STUB IDirectShowStream_get_Audio_Stub(
  370.     IRpcStubBuffer *This,
  371.     IRpcChannelBuffer *_pRpcChannelBuffer,
  372.     PRPC_MESSAGE _pRpcMessage,
  373.     DWORD *_pdwStubPhase);
  374.  
  375.  
  376. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IDirectShowStream_put_Audio_Proxy( 
  377.     IDirectShowStream __RPC_FAR * This,
  378.     /* [in] */ OUTPUT_STATE newVal);
  379.  
  380.  
  381. void __RPC_STUB IDirectShowStream_put_Audio_Stub(
  382.     IRpcStubBuffer *This,
  383.     IRpcChannelBuffer *_pRpcChannelBuffer,
  384.     PRPC_MESSAGE _pRpcMessage,
  385.     DWORD *_pdwStubPhase);
  386.  
  387.  
  388.  
  389. #endif     /* __IDirectShowStream_INTERFACE_DEFINED__ */
  390.  
  391.  
  392. #ifndef __IAMMultiMediaStream_INTERFACE_DEFINED__
  393. #define __IAMMultiMediaStream_INTERFACE_DEFINED__
  394.  
  395. /****************************************
  396.  * Generated header for interface: IAMMultiMediaStream
  397.  * at Thu Nov 13 19:28:37 1997
  398.  * using MIDL 3.02.88
  399.  ****************************************/
  400. /* [unique][uuid][object] */ 
  401.  
  402.  
  403.  
  404. EXTERN_C const IID IID_IAMMultiMediaStream;
  405.  
  406. #if defined(__cplusplus) && !defined(CINTERFACE)
  407.     
  408.     interface DECLSPEC_UUID("BEBE595C-9A6F-11d0-8FDE-00C04FD9189D")
  409.     IAMMultiMediaStream : public IMultiMediaStream
  410.     {
  411.     public:
  412.         virtual HRESULT STDMETHODCALLTYPE Initialize( 
  413.             /* [in] */ STREAM_TYPE StreamType,
  414.             /* [in] */ DWORD dwFlags,
  415.             /* [optional][in] */ IGraphBuilder __RPC_FAR *pFilterGraph) = 0;
  416.         
  417.         virtual HRESULT STDMETHODCALLTYPE GetFilterGraph( 
  418.             /* [out] */ IGraphBuilder __RPC_FAR *__RPC_FAR *ppGraphBuilder) = 0;
  419.         
  420.         virtual HRESULT STDMETHODCALLTYPE GetFilter( 
  421.             /* [out] */ IMediaStreamFilter __RPC_FAR *__RPC_FAR *ppFilter) = 0;
  422.         
  423.         virtual HRESULT STDMETHODCALLTYPE AddMediaStream( 
  424.             /* [optional][in] */ IUnknown __RPC_FAR *pStreamObject,
  425.             /* [optional][in] */ const MSPID __RPC_FAR *PurposeId,
  426.             /* [in] */ DWORD dwFlags,
  427.             /* [optional][out] */ IMediaStream __RPC_FAR *__RPC_FAR *ppNewStream) = 0;
  428.         
  429.         virtual HRESULT STDMETHODCALLTYPE OpenFile( 
  430.             /* [in] */ LPCWSTR pszFileName,
  431.             /* [in] */ DWORD dwFlags) = 0;
  432.         
  433.         virtual HRESULT STDMETHODCALLTYPE OpenMoniker( 
  434.             /* [in] */ IBindCtx __RPC_FAR *pCtx,
  435.             /* [in] */ IMoniker __RPC_FAR *pMoniker,
  436.             /* [in] */ DWORD dwFlags) = 0;
  437.         
  438.         virtual HRESULT STDMETHODCALLTYPE Render( 
  439.             /* [in] */ DWORD dwFlags) = 0;
  440.         
  441.     };
  442.     
  443. #else     /* C style interface */
  444.  
  445.     typedef struct IAMMultiMediaStreamVtbl
  446.     {
  447.         BEGIN_INTERFACE
  448.         
  449.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  450.             IAMMultiMediaStream __RPC_FAR * This,
  451.             /* [in] */ REFIID riid,
  452.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  453.         
  454.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  455.             IAMMultiMediaStream __RPC_FAR * This);
  456.         
  457.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  458.             IAMMultiMediaStream __RPC_FAR * This);
  459.         
  460.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetInformation )( 
  461.             IAMMultiMediaStream __RPC_FAR * This,
  462.             /* [optional][out] */ DWORD __RPC_FAR *pdwFlags,
  463.             /* [optional][out] */ STREAM_TYPE __RPC_FAR *pStreamType);
  464.         
  465.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMediaStream )( 
  466.             IAMMultiMediaStream __RPC_FAR * This,
  467.             /* [in] */ REFMSPID idPurpose,
  468.             /* [out] */ IMediaStream __RPC_FAR *__RPC_FAR *ppMediaStream);
  469.         
  470.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumMediaStreams )( 
  471.             IAMMultiMediaStream __RPC_FAR * This,
  472.             /* [in] */ long Index,
  473.             /* [out] */ IMediaStream __RPC_FAR *__RPC_FAR *ppMediaStream);
  474.         
  475.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetState )( 
  476.             IAMMultiMediaStream __RPC_FAR * This,
  477.             /* [out] */ STREAM_STATE __RPC_FAR *pCurrentState);
  478.         
  479.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetState )( 
  480.             IAMMultiMediaStream __RPC_FAR * This,
  481.             /* [in] */ STREAM_STATE NewState);
  482.         
  483.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTime )( 
  484.             IAMMultiMediaStream __RPC_FAR * This,
  485.             /* [out] */ STREAM_TIME __RPC_FAR *pCurrentTime);
  486.         
  487.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDuration )( 
  488.             IAMMultiMediaStream __RPC_FAR * This,
  489.             /* [out] */ STREAM_TIME __RPC_FAR *pDuration);
  490.         
  491.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Seek )( 
  492.             IAMMultiMediaStream __RPC_FAR * This,
  493.             /* [in] */ STREAM_TIME SeekTime);
  494.         
  495.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetEndOfStreamEventHandle )( 
  496.             IAMMultiMediaStream __RPC_FAR * This,
  497.             /* [out] */ HANDLE __RPC_FAR *phEOS);
  498.         
  499.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Initialize )( 
  500.             IAMMultiMediaStream __RPC_FAR * This,
  501.             /* [in] */ STREAM_TYPE StreamType,
  502.             /* [in] */ DWORD dwFlags,
  503.             /* [optional][in] */ IGraphBuilder __RPC_FAR *pFilterGraph);
  504.         
  505.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFilterGraph )( 
  506.             IAMMultiMediaStream __RPC_FAR * This,
  507.             /* [out] */ IGraphBuilder __RPC_FAR *__RPC_FAR *ppGraphBuilder);
  508.         
  509.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFilter )( 
  510.             IAMMultiMediaStream __RPC_FAR * This,
  511.             /* [out] */ IMediaStreamFilter __RPC_FAR *__RPC_FAR *ppFilter);
  512.         
  513.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddMediaStream )( 
  514.             IAMMultiMediaStream __RPC_FAR * This,
  515.             /* [optional][in] */ IUnknown __RPC_FAR *pStreamObject,
  516.             /* [optional][in] */ const MSPID __RPC_FAR *PurposeId,
  517.             /* [in] */ DWORD dwFlags,
  518.             /* [optional][out] */ IMediaStream __RPC_FAR *__RPC_FAR *ppNewStream);
  519.         
  520.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenFile )( 
  521.             IAMMultiMediaStream __RPC_FAR * This,
  522.             /* [in] */ LPCWSTR pszFileName,
  523.             /* [in] */ DWORD dwFlags);
  524.         
  525.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenMoniker )( 
  526.             IAMMultiMediaStream __RPC_FAR * This,
  527.             /* [in] */ IBindCtx __RPC_FAR *pCtx,
  528.             /* [in] */ IMoniker __RPC_FAR *pMoniker,
  529.             /* [in] */ DWORD dwFlags);
  530.         
  531.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Render )( 
  532.             IAMMultiMediaStream __RPC_FAR * This,
  533.             /* [in] */ DWORD dwFlags);
  534.         
  535.         END_INTERFACE
  536.     } IAMMultiMediaStreamVtbl;
  537.  
  538.     interface IAMMultiMediaStream
  539.     {
  540.         CONST_VTBL struct IAMMultiMediaStreamVtbl __RPC_FAR *lpVtbl;
  541.     };
  542.  
  543.     
  544.  
  545. #ifdef COBJMACROS
  546.  
  547.  
  548. #define IAMMultiMediaStream_QueryInterface(This,riid,ppvObject)    \
  549.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  550.  
  551. #define IAMMultiMediaStream_AddRef(This)    \
  552.     (This)->lpVtbl -> AddRef(This)
  553.  
  554. #define IAMMultiMediaStream_Release(This)    \
  555.     (This)->lpVtbl -> Release(This)
  556.  
  557.  
  558. #define IAMMultiMediaStream_GetInformation(This,pdwFlags,pStreamType)    \
  559.     (This)->lpVtbl -> GetInformation(This,pdwFlags,pStreamType)
  560.  
  561. #define IAMMultiMediaStream_GetMediaStream(This,idPurpose,ppMediaStream)    \
  562.     (This)->lpVtbl -> GetMediaStream(This,idPurpose,ppMediaStream)
  563.  
  564. #define IAMMultiMediaStream_EnumMediaStreams(This,Index,ppMediaStream)    \
  565.     (This)->lpVtbl -> EnumMediaStreams(This,Index,ppMediaStream)
  566.  
  567. #define IAMMultiMediaStream_GetState(This,pCurrentState)    \
  568.     (This)->lpVtbl -> GetState(This,pCurrentState)
  569.  
  570. #define IAMMultiMediaStream_SetState(This,NewState)    \
  571.     (This)->lpVtbl -> SetState(This,NewState)
  572.  
  573. #define IAMMultiMediaStream_GetTime(This,pCurrentTime)    \
  574.     (This)->lpVtbl -> GetTime(This,pCurrentTime)
  575.  
  576. #define IAMMultiMediaStream_GetDuration(This,pDuration)    \
  577.     (This)->lpVtbl -> GetDuration(This,pDuration)
  578.  
  579. #define IAMMultiMediaStream_Seek(This,SeekTime)    \
  580.     (This)->lpVtbl -> Seek(This,SeekTime)
  581.  
  582. #define IAMMultiMediaStream_GetEndOfStreamEventHandle(This,phEOS)    \
  583.     (This)->lpVtbl -> GetEndOfStreamEventHandle(This,phEOS)
  584.  
  585.  
  586. #define IAMMultiMediaStream_Initialize(This,StreamType,dwFlags,pFilterGraph)    \
  587.     (This)->lpVtbl -> Initialize(This,StreamType,dwFlags,pFilterGraph)
  588.  
  589. #define IAMMultiMediaStream_GetFilterGraph(This,ppGraphBuilder)    \
  590.     (This)->lpVtbl -> GetFilterGraph(This,ppGraphBuilder)
  591.  
  592. #define IAMMultiMediaStream_GetFilter(This,ppFilter)    \
  593.     (This)->lpVtbl -> GetFilter(This,ppFilter)
  594.  
  595. #define IAMMultiMediaStream_AddMediaStream(This,pStreamObject,PurposeId,dwFlags,ppNewStream)    \
  596.     (This)->lpVtbl -> AddMediaStream(This,pStreamObject,PurposeId,dwFlags,ppNewStream)
  597.  
  598. #define IAMMultiMediaStream_OpenFile(This,pszFileName,dwFlags)    \
  599.     (This)->lpVtbl -> OpenFile(This,pszFileName,dwFlags)
  600.  
  601. #define IAMMultiMediaStream_OpenMoniker(This,pCtx,pMoniker,dwFlags)    \
  602.     (This)->lpVtbl -> OpenMoniker(This,pCtx,pMoniker,dwFlags)
  603.  
  604. #define IAMMultiMediaStream_Render(This,dwFlags)    \
  605.     (This)->lpVtbl -> Render(This,dwFlags)
  606.  
  607. #endif /* COBJMACROS */
  608.  
  609.  
  610. #endif     /* C style interface */
  611.  
  612.  
  613.  
  614. HRESULT STDMETHODCALLTYPE IAMMultiMediaStream_Initialize_Proxy( 
  615.     IAMMultiMediaStream __RPC_FAR * This,
  616.     /* [in] */ STREAM_TYPE StreamType,
  617.     /* [in] */ DWORD dwFlags,
  618.     /* [optional][in] */ IGraphBuilder __RPC_FAR *pFilterGraph);
  619.  
  620.  
  621. void __RPC_STUB IAMMultiMediaStream_Initialize_Stub(
  622.     IRpcStubBuffer *This,
  623.     IRpcChannelBuffer *_pRpcChannelBuffer,
  624.     PRPC_MESSAGE _pRpcMessage,
  625.     DWORD *_pdwStubPhase);
  626.  
  627.  
  628. HRESULT STDMETHODCALLTYPE IAMMultiMediaStream_GetFilterGraph_Proxy( 
  629.     IAMMultiMediaStream __RPC_FAR * This,
  630.     /* [out] */ IGraphBuilder __RPC_FAR *__RPC_FAR *ppGraphBuilder);
  631.  
  632.  
  633. void __RPC_STUB IAMMultiMediaStream_GetFilterGraph_Stub(
  634.     IRpcStubBuffer *This,
  635.     IRpcChannelBuffer *_pRpcChannelBuffer,
  636.     PRPC_MESSAGE _pRpcMessage,
  637.     DWORD *_pdwStubPhase);
  638.  
  639.  
  640. HRESULT STDMETHODCALLTYPE IAMMultiMediaStream_GetFilter_Proxy( 
  641.     IAMMultiMediaStream __RPC_FAR * This,
  642.     /* [out] */ IMediaStreamFilter __RPC_FAR *__RPC_FAR *ppFilter);
  643.  
  644.  
  645. void __RPC_STUB IAMMultiMediaStream_GetFilter_Stub(
  646.     IRpcStubBuffer *This,
  647.     IRpcChannelBuffer *_pRpcChannelBuffer,
  648.     PRPC_MESSAGE _pRpcMessage,
  649.     DWORD *_pdwStubPhase);
  650.  
  651.  
  652. HRESULT STDMETHODCALLTYPE IAMMultiMediaStream_AddMediaStream_Proxy( 
  653.     IAMMultiMediaStream __RPC_FAR * This,
  654.     /* [optional][in] */ IUnknown __RPC_FAR *pStreamObject,
  655.     /* [optional][in] */ const MSPID __RPC_FAR *PurposeId,
  656.     /* [in] */ DWORD dwFlags,
  657.     /* [optional][out] */ IMediaStream __RPC_FAR *__RPC_FAR *ppNewStream);
  658.  
  659.  
  660. void __RPC_STUB IAMMultiMediaStream_AddMediaStream_Stub(
  661.     IRpcStubBuffer *This,
  662.     IRpcChannelBuffer *_pRpcChannelBuffer,
  663.     PRPC_MESSAGE _pRpcMessage,
  664.     DWORD *_pdwStubPhase);
  665.  
  666.  
  667. HRESULT STDMETHODCALLTYPE IAMMultiMediaStream_OpenFile_Proxy( 
  668.     IAMMultiMediaStream __RPC_FAR * This,
  669.     /* [in] */ LPCWSTR pszFileName,
  670.     /* [in] */ DWORD dwFlags);
  671.  
  672.  
  673. void __RPC_STUB IAMMultiMediaStream_OpenFile_Stub(
  674.     IRpcStubBuffer *This,
  675.     IRpcChannelBuffer *_pRpcChannelBuffer,
  676.     PRPC_MESSAGE _pRpcMessage,
  677.     DWORD *_pdwStubPhase);
  678.  
  679.  
  680. HRESULT STDMETHODCALLTYPE IAMMultiMediaStream_OpenMoniker_Proxy( 
  681.     IAMMultiMediaStream __RPC_FAR * This,
  682.     /* [in] */ IBindCtx __RPC_FAR *pCtx,
  683.     /* [in] */ IMoniker __RPC_FAR *pMoniker,
  684.     /* [in] */ DWORD dwFlags);
  685.  
  686.  
  687. void __RPC_STUB IAMMultiMediaStream_OpenMoniker_Stub(
  688.     IRpcStubBuffer *This,
  689.     IRpcChannelBuffer *_pRpcChannelBuffer,
  690.     PRPC_MESSAGE _pRpcMessage,
  691.     DWORD *_pdwStubPhase);
  692.  
  693.  
  694. HRESULT STDMETHODCALLTYPE IAMMultiMediaStream_Render_Proxy( 
  695.     IAMMultiMediaStream __RPC_FAR * This,
  696.     /* [in] */ DWORD dwFlags);
  697.  
  698.  
  699. void __RPC_STUB IAMMultiMediaStream_Render_Stub(
  700.     IRpcStubBuffer *This,
  701.     IRpcChannelBuffer *_pRpcChannelBuffer,
  702.     PRPC_MESSAGE _pRpcMessage,
  703.     DWORD *_pdwStubPhase);
  704.  
  705.  
  706.  
  707. #endif     /* __IAMMultiMediaStream_INTERFACE_DEFINED__ */
  708.  
  709.  
  710. #ifndef __IAMMediaStream_INTERFACE_DEFINED__
  711. #define __IAMMediaStream_INTERFACE_DEFINED__
  712.  
  713. /****************************************
  714.  * Generated header for interface: IAMMediaStream
  715.  * at Thu Nov 13 19:28:37 1997
  716.  * using MIDL 3.02.88
  717.  ****************************************/
  718. /* [unique][uuid][object] */ 
  719.  
  720.  
  721.  
  722. EXTERN_C const IID IID_IAMMediaStream;
  723.  
  724. #if defined(__cplusplus) && !defined(CINTERFACE)
  725.     
  726.     interface DECLSPEC_UUID("BEBE595D-9A6F-11d0-8FDE-00C04FD9189D")
  727.     IAMMediaStream : public IMediaStream
  728.     {
  729.     public:
  730.         virtual HRESULT STDMETHODCALLTYPE Initialize( 
  731.             /* [optional][in] */ IUnknown __RPC_FAR *pSourceObject,
  732.             /* [in] */ DWORD dwFlags,
  733.             /* [in] */ REFMSPID PurposeId,
  734.             /* [in] */ const STREAM_TYPE StreamType) = 0;
  735.         
  736.         virtual HRESULT STDMETHODCALLTYPE SetState( 
  737.             /* [in] */ FILTER_STATE State) = 0;
  738.         
  739.         virtual HRESULT STDMETHODCALLTYPE JoinAMMultiMediaStream( 
  740.             /* [in] */ IAMMultiMediaStream __RPC_FAR *pAMMultiMediaStream) = 0;
  741.         
  742.         virtual HRESULT STDMETHODCALLTYPE JoinFilter( 
  743.             /* [in] */ IMediaStreamFilter __RPC_FAR *pMediaStreamFilter) = 0;
  744.         
  745.         virtual HRESULT STDMETHODCALLTYPE JoinFilterGraph( 
  746.             /* [in] */ IFilterGraph __RPC_FAR *pFilterGraph) = 0;
  747.         
  748.     };
  749.     
  750. #else     /* C style interface */
  751.  
  752.     typedef struct IAMMediaStreamVtbl
  753.     {
  754.         BEGIN_INTERFACE
  755.         
  756.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  757.             IAMMediaStream __RPC_FAR * This,
  758.             /* [in] */ REFIID riid,
  759.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  760.         
  761.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  762.             IAMMediaStream __RPC_FAR * This);
  763.         
  764.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  765.             IAMMediaStream __RPC_FAR * This);
  766.         
  767.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMultiMediaStream )( 
  768.             IAMMediaStream __RPC_FAR * This,
  769.             /* [out] */ IMultiMediaStream __RPC_FAR *__RPC_FAR *ppMultiMediaStream);
  770.         
  771.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetInformation )( 
  772.             IAMMediaStream __RPC_FAR * This,
  773.             /* [optional][out] */ MSPID __RPC_FAR *pPurposeId,
  774.             /* [optional][out] */ STREAM_TYPE __RPC_FAR *pType);
  775.         
  776.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSameFormat )( 
  777.             IAMMediaStream __RPC_FAR * This,
  778.             /* [in] */ IMediaStream __RPC_FAR *pStreamThatHasDesiredFormat,
  779.             /* [in] */ DWORD dwFlags);
  780.         
  781.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AllocateSample )( 
  782.             IAMMediaStream __RPC_FAR * This,
  783.             /* [in] */ DWORD dwFlags,
  784.             /* [out] */ IStreamSample __RPC_FAR *__RPC_FAR *ppSample);
  785.         
  786.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateSharedSample )( 
  787.             IAMMediaStream __RPC_FAR * This,
  788.             /* [in] */ IStreamSample __RPC_FAR *pExistingSample,
  789.             /* [in] */ DWORD dwFlags,
  790.             /* [out] */ IStreamSample __RPC_FAR *__RPC_FAR *ppNewSample);
  791.         
  792.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SendEndOfStream )( 
  793.             IAMMediaStream __RPC_FAR * This,
  794.             DWORD dwFlags);
  795.         
  796.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Initialize )( 
  797.             IAMMediaStream __RPC_FAR * This,
  798.             /* [optional][in] */ IUnknown __RPC_FAR *pSourceObject,
  799.             /* [in] */ DWORD dwFlags,
  800.             /* [in] */ REFMSPID PurposeId,
  801.             /* [in] */ const STREAM_TYPE StreamType);
  802.         
  803.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetState )( 
  804.             IAMMediaStream __RPC_FAR * This,
  805.             /* [in] */ FILTER_STATE State);
  806.         
  807.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *JoinAMMultiMediaStream )( 
  808.             IAMMediaStream __RPC_FAR * This,
  809.             /* [in] */ IAMMultiMediaStream __RPC_FAR *pAMMultiMediaStream);
  810.         
  811.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *JoinFilter )( 
  812.             IAMMediaStream __RPC_FAR * This,
  813.             /* [in] */ IMediaStreamFilter __RPC_FAR *pMediaStreamFilter);
  814.         
  815.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *JoinFilterGraph )( 
  816.             IAMMediaStream __RPC_FAR * This,
  817.             /* [in] */ IFilterGraph __RPC_FAR *pFilterGraph);
  818.         
  819.         END_INTERFACE
  820.     } IAMMediaStreamVtbl;
  821.  
  822.     interface IAMMediaStream
  823.     {
  824.         CONST_VTBL struct IAMMediaStreamVtbl __RPC_FAR *lpVtbl;
  825.     };
  826.  
  827.     
  828.  
  829. #ifdef COBJMACROS
  830.  
  831.  
  832. #define IAMMediaStream_QueryInterface(This,riid,ppvObject)    \
  833.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  834.  
  835. #define IAMMediaStream_AddRef(This)    \
  836.     (This)->lpVtbl -> AddRef(This)
  837.  
  838. #define IAMMediaStream_Release(This)    \
  839.     (This)->lpVtbl -> Release(This)
  840.  
  841.  
  842. #define IAMMediaStream_GetMultiMediaStream(This,ppMultiMediaStream)    \
  843.     (This)->lpVtbl -> GetMultiMediaStream(This,ppMultiMediaStream)
  844.  
  845. #define IAMMediaStream_GetInformation(This,pPurposeId,pType)    \
  846.     (This)->lpVtbl -> GetInformation(This,pPurposeId,pType)
  847.  
  848. #define IAMMediaStream_SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags)    \
  849.     (This)->lpVtbl -> SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags)
  850.  
  851. #define IAMMediaStream_AllocateSample(This,dwFlags,ppSample)    \
  852.     (This)->lpVtbl -> AllocateSample(This,dwFlags,ppSample)
  853.  
  854. #define IAMMediaStream_CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample)    \
  855.     (This)->lpVtbl -> CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample)
  856.  
  857. #define IAMMediaStream_SendEndOfStream(This,dwFlags)    \
  858.     (This)->lpVtbl -> SendEndOfStream(This,dwFlags)
  859.  
  860.  
  861. #define IAMMediaStream_Initialize(This,pSourceObject,dwFlags,PurposeId,StreamType)    \
  862.     (This)->lpVtbl -> Initialize(This,pSourceObject,dwFlags,PurposeId,StreamType)
  863.  
  864. #define IAMMediaStream_SetState(This,State)    \
  865.     (This)->lpVtbl -> SetState(This,State)
  866.  
  867. #define IAMMediaStream_JoinAMMultiMediaStream(This,pAMMultiMediaStream)    \
  868.     (This)->lpVtbl -> JoinAMMultiMediaStream(This,pAMMultiMediaStream)
  869.  
  870. #define IAMMediaStream_JoinFilter(This,pMediaStreamFilter)    \
  871.     (This)->lpVtbl -> JoinFilter(This,pMediaStreamFilter)
  872.  
  873. #define IAMMediaStream_JoinFilterGraph(This,pFilterGraph)    \
  874.     (This)->lpVtbl -> JoinFilterGraph(This,pFilterGraph)
  875.  
  876. #endif /* COBJMACROS */
  877.  
  878.  
  879. #endif     /* C style interface */
  880.  
  881.  
  882.  
  883. HRESULT STDMETHODCALLTYPE IAMMediaStream_Initialize_Proxy( 
  884.     IAMMediaStream __RPC_FAR * This,
  885.     /* [optional][in] */ IUnknown __RPC_FAR *pSourceObject,
  886.     /* [in] */ DWORD dwFlags,
  887.     /* [in] */ REFMSPID PurposeId,
  888.     /* [in] */ const STREAM_TYPE StreamType);
  889.  
  890.  
  891. void __RPC_STUB IAMMediaStream_Initialize_Stub(
  892.     IRpcStubBuffer *This,
  893.     IRpcChannelBuffer *_pRpcChannelBuffer,
  894.     PRPC_MESSAGE _pRpcMessage,
  895.     DWORD *_pdwStubPhase);
  896.  
  897.  
  898. HRESULT STDMETHODCALLTYPE IAMMediaStream_SetState_Proxy( 
  899.     IAMMediaStream __RPC_FAR * This,
  900.     /* [in] */ FILTER_STATE State);
  901.  
  902.  
  903. void __RPC_STUB IAMMediaStream_SetState_Stub(
  904.     IRpcStubBuffer *This,
  905.     IRpcChannelBuffer *_pRpcChannelBuffer,
  906.     PRPC_MESSAGE _pRpcMessage,
  907.     DWORD *_pdwStubPhase);
  908.  
  909.  
  910. HRESULT STDMETHODCALLTYPE IAMMediaStream_JoinAMMultiMediaStream_Proxy( 
  911.     IAMMediaStream __RPC_FAR * This,
  912.     /* [in] */ IAMMultiMediaStream __RPC_FAR *pAMMultiMediaStream);
  913.  
  914.  
  915. void __RPC_STUB IAMMediaStream_JoinAMMultiMediaStream_Stub(
  916.     IRpcStubBuffer *This,
  917.     IRpcChannelBuffer *_pRpcChannelBuffer,
  918.     PRPC_MESSAGE _pRpcMessage,
  919.     DWORD *_pdwStubPhase);
  920.  
  921.  
  922. HRESULT STDMETHODCALLTYPE IAMMediaStream_JoinFilter_Proxy( 
  923.     IAMMediaStream __RPC_FAR * This,
  924.     /* [in] */ IMediaStreamFilter __RPC_FAR *pMediaStreamFilter);
  925.  
  926.  
  927. void __RPC_STUB IAMMediaStream_JoinFilter_Stub(
  928.     IRpcStubBuffer *This,
  929.     IRpcChannelBuffer *_pRpcChannelBuffer,
  930.     PRPC_MESSAGE _pRpcMessage,
  931.     DWORD *_pdwStubPhase);
  932.  
  933.  
  934. HRESULT STDMETHODCALLTYPE IAMMediaStream_JoinFilterGraph_Proxy( 
  935.     IAMMediaStream __RPC_FAR * This,
  936.     /* [in] */ IFilterGraph __RPC_FAR *pFilterGraph);
  937.  
  938.  
  939. void __RPC_STUB IAMMediaStream_JoinFilterGraph_Stub(
  940.     IRpcStubBuffer *This,
  941.     IRpcChannelBuffer *_pRpcChannelBuffer,
  942.     PRPC_MESSAGE _pRpcMessage,
  943.     DWORD *_pdwStubPhase);
  944.  
  945.  
  946.  
  947. #endif     /* __IAMMediaStream_INTERFACE_DEFINED__ */
  948.  
  949.  
  950. #ifndef __IMediaStreamFilter_INTERFACE_DEFINED__
  951. #define __IMediaStreamFilter_INTERFACE_DEFINED__
  952.  
  953. /****************************************
  954.  * Generated header for interface: IMediaStreamFilter
  955.  * at Thu Nov 13 19:28:37 1997
  956.  * using MIDL 3.02.88
  957.  ****************************************/
  958. /* [unique][uuid][local][object] */ 
  959.  
  960.  
  961.  
  962. EXTERN_C const IID IID_IMediaStreamFilter;
  963.  
  964. #if defined(__cplusplus) && !defined(CINTERFACE)
  965.     
  966.     interface DECLSPEC_UUID("BEBE595E-9A6F-11d0-8FDE-00C04FD9189D")
  967.     IMediaStreamFilter : public IBaseFilter
  968.     {
  969.     public:
  970.         virtual HRESULT STDMETHODCALLTYPE AddMediaStream( 
  971.             /* [in] */ IAMMediaStream __RPC_FAR *pAMMediaStream) = 0;
  972.         
  973.         virtual HRESULT STDMETHODCALLTYPE GetMediaStream( 
  974.             /* [in] */ REFMSPID idPurpose,
  975.             /* [out] */ IMediaStream __RPC_FAR *__RPC_FAR *ppMediaStream) = 0;
  976.         
  977.         virtual HRESULT STDMETHODCALLTYPE EnumMediaStreams( 
  978.             /* [in] */ long Index,
  979.             /* [out] */ IMediaStream __RPC_FAR *__RPC_FAR *ppMediaStream) = 0;
  980.         
  981.         virtual HRESULT STDMETHODCALLTYPE SupportSeeking( 
  982.             /* [in] */ BOOL bRenderer) = 0;
  983.         
  984.         virtual HRESULT STDMETHODCALLTYPE ReferenceTimeToStreamTime( 
  985.             /* [out][in] */ REFERENCE_TIME __RPC_FAR *pTime) = 0;
  986.         
  987.         virtual HRESULT STDMETHODCALLTYPE GetCurrentStreamTime( 
  988.             /* [out] */ REFERENCE_TIME __RPC_FAR *pCurrentStreamTime) = 0;
  989.         
  990.         virtual HRESULT STDMETHODCALLTYPE WaitUntil( 
  991.             /* [in] */ REFERENCE_TIME WaitStreamTime) = 0;
  992.         
  993.         virtual HRESULT STDMETHODCALLTYPE Flush( 
  994.             /* [in] */ BOOL bCancelEOS) = 0;
  995.         
  996.         virtual HRESULT STDMETHODCALLTYPE EndOfStream( void) = 0;
  997.         
  998.     };
  999.     
  1000. #else     /* C style interface */
  1001.  
  1002.     typedef struct IMediaStreamFilterVtbl
  1003.     {
  1004.         BEGIN_INTERFACE
  1005.         
  1006.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1007.             IMediaStreamFilter __RPC_FAR * This,
  1008.             /* [in] */ REFIID riid,
  1009.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1010.         
  1011.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1012.             IMediaStreamFilter __RPC_FAR * This);
  1013.         
  1014.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1015.             IMediaStreamFilter __RPC_FAR * This);
  1016.         
  1017.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetClassID )( 
  1018.             IMediaStreamFilter __RPC_FAR * This,
  1019.             /* [out] */ CLSID __RPC_FAR *pClassID);
  1020.         
  1021.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Stop )( 
  1022.             IMediaStreamFilter __RPC_FAR * This);
  1023.         
  1024.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Pause )( 
  1025.             IMediaStreamFilter __RPC_FAR * This);
  1026.         
  1027.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Run )( 
  1028.             IMediaStreamFilter __RPC_FAR * This,
  1029.             REFERENCE_TIME tStart);
  1030.         
  1031.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetState )( 
  1032.             IMediaStreamFilter __RPC_FAR * This,
  1033.             /* [in] */ DWORD dwMilliSecsTimeout,
  1034.             /* [out] */ FILTER_STATE __RPC_FAR *State);
  1035.         
  1036.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSyncSource )( 
  1037.             IMediaStreamFilter __RPC_FAR * This,
  1038.             /* [in] */ IReferenceClock __RPC_FAR *pClock);
  1039.         
  1040.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSyncSource )( 
  1041.             IMediaStreamFilter __RPC_FAR * This,
  1042.             /* [out] */ IReferenceClock __RPC_FAR *__RPC_FAR *pClock);
  1043.         
  1044.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumPins )( 
  1045.             IMediaStreamFilter __RPC_FAR * This,
  1046.             /* [out] */ IEnumPins __RPC_FAR *__RPC_FAR *ppEnum);
  1047.         
  1048.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindPin )( 
  1049.             IMediaStreamFilter __RPC_FAR * This,
  1050.             /* [string][in] */ LPCWSTR Id,
  1051.             /* [out] */ IPin __RPC_FAR *__RPC_FAR *ppPin);
  1052.         
  1053.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryFilterInfo )( 
  1054.             IMediaStreamFilter __RPC_FAR * This,
  1055.             /* [out] */ FILTER_INFO __RPC_FAR *pInfo);
  1056.         
  1057.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *JoinFilterGraph )( 
  1058.             IMediaStreamFilter __RPC_FAR * This,
  1059.             /* [in] */ IFilterGraph __RPC_FAR *pGraph,
  1060.             /* [string][in] */ LPCWSTR pName);
  1061.         
  1062.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryVendorInfo )( 
  1063.             IMediaStreamFilter __RPC_FAR * This,
  1064.             /* [string][out] */ LPWSTR __RPC_FAR *pVendorInfo);
  1065.         
  1066.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddMediaStream )( 
  1067.             IMediaStreamFilter __RPC_FAR * This,
  1068.             /* [in] */ IAMMediaStream __RPC_FAR *pAMMediaStream);
  1069.         
  1070.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMediaStream )( 
  1071.             IMediaStreamFilter __RPC_FAR * This,
  1072.             /* [in] */ REFMSPID idPurpose,
  1073.             /* [out] */ IMediaStream __RPC_FAR *__RPC_FAR *ppMediaStream);
  1074.         
  1075.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumMediaStreams )( 
  1076.             IMediaStreamFilter __RPC_FAR * This,
  1077.             /* [in] */ long Index,
  1078.             /* [out] */ IMediaStream __RPC_FAR *__RPC_FAR *ppMediaStream);
  1079.         
  1080.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SupportSeeking )( 
  1081.             IMediaStreamFilter __RPC_FAR * This,
  1082.             /* [in] */ BOOL bRenderer);
  1083.         
  1084.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReferenceTimeToStreamTime )( 
  1085.             IMediaStreamFilter __RPC_FAR * This,
  1086.             /* [out][in] */ REFERENCE_TIME __RPC_FAR *pTime);
  1087.         
  1088.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCurrentStreamTime )( 
  1089.             IMediaStreamFilter __RPC_FAR * This,
  1090.             /* [out] */ REFERENCE_TIME __RPC_FAR *pCurrentStreamTime);
  1091.         
  1092.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WaitUntil )( 
  1093.             IMediaStreamFilter __RPC_FAR * This,
  1094.             /* [in] */ REFERENCE_TIME WaitStreamTime);
  1095.         
  1096.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Flush )( 
  1097.             IMediaStreamFilter __RPC_FAR * This,
  1098.             /* [in] */ BOOL bCancelEOS);
  1099.         
  1100.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EndOfStream )( 
  1101.             IMediaStreamFilter __RPC_FAR * This);
  1102.         
  1103.         END_INTERFACE
  1104.     } IMediaStreamFilterVtbl;
  1105.  
  1106.     interface IMediaStreamFilter
  1107.     {
  1108.         CONST_VTBL struct IMediaStreamFilterVtbl __RPC_FAR *lpVtbl;
  1109.     };
  1110.  
  1111.     
  1112.  
  1113. #ifdef COBJMACROS
  1114.  
  1115.  
  1116. #define IMediaStreamFilter_QueryInterface(This,riid,ppvObject)    \
  1117.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1118.  
  1119. #define IMediaStreamFilter_AddRef(This)    \
  1120.     (This)->lpVtbl -> AddRef(This)
  1121.  
  1122. #define IMediaStreamFilter_Release(This)    \
  1123.     (This)->lpVtbl -> Release(This)
  1124.  
  1125.  
  1126. #define IMediaStreamFilter_GetClassID(This,pClassID)    \
  1127.     (This)->lpVtbl -> GetClassID(This,pClassID)
  1128.  
  1129.  
  1130. #define IMediaStreamFilter_Stop(This)    \
  1131.     (This)->lpVtbl -> Stop(This)
  1132.  
  1133. #define IMediaStreamFilter_Pause(This)    \
  1134.     (This)->lpVtbl -> Pause(This)
  1135.  
  1136. #define IMediaStreamFilter_Run(This,tStart)    \
  1137.     (This)->lpVtbl -> Run(This,tStart)
  1138.  
  1139. #define IMediaStreamFilter_GetState(This,dwMilliSecsTimeout,State)    \
  1140.     (This)->lpVtbl -> GetState(This,dwMilliSecsTimeout,State)
  1141.  
  1142. #define IMediaStreamFilter_SetSyncSource(This,pClock)    \
  1143.     (This)->lpVtbl -> SetSyncSource(This,pClock)
  1144.  
  1145. #define IMediaStreamFilter_GetSyncSource(This,pClock)    \
  1146.     (This)->lpVtbl -> GetSyncSource(This,pClock)
  1147.  
  1148.  
  1149. #define IMediaStreamFilter_EnumPins(This,ppEnum)    \
  1150.     (This)->lpVtbl -> EnumPins(This,ppEnum)
  1151.  
  1152. #define IMediaStreamFilter_FindPin(This,Id,ppPin)    \
  1153.     (This)->lpVtbl -> FindPin(This,Id,ppPin)
  1154.  
  1155. #define IMediaStreamFilter_QueryFilterInfo(This,pInfo)    \
  1156.     (This)->lpVtbl -> QueryFilterInfo(This,pInfo)
  1157.  
  1158. #define IMediaStreamFilter_JoinFilterGraph(This,pGraph,pName)    \
  1159.     (This)->lpVtbl -> JoinFilterGraph(This,pGraph,pName)
  1160.  
  1161. #define IMediaStreamFilter_QueryVendorInfo(This,pVendorInfo)    \
  1162.     (This)->lpVtbl -> QueryVendorInfo(This,pVendorInfo)
  1163.  
  1164.  
  1165. #define IMediaStreamFilter_AddMediaStream(This,pAMMediaStream)    \
  1166.     (This)->lpVtbl -> AddMediaStream(This,pAMMediaStream)
  1167.  
  1168. #define IMediaStreamFilter_GetMediaStream(This,idPurpose,ppMediaStream)    \
  1169.     (This)->lpVtbl -> GetMediaStream(This,idPurpose,ppMediaStream)
  1170.  
  1171. #define IMediaStreamFilter_EnumMediaStreams(This,Index,ppMediaStream)    \
  1172.     (This)->lpVtbl -> EnumMediaStreams(This,Index,ppMediaStream)
  1173.  
  1174. #define IMediaStreamFilter_SupportSeeking(This,bRenderer)    \
  1175.     (This)->lpVtbl -> SupportSeeking(This,bRenderer)
  1176.  
  1177. #define IMediaStreamFilter_ReferenceTimeToStreamTime(This,pTime)    \
  1178.     (This)->lpVtbl -> ReferenceTimeToStreamTime(This,pTime)
  1179.  
  1180. #define IMediaStreamFilter_GetCurrentStreamTime(This,pCurrentStreamTime)    \
  1181.     (This)->lpVtbl -> GetCurrentStreamTime(This,pCurrentStreamTime)
  1182.  
  1183. #define IMediaStreamFilter_WaitUntil(This,WaitStreamTime)    \
  1184.     (This)->lpVtbl -> WaitUntil(This,WaitStreamTime)
  1185.  
  1186. #define IMediaStreamFilter_Flush(This,bCancelEOS)    \
  1187.     (This)->lpVtbl -> Flush(This,bCancelEOS)
  1188.  
  1189. #define IMediaStreamFilter_EndOfStream(This)    \
  1190.     (This)->lpVtbl -> EndOfStream(This)
  1191.  
  1192. #endif /* COBJMACROS */
  1193.  
  1194.  
  1195. #endif     /* C style interface */
  1196.  
  1197.  
  1198.  
  1199. HRESULT STDMETHODCALLTYPE IMediaStreamFilter_AddMediaStream_Proxy( 
  1200.     IMediaStreamFilter __RPC_FAR * This,
  1201.     /* [in] */ IAMMediaStream __RPC_FAR *pAMMediaStream);
  1202.  
  1203.  
  1204. void __RPC_STUB IMediaStreamFilter_AddMediaStream_Stub(
  1205.     IRpcStubBuffer *This,
  1206.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1207.     PRPC_MESSAGE _pRpcMessage,
  1208.     DWORD *_pdwStubPhase);
  1209.  
  1210.  
  1211. HRESULT STDMETHODCALLTYPE IMediaStreamFilter_GetMediaStream_Proxy( 
  1212.     IMediaStreamFilter __RPC_FAR * This,
  1213.     /* [in] */ REFMSPID idPurpose,
  1214.     /* [out] */ IMediaStream __RPC_FAR *__RPC_FAR *ppMediaStream);
  1215.  
  1216.  
  1217. void __RPC_STUB IMediaStreamFilter_GetMediaStream_Stub(
  1218.     IRpcStubBuffer *This,
  1219.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1220.     PRPC_MESSAGE _pRpcMessage,
  1221.     DWORD *_pdwStubPhase);
  1222.  
  1223.  
  1224. HRESULT STDMETHODCALLTYPE IMediaStreamFilter_EnumMediaStreams_Proxy( 
  1225.     IMediaStreamFilter __RPC_FAR * This,
  1226.     /* [in] */ long Index,
  1227.     /* [out] */ IMediaStream __RPC_FAR *__RPC_FAR *ppMediaStream);
  1228.  
  1229.  
  1230. void __RPC_STUB IMediaStreamFilter_EnumMediaStreams_Stub(
  1231.     IRpcStubBuffer *This,
  1232.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1233.     PRPC_MESSAGE _pRpcMessage,
  1234.     DWORD *_pdwStubPhase);
  1235.  
  1236.  
  1237. HRESULT STDMETHODCALLTYPE IMediaStreamFilter_SupportSeeking_Proxy( 
  1238.     IMediaStreamFilter __RPC_FAR * This,
  1239.     /* [in] */ BOOL bRenderer);
  1240.  
  1241.  
  1242. void __RPC_STUB IMediaStreamFilter_SupportSeeking_Stub(
  1243.     IRpcStubBuffer *This,
  1244.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1245.     PRPC_MESSAGE _pRpcMessage,
  1246.     DWORD *_pdwStubPhase);
  1247.  
  1248.  
  1249. HRESULT STDMETHODCALLTYPE IMediaStreamFilter_ReferenceTimeToStreamTime_Proxy( 
  1250.     IMediaStreamFilter __RPC_FAR * This,
  1251.     /* [out][in] */ REFERENCE_TIME __RPC_FAR *pTime);
  1252.  
  1253.  
  1254. void __RPC_STUB IMediaStreamFilter_ReferenceTimeToStreamTime_Stub(
  1255.     IRpcStubBuffer *This,
  1256.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1257.     PRPC_MESSAGE _pRpcMessage,
  1258.     DWORD *_pdwStubPhase);
  1259.  
  1260.  
  1261. HRESULT STDMETHODCALLTYPE IMediaStreamFilter_GetCurrentStreamTime_Proxy( 
  1262.     IMediaStreamFilter __RPC_FAR * This,
  1263.     /* [out] */ REFERENCE_TIME __RPC_FAR *pCurrentStreamTime);
  1264.  
  1265.  
  1266. void __RPC_STUB IMediaStreamFilter_GetCurrentStreamTime_Stub(
  1267.     IRpcStubBuffer *This,
  1268.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1269.     PRPC_MESSAGE _pRpcMessage,
  1270.     DWORD *_pdwStubPhase);
  1271.  
  1272.  
  1273. HRESULT STDMETHODCALLTYPE IMediaStreamFilter_WaitUntil_Proxy( 
  1274.     IMediaStreamFilter __RPC_FAR * This,
  1275.     /* [in] */ REFERENCE_TIME WaitStreamTime);
  1276.  
  1277.  
  1278. void __RPC_STUB IMediaStreamFilter_WaitUntil_Stub(
  1279.     IRpcStubBuffer *This,
  1280.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1281.     PRPC_MESSAGE _pRpcMessage,
  1282.     DWORD *_pdwStubPhase);
  1283.  
  1284.  
  1285. HRESULT STDMETHODCALLTYPE IMediaStreamFilter_Flush_Proxy( 
  1286.     IMediaStreamFilter __RPC_FAR * This,
  1287.     /* [in] */ BOOL bCancelEOS);
  1288.  
  1289.  
  1290. void __RPC_STUB IMediaStreamFilter_Flush_Stub(
  1291.     IRpcStubBuffer *This,
  1292.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1293.     PRPC_MESSAGE _pRpcMessage,
  1294.     DWORD *_pdwStubPhase);
  1295.  
  1296.  
  1297. HRESULT STDMETHODCALLTYPE IMediaStreamFilter_EndOfStream_Proxy( 
  1298.     IMediaStreamFilter __RPC_FAR * This);
  1299.  
  1300.  
  1301. void __RPC_STUB IMediaStreamFilter_EndOfStream_Stub(
  1302.     IRpcStubBuffer *This,
  1303.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1304.     PRPC_MESSAGE _pRpcMessage,
  1305.     DWORD *_pdwStubPhase);
  1306.  
  1307.  
  1308.  
  1309. #endif     /* __IMediaStreamFilter_INTERFACE_DEFINED__ */
  1310.  
  1311.  
  1312. #ifndef __IDirectDrawMediaSampleAllocator_INTERFACE_DEFINED__
  1313. #define __IDirectDrawMediaSampleAllocator_INTERFACE_DEFINED__
  1314.  
  1315. /****************************************
  1316.  * Generated header for interface: IDirectDrawMediaSampleAllocator
  1317.  * at Thu Nov 13 19:28:37 1997
  1318.  * using MIDL 3.02.88
  1319.  ****************************************/
  1320. /* [unique][uuid][local][object] */ 
  1321.  
  1322.  
  1323.  
  1324. EXTERN_C const IID IID_IDirectDrawMediaSampleAllocator;
  1325.  
  1326. #if defined(__cplusplus) && !defined(CINTERFACE)
  1327.     
  1328.     interface DECLSPEC_UUID("AB6B4AFC-F6E4-11d0-900D-00C04FD9189D")
  1329.     IDirectDrawMediaSampleAllocator : public IUnknown
  1330.     {
  1331.     public:
  1332.         virtual HRESULT STDMETHODCALLTYPE GetDirectDraw( 
  1333.             IDirectDraw __RPC_FAR *__RPC_FAR *ppDirectDraw) = 0;
  1334.         
  1335.     };
  1336.     
  1337. #else     /* C style interface */
  1338.  
  1339.     typedef struct IDirectDrawMediaSampleAllocatorVtbl
  1340.     {
  1341.         BEGIN_INTERFACE
  1342.         
  1343.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1344.             IDirectDrawMediaSampleAllocator __RPC_FAR * This,
  1345.             /* [in] */ REFIID riid,
  1346.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1347.         
  1348.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1349.             IDirectDrawMediaSampleAllocator __RPC_FAR * This);
  1350.         
  1351.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1352.             IDirectDrawMediaSampleAllocator __RPC_FAR * This);
  1353.         
  1354.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDirectDraw )( 
  1355.             IDirectDrawMediaSampleAllocator __RPC_FAR * This,
  1356.             IDirectDraw __RPC_FAR *__RPC_FAR *ppDirectDraw);
  1357.         
  1358.         END_INTERFACE
  1359.     } IDirectDrawMediaSampleAllocatorVtbl;
  1360.  
  1361.     interface IDirectDrawMediaSampleAllocator
  1362.     {
  1363.         CONST_VTBL struct IDirectDrawMediaSampleAllocatorVtbl __RPC_FAR *lpVtbl;
  1364.     };
  1365.  
  1366.     
  1367.  
  1368. #ifdef COBJMACROS
  1369.  
  1370.  
  1371. #define IDirectDrawMediaSampleAllocator_QueryInterface(This,riid,ppvObject)    \
  1372.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1373.  
  1374. #define IDirectDrawMediaSampleAllocator_AddRef(This)    \
  1375.     (This)->lpVtbl -> AddRef(This)
  1376.  
  1377. #define IDirectDrawMediaSampleAllocator_Release(This)    \
  1378.     (This)->lpVtbl -> Release(This)
  1379.  
  1380.  
  1381. #define IDirectDrawMediaSampleAllocator_GetDirectDraw(This,ppDirectDraw)    \
  1382.     (This)->lpVtbl -> GetDirectDraw(This,ppDirectDraw)
  1383.  
  1384. #endif /* COBJMACROS */
  1385.  
  1386.  
  1387. #endif     /* C style interface */
  1388.  
  1389.  
  1390.  
  1391. HRESULT STDMETHODCALLTYPE IDirectDrawMediaSampleAllocator_GetDirectDraw_Proxy( 
  1392.     IDirectDrawMediaSampleAllocator __RPC_FAR * This,
  1393.     IDirectDraw __RPC_FAR *__RPC_FAR *ppDirectDraw);
  1394.  
  1395.  
  1396. void __RPC_STUB IDirectDrawMediaSampleAllocator_GetDirectDraw_Stub(
  1397.     IRpcStubBuffer *This,
  1398.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1399.     PRPC_MESSAGE _pRpcMessage,
  1400.     DWORD *_pdwStubPhase);
  1401.  
  1402.  
  1403.  
  1404. #endif     /* __IDirectDrawMediaSampleAllocator_INTERFACE_DEFINED__ */
  1405.  
  1406.  
  1407. #ifndef __IDirectDrawMediaSample_INTERFACE_DEFINED__
  1408. #define __IDirectDrawMediaSample_INTERFACE_DEFINED__
  1409.  
  1410. /****************************************
  1411.  * Generated header for interface: IDirectDrawMediaSample
  1412.  * at Thu Nov 13 19:28:37 1997
  1413.  * using MIDL 3.02.88
  1414.  ****************************************/
  1415. /* [unique][uuid][local][object] */ 
  1416.  
  1417.  
  1418.  
  1419. EXTERN_C const IID IID_IDirectDrawMediaSample;
  1420.  
  1421. #if defined(__cplusplus) && !defined(CINTERFACE)
  1422.     
  1423.     interface DECLSPEC_UUID("AB6B4AFE-F6E4-11d0-900D-00C04FD9189D")
  1424.     IDirectDrawMediaSample : public IUnknown
  1425.     {
  1426.     public:
  1427.         virtual HRESULT STDMETHODCALLTYPE GetSurfaceAndReleaseLock( 
  1428.             /* [out] */ IDirectDrawSurface __RPC_FAR *__RPC_FAR *ppDirectDrawSurface,
  1429.             /* [out] */ RECT __RPC_FAR *pRect) = 0;
  1430.         
  1431.         virtual HRESULT STDMETHODCALLTYPE LockMediaSamplePointer( void) = 0;
  1432.         
  1433.     };
  1434.     
  1435. #else     /* C style interface */
  1436.  
  1437.     typedef struct IDirectDrawMediaSampleVtbl
  1438.     {
  1439.         BEGIN_INTERFACE
  1440.         
  1441.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1442.             IDirectDrawMediaSample __RPC_FAR * This,
  1443.             /* [in] */ REFIID riid,
  1444.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1445.         
  1446.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1447.             IDirectDrawMediaSample __RPC_FAR * This);
  1448.         
  1449.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1450.             IDirectDrawMediaSample __RPC_FAR * This);
  1451.         
  1452.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSurfaceAndReleaseLock )( 
  1453.             IDirectDrawMediaSample __RPC_FAR * This,
  1454.             /* [out] */ IDirectDrawSurface __RPC_FAR *__RPC_FAR *ppDirectDrawSurface,
  1455.             /* [out] */ RECT __RPC_FAR *pRect);
  1456.         
  1457.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LockMediaSamplePointer )( 
  1458.             IDirectDrawMediaSample __RPC_FAR * This);
  1459.         
  1460.         END_INTERFACE
  1461.     } IDirectDrawMediaSampleVtbl;
  1462.  
  1463.     interface IDirectDrawMediaSample
  1464.     {
  1465.         CONST_VTBL struct IDirectDrawMediaSampleVtbl __RPC_FAR *lpVtbl;
  1466.     };
  1467.  
  1468.     
  1469.  
  1470. #ifdef COBJMACROS
  1471.  
  1472.  
  1473. #define IDirectDrawMediaSample_QueryInterface(This,riid,ppvObject)    \
  1474.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1475.  
  1476. #define IDirectDrawMediaSample_AddRef(This)    \
  1477.     (This)->lpVtbl -> AddRef(This)
  1478.  
  1479. #define IDirectDrawMediaSample_Release(This)    \
  1480.     (This)->lpVtbl -> Release(This)
  1481.  
  1482.  
  1483. #define IDirectDrawMediaSample_GetSurfaceAndReleaseLock(This,ppDirectDrawSurface,pRect)    \
  1484.     (This)->lpVtbl -> GetSurfaceAndReleaseLock(This,ppDirectDrawSurface,pRect)
  1485.  
  1486. #define IDirectDrawMediaSample_LockMediaSamplePointer(This)    \
  1487.     (This)->lpVtbl -> LockMediaSamplePointer(This)
  1488.  
  1489. #endif /* COBJMACROS */
  1490.  
  1491.  
  1492. #endif     /* C style interface */
  1493.  
  1494.  
  1495.  
  1496. HRESULT STDMETHODCALLTYPE IDirectDrawMediaSample_GetSurfaceAndReleaseLock_Proxy( 
  1497.     IDirectDrawMediaSample __RPC_FAR * This,
  1498.     /* [out] */ IDirectDrawSurface __RPC_FAR *__RPC_FAR *ppDirectDrawSurface,
  1499.     /* [out] */ RECT __RPC_FAR *pRect);
  1500.  
  1501.  
  1502. void __RPC_STUB IDirectDrawMediaSample_GetSurfaceAndReleaseLock_Stub(
  1503.     IRpcStubBuffer *This,
  1504.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1505.     PRPC_MESSAGE _pRpcMessage,
  1506.     DWORD *_pdwStubPhase);
  1507.  
  1508.  
  1509. HRESULT STDMETHODCALLTYPE IDirectDrawMediaSample_LockMediaSamplePointer_Proxy( 
  1510.     IDirectDrawMediaSample __RPC_FAR * This);
  1511.  
  1512.  
  1513. void __RPC_STUB IDirectDrawMediaSample_LockMediaSamplePointer_Stub(
  1514.     IRpcStubBuffer *This,
  1515.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1516.     PRPC_MESSAGE _pRpcMessage,
  1517.     DWORD *_pdwStubPhase);
  1518.  
  1519.  
  1520.  
  1521. #endif     /* __IDirectDrawMediaSample_INTERFACE_DEFINED__ */
  1522.  
  1523.  
  1524. #ifndef __IAMMediaTypeStream_INTERFACE_DEFINED__
  1525. #define __IAMMediaTypeStream_INTERFACE_DEFINED__
  1526.  
  1527. /****************************************
  1528.  * Generated header for interface: IAMMediaTypeStream
  1529.  * at Thu Nov 13 19:28:37 1997
  1530.  * using MIDL 3.02.88
  1531.  ****************************************/
  1532. /* [unique][uuid][local][object] */ 
  1533.  
  1534.  
  1535.  
  1536. EXTERN_C const IID IID_IAMMediaTypeStream;
  1537.  
  1538. #if defined(__cplusplus) && !defined(CINTERFACE)
  1539.     
  1540.     interface DECLSPEC_UUID("AB6B4AFA-F6E4-11d0-900D-00C04FD9189D")
  1541.     IAMMediaTypeStream : public IMediaStream
  1542.     {
  1543.     public:
  1544.         virtual HRESULT STDMETHODCALLTYPE GetFormat( 
  1545.             /* [out] */ AM_MEDIA_TYPE __RPC_FAR *pMediaType,
  1546.             /* [in] */ DWORD dwFlags) = 0;
  1547.         
  1548.         virtual HRESULT STDMETHODCALLTYPE SetFormat( 
  1549.             /* [in] */ AM_MEDIA_TYPE __RPC_FAR *pMediaType,
  1550.             /* [in] */ DWORD dwFlags) = 0;
  1551.         
  1552.         virtual HRESULT STDMETHODCALLTYPE CreateSample( 
  1553.             /* [in] */ long lSampleSize,
  1554.             /* [optional][in] */ BYTE __RPC_FAR *pbBuffer,
  1555.             /* [in] */ DWORD dwFlags,
  1556.             /* [optional][in] */ IUnknown __RPC_FAR *pUnkOuter,
  1557.             /* [out] */ IAMMediaTypeSample __RPC_FAR *__RPC_FAR *ppAMMediaTypeSample) = 0;
  1558.         
  1559.         virtual HRESULT STDMETHODCALLTYPE GetStreamAllocatorRequirements( 
  1560.             /* [out] */ ALLOCATOR_PROPERTIES __RPC_FAR *pProps) = 0;
  1561.         
  1562.         virtual HRESULT STDMETHODCALLTYPE SetStreamAllocatorRequirements( 
  1563.             /* [in] */ ALLOCATOR_PROPERTIES __RPC_FAR *pProps) = 0;
  1564.         
  1565.     };
  1566.     
  1567. #else     /* C style interface */
  1568.  
  1569.     typedef struct IAMMediaTypeStreamVtbl
  1570.     {
  1571.         BEGIN_INTERFACE
  1572.         
  1573.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1574.             IAMMediaTypeStream __RPC_FAR * This,
  1575.             /* [in] */ REFIID riid,
  1576.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1577.         
  1578.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1579.             IAMMediaTypeStream __RPC_FAR * This);
  1580.         
  1581.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1582.             IAMMediaTypeStream __RPC_FAR * This);
  1583.         
  1584.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMultiMediaStream )( 
  1585.             IAMMediaTypeStream __RPC_FAR * This,
  1586.             /* [out] */ IMultiMediaStream __RPC_FAR *__RPC_FAR *ppMultiMediaStream);
  1587.         
  1588.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetInformation )( 
  1589.             IAMMediaTypeStream __RPC_FAR * This,
  1590.             /* [optional][out] */ MSPID __RPC_FAR *pPurposeId,
  1591.             /* [optional][out] */ STREAM_TYPE __RPC_FAR *pType);
  1592.         
  1593.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSameFormat )( 
  1594.             IAMMediaTypeStream __RPC_FAR * This,
  1595.             /* [in] */ IMediaStream __RPC_FAR *pStreamThatHasDesiredFormat,
  1596.             /* [in] */ DWORD dwFlags);
  1597.         
  1598.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AllocateSample )( 
  1599.             IAMMediaTypeStream __RPC_FAR * This,
  1600.             /* [in] */ DWORD dwFlags,
  1601.             /* [out] */ IStreamSample __RPC_FAR *__RPC_FAR *ppSample);
  1602.         
  1603.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateSharedSample )( 
  1604.             IAMMediaTypeStream __RPC_FAR * This,
  1605.             /* [in] */ IStreamSample __RPC_FAR *pExistingSample,
  1606.             /* [in] */ DWORD dwFlags,
  1607.             /* [out] */ IStreamSample __RPC_FAR *__RPC_FAR *ppNewSample);
  1608.         
  1609.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SendEndOfStream )( 
  1610.             IAMMediaTypeStream __RPC_FAR * This,
  1611.             DWORD dwFlags);
  1612.         
  1613.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFormat )( 
  1614.             IAMMediaTypeStream __RPC_FAR * This,
  1615.             /* [out] */ AM_MEDIA_TYPE __RPC_FAR *pMediaType,
  1616.             /* [in] */ DWORD dwFlags);
  1617.         
  1618.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFormat )( 
  1619.             IAMMediaTypeStream __RPC_FAR * This,
  1620.             /* [in] */ AM_MEDIA_TYPE __RPC_FAR *pMediaType,
  1621.             /* [in] */ DWORD dwFlags);
  1622.         
  1623.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateSample )( 
  1624.             IAMMediaTypeStream __RPC_FAR * This,
  1625.             /* [in] */ long lSampleSize,
  1626.             /* [optional][in] */ BYTE __RPC_FAR *pbBuffer,
  1627.             /* [in] */ DWORD dwFlags,
  1628.             /* [optional][in] */ IUnknown __RPC_FAR *pUnkOuter,
  1629.             /* [out] */ IAMMediaTypeSample __RPC_FAR *__RPC_FAR *ppAMMediaTypeSample);
  1630.         
  1631.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStreamAllocatorRequirements )( 
  1632.             IAMMediaTypeStream __RPC_FAR * This,
  1633.             /* [out] */ ALLOCATOR_PROPERTIES __RPC_FAR *pProps);
  1634.         
  1635.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetStreamAllocatorRequirements )( 
  1636.             IAMMediaTypeStream __RPC_FAR * This,
  1637.             /* [in] */ ALLOCATOR_PROPERTIES __RPC_FAR *pProps);
  1638.         
  1639.         END_INTERFACE
  1640.     } IAMMediaTypeStreamVtbl;
  1641.  
  1642.     interface IAMMediaTypeStream
  1643.     {
  1644.         CONST_VTBL struct IAMMediaTypeStreamVtbl __RPC_FAR *lpVtbl;
  1645.     };
  1646.  
  1647.     
  1648.  
  1649. #ifdef COBJMACROS
  1650.  
  1651.  
  1652. #define IAMMediaTypeStream_QueryInterface(This,riid,ppvObject)    \
  1653.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1654.  
  1655. #define IAMMediaTypeStream_AddRef(This)    \
  1656.     (This)->lpVtbl -> AddRef(This)
  1657.  
  1658. #define IAMMediaTypeStream_Release(This)    \
  1659.     (This)->lpVtbl -> Release(This)
  1660.  
  1661.  
  1662. #define IAMMediaTypeStream_GetMultiMediaStream(This,ppMultiMediaStream)    \
  1663.     (This)->lpVtbl -> GetMultiMediaStream(This,ppMultiMediaStream)
  1664.  
  1665. #define IAMMediaTypeStream_GetInformation(This,pPurposeId,pType)    \
  1666.     (This)->lpVtbl -> GetInformation(This,pPurposeId,pType)
  1667.  
  1668. #define IAMMediaTypeStream_SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags)    \
  1669.     (This)->lpVtbl -> SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags)
  1670.  
  1671. #define IAMMediaTypeStream_AllocateSample(This,dwFlags,ppSample)    \
  1672.     (This)->lpVtbl -> AllocateSample(This,dwFlags,ppSample)
  1673.  
  1674. #define IAMMediaTypeStream_CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample)    \
  1675.     (This)->lpVtbl -> CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample)
  1676.  
  1677. #define IAMMediaTypeStream_SendEndOfStream(This,dwFlags)    \
  1678.     (This)->lpVtbl -> SendEndOfStream(This,dwFlags)
  1679.  
  1680.  
  1681. #define IAMMediaTypeStream_GetFormat(This,pMediaType,dwFlags)    \
  1682.     (This)->lpVtbl -> GetFormat(This,pMediaType,dwFlags)
  1683.  
  1684. #define IAMMediaTypeStream_SetFormat(This,pMediaType,dwFlags)    \
  1685.     (This)->lpVtbl -> SetFormat(This,pMediaType,dwFlags)
  1686.  
  1687. #define IAMMediaTypeStream_CreateSample(This,lSampleSize,pbBuffer,dwFlags,pUnkOuter,ppAMMediaTypeSample)    \
  1688.     (This)->lpVtbl -> CreateSample(This,lSampleSize,pbBuffer,dwFlags,pUnkOuter,ppAMMediaTypeSample)
  1689.  
  1690. #define IAMMediaTypeStream_GetStreamAllocatorRequirements(This,pProps)    \
  1691.     (This)->lpVtbl -> GetStreamAllocatorRequirements(This,pProps)
  1692.  
  1693. #define IAMMediaTypeStream_SetStreamAllocatorRequirements(This,pProps)    \
  1694.     (This)->lpVtbl -> SetStreamAllocatorRequirements(This,pProps)
  1695.  
  1696. #endif /* COBJMACROS */
  1697.  
  1698.  
  1699. #endif     /* C style interface */
  1700.  
  1701.  
  1702.  
  1703. HRESULT STDMETHODCALLTYPE IAMMediaTypeStream_GetFormat_Proxy( 
  1704.     IAMMediaTypeStream __RPC_FAR * This,
  1705.     /* [out] */ AM_MEDIA_TYPE __RPC_FAR *pMediaType,
  1706.     /* [in] */ DWORD dwFlags);
  1707.  
  1708.  
  1709. void __RPC_STUB IAMMediaTypeStream_GetFormat_Stub(
  1710.     IRpcStubBuffer *This,
  1711.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1712.     PRPC_MESSAGE _pRpcMessage,
  1713.     DWORD *_pdwStubPhase);
  1714.  
  1715.  
  1716. HRESULT STDMETHODCALLTYPE IAMMediaTypeStream_SetFormat_Proxy( 
  1717.     IAMMediaTypeStream __RPC_FAR * This,
  1718.     /* [in] */ AM_MEDIA_TYPE __RPC_FAR *pMediaType,
  1719.     /* [in] */ DWORD dwFlags);
  1720.  
  1721.  
  1722. void __RPC_STUB IAMMediaTypeStream_SetFormat_Stub(
  1723.     IRpcStubBuffer *This,
  1724.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1725.     PRPC_MESSAGE _pRpcMessage,
  1726.     DWORD *_pdwStubPhase);
  1727.  
  1728.  
  1729. HRESULT STDMETHODCALLTYPE IAMMediaTypeStream_CreateSample_Proxy( 
  1730.     IAMMediaTypeStream __RPC_FAR * This,
  1731.     /* [in] */ long lSampleSize,
  1732.     /* [optional][in] */ BYTE __RPC_FAR *pbBuffer,
  1733.     /* [in] */ DWORD dwFlags,
  1734.     /* [optional][in] */ IUnknown __RPC_FAR *pUnkOuter,
  1735.     /* [out] */ IAMMediaTypeSample __RPC_FAR *__RPC_FAR *ppAMMediaTypeSample);
  1736.  
  1737.  
  1738. void __RPC_STUB IAMMediaTypeStream_CreateSample_Stub(
  1739.     IRpcStubBuffer *This,
  1740.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1741.     PRPC_MESSAGE _pRpcMessage,
  1742.     DWORD *_pdwStubPhase);
  1743.  
  1744.  
  1745. HRESULT STDMETHODCALLTYPE IAMMediaTypeStream_GetStreamAllocatorRequirements_Proxy( 
  1746.     IAMMediaTypeStream __RPC_FAR * This,
  1747.     /* [out] */ ALLOCATOR_PROPERTIES __RPC_FAR *pProps);
  1748.  
  1749.  
  1750. void __RPC_STUB IAMMediaTypeStream_GetStreamAllocatorRequirements_Stub(
  1751.     IRpcStubBuffer *This,
  1752.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1753.     PRPC_MESSAGE _pRpcMessage,
  1754.     DWORD *_pdwStubPhase);
  1755.  
  1756.  
  1757. HRESULT STDMETHODCALLTYPE IAMMediaTypeStream_SetStreamAllocatorRequirements_Proxy( 
  1758.     IAMMediaTypeStream __RPC_FAR * This,
  1759.     /* [in] */ ALLOCATOR_PROPERTIES __RPC_FAR *pProps);
  1760.  
  1761.  
  1762. void __RPC_STUB IAMMediaTypeStream_SetStreamAllocatorRequirements_Stub(
  1763.     IRpcStubBuffer *This,
  1764.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1765.     PRPC_MESSAGE _pRpcMessage,
  1766.     DWORD *_pdwStubPhase);
  1767.  
  1768.  
  1769.  
  1770. #endif     /* __IAMMediaTypeStream_INTERFACE_DEFINED__ */
  1771.  
  1772.  
  1773. #ifndef __IAMMediaTypeSample_INTERFACE_DEFINED__
  1774. #define __IAMMediaTypeSample_INTERFACE_DEFINED__
  1775.  
  1776. /****************************************
  1777.  * Generated header for interface: IAMMediaTypeSample
  1778.  * at Thu Nov 13 19:28:37 1997
  1779.  * using MIDL 3.02.88
  1780.  ****************************************/
  1781. /* [unique][uuid][local][object] */ 
  1782.  
  1783.  
  1784.  
  1785. EXTERN_C const IID IID_IAMMediaTypeSample;
  1786.  
  1787. #if defined(__cplusplus) && !defined(CINTERFACE)
  1788.     
  1789.     interface DECLSPEC_UUID("AB6B4AFB-F6E4-11d0-900D-00C04FD9189D")
  1790.     IAMMediaTypeSample : public IStreamSample
  1791.     {
  1792.     public:
  1793.         virtual HRESULT STDMETHODCALLTYPE SetPointer( 
  1794.             /* [in] */ BYTE __RPC_FAR *pBuffer,
  1795.             /* [in] */ long lSize) = 0;
  1796.         
  1797.         virtual HRESULT STDMETHODCALLTYPE GetPointer( 
  1798.             /* [out] */ BYTE __RPC_FAR *__RPC_FAR *ppBuffer) = 0;
  1799.         
  1800.         virtual long STDMETHODCALLTYPE GetSize( void) = 0;
  1801.         
  1802.         virtual HRESULT STDMETHODCALLTYPE GetTime( 
  1803.             /* [out] */ REFERENCE_TIME __RPC_FAR *pTimeStart,
  1804.             /* [out] */ REFERENCE_TIME __RPC_FAR *pTimeEnd) = 0;
  1805.         
  1806.         virtual HRESULT STDMETHODCALLTYPE SetTime( 
  1807.             /* [in] */ REFERENCE_TIME __RPC_FAR *pTimeStart,
  1808.             /* [in] */ REFERENCE_TIME __RPC_FAR *pTimeEnd) = 0;
  1809.         
  1810.         virtual HRESULT STDMETHODCALLTYPE IsSyncPoint( void) = 0;
  1811.         
  1812.         virtual HRESULT STDMETHODCALLTYPE SetSyncPoint( 
  1813.             BOOL bIsSyncPoint) = 0;
  1814.         
  1815.         virtual HRESULT STDMETHODCALLTYPE IsPreroll( void) = 0;
  1816.         
  1817.         virtual HRESULT STDMETHODCALLTYPE SetPreroll( 
  1818.             BOOL bIsPreroll) = 0;
  1819.         
  1820.         virtual long STDMETHODCALLTYPE GetActualDataLength( void) = 0;
  1821.         
  1822.         virtual HRESULT STDMETHODCALLTYPE SetActualDataLength( 
  1823.             long __MIDL_0022) = 0;
  1824.         
  1825.         virtual HRESULT STDMETHODCALLTYPE GetMediaType( 
  1826.             AM_MEDIA_TYPE __RPC_FAR *__RPC_FAR *ppMediaType) = 0;
  1827.         
  1828.         virtual HRESULT STDMETHODCALLTYPE SetMediaType( 
  1829.             AM_MEDIA_TYPE __RPC_FAR *pMediaType) = 0;
  1830.         
  1831.         virtual HRESULT STDMETHODCALLTYPE IsDiscontinuity( void) = 0;
  1832.         
  1833.         virtual HRESULT STDMETHODCALLTYPE SetDiscontinuity( 
  1834.             BOOL bDiscontinuity) = 0;
  1835.         
  1836.         virtual HRESULT STDMETHODCALLTYPE GetMediaTime( 
  1837.             /* [out] */ LONGLONG __RPC_FAR *pTimeStart,
  1838.             /* [out] */ LONGLONG __RPC_FAR *pTimeEnd) = 0;
  1839.         
  1840.         virtual HRESULT STDMETHODCALLTYPE SetMediaTime( 
  1841.             /* [in] */ LONGLONG __RPC_FAR *pTimeStart,
  1842.             /* [in] */ LONGLONG __RPC_FAR *pTimeEnd) = 0;
  1843.         
  1844.     };
  1845.     
  1846. #else     /* C style interface */
  1847.  
  1848.     typedef struct IAMMediaTypeSampleVtbl
  1849.     {
  1850.         BEGIN_INTERFACE
  1851.         
  1852.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1853.             IAMMediaTypeSample __RPC_FAR * This,
  1854.             /* [in] */ REFIID riid,
  1855.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1856.         
  1857.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1858.             IAMMediaTypeSample __RPC_FAR * This);
  1859.         
  1860.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1861.             IAMMediaTypeSample __RPC_FAR * This);
  1862.         
  1863.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMediaStream )( 
  1864.             IAMMediaTypeSample __RPC_FAR * This,
  1865.             /* [in] */ IMediaStream __RPC_FAR *__RPC_FAR *ppMediaStream);
  1866.         
  1867.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSampleTimes )( 
  1868.             IAMMediaTypeSample __RPC_FAR * This,
  1869.             /* [optional][out] */ STREAM_TIME __RPC_FAR *pStartTime,
  1870.             /* [optional][out] */ STREAM_TIME __RPC_FAR *pEndTime,
  1871.             /* [optional][out] */ STREAM_TIME __RPC_FAR *pCurrentTime);
  1872.         
  1873.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSampleTimes )( 
  1874.             IAMMediaTypeSample __RPC_FAR * This,
  1875.             /* [optional][in] */ const STREAM_TIME __RPC_FAR *pStartTime,
  1876.             /* [optional][in] */ const STREAM_TIME __RPC_FAR *pEndTime);
  1877.         
  1878.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
  1879.             IAMMediaTypeSample __RPC_FAR * This,
  1880.             /* [in] */ DWORD dwFlags,
  1881.             /* [optional][in] */ HANDLE hEvent,
  1882.             /* [optional][in] */ PAPCFUNC pfnAPC,
  1883.             /* [optional][in] */ DWORD dwAPCData);
  1884.         
  1885.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CompletionStatus )( 
  1886.             IAMMediaTypeSample __RPC_FAR * This,
  1887.             /* [in] */ DWORD dwFlags,
  1888.             /* [optional][in] */ DWORD dwMilliseconds);
  1889.         
  1890.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPointer )( 
  1891.             IAMMediaTypeSample __RPC_FAR * This,
  1892.             /* [in] */ BYTE __RPC_FAR *pBuffer,
  1893.             /* [in] */ long lSize);
  1894.         
  1895.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPointer )( 
  1896.             IAMMediaTypeSample __RPC_FAR * This,
  1897.             /* [out] */ BYTE __RPC_FAR *__RPC_FAR *ppBuffer);
  1898.         
  1899.         long ( STDMETHODCALLTYPE __RPC_FAR *GetSize )( 
  1900.             IAMMediaTypeSample __RPC_FAR * This);
  1901.         
  1902.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTime )( 
  1903.             IAMMediaTypeSample __RPC_FAR * This,
  1904.             /* [out] */ REFERENCE_TIME __RPC_FAR *pTimeStart,
  1905.             /* [out] */ REFERENCE_TIME __RPC_FAR *pTimeEnd);
  1906.         
  1907.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTime )( 
  1908.             IAMMediaTypeSample __RPC_FAR * This,
  1909.             /* [in] */ REFERENCE_TIME __RPC_FAR *pTimeStart,
  1910.             /* [in] */ REFERENCE_TIME __RPC_FAR *pTimeEnd);
  1911.         
  1912.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsSyncPoint )( 
  1913.             IAMMediaTypeSample __RPC_FAR * This);
  1914.         
  1915.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSyncPoint )( 
  1916.             IAMMediaTypeSample __RPC_FAR * This,
  1917.             BOOL bIsSyncPoint);
  1918.         
  1919.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsPreroll )( 
  1920.             IAMMediaTypeSample __RPC_FAR * This);
  1921.         
  1922.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPreroll )( 
  1923.             IAMMediaTypeSample __RPC_FAR * This,
  1924.             BOOL bIsPreroll);
  1925.         
  1926.         long ( STDMETHODCALLTYPE __RPC_FAR *GetActualDataLength )( 
  1927.             IAMMediaTypeSample __RPC_FAR * This);
  1928.         
  1929.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetActualDataLength )( 
  1930.             IAMMediaTypeSample __RPC_FAR * This,
  1931.             long __MIDL_0022);
  1932.         
  1933.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMediaType )( 
  1934.             IAMMediaTypeSample __RPC_FAR * This,
  1935.             AM_MEDIA_TYPE __RPC_FAR *__RPC_FAR *ppMediaType);
  1936.         
  1937.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMediaType )( 
  1938.             IAMMediaTypeSample __RPC_FAR * This,
  1939.             AM_MEDIA_TYPE __RPC_FAR *pMediaType);
  1940.         
  1941.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsDiscontinuity )( 
  1942.             IAMMediaTypeSample __RPC_FAR * This);
  1943.         
  1944.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDiscontinuity )( 
  1945.             IAMMediaTypeSample __RPC_FAR * This,
  1946.             BOOL bDiscontinuity);
  1947.         
  1948.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMediaTime )( 
  1949.             IAMMediaTypeSample __RPC_FAR * This,
  1950.             /* [out] */ LONGLONG __RPC_FAR *pTimeStart,
  1951.             /* [out] */ LONGLONG __RPC_FAR *pTimeEnd);
  1952.         
  1953.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMediaTime )( 
  1954.             IAMMediaTypeSample __RPC_FAR * This,
  1955.             /* [in] */ LONGLONG __RPC_FAR *pTimeStart,
  1956.             /* [in] */ LONGLONG __RPC_FAR *pTimeEnd);
  1957.         
  1958.         END_INTERFACE
  1959.     } IAMMediaTypeSampleVtbl;
  1960.  
  1961.     interface IAMMediaTypeSample
  1962.     {
  1963.         CONST_VTBL struct IAMMediaTypeSampleVtbl __RPC_FAR *lpVtbl;
  1964.     };
  1965.  
  1966.     
  1967.  
  1968. #ifdef COBJMACROS
  1969.  
  1970.  
  1971. #define IAMMediaTypeSample_QueryInterface(This,riid,ppvObject)    \
  1972.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1973.  
  1974. #define IAMMediaTypeSample_AddRef(This)    \
  1975.     (This)->lpVtbl -> AddRef(This)
  1976.  
  1977. #define IAMMediaTypeSample_Release(This)    \
  1978.     (This)->lpVtbl -> Release(This)
  1979.  
  1980.  
  1981. #define IAMMediaTypeSample_GetMediaStream(This,ppMediaStream)    \
  1982.     (This)->lpVtbl -> GetMediaStream(This,ppMediaStream)
  1983.  
  1984. #define IAMMediaTypeSample_GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime)    \
  1985.     (This)->lpVtbl -> GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime)
  1986.  
  1987. #define IAMMediaTypeSample_SetSampleTimes(This,pStartTime,pEndTime)    \
  1988.     (This)->lpVtbl -> SetSampleTimes(This,pStartTime,pEndTime)
  1989.  
  1990. #define IAMMediaTypeSample_Update(This,dwFlags,hEvent,pfnAPC,dwAPCData)    \
  1991.     (This)->lpVtbl -> Update(This,dwFlags,hEvent,pfnAPC,dwAPCData)
  1992.  
  1993. #define IAMMediaTypeSample_CompletionStatus(This,dwFlags,dwMilliseconds)    \
  1994.     (This)->lpVtbl -> CompletionStatus(This,dwFlags,dwMilliseconds)
  1995.  
  1996.  
  1997. #define IAMMediaTypeSample_SetPointer(This,pBuffer,lSize)    \
  1998.     (This)->lpVtbl -> SetPointer(This,pBuffer,lSize)
  1999.  
  2000. #define IAMMediaTypeSample_GetPointer(This,ppBuffer)    \
  2001.     (This)->lpVtbl -> GetPointer(This,ppBuffer)
  2002.  
  2003. #define IAMMediaTypeSample_GetSize(This)    \
  2004.     (This)->lpVtbl -> GetSize(This)
  2005.  
  2006. #define IAMMediaTypeSample_GetTime(This,pTimeStart,pTimeEnd)    \
  2007.     (This)->lpVtbl -> GetTime(This,pTimeStart,pTimeEnd)
  2008.  
  2009. #define IAMMediaTypeSample_SetTime(This,pTimeStart,pTimeEnd)    \
  2010.     (This)->lpVtbl -> SetTime(This,pTimeStart,pTimeEnd)
  2011.  
  2012. #define IAMMediaTypeSample_IsSyncPoint(This)    \
  2013.     (This)->lpVtbl -> IsSyncPoint(This)
  2014.  
  2015. #define IAMMediaTypeSample_SetSyncPoint(This,bIsSyncPoint)    \
  2016.     (This)->lpVtbl -> SetSyncPoint(This,bIsSyncPoint)
  2017.  
  2018. #define IAMMediaTypeSample_IsPreroll(This)    \
  2019.     (This)->lpVtbl -> IsPreroll(This)
  2020.  
  2021. #define IAMMediaTypeSample_SetPreroll(This,bIsPreroll)    \
  2022.     (This)->lpVtbl -> SetPreroll(This,bIsPreroll)
  2023.  
  2024. #define IAMMediaTypeSample_GetActualDataLength(This)    \
  2025.     (This)->lpVtbl -> GetActualDataLength(This)
  2026.  
  2027. #define IAMMediaTypeSample_SetActualDataLength(This,__MIDL_0022)    \
  2028.     (This)->lpVtbl -> SetActualDataLength(This,__MIDL_0022)
  2029.  
  2030. #define IAMMediaTypeSample_GetMediaType(This,ppMediaType)    \
  2031.     (This)->lpVtbl -> GetMediaType(This,ppMediaType)
  2032.  
  2033. #define IAMMediaTypeSample_SetMediaType(This,pMediaType)    \
  2034.     (This)->lpVtbl -> SetMediaType(This,pMediaType)
  2035.  
  2036. #define IAMMediaTypeSample_IsDiscontinuity(This)    \
  2037.     (This)->lpVtbl -> IsDiscontinuity(This)
  2038.  
  2039. #define IAMMediaTypeSample_SetDiscontinuity(This,bDiscontinuity)    \
  2040.     (This)->lpVtbl -> SetDiscontinuity(This,bDiscontinuity)
  2041.  
  2042. #define IAMMediaTypeSample_GetMediaTime(This,pTimeStart,pTimeEnd)    \
  2043.     (This)->lpVtbl -> GetMediaTime(This,pTimeStart,pTimeEnd)
  2044.  
  2045. #define IAMMediaTypeSample_SetMediaTime(This,pTimeStart,pTimeEnd)    \
  2046.     (This)->lpVtbl -> SetMediaTime(This,pTimeStart,pTimeEnd)
  2047.  
  2048. #endif /* COBJMACROS */
  2049.  
  2050.  
  2051. #endif     /* C style interface */
  2052.  
  2053.  
  2054.  
  2055. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetPointer_Proxy( 
  2056.     IAMMediaTypeSample __RPC_FAR * This,
  2057.     /* [in] */ BYTE __RPC_FAR *pBuffer,
  2058.     /* [in] */ long lSize);
  2059.  
  2060.  
  2061. void __RPC_STUB IAMMediaTypeSample_SetPointer_Stub(
  2062.     IRpcStubBuffer *This,
  2063.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2064.     PRPC_MESSAGE _pRpcMessage,
  2065.     DWORD *_pdwStubPhase);
  2066.  
  2067.  
  2068. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_GetPointer_Proxy( 
  2069.     IAMMediaTypeSample __RPC_FAR * This,
  2070.     /* [out] */ BYTE __RPC_FAR *__RPC_FAR *ppBuffer);
  2071.  
  2072.  
  2073. void __RPC_STUB IAMMediaTypeSample_GetPointer_Stub(
  2074.     IRpcStubBuffer *This,
  2075.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2076.     PRPC_MESSAGE _pRpcMessage,
  2077.     DWORD *_pdwStubPhase);
  2078.  
  2079.  
  2080. long STDMETHODCALLTYPE IAMMediaTypeSample_GetSize_Proxy( 
  2081.     IAMMediaTypeSample __RPC_FAR * This);
  2082.  
  2083.  
  2084. void __RPC_STUB IAMMediaTypeSample_GetSize_Stub(
  2085.     IRpcStubBuffer *This,
  2086.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2087.     PRPC_MESSAGE _pRpcMessage,
  2088.     DWORD *_pdwStubPhase);
  2089.  
  2090.  
  2091. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_GetTime_Proxy( 
  2092.     IAMMediaTypeSample __RPC_FAR * This,
  2093.     /* [out] */ REFERENCE_TIME __RPC_FAR *pTimeStart,
  2094.     /* [out] */ REFERENCE_TIME __RPC_FAR *pTimeEnd);
  2095.  
  2096.  
  2097. void __RPC_STUB IAMMediaTypeSample_GetTime_Stub(
  2098.     IRpcStubBuffer *This,
  2099.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2100.     PRPC_MESSAGE _pRpcMessage,
  2101.     DWORD *_pdwStubPhase);
  2102.  
  2103.  
  2104. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetTime_Proxy( 
  2105.     IAMMediaTypeSample __RPC_FAR * This,
  2106.     /* [in] */ REFERENCE_TIME __RPC_FAR *pTimeStart,
  2107.     /* [in] */ REFERENCE_TIME __RPC_FAR *pTimeEnd);
  2108.  
  2109.  
  2110. void __RPC_STUB IAMMediaTypeSample_SetTime_Stub(
  2111.     IRpcStubBuffer *This,
  2112.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2113.     PRPC_MESSAGE _pRpcMessage,
  2114.     DWORD *_pdwStubPhase);
  2115.  
  2116.  
  2117. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_IsSyncPoint_Proxy( 
  2118.     IAMMediaTypeSample __RPC_FAR * This);
  2119.  
  2120.  
  2121. void __RPC_STUB IAMMediaTypeSample_IsSyncPoint_Stub(
  2122.     IRpcStubBuffer *This,
  2123.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2124.     PRPC_MESSAGE _pRpcMessage,
  2125.     DWORD *_pdwStubPhase);
  2126.  
  2127.  
  2128. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetSyncPoint_Proxy( 
  2129.     IAMMediaTypeSample __RPC_FAR * This,
  2130.     BOOL bIsSyncPoint);
  2131.  
  2132.  
  2133. void __RPC_STUB IAMMediaTypeSample_SetSyncPoint_Stub(
  2134.     IRpcStubBuffer *This,
  2135.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2136.     PRPC_MESSAGE _pRpcMessage,
  2137.     DWORD *_pdwStubPhase);
  2138.  
  2139.  
  2140. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_IsPreroll_Proxy( 
  2141.     IAMMediaTypeSample __RPC_FAR * This);
  2142.  
  2143.  
  2144. void __RPC_STUB IAMMediaTypeSample_IsPreroll_Stub(
  2145.     IRpcStubBuffer *This,
  2146.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2147.     PRPC_MESSAGE _pRpcMessage,
  2148.     DWORD *_pdwStubPhase);
  2149.  
  2150.  
  2151. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetPreroll_Proxy( 
  2152.     IAMMediaTypeSample __RPC_FAR * This,
  2153.     BOOL bIsPreroll);
  2154.  
  2155.  
  2156. void __RPC_STUB IAMMediaTypeSample_SetPreroll_Stub(
  2157.     IRpcStubBuffer *This,
  2158.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2159.     PRPC_MESSAGE _pRpcMessage,
  2160.     DWORD *_pdwStubPhase);
  2161.  
  2162.  
  2163. long STDMETHODCALLTYPE IAMMediaTypeSample_GetActualDataLength_Proxy( 
  2164.     IAMMediaTypeSample __RPC_FAR * This);
  2165.  
  2166.  
  2167. void __RPC_STUB IAMMediaTypeSample_GetActualDataLength_Stub(
  2168.     IRpcStubBuffer *This,
  2169.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2170.     PRPC_MESSAGE _pRpcMessage,
  2171.     DWORD *_pdwStubPhase);
  2172.  
  2173.  
  2174. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetActualDataLength_Proxy( 
  2175.     IAMMediaTypeSample __RPC_FAR * This,
  2176.     long __MIDL_0022);
  2177.  
  2178.  
  2179. void __RPC_STUB IAMMediaTypeSample_SetActualDataLength_Stub(
  2180.     IRpcStubBuffer *This,
  2181.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2182.     PRPC_MESSAGE _pRpcMessage,
  2183.     DWORD *_pdwStubPhase);
  2184.  
  2185.  
  2186. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_GetMediaType_Proxy( 
  2187.     IAMMediaTypeSample __RPC_FAR * This,
  2188.     AM_MEDIA_TYPE __RPC_FAR *__RPC_FAR *ppMediaType);
  2189.  
  2190.  
  2191. void __RPC_STUB IAMMediaTypeSample_GetMediaType_Stub(
  2192.     IRpcStubBuffer *This,
  2193.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2194.     PRPC_MESSAGE _pRpcMessage,
  2195.     DWORD *_pdwStubPhase);
  2196.  
  2197.  
  2198. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetMediaType_Proxy( 
  2199.     IAMMediaTypeSample __RPC_FAR * This,
  2200.     AM_MEDIA_TYPE __RPC_FAR *pMediaType);
  2201.  
  2202.  
  2203. void __RPC_STUB IAMMediaTypeSample_SetMediaType_Stub(
  2204.     IRpcStubBuffer *This,
  2205.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2206.     PRPC_MESSAGE _pRpcMessage,
  2207.     DWORD *_pdwStubPhase);
  2208.  
  2209.  
  2210. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_IsDiscontinuity_Proxy( 
  2211.     IAMMediaTypeSample __RPC_FAR * This);
  2212.  
  2213.  
  2214. void __RPC_STUB IAMMediaTypeSample_IsDiscontinuity_Stub(
  2215.     IRpcStubBuffer *This,
  2216.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2217.     PRPC_MESSAGE _pRpcMessage,
  2218.     DWORD *_pdwStubPhase);
  2219.  
  2220.  
  2221. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetDiscontinuity_Proxy( 
  2222.     IAMMediaTypeSample __RPC_FAR * This,
  2223.     BOOL bDiscontinuity);
  2224.  
  2225.  
  2226. void __RPC_STUB IAMMediaTypeSample_SetDiscontinuity_Stub(
  2227.     IRpcStubBuffer *This,
  2228.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2229.     PRPC_MESSAGE _pRpcMessage,
  2230.     DWORD *_pdwStubPhase);
  2231.  
  2232.  
  2233. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_GetMediaTime_Proxy( 
  2234.     IAMMediaTypeSample __RPC_FAR * This,
  2235.     /* [out] */ LONGLONG __RPC_FAR *pTimeStart,
  2236.     /* [out] */ LONGLONG __RPC_FAR *pTimeEnd);
  2237.  
  2238.  
  2239. void __RPC_STUB IAMMediaTypeSample_GetMediaTime_Stub(
  2240.     IRpcStubBuffer *This,
  2241.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2242.     PRPC_MESSAGE _pRpcMessage,
  2243.     DWORD *_pdwStubPhase);
  2244.  
  2245.  
  2246. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetMediaTime_Proxy( 
  2247.     IAMMediaTypeSample __RPC_FAR * This,
  2248.     /* [in] */ LONGLONG __RPC_FAR *pTimeStart,
  2249.     /* [in] */ LONGLONG __RPC_FAR *pTimeEnd);
  2250.  
  2251.  
  2252. void __RPC_STUB IAMMediaTypeSample_SetMediaTime_Stub(
  2253.     IRpcStubBuffer *This,
  2254.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2255.     PRPC_MESSAGE _pRpcMessage,
  2256.     DWORD *_pdwStubPhase);
  2257.  
  2258.  
  2259.  
  2260. #endif     /* __IAMMediaTypeSample_INTERFACE_DEFINED__ */
  2261.  
  2262.  
  2263.  
  2264. #ifndef __DirectShowStreamLib_LIBRARY_DEFINED__
  2265. #define __DirectShowStreamLib_LIBRARY_DEFINED__
  2266.  
  2267. /****************************************
  2268.  * Generated header for library: DirectShowStreamLib
  2269.  * at Thu Nov 13 19:28:37 1997
  2270.  * using MIDL 3.02.88
  2271.  ****************************************/
  2272. /* [helpstring][version][uuid] */ 
  2273.  
  2274.  
  2275.  
  2276. EXTERN_C const IID LIBID_DirectShowStreamLib;
  2277.  
  2278. EXTERN_C const CLSID CLSID_AMMultiMediaStream;
  2279.  
  2280. #ifdef __cplusplus
  2281.  
  2282. class DECLSPEC_UUID("49c47ce5-9ba4-11d0-8212-00c04fc32c45")
  2283. AMMultiMediaStream;
  2284. #endif
  2285. #endif /* __DirectShowStreamLib_LIBRARY_DEFINED__ */
  2286.  
  2287. /****************************************
  2288.  * Generated header for interface: __MIDL_itf_amstream_0239
  2289.  * at Thu Nov 13 19:28:37 1997
  2290.  * using MIDL 3.02.88
  2291.  ****************************************/
  2292. /* [local] */ 
  2293.  
  2294.  
  2295. #ifndef __cplusplus
  2296. EXTERN_C const CLSID CLSID_AMMultiMediaStream;
  2297. #endif
  2298. DEFINE_GUID(CLSID_AMDirectDrawStream, /* 49c47ce4-9ba4-11d0-8212-00c04fc32c45 */
  2299. 0x49c47ce4, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);
  2300. DEFINE_GUID(CLSID_AMAudioStream, /* 8496e040-af4c-11d0-8212-00c04fc32c45 */
  2301. 0x8496e040, 0xaf4c, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);
  2302. DEFINE_GUID(CLSID_AMAudioData, /* f2468580-af8a-11d0-8212-00c04fc32c45 */
  2303. 0xf2468580, 0xaf8a, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);
  2304. DEFINE_GUID(CLSID_AMMediaTypeStream, /* CF0F2F7C-F7BF-11d0-900D-00C04FD9189D */
  2305. 0xcf0f2f7c, 0xf7bf, 0x11d0, 0x90, 0xd, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0x9d);
  2306.  
  2307.  
  2308. extern RPC_IF_HANDLE __MIDL_itf_amstream_0239_v0_0_c_ifspec;
  2309. extern RPC_IF_HANDLE __MIDL_itf_amstream_0239_v0_0_s_ifspec;
  2310.  
  2311. /* Additional Prototypes for ALL interfaces */
  2312.  
  2313. unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long __RPC_FAR *, unsigned long            , BSTR __RPC_FAR * ); 
  2314. unsigned char __RPC_FAR * __RPC_USER  BSTR_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
  2315. unsigned char __RPC_FAR * __RPC_USER  BSTR_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
  2316. void                      __RPC_USER  BSTR_UserFree(     unsigned long __RPC_FAR *, BSTR __RPC_FAR * ); 
  2317.  
  2318. /* end of Additional Prototypes */
  2319.  
  2320. #ifdef __cplusplus
  2321. }
  2322. #endif
  2323.  
  2324. #endif
  2325.