Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

98 lines
1.7 KiB

  1. // Copyright (c) 1997 Microsoft Corporation. All Rights Reserved.
  2. import "unknwn.idl";
  3. import "mmstream.idl";
  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. interface IAudioMediaStream;
  12. interface IAudioStreamSample;
  13. interface IMemoryData;
  14. interface IAudioData;
  15. // IAudioMediaStream
  16. [
  17. object,
  18. local,
  19. uuid(f7537560-a3be-11d0-8212-00c04fc32c45),
  20. pointer_default(unique)
  21. ]
  22. interface IAudioMediaStream : IMediaStream
  23. {
  24. HRESULT GetFormat(
  25. [out] [optional] WAVEFORMATEX *pWaveFormatCurrent
  26. );
  27. HRESULT SetFormat(
  28. [in] const WAVEFORMATEX *lpWaveFormat);
  29. HRESULT CreateSample(
  30. [in] IAudioData *pAudioData,
  31. [in] DWORD dwFlags,
  32. [out] IAudioStreamSample **ppSample
  33. );
  34. }
  35. [
  36. object,
  37. local,
  38. uuid(345fee00-aba5-11d0-8212-00c04fc32c45),
  39. pointer_default(unique)
  40. ]
  41. interface IAudioStreamSample : IStreamSample
  42. {
  43. HRESULT GetAudioData(
  44. [out] IAudioData **ppAudio
  45. );
  46. }
  47. [
  48. object,
  49. local,
  50. uuid(327fc560-af60-11d0-8212-00c04fc32c45),
  51. pointer_default(unique)
  52. ]
  53. interface IMemoryData : IUnknown
  54. {
  55. HRESULT SetBuffer(
  56. [in] DWORD cbSize,
  57. [in] BYTE *pbData,
  58. [in] DWORD dwFlags
  59. );
  60. HRESULT GetInfo(
  61. [out] DWORD *pdwLength,
  62. [out] BYTE **ppbData,
  63. [out] DWORD *pcbActualData
  64. );
  65. HRESULT SetActual(
  66. [in] DWORD cbDataValid
  67. );
  68. }
  69. [
  70. object,
  71. local,
  72. uuid(54c719c0-af60-11d0-8212-00c04fc32c45),
  73. pointer_default(unique)
  74. ]
  75. interface IAudioData : IMemoryData
  76. {
  77. HRESULT GetFormat(
  78. [out] [optional] WAVEFORMATEX *pWaveFormatCurrent
  79. );
  80. HRESULT SetFormat(
  81. [in] const WAVEFORMATEX *lpWaveFormat
  82. );
  83. }