When the /Wp64 compiler switch is used, the __w64 keyword and the _W64 alias macro inform the compiler that a type or variable may be sensitive to 64-bit portability issues. Specifically, this switch should be used on the 32-bit definition of a typedef that changes the size of a type or variable. See __w64 in the Visual C++ Language Reference.
Many Visual C++ polymorphic typedefs use this modifier. You should also use it on your own typedefs where appropriate.