DWORD address1 = 0x38907E38;
DWORD address2 = 0x38907E58;
int value1 = 10;
int value2 = 55;
// sizeof(DWORD) == 32 bits or 4 bytes // sizeof(UINT64) == 64 bits or 8 bytes #define MY_ADDR 0x1DEADC0DE // This is a 64 bit address DWORD myAddrI32 = MY_ADDR; // Guess what happens -- MY_ADDR is casted to a 32 bit value meaning the prefixed '1' gets removed and the address transforms to 0xDEADC0DE UINT64 myAddrI64 = MY_ADDR; // This is interpreted as it should be.