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 NULL-endende 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 den psz zeigt, einschließlich des abschließenden NULL-Zeichens. Dieser Wert darf NTSTRSAFE_MAX_CCH * sizeof(WCHAR) nicht überschreiten.

[out, optional] pcbLength

Optional. Wenn der Aufrufer einen Adresszeiger ungleich NULL bereitstellt, lädt die Funktion die Adresse mit der Länge in Bytes der Zeichenfolge, die im Puffer enthalten ist, auf den psz zeigt. Die Länge enthält nicht das abschließende NULL-Zeichen der Zeichenfolge.

Rückgabewert

RtlUnalignedStringCbLengthW gibt einen der folgenden NTSTATUS-Werte zurück.

Rückgabecode Beschreibung
STATUS_SUCCESS
Diese erfolgreiche status bedeutet, dass die Zeichenfolge, dass der angegebene psz-Parameter nicht NULL war und die Länge der Zeichenfolge (einschließlich des abschließenden NULL-Zeichens) kleiner oder gleich cbMax-Bytes war.
STATUS_INVALID_PARAMETER
Dieser Fehler status bedeutet, dass der Wert in pszNULL ist, cbMax größer als NTSTRSAFE_MAX_CCH * sizeof(WCHAR) oder psz länger als cbMax ist.
 

Informationen zum Testen von NTSTATUS-Werten finden Sie unter Verwenden von NTSTATUS-Werten.

Hinweise

Die RtlUnalignedStringCbLengthW-Funktion ist für Prozessorarchitekturen wie Itanium- und x64-basiert verfügbar, 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 RtlUnalignedStringCbLengthWrtlStringCbLength.)

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 PASSIVE_LEVEL

Weitere Informationen

RtlStringCbLength