Freigeben über


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

CompareString

GetNLSVersion

LCMapString

NLSVERSIONINFO

Unterstützung für landessprachliche Sprachen

Unterstützungsfunktionen für nationalsprachliche Sprachen

SYSNLS_FUNCTION