ntdll: Fix race in NtRead/WriteFile.
[wine/multimedia.git] / include / austream.idl
blobbdfd11f7b44128f70e69c401e971aec362b3bb72
1 /*
2 * Copyright 2004 Christian Costa
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 import "unknwn.idl";
20 import "mmstream.idl";
22 cpp_quote("#if 0")
23 typedef struct tWAVEFORMATEX WAVEFORMATEX;
24 cpp_quote ("#endif")
26 interface IAudioMediaStream;
27 interface IAudioStreamSample;
28 interface IMemoryData;
29 interface IAudioData;
32 object,
33 local,
34 uuid(f7537560-a3be-11d0-8212-00c04fc32c45),
35 pointer_default(unique)
37 interface IAudioMediaStream : IMediaStream
39 HRESULT GetFormat(
40 [out] /*[optional]*/ WAVEFORMATEX *pWaveFormatCurrent
43 HRESULT SetFormat(
44 [in] const WAVEFORMATEX *lpWaveFormat);
46 HRESULT CreateSample(
47 [in] IAudioData *pAudioData,
48 [in] DWORD dwFlags,
49 [out] IAudioStreamSample **ppSample
55 object,
56 local,
57 uuid(345fee00-aba5-11d0-8212-00c04fc32c45),
58 pointer_default(unique)
60 interface IAudioStreamSample : IStreamSample
62 HRESULT GetAudioData(
63 [out] IAudioData **ppAudio
69 object,
70 local,
71 uuid(327fc560-af60-11d0-8212-00c04fc32c45),
72 pointer_default(unique)
74 interface IMemoryData : IUnknown
76 HRESULT SetBuffer(
77 [in] DWORD cbSize,
78 [in] BYTE *pbData,
79 [in] DWORD dwFlags
82 HRESULT GetInfo(
83 [out] DWORD *pdwLength,
84 [out] BYTE **ppbData,
85 [out] DWORD *pcbActualData
87 HRESULT SetActual(
88 [in] DWORD cbDataValid
94 object,
95 local,
96 uuid(54c719c0-af60-11d0-8212-00c04fc32c45),
97 pointer_default(unique)
99 interface IAudioData : IMemoryData
101 HRESULT GetFormat(
102 [out] /*[optional]*/ WAVEFORMATEX *pWaveFormatCurrent
105 HRESULT SetFormat(
106 [in] const WAVEFORMATEX *lpWaveFormat