Compartilhar via


Função SetFileApisToOEM (fileapi.h)

Faz com que as funções de E/S do arquivo para o processo usem a página de código do conjunto de caracteres OEM. Essa função é útil para operações de entrada e saída do console de 8 bits.

Sintaxe

void SetFileApisToOEM();

Valor retornado

Nenhum

Comentários

As funções de E/S do arquivo cuja página de código é definida por SetFileApisToOEM são as funções exportadas por KERNEL32.DLL que aceitam ou retornam um nome de arquivo. SetFileApisToOEM define a página de código por processo, em vez de por thread ou por computador.

A função SetFileApisToOEM é complementada pela função SetFileApisToANSI , que faz com que o mesmo conjunto de funções de E/S de arquivo use a página de código do conjunto de caracteres ANSI.

As funções de console de 8 bits usam a página de código OEM por padrão. Todas as outras funções usam a página de código ANSI por padrão. Isso significa que as cadeias de caracteres retornadas pelas funções de console podem não ser processadas corretamente por outras funções e vice-versa. Por exemplo, se a função FindFirstFileA retornar uma cadeia de caracteres que contém determinados caracteres ANSI estendidos e as funções de console de 8 bits estiverem definidas para usar a página de código OEM, a função WriteConsoleA não exibirá a cadeia de caracteres corretamente.

Use a função AreFileApisANSI para determinar qual página de código o conjunto de funções de E/S do arquivo está usando no momento. Use as funções SetConsoleCP e SetConsoleOutputCP para definir a página de código para as funções de console de 8 bits.

Para resolver o problema de incompatibilidade de página de código, é melhor usar Unicode para aplicativos de console. Os aplicativos de console que usam Unicode são muito mais versáteis do que aqueles que usam funções de console de 8 bits. Excluindo essa solução, um aplicativo de console pode chamar a função SetFileApisToOEM para fazer com que o conjunto de funções de E/S do arquivo use cadeias de caracteres de conjunto de caracteres OEM em vez de cadeias de caracteres ANSI. Use a função SetFileApisToANSI para definir essas funções de volta para a página de código ANSI.

Ao lidar com linhas de comando, um aplicativo de console deve obter a linha de comando no formato Unicode e convertê-la no formulário OEM usando as funções relevantes de caractere para OEM. Observe também que a matriz no parâmetro argv da função de main de linha de comando contém cadeias de caracteres ANSI nesse caso.

No Windows 8 e Windows Server 2012, essa função é compatível com as tecnologias a seguir.

Tecnologia Com suporte
Protocolo SMB (SMB) 3.0 Sim
TFO (Failover transparente) do SMB 3.0 Sim
SMB 3.0 com compartilhamentos de arquivos de expansão (SO) Sim
Sistema de arquivos de Volume Compartilhado Clusterizado (CsvFS) Sim
ReFS (Sistema de Arquivos Resiliente) Sim

Requisitos

   
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho fileapi.h (inclua Windows.h, WinBase.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

AreFileApisANSI

Funções de gerenciamento de arquivos

FindFirstFileA

SetConsoleCP

SetConsoleOutputCP

SetFileApisToANSI

WriteConsoleA