Alistair Leslie-Hughes : user32: Support SPI_S/ GETAUDIODESCRIPTION in SystemParametersInfo.
Alexandre Julliard
julliard at winehq.org
Fri Jul 6 15:52:10 CDT 2018
Module: wine
Branch: master
Commit: 80205232d3ece73d4cc6c7589cea893583aae0b1
URL: https://source.winehq.org/git/wine.git/?a=commit;h=80205232d3ece73d4cc6c7589cea893583aae0b1
Author: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Date: Fri Jul 6 01:16:57 2018 +0000
user32: Support SPI_S/GETAUDIODESCRIPTION in SystemParametersInfo.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/user32/sysparams.c | 32 +++++++++++++++++++++++++++++++-
include/winuser.h | 9 +++++++++
2 files changed, 40 insertions(+), 1 deletion(-)
diff --git a/dlls/user32/sysparams.c b/dlls/user32/sysparams.c
index 13bd425..95387cd 100644
--- a/dlls/user32/sysparams.c
+++ b/dlls/user32/sysparams.c
@@ -70,6 +70,7 @@ enum parameter_key
SHOWSOUNDS_KEY,
KEYBOARDPREF_KEY,
SCREENREADER_KEY,
+ AUDIODESC_KEY,
NB_PARAM_KEYS
};
@@ -94,6 +95,9 @@ static const WCHAR KEYBOARDPREF_REGKEY[] = {'C','o','n','t','r','o','l',' ','P',
static const WCHAR SCREENREADER_REGKEY[] = {'C','o','n','t','r','o','l',' ','P','a','n','e','l','\\',
'A','c','c','e','s','s','i','b','i','l','i','t','y','\\',
'B','l','i','n','d',' ','A','c','c','e','s','s',0};
+static const WCHAR AUDIODESC_REGKEY[] = {'C','o','n','t','r','o','l',' ','P','a','n','e','l','\\',
+ 'A','c','c','e','s','s','i','b','i','l','i','t','y','\\',
+ 'A','u','d','i','o','D','e','s','c','r','i','p','t','i','o','n',0};
static const WCHAR *parameter_key_names[NB_PARAM_KEYS] =
{
@@ -107,6 +111,7 @@ static const WCHAR *parameter_key_names[NB_PARAM_KEYS] =
SHOWSOUNDS_REGKEY,
KEYBOARDPREF_REGKEY,
SCREENREADER_REGKEY,
+ AUDIODESC_REGKEY,
};
/* parameter key values; the first char is actually an enum parameter_key to specify the key */
@@ -217,6 +222,8 @@ static const WCHAR COLOR_GRADIENTACTIVECAPTION_VALNAME[] = {COLORS_KEY,'G','r','
static const WCHAR COLOR_GRADIENTINACTIVECAPTION_VALNAME[] = {COLORS_KEY,'G','r','a','d','i','e','n','t','I','n','a','c','t','i','v','e','T','i','t','l','e',0};
static const WCHAR COLOR_MENUHILIGHT_VALNAME[] = {COLORS_KEY,'M','e','n','u','H','i','l','i','g','h','t',0};
static const WCHAR COLOR_MENUBAR_VALNAME[] = {COLORS_KEY,'M','e','n','u','B','a','r',0};
+static const WCHAR AUDIODESC_LOCALE_VALNAME[] = {AUDIODESC_KEY,'L','o','c','a','l','e',0};
+static const WCHAR AUDIODESC_ON_VALNAME[] = {AUDIODESC_KEY,'O','n',0};
/* FIXME - real value */
static const WCHAR SCREENSAVERRUNNING_VALNAME[]= {DESKTOP_KEY,'W','I','N','E','_','S','c','r','e','e','n','S','a','v','e','r','R','u','n','n','i','n','g',0};
@@ -1240,6 +1247,7 @@ static BOOL_ENTRY( SCREENSAVERRUNNING, FALSE );
static BOOL_ENTRY( SHOWSOUNDS, FALSE );
static BOOL_ENTRY( SNAPTODEFBUTTON, FALSE );
static BOOL_ENTRY_MIRROR( ICONTITLEWRAP, TRUE );
+static BOOL_ENTRY( AUDIODESC_ON, FALSE);
static YESNO_ENTRY( BEEP, TRUE );
@@ -1269,6 +1277,7 @@ static DWORD_ENTRY( FOREGROUNDFLASHCOUNT, 3 );
static DWORD_ENTRY( FOREGROUNDLOCKTIMEOUT, 0 );
static DWORD_ENTRY( LOGPIXELS, 0 );
static DWORD_ENTRY( MOUSECLICKLOCKTIME, 1200 );
+static DWORD_ENTRY( AUDIODESC_LOCALE, 0 );
static PATH_ENTRY( DESKPATTERN );
static PATH_ENTRY( DESKWALLPAPER );
@@ -1399,6 +1408,8 @@ static union sysparam_all_entry * const default_entries[] =
(union sysparam_all_entry *)&entry_USERPREFERENCESMASK,
(union sysparam_all_entry *)&entry_WHEELSCROLLCHARS,
(union sysparam_all_entry *)&entry_WHEELSCROLLLINES,
+ (union sysparam_all_entry *)&entry_AUDIODESC_LOCALE,
+ (union sysparam_all_entry *)&entry_AUDIODESC_ON,
};
/***********************************************************************
@@ -2334,7 +2345,26 @@ BOOL WINAPI SystemParametersInfoW( UINT uiAction, UINT uiParam,
case SPI_SETFONTSMOOTHINGORIENTATION:
ret = set_entry( &entry_FONTSMOOTHINGORIENTATION, uiParam, pvParam, fWinIni );
break;
-
+ case SPI_GETAUDIODESCRIPTION:
+ {
+ AUDIODESCRIPTION *audio = pvParam;
+ if (audio && audio->cbSize == sizeof(AUDIODESCRIPTION) && uiParam == sizeof(AUDIODESCRIPTION) )
+ {
+ ret = get_entry( &entry_AUDIODESC_ON, 0, &audio->Enabled ) &&
+ get_entry( &entry_AUDIODESC_LOCALE, 0, &audio->Locale );
+ }
+ break;
+ }
+ case SPI_SETAUDIODESCRIPTION:
+ {
+ AUDIODESCRIPTION *audio = pvParam;
+ if (audio && audio->cbSize == sizeof(AUDIODESCRIPTION) && uiParam == sizeof(AUDIODESCRIPTION) )
+ {
+ ret = set_entry( &entry_AUDIODESC_ON, 0, &audio->Enabled, fWinIni) &&
+ set_entry( &entry_AUDIODESC_LOCALE, 0, &audio->Locale, fWinIni );
+ }
+ break;
+ }
default:
FIXME( "Unknown action: %u\n", uiAction );
SetLastError( ERROR_INVALID_SPI_VALUE );
diff --git a/include/winuser.h b/include/winuser.h
index 24ca055..a653ef4 100644
--- a/include/winuser.h
+++ b/include/winuser.h
@@ -2362,6 +2362,8 @@ typedef struct tagDROPSTRUCT
#define SPI_SETMOUSESPEED 113
#define SPI_GETSCREENSAVERRUNNING 114
#define SPI_GETDESKWALLPAPER 115
+#define SPI_GETAUDIODESCRIPTION 116
+#define SPI_SETAUDIODESCRIPTION 117
#define SPI_GETACTIVEWINDOWTRACKING 0x1000
#define SPI_SETACTIVEWINDOWTRACKING 0x1001
@@ -3387,6 +3389,13 @@ enum tagPOINTER_INPUT_TYPE
};
typedef DWORD POINTER_INPUT_TYPE;
+typedef struct tagAUDIODESCRIPTION
+{
+ UINT cbSize;
+ BOOL Enabled;
+ LCID Locale;
+} AUDIODESCRIPTION, *LPAUDIODESCRIPTION;
+
#if defined(_WINGDI_) && !defined(NOGDI)
WINUSERAPI LONG WINAPI ChangeDisplaySettingsA(LPDEVMODEA,DWORD);
WINUSERAPI LONG WINAPI ChangeDisplaySettingsW(LPDEVMODEW,DWORD);
More information about the wine-cvs
mailing list