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

模拟服务器

开发平台:

C/C++

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