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