VerFindFileA 函数 (winver.h)
根据该文件是否在系统中找到另一个版本的文件来确定在何处安装文件。 在对 VerInstallFile 函数的后续调用中使用 VerFindFile 返回的值。
语法
DWORD VerFindFileA(
[in] DWORD uFlags,
[in] LPCSTR szFileName,
[in, optional] LPCSTR szWinDir,
[in] LPCSTR szAppDir,
[out] LPSTR szCurDir,
[in, out] PUINT puCurDirLen,
[out] LPSTR szDestDir,
[in, out] PUINT puDestDirLen
);
参数
[in] uFlags
类型:DWORD
此参数可以是以下值。 所有其他位都保留。
价值 | 意义 |
---|---|
|
源文件可由多个应用程序共享。 应用程序可以使用此信息来确定应复制文件的位置。 |
[in] szFileName
类型:LPCTSTR
要安装的文件的名称。 仅包含文件名和扩展名,而不是路径。
[in, optional] szWinDir
类型:LPCTSTR
运行或将运行 Windows 的目录。 此字符串由 GetWindowsDirectory 函数返回。
[in] szAppDir
类型:LPCTSTR
安装程序正在安装一组相关文件的目录。 如果安装程序正在安装应用程序,则这是应用程序将驻留的目录。 此参数还指向应用程序的当前目录,除非另有指定。
[out] szCurDir
类型:LPWSTR
一个缓冲区,用于接收所安装文件的当前版本的路径。 路径为零终止的字符串。 如果未安装当前版本,缓冲区将包含零长度字符串。 缓冲区长度至少应为 _MAX_PATH 个字符,但这不是必需的。
[in, out] puCurDirLen
类型:PUINT
szCurDir 缓冲区的长度。 此指针不得 NULL。
函数返回时,lpuCurDirLen 包含 szCurDir中返回的数据的大小(以字符为单位),包括终止 null 字符。 如果缓冲区太小而不能包含所有数据,lpuCurDirLen 将是保存路径所需的缓冲区的大小。
[out] szDestDir
类型:LPTSTR
接收 VerFindFile推荐的安装位置路径的缓冲区。 路径为零终止的字符串。 缓冲区长度至少应为 _MAX_PATH 个字符,但这不是必需的。
[in, out] puDestDirLen
类型:PUINT
指向指定 szDestDir 缓冲区长度的变量的指针。 此指针不得 NULL。
函数返回时,lpuDestDirLen 包含 szDestDir中返回的数据的大小(以字符为单位),包括终止 null 字符。 如果缓冲区太小而无法包含所有数据,lpuDestDirLen 将是保存路径所需的缓冲区大小。
返回值
类型:DWORD
返回值为指示文件状态的位掩码。 它可以是以下一个或多个值。 所有其他值都是保留的。
返回代码/值 | 描述 |
---|---|
|
当前安装的文件版本不在建议的目标中。 |
|
系统正在使用当前安装的文件版本;因此,无法覆盖或删除该文件。 |
|
至少有一个缓冲区太小,无法包含相应的字符串。 应用程序应检查输出缓冲区以确定哪个缓冲区太小。 |
言论
此函数适用于 16 位、32 位和 64 位文件映像。
VerFindFile 使用 OpenFile 函数搜索指定文件的副本。 但是,它从指定的 Windows 目录确定系统目录,或搜索路径。
如果 dwFlags 参数指示此应用程序(而不是 VFFF_ISSHAREDFILE),VerFindFile 建议在应用程序的目录中安装该文件。 否则,如果系统运行的是系统的共享副本,该函数建议在 Windows 目录中安装该文件。 如果系统运行的是系统的专用副本,则函数建议在系统目录中安装该文件。
注意
winver.h 标头将 VerFindFile 定义为一个别名,该别名根据 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 |
另请参阅
概念
其他资源
参考