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


Функция 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

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

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

GetFileVersionInfoSize

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

VS_VERSIONINFO

VerQueryValue

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