Compartir a través de


Función RtlUnalignedStringCbLengthW (ntstrsafe.h)

La función RtlUnalignedStringCbLengthW es una versión de la función RtlStringCbLength que acepta un puntero no asignado a una cadena de caracteres Unicode.

Sintaxis

NTSTRSAFEDDI RtlUnalignedStringCbLengthW(
  [in]            STRSAFE_PCUNZWCH psz,
  [in]            size_t           cbMax,
  [out, optional] size_t           *pcbLength
);

Parámetros

[in] psz

Proporciona un puntero a un búfer que contiene una cadena terminada en null cuya longitud RtlUnalignedStringCbLengthW comprobará.

[in] cbMax

Proporciona el número máximo de bytes permitidos en el búfer al que apunta psz , incluido el carácter NULL de terminación. Este valor no puede superar NTSTRSAFE_MAX_CCH * sizeof(WCHAR).

[out, optional] pcbLength

Opcional. Si el autor de la llamada proporciona un puntero de dirección distinto de NULL , la función carga la dirección con la longitud, en bytes, de la cadena contenida en el búfer al que apunta psz . La longitud no incluye el carácter NULL de terminación de la cadena.

Valor devuelto

RtlUnalignedStringCbLengthW devuelve uno de los siguientes valores NTSTATUS.

Código devuelto Descripción
STATUS_SUCCESS
Este estado correcto significa que la cadena que el parámetro psz especificó no era NULL y la longitud de la cadena (incluido el carácter NULL de terminación) era menor o igual que los bytes cbMax .
STATUS_INVALID_PARAMETER
Este estado de error significa que el valor de psz es NULL, cbMax es mayor que NTSTRSAFE_MAX_CCH * sizeof(WCHAR o psz es mayor que cbMax.
 

Para obtener información sobre cómo probar valores NTSTATUS, vea Uso de valores NTSTATUS.

Comentarios

La función RtlUnalignedStringCbLengthW está disponible para arquitecturas de procesador, como basadas en Itanium y basadas en x64, que provocan excepciones de alineación cuando el software intenta acceder a datos no asignados. En esos procesadores, puede usar RtlUnalignedStringCbLengthW en lugar de la función RtlStringCbLength para evitar excepciones de alineación. (Para los procesadores que no provocan excepciones de alineación, RtlUnalignedStringCbLengthW es equivalente a RtlStringCbLength).

Para obtener más información sobre las funciones de cadena segura, consulte Uso de funciones de cadena segura.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Windows XP con Service Pack 1 (SP1) y versiones posteriores de Windows.
Plataforma de destino Escritorio
Encabezado ntstrsafe.h (incluya Ntstrsafe.h)
Library Ntstrsafe.lib
IRQL Si las cadenas que se manipulan siempre residen en la memoria, de lo contrario, PASSIVE_LEVEL

Consulte también

RtlStringCbLength