Функция 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 |
См. также раздел
Основные понятия
Справочные материалы