Freigeben über


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
STATUS_SUCCESS
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.
STATUS_INVALID_PARAMETER
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

Siehe auch

RtlStringCbLength