GetFileVersionInfoExW 函数 (winver.h)

检索指定文件的版本信息。

语法

BOOL GetFileVersionInfoExW(
  [in]  DWORD   dwFlags,
  [in]  LPCWSTR lpwstrFilename,
        DWORD   dwHandle,
  [in]  DWORD   dwLen,
  [out] LPVOID  lpData
);

参数

[in] dwFlags

类型:DWORD

如果从中提取版本资源的任何) , (控制 MUI DLL。 此标志的值必须与传递给相应的 GetFileVersionInfoSizeEx 调用的标志匹配,后者用于确定 在 dwLen 参数中传递的缓冲区大小。 以下标志的零个或多个。

含义
FILE_VER_GET_LOCALISED
0x01
加载整个版本资源, (字符串和二进制版本信息) 相应的 MUI 文件(如果可用)。
FILE_VER_GET_NEUTRAL
0x02
从相应的 MUI 文件加载版本资源字符串(如果可用),并从相应的非特定语言文件 加载二 进制版本信息 (VS_FIXEDFILEINFO) (如果可用)。
FILE_VER_GET_PREFETCHED
0x04
指示 version.dll 尝试在加载程序锁外部预加载图像以避免争用的首选项。 此标志不会更改函数的行为或语义。

[in] lpwstrFilename

类型: LPCTSTR

文件的名称。 如果未指定完整路径,该函数将使用 LoadLibrary 函数指定的搜索序列。

dwHandle

类型:DWORD

忽略此参数。

[in] dwLen

类型:DWORD

lpData 参数指向的缓冲区的大小(以字节为单位)。

首先调用 GetFileVersionInfoSizeEx 函数以确定文件版本信息的大小(以字节为单位)。 dwLen 参数应等于或大于该值。

如果 lpData 指向的缓冲区不够大,函数会将文件的版本信息截断为缓冲区的大小。

[out] lpData

类型: LPVOID

当此函数返回时,包含指向包含文件版本信息的缓冲区的指针。

可以在后续调用 VerQueryValue 函数时使用此值,以从缓冲区检索数据。

返回值

类型: BOOL

如果该函数成功,则返回值为非零值。

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。

注解

在调用 GetFileVersionInfoEx 函数之前调用 GetFileVersionInfoSizeEx 函数。 若要从文件版本信息缓冲区检索信息,请使用 VerQueryValue 函数。

注意

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

要求

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

请参阅

概念性

GetFileVersionInfo

GetFileVersionInfoSizeEx

引用

VS_VERSIONINFO

VerQueryValue

版本信息