RtlUnalignedStringCbLengthW-Funktion (ntstrsafe.h)
Die RtlUnalignedStringCbLengthW--Funktion ist eine Version der RtlStringCbLength--Funktion, die einen nicht ausgerichteten Zeiger auf eine Zeichenfolge von Unicode-Zeichen akzeptiert.
Syntax
NTSTRSAFEDDI RtlUnalignedStringCbLengthW(
[in] STRSAFE_PCUNZWCH psz,
[in] size_t cbMax,
[out, optional] size_t *pcbLength
);
Parameter
[in] psz
Stellt einen Zeiger auf einen Puffer bereit, der eine mit Null beendete Zeichenfolge enthält, deren Länge RtlUnalignedStringCbLengthW überprüft.
[in] cbMax
Gibt die maximale Anzahl von Bytes an, die im Puffer zulässig sind, auf die psz verweist, einschließlich des endenden NULL-Zeichens. Dieser Wert darf NTSTRSAFE_MAX_CCH * sizeof(WCHAR) nicht überschreiten.
[out, optional] pcbLength
Wahlfrei. Wenn der Aufrufer einen Nicht-NULL- Adresszeiger bereitstellt, lädt die Funktion die Adresse mit der Länge in Byte der Zeichenfolge, die im Puffer enthalten ist, auf den psz verweist. Die Länge enthält nicht das endende NULL-Zeichen der Zeichenfolge.
Rückgabewert
RtlUnalignedStringCbLengthW gibt einen der folgenden NTSTATUS-Werte zurück.
Rückgabecode | Beschreibung |
---|---|
|
Dieser Erfolg Status bedeutet, dass die Zeichenfolge, die der angegebene psz Parameter nicht NULL-und die Länge der Zeichenfolge (einschließlich des endenden NULL-Zeichens) kleiner oder gleich cbMax Bytes war. |
|
Dieser Fehlerstatus bedeutet, dass der Wert in pszNULL-ist, cbMax größer als NTSTRSAFE_MAX_CCH * sizeof(WCHAR, oder psz ist länger als cbMax. |
Informationen zum Testen von NTSTATUS-Werten finden Sie unter Verwenden von NTSTATUS-Werten.
Bemerkungen
Die RtlUnalignedStringCbLengthW--Funktion ist für Prozessorarchitekturen verfügbar, z. B. Itanium-basierte und x64-basierte, die Ausrichtungsausnahmen verursachen, wenn Software versucht, auf nicht ausgerichtete Daten zuzugreifen. Auf diesen Prozessoren können Sie RtlUnalignedStringCbLengthW- anstelle der RtlStringCbLength- funktion verwenden, um Ausrichtungsausnahmen zu vermeiden. (Für Prozessoren, die keine Ausrichtungsausnahmen verursachen, entspricht RtlUnalignedStringCbLengthW-RtlStringCbLength.)
Weitere Informationen zu den sicheren Zeichenfolgenfunktionen finden Sie unter Verwenden von Funktionen für sichere Zeichenfolgen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Verfügbar in Windows XP mit Service Pack 1 (SP1) und höheren Versionen von Windows. |
Zielplattform- | Desktop |
Header- | ntstrsafe.h (include Ntstrsafe.h) |
Library | Ntstrsafe.lib |
IRQL- | Wenn Zeichenfolgen, die bearbeitet werden, immer im Arbeitsspeicher vorhanden sind, andernfalls PASSIVE_LEVEL |