在线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.0
或5.1
?< /强>
答案 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。您还需要测试您的程序,以便及早满足此要求。