Pointer Truncation

Assigning or casting a 64-bit pointer to a 32-bit type in a 64-bit build results in pointer truncation. The high 32 bits of the pointer are lost when this is done. If you must apply a cast to a pointer, use a polymorphic pointer precision type to assure that your code works in 32-bit and 64-bit builds. See "Polymorphic Types".