Всем привет Объясните недалекому, есть ли какая-то принципиальная разница между употреблением в коде ULONG_PTR или DWORD_PTR (под x86)? Я так понимаю, разница только появляется при приведении типов?
Вроде в 64-битной системе ULONG_PTR приведётся к 64-м битам, а DWORD_PTR - останется 32-битным. Имеет значение, если перекомпилировать 32-битный код в 64-битную систему.
Не верно, и то и то может играть роль указателя (постфикс _PTR указывает именно на это), в х86 битах будет 32 бита, в х64 - 64 соответственно. Но имхо более универсальнее юзать size_t, он есть везде, и выполняет ту же роль, поэтому при практичеком его использовании можно съекономить себе время при портировании.
Ну не сказать чтобы ту же, но использовать для этих целей можно (но это не этично, для подобных целей введены типа intptr_t/uintptr_t). DWORD_PTR как и ULONG_PTR, как уже заметили, полностью эквивалентны.