GetSystemPreferredUILanguages-Funktion (winnls.h)
Ruft die vom System bevorzugten Benutzeroberflächensprachen ab. Weitere Informationen finden Sie unter Benutzeroberflächensprachverwaltung.
Syntax
BOOL GetSystemPreferredUILanguages(
[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 Format an, das für die vom System bevorzugten Benutzeroberflächensprachen 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. |
Das folgende Flag gibt an, ob die Funktion die Liste der Sprachen überprüft (Standard) oder die Liste der bevorzugten Benutzeroberflächensprachen des Systems genau so abruft, wie sie in der Registrierung gespeichert ist.
[out] pulNumLanguages
Zeiger auf die Anzahl der in pwszLanguagesBuffer abgerufenen Sprachen.
[out, optional] pwszLanguagesBuffer
Optional. Zeiger auf einen Puffer, in dem diese Funktion eine sortierte Liste der bevorzugten Benutzeroberflächensprachen des Systems 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 werden kann:
- 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
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".
Die vom System bevorzugten Benutzeroberflächensprachen dürfen nicht mehr als eine LIP-Sprache (Language Interface Pack) enthalten, die einem zusätzlichen Gebietsschema entspricht. Wenn die Liste mehrere dieser Sprachen enthält und die Anwendung im Aufruf der Funktion MUI_LANGUAGE_ID angibt, enthält der Sprachpuffer "1400" für diese Sprache. Diese Zeichenfolge entspricht dem Hexadezimalwert von LOCALE_CUSTOM_UI_DEFAULT.
Wenn das flag MUI_MACHINE_LANGUAGE_SETTINGS festgelegt ist, überprüft diese Funktion jede Sprache in der Liste, die ein gültiges NLS-Gebietsschema darstellt. Die abgerufene Liste kann die folgenden Elemente enthalten:
- Sprachen, die nicht auf dem System installiert sind
- Doppelte Spracheinträge
- Eine leere Zeichenfolge
Wenn das flag MUI_MACHINE_LANGUAGE_SETTINGS nicht festgelegt ist, weist die abgerufene Sprachliste die folgenden Merkmale auf:
- Jede Sprache stellt ein gültiges NLS-Gebietsschema dar.
- Jede Sprache ist auf dem Betriebssystem installiert.
- Die Liste enthält einen Eintrag für jede Sprache ohne doppelte Einträge.
C#-Signatur
[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
static extern System.Boolean GetSystemPreferredUILanguages(
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 |