Compartilhar via


Função GetBinaryTypeW (winbase.h)

Determina se um arquivo é um arquivo executável (.exe) e, em caso afirmativo, qual subsistema executa o arquivo executável.

Sintaxe

BOOL GetBinaryTypeW(
  [in]  LPCWSTR lpApplicationName,
  [out] LPDWORD lpBinaryType
);

Parâmetros

[in] lpApplicationName

O caminho completo do arquivo cujo tipo executável deve ser determinado.

Por padrão, o nome é limitado a MAX_PATH caracteres. Para estender esse limite para 32.767 caracteres de largura, acrescente "\\?\" ao caminho. Para obter mais informações, consulte Arquivos de Nomenclatura, Caminhos e Namespaces.

Ponta

A partir do Windows 10, versão 1607, você pode optar por remover a limitação de MAX_PATH sem acrescentar "\\?\". Consulte a seção "Limitação máxima do comprimento do caminho" de arquivos de nomenclatura, caminhos e namespaces para obter detalhes.

[out] lpBinaryType

Um ponteiro para uma variável para receber informações sobre o tipo executável do arquivo especificado por lpApplicationName. As constantes a seguir são definidas.

Valor Significado
SCS_32BIT_BINARY
0
Um aplicativo baseado no Windows de 32 bits
SCS_64BIT_BINARY
6
Um aplicativo baseado no Windows de 64 bits.
SCS_DOS_BINARY
1
Um MS-DOS – aplicativo baseado
SCS_OS216_BINARY
5
Um aplicativo baseado em SO/2 de 16 bits
SCS_PIF_BINARY
3
Um arquivo PIF que executa um aplicativo baseado em MS-DOS
SCS_POSIX_BINARY
4
Um POSIX – aplicativo baseado em
SCS_WOW_BINARY
2
Um aplicativo baseado no Windows de 16 bits

Valor de retorno

Se o arquivo for executável, o valor retornado não será zero. A função define a variável apontada por lpBinaryType para indicar o tipo executável do arquivo.

Se o arquivo não for executável ou se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError. Se o arquivo for uma DLL, o último código de erro será ERROR_BAD_EXE_FORMAT.

Observações

Como alternativa, você pode obter as mesmas informações chamando a função SHGetFileInfo, passando o sinalizador SHGFI_EXETYPE no parâmetro uFlags.

Comportamento simbólico de vínculo — se o caminho apontar para um link simbólico, o arquivo de destino será usado.

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

Tecnologia Suportado
Protocolo SMB (Bloco de Mensagens do Servidor) 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 de Cluster (CsvFS) Sim
ReFS (Sistema de Arquivos Resiliente) Sim
 

Nota

O cabeçalho winbase.h define GetBinaryType como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows XP [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows Server 2003 [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho winbase.h (inclua Windows.h)
biblioteca Kernel32.lib
de DLL Kernel32.dll

Consulte também

Funções de gerenciamento de arquivos

SHGetFileInfo

links simbólicos