Rebase against e482605548b124a7863f6b09395b3a850ae741cc.

This commit is contained in:
Alistair Leslie-Hughes
2021-09-22 08:28:32 +10:00
parent a1db1dfc16
commit 640f5f7d0a
6 changed files with 10 additions and 134 deletions

View File

@@ -1,60 +0,0 @@
From 51c747ba5e32109ed5d5b03e3bf5b67aecd8130c Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Wed, 15 Sep 2021 18:55:10 +1000
Subject: [PATCH 1/4] include: Add ISpAudio interface
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
---
include/sapi.idl | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/include/sapi.idl b/include/sapi.idl
index 5120e379450..b9bc05c5be4 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 }")
@@ -993,6 +1000,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),
--
2.33.0

View File

@@ -1,29 +0,0 @@
From dd0c16513f9c2be494327875915e7e7520b9d9e2 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Wed, 15 Sep 2021 18:55:11 +1000
Subject: [PATCH 2/4] sapi: ISpObjectToken SetId - Support create parameter
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
---
dlls/sapi/token.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/dlls/sapi/token.c b/dlls/sapi/token.c
index 04fa3a25d6a..ec1cce5f462 100644
--- a/dlls/sapi/token.c
+++ b/dlls/sapi/token.c
@@ -942,7 +942,10 @@ static HRESULT WINAPI token_SetId( ISpObjectToken *iface,
hr = parse_cat_id( token_id, &root, &subkey );
if (hr != S_OK) return SPERR_NOT_FOUND;
- res = RegOpenKeyExW( root, subkey, 0, KEY_ALL_ACCESS, &key );
+ if (create)
+ res = RegCreateKeyExW( root, subkey, 0, NULL, 0, KEY_ALL_ACCESS, NULL, &key, NULL);
+ else
+ res = RegOpenKeyExW( root, subkey, 0, KEY_ALL_ACCESS, &key );
if (res) return SPERR_NOT_FOUND;
This->token_key = key;
--
2.33.0

View File

@@ -1,32 +0,0 @@
From e00a0d24dbb7c28c5e0de1b957b872ed9fdcdc90 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Wed, 15 Sep 2021 18:55:11 +1000
Subject: [PATCH 3/4] sapi: ISpObjectTokenCategory SetId - Support create
parameter
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
---
dlls/sapi/token.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/dlls/sapi/token.c b/dlls/sapi/token.c
index ec1cce5f462..ba91a425e9e 100644
--- a/dlls/sapi/token.c
+++ b/dlls/sapi/token.c
@@ -416,9 +416,10 @@ static HRESULT WINAPI token_category_SetId( ISpObjectTokenCategory *iface,
hr = parse_cat_id( id, &root, &subkey );
if (hr != S_OK) return SPERR_INVALID_REGISTRY_KEY;
- if (create) FIXME( "Ignoring create\n" );
-
- res = RegOpenKeyExW( root, subkey, 0, KEY_ALL_ACCESS, &key );
+ if (create)
+ res = RegCreateKeyExW( root, subkey, 0, NULL, 0, KEY_ALL_ACCESS, NULL, &key, NULL );
+ else
+ res = RegOpenKeyExW( root, subkey, 0, KEY_ALL_ACCESS, &key );
if (res) return SPERR_INVALID_REGISTRY_KEY;
hr = CoCreateInstance( &CLSID_SpDataKey, NULL, CLSCTX_ALL,
--
2.33.0