home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Internet 2000 May / MICD_2000_05.iso / CBuilder5 / INSTALL / DATA1.CAB / Program_Built_Files / Include / mmstream.h < prev    next >
C/C++ Source or Header  |  2000-02-01  |  27KB  |  846 lines

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