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


Функция 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 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header winver.h (включая Windows.h)
Библиотека Version.lib
DLL Api-ms-win-core-version-l1-1-0.dll

См. также раздел

Основные понятия

GetFileVersionInfoSize

Справочные материалы

VS_VERSIONINFO

VerQueryValue

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