Alistair Leslie-Hughes : include: Add ISpAudio interface.

Alexandre Julliard julliard at winehq.org
Tue Sep 21 15:59:04 CDT 2021


Module: wine
Branch: master
Commit: d2ff007ae0ed0de8c8b9d6dd115c8cfff52757ed
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=d2ff007ae0ed0de8c8b9d6dd115c8cfff52757ed

Author: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Date:   Wed Sep 15 18:55:38 2021 +1000

include: Add ISpAudio interface.

Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 include/sapi.idl | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/include/sapi.idl b/include/sapi.idl
index c90d5ec145b..59c2540ba21 100644
--- a/include/sapi.idl
+++ b/include/sapi.idl
@@ -492,6 +492,13 @@ typedef [hidden] enum SPFILEMODE
     SPFM_NUM_MODES
 } SPFILEMODE;
 
+typedef [restricted, hidden] struct SPAUDIOBUFFERINFO
+{
+    ULONG ulMsMinNotification;
+    ULONG ulMsBufferSize;
+    ULONG ulMsEventBias;
+} SPAUDIOBUFFERINFO;
+
 cpp_quote("#if defined(__GNUC__)")
 
 cpp_quote("#define SPCAT_AUDIOOUT (const WCHAR []){ 'H','K','E','Y','_','L','O','C','A','L','_','M','A','C','H','I','N','E','\\\\','S','O','F','T','W','A','R','E','\\\\','M','i','c','r','o','s','o','f','t','\\\\','S','p','e','e','c','h','\\\\','A','u','d','i','o','O','u','t','p','u','t',0 }")
@@ -994,6 +1001,28 @@ interface ISpStreamFormat : IStream
     HRESULT GetFormat(GUID *format, WAVEFORMATEX **wave);
 }
 
+[
+    object,
+    uuid(c05c768f-fae8-4ec2-8e07-338321c12452),
+    pointer_default(unique),
+    local,
+    restricted
+]
+interface ISpAudio : ISpStreamFormat
+{
+    HRESULT SetState([in] SPAUDIOSTATE state, [in] ULONGLONG reserved);
+    HRESULT SetFormat([in] REFGUID guid, [in] const WAVEFORMATEX *wave);
+    HRESULT GetStatus([out] SPAUDIOSTATUS *status);
+    HRESULT SetBufferInfo([in] const SPAUDIOBUFFERINFO *buffer);
+    HRESULT GetBufferInfo([out] SPAUDIOBUFFERINFO *buffer);
+    HRESULT GetDefaultFormat([out] GUID *guid, [out] WAVEFORMATEX **wave);
+    HANDLE  EventHandle();
+    HRESULT GetVolumeLevel([out] ULONG *level);
+    HRESULT SetVolumeLevel([in] ULONG level);
+    HRESULT GetBufferNotifySize([out] ULONG *size);
+    HRESULT SetBufferNotifySize([in] ULONG size);
+};
+
 [
     object,
     uuid(5b4fb971-b115-4de1-ad97-e482e3bf6ee4),




More information about the wine-cvs mailing list