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

Confira também

RtlMultiByteToUnicodeN

RtlUnicodeToMultiByteSize

RtlUpcaseUnicodeToMultiByteN