Función RtlStringCchLengthA (ntstrsafe.h)

Las funciones RtlStringCchLengthW y RtlStringCchLengthA determinan la longitud, en caracteres, de una cadena proporcionada.

Sintaxis

NTSTRSAFEDDI RtlStringCchLengthA(
  [in] STRSAFE_PCNZCH psz,
  [in] size_t         cchMax,
       size_t         *pcchLength
);

Parámetros

[in] psz

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

[in] cchMax

Número máximo de caracteres permitidos en el búfer al que apunta psz, incluido el carácter nulo de terminación. Este valor no puede superar NTSTRSAFE_MAX_CCH.

pcchLength

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 caracteres, 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 Uso de valores NTSTATUS.

Código devuelto Descripción
STATUS_SUCCESS
Este estado correcto significa que la cadena de psz no era NULL y la longitud de la cadena (incluido el carácter nulo de terminación) es menor o igual que los caracteres cchMax .
STATUS_INVALID_PARAMETER
Este estado de error significa que el valor de psz es NULL, cchMax es mayor que NTSTRSAFE_MAX_CCH, o psz es mayor que cchMax.

Comentarios

RtlStringCchLengthW y RtlStringCchLengthA deben usarse en lugar de strlen. Se usan para asegurarse de que una cadena no es mayor que una longitud determinada, en caracteres. Si se cumple esa condición, RtlStringCchLengthW y RtlStringCchLengthA devuelven la longitud actual de la cadena en caracteres, sin incluir el carácter nulo de terminación.

Use RtlStringCchLengthW para controlar cadenas Unicode y RtlStringCchLengthA 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" RtlStringCchLengthW
char "cadena" RtlStringCchLengthA
 

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