Função GetBinaryTypeA (winbase.h)
Determina se um arquivo é um arquivo executável (.exe) e, nesse caso, qual subsistema executa o arquivo executável.
Sintaxe
BOOL GetBinaryTypeA(
[in] LPCSTR 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 caracteres MAX_PATH. Para estender esse limite para 32.767 caracteres largos, preencha "\\?\" para o caminho. Para obter mais informações, confira Nomear arquivos, caminhos e namespaces.
Dica
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 de 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.
Retornar valor
Se o arquivo for executável, o valor retornado será diferente de 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.
Comentários
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 do link – se o caminho apontar para um link simbólico, o arquivo de destino será usado.
Em Windows 8 e Windows Server 2012, essa função é compatível com as tecnologias a seguir.
Tecnologia | Com suporte |
---|---|
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 |
Observação
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 de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.
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 | winbase.h (inclua Windows.h) |
Biblioteca | Kernel32.lib |
DLL | Kernel32.dll |