Функция GetFileVersionInfoW (winver.h)
Извлекает сведения о версии указанного файла.
Синтаксис
BOOL GetFileVersionInfoW(
[in] LPCWSTR 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) и нефиксную часть из многоязыкового файла, объединяет их и возвращает пользователю. Если данный двоичный файл не имеет многоязыкового файла, поведение будет таким же, как и в предыдущей версии.
Вызовите функцию GetFileVersionInfoSize перед вызовом функции GetFileVersionInfo . Чтобы получить сведения из буфера сведений о версии файла, используйте функцию VerQueryValue .
Примечание
Заголовок winver.h определяет GetFileVersionInfo как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | winver.h (включая Windows.h) |
Библиотека | Version.lib |
DLL | Api-ms-win-core-version-l1-1-0.dll |
См. также раздел
Основные понятия
Справочные материалы