GetNLSVersionEx-Funktion (winnls.h)
Ruft Informationen zur aktuellen Version einer angegebenen NLS-Funktion für ein durch den Namen angegebenes Gebietsschema ab.
Syntax
BOOL GetNLSVersionEx(
[in] NLS_FUNCTION function,
[in, optional] LPCWSTR lpLocaleName,
[in, out] LPNLSVERSIONINFOEX lpVersionInformation
);
Parameter
[in] function
Die abzufragende NLS-Funktion. Dieser Wert muss COMPARE_STRING werden. Siehe SYSNLS_FUNCTION-Enumeration .
[in, optional] lpLocaleName
Zeiger auf einen Gebietsschemanamen oder einen der folgenden vordefinierten Werte.
[in, out] lpVersionInformation
Zeiger auf eine NLSVERSIONINFOEX-Struktur . Die Anwendung muss das dwNLSVersionInfoSize-Element in sizeof(NLSVERSIONINFOEX)
initialisieren.
Rückgabewert
Gibt TRUE nur zurück, wenn die Anwendung gültige Werte in lpVersionInformation angegeben hat, oder andernfalls FALSE . Um erweiterte Fehlerinformationen abzurufen, 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.
- ERROR_INVALID_FLAGS. Die für Flags angegebenen Werte waren ungültig.
- ERROR_INVALID_PARAMETER. Jeder der Parameterwerte war ungültig.
Hinweise
Mit dieser Funktion kann eine Anwendung wie Active Directory ermitteln, ob sich eine NLS-Änderung auf das Gebietsschema auswirkt, das für eine bestimmte Indextabelle verwendet wird. Andernfalls muss die Tabelle nicht erneut indiziert werden. Weitere Informationen finden Sie unter Behandeln der Sortierung in Ihren Anwendungen. Um insbesondere zu ermitteln, ob sich eine Sortierversion geändert hat und Sie neu indizieren müssen:
- Verwenden Sie GetNLSVersionEx , um eine NLSVERSIONINFOEX-Struktur abzurufen, wenn Sie die ursprüngliche Indizierung Ihrer Daten durchführen.
- Speichern Sie die folgenden Eigenschaften mit Ihrem Index, um die Version zu identifizieren:
- NLSVERSIONINFOEX.dwNLSVersion. Dies gibt die Version der sortiertabelle an, die Sie verwenden.
- NLSVERSIONINFOEX.dwEffectiveId. Dies gibt das effektive Gebietsschema Ihrer Art an. Ein benutzerdefiniertes Gebietsschema zeigt auf die Sortierung eines In-Box-Gebietsschemas.
- NLSVERSIONINFOEX.guidCustomVersion. Dies ist eine GUID, die eine bestimmte benutzerdefinierte Sortierung für benutzerdefinierte Gebietsschemas angibt.
- Wenn Sie den Index verwenden, verwenden Sie GetNLSVersionEx , um die Version Ihrer Daten zu ermitteln.
- Wenn sich eine der drei Eigenschaften geändert hat, können die von Ihnen verwendeten Sortierdaten unterschiedliche Ergebnisse zurückgeben, und bei jeder Indizierung, die Sie haben, können Datensätze möglicherweise nicht gefunden werden.
- Wenn Sie wissen , dass Ihre Daten keine ungültigen Unicode-Codepunkte enthalten (das heißt, alle Ihre Zeichenfolgen haben einen Aufruf an IsNLSDefinedString übergeben), können Sie sie als identisch betrachten, wenn sich nur das niedrige Byte von dwNLSVersion geändert hat (die oben beschriebene Nebenversion).
Diese Funktion unterstützt benutzerdefinierte Gebietsschemas. Wenn lpLocaleName ein zusätzliches Gebietsschema angibt, sind die abgerufenen Daten die richtigen Daten für die Sortierreihenfolge, die diesem zusätzlichen Gebietsschema zugeordnet ist.
Ab Windows 8: Wenn Ihre App Sprachtags aus dem Windows.Globalization-Namespace an diese Funktion übergibt, muss sie zuerst die Tags konvertieren, indem ResolveLocaleName aufgerufen wird.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | winnls.h (einschließlich Windows.h) |
Bibliothek | Kernel32.lib |
DLL | Kernel32.dll |
Siehe auch
Behandeln der Sortierung in Ihren Anwendungen
So ermitteln Sie, ob sich die Sortierungsversion geändert hat
Unterstützung für nationale Sprachen