12 сент. 2010 г.

GetBinaryType

Функция GetBinaryType определяет исполняемый-ли файл и, если да, то какой это тип исполняемого файла. Последнее свойство определяет на какиз подсистемах может запускаться файл.
BOOL GetBinaryType(
  LPCTSTR lpApplicationName,
  LPDWORD lpBinaryType
);
Параметры:
lpApplicationNameАдрес нульзаканчивающейся строки, которая содержит полный путь к файлу, чей двоичный тип определяется.

В ANSI-версия этой функции, имя ограничено в MAX_PATH символов. Для увеличения этого предела до 32,767 широких символов, вызывайте Unicode-версию функции, добавив к пути "\\?\".
lpBinaryTypeАдрес переменной, которая получает информацию о типе исполняемого файла. Определены следующие константы:

Значение:
Описание:
SCS_32BIT_BINARY32-битное приложение для Windows
SCS_64BIT_BINARY64-битное приложение для Windows
SCS_DOS_BINARYПриложение для MS-DOS
SCS_OS216_BINARY16-битное приложение для OS/2
SCS_PIF_BINARYФайл PIF, который запускается на приложениях для MS-DOS.
SCS_POSIX_BINARYПриложение для POSIX
SCS_WOW_BINARY16-битное приложение для Windows

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

Если файл не исполнительный, или функция имеет другую ошибку, возвращается ноль. Для получения дополнительной информации об ошибке, вызывайте GetLastError.
Замечания:
Как альтернатив, вы можете получить ту-же самую информацию с помощью функции SHGetFileInfo, отправив флаг SHGFI_EXETYPE в параметре uFlags.

Если путь указывает на символическую ссылку, используется файл цели этой ссылки.
Смотрите также:
SHGetFileInfo