Макрос _WIN64 всегда предопределяется компилятором автоматически во время сборки для любой 64-битной ОС семейства Windows, поэтому никогда не стоит переопределять этот макрос вручную. Стоит помнить, что _WIN64 будет определён компилятором вне зависимости от используемой 64-битной архитектуры (как для x64, так и для IA64), поэтому в случае необходимости написания кода специфичного для одной конкретной платформы следует использовать такие предопределённые макросы, как _M_IA64 и _M_AMD64. _WIN64 может быть определён и одновременно с _WIN32 в случае необходимости использования Win32 API в 64-битной сборке.
Макрос WIN64 не является стандартным предопределяемым макросом компилятора VisualC++ и не используется в системных include-файлах VC++, он может быть свободно определён в коде. Его часто используют в своих проектах независимые разработчики для идентификации различных версий собственных API.