WIN32とWIN64の両方を定義するのが普通かな
WIN32は32bitプログラムというよりはWindowsプログラムという意味合いが強いから
とりあえずWIN32 _WIN32 WIN64 _WIN64の4つを定義しておけばほぼ用は足りる
_M_X64というのもあるけどこれは自動で定義される筈
マルチプラットフォーム系のライブラリを使う場合だと__WIN32__とか__WIN64__とか__amd64__とか__x86_64__とか
追加で色々定義する必要が出てくる場合もある