home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 May / PCP163A.iso / Runimage / Cbuilder4 / Include / MMSTREAM.H < prev    next >
Encoding:
C/C++ Source or Header  |  1999-01-26  |  26.9 KB  |  844 lines

  1. #pragma option push -b -a8 -pc -A- /*P_O_Push_S*/
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3.  
  4.  
  5. /* File created by MIDL compiler version 3.02.88 */
  6. /* at Thu Nov 13 19:28:38 1997
  7.  */
  8. /* Compiler settings for mmstream.idl:
  9.     Oicf (OptLev=i2), W1, Zp8, env=Win32, ms_ext, c_ext
  10.     error checks: none
  11. */
  12. //@@MIDL_FILE_HEADING(  )
  13. #include "rpc.h"
  14. #include "rpcndr.h"
  15. #ifndef COM_NO_WINDOWS_H
  16. #include "windows.h"
  17. #include "ole2.h"
  18. #endif /*COM_NO_WINDOWS_H*/
  19.  
  20. #ifndef __mmstream_h__
  21. #define __mmstream_h__
  22.  
  23. #ifdef __cplusplus
  24. extern "C"{
  25. #endif 
  26.  
  27. /* Forward Declarations */ 
  28.  
  29. #ifndef __IMultiMediaStream_FWD_DEFINED__
  30. #define __IMultiMediaStream_FWD_DEFINED__
  31. typedef interface IMultiMediaStream IMultiMediaStream;
  32. #endif     /* __IMultiMediaStream_FWD_DEFINED__ */
  33.  
  34.  
  35. #ifndef __IMediaStream_FWD_DEFINED__
  36. #define __IMediaStream_FWD_DEFINED__
  37. typedef interface IMediaStream IMediaStream;
  38. #endif     /* __IMediaStream_FWD_DEFINED__ */
  39.  
  40.  
  41. #ifndef __IStreamSample_FWD_DEFINED__
  42. #define __IStreamSample_FWD_DEFINED__
  43. typedef interface IStreamSample IStreamSample;
  44. #endif     /* __IStreamSample_FWD_DEFINED__ */
  45.  
  46.  
  47. /* header files for imported files */
  48. #include "unknwn.h"
  49.  
  50. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  51. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  52.  
  53. /****************************************
  54.  * Generated header for interface: __MIDL_itf_mmstream_0000
  55.  * at Thu Nov 13 19:28:38 1997
  56.  * using MIDL 3.02.88
  57.  ****************************************/
  58. /* [local] */ 
  59.  
  60.  
  61. #define MS_ERROR_CODE(x) MAKE_HRESULT(1, FACILITY_ITF, (x) + 0x400)
  62. #define MS_SUCCESS_CODE(x) MAKE_HRESULT(0, FACILITY_ITF, x)
  63. #define MS_S_PENDING                     MS_SUCCESS_CODE(1)
  64. #define MS_S_NOUPDATE                     MS_SUCCESS_CODE(2)
  65. #define MS_S_ENDOFSTREAM                 MS_SUCCESS_CODE(3)
  66. #define MS_E_SAMPLEALLOC                  MS_ERROR_CODE(1)
  67. #define MS_E_PURPOSEID                 MS_ERROR_CODE(2)
  68. #define MS_E_NOSTREAM                 MS_ERROR_CODE(3)
  69. #define MS_E_NOSEEKING                 MS_ERROR_CODE(4)
  70. #define MS_E_INCOMPATIBLE                 MS_ERROR_CODE(5)
  71. #define MS_E_BUSY                     MS_ERROR_CODE(6)
  72. #define MS_E_NOTINIT                     MS_ERROR_CODE(7)
  73. #define MS_E_SOURCEALREADYDEFINED         MS_ERROR_CODE(8)
  74. #define MS_E_INVALIDSTREAMTYPE            MS_ERROR_CODE(9)
  75. #define MS_E_NOTRUNNING                   MS_ERROR_CODE(10)
  76. // {A35FF56A-9FDA-11d0-8FDF-00C04FD9189D}
  77. DEFINE_GUID(MSPID_PrimaryVideo, 
  78. 0xa35ff56a, 0x9fda, 0x11d0, 0x8f, 0xdf, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0x9d);
  79. // {A35FF56B-9FDA-11d0-8FDF-00C04FD9189D}
  80. DEFINE_GUID(MSPID_PrimaryAudio,
  81. 0xa35ff56b, 0x9fda, 0x11d0, 0x8f, 0xdf, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0x9d);
  82. typedef void ( __stdcall __RPC_FAR *PAPCFUNC )( 
  83.     DWORD dwParam);
  84.  
  85. typedef LONGLONG STREAM_TIME;
  86.  
  87. typedef GUID MSPID;
  88.  
  89. typedef REFGUID REFMSPID;
  90.  
  91. typedef /* [public][public][public] */ 
  92. enum __MIDL___MIDL_itf_mmstream_0000_0001
  93.     {    STREAMTYPE_READ    = 0,
  94.     STREAMTYPE_WRITE    = 1,
  95.     STREAMTYPE_TRANSFORM    = 2
  96.     }    STREAM_TYPE;
  97.  
  98. typedef /* [public][public][public] */ 
  99. enum __MIDL___MIDL_itf_mmstream_0000_0002
  100.     {    STREAMSTATE_STOP    = 0,
  101.     STREAMSTATE_RUN    = 1
  102.     }    STREAM_STATE;
  103.  
  104. typedef /* [public] */ 
  105. enum __MIDL___MIDL_itf_mmstream_0000_0003
  106.     {    COMPSTAT_NOUPDATEOK    = 0x1,
  107.     COMPSTAT_WAIT    = 0x2,
  108.     COMPSTAT_ABORT    = 0x4
  109.     }    COMPLETION_STATUS_FLAGS;
  110.  
  111.  
  112. enum __MIDL___MIDL_itf_mmstream_0000_0004
  113.     {    MMSSF_HASCLOCK    = 0x1,
  114.     MMSSF_SUPPORTSEEK    = 0x2,
  115.     MMSSF_ASYNCHRONOUS    = 0x4
  116.     };
  117.  
  118. enum __MIDL___MIDL_itf_mmstream_0000_0005
  119.     {    SSUPDATE_ASYNC    = 0x1,
  120.     SSUPDATE_CONTINUOUS    = 0x2
  121.     };
  122.  
  123.  
  124.  
  125.  
  126.  
  127. extern RPC_IF_HANDLE __MIDL_itf_mmstream_0000_v0_0_c_ifspec;
  128. extern RPC_IF_HANDLE __MIDL_itf_mmstream_0000_v0_0_s_ifspec;
  129.  
  130. #ifndef __IMultiMediaStream_INTERFACE_DEFINED__
  131. #define __IMultiMediaStream_INTERFACE_DEFINED__
  132.  
  133. /****************************************
  134.  * Generated header for interface: IMultiMediaStream
  135.  * at Thu Nov 13 19:28:38 1997
  136.  * using MIDL 3.02.88
  137.  ****************************************/
  138. /* [unique][uuid][local][object] */ 
  139.  
  140.  
  141.  
  142. EXTERN_C const IID IID_IMultiMediaStream;
  143.  
  144. #if defined(__cplusplus) && !defined(CINTERFACE)
  145.     
  146.     interface DECLSPEC_UUID("B502D1BC-9A57-11d0-8FDE-00C04FD9189D")
  147.     IMultiMediaStream : public IUnknown
  148.     {
  149.     public:
  150.         virtual HRESULT STDMETHODCALLTYPE GetInformation( 
  151.             /* [optional][out] */ DWORD __RPC_FAR *pdwFlags,
  152.             /* [optional][out] */ STREAM_TYPE __RPC_FAR *pStreamType) = 0;
  153.         
  154.         virtual HRESULT STDMETHODCALLTYPE GetMediaStream( 
  155.             /* [in] */ REFMSPID idPurpose,
  156.             /* [out] */ IMediaStream __RPC_FAR *__RPC_FAR *ppMediaStream) = 0;
  157.         
  158.         virtual HRESULT STDMETHODCALLTYPE EnumMediaStreams( 
  159.             /* [in] */ long Index,
  160.             /* [out] */ IMediaStream __RPC_FAR *__RPC_FAR *ppMediaStream) = 0;
  161.         
  162.         virtual HRESULT STDMETHODCALLTYPE GetState( 
  163.             /* [out] */ STREAM_STATE __RPC_FAR *pCurrentState) = 0;
  164.         
  165.         virtual HRESULT STDMETHODCALLTYPE SetState( 
  166.             /* [in] */ STREAM_STATE NewState) = 0;
  167.         
  168.         virtual HRESULT STDMETHODCALLTYPE GetTime( 
  169.             /* [out] */ STREAM_TIME __RPC_FAR *pCurrentTime) = 0;
  170.         
  171.         virtual HRESULT STDMETHODCALLTYPE GetDuration( 
  172.             /* [out] */ STREAM_TIME __RPC_FAR *pDuration) = 0;
  173.         
  174.         virtual HRESULT STDMETHODCALLTYPE Seek( 
  175.             /* [in] */ STREAM_TIME SeekTime) = 0;
  176.         
  177.         virtual HRESULT STDMETHODCALLTYPE GetEndOfStreamEventHandle( 
  178.             /* [out] */ HANDLE __RPC_FAR *phEOS) = 0;
  179.         
  180.     };
  181.     
  182. #else     /* C style interface */
  183.  
  184.     typedef struct IMultiMediaStreamVtbl
  185.     {
  186.         BEGIN_INTERFACE
  187.         
  188.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  189.             IMultiMediaStream __RPC_FAR * This,
  190.             /* [in] */ REFIID riid,
  191.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  192.         
  193.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  194.             IMultiMediaStream __RPC_FAR * This);
  195.         
  196.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  197.             IMultiMediaStream __RPC_FAR * This);
  198.         
  199.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetInformation )( 
  200.             IMultiMediaStream __RPC_FAR * This,
  201.             /* [optional][out] */ DWORD __RPC_FAR *pdwFlags,
  202.             /* [optional][out] */ STREAM_TYPE __RPC_FAR *pStreamType);
  203.         
  204.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMediaStream )( 
  205.             IMultiMediaStream __RPC_FAR * This,
  206.             /* [in] */ REFMSPID idPurpose,
  207.             /* [out] */ IMediaStream __RPC_FAR *__RPC_FAR *ppMediaStream);
  208.         
  209.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumMediaStreams )( 
  210.             IMultiMediaStream __RPC_FAR * This,
  211.             /* [in] */ long Index,
  212.             /* [out] */ IMediaStream __RPC_FAR *__RPC_FAR *ppMediaStream);
  213.         
  214.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetState )( 
  215.             IMultiMediaStream __RPC_FAR * This,
  216.             /* [out] */ STREAM_STATE __RPC_FAR *pCurrentState);
  217.         
  218.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetState )( 
  219.             IMultiMediaStream __RPC_FAR * This,
  220.             /* [in] */ STREAM_STATE NewState);
  221.         
  222.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTime )( 
  223.             IMultiMediaStream __RPC_FAR * This,
  224.             /* [out] */ STREAM_TIME __RPC_FAR *pCurrentTime);
  225.         
  226.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDuration )( 
  227.             IMultiMediaStream __RPC_FAR * This,
  228.             /* [out] */ STREAM_TIME __RPC_FAR *pDuration);
  229.         
  230.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Seek )( 
  231.             IMultiMediaStream __RPC_FAR * This,
  232.             /* [in] */ STREAM_TIME SeekTime);
  233.         
  234.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetEndOfStreamEventHandle )( 
  235.             IMultiMediaStream __RPC_FAR * This,
  236.             /* [out] */ HANDLE __RPC_FAR *phEOS);
  237.         
  238.         END_INTERFACE
  239.     } IMultiMediaStreamVtbl;
  240.  
  241.     interface IMultiMediaStream
  242.     {
  243.         CONST_VTBL struct IMultiMediaStreamVtbl __RPC_FAR *lpVtbl;
  244.     };
  245.  
  246.     
  247.  
  248. #ifdef COBJMACROS
  249.  
  250.  
  251. #define IMultiMediaStream_QueryInterface(This,riid,ppvObject)    \
  252.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  253.  
  254. #define IMultiMediaStream_AddRef(This)    \
  255.     (This)->lpVtbl -> AddRef(This)
  256.  
  257. #define IMultiMediaStream_Release(This)    \
  258.     (This)->lpVtbl -> Release(This)
  259.  
  260.  
  261. #define IMultiMediaStream_GetInformation(This,pdwFlags,pStreamType)    \
  262.     (This)->lpVtbl -> GetInformation(This,pdwFlags,pStreamType)
  263.  
  264. #define IMultiMediaStream_GetMediaStream(This,idPurpose,ppMediaStream)    \
  265.     (This)->lpVtbl -> GetMediaStream(This,idPurpose,ppMediaStream)
  266.  
  267. #define IMultiMediaStream_EnumMediaStreams(This,Index,ppMediaStream)    \
  268.     (This)->lpVtbl -> EnumMediaStreams(This,Index,ppMediaStream)
  269.  
  270. #define IMultiMediaStream_GetState(This,pCurrentState)    \
  271.     (This)->lpVtbl -> GetState(This,pCurrentState)
  272.  
  273. #define IMultiMediaStream_SetState(This,NewState)    \
  274.     (This)->lpVtbl -> SetState(This,NewState)
  275.  
  276. #define IMultiMediaStream_GetTime(This,pCurrentTime)    \
  277.     (This)->lpVtbl -> GetTime(This,pCurrentTime)
  278.  
  279. #define IMultiMediaStream_GetDuration(This,pDuration)    \
  280.     (This)->lpVtbl -> GetDuration(This,pDuration)
  281.  
  282. #define IMultiMediaStream_Seek(This,SeekTime)    \
  283.     (This)->lpVtbl -> Seek(This,SeekTime)
  284.  
  285. #define IMultiMediaStream_GetEndOfStreamEventHandle(This,phEOS)    \
  286.     (This)->lpVtbl -> GetEndOfStreamEventHandle(This,phEOS)
  287.  
  288. #endif /* COBJMACROS */
  289.  
  290.  
  291. #endif     /* C style interface */
  292.  
  293.  
  294.  
  295. HRESULT STDMETHODCALLTYPE IMultiMediaStream_GetInformation_Proxy( 
  296.     IMultiMediaStream __RPC_FAR * This,
  297.     /* [optional][out] */ DWORD __RPC_FAR *pdwFlags,
  298.     /* [optional][out] */ STREAM_TYPE __RPC_FAR *pStreamType);
  299.  
  300.  
  301. void __RPC_STUB IMultiMediaStream_GetInformation_Stub(
  302.     IRpcStubBuffer *This,
  303.     IRpcChannelBuffer *_pRpcChannelBuffer,
  304.     PRPC_MESSAGE _pRpcMessage,
  305.     DWORD *_pdwStubPhase);
  306.  
  307.  
  308. HRESULT STDMETHODCALLTYPE IMultiMediaStream_GetMediaStream_Proxy( 
  309.     IMultiMediaStream __RPC_FAR * This,
  310.     /* [in] */ REFMSPID idPurpose,
  311.     /* [out] */ IMediaStream __RPC_FAR *__RPC_FAR *ppMediaStream);
  312.  
  313.  
  314. void __RPC_STUB IMultiMediaStream_GetMediaStream_Stub(
  315.     IRpcStubBuffer *This,
  316.     IRpcChannelBuffer *_pRpcChannelBuffer,
  317.     PRPC_MESSAGE _pRpcMessage,
  318.     DWORD *_pdwStubPhase);
  319.  
  320.  
  321. HRESULT STDMETHODCALLTYPE IMultiMediaStream_EnumMediaStreams_Proxy( 
  322.     IMultiMediaStream __RPC_FAR * This,
  323.     /* [in] */ long Index,
  324.     /* [out] */ IMediaStream __RPC_FAR *__RPC_FAR *ppMediaStream);
  325.  
  326.  
  327. void __RPC_STUB IMultiMediaStream_EnumMediaStreams_Stub(
  328.     IRpcStubBuffer *This,
  329.     IRpcChannelBuffer *_pRpcChannelBuffer,
  330.     PRPC_MESSAGE _pRpcMessage,
  331.     DWORD *_pdwStubPhase);
  332.  
  333.  
  334. HRESULT STDMETHODCALLTYPE IMultiMediaStream_GetState_Proxy( 
  335.     IMultiMediaStream __RPC_FAR * This,
  336.     /* [out] */ STREAM_STATE __RPC_FAR *pCurrentState);
  337.  
  338.  
  339. void __RPC_STUB IMultiMediaStream_GetState_Stub(
  340.     IRpcStubBuffer *This,
  341.     IRpcChannelBuffer *_pRpcChannelBuffer,
  342.     PRPC_MESSAGE _pRpcMessage,
  343.     DWORD *_pdwStubPhase);
  344.  
  345.  
  346. HRESULT STDMETHODCALLTYPE IMultiMediaStream_SetState_Proxy( 
  347.     IMultiMediaStream __RPC_FAR * This,
  348.     /* [in] */ STREAM_STATE NewState);
  349.  
  350.  
  351. void __RPC_STUB IMultiMediaStream_SetState_Stub(
  352.     IRpcStubBuffer *This,
  353.     IRpcChannelBuffer *_pRpcChannelBuffer,
  354.     PRPC_MESSAGE _pRpcMessage,
  355.     DWORD *_pdwStubPhase);
  356.  
  357.  
  358. HRESULT STDMETHODCALLTYPE IMultiMediaStream_GetTime_Proxy( 
  359.     IMultiMediaStream __RPC_FAR * This,
  360.     /* [out] */ STREAM_TIME __RPC_FAR *pCurrentTime);
  361.  
  362.  
  363. void __RPC_STUB IMultiMediaStream_GetTime_Stub(
  364.     IRpcStubBuffer *This,
  365.     IRpcChannelBuffer *_pRpcChannelBuffer,
  366.     PRPC_MESSAGE _pRpcMessage,
  367.     DWORD *_pdwStubPhase);
  368.  
  369.  
  370. HRESULT STDMETHODCALLTYPE IMultiMediaStream_GetDuration_Proxy( 
  371.     IMultiMediaStream __RPC_FAR * This,
  372.     /* [out] */ STREAM_TIME __RPC_FAR *pDuration);
  373.  
  374.  
  375. void __RPC_STUB IMultiMediaStream_GetDuration_Stub(
  376.     IRpcStubBuffer *This,
  377.     IRpcChannelBuffer *_pRpcChannelBuffer,
  378.     PRPC_MESSAGE _pRpcMessage,
  379.     DWORD *_pdwStubPhase);
  380.  
  381.  
  382. HRESULT STDMETHODCALLTYPE IMultiMediaStream_Seek_Proxy( 
  383.     IMultiMediaStream __RPC_FAR * This,
  384.     /* [in] */ STREAM_TIME SeekTime);
  385.  
  386.  
  387. void __RPC_STUB IMultiMediaStream_Seek_Stub(
  388.     IRpcStubBuffer *This,
  389.     IRpcChannelBuffer *_pRpcChannelBuffer,
  390.     PRPC_MESSAGE _pRpcMessage,
  391.     DWORD *_pdwStubPhase);
  392.  
  393.  
  394. HRESULT STDMETHODCALLTYPE IMultiMediaStream_GetEndOfStreamEventHandle_Proxy( 
  395.     IMultiMediaStream __RPC_FAR * This,
  396.     /* [out] */ HANDLE __RPC_FAR *phEOS);
  397.  
  398.  
  399. void __RPC_STUB IMultiMediaStream_GetEndOfStreamEventHandle_Stub(
  400.     IRpcStubBuffer *This,
  401.     IRpcChannelBuffer *_pRpcChannelBuffer,
  402.     PRPC_MESSAGE _pRpcMessage,
  403.     DWORD *_pdwStubPhase);
  404.  
  405.  
  406.  
  407. #endif     /* __IMultiMediaStream_INTERFACE_DEFINED__ */
  408.  
  409.  
  410. #ifndef __IMediaStream_INTERFACE_DEFINED__
  411. #define __IMediaStream_INTERFACE_DEFINED__
  412.  
  413. /****************************************
  414.  * Generated header for interface: IMediaStream
  415.  * at Thu Nov 13 19:28:38 1997
  416.  * using MIDL 3.02.88
  417.  ****************************************/
  418. /* [unique][uuid][object] */ 
  419.  
  420.  
  421.  
  422. EXTERN_C const IID IID_IMediaStream;
  423.  
  424. #if defined(__cplusplus) && !defined(CINTERFACE)
  425.     
  426.     interface DECLSPEC_UUID("B502D1BD-9A57-11d0-8FDE-00C04FD9189D")
  427.     IMediaStream : public IUnknown
  428.     {
  429.     public:
  430.         virtual HRESULT STDMETHODCALLTYPE GetMultiMediaStream( 
  431.             /* [out] */ IMultiMediaStream __RPC_FAR *__RPC_FAR *ppMultiMediaStream) = 0;
  432.         
  433.         virtual HRESULT STDMETHODCALLTYPE GetInformation( 
  434.             /* [optional][out] */ MSPID __RPC_FAR *pPurposeId,
  435.             /* [optional][out] */ STREAM_TYPE __RPC_FAR *pType) = 0;
  436.         
  437.         virtual HRESULT STDMETHODCALLTYPE SetSameFormat( 
  438.             /* [in] */ IMediaStream __RPC_FAR *pStreamThatHasDesiredFormat,
  439.             /* [in] */ DWORD dwFlags) = 0;
  440.         
  441.         virtual HRESULT STDMETHODCALLTYPE AllocateSample( 
  442.             /* [in] */ DWORD dwFlags,
  443.             /* [out] */ IStreamSample __RPC_FAR *__RPC_FAR *ppSample) = 0;
  444.         
  445.         virtual HRESULT STDMETHODCALLTYPE CreateSharedSample( 
  446.             /* [in] */ IStreamSample __RPC_FAR *pExistingSample,
  447.             /* [in] */ DWORD dwFlags,
  448.             /* [out] */ IStreamSample __RPC_FAR *__RPC_FAR *ppNewSample) = 0;
  449.         
  450.         virtual HRESULT STDMETHODCALLTYPE SendEndOfStream( 
  451.             DWORD dwFlags) = 0;
  452.         
  453.     };
  454.     
  455. #else     /* C style interface */
  456.  
  457.     typedef struct IMediaStreamVtbl
  458.     {
  459.         BEGIN_INTERFACE
  460.         
  461.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  462.             IMediaStream __RPC_FAR * This,
  463.             /* [in] */ REFIID riid,
  464.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  465.         
  466.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  467.             IMediaStream __RPC_FAR * This);
  468.         
  469.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  470.             IMediaStream __RPC_FAR * This);
  471.         
  472.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMultiMediaStream )( 
  473.             IMediaStream __RPC_FAR * This,
  474.             /* [out] */ IMultiMediaStream __RPC_FAR *__RPC_FAR *ppMultiMediaStream);
  475.         
  476.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetInformation )( 
  477.             IMediaStream __RPC_FAR * This,
  478.             /* [optional][out] */ MSPID __RPC_FAR *pPurposeId,
  479.             /* [optional][out] */ STREAM_TYPE __RPC_FAR *pType);
  480.         
  481.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSameFormat )( 
  482.             IMediaStream __RPC_FAR * This,
  483.             /* [in] */ IMediaStream __RPC_FAR *pStreamThatHasDesiredFormat,
  484.             /* [in] */ DWORD dwFlags);
  485.         
  486.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AllocateSample )( 
  487.             IMediaStream __RPC_FAR * This,
  488.             /* [in] */ DWORD dwFlags,
  489.             /* [out] */ IStreamSample __RPC_FAR *__RPC_FAR *ppSample);
  490.         
  491.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateSharedSample )( 
  492.             IMediaStream __RPC_FAR * This,
  493.             /* [in] */ IStreamSample __RPC_FAR *pExistingSample,
  494.             /* [in] */ DWORD dwFlags,
  495.             /* [out] */ IStreamSample __RPC_FAR *__RPC_FAR *ppNewSample);
  496.         
  497.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SendEndOfStream )( 
  498.             IMediaStream __RPC_FAR * This,
  499.             DWORD dwFlags);
  500.         
  501.         END_INTERFACE
  502.     } IMediaStreamVtbl;
  503.  
  504.     interface IMediaStream
  505.     {
  506.         CONST_VTBL struct IMediaStreamVtbl __RPC_FAR *lpVtbl;
  507.     };
  508.  
  509.     
  510.  
  511. #ifdef COBJMACROS
  512.  
  513.  
  514. #define IMediaStream_QueryInterface(This,riid,ppvObject)    \
  515.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  516.  
  517. #define IMediaStream_AddRef(This)    \
  518.     (This)->lpVtbl -> AddRef(This)
  519.  
  520. #define IMediaStream_Release(This)    \
  521.     (This)->lpVtbl -> Release(This)
  522.  
  523.  
  524. #define IMediaStream_GetMultiMediaStream(This,ppMultiMediaStream)    \
  525.     (This)->lpVtbl -> GetMultiMediaStream(This,ppMultiMediaStream)
  526.  
  527. #define IMediaStream_GetInformation(This,pPurposeId,pType)    \
  528.     (This)->lpVtbl -> GetInformation(This,pPurposeId,pType)
  529.  
  530. #define IMediaStream_SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags)    \
  531.     (This)->lpVtbl -> SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags)
  532.  
  533. #define IMediaStream_AllocateSample(This,dwFlags,ppSample)    \
  534.     (This)->lpVtbl -> AllocateSample(This,dwFlags,ppSample)
  535.  
  536. #define IMediaStream_CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample)    \
  537.     (This)->lpVtbl -> CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample)
  538.  
  539. #define IMediaStream_SendEndOfStream(This,dwFlags)    \
  540.     (This)->lpVtbl -> SendEndOfStream(This,dwFlags)
  541.  
  542. #endif /* COBJMACROS */
  543.  
  544.  
  545. #endif     /* C style interface */
  546.  
  547.  
  548.  
  549. HRESULT STDMETHODCALLTYPE IMediaStream_GetMultiMediaStream_Proxy( 
  550.     IMediaStream __RPC_FAR * This,
  551.     /* [out] */ IMultiMediaStream __RPC_FAR *__RPC_FAR *ppMultiMediaStream);
  552.  
  553.  
  554. void __RPC_STUB IMediaStream_GetMultiMediaStream_Stub(
  555.     IRpcStubBuffer *This,
  556.     IRpcChannelBuffer *_pRpcChannelBuffer,
  557.     PRPC_MESSAGE _pRpcMessage,
  558.     DWORD *_pdwStubPhase);
  559.  
  560.  
  561. HRESULT STDMETHODCALLTYPE IMediaStream_GetInformation_Proxy( 
  562.     IMediaStream __RPC_FAR * This,
  563.     /* [optional][out] */ MSPID __RPC_FAR *pPurposeId,
  564.     /* [optional][out] */ STREAM_TYPE __RPC_FAR *pType);
  565.  
  566.  
  567. void __RPC_STUB IMediaStream_GetInformation_Stub(
  568.     IRpcStubBuffer *This,
  569.     IRpcChannelBuffer *_pRpcChannelBuffer,
  570.     PRPC_MESSAGE _pRpcMessage,
  571.     DWORD *_pdwStubPhase);
  572.  
  573.  
  574. HRESULT STDMETHODCALLTYPE IMediaStream_SetSameFormat_Proxy( 
  575.     IMediaStream __RPC_FAR * This,
  576.     /* [in] */ IMediaStream __RPC_FAR *pStreamThatHasDesiredFormat,
  577.     /* [in] */ DWORD dwFlags);
  578.  
  579.  
  580. void __RPC_STUB IMediaStream_SetSameFormat_Stub(
  581.     IRpcStubBuffer *This,
  582.     IRpcChannelBuffer *_pRpcChannelBuffer,
  583.     PRPC_MESSAGE _pRpcMessage,
  584.     DWORD *_pdwStubPhase);
  585.  
  586.  
  587. HRESULT STDMETHODCALLTYPE IMediaStream_AllocateSample_Proxy( 
  588.     IMediaStream __RPC_FAR * This,
  589.     /* [in] */ DWORD dwFlags,
  590.     /* [out] */ IStreamSample __RPC_FAR *__RPC_FAR *ppSample);
  591.  
  592.  
  593. void __RPC_STUB IMediaStream_AllocateSample_Stub(
  594.     IRpcStubBuffer *This,
  595.     IRpcChannelBuffer *_pRpcChannelBuffer,
  596.     PRPC_MESSAGE _pRpcMessage,
  597.     DWORD *_pdwStubPhase);
  598.  
  599.  
  600. HRESULT STDMETHODCALLTYPE IMediaStream_CreateSharedSample_Proxy( 
  601.     IMediaStream __RPC_FAR * This,
  602.     /* [in] */ IStreamSample __RPC_FAR *pExistingSample,
  603.     /* [in] */ DWORD dwFlags,
  604.     /* [out] */ IStreamSample __RPC_FAR *__RPC_FAR *ppNewSample);
  605.  
  606.  
  607. void __RPC_STUB IMediaStream_CreateSharedSample_Stub(
  608.     IRpcStubBuffer *This,
  609.     IRpcChannelBuffer *_pRpcChannelBuffer,
  610.     PRPC_MESSAGE _pRpcMessage,
  611.     DWORD *_pdwStubPhase);
  612.  
  613.  
  614. HRESULT STDMETHODCALLTYPE IMediaStream_SendEndOfStream_Proxy( 
  615.     IMediaStream __RPC_FAR * This,
  616.     DWORD dwFlags);
  617.  
  618.  
  619. void __RPC_STUB IMediaStream_SendEndOfStream_Stub(
  620.     IRpcStubBuffer *This,
  621.     IRpcChannelBuffer *_pRpcChannelBuffer,
  622.     PRPC_MESSAGE _pRpcMessage,
  623.     DWORD *_pdwStubPhase);
  624.  
  625.  
  626.  
  627. #endif     /* __IMediaStream_INTERFACE_DEFINED__ */
  628.  
  629.  
  630. #ifndef __IStreamSample_INTERFACE_DEFINED__
  631. #define __IStreamSample_INTERFACE_DEFINED__
  632.  
  633. /****************************************
  634.  * Generated header for interface: IStreamSample
  635.  * at Thu Nov 13 19:28:38 1997
  636.  * using MIDL 3.02.88
  637.  ****************************************/
  638. /* [unique][uuid][local][object] */ 
  639.  
  640.  
  641.  
  642. EXTERN_C const IID IID_IStreamSample;
  643.  
  644. #if defined(__cplusplus) && !defined(CINTERFACE)
  645.     
  646.     interface DECLSPEC_UUID("B502D1BE-9A57-11d0-8FDE-00C04FD9189D")
  647.     IStreamSample : public IUnknown
  648.     {
  649.     public:
  650.         virtual HRESULT STDMETHODCALLTYPE GetMediaStream( 
  651.             /* [in] */ IMediaStream __RPC_FAR *__RPC_FAR *ppMediaStream) = 0;
  652.         
  653.         virtual HRESULT STDMETHODCALLTYPE GetSampleTimes( 
  654.             /* [optional][out] */ STREAM_TIME __RPC_FAR *pStartTime,
  655.             /* [optional][out] */ STREAM_TIME __RPC_FAR *pEndTime,
  656.             /* [optional][out] */ STREAM_TIME __RPC_FAR *pCurrentTime) = 0;
  657.         
  658.         virtual HRESULT STDMETHODCALLTYPE SetSampleTimes( 
  659.             /* [optional][in] */ const STREAM_TIME __RPC_FAR *pStartTime,
  660.             /* [optional][in] */ const STREAM_TIME __RPC_FAR *pEndTime) = 0;
  661.         
  662.         virtual HRESULT STDMETHODCALLTYPE Update( 
  663.             /* [in] */ DWORD dwFlags,
  664.             /* [optional][in] */ HANDLE hEvent,
  665.             /* [optional][in] */ PAPCFUNC pfnAPC,
  666.             /* [optional][in] */ DWORD dwAPCData) = 0;
  667.         
  668.         virtual HRESULT STDMETHODCALLTYPE CompletionStatus( 
  669.             /* [in] */ DWORD dwFlags,
  670.             /* [optional][in] */ DWORD dwMilliseconds) = 0;
  671.         
  672.     };
  673.     
  674. #else     /* C style interface */
  675.  
  676.     typedef struct IStreamSampleVtbl
  677.     {
  678.         BEGIN_INTERFACE
  679.         
  680.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  681.             IStreamSample __RPC_FAR * This,
  682.             /* [in] */ REFIID riid,
  683.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  684.         
  685.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  686.             IStreamSample __RPC_FAR * This);
  687.         
  688.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  689.             IStreamSample __RPC_FAR * This);
  690.         
  691.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMediaStream )( 
  692.             IStreamSample __RPC_FAR * This,
  693.             /* [in] */ IMediaStream __RPC_FAR *__RPC_FAR *ppMediaStream);
  694.         
  695.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSampleTimes )( 
  696.             IStreamSample __RPC_FAR * This,
  697.             /* [optional][out] */ STREAM_TIME __RPC_FAR *pStartTime,
  698.             /* [optional][out] */ STREAM_TIME __RPC_FAR *pEndTime,
  699.             /* [optional][out] */ STREAM_TIME __RPC_FAR *pCurrentTime);
  700.         
  701.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSampleTimes )( 
  702.             IStreamSample __RPC_FAR * This,
  703.             /* [optional][in] */ const STREAM_TIME __RPC_FAR *pStartTime,
  704.             /* [optional][in] */ const STREAM_TIME __RPC_FAR *pEndTime);
  705.         
  706.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
  707.             IStreamSample __RPC_FAR * This,
  708.             /* [in] */ DWORD dwFlags,
  709.             /* [optional][in] */ HANDLE hEvent,
  710.             /* [optional][in] */ PAPCFUNC pfnAPC,
  711.             /* [optional][in] */ DWORD dwAPCData);
  712.         
  713.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CompletionStatus )( 
  714.             IStreamSample __RPC_FAR * This,
  715.             /* [in] */ DWORD dwFlags,
  716.             /* [optional][in] */ DWORD dwMilliseconds);
  717.         
  718.         END_INTERFACE
  719.     } IStreamSampleVtbl;
  720.  
  721.     interface IStreamSample
  722.     {
  723.         CONST_VTBL struct IStreamSampleVtbl __RPC_FAR *lpVtbl;
  724.     };
  725.  
  726.     
  727.  
  728. #ifdef COBJMACROS
  729.  
  730.  
  731. #define IStreamSample_QueryInterface(This,riid,ppvObject)    \
  732.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  733.  
  734. #define IStreamSample_AddRef(This)    \
  735.     (This)->lpVtbl -> AddRef(This)
  736.  
  737. #define IStreamSample_Release(This)    \
  738.     (This)->lpVtbl -> Release(This)
  739.  
  740.  
  741. #define IStreamSample_GetMediaStream(This,ppMediaStream)    \
  742.     (This)->lpVtbl -> GetMediaStream(This,ppMediaStream)
  743.  
  744. #define IStreamSample_GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime)    \
  745.     (This)->lpVtbl -> GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime)
  746.  
  747. #define IStreamSample_SetSampleTimes(This,pStartTime,pEndTime)    \
  748.     (This)->lpVtbl -> SetSampleTimes(This,pStartTime,pEndTime)
  749.  
  750. #define IStreamSample_Update(This,dwFlags,hEvent,pfnAPC,dwAPCData)    \
  751.     (This)->lpVtbl -> Update(This,dwFlags,hEvent,pfnAPC,dwAPCData)
  752.  
  753. #define IStreamSample_CompletionStatus(This,dwFlags,dwMilliseconds)    \
  754.     (This)->lpVtbl -> CompletionStatus(This,dwFlags,dwMilliseconds)
  755.  
  756. #endif /* COBJMACROS */
  757.  
  758.  
  759. #endif     /* C style interface */
  760.  
  761.  
  762.  
  763. HRESULT STDMETHODCALLTYPE IStreamSample_GetMediaStream_Proxy( 
  764.     IStreamSample __RPC_FAR * This,
  765.     /* [in] */ IMediaStream __RPC_FAR *__RPC_FAR *ppMediaStream);
  766.  
  767.  
  768. void __RPC_STUB IStreamSample_GetMediaStream_Stub(
  769.     IRpcStubBuffer *This,
  770.     IRpcChannelBuffer *_pRpcChannelBuffer,
  771.     PRPC_MESSAGE _pRpcMessage,
  772.     DWORD *_pdwStubPhase);
  773.  
  774.  
  775. HRESULT STDMETHODCALLTYPE IStreamSample_GetSampleTimes_Proxy( 
  776.     IStreamSample __RPC_FAR * This,
  777.     /* [optional][out] */ STREAM_TIME __RPC_FAR *pStartTime,
  778.     /* [optional][out] */ STREAM_TIME __RPC_FAR *pEndTime,
  779.     /* [optional][out] */ STREAM_TIME __RPC_FAR *pCurrentTime);
  780.  
  781.  
  782. void __RPC_STUB IStreamSample_GetSampleTimes_Stub(
  783.     IRpcStubBuffer *This,
  784.     IRpcChannelBuffer *_pRpcChannelBuffer,
  785.     PRPC_MESSAGE _pRpcMessage,
  786.     DWORD *_pdwStubPhase);
  787.  
  788.  
  789. HRESULT STDMETHODCALLTYPE IStreamSample_SetSampleTimes_Proxy( 
  790.     IStreamSample __RPC_FAR * This,
  791.     /* [optional][in] */ const STREAM_TIME __RPC_FAR *pStartTime,
  792.     /* [optional][in] */ const STREAM_TIME __RPC_FAR *pEndTime);
  793.  
  794.  
  795. void __RPC_STUB IStreamSample_SetSampleTimes_Stub(
  796.     IRpcStubBuffer *This,
  797.     IRpcChannelBuffer *_pRpcChannelBuffer,
  798.     PRPC_MESSAGE _pRpcMessage,
  799.     DWORD *_pdwStubPhase);
  800.  
  801.  
  802. HRESULT STDMETHODCALLTYPE IStreamSample_Update_Proxy( 
  803.     IStreamSample __RPC_FAR * This,
  804.     /* [in] */ DWORD dwFlags,
  805.     /* [optional][in] */ HANDLE hEvent,
  806.     /* [optional][in] */ PAPCFUNC pfnAPC,
  807.     /* [optional][in] */ DWORD dwAPCData);
  808.  
  809.  
  810. void __RPC_STUB IStreamSample_Update_Stub(
  811.     IRpcStubBuffer *This,
  812.     IRpcChannelBuffer *_pRpcChannelBuffer,
  813.     PRPC_MESSAGE _pRpcMessage,
  814.     DWORD *_pdwStubPhase);
  815.  
  816.  
  817. HRESULT STDMETHODCALLTYPE IStreamSample_CompletionStatus_Proxy( 
  818.     IStreamSample __RPC_FAR * This,
  819.     /* [in] */ DWORD dwFlags,
  820.     /* [optional][in] */ DWORD dwMilliseconds);
  821.  
  822.  
  823. void __RPC_STUB IStreamSample_CompletionStatus_Stub(
  824.     IRpcStubBuffer *This,
  825.     IRpcChannelBuffer *_pRpcChannelBuffer,
  826.     PRPC_MESSAGE _pRpcMessage,
  827.     DWORD *_pdwStubPhase);
  828.  
  829.  
  830.  
  831. #endif     /* __IStreamSample_INTERFACE_DEFINED__ */
  832.  
  833.  
  834. /* Additional Prototypes for ALL interfaces */
  835.  
  836. /* end of Additional Prototypes */
  837.  
  838. #ifdef __cplusplus
  839. }
  840. #endif
  841.  
  842. #endif
  843. #pragma option pop /*P_O_Pop*/
  844.