Compartir a través de


Función RtlStringCbLengthA (ntstrsafe.h)

Las funciones de RtlStringCbLengthW y RtlStringCbLengthA determinan la longitud, en bytes, de una cadena proporcionada.

Sintaxis

NTSTRSAFEDDI RtlStringCbLengthA(
  [in] STRSAFE_PCNZCH psz,
  [in] size_t         cbMax,
       size_t         *pcbLength
);

Parámetros

[in] psz

Puntero a un búfer que contiene una cadena terminada en NULL, cuya longitud se comprobará.

[in] cbMax

Número máximo de bytes permitidos en el búfer al que apunta psz, incluido el carácter nulo de terminación.

En el caso de las cadenas Unicode, el número máximo de bytes es NTSTRSAFE_MAX_CCH * sizeof(WCHAR).

Para las cadenas ANSI, el número máximo de bytes es NTSTRSAFE_MAX_CCH * sizeof(char).

pcbLength

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

Valor devuelto

La función devuelve uno de los valores NTSTATUS que se enumeran en la tabla siguiente. Para obtener información sobre cómo probar valores NTSTATUS, vea Using NTSTATUS Values.

Código devuelto Descripción
STATUS_SUCCESS
Este estado correcto significa que la cadena en psz no se nully la longitud de la cadena (incluido el carácter NULO de terminación) es menor o igual que caracteres cbMax.
STATUS_INVALID_PARAMETER
Este estado de error significa que el valor de psz es null, cbMax es mayor que NTSTRSAFE_MAX_CCH * sizeof(TCHAR) o psz es mayor que cbMax.

Observaciones

RtlStringCbLengthW y RtlStringCbLengthA en lugar de strlen. Use estas funciones para asegurarse de que una cadena no sea mayor que una longitud determinada, en bytes. Si se cumple esa condición, rtlStringCbLengthW y RtlStringCbLengthA devolver la longitud actual de la cadena en bytes, no incluidos los bytes usados para el carácter nulo de terminación.

Use RtlStringCbLengthW para controlar cadenas Unicode y RtlStringCbLengthA para controlar cadenas ANSI. El formulario que use depende de los datos, como se muestra en la tabla siguiente.

Tipo de datos string Literal de cadena Función
WCHAR L"string" rtlStringCbLengthW de
char "string" rtlStringCbLengthA
 

Para obtener más información sobre las funciones de cadena segura, vea Using Safe String Functions.

Requisitos

Requisito Valor
cliente mínimo admitido Disponible en Windows XP con Service Pack 1 (SP1) y versiones posteriores de Windows.
de la plataforma de destino de Escritorio
encabezado de ntstrsafe.h (incluya Ntstrsafe.h)
biblioteca de Ntstrsafe.lib
irQL Si las cadenas que se manipulan siempre residen en la memoria, de lo contrario, PASSIVE_LEVEL

Consulte también

RtlStringCchLength