Função RtlStringCbCatNA (ntstrsafe.h)
As funções RtlStringCbCatNW e RtlStringCbCatNA concatenam duas cadeias de caracteres contadas por bytes, limitando o tamanho da cadeia de caracteres acrescentada.
Sintaxe
NTSTRSAFEDDI RtlStringCbCatNA(
[in, out] NTSTRSAFE_PSTR pszDest,
[in] size_t cbDest,
[in] STRSAFE_PCNZCH pszSrc,
size_t cbToAppend
);
Parâmetros
[in, out] pszDest
Ponteiro para um buffer que, na entrada, contém uma cadeia de caracteres terminada em nulo para a qual pszSrc será concatenado. Na saída, esse é o buffer de destino que contém toda a cadeia de caracteres resultante. A cadeia de caracteres em pszSrc, até cbToAppend bytes, é adicionada ao final da cadeia de caracteres em pszDest e terminada com um caractere nulo.
[in] cbDest
O tamanho do buffer de destino, em bytes. O buffer deve ser grande o suficiente para incluir cadeias de caracteres e o caractere nulo de terminação.
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).
[in] pszSrc
Ponteiro para uma cadeia de caracteres terminada em nulo. Essa cadeia de caracteres será concatenada até o final da cadeia de caracteres contida no buffer em pszDest.
cbToAppend
O número máximo de bytes a serem acrescentados à cadeia de caracteres contida no buffer em pszDest.
Retornar valor
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 os dados de origem estavam presentes, as cadeias de caracteres foram concatenadas sem truncamento e o buffer de destino resultante foi encerrado em nulo. |
|
Esse aviso status significa que a operação de concatenação não foi concluída devido a espaço em buffer insuficiente. O buffer de destino contém uma versão truncada e terminada em nulo do resultado pretendido. |
|
Esse erro status significa que a função recebeu um parâmetro de entrada inválido. Para obter mais informações, consulte o parágrafo a seguir.
A função retorna o valor STATUS_INVALID_PARAMETER quando:
|
Comentários
RtlStringCbCatNW e RtlStringCbCatNA devem ser usados em vez das seguintes funções:
- strncat
- wcsncat
Use RtlStringCbCatNW para manipular cadeias de caracteres Unicode e RtlStringCbCatNA para manipular cadeias de caracteres ANSI. O formulário usado depende de seus dados, conforme mostrado na tabela a seguir
Tipos de dados de cadeia de caracteres | Cadeia de caracteres literal | Função |
---|---|---|
WCHAR | L"string" | RtlStringCbCatNW |
char | “cadeia de caracteres” | RtlStringCbCatNA |
Se pszSrc e pszDest apontarem para cadeias de caracteres sobrepostas, o comportamento da função será indefinido.
Nem pszSrc nem pszDest podem ser NULL. Se você precisar manipular valores de ponteiro de cadeia de caracteres NULL , use RtlStringCbCatNEx.
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 |
---|---|
Cliente mínimo com suporte | Disponível no Windows XP com Service Pack 1 (SP1) e versões posteriores do Windows. |
Plataforma de Destino | Área de Trabalho |
Cabeçalho | ntstrsafe.h (inclua Ntstrsafe.h) |
Biblioteca | Ntstrsafe.lib |
IRQL | Qualquer se cadeias de caracteres que estão sendo manipuladas estiverem sempre residentes na memória, caso contrário, PASSIVE_LEVEL |