On Jan 12, 2015 12:56 AM, "Ken Sharp" <imwellcushtymelike@googlemail.com> wrote:
>
>
>
> On 11/01/15 12:07, Nikolay Sivov wrote:
>>
>> On 11.01.2015 14:33, Ken Sharp wrote:
>>>
>>>       { "win7",        "Windows 7",         6,  1,
>>> 0x1DB1,VER_PLATFORM_WIN32_NT, "Service Pack 1", 1, 0, "WinNT"},
>>>       { "vista",       "Windows Vista",     6,  0,
>>> 0x1772,VER_PLATFORM_WIN32_NT, "Service Pack 2", 2, 0, "WinNT"},
>>>   #ifdef _WIN64
>>> -    { "winxp64",     "Windows XP",        5,  2, 0xECE,
>>> VER_PLATFORM_WIN32_NT, "Service Pack 2", 2, 0, "WinNT"},
>>> -#else
>>> -    { "winxp",       "Windows XP",        5,  1, 0xA28,
>>> VER_PLATFORM_WIN32_NT, "Service Pack 3", 3, 0, "WinNT"},
>>> +    { "winxp64",     "Windows XP x64",    5,  2, 0xECE,
>>> VER_PLATFORM_WIN32_NT, "Service Pack 2", 2, 0, "WinNT"},
>>>   #endif
>>> +    { "winxp",       "Windows XP",        5,  1, 0xA28,
>>> VER_PLATFORM_WIN32_NT, "Service Pack 3", 3, 0, "WinNT"},
>>
>>
>> If we're doing this it should be called "winxp" in both cases, we don't
>> have "win764", so why XP should be different?
>
>
> Because Windows XP and Windows XP x64 Edition are different versions entirely.

Right, but there isn't the case where Windows xp is 64 bit and not xp64. A 64 bit prefix shouldn't be able to pretend to be a (non-existent) 32 bit version.