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 文件中的非固定部分查询固定版本,将其合并并返回到用户。 如果给定的二进制文件没有 mui 文件,则行为与以前的版本一样。

调用 GetFileVersionInfoSize 函数,然后再调用 GetFileVersionInfo 函数。 若要从文件版本信息缓冲区检索信息,请使用 VerQueryValue 函数。

注意

winver.h 标头将 GetFileVersionInfo 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows 2000 Professional [仅限桌面应用]
支持的最低服务器 Windows 2000 Server [仅限桌面应用]
目标平台 窗户
标头 winver.h (包括 Windows.h)
Version.lib
DLL Api-ms-win-core-version-l1-1-0.dll

另请参阅

概念

GetFileVersionInfoSize

参考

VS_VERSIONINFO

VerQueryValue

版本信息