Stefan Leichter : kernel32: Add stub for GetSystemPreferredUILanguages.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Jan 19 10:50:28 CST 2016


Module: wine
Branch: master
Commit: 1c3c9f06c517b6f5e35632d792b376c403ddb07e
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=1c3c9f06c517b6f5e35632d792b376c403ddb07e

Author: Stefan Leichter <Stefan.Leichter at camLine.com>
Date:   Sun Jan 17 10:00:51 2016 +0100

kernel32: Add stub for GetSystemPreferredUILanguages.

Signed-off-by: Stefan Leichter <Stefan.Leichter at camLine.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 .../api-ms-win-core-localization-l1-2-0.spec       |  2 +-
 .../api-ms-win-core-localization-l1-2-1.spec       |  2 +-
 dlls/kernel32/kernel32.spec                        |  2 +-
 dlls/kernel32/locale.c                             | 26 ++++++++++++++++++++++
 include/winnls.h                                   |  1 +
 5 files changed, 30 insertions(+), 3 deletions(-)

diff --git a/dlls/api-ms-win-core-localization-l1-2-0/api-ms-win-core-localization-l1-2-0.spec b/dlls/api-ms-win-core-localization-l1-2-0/api-ms-win-core-localization-l1-2-0.spec
index 60da5fe..bdbcbb8 100644
--- a/dlls/api-ms-win-core-localization-l1-2-0/api-ms-win-core-localization-l1-2-0.spec
+++ b/dlls/api-ms-win-core-localization-l1-2-0/api-ms-win-core-localization-l1-2-0.spec
@@ -23,7 +23,7 @@
 @ stub GetProcessPreferredUILanguages
 @ stdcall GetSystemDefaultLCID() kernel32.GetSystemDefaultLCID
 @ stdcall GetSystemDefaultLangID() kernel32.GetSystemDefaultLangID
-@ stub GetSystemPreferredUILanguages
+@ stdcall GetSystemPreferredUILanguages(long ptr ptr ptr) kernel32.GetSystemPreferredUILanguages
 @ stdcall GetThreadLocale() kernel32.GetThreadLocale
 @ stdcall GetThreadPreferredUILanguages(long ptr ptr ptr) kernel32.GetThreadPreferredUILanguages
 @ stdcall GetThreadUILanguage() kernel32.GetThreadUILanguage
diff --git a/dlls/api-ms-win-core-localization-l1-2-1/api-ms-win-core-localization-l1-2-1.spec b/dlls/api-ms-win-core-localization-l1-2-1/api-ms-win-core-localization-l1-2-1.spec
index 3a29cb7..98ec923 100644
--- a/dlls/api-ms-win-core-localization-l1-2-1/api-ms-win-core-localization-l1-2-1.spec
+++ b/dlls/api-ms-win-core-localization-l1-2-1/api-ms-win-core-localization-l1-2-1.spec
@@ -24,7 +24,7 @@
 @ stub GetProcessPreferredUILanguages
 @ stdcall GetSystemDefaultLCID() kernel32.GetSystemDefaultLCID
 @ stdcall GetSystemDefaultLangID() kernel32.GetSystemDefaultLangID
-@ stub GetSystemPreferredUILanguages
+@ stdcall GetSystemPreferredUILanguages(long ptr ptr ptr) kernel32.GetSystemPreferredUILanguages
 @ stdcall GetThreadLocale() kernel32.GetThreadLocale
 @ stdcall GetThreadPreferredUILanguages(long ptr ptr ptr) kernel32.GetThreadPreferredUILanguages
 @ stdcall GetThreadUILanguage() kernel32.GetThreadUILanguage
diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec
index 9fecbd7..9171558 100644
--- a/dlls/kernel32/kernel32.spec
+++ b/dlls/kernel32/kernel32.spec
@@ -824,7 +824,7 @@
 @ stdcall GetSystemFirmwareTable(long long ptr long)
 @ stdcall GetSystemInfo(ptr)
 @ stdcall GetSystemPowerStatus(ptr)
-# @ stub GetSystemPreferredUILanguages
+@ stdcall GetSystemPreferredUILanguages(long ptr ptr ptr)
 @ stdcall GetSystemRegistryQuota(ptr ptr)
 @ stdcall GetSystemTime(ptr)
 @ stdcall GetSystemTimeAdjustment(ptr ptr ptr)
diff --git a/dlls/kernel32/locale.c b/dlls/kernel32/locale.c
index 5e7ca90..8ecbb0c 100644
--- a/dlls/kernel32/locale.c
+++ b/dlls/kernel32/locale.c
@@ -1049,6 +1049,32 @@ INT WINAPI GetSystemDefaultLocaleName(LPWSTR localename, INT len)
 }
 
 /***********************************************************************
+ *             GetSystemPreferredUILanguages (KERNEL32.@)
+ */
+BOOL WINAPI GetSystemPreferredUILanguages(DWORD flags, ULONG* count, WCHAR* buffer, ULONG* size)
+{
+    if (flags & ~(MUI_LANGUAGE_NAME | MUI_LANGUAGE_ID | MUI_MACHINE_LANGUAGE_SETTINGS))
+    {
+        SetLastError(ERROR_INVALID_PARAMETER);
+        return FALSE;
+    }
+    if ((flags & MUI_LANGUAGE_NAME) && (flags & MUI_LANGUAGE_ID))
+    {
+        SetLastError(ERROR_INVALID_PARAMETER);
+        return FALSE;
+    }
+    if (*size && !buffer)
+    {
+        SetLastError(ERROR_INVALID_PARAMETER);
+        return FALSE;
+    }
+
+    FIXME("(0x%x %p %p %p) stub\n", flags, count, buffer, size);
+    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+    return FALSE;
+}
+
+/***********************************************************************
  *		GetUserDefaultUILanguage (KERNEL32.@)
  *
  * Get the default user interface language Id for the current user.
diff --git a/include/winnls.h b/include/winnls.h
index 4b4eb77..603c408 100644
--- a/include/winnls.h
+++ b/include/winnls.h
@@ -906,6 +906,7 @@ WINBASEAPI BOOL        WINAPI GetStringTypeExW(LCID,DWORD,LPCWSTR,INT,LPWORD);
 WINBASEAPI LANGID      WINAPI GetSystemDefaultLangID(void);
 WINBASEAPI LCID        WINAPI GetSystemDefaultLCID(void);
 WINBASEAPI LANGID      WINAPI GetSystemDefaultUILanguage(void);
+WINBASEAPI BOOL        WINAPI GetSystemPreferredUILanguages(DWORD,ULONG*,WCHAR*,ULONG*);
 WINBASEAPI LCID        WINAPI GetThreadLocale(void);
 WINBASEAPI INT         WINAPI GetTimeFormatA(LCID,DWORD,const SYSTEMTIME*,LPCSTR,LPSTR,INT);
 WINBASEAPI INT         WINAPI GetTimeFormatEx(LPCWSTR,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,INT);




More information about the wine-cvs mailing list