我在修与32位应用程序的Windows Vista中64位的错误,当我尝试使用功能Wow64DisableWow64FsRedirection(...)编译器说“未声明的标识符......”

我包括windows.h头文件,并设置到_WIN32_WINNT 0x0501。

任何想法?

感谢。

编辑:我们正在使用微软的Visual Studio 2003中

有帮助吗?

解决方案

你能看到在头文件这个API?可以是在Visual Studio您使用不具有更新的头文件,在这种情况下,将需要对所需的功能做的LoadLibrary为Kernel32.dll中,然后GetProcAddress的。

其他提示

您的平台SDK文件可能太老了,该功能。这个功能最早出现在XP 64位平台SDK。你可以在这里得到最新的SDK: http://www.microsoft.com/downloads/details.aspx?FamilyID=e6e1c3df-a74f-4207-8586-711ebe331cdc&displaylang=en

虽然它说,它的“在Windows SDK对于WindowsServer®2008”这只是最新的SDK,并会拥有你所需要的向后兼容的文件。

在安装它之后,这取决于你的编译器,你可能必须包含目录指向它。

如果您的应用程序需要在Windows XP 32位或Windows 2000,你应该使用LoadLibrary()GetProcAddress()为老人星建议,因为Wow64DisableWow64FsRedirection()Wow64RevertWow64FsRedirection()不添加到Windows XP中的64位和Server 2003 SP1(根据文档)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top