home *** CD-ROM | disk | FTP | other *** search
/ PC Format (South-Africa) 2001 June / PCFJune.iso / Xenon / C++ / FreeCommandLineTools.exe / Include / austream.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-01-31  |  21.6 KB  |  715 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:04 1999
  10.  */
  11. /* Compiler settings for austream.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 __austream_h__
  39. #define __austream_h__
  40.  
  41. /* Forward Declarations */ 
  42.  
  43. #ifndef __IAudioMediaStream_FWD_DEFINED__
  44. #define __IAudioMediaStream_FWD_DEFINED__
  45. typedef interface IAudioMediaStream IAudioMediaStream;
  46. #endif     /* __IAudioMediaStream_FWD_DEFINED__ */
  47.  
  48.  
  49. #ifndef __IAudioStreamSample_FWD_DEFINED__
  50. #define __IAudioStreamSample_FWD_DEFINED__
  51. typedef interface IAudioStreamSample IAudioStreamSample;
  52. #endif     /* __IAudioStreamSample_FWD_DEFINED__ */
  53.  
  54.  
  55. #ifndef __IMemoryData_FWD_DEFINED__
  56. #define __IMemoryData_FWD_DEFINED__
  57. typedef interface IMemoryData IMemoryData;
  58. #endif     /* __IMemoryData_FWD_DEFINED__ */
  59.  
  60.  
  61. #ifndef __IAudioData_FWD_DEFINED__
  62. #define __IAudioData_FWD_DEFINED__
  63. typedef interface IAudioData IAudioData;
  64. #endif     /* __IAudioData_FWD_DEFINED__ */
  65.  
  66.  
  67. /* header files for imported files */
  68. #include "unknwn.h"
  69. #include "mmstream.h"
  70.  
  71. #ifdef __cplusplus
  72. extern "C"{
  73. #endif 
  74.  
  75. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  76. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  77.  
  78. /* interface __MIDL_itf_austream_0000 */
  79. /* [local] */ 
  80.  
  81. //
  82. //    The following declarations within the 'if 0' block are dummy typedefs used to make
  83. //    the ddstream.idl file build.  The actual definitions are contained in DDRAW.H
  84. //
  85. #if 0
  86. typedef struct tWAVEFORMATEX WAVEFORMATEX;
  87.  
  88. #endif
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95. extern RPC_IF_HANDLE __MIDL_itf_austream_0000_v0_0_c_ifspec;
  96. extern RPC_IF_HANDLE __MIDL_itf_austream_0000_v0_0_s_ifspec;
  97.  
  98. #ifndef __IAudioMediaStream_INTERFACE_DEFINED__
  99. #define __IAudioMediaStream_INTERFACE_DEFINED__
  100.  
  101. /* interface IAudioMediaStream */
  102. /* [unique][uuid][local][object] */ 
  103.  
  104.  
  105. EXTERN_C const IID IID_IAudioMediaStream;
  106.  
  107. #if defined(__cplusplus) && !defined(CINTERFACE)
  108.     
  109.     MIDL_INTERFACE("f7537560-a3be-11d0-8212-00c04fc32c45")
  110.     IAudioMediaStream : public IMediaStream
  111.     {
  112.     public:
  113.         virtual HRESULT STDMETHODCALLTYPE GetFormat( 
  114.             /* [out] */ WAVEFORMATEX __RPC_FAR *pWaveFormatCurrent) = 0;
  115.         
  116.         virtual HRESULT STDMETHODCALLTYPE SetFormat( 
  117.             /* [in] */ const WAVEFORMATEX __RPC_FAR *lpWaveFormat) = 0;
  118.         
  119.         virtual HRESULT STDMETHODCALLTYPE CreateSample( 
  120.             /* [in] */ IAudioData __RPC_FAR *pAudioData,
  121.             /* [in] */ DWORD dwFlags,
  122.             /* [out] */ IAudioStreamSample __RPC_FAR *__RPC_FAR *ppSample) = 0;
  123.         
  124.     };
  125.     
  126. #else     /* C style interface */
  127.  
  128.     typedef struct IAudioMediaStreamVtbl
  129.     {
  130.         BEGIN_INTERFACE
  131.         
  132.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  133.             IAudioMediaStream __RPC_FAR * This,
  134.             /* [in] */ REFIID riid,
  135.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  136.         
  137.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  138.             IAudioMediaStream __RPC_FAR * This);
  139.         
  140.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  141.             IAudioMediaStream __RPC_FAR * This);
  142.         
  143.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMultiMediaStream )( 
  144.             IAudioMediaStream __RPC_FAR * This,
  145.             /* [out] */ IMultiMediaStream __RPC_FAR *__RPC_FAR *ppMultiMediaStream);
  146.         
  147.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetInformation )( 
  148.             IAudioMediaStream __RPC_FAR * This,
  149.             /* [out] */ MSPID __RPC_FAR *pPurposeId,
  150.             /* [out] */ STREAM_TYPE __RPC_FAR *pType);
  151.         
  152.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSameFormat )( 
  153.             IAudioMediaStream __RPC_FAR * This,
  154.             /* [in] */ IMediaStream __RPC_FAR *pStreamThatHasDesiredFormat,
  155.             /* [in] */ DWORD dwFlags);
  156.         
  157.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AllocateSample )( 
  158.             IAudioMediaStream __RPC_FAR * This,
  159.             /* [in] */ DWORD dwFlags,
  160.             /* [out] */ IStreamSample __RPC_FAR *__RPC_FAR *ppSample);
  161.         
  162.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateSharedSample )( 
  163.             IAudioMediaStream __RPC_FAR * This,
  164.             /* [in] */ IStreamSample __RPC_FAR *pExistingSample,
  165.             /* [in] */ DWORD dwFlags,
  166.             /* [out] */ IStreamSample __RPC_FAR *__RPC_FAR *ppNewSample);
  167.         
  168.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SendEndOfStream )( 
  169.             IAudioMediaStream __RPC_FAR * This,
  170.             DWORD dwFlags);
  171.         
  172.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFormat )( 
  173.             IAudioMediaStream __RPC_FAR * This,
  174.             /* [out] */ WAVEFORMATEX __RPC_FAR *pWaveFormatCurrent);
  175.         
  176.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFormat )( 
  177.             IAudioMediaStream __RPC_FAR * This,
  178.             /* [in] */ const WAVEFORMATEX __RPC_FAR *lpWaveFormat);
  179.         
  180.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateSample )( 
  181.             IAudioMediaStream __RPC_FAR * This,
  182.             /* [in] */ IAudioData __RPC_FAR *pAudioData,
  183.             /* [in] */ DWORD dwFlags,
  184.             /* [out] */ IAudioStreamSample __RPC_FAR *__RPC_FAR *ppSample);
  185.         
  186.         END_INTERFACE
  187.     } IAudioMediaStreamVtbl;
  188.  
  189.     interface IAudioMediaStream
  190.     {
  191.         CONST_VTBL struct IAudioMediaStreamVtbl __RPC_FAR *lpVtbl;
  192.     };
  193.  
  194.     
  195.  
  196. #ifdef COBJMACROS
  197.  
  198.  
  199. #define IAudioMediaStream_QueryInterface(This,riid,ppvObject)    \
  200.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  201.  
  202. #define IAudioMediaStream_AddRef(This)    \
  203.     (This)->lpVtbl -> AddRef(This)
  204.  
  205. #define IAudioMediaStream_Release(This)    \
  206.     (This)->lpVtbl -> Release(This)
  207.  
  208.  
  209. #define IAudioMediaStream_GetMultiMediaStream(This,ppMultiMediaStream)    \
  210.     (This)->lpVtbl -> GetMultiMediaStream(This,ppMultiMediaStream)
  211.  
  212. #define IAudioMediaStream_GetInformation(This,pPurposeId,pType)    \
  213.     (This)->lpVtbl -> GetInformation(This,pPurposeId,pType)
  214.  
  215. #define IAudioMediaStream_SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags)    \
  216.     (This)->lpVtbl -> SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags)
  217.  
  218. #define IAudioMediaStream_AllocateSample(This,dwFlags,ppSample)    \
  219.     (This)->lpVtbl -> AllocateSample(This,dwFlags,ppSample)
  220.  
  221. #define IAudioMediaStream_CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample)    \
  222.     (This)->lpVtbl -> CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample)
  223.  
  224. #define IAudioMediaStream_SendEndOfStream(This,dwFlags)    \
  225.     (This)->lpVtbl -> SendEndOfStream(This,dwFlags)
  226.  
  227.  
  228. #define IAudioMediaStream_GetFormat(This,pWaveFormatCurrent)    \
  229.     (This)->lpVtbl -> GetFormat(This,pWaveFormatCurrent)
  230.  
  231. #define IAudioMediaStream_SetFormat(This,lpWaveFormat)    \
  232.     (This)->lpVtbl -> SetFormat(This,lpWaveFormat)
  233.  
  234. #define IAudioMediaStream_CreateSample(This,pAudioData,dwFlags,ppSample)    \
  235.     (This)->lpVtbl -> CreateSample(This,pAudioData,dwFlags,ppSample)
  236.  
  237. #endif /* COBJMACROS */
  238.  
  239.  
  240. #endif     /* C style interface */
  241.  
  242.  
  243.  
  244. HRESULT STDMETHODCALLTYPE IAudioMediaStream_GetFormat_Proxy( 
  245.     IAudioMediaStream __RPC_FAR * This,
  246.     /* [out] */ WAVEFORMATEX __RPC_FAR *pWaveFormatCurrent);
  247.  
  248.  
  249. void __RPC_STUB IAudioMediaStream_GetFormat_Stub(
  250.     IRpcStubBuffer *This,
  251.     IRpcChannelBuffer *_pRpcChannelBuffer,
  252.     PRPC_MESSAGE _pRpcMessage,
  253.     DWORD *_pdwStubPhase);
  254.  
  255.  
  256. HRESULT STDMETHODCALLTYPE IAudioMediaStream_SetFormat_Proxy( 
  257.     IAudioMediaStream __RPC_FAR * This,
  258.     /* [in] */ const WAVEFORMATEX __RPC_FAR *lpWaveFormat);
  259.  
  260.  
  261. void __RPC_STUB IAudioMediaStream_SetFormat_Stub(
  262.     IRpcStubBuffer *This,
  263.     IRpcChannelBuffer *_pRpcChannelBuffer,
  264.     PRPC_MESSAGE _pRpcMessage,
  265.     DWORD *_pdwStubPhase);
  266.  
  267.  
  268. HRESULT STDMETHODCALLTYPE IAudioMediaStream_CreateSample_Proxy( 
  269.     IAudioMediaStream __RPC_FAR * This,
  270.     /* [in] */ IAudioData __RPC_FAR *pAudioData,
  271.     /* [in] */ DWORD dwFlags,
  272.     /* [out] */ IAudioStreamSample __RPC_FAR *__RPC_FAR *ppSample);
  273.  
  274.  
  275. void __RPC_STUB IAudioMediaStream_CreateSample_Stub(
  276.     IRpcStubBuffer *This,
  277.     IRpcChannelBuffer *_pRpcChannelBuffer,
  278.     PRPC_MESSAGE _pRpcMessage,
  279.     DWORD *_pdwStubPhase);
  280.  
  281.  
  282.  
  283. #endif     /* __IAudioMediaStream_INTERFACE_DEFINED__ */
  284.  
  285.  
  286. #ifndef __IAudioStreamSample_INTERFACE_DEFINED__
  287. #define __IAudioStreamSample_INTERFACE_DEFINED__
  288.  
  289. /* interface IAudioStreamSample */
  290. /* [unique][uuid][local][object] */ 
  291.  
  292.  
  293. EXTERN_C const IID IID_IAudioStreamSample;
  294.  
  295. #if defined(__cplusplus) && !defined(CINTERFACE)
  296.     
  297.     MIDL_INTERFACE("345fee00-aba5-11d0-8212-00c04fc32c45")
  298.     IAudioStreamSample : public IStreamSample
  299.     {
  300.     public:
  301.         virtual HRESULT STDMETHODCALLTYPE GetAudioData( 
  302.             /* [out] */ IAudioData __RPC_FAR *__RPC_FAR *ppAudio) = 0;
  303.         
  304.     };
  305.     
  306. #else     /* C style interface */
  307.  
  308.     typedef struct IAudioStreamSampleVtbl
  309.     {
  310.         BEGIN_INTERFACE
  311.         
  312.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  313.             IAudioStreamSample __RPC_FAR * This,
  314.             /* [in] */ REFIID riid,
  315.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  316.         
  317.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  318.             IAudioStreamSample __RPC_FAR * This);
  319.         
  320.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  321.             IAudioStreamSample __RPC_FAR * This);
  322.         
  323.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMediaStream )( 
  324.             IAudioStreamSample __RPC_FAR * This,
  325.             /* [in] */ IMediaStream __RPC_FAR *__RPC_FAR *ppMediaStream);
  326.         
  327.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSampleTimes )( 
  328.             IAudioStreamSample __RPC_FAR * This,
  329.             /* [out] */ STREAM_TIME __RPC_FAR *pStartTime,
  330.             /* [out] */ STREAM_TIME __RPC_FAR *pEndTime,
  331.             /* [out] */ STREAM_TIME __RPC_FAR *pCurrentTime);
  332.         
  333.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSampleTimes )( 
  334.             IAudioStreamSample __RPC_FAR * This,
  335.             /* [in] */ const STREAM_TIME __RPC_FAR *pStartTime,
  336.             /* [in] */ const STREAM_TIME __RPC_FAR *pEndTime);
  337.         
  338.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
  339.             IAudioStreamSample __RPC_FAR * This,
  340.             /* [in] */ DWORD dwFlags,
  341.             /* [in] */ HANDLE hEvent,
  342.             /* [in] */ PAPCFUNC pfnAPC,
  343.             /* [in] */ DWORD_PTR dwAPCData);
  344.         
  345.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CompletionStatus )( 
  346.             IAudioStreamSample __RPC_FAR * This,
  347.             /* [in] */ DWORD dwFlags,
  348.             /* [in] */ DWORD dwMilliseconds);
  349.         
  350.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAudioData )( 
  351.             IAudioStreamSample __RPC_FAR * This,
  352.             /* [out] */ IAudioData __RPC_FAR *__RPC_FAR *ppAudio);
  353.         
  354.         END_INTERFACE
  355.     } IAudioStreamSampleVtbl;
  356.  
  357.     interface IAudioStreamSample
  358.     {
  359.         CONST_VTBL struct IAudioStreamSampleVtbl __RPC_FAR *lpVtbl;
  360.     };
  361.  
  362.     
  363.  
  364. #ifdef COBJMACROS
  365.  
  366.  
  367. #define IAudioStreamSample_QueryInterface(This,riid,ppvObject)    \
  368.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  369.  
  370. #define IAudioStreamSample_AddRef(This)    \
  371.     (This)->lpVtbl -> AddRef(This)
  372.  
  373. #define IAudioStreamSample_Release(This)    \
  374.     (This)->lpVtbl -> Release(This)
  375.  
  376.  
  377. #define IAudioStreamSample_GetMediaStream(This,ppMediaStream)    \
  378.     (This)->lpVtbl -> GetMediaStream(This,ppMediaStream)
  379.  
  380. #define IAudioStreamSample_GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime)    \
  381.     (This)->lpVtbl -> GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime)
  382.  
  383. #define IAudioStreamSample_SetSampleTimes(This,pStartTime,pEndTime)    \
  384.     (This)->lpVtbl -> SetSampleTimes(This,pStartTime,pEndTime)
  385.  
  386. #define IAudioStreamSample_Update(This,dwFlags,hEvent,pfnAPC,dwAPCData)    \
  387.     (This)->lpVtbl -> Update(This,dwFlags,hEvent,pfnAPC,dwAPCData)
  388.  
  389. #define IAudioStreamSample_CompletionStatus(This,dwFlags,dwMilliseconds)    \
  390.     (This)->lpVtbl -> CompletionStatus(This,dwFlags,dwMilliseconds)
  391.  
  392.  
  393. #define IAudioStreamSample_GetAudioData(This,ppAudio)    \
  394.     (This)->lpVtbl -> GetAudioData(This,ppAudio)
  395.  
  396. #endif /* COBJMACROS */
  397.  
  398.  
  399. #endif     /* C style interface */
  400.  
  401.  
  402.  
  403. HRESULT STDMETHODCALLTYPE IAudioStreamSample_GetAudioData_Proxy( 
  404.     IAudioStreamSample __RPC_FAR * This,
  405.     /* [out] */ IAudioData __RPC_FAR *__RPC_FAR *ppAudio);
  406.  
  407.  
  408. void __RPC_STUB IAudioStreamSample_GetAudioData_Stub(
  409.     IRpcStubBuffer *This,
  410.     IRpcChannelBuffer *_pRpcChannelBuffer,
  411.     PRPC_MESSAGE _pRpcMessage,
  412.     DWORD *_pdwStubPhase);
  413.  
  414.  
  415.  
  416. #endif     /* __IAudioStreamSample_INTERFACE_DEFINED__ */
  417.  
  418.  
  419. #ifndef __IMemoryData_INTERFACE_DEFINED__
  420. #define __IMemoryData_INTERFACE_DEFINED__
  421.  
  422. /* interface IMemoryData */
  423. /* [unique][uuid][local][object] */ 
  424.  
  425.  
  426. EXTERN_C const IID IID_IMemoryData;
  427.  
  428. #if defined(__cplusplus) && !defined(CINTERFACE)
  429.     
  430.     MIDL_INTERFACE("327fc560-af60-11d0-8212-00c04fc32c45")
  431.     IMemoryData : public IUnknown
  432.     {
  433.     public:
  434.         virtual HRESULT STDMETHODCALLTYPE SetBuffer( 
  435.             /* [in] */ DWORD cbSize,
  436.             /* [in] */ BYTE __RPC_FAR *pbData,
  437.             /* [in] */ DWORD dwFlags) = 0;
  438.         
  439.         virtual HRESULT STDMETHODCALLTYPE GetInfo( 
  440.             /* [out] */ DWORD __RPC_FAR *pdwLength,
  441.             /* [out] */ BYTE __RPC_FAR *__RPC_FAR *ppbData,
  442.             /* [out] */ DWORD __RPC_FAR *pcbActualData) = 0;
  443.         
  444.         virtual HRESULT STDMETHODCALLTYPE SetActual( 
  445.             /* [in] */ DWORD cbDataValid) = 0;
  446.         
  447.     };
  448.     
  449. #else     /* C style interface */
  450.  
  451.     typedef struct IMemoryDataVtbl
  452.     {
  453.         BEGIN_INTERFACE
  454.         
  455.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  456.             IMemoryData __RPC_FAR * This,
  457.             /* [in] */ REFIID riid,
  458.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  459.         
  460.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  461.             IMemoryData __RPC_FAR * This);
  462.         
  463.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  464.             IMemoryData __RPC_FAR * This);
  465.         
  466.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetBuffer )( 
  467.             IMemoryData __RPC_FAR * This,
  468.             /* [in] */ DWORD cbSize,
  469.             /* [in] */ BYTE __RPC_FAR *pbData,
  470.             /* [in] */ DWORD dwFlags);
  471.         
  472.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetInfo )( 
  473.             IMemoryData __RPC_FAR * This,
  474.             /* [out] */ DWORD __RPC_FAR *pdwLength,
  475.             /* [out] */ BYTE __RPC_FAR *__RPC_FAR *ppbData,
  476.             /* [out] */ DWORD __RPC_FAR *pcbActualData);
  477.         
  478.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetActual )( 
  479.             IMemoryData __RPC_FAR * This,
  480.             /* [in] */ DWORD cbDataValid);
  481.         
  482.         END_INTERFACE
  483.     } IMemoryDataVtbl;
  484.  
  485.     interface IMemoryData
  486.     {
  487.         CONST_VTBL struct IMemoryDataVtbl __RPC_FAR *lpVtbl;
  488.     };
  489.  
  490.     
  491.  
  492. #ifdef COBJMACROS
  493.  
  494.  
  495. #define IMemoryData_QueryInterface(This,riid,ppvObject)    \
  496.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  497.  
  498. #define IMemoryData_AddRef(This)    \
  499.     (This)->lpVtbl -> AddRef(This)
  500.  
  501. #define IMemoryData_Release(This)    \
  502.     (This)->lpVtbl -> Release(This)
  503.  
  504.  
  505. #define IMemoryData_SetBuffer(This,cbSize,pbData,dwFlags)    \
  506.     (This)->lpVtbl -> SetBuffer(This,cbSize,pbData,dwFlags)
  507.  
  508. #define IMemoryData_GetInfo(This,pdwLength,ppbData,pcbActualData)    \
  509.     (This)->lpVtbl -> GetInfo(This,pdwLength,ppbData,pcbActualData)
  510.  
  511. #define IMemoryData_SetActual(This,cbDataValid)    \
  512.     (This)->lpVtbl -> SetActual(This,cbDataValid)
  513.  
  514. #endif /* COBJMACROS */
  515.  
  516.  
  517. #endif     /* C style interface */
  518.  
  519.  
  520.  
  521. HRESULT STDMETHODCALLTYPE IMemoryData_SetBuffer_Proxy( 
  522.     IMemoryData __RPC_FAR * This,
  523.     /* [in] */ DWORD cbSize,
  524.     /* [in] */ BYTE __RPC_FAR *pbData,
  525.     /* [in] */ DWORD dwFlags);
  526.  
  527.  
  528. void __RPC_STUB IMemoryData_SetBuffer_Stub(
  529.     IRpcStubBuffer *This,
  530.     IRpcChannelBuffer *_pRpcChannelBuffer,
  531.     PRPC_MESSAGE _pRpcMessage,
  532.     DWORD *_pdwStubPhase);
  533.  
  534.  
  535. HRESULT STDMETHODCALLTYPE IMemoryData_GetInfo_Proxy( 
  536.     IMemoryData __RPC_FAR * This,
  537.     /* [out] */ DWORD __RPC_FAR *pdwLength,
  538.     /* [out] */ BYTE __RPC_FAR *__RPC_FAR *ppbData,
  539.     /* [out] */ DWORD __RPC_FAR *pcbActualData);
  540.  
  541.  
  542. void __RPC_STUB IMemoryData_GetInfo_Stub(
  543.     IRpcStubBuffer *This,
  544.     IRpcChannelBuffer *_pRpcChannelBuffer,
  545.     PRPC_MESSAGE _pRpcMessage,
  546.     DWORD *_pdwStubPhase);
  547.  
  548.  
  549. HRESULT STDMETHODCALLTYPE IMemoryData_SetActual_Proxy( 
  550.     IMemoryData __RPC_FAR * This,
  551.     /* [in] */ DWORD cbDataValid);
  552.  
  553.  
  554. void __RPC_STUB IMemoryData_SetActual_Stub(
  555.     IRpcStubBuffer *This,
  556.     IRpcChannelBuffer *_pRpcChannelBuffer,
  557.     PRPC_MESSAGE _pRpcMessage,
  558.     DWORD *_pdwStubPhase);
  559.  
  560.  
  561.  
  562. #endif     /* __IMemoryData_INTERFACE_DEFINED__ */
  563.  
  564.  
  565. #ifndef __IAudioData_INTERFACE_DEFINED__
  566. #define __IAudioData_INTERFACE_DEFINED__
  567.  
  568. /* interface IAudioData */
  569. /* [unique][uuid][local][object] */ 
  570.  
  571.  
  572. EXTERN_C const IID IID_IAudioData;
  573.  
  574. #if defined(__cplusplus) && !defined(CINTERFACE)
  575.     
  576.     MIDL_INTERFACE("54c719c0-af60-11d0-8212-00c04fc32c45")
  577.     IAudioData : public IMemoryData
  578.     {
  579.     public:
  580.         virtual HRESULT STDMETHODCALLTYPE GetFormat( 
  581.             /* [out] */ WAVEFORMATEX __RPC_FAR *pWaveFormatCurrent) = 0;
  582.         
  583.         virtual HRESULT STDMETHODCALLTYPE SetFormat( 
  584.             /* [in] */ const WAVEFORMATEX __RPC_FAR *lpWaveFormat) = 0;
  585.         
  586.     };
  587.     
  588. #else     /* C style interface */
  589.  
  590.     typedef struct IAudioDataVtbl
  591.     {
  592.         BEGIN_INTERFACE
  593.         
  594.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  595.             IAudioData __RPC_FAR * This,
  596.             /* [in] */ REFIID riid,
  597.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  598.         
  599.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  600.             IAudioData __RPC_FAR * This);
  601.         
  602.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  603.             IAudioData __RPC_FAR * This);
  604.         
  605.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetBuffer )( 
  606.             IAudioData __RPC_FAR * This,
  607.             /* [in] */ DWORD cbSize,
  608.             /* [in] */ BYTE __RPC_FAR *pbData,
  609.             /* [in] */ DWORD dwFlags);
  610.         
  611.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetInfo )( 
  612.             IAudioData __RPC_FAR * This,
  613.             /* [out] */ DWORD __RPC_FAR *pdwLength,
  614.             /* [out] */ BYTE __RPC_FAR *__RPC_FAR *ppbData,
  615.             /* [out] */ DWORD __RPC_FAR *pcbActualData);
  616.         
  617.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetActual )( 
  618.             IAudioData __RPC_FAR * This,
  619.             /* [in] */ DWORD cbDataValid);
  620.         
  621.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFormat )( 
  622.             IAudioData __RPC_FAR * This,
  623.             /* [out] */ WAVEFORMATEX __RPC_FAR *pWaveFormatCurrent);
  624.         
  625.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFormat )( 
  626.             IAudioData __RPC_FAR * This,
  627.             /* [in] */ const WAVEFORMATEX __RPC_FAR *lpWaveFormat);
  628.         
  629.         END_INTERFACE
  630.     } IAudioDataVtbl;
  631.  
  632.     interface IAudioData
  633.     {
  634.         CONST_VTBL struct IAudioDataVtbl __RPC_FAR *lpVtbl;
  635.     };
  636.  
  637.     
  638.  
  639. #ifdef COBJMACROS
  640.  
  641.  
  642. #define IAudioData_QueryInterface(This,riid,ppvObject)    \
  643.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  644.  
  645. #define IAudioData_AddRef(This)    \
  646.     (This)->lpVtbl -> AddRef(This)
  647.  
  648. #define IAudioData_Release(This)    \
  649.     (This)->lpVtbl -> Release(This)
  650.  
  651.  
  652. #define IAudioData_SetBuffer(This,cbSize,pbData,dwFlags)    \
  653.     (This)->lpVtbl -> SetBuffer(This,cbSize,pbData,dwFlags)
  654.  
  655. #define IAudioData_GetInfo(This,pdwLength,ppbData,pcbActualData)    \
  656.     (This)->lpVtbl -> GetInfo(This,pdwLength,ppbData,pcbActualData)
  657.  
  658. #define IAudioData_SetActual(This,cbDataValid)    \
  659.     (This)->lpVtbl -> SetActual(This,cbDataValid)
  660.  
  661.  
  662. #define IAudioData_GetFormat(This,pWaveFormatCurrent)    \
  663.     (This)->lpVtbl -> GetFormat(This,pWaveFormatCurrent)
  664.  
  665. #define IAudioData_SetFormat(This,lpWaveFormat)    \
  666.     (This)->lpVtbl -> SetFormat(This,lpWaveFormat)
  667.  
  668. #endif /* COBJMACROS */
  669.  
  670.  
  671. #endif     /* C style interface */
  672.  
  673.  
  674.  
  675. HRESULT STDMETHODCALLTYPE IAudioData_GetFormat_Proxy( 
  676.     IAudioData __RPC_FAR * This,
  677.     /* [out] */ WAVEFORMATEX __RPC_FAR *pWaveFormatCurrent);
  678.  
  679.  
  680. void __RPC_STUB IAudioData_GetFormat_Stub(
  681.     IRpcStubBuffer *This,
  682.     IRpcChannelBuffer *_pRpcChannelBuffer,
  683.     PRPC_MESSAGE _pRpcMessage,
  684.     DWORD *_pdwStubPhase);
  685.  
  686.  
  687. HRESULT STDMETHODCALLTYPE IAudioData_SetFormat_Proxy( 
  688.     IAudioData __RPC_FAR * This,
  689.     /* [in] */ const WAVEFORMATEX __RPC_FAR *lpWaveFormat);
  690.  
  691.  
  692. void __RPC_STUB IAudioData_SetFormat_Stub(
  693.     IRpcStubBuffer *This,
  694.     IRpcChannelBuffer *_pRpcChannelBuffer,
  695.     PRPC_MESSAGE _pRpcMessage,
  696.     DWORD *_pdwStubPhase);
  697.  
  698.  
  699.  
  700. #endif     /* __IAudioData_INTERFACE_DEFINED__ */
  701.  
  702.  
  703. /* Additional Prototypes for ALL interfaces */
  704.  
  705. /* end of Additional Prototypes */
  706.  
  707. #ifdef __cplusplus
  708. }
  709. #endif
  710.  
  711. #endif
  712.  
  713.  
  714. #pragma option pop /*P_O_Pop*/
  715.