AttachConsole的最低版本要求是什么?

时间:2014-01-01 12:33:47

标签: c++ c windows winapi sdk

在线PSDK文档陈述5.1(WinXP):

  

要编译使用此功能的应用程序,请定义_WIN32_WINNT   为0x0501或更高版本。有关更多信息,请参阅使用Windows   头。

     

要求

     

受支持的最低客户端:Windows XP [仅限桌面应用]

     

支持的最低服务器:Windows Server 2003 [仅限桌面应用]


PSDK doc的旧本地副本模糊地不同意上述内容,并尝试声明5.0(Win2k)或5.1:

  

要编译使用此功能的应用程序,请定义_WIN32_WINNT   为0x0500或更高版本。有关更多信息,请参阅使用SDK标头。

     

要求

     

客户端:需要Windows Vista或Windows XP   服务器:需要Windows Server“Longhorn”或Windows Server 2003。


最后,PSDK标题(相当古老)主张Win2k:

#if(_WIN32_WINNT >= 0x0500)
WINBASEAPI
BOOL
WINAPI
AttachConsole(
    __in DWORD dwProcessId);

#define ATTACH_PARENT_PROCESS ((DWORD)-1)

#endif /* _WIN32_WINNT >= 0x0500 */

我没有比WinXP SP3更老的东西来检查kernel32.dll导出目录,所以请告诉我什么是真实的最低支持版本,5.05.1?< /强>

2 个答案:

答案 0 :(得分:6)

所需的最低客户端是Windows 2000(0x0500)。信息不匹配的原因是MSDN得到更新。根据更新是在Windows 2000的EOL之前还是之后发生,客户端要求列出Windows XP或Windows 2000。

如果有疑问,标题文件是权威的。围绕#if(_WIN32_WINNT >= 0x0500)的声明,Windows 8.0 SDK仍然有AttachConsole

答案 1 :(得分:5)

它是5.00,又名Windows 2000.SDK标题总是正确的。当Microsoft删除对旧版本的支持时,MSDN文章会定期更新,因此它们将显示他们将接受支持电话呼叫的最新版本。对Windows 2000的扩展支持于2010年7月结束。它将于2014年4月以XP 2003年7月的Server 2003 R2结束。

自己支持Windows 2000的智慧相当有限。如果您在要求中说明您将支持2000,那么当客户真正接受您的承诺并发现问题时,您将会非常头疼。确保您有可以启动它的计算机或VM。您还需要测试您的程序,以便及早满足此要求。