Función RtlStringCbLengthW (ntstrsafe.h)
Las funciones de RtlStringCbLengthW y RtlStringCbLengthA determinan la longitud, en bytes, de una cadena proporcionada.
Sintaxis
NTSTRSAFEDDI RtlStringCbLengthW(
[in] STRSAFE_PCNZWCH 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 |
---|---|
|
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. |
|
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 |