Поделиться через


Функция GetBinaryTypeW (winbase.h)

Определяет, является ли файл исполняемым файлом (.exe) и если да, какая подсистема запускает исполняемый файл.

Синтаксис

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

Параметры

[in] lpApplicationName

Полный путь к файлу, тип исполняемого файла которого должен быть определен.

По умолчанию имя ограничено MAX_PATH символами. Чтобы расширить это ограничение до 32 767 расширенных символов, добавьте "\\?\" в путь. Дополнительные сведения см. в именовании файлов, путей и пространств имен.

Кончик

Начиная с Windows 10 версии 1607, вы можете отказаться от ограничения MAX_PATH без предустановки "\\?\". Дополнительные сведения см. в разделе "Ограничение максимальной длины пути" файлы именования, пути и пространства имен.

[out] lpBinaryType

Указатель на переменную для получения сведений о типе исполняемого файла, заданного lpApplicationName. Определены следующие константы.

Ценность Значение
SCS_32BIT_BINARY
0
32-разрядное приложение на основе Windows
SCS_64BIT_BINARY
6
64-разрядное приложение под управлением Windows.
SCS_DOS_BINARY
1
Приложение на основе MS-DOS
SCS_OS216_BINARY
5
16-разрядное приложение ОС/2
SCS_PIF_BINARY
3
PIF-файл, который выполняет приложение на основе MS-DOS
SCS_POSIX_BINARY
4
ПРИЛОЖЕНИЕ на основе POSIX
SCS_WOW_BINARY
2
16-разрядное приложение на основе Windows

Возвращаемое значение

Если файл является исполняемым, возвращаемое значение ненулевое. Функция задает переменную, на которую указывает lpBinaryType, чтобы указать тип исполняемого файла.

Если файл недоступен или функция завершается ошибкой, возвращаемое значение равно нулю. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError. Если файл является библиотекой DLL, последний код ошибки ERROR_BAD_EXE_FORMAT.

Замечания

В качестве альтернативы можно получить те же сведения, вызвав функцию SHGetFileInfo, передав флаг SHGFI_EXETYPE в параметре uFlags.

Поведение символьной ссылки— если путь указывает на символьную ссылку, используется целевой файл.

В Windows 8 и Windows Server 2012 эта функция поддерживается следующими технологиями.

Технологии Поддержанный
Протокол SMB 3.0 Да
Отработка отказа SMB 3.0 (TFO) Да
SMB 3.0 с масштабируемыми общими папками (SO) Да
Файловая система общего тома кластера (CSVFS) Да
Отказоустойчивая файловая система (ReFS) Да
 

Заметка

Заголовок winbase.h определяет GetBinaryType как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows XP [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2003 [только классические приложения]
целевая платформа Виндоус
заголовка winbase.h (включая Windows.h)
библиотеки Kernel32.lib
DLL Kernel32.dll

См. также

функции управления файлами

SHGetFileInfo

символьные ссылки