Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 |