如何编译 windows 的多个版本,其中某些函数可能不存在 Kernel32 入口点

How to compile for multiple versions of windows where Kernel32 entry point may not exist for some functions

标题一开始可能不是最具描述性的:

我有一个程序利用对 "Wow64EnableWow64FsRedirection" function 的调用,当软件 运行s 在 Windows 7 和 Windows 10 64 位平台上时,这是必需的.

但是,同一应用程序还必须能够在 32 位 Windows XP 平台上 运行。问题是,Windows XP 平台的 kernel32.dll 没有 Wow64 重定向功能的入口点,我的应用程序根本无法执行。

在应用程序中,我检查了 OS 版本,并根据版本分别处理方法调用;换句话说,如果应用程序 运行ning 在 32 位系统上,我从不尝试调用 WoW64 重定向功能。

我无法为 32 位和 64 位 OSes 编译 platform-specific 版本。

我可以做些什么来支持两个平台上的应用程序吗?

如果头文件不适用于特定平台,请尝试 hModule = LoadLibrary("kernel32.dll")func = GetProcAddress(hModule, "Wow64DisableWow64FsRedirection")