Função RtlOemToUnicodeN (ntifs.h)

A rotina RtlOemToUnicodeN converte a cadeia de caracteres de origem especificada em uma cadeia de caracteres Unicode, usando a página de código OEM do sistema atual.

Sintaxe

NTSYSAPI NTSTATUS RtlOemToUnicodeN(
  [out]           PWCH   UnicodeString,
  [in]            ULONG  MaxBytesInUnicodeString,
  [out, optional] PULONG BytesInUnicodeString,
  [in]            PCCH   OemString,
  [in]            ULONG  BytesInOemString
);

Parâmetros

[out] UnicodeString

Ponteiro para um buffer alocado pelo chamador que recebe a cadeia de caracteres traduzida.

[in] MaxBytesInUnicodeString

Número máximo de bytes a serem gravados em UnicodeString. Se esse valor fizer com que a cadeia de caracteres traduzida seja truncada, RtlOemToUnicodeN não retornará um erro status.

[out, optional] BytesInUnicodeString

Ponteiro para uma variável alocada pelo chamador que recebe o comprimento, em bytes, da cadeia de caracteres traduzida. Este parâmetro pode ser NULL.

[in] OemString

Ponteiro para a cadeia de caracteres de origem OEM a ser convertida em Unicode. Se a página de código atual descrever um conjunto de caracteres de byte único, esse ponteiro poderá ser o mesmo endereço que UnicodeString.

[in] BytesInOemString

Comprimento, em bytes, da cadeia de caracteres em OemString.

Retornar valor

RtlOemToUnicodeN retornará STATUS_SUCCESS se a cadeia de caracteres completa em OemString tiver sido convertida com êxito e retornada em UnicodeString. Caso contrário, ele poderá retornar STATUS_BUFFER_OVERFLOW se a cadeia de caracteres de destino precisar ser truncada para se ajustar ao MaxBytesInUnicodeString especificado. STATUS_BUFFER_OVERFLOW é um valor NTSTATUS de aviso.

Comentários

RtlOemToUnicodeN dá suporte apenas a caracteres Unicode pré-compilados mapeados para a página de código OEM do sistema atual instalada no momento da inicialização do sistema.

Se a página de código do sistema atual definir um conjunto de caracteres de byte único, todos os caracteres de byte único no intervalo 0x00 para 0x7f serão simplesmente estendidos zero na cadeia de caracteres Unicode correspondente para acelerar a operação de conversão. O valor do caractere 0x5c em uma página de código desse tipo é traduzido para o caractere de barra invertida, mesmo que a página de código atual defina esse caractere como o sinal de Yen.

Para o valor retornado STATUS_SUCCESS, o valor de BytesInUnicodeString, se houver, indica o comprimento da cadeia de caracteres Unicode retornada, em vez do MaxBytesInUnicodeString fornecido.

Essa rotina não modifica a cadeia de caracteres de origem, a menos que os ponteiros UnicodeString e OemString sejam equivalentes. A cadeia de caracteres Unicode retornada será terminada em nulo se não estiver truncada.

Para obter informações sobre outras rotinas de tratamento de cadeia de caracteres, consulte Rotinas rtl (biblioteca em tempo de execução).

Requisitos

Requisito Valor
Plataforma de Destino Universal
Cabeçalho ntifs.h (inclua Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

Confira também

RtlOemStringToCountedUnicodeString

RtlOemStringToUnicodeString

RtlUnicodeToOemN