Função RtlStringCbLengthW (ntstrsafe.h)
As funções RtlStringCbLengthW e RtlStringCbLengthA determinam o comprimento, em bytes, de uma cadeia de caracteres fornecida.
Sintaxe
NTSTRSAFEDDI RtlStringCbLengthW(
[in] STRSAFE_PCNZWCH psz,
[in] size_t cbMax,
size_t *pcbLength
);
Parâmetros
[in] psz
Um ponteiro para um buffer que contém uma cadeia de caracteres terminada em nulo, do qual o comprimento será verificado.
[in] cbMax
O número máximo de bytes permitidos no buffer apontado por psz, incluindo o caractere nulo de encerramento.
Para cadeias de caracteres Unicode, o número máximo de bytes é NTSTRSAFE_MAX_CCH * sizeof(WCHAR).
Para cadeias de caracteres ANSI, o número máximo de bytes é NTSTRSAFE_MAX_CCH * sizeof(char).
pcbLength
Se o chamador fornecer um ponteiro de endereço NULLnão, a função carregará o endereço com o comprimento, em bytes, da cadeia de caracteres contida no buffer. O comprimento não inclui o caractere nulo de terminação da cadeia de caracteres.
Valor de retorno
A função retorna um dos valores NTSTATUS listados na tabela a seguir. Para obter informações sobre como testar valores NTSTATUS, consulte Usando valores NTSTATUS.
Código de retorno | Descrição |
---|---|
|
Esse êxito status significa que a cadeia de caracteres em psz não foi NULL e o comprimento da cadeia de caracteres (incluindo o caractere nulo de terminação) é menor ou igual a caracteres cbMax. |
|
Esse status de erro significa que o valor em psz é NULL, cbMax é maior que NTSTRSAFE_MAX_CCH * sizeof(TCHAR) ou psz é maior que cbMax. |
Observações
rtlStringCbLengthW e rtlStringCbLengthA devem ser usados em vez de strlen. Use essas funções para garantir que uma cadeia de caracteres não seja maior do que um determinado comprimento, em bytes. Se essa condição for atendida, RtlStringCbLengthW e RtlStringCbLengthA retornará o comprimento atual da cadeia de caracteres em bytes, não incluindo os bytes usados para encerrar o caractere nulo.
Use rtlStringCbLengthW para manipular cadeias de caracteres Unicode e rtlStringCbLengthA para lidar com cadeias de caracteres ANSI. O formulário usado depende de seus dados, conforme mostrado na tabela a seguir.
Tipo de dados de cadeia de caracteres | Literal de cadeia de caracteres | Função |
---|---|---|
WCHAR | L"string" | rtlStringCbLengthW |
char | "string" | rtlStringCbLengthA |
Para obter mais informações sobre as funções de cadeia de caracteres seguras, consulte Usando funções de cadeia de caracteres seguras.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Disponível no Windows XP com Service Pack 1 (SP1) e versões posteriores do Windows. |
da Plataforma de Destino | Área de trabalho |
cabeçalho | ntstrsafe.h (inclua Ntstrsafe.h) |
biblioteca | Ntstrsafe.lib |
IRQL | Se as cadeias de caracteres que estão sendo manipuladas estiverem sempre residentes na memória, caso contrário, PASSIVE_LEVEL |