IsNLSDefinedString-Funktion (winnls.h)
Bestimmt, ob jedes Zeichen in einer Zeichenfolge ein definiertes Ergebnis für eine angegebene NLS-Funktion aufweist.
Syntax
BOOL IsNLSDefinedString(
[in] NLS_FUNCTION Function,
[in] DWORD dwFlags,
[in] LPNLSVERSIONINFO lpVersionInformation,
[in] LPCWSTR lpString,
[in] INT cchStr
);
Parameter
[in] Function
NLS-Funktion zum Abfragen. Dieser Wert muss COMPARE_STRING sein. Weitere Informationen finden Sie in der SYSNLS_FUNCTION-Enumeration.
[in] dwFlags
Flags, die die Funktion definieren. Muss den Wert 0 (null) haben.
[in] lpVersionInformation
Zeiger auf eine NLSVERSIONINFO-Struktur , die Versionsinformationen enthält. In der Regel werden die Informationen durch Aufrufen von GetNLSVersion abgerufen. Die Anwendung legt diesen Parameter auf NULL fest, wenn die Funktion die aktuelle Version verwenden soll.
[in] lpString
Zeiger auf die zu untersuchende UTF-16-Zeichenfolge.
[in] cchStr
Anzahl der UTF-16-Zeichen in der durch lpString angegebenen Zeichenfolge. Diese Anzahl kann ein endendes NULL-Zeichen enthalten. Wenn das abschließende NULL-Zeichen in der Zeichenanzahl enthalten ist, wirkt sich dies nicht auf das Überprüfungsverhalten aus, da das abschließende NULL-Zeichen immer definiert ist.
Die Anwendung sollte -1 angeben, um anzugeben, dass die Zeichenfolge NULL-beendet ist. In diesem Fall berechnet die Funktion selbst die Zeichenfolgenlänge.
Rückgabewert
Gibt TRUE zurück, wenn erfolgreich, nur, wenn die Eingabezeichenfolge gültig ist, 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.
- ERROR_INVALID_FLAGS. Die für Flags angegebenen Werte waren ungültig.
- ERROR_INVALID_PARAMETER. Jeder der Parameterwerte war ungültig.
Hinweise
Diese Funktion unterscheidet zwischen definierten und nicht definierten Zeichenfolgen, sodass eine Anwendung wie Active Directory Zeichenfolgen mit nicht definierten Codepunkten ablehnen kann. Die Verwendung der Funktion kann die Notwendigkeit minimieren, dass die Anwendung ihre Datenbank erneut indizieren muss. Weitere Informationen finden Sie unter Behandeln der Sortierung in Ihren Anwendungen.
Wenn Function beispielsweise auf COMPARE_STRING festgelegt ist, sucht IsNLSDefinedString nach nicht definierten Codepunkten, Ersatzzeichenpaaren , die nicht definierte Unicode-Zeichen darstellen, oder auf falsch formatierte Ersatzzeichenpaare. Wenn die Funktion TRUE für eine bestimmte Zeichenfolge zurückgibt, sind die Ergebnisse, wie von CompareString oder LCMapString mit festgelegtem LCMAP_SORTKEY abgerufen, garantiert identisch, solange sich die entsprechende NLS-Version nicht ändert.
Anforderungen
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 (windows.h einschließen) |
Bibliothek | Kernel32.lib |
DLL | Kernel32.dll |
Siehe auch
Unterstützung für landessprachliche Sprachen