题
我在修与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(根据文档)。