Функция 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 Transparent Failover (TFO) Да
SMB 3.0 с масштабируемыми общими папками (SO) Да
Файловая система общего тома кластера (CSVFS) Да
Восстанавливаемая файловая система (ReFS) Да
 

Примечание

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

Требования

   
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header winbase.h (включая Windows.h)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

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

SHGetFileInfo

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