FindStringOrdinal-Funktion (libloaderapi.h)

Sucht eine Unicode-Zeichenfolge (Breitzeichen) in einer anderen Unicode-Zeichenfolge für einen nicht linguistischen Vergleich.

Syntax

int FindStringOrdinal(
  [in] DWORD   dwFindStringOrdinalFlags,
  [in] LPCWSTR lpStringSource,
  [in] int     cchSource,
  [in] LPCWSTR lpStringValue,
  [in] int     cchValue,
  [in] BOOL    bIgnoreCase
);

Parameter

[in] dwFindStringOrdinalFlags

Flags, die Details des Suchvorgangs angeben. Diese Flags schließen sich gegenseitig aus, wobei FIND_FROMSTART die Standardeinstellung ist. Die Anwendung kann nur eines der Suchflags angeben.

Wert Bedeutung
FIND_FROMSTART
Durchsuchen Sie die Zeichenfolge, beginnend mit dem ersten Zeichen der Zeichenfolge.
FIND_FROMEND
Suchen Sie die Zeichenfolge in umgekehrter Richtung, beginnend mit dem letzten Zeichen der Zeichenfolge.
FIND_STARTSWITH
Testen Sie, ob der von lpStringValue angegebene Wert der erste Wert in der Quellzeichenfolge ist, die von lpStringSource angegeben wird.
FIND_ENDSWITH
Testen Sie, ob der von lpStringValue angegebene Wert der letzte Wert in der Quellzeichenfolge ist, die von lpStringSource angegeben wird.

[in] lpStringSource

Zeiger auf die Quellzeichenfolge, in der die Funktion nach der durch lpStringValue angegebenen Zeichenfolge sucht.

[in] cchSource

Größe der durch lpStringSource angegebenen Zeichenfolge in Zeichen mit Ausnahme des abschließenden NULL-Zeichens. Die Anwendung muss normalerweise eine positive Zahl oder 0 angeben. Die Anwendung kann -1 angeben, wenn die Quellzeichenfolge null-beendet ist und die Funktion die Größe automatisch berechnen sollte.

[in] lpStringValue

Zeiger auf die Suchzeichenfolge, nach der die Funktion in der Quellzeichenfolge durchsucht.

[in] cchValue

Größe der durch lpStringValue angegebenen Zeichenfolge in Zeichen mit Ausnahme des abschließenden NULL-Zeichens. Die Anwendung muss normalerweise eine positive Zahl oder 0 angeben. Die Anwendung kann -1 angeben, wenn die Zeichenfolge null-beendet ist und die Funktion die Größe automatisch berechnen sollte.

[in] bIgnoreCase

TRUE , wenn die Funktion einen Vergleich ohne Berücksichtigung der Groß-/Kleinschreibung durchführt, andernfalls FALSE . Der Vergleich ist kein linguistischer Vorgang und eignet sich nicht für alle Gebietsschemas und Sprachen. Sein Verhalten ähnelt dem für Englisch.

Rückgabewert

Gibt einen 0-basierten Index in die Quellzeichenfolge zurück, die von lpStringSource angegeben wird, wenn dies erfolgreich ist. Wenn die Funktion erfolgreich ist, hat die gefundene Zeichenfolge dieselbe Größe wie der Wert von lpStringValue. Der Rückgabewert 0 gibt an, dass die Funktion am Anfang der Quellzeichenfolge eine Übereinstimmung gefunden hat.

Die Funktion gibt -1 zurück, wenn sie nicht erfolgreich ist oder die Suchzeichenfolge nicht gefunden wird. Um erweiterte Fehlerinformationen zu erhalten, kann die Anwendung GetLastError aufrufen, wodurch einer der folgenden Fehlercodes zurückgegeben werden kann:

  • ERROR_INVALID_FLAGS. Die für Flags angegebenen Werte waren ungültig.
  • ERROR_INVALID_PARAMETER. Jeder der Parameterwerte war ungültig.
  • ERROR_SUCCESS. Die Aktion wurde erfolgreich abgeschlossen, lieferte aber keine Ergebnisse.

Hinweise

Da FindStringOrdinal einen binären Vergleich bereitstellt, werden keine linguistisch geeigneten Ergebnisse zurückgegeben. Der Ordinalvergleich kann mit dem englischen Sortierverhalten verwechselt werden. Es findet jedoch keine Übereinstimmungen, wenn Zeichen um sprachlich unbedeutende Mengen variieren. Informationen zum Auswählen einer geeigneten Sortierfunktion finden Sie unter Sortieren .

Im Gegensatz zu NLS-Funktionen, die bei Einem Fehler 0 zurückgeben, gibt diese Funktion -1 zurück, wenn sie fehlschlägt. Bei Erfolg wird ein 0-basierter Index zurückgegeben. Die Verwendung dieses Indexes hilft der Funktion, Off-by-One-Fehler und 1-Zeichen-Pufferüberläufe zu vermeiden.

Diese Funktion ist eine der wenigen NLS-Funktionen, die SetLastError aufruft, auch wenn sie erfolgreich ist. Dieser Aufruf wird ausgeführt, um den letzten Fehler in einem Thread zu löschen, wenn er nicht mit der Suchzeichenfolge übereinstimmt. Dadurch wird der von GetLastError zurückgegebene Wert gelöscht.

Ab Windows 8: FindStringOrdinal wird in Libloaderapi.h deklariert. Vor Windows 8 wurde sie in Winnls.h deklariert.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 7 [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile libloaderapi.h (Einschließen von Windows.h)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

FindNLSString

FindNLSStringEx

Behandeln der Sortierung in Ihren Anwendungen

Unterstützung für landessprachliche Sprachen

Unterstützungsfunktionen für nationalsprachliche Sprachen