Função RtlStringCchVPrintfExW (ntstrsafe.h)
As funções RtlStringCchVPrintfExW e RtlStringCchVPrintfEx A criam uma cadeia de texto contada por caracteres, com formatação baseada em informações de formatação fornecidas.
Sintaxe
NTSTRSAFEDDI RtlStringCchVPrintfExW(
[out] NTSTRSAFE_PWSTR pszDest,
[in] size_t cchDest,
[out, optional] NTSTRSAFE_PWSTR *ppszDestEnd,
[out, optional] size_t *pcchRemaining,
[in] DWORD dwFlags,
[in, optional] NTSTRSAFE_PCWSTR pszFormat,
[in] va_list argList
);
Parâmetros
[out] pszDest
Um ponteiro para um buffer fornecido pelo chamador que recebe uma cadeia de caracteres formatada e terminada em nulo. A função cria essa cadeia de caracteres a partir da cadeia de caracteres de formatação fornecida por pszFormat e os argumentos fornecidos por argList. O ponteiro pszDest
[in] cchDest
O tamanho do buffer de destino, em caracteres. O buffer deve ser grande o suficiente para conter a cadeia de caracteres formatada mais o caractere nulo de terminação. O número máximo de caracteres permitido é NTSTRSAFE_MAX_CCH. Se pszDest for NULL, cchDest deverá ser zero.
[out, optional] ppszDestEnd
Se o chamador fornecer um ponteiro de endereço NULL não
[out, optional] pcchRemaining
Se o chamador fornecer um ponteiro de endereço NULL não
[in] dwFlags
Um ou mais sinalizadores e, opcionalmente, um byte de preenchimento. Os sinalizadores são definidos da seguinte maneira.
[in, optional] pszFormat
Ponteiro para uma cadeia de caracteres de texto terminada em nulo que contém diretivas de formatação com estilo printf. O ponteiro pszFormat pode ser NULL, mas somente se STRSAFE_IGNORE_NULLS estiver definido em dwFlags.
[in] argList
Uma lista de argumentos com tipo va_list. Os argumentos contidos na lista de argumentos serão interpretados usando a cadeia de caracteres de formatação fornecida por pszFormat.
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 os dados de origem estavam presentes, a cadeia de caracteres de saída foi criada sem truncamento e o buffer de destino resultante foi encerrado em nulo. |
|
Esse aviso status significa que a operação não foi concluída devido ao espaço insuficiente no buffer de destino. Se STRSAFE_NO_TRUNCATION estiver definido em dwFlags, o buffer de destino não será modificado. Se o sinalizador não estiver definido, o buffer de destino conterá uma versão truncada da cadeia de caracteres criada. |
|
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:
|
Observações
rtlStringCchVPrintfExW e rtlStringCchVPrintfExA devem ser usados em vez das seguintes funções:
- vsprintf
- vswprintf
- _vsnprintf
- _vsnwprintf
RtlStringCchVPrintfExW e RtlStringCchVPrintfExA adicionar à funcionalidade de rtlStringCchVPrintf retornando um ponteiro para o final da cadeia de caracteres de destino, bem como o número de caracteres deixados não utilizados nessa cadeia de caracteres. Os sinalizadores podem ser passados para a função para controle adicional.
Para obter mais informações sobre listas de argumentos com tipo va_list, consulte a documentação do SDK do Microsoft Windows.
Use rtlStringCchVPrintfExW para manipular cadeias de caracteres Unicode e rtlStringCchVPrintfExA para lidar com cadeias de caracteres ANSI. O formulário que você usa depende de seus dados.
Tipo de dados de cadeia de caracteres | Literal de cadeia de caracteres | Função |
---|---|---|
WCHAR | L"string" | rtlStringCchVPrintfExW |
char | "string" |
rtlStringCchVPrintfExA |
Se pszDest e pszFormat apontar para cadeias de caracteres sobrepostas ou se alguma cadeia de caracteres de argumento se sobrepor, o comportamento da função será indefinido.
pszDest não pode ser NULL, a menos que o sinalizador de STRSAFE_IGNORE_NULLS esteja definido.
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 |