C++ 我在哪里可以找到WOW64。。。在我的设置中定义(与Vista 64、C和x2B上的2005相比)

C++ 我在哪里可以找到WOW64。。。在我的设置中定义(与Vista 64、C和x2B上的2005相比),c++,visual-studio-2005,vista64,C++,Visual Studio 2005,Vista64,我从网上得到了一个项目。“解决方案”和“项目”文件是为VS2010编码的,但我更改了版本号,可以将它们加载到VS2005中。我试图构建解决方案,但出现如下错误: 'WOW64_CONTEXT': undeclared identifier 'wow64Context': undeclared identifier 'Wow64GetThreadContext': is not a member of 'global namespace' etc... 我从文档中知道,必须在winnt.h中声明

我从网上得到了一个项目。“解决方案”和“项目”文件是为VS2010编码的,但我更改了版本号,可以将它们加载到VS2005中。我试图构建解决方案,但出现如下错误:

'WOW64_CONTEXT': undeclared identifier
'wow64Context': undeclared identifier
'Wow64GetThreadContext': is not a member of 'global namespace'
etc...
我从文档中知道,必须在winnt.h中声明WOW64_上下文。在我的系统中,它不是。发生了什么事?我对魔兽世界还不熟悉,但我理解这个概念。我只是没用过

这是我的设置(注意:我安装了英特尔CC 9,但我没有将其用于此项目。我使用MS编译器):

Microsoft Visual Studio 2005 版本8.0.50727.867(vsvista.050727-8600) Microsoft.NET框架 版本2.0.50727 SP2

安装版本:专业版 Microsoft Visual C#2005 77626-009-2220332-41593 微软C++ 2005 Microsoft Visual Studio 2005应用程序工具77626-009-2220332-41593 Microsoft Web应用程序项目2005 77626-009-2220332-41593 版本8.0.50727.867 Microsoft Visual Studio 2005专业版的修补程序-chs(KB932372)

英特尔(R)C++编译器集成,用于微软Visual Studio 2005,版本91.632.2005,版权(C)2002—2007英特尔公司。 Microsoft Visual Studio 2005专业版-ENS Service Pack 1(KB926601)
Microsoft Visual Studio 2005专业版的安全更新-chs(KB2251481)
Microsoft Visual Studio 2005专业版的安全更新-chs(KB2465367)
Microsoft Visual Studio 2005专业版的安全更新-chs(KB2538218)
Microsoft Visual Studio 2005专业版的安全更新-chs(KB971023)
Microsoft Visual Studio 2005专业版的安全更新-chs(KB971090)
Microsoft Visual Studio 2005专业版的安全更新-chs(KB973673)
Microsoft Visual Studio 2005专业版的更新-简体中文版(KB932232)

有人能帮我吗?

在中,请参阅“最低支持客户端:Vista”部分

您需要一个涵盖Vista的最新版本的Windows SDK,还需要将
WINVER
\u WIN32\u WINNT
宏定义为0x600或更高版本才能启用Vista功能。文件是完整的,Raymond Chen给出了一些历史

  • (请点击此处查看更新的下载链接)

    • 也许其他人会再次问这个问题,尽管这个问题已经存在了4年

    • 打开你的C盘。和温特·H·塞奇
    • 打开上下文的WinNT.H和serch\u AMD64
    • DECLSPEC_ALIGN(16)_上下文将满足您的需要
    • 简而言之:打开WinNT.H和goto行:3647。好的,明白了

    • 同样的错误,本。问题是WOW64_上下文(和其他Wow函数)在我的磁盘上没有声明/定义。为什么?我应该/可以在哪里找到它们?顺便说一句,当前代码中的值是WINVER=\u WIN32\u WINNT=0x0501、\u WIN32IE=0x0400和\u RICHEDIT\u VER=0x0100。。。到目前为止我还没有“哇效应”;-)由于您试图使用的类型和函数在2005年甚至不存在,我假设您下载了一个更新的平台SDK,它涵盖Vista(可能还有Windows 7),例如?(未来的用户,也可以查看更新的链接)不要这么认为!可能是你给了我答案!在获取最新版本并强制所有同事执行相同操作之前,我将尝试“注释”使用这些函数/定义的代码。之后,我可以假设我不会在Wow64上运行我的应用程序。@dom_beau:哦,你会在Wow64上运行(我不记得VC++2005是否有64位编译器),但你不需要任何特殊的步骤来实现这一点。你所说的那些结构是用于从64位调试器调试32位进程的,诸如此类的东西。VS2005附带的Windows SDK版本已经严重过时。不确定最新的SDK(7.1)是否仍然支持VS2005,但值得一试。谢谢!可能在什么地方有用!;-)