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


Функция GetFileVersionInfoA (winver.h)

Извлекает сведения о версии для указанного файла.

Синтаксис

BOOL GetFileVersionInfoA(
  [in]  LPCSTR lptstrFilename,
        DWORD  dwHandle,
  [in]  DWORD  dwLen,
  [out] LPVOID lpData
);

Параметры

[in] lptstrFilename

Тип: LPCTSTR

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

dwHandle

Тип: DWORD

Этот параметр игнорируется.

[in] dwLen

Тип: DWORD

Размер буфера в байтах, на который указывает параметр lpData.

Сначала вызовите функцию GetFileVersionInfoSize, чтобы определить размер в байтах сведений о версии файла. Элемент dwLen должен быть равен или больше этого значения.

Если буфер, на который указывает lpData, недостаточно велик, функция усечает сведения о версии файла до размера буфера.

[out] lpData

Тип: LPVOID

Указатель на буфер, который получает сведения о версии файла.

Это значение можно использовать в последующем вызове функции VerQueryValue для получения данных из буфера.

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

Тип: BOOL

Если функция выполнена успешно, возвращаемое значение ненулевое.

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

Замечания

Сведения о версии файла имеют фиксированную и не фиксированную часть. Исправленная часть содержит такие сведения, как номер версии. Неопределимая часть содержит такие вещи, как строки. В прошлом GetFileVersionInfo принимает сведения о версии из двоичного файла (exe/dll). В настоящее время он запрашивает фиксированную версию из нейтрального файла языка (exe/dll) и неопределенную часть из mui-файла, объединяет их и возвращает пользователю. Если указанный двоичный файл не содержит мюи-файла, поведение выполняется так же, как в предыдущей версии.

Вызовите функцию GetFileVersionInfoSize перед вызовом функции GetFileVersionInfo. Чтобы получить сведения из буфера сведений о версии файла, используйте функцию VerQueryValue.

Заметка

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка winver.h (включая Windows.h)
библиотеки Version.lib
DLL Api-ms-win-core-version-l1-1-0.dll

См. также

концептуальные

GetFileVersionInfoSize

Справочник

VS_VERSIONINFO

VerQueryValue

сведения о версиях