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

模拟服务器

开发平台:

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 austream.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 __austream_h__
  27. #define __austream_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */ 
  32. #ifndef __IAudioMediaStream_FWD_DEFINED__
  33. #define __IAudioMediaStream_FWD_DEFINED__
  34. typedef interface IAudioMediaStream IAudioMediaStream;
  35. #endif  /* __IAudioMediaStream_FWD_DEFINED__ */
  36. #ifndef __IAudioStreamSample_FWD_DEFINED__
  37. #define __IAudioStreamSample_FWD_DEFINED__
  38. typedef interface IAudioStreamSample IAudioStreamSample;
  39. #endif  /* __IAudioStreamSample_FWD_DEFINED__ */
  40. #ifndef __IMemoryData_FWD_DEFINED__
  41. #define __IMemoryData_FWD_DEFINED__
  42. typedef interface IMemoryData IMemoryData;
  43. #endif  /* __IMemoryData_FWD_DEFINED__ */
  44. #ifndef __IAudioData_FWD_DEFINED__
  45. #define __IAudioData_FWD_DEFINED__
  46. typedef interface IAudioData IAudioData;
  47. #endif  /* __IAudioData_FWD_DEFINED__ */
  48. /* header files for imported files */
  49. #include "unknwn.h"
  50. #include "mmstream.h"
  51. #ifdef __cplusplus
  52. extern "C"{
  53. #endif 
  54. void * __RPC_USER MIDL_user_allocate(size_t);
  55. void __RPC_USER MIDL_user_free( void * ); 
  56. /* interface __MIDL_itf_austream_0000 */
  57. /* [local] */ 
  58. //
  59. // The following declarations within the 'if 0' block are dummy typedefs used to make
  60. // the ddstream.idl file build.  The actual definitions are contained in DDRAW.H
  61. //
  62. #if 0
  63. typedef struct tWAVEFORMATEX WAVEFORMATEX;
  64. #endif
  65. extern RPC_IF_HANDLE __MIDL_itf_austream_0000_v0_0_c_ifspec;
  66. extern RPC_IF_HANDLE __MIDL_itf_austream_0000_v0_0_s_ifspec;
  67. #ifndef __IAudioMediaStream_INTERFACE_DEFINED__
  68. #define __IAudioMediaStream_INTERFACE_DEFINED__
  69. /* interface IAudioMediaStream */
  70. /* [unique][uuid][local][object] */ 
  71. EXTERN_C const IID IID_IAudioMediaStream;
  72. #if defined(__cplusplus) && !defined(CINTERFACE)
  73.     
  74.     MIDL_INTERFACE("f7537560-a3be-11d0-8212-00c04fc32c45")
  75.     IAudioMediaStream : public IMediaStream
  76.     {
  77.     public:
  78.         virtual HRESULT STDMETHODCALLTYPE GetFormat( 
  79.             /* [out] */ WAVEFORMATEX *pWaveFormatCurrent) = 0;
  80.         
  81.         virtual HRESULT STDMETHODCALLTYPE SetFormat( 
  82.             /* [in] */ const WAVEFORMATEX *lpWaveFormat) = 0;
  83.         
  84.         virtual HRESULT STDMETHODCALLTYPE CreateSample( 
  85.             /* [in] */ IAudioData *pAudioData,
  86.             /* [in] */ DWORD dwFlags,
  87.             /* [out] */ IAudioStreamSample **ppSample) = 0;
  88.         
  89.     };
  90.     
  91. #else  /* C style interface */
  92.     typedef struct IAudioMediaStreamVtbl
  93.     {
  94.         BEGIN_INTERFACE
  95.         
  96.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  97.             IAudioMediaStream * This,
  98.             /* [in] */ REFIID riid,
  99.             /* [iid_is][out] */ void **ppvObject);
  100.         
  101.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  102.             IAudioMediaStream * This);
  103.         
  104.         ULONG ( STDMETHODCALLTYPE *Release )( 
  105.             IAudioMediaStream * This);
  106.         
  107.         HRESULT ( STDMETHODCALLTYPE *GetMultiMediaStream )( 
  108.             IAudioMediaStream * This,
  109.             /* [out] */ IMultiMediaStream **ppMultiMediaStream);
  110.         
  111.         HRESULT ( STDMETHODCALLTYPE *GetInformation )( 
  112.             IAudioMediaStream * This,
  113.             /* [out] */ MSPID *pPurposeId,
  114.             /* [out] */ STREAM_TYPE *pType);
  115.         
  116.         HRESULT ( STDMETHODCALLTYPE *SetSameFormat )( 
  117.             IAudioMediaStream * This,
  118.             /* [in] */ IMediaStream *pStreamThatHasDesiredFormat,
  119.             /* [in] */ DWORD dwFlags);
  120.         
  121.         HRESULT ( STDMETHODCALLTYPE *AllocateSample )( 
  122.             IAudioMediaStream * This,
  123.             /* [in] */ DWORD dwFlags,
  124.             /* [out] */ IStreamSample **ppSample);
  125.         
  126.         HRESULT ( STDMETHODCALLTYPE *CreateSharedSample )( 
  127.             IAudioMediaStream * This,
  128.             /* [in] */ IStreamSample *pExistingSample,
  129.             /* [in] */ DWORD dwFlags,
  130.             /* [out] */ IStreamSample **ppNewSample);
  131.         
  132.         HRESULT ( STDMETHODCALLTYPE *SendEndOfStream )( 
  133.             IAudioMediaStream * This,
  134.             DWORD dwFlags);
  135.         
  136.         HRESULT ( STDMETHODCALLTYPE *GetFormat )( 
  137.             IAudioMediaStream * This,
  138.             /* [out] */ WAVEFORMATEX *pWaveFormatCurrent);
  139.         
  140.         HRESULT ( STDMETHODCALLTYPE *SetFormat )( 
  141.             IAudioMediaStream * This,
  142.             /* [in] */ const WAVEFORMATEX *lpWaveFormat);
  143.         
  144.         HRESULT ( STDMETHODCALLTYPE *CreateSample )( 
  145.             IAudioMediaStream * This,
  146.             /* [in] */ IAudioData *pAudioData,
  147.             /* [in] */ DWORD dwFlags,
  148.             /* [out] */ IAudioStreamSample **ppSample);
  149.         
  150.         END_INTERFACE
  151.     } IAudioMediaStreamVtbl;
  152.     interface IAudioMediaStream
  153.     {
  154.         CONST_VTBL struct IAudioMediaStreamVtbl *lpVtbl;
  155.     };
  156.     
  157. #ifdef COBJMACROS
  158. #define IAudioMediaStream_QueryInterface(This,riid,ppvObject)
  159.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  160. #define IAudioMediaStream_AddRef(This)
  161.     (This)->lpVtbl -> AddRef(This)
  162. #define IAudioMediaStream_Release(This)
  163.     (This)->lpVtbl -> Release(This)
  164. #define IAudioMediaStream_GetMultiMediaStream(This,ppMultiMediaStream)
  165.     (This)->lpVtbl -> GetMultiMediaStream(This,ppMultiMediaStream)
  166. #define IAudioMediaStream_GetInformation(This,pPurposeId,pType)
  167.     (This)->lpVtbl -> GetInformation(This,pPurposeId,pType)
  168. #define IAudioMediaStream_SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags)
  169.     (This)->lpVtbl -> SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags)
  170. #define IAudioMediaStream_AllocateSample(This,dwFlags,ppSample)
  171.     (This)->lpVtbl -> AllocateSample(This,dwFlags,ppSample)
  172. #define IAudioMediaStream_CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample)
  173.     (This)->lpVtbl -> CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample)
  174. #define IAudioMediaStream_SendEndOfStream(This,dwFlags)
  175.     (This)->lpVtbl -> SendEndOfStream(This,dwFlags)
  176. #define IAudioMediaStream_GetFormat(This,pWaveFormatCurrent)
  177.     (This)->lpVtbl -> GetFormat(This,pWaveFormatCurrent)
  178. #define IAudioMediaStream_SetFormat(This,lpWaveFormat)
  179.     (This)->lpVtbl -> SetFormat(This,lpWaveFormat)
  180. #define IAudioMediaStream_CreateSample(This,pAudioData,dwFlags,ppSample)
  181.     (This)->lpVtbl -> CreateSample(This,pAudioData,dwFlags,ppSample)
  182. #endif /* COBJMACROS */
  183. #endif  /* C style interface */
  184. HRESULT STDMETHODCALLTYPE IAudioMediaStream_GetFormat_Proxy( 
  185.     IAudioMediaStream * This,
  186.     /* [out] */ WAVEFORMATEX *pWaveFormatCurrent);
  187. void __RPC_STUB IAudioMediaStream_GetFormat_Stub(
  188.     IRpcStubBuffer *This,
  189.     IRpcChannelBuffer *_pRpcChannelBuffer,
  190.     PRPC_MESSAGE _pRpcMessage,
  191.     DWORD *_pdwStubPhase);
  192. HRESULT STDMETHODCALLTYPE IAudioMediaStream_SetFormat_Proxy( 
  193.     IAudioMediaStream * This,
  194.     /* [in] */ const WAVEFORMATEX *lpWaveFormat);
  195. void __RPC_STUB IAudioMediaStream_SetFormat_Stub(
  196.     IRpcStubBuffer *This,
  197.     IRpcChannelBuffer *_pRpcChannelBuffer,
  198.     PRPC_MESSAGE _pRpcMessage,
  199.     DWORD *_pdwStubPhase);
  200. HRESULT STDMETHODCALLTYPE IAudioMediaStream_CreateSample_Proxy( 
  201.     IAudioMediaStream * This,
  202.     /* [in] */ IAudioData *pAudioData,
  203.     /* [in] */ DWORD dwFlags,
  204.     /* [out] */ IAudioStreamSample **ppSample);
  205. void __RPC_STUB IAudioMediaStream_CreateSample_Stub(
  206.     IRpcStubBuffer *This,
  207.     IRpcChannelBuffer *_pRpcChannelBuffer,
  208.     PRPC_MESSAGE _pRpcMessage,
  209.     DWORD *_pdwStubPhase);
  210. #endif  /* __IAudioMediaStream_INTERFACE_DEFINED__ */
  211. #ifndef __IAudioStreamSample_INTERFACE_DEFINED__
  212. #define __IAudioStreamSample_INTERFACE_DEFINED__
  213. /* interface IAudioStreamSample */
  214. /* [unique][uuid][local][object] */ 
  215. EXTERN_C const IID IID_IAudioStreamSample;
  216. #if defined(__cplusplus) && !defined(CINTERFACE)
  217.     
  218.     MIDL_INTERFACE("345fee00-aba5-11d0-8212-00c04fc32c45")
  219.     IAudioStreamSample : public IStreamSample
  220.     {
  221.     public:
  222.         virtual HRESULT STDMETHODCALLTYPE GetAudioData( 
  223.             /* [out] */ IAudioData **ppAudio) = 0;
  224.         
  225.     };
  226.     
  227. #else  /* C style interface */
  228.     typedef struct IAudioStreamSampleVtbl
  229.     {
  230.         BEGIN_INTERFACE
  231.         
  232.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  233.             IAudioStreamSample * This,
  234.             /* [in] */ REFIID riid,
  235.             /* [iid_is][out] */ void **ppvObject);
  236.         
  237.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  238.             IAudioStreamSample * This);
  239.         
  240.         ULONG ( STDMETHODCALLTYPE *Release )( 
  241.             IAudioStreamSample * This);
  242.         
  243.         HRESULT ( STDMETHODCALLTYPE *GetMediaStream )( 
  244.             IAudioStreamSample * This,
  245.             /* [in] */ IMediaStream **ppMediaStream);
  246.         
  247.         HRESULT ( STDMETHODCALLTYPE *GetSampleTimes )( 
  248.             IAudioStreamSample * This,
  249.             /* [out] */ STREAM_TIME *pStartTime,
  250.             /* [out] */ STREAM_TIME *pEndTime,
  251.             /* [out] */ STREAM_TIME *pCurrentTime);
  252.         
  253.         HRESULT ( STDMETHODCALLTYPE *SetSampleTimes )( 
  254.             IAudioStreamSample * This,
  255.             /* [in] */ const STREAM_TIME *pStartTime,
  256.             /* [in] */ const STREAM_TIME *pEndTime);
  257.         
  258.         HRESULT ( STDMETHODCALLTYPE *Update )( 
  259.             IAudioStreamSample * This,
  260.             /* [in] */ DWORD dwFlags,
  261.             /* [in] */ HANDLE hEvent,
  262.             /* [in] */ PAPCFUNC pfnAPC,
  263.             /* [in] */ DWORD_PTR dwAPCData);
  264.         
  265.         HRESULT ( STDMETHODCALLTYPE *CompletionStatus )( 
  266.             IAudioStreamSample * This,
  267.             /* [in] */ DWORD dwFlags,
  268.             /* [in] */ DWORD dwMilliseconds);
  269.         
  270.         HRESULT ( STDMETHODCALLTYPE *GetAudioData )( 
  271.             IAudioStreamSample * This,
  272.             /* [out] */ IAudioData **ppAudio);
  273.         
  274.         END_INTERFACE
  275.     } IAudioStreamSampleVtbl;
  276.     interface IAudioStreamSample
  277.     {
  278.         CONST_VTBL struct IAudioStreamSampleVtbl *lpVtbl;
  279.     };
  280.     
  281. #ifdef COBJMACROS
  282. #define IAudioStreamSample_QueryInterface(This,riid,ppvObject)
  283.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  284. #define IAudioStreamSample_AddRef(This)
  285.     (This)->lpVtbl -> AddRef(This)
  286. #define IAudioStreamSample_Release(This)
  287.     (This)->lpVtbl -> Release(This)
  288. #define IAudioStreamSample_GetMediaStream(This,ppMediaStream)
  289.     (This)->lpVtbl -> GetMediaStream(This,ppMediaStream)
  290. #define IAudioStreamSample_GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime)
  291.     (This)->lpVtbl -> GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime)
  292. #define IAudioStreamSample_SetSampleTimes(This,pStartTime,pEndTime)
  293.     (This)->lpVtbl -> SetSampleTimes(This,pStartTime,pEndTime)
  294. #define IAudioStreamSample_Update(This,dwFlags,hEvent,pfnAPC,dwAPCData)
  295.     (This)->lpVtbl -> Update(This,dwFlags,hEvent,pfnAPC,dwAPCData)
  296. #define IAudioStreamSample_CompletionStatus(This,dwFlags,dwMilliseconds)
  297.     (This)->lpVtbl -> CompletionStatus(This,dwFlags,dwMilliseconds)
  298. #define IAudioStreamSample_GetAudioData(This,ppAudio)
  299.     (This)->lpVtbl -> GetAudioData(This,ppAudio)
  300. #endif /* COBJMACROS */
  301. #endif  /* C style interface */
  302. HRESULT STDMETHODCALLTYPE IAudioStreamSample_GetAudioData_Proxy( 
  303.     IAudioStreamSample * This,
  304.     /* [out] */ IAudioData **ppAudio);
  305. void __RPC_STUB IAudioStreamSample_GetAudioData_Stub(
  306.     IRpcStubBuffer *This,
  307.     IRpcChannelBuffer *_pRpcChannelBuffer,
  308.     PRPC_MESSAGE _pRpcMessage,
  309.     DWORD *_pdwStubPhase);
  310. #endif  /* __IAudioStreamSample_INTERFACE_DEFINED__ */
  311. #ifndef __IMemoryData_INTERFACE_DEFINED__
  312. #define __IMemoryData_INTERFACE_DEFINED__
  313. /* interface IMemoryData */
  314. /* [unique][uuid][local][object] */ 
  315. EXTERN_C const IID IID_IMemoryData;
  316. #if defined(__cplusplus) && !defined(CINTERFACE)
  317.     
  318.     MIDL_INTERFACE("327fc560-af60-11d0-8212-00c04fc32c45")
  319.     IMemoryData : public IUnknown
  320.     {
  321.     public:
  322.         virtual HRESULT STDMETHODCALLTYPE SetBuffer( 
  323.             /* [in] */ DWORD cbSize,
  324.             /* [in] */ BYTE *pbData,
  325.             /* [in] */ DWORD dwFlags) = 0;
  326.         
  327.         virtual HRESULT STDMETHODCALLTYPE GetInfo( 
  328.             /* [out] */ DWORD *pdwLength,
  329.             /* [out] */ BYTE **ppbData,
  330.             /* [out] */ DWORD *pcbActualData) = 0;
  331.         
  332.         virtual HRESULT STDMETHODCALLTYPE SetActual( 
  333.             /* [in] */ DWORD cbDataValid) = 0;
  334.         
  335.     };
  336.     
  337. #else  /* C style interface */
  338.     typedef struct IMemoryDataVtbl
  339.     {
  340.         BEGIN_INTERFACE
  341.         
  342.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  343.             IMemoryData * This,
  344.             /* [in] */ REFIID riid,
  345.             /* [iid_is][out] */ void **ppvObject);
  346.         
  347.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  348.             IMemoryData * This);
  349.         
  350.         ULONG ( STDMETHODCALLTYPE *Release )( 
  351.             IMemoryData * This);
  352.         
  353.         HRESULT ( STDMETHODCALLTYPE *SetBuffer )( 
  354.             IMemoryData * This,
  355.             /* [in] */ DWORD cbSize,
  356.             /* [in] */ BYTE *pbData,
  357.             /* [in] */ DWORD dwFlags);
  358.         
  359.         HRESULT ( STDMETHODCALLTYPE *GetInfo )( 
  360.             IMemoryData * This,
  361.             /* [out] */ DWORD *pdwLength,
  362.             /* [out] */ BYTE **ppbData,
  363.             /* [out] */ DWORD *pcbActualData);
  364.         
  365.         HRESULT ( STDMETHODCALLTYPE *SetActual )( 
  366.             IMemoryData * This,
  367.             /* [in] */ DWORD cbDataValid);
  368.         
  369.         END_INTERFACE
  370.     } IMemoryDataVtbl;
  371.     interface IMemoryData
  372.     {
  373.         CONST_VTBL struct IMemoryDataVtbl *lpVtbl;
  374.     };
  375.     
  376. #ifdef COBJMACROS
  377. #define IMemoryData_QueryInterface(This,riid,ppvObject)
  378.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  379. #define IMemoryData_AddRef(This)
  380.     (This)->lpVtbl -> AddRef(This)
  381. #define IMemoryData_Release(This)
  382.     (This)->lpVtbl -> Release(This)
  383. #define IMemoryData_SetBuffer(This,cbSize,pbData,dwFlags)
  384.     (This)->lpVtbl -> SetBuffer(This,cbSize,pbData,dwFlags)
  385. #define IMemoryData_GetInfo(This,pdwLength,ppbData,pcbActualData)
  386.     (This)->lpVtbl -> GetInfo(This,pdwLength,ppbData,pcbActualData)
  387. #define IMemoryData_SetActual(This,cbDataValid)
  388.     (This)->lpVtbl -> SetActual(This,cbDataValid)
  389. #endif /* COBJMACROS */
  390. #endif  /* C style interface */
  391. HRESULT STDMETHODCALLTYPE IMemoryData_SetBuffer_Proxy( 
  392.     IMemoryData * This,
  393.     /* [in] */ DWORD cbSize,
  394.     /* [in] */ BYTE *pbData,
  395.     /* [in] */ DWORD dwFlags);
  396. void __RPC_STUB IMemoryData_SetBuffer_Stub(
  397.     IRpcStubBuffer *This,
  398.     IRpcChannelBuffer *_pRpcChannelBuffer,
  399.     PRPC_MESSAGE _pRpcMessage,
  400.     DWORD *_pdwStubPhase);
  401. HRESULT STDMETHODCALLTYPE IMemoryData_GetInfo_Proxy( 
  402.     IMemoryData * This,
  403.     /* [out] */ DWORD *pdwLength,
  404.     /* [out] */ BYTE **ppbData,
  405.     /* [out] */ DWORD *pcbActualData);
  406. void __RPC_STUB IMemoryData_GetInfo_Stub(
  407.     IRpcStubBuffer *This,
  408.     IRpcChannelBuffer *_pRpcChannelBuffer,
  409.     PRPC_MESSAGE _pRpcMessage,
  410.     DWORD *_pdwStubPhase);
  411. HRESULT STDMETHODCALLTYPE IMemoryData_SetActual_Proxy( 
  412.     IMemoryData * This,
  413.     /* [in] */ DWORD cbDataValid);
  414. void __RPC_STUB IMemoryData_SetActual_Stub(
  415.     IRpcStubBuffer *This,
  416.     IRpcChannelBuffer *_pRpcChannelBuffer,
  417.     PRPC_MESSAGE _pRpcMessage,
  418.     DWORD *_pdwStubPhase);
  419. #endif  /* __IMemoryData_INTERFACE_DEFINED__ */
  420. #ifndef __IAudioData_INTERFACE_DEFINED__
  421. #define __IAudioData_INTERFACE_DEFINED__
  422. /* interface IAudioData */
  423. /* [unique][uuid][local][object] */ 
  424. EXTERN_C const IID IID_IAudioData;
  425. #if defined(__cplusplus) && !defined(CINTERFACE)
  426.     
  427.     MIDL_INTERFACE("54c719c0-af60-11d0-8212-00c04fc32c45")
  428.     IAudioData : public IMemoryData
  429.     {
  430.     public:
  431.         virtual HRESULT STDMETHODCALLTYPE GetFormat( 
  432.             /* [out] */ WAVEFORMATEX *pWaveFormatCurrent) = 0;
  433.         
  434.         virtual HRESULT STDMETHODCALLTYPE SetFormat( 
  435.             /* [in] */ const WAVEFORMATEX *lpWaveFormat) = 0;
  436.         
  437.     };
  438.     
  439. #else  /* C style interface */
  440.     typedef struct IAudioDataVtbl
  441.     {
  442.         BEGIN_INTERFACE
  443.         
  444.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  445.             IAudioData * This,
  446.             /* [in] */ REFIID riid,
  447.             /* [iid_is][out] */ void **ppvObject);
  448.         
  449.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  450.             IAudioData * This);
  451.         
  452.         ULONG ( STDMETHODCALLTYPE *Release )( 
  453.             IAudioData * This);
  454.         
  455.         HRESULT ( STDMETHODCALLTYPE *SetBuffer )( 
  456.             IAudioData * This,
  457.             /* [in] */ DWORD cbSize,
  458.             /* [in] */ BYTE *pbData,
  459.             /* [in] */ DWORD dwFlags);
  460.         
  461.         HRESULT ( STDMETHODCALLTYPE *GetInfo )( 
  462.             IAudioData * This,
  463.             /* [out] */ DWORD *pdwLength,
  464.             /* [out] */ BYTE **ppbData,
  465.             /* [out] */ DWORD *pcbActualData);
  466.         
  467.         HRESULT ( STDMETHODCALLTYPE *SetActual )( 
  468.             IAudioData * This,
  469.             /* [in] */ DWORD cbDataValid);
  470.         
  471.         HRESULT ( STDMETHODCALLTYPE *GetFormat )( 
  472.             IAudioData * This,
  473.             /* [out] */ WAVEFORMATEX *pWaveFormatCurrent);
  474.         
  475.         HRESULT ( STDMETHODCALLTYPE *SetFormat )( 
  476.             IAudioData * This,
  477.             /* [in] */ const WAVEFORMATEX *lpWaveFormat);
  478.         
  479.         END_INTERFACE
  480.     } IAudioDataVtbl;
  481.     interface IAudioData
  482.     {
  483.         CONST_VTBL struct IAudioDataVtbl *lpVtbl;
  484.     };
  485.     
  486. #ifdef COBJMACROS
  487. #define IAudioData_QueryInterface(This,riid,ppvObject)
  488.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  489. #define IAudioData_AddRef(This)
  490.     (This)->lpVtbl -> AddRef(This)
  491. #define IAudioData_Release(This)
  492.     (This)->lpVtbl -> Release(This)
  493. #define IAudioData_SetBuffer(This,cbSize,pbData,dwFlags)
  494.     (This)->lpVtbl -> SetBuffer(This,cbSize,pbData,dwFlags)
  495. #define IAudioData_GetInfo(This,pdwLength,ppbData,pcbActualData)
  496.     (This)->lpVtbl -> GetInfo(This,pdwLength,ppbData,pcbActualData)
  497. #define IAudioData_SetActual(This,cbDataValid)
  498.     (This)->lpVtbl -> SetActual(This,cbDataValid)
  499. #define IAudioData_GetFormat(This,pWaveFormatCurrent)
  500.     (This)->lpVtbl -> GetFormat(This,pWaveFormatCurrent)
  501. #define IAudioData_SetFormat(This,lpWaveFormat)
  502.     (This)->lpVtbl -> SetFormat(This,lpWaveFormat)
  503. #endif /* COBJMACROS */
  504. #endif  /* C style interface */
  505. HRESULT STDMETHODCALLTYPE IAudioData_GetFormat_Proxy( 
  506.     IAudioData * This,
  507.     /* [out] */ WAVEFORMATEX *pWaveFormatCurrent);
  508. void __RPC_STUB IAudioData_GetFormat_Stub(
  509.     IRpcStubBuffer *This,
  510.     IRpcChannelBuffer *_pRpcChannelBuffer,
  511.     PRPC_MESSAGE _pRpcMessage,
  512.     DWORD *_pdwStubPhase);
  513. HRESULT STDMETHODCALLTYPE IAudioData_SetFormat_Proxy( 
  514.     IAudioData * This,
  515.     /* [in] */ const WAVEFORMATEX *lpWaveFormat);
  516. void __RPC_STUB IAudioData_SetFormat_Stub(
  517.     IRpcStubBuffer *This,
  518.     IRpcChannelBuffer *_pRpcChannelBuffer,
  519.     PRPC_MESSAGE _pRpcMessage,
  520.     DWORD *_pdwStubPhase);
  521. #endif  /* __IAudioData_INTERFACE_DEFINED__ */
  522. /* Additional Prototypes for ALL interfaces */
  523. /* end of Additional Prototypes */
  524. #ifdef __cplusplus
  525. }
  526. #endif
  527. #endif