RtlStringCchLengthA-Funktion (ntstrsafe.h)
Die Funktionen RtlStringCchLengthW und RtlStringCchLengthA bestimmen die Länge einer angegebenen Zeichenfolge in Zeichen.
Syntax
NTSTRSAFEDDI RtlStringCchLengthA(
[in] STRSAFE_PCNZCH psz,
[in] size_t cchMax,
size_t *pcchLength
);
Parameter
[in] psz
Ein Zeiger auf einen Puffer, der eine null-beendete Zeichenfolge enthält, deren Länge überprüft wird.
[in] cchMax
Die maximale Anzahl von Zeichen, die im Puffer zulässig sind, auf den psz verweist, einschließlich des beendenden NULL-Zeichens. Dieser Wert darf NTSTRSAFE_MAX_CCH nicht überschreiten.
pcchLength
Wenn der Aufrufer einen Adresszeiger ohne NULL bereitstellt, lädt die Funktion die Adresse mit der Länge (in Zeichen) der Zeichenfolge, die im Puffer enthalten ist. Die Länge enthält nicht das endende NULL-Zeichen der Zeichenfolge.
Rückgabewert
Die Funktion gibt einen der NTSTATUS-Werte zurück, die in der folgenden Tabelle aufgeführt sind. Informationen zum Testen von NTSTATUS-Werten finden Sie unter Verwenden von NTSTATUS-Werten.
Rückgabecode | Beschreibung |
---|---|
|
Dieser Erfolg status bedeutet, dass die Zeichenfolge bei psz nicht NULL war und die Länge der Zeichenfolge (einschließlich des beendenden NULL-Zeichens) kleiner oder gleich cchMax-Zeichen ist. |
|
Dieser Fehler status bedeutet, dass der Wert in pszNULL ist, cchMax größer als NTSTRSAFE_MAX_CCH oder psz länger als cchMax ist. |
Hinweise
Anstelle von strlen sollten RtlStringCchLengthW und RtlStringCchLengthA verwendet werden. Sie werden verwendet, um sicherzustellen, dass eine Zeichenfolge nicht größer als eine bestimmte Länge in Zeichen ist. Wenn diese Bedingung erfüllt ist, geben RtlStringCchLengthW und RtlStringCchLengthA die aktuelle Länge der Zeichenfolge in Zeichen zurück, ohne das endende NULL-Zeichen.
Verwenden Sie RtlStringCchLengthW zum Behandeln von Unicode-Zeichenfolgen und RtlStringCchLengthA zum Verarbeiten von ANSI-Zeichenfolgen. Das von Ihnen verwendete Formular hängt von Ihren Daten ab, wie in der folgenden Tabelle gezeigt.
String-Datentyp | Zeichenfolgenliteral | Funktion |
---|---|---|
WCHAR | L"Zeichenfolge" | RtlStringCchLengthW |
char | „String“ | RtlStringCchLengthA |
Weitere Informationen zu den Sicheren Zeichenfolgenfunktionen finden Sie unter Verwenden sicherer Zeichenfolgenfunktionen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar in Windows XP mit Service Pack 1 (SP1) und höheren Versionen von Windows. |
Zielplattform | Desktop |
Kopfzeile | ntstrsafe.h (einschließen von Ntstrsafe.h) |
Bibliothek | Ntstrsafe.lib |
IRQL | Alle, wenn Zeichenfolgen, die bearbeitet werden, immer im Arbeitsspeicher gespeichert sind, andernfalls PASSIVE_LEVEL |