Share via


SetLocaleInfoW-Funktion (winnls.h)

Legt ein Informationselement im Benutzer fest, das den Teil des aktuellen Gebietsschemas außer Kraft setzt. Diese Funktion legt die Systemstandardeinstellungen nicht fest.

Vorsicht Da diese Funktion Werte für alle Anwendungen ändert, sollte sie nur von der Regionalen- und Sprachoptionsfunktionalität von Systemsteuerung oder einem ähnlichen Hilfsprogramm aufgerufen werden. Wenn sie eine internationale Änderung an Systemparametern vornimmt, muss die aufrufende Anwendung die WM_SETTINGCHANGE-Nachricht senden, um in anderen Anwendungen nicht zu Instfähigkeiten zu führen.
 

Syntax

BOOL SetLocaleInfoW(
  [in] LCID    Locale,
  [in] LCTYPE  LCType,
  [in] LPCWSTR lpLCData
);

Parameter

[in] Locale

Für die ANSI-Version der Funktion der Gebietsschemabezeichner mit der Codepage, die beim Interpretieren der lpLCData-Informationen verwendet wird. Für die Unicode-Version wird dieser Parameter ignoriert.

Sie können das MAKELCID-Makro verwenden, um einen Gebietsschemabezeichner zu erstellen oder einen der folgenden vordefinierten Werte zu verwenden.

Die folgenden benutzerdefinierten Gebietsschemabezeichner werden ebenfalls unterstützt.

[in] LCType

Typ der festzulegenden Gebietsschemainformationen. Gültige Konstanten finden Sie im Abschnitt Gebietsschemainformationskonstanten im Abschnitt "Konstanten, die im LCType-Parameter von GetLocaleInfo, GetLocaleInfoEx und SetLocaleInfo verwendet werden". Die Anwendung kann nur einen Wert pro Aufruf angeben, aber sie kann den binären OR-Operator verwenden, um LOCALE_USE_CP_ACP mit einer anderen Konstanten zu kombinieren.

[in] lpLCData

Zeiger auf eine NULL-Zeichenfolge, die die festzulegenden Gebietsschemainformationen enthält. Die Informationen müssen in dem für die angegebene Konstante spezifischen Format vorliegen. Die Anwendung verwendet eine Unicode-Zeichenfolge für die Unicode-Version der Funktion und eine ANSI-Zeichenfolge für die ANSI-Version.

Rückgabewert

Gibt bei erfolgreicher Ausführung einen wert ungleichen Wert zurück, andernfalls 0. Um erweiterte Fehlerinformationen abzurufen, kann die Anwendung GetLastError aufrufen, wodurch einer der folgenden Fehlercodes zurückgegeben werden kann:

  • ERROR_ACCESS_DISABLED_BY_POLICY. Die Gruppenrichtlinie des Computers oder des Benutzers hat diesen Vorgang verboten.
  • ERROR_INVALID_ACCESS. Der Zugriffscode war ungültig.
  • ERROR_INVALID_FLAGS. Die für Flags angegebenen Werte waren ungültig.
  • ERROR_INVALID_PARAMETER. Jeder der Parameterwerte war ungültig.

Hinweise

Diese Funktion schreibt in die Registrierung, wo sie Werte festlegt, die einem bestimmten Benutzer anstelle einer bestimmten Anwendung zugeordnet sind. Diese Registrierungswerte wirken sich auf das Verhalten anderer Anwendungen aus, die vom Benutzer ausgeführt werden. In der Regel sollte eine Anwendung diese Funktion nur aufrufen, wenn der Benutzer die Änderungen explizit angefordert hat. Die Registrierungseinstellungen sollten zur Vereinfachung einer einzelnen Anwendung nicht geändert werden.

Für den LCType-Parameter sollte die Anwendung festlegen, LOCALE_USE_CP_ACP die ANSI-Codepage des Betriebssystems anstelle der Gebietsschemacodepage für die Zeichenfolgenübersetzung verwendet.

Wenn die ANSI-Version dieser Funktion mit einem reinen Unicode-Gebietsschemabezeichner verwendet wird, kann die Funktion erfolgreich sein, da das Betriebssystem die Systemcodepage verwendet. Zeichen, die auf der Systemcodepage nicht definiert sind, werden jedoch in der Zeichenfolge als Fragezeichen (?) angezeigt.

Ab Windows Vista sind die LOCALE_SDATE - und LOCALE_STIME konstanten veraltet. Verwenden Sie diese Konstanten nicht. Verwenden Sie stattdessen LOCALE_SSHORTDATE und LOCALE_STIMEFORMAT . Ein benutzerdefiniertes Gebietsschema verfügt möglicherweise nicht über ein einzelnes, einheitliches Trennzeichen innerhalb des Datums- oder Uhrzeitformats: Beispielsweise kann ein Format wie "12/31, 2006" oder "03:56'23" gültig sein.

Hinweis

Der winnls.h-Header definiert SetLocaleInfo als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winnls.h (einschließlich Windows.h)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

GetLocaleInfo

Unterstützung für nationale Sprachen

Nationale Sprachunterstützungsfunktionen