Leaked source code of windows server 2003
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.

106 lines
2.0 KiB

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