GetThreadPreferredUILanguages-Funktion (winnls.h)
Ruft die bevorzugten Benutzeroberflächensprachen des Threads für den aktuellen Thread ab. Weitere Informationen finden Sie unter Benutzeroberflächensprachverwaltung.
Syntax
BOOL GetThreadPreferredUILanguages(
[in] DWORD dwFlags,
[out] PULONG pulNumLanguages,
[out, optional] PZZWSTR pwszLanguagesBuffer,
[in, out] PULONG pcchLanguagesBuffer
);
Parameter
[in] dwFlags
Flags zur Identifizierung des Sprachformats und der Filterung. Die folgenden Flags geben das Sprachformat an, das für die bevorzugten Benutzeroberflächensprachen des Threads verwendet werden soll. Die Flags schließen sich gegenseitig aus, und der Standardwert ist MUI_LANGUAGE_NAME.
Wert | Bedeutung |
---|---|
|
Rufen Sie die Sprachzeichenfolgen im Sprachbezeichnerformat ab . |
|
Rufen Sie die Sprachzeichenfolgen im Format des Sprachnamens ab. |
Die folgenden Flags geben die Filterung für die Funktion an, die beim Abrufen der bevorzugten Benutzeroberflächensprachen des Threads verwendet werden soll. Das Standardflag ist MUI_MERGE_USER_FALLBACK.
[out] pulNumLanguages
Zeiger auf die Anzahl der in pwszLanguagesBuffer abgerufenen Sprachen.
[out, optional] pwszLanguagesBuffer
Optional. Zeiger auf einen Puffer, in dem diese Funktion eine geordnete Liste der bevorzugten UI-Sprachen des Threads mit NULL-Trennzeichen im von dwFlags angegebenen Format abruft. Diese Liste endet mit zwei NULL-Zeichen.
Wenn dieser Parameter auf NULL und pcchLanguagesBuffer auf 0 festgelegt ist, ruft die Funktion die erforderliche Größe des Sprachpuffers in pcchLanguagesBuffer ab. Die erforderliche Größe enthält die beiden NULL-Zeichen.
[in, out] pcchLanguagesBuffer
Zeiger auf die Größe in Zeichen für den Sprachpuffer, der durch pwszLanguagesBuffer angegeben wird. Bei erfolgreicher Rückgabe von der Funktion enthält der Parameter die Größe des abgerufenen Sprachpuffers.
Wenn dieser Parameter auf 0 und pwszLanguagesBuffer auf NULL festgelegt ist, ruft die Funktion die erforderliche Größe des Sprachpuffers in pcchLanguagesBuffer ab.
Rückgabewert
Gibt TRUE zurück, wenn dies erfolgreich war, oder andernfalls FALSE . Um erweiterte Fehlerinformationen zu erhalten, kann die Anwendung GetLastError aufrufen, wodurch einer der folgenden Fehlercodes zurückgegeben wird:
- ERROR_INSUFFICIENT_BUFFER. Eine angegebene Puffergröße war nicht groß genug, oder sie wurde fälschlicherweise auf NULL festgelegt.
Wenn die Funktion aus einem anderen Grund fehlschlägt, sind die Parameter pulNumLanguages und pcchLanguagesBuffer nicht definiert.
Hinweise
Abhängig von den flags, die von der Anwendung angegeben werden, kann diese Funktion eine zusammengesetzte Liste abrufen, die aus den bevorzugten Benutzeroberflächensprachen des Threads, den bevorzugten Benutzeroberflächensprachen, den bevorzugten Benutzeroberflächensprachen oder den bevorzugten Benutzeroberflächensprachen des Systems und der Standardsprache der Benutzeroberfläche des Systems besteht. Wenn eine doppelte Sprache auftritt, ruft die Funktion nur die erste Sprache ab.
Wenn die Anwendung SetThreadPreferredUILanguages mit dem MUI_CONSOLE_FILTER- oder MUI_COMPLEX_SCRIPT_FILTER-Flag aufgerufen hat, filtert GetThreadPreferredUILanguages die Sprachen in der Ergebnisliste. Die Funktion ersetzt die Sprachen, die die Konsole nicht durch eine Ersatzsprache anzeigen kann. Die Ersetzung für eine Sprache wird anhand des Werts von LOCALE_SCONSOLEFALLBACKNAME für die Sprache bestimmt. Weitere Konsoleninformationen finden Sie in der Beschreibung von SetThreadUILanguage.
Die Verwendung von MUI_LANGUAGE_NAME wird über MUI_LANGUAGE_ID empfohlen, da das MUI_LANGUAGE_NAME-Flag die Verarbeitung von LIP-Sprachen (Language Interface Pack) verbessern kann, die zusätzlichen Gebietsschemas entsprechen.
Wenn MUI_LANGUAGE_ID angegeben wird, sind die abgerufenen Sprachzeichenfolgen hexadezimale Sprachbezeichner.
die das führende 0x nicht enthalten und 4 Zeichen lang sind. Beispielsweise wird "en-US" zurückgegeben.
als "0409" und en als "0009".
Wenn die Anwendung das flag MUI_LANGUAGE_ID festlegt, können die bevorzugten Benutzeroberflächensprachen des Threads eine oder mehrere Sprachen enthalten, die zusätzlichen Gebietsschemas entsprechen. Bei erfolgreicher Rückgabe der Funktion enthält der Sprachpuffer "1400" für jede Sprache, die einem zusätzlichen Gebietsschema entspricht. In dieser Liste kann nur eine solche Sprache enthalten sein. Die Zeichenfolge "1400" entspricht dem Hexadezimalwert von LOCALE_CUSTOM_UI_DEFAULT. Bei erfolgreicher Rückgabe der Funktion enthält pwszLanguagesBuffer "1000" für jede andere Sprache, die einem ergänzenden Gebietsschema entspricht. Die Zeichenfolge "1000" entspricht dem Hexadezimalwert von LOCALE_CUSTOM_UNSPECIFIED, der als Eingabe für jede Funktion nicht nützlich ist, da sie nicht zwischen zusätzlichen Gebietsschemas unterscheiden kann.
C#-Signatur
[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
static extern System.Boolean GetThreadPreferredUILanguages(
System.UInt32 dwFlags,
ref System.UInt32 pulNumLanguages,
System.IntPtr pwszLanguagesBuffer,
ref System.UInt32 pcchLanguagesBuffer
);
Anforderungen
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | winnls.h (windows.h einschließen) |
Bibliothek | Kernel32.lib |
DLL | Kernel32.dll |