home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / include / austream.idl < prev    next >
Text File  |  1998-04-25  |  2KB  |  98 lines

  1. import "unknwn.idl";
  2. import "mmstream.idl";
  3.  
  4. cpp_quote("//")
  5. cpp_quote("//    The following declarations within the 'if 0' block are dummy typedefs used to make")
  6. cpp_quote("//    the ddstream.idl file build.  The actual definitions are contained in DDRAW.H")
  7. cpp_quote("//")
  8. cpp_quote("#if 0")
  9. typedef struct tWAVEFORMATEX WAVEFORMATEX;
  10. cpp_quote ("#endif")
  11.  
  12. interface IAudioMediaStream;
  13. interface IAudioStreamSample;
  14. interface IMemoryData;
  15. interface IAudioData;
  16.  
  17. //  IAudioMediaStream
  18.  
  19.  
  20. [
  21. object,
  22. local,
  23. uuid(f7537560-a3be-11d0-8212-00c04fc32c45),
  24. pointer_default(unique)
  25. ]
  26. interface IAudioMediaStream : IMediaStream
  27. {
  28.  
  29.     HRESULT GetFormat(
  30.         [out] [optional] WAVEFORMATEX *pWaveFormatCurrent
  31.     );
  32.  
  33.     HRESULT SetFormat(
  34.         [in] const WAVEFORMATEX *lpWaveFormat);
  35.  
  36.     HRESULT CreateSample(
  37.         [in] IAudioData *pAudioData,
  38.         [in] DWORD dwFlags,
  39.         [out] IAudioStreamSample **ppSample
  40.     );
  41. }
  42.  
  43. [
  44. object,
  45. local,
  46. uuid(345fee00-aba5-11d0-8212-00c04fc32c45),
  47. pointer_default(unique)
  48. ]
  49. interface IAudioStreamSample : IStreamSample
  50. {
  51.     HRESULT GetAudioData(
  52.         [out] IAudioData **ppAudio
  53.     );
  54. }
  55.  
  56.  
  57. [
  58. object,
  59. local,
  60. uuid(327fc560-af60-11d0-8212-00c04fc32c45),
  61. pointer_default(unique)
  62. ]
  63. interface IMemoryData : IUnknown
  64. {
  65.     HRESULT SetBuffer(
  66.         [in] DWORD cbSize,
  67.         [in] BYTE *pbData,
  68.         [in] DWORD dwFlags
  69.     );
  70.  
  71.     HRESULT GetInfo(
  72.         [out] DWORD *pdwLength,
  73.         [out] BYTE **ppbData,
  74.         [out] DWORD *pcbActualData
  75.     );
  76.     HRESULT SetActual(
  77.         [in] DWORD cbDataValid
  78.     );
  79. }
  80.  
  81. [
  82. object,
  83. local,
  84. uuid(54c719c0-af60-11d0-8212-00c04fc32c45),
  85. pointer_default(unique)
  86. ]
  87. interface IAudioData : IMemoryData
  88. {
  89.     HRESULT GetFormat(
  90.         [out] [optional] WAVEFORMATEX *pWaveFormatCurrent
  91.     );
  92.  
  93.     HRESULT SetFormat(
  94.         [in] const WAVEFORMATEX *lpWaveFormat
  95.     );
  96. }
  97.  
  98.