Função RtlUnicodeToMultiByteN (ntifs.h)
A rotina RtlUnicodeToMultiByteN converte a cadeia de caracteres Unicode especificada em uma nova cadeia de caracteres, usando a ACP (página de código ANSI) do sistema atual. A cadeia de caracteres traduzida não é necessariamente de um conjunto de caracteres multibyte.
Sintaxe
NTSYSAPI NTSTATUS RtlUnicodeToMultiByteN(
[out] PCHAR MultiByteString,
[in] ULONG MaxBytesInMultiByteString,
[out, optional] PULONG BytesInMultiByteString,
[in] PCWCH UnicodeString,
[in] ULONG BytesInUnicodeString
);
Parâmetros
[out] MultiByteString
Ponteiro para um buffer alocado pelo chamador para receber a cadeia de caracteres traduzida. O buffer MultiByteString não deve se sobrepor ao buffer UnicodeString .
[in] MaxBytesInMultiByteString
Número máximo de bytes a serem gravados em MultiByteString. Se esse valor fizer com que a cadeia de caracteres traduzida seja truncada, RtlUnicodeToMultiByteN não retornará um erro status.
[out, optional] BytesInMultiByteString
Ponteiro para uma variável alocada pelo chamador que recebe o comprimento, em bytes, da cadeia de caracteres traduzida. Esse parâmetro é opcional e pode ser NULL.
[in] UnicodeString
Ponteiro para a cadeia de caracteres de origem Unicode a ser traduzida.
[in] BytesInUnicodeString
Tamanho, em bytes, da cadeia de caracteres em UnicodeString.
Retornar valor
RtlUnicodeToMultiByteN retorna STATUS_SUCCESS.
Comentários
RtlUnicodeToMultiByteN converte a cadeia de caracteres Unicode fornecida usando a página de código ANSI do sistema atual que foi instalada no momento da inicialização do sistema.
Embora BytesInMultiByteString seja opcional e possa ser NULL, os chamadores devem fornecer armazenamento para ele, pois o comprimento recebido pode ser usado para determinar se a conversão foi bem-sucedida.
Essa rotina não modifica a cadeia de caracteres de origem. Ele retornará uma cadeia de caracteres multibyte terminada em nulo se o BytesInUnicodeString especificado incluir um terminador NULL e se o MaxBytesInMultiByteString especificado não causar truncamento.
Assim como RtlUnicodeToMultiByteSize, RtlUnicodeToMultiByteN dá suporte apenas a caracteres Unicode pré-compilados mapeados para a página de código ANSI do sistema atual instalada na inicialização do sistema.
Para obter informações sobre outras rotinas de manipulação de cadeia de caracteres, consulte Rotinas da RTL (Biblioteca em Tempo de Execução).
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Cabeçalho | ntifs.h (inclua Fltkernel.h, Ntifs.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | < DISPATCH_LEVEL |