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