如何编译 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")
。
标题一开始可能不是最具描述性的:
我有一个程序利用对 "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")
。