Online PSDK documentation states 5.1 (WinXP):
To compile an application that uses this function, define _WIN32_WINNT as 0x0501 or later. For more informa
The minimum required client is Windows 2000 (0x0500). The reason for the mismatching information is, that the MSDN gets updated. Depending on whether the update happened before or after the EOL of Windows 2000, the client requirements either list Windows XP or Windows 2000.
If in doubt, the header files are authoritative. The Windows 8.0 SDK still has #if(_WIN32_WINNT >= 0x0500)
around the declaration for AttachConsole
.
It is 5.00, aka Windows 2000. The SDK headers are always right. The MSDN articles periodically get updated when Microsoft drops support for old versions so they'll show the last version for which they'll accept a support phone call. Extended support for Windows 2000 ended in July 2010. It will end for XP in April of 2014, for Server 2003 R2 in July of 2015.
There's fairly limited wisdom in supporting Windows 2000 yourself. If you state in your requirements that you'll support 2000, you will have rather a headache when a customer actually takes you up on the promise and discovers a problem. Make sure you have a machine or VM that can boot it. You'll also need to test your program so this requirement comes early.