Función RtlStringCchLengthW (ntstrsafe.h)
Las funciones RtlStringCchLengthW y RtlStringCchLengthA determinan la longitud, en caracteres, de una cadena proporcionada.
Sintaxis
NTSTRSAFEDDI RtlStringCchLengthW(
[in] STRSAFE_PCNZWCH psz,
[in] size_t cchMax,
size_t *pcchLength
);
Parámetros
[in] psz
Puntero a un búfer que contiene una cadena terminada en null, la longitud de la cual 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 |
---|---|
|
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 . |
|
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 |