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.
[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
Behandeln der Sortierung in Ihren Anwendungen