В соответствии с Тип данных Windows, DWORD и DWORD32 являются 32-разрядным целым числом без знака, кроме IntSafe.h, а другой определяется в BaseTsd.h. В чем разница или, может быть, преимущество в использовании одного над другим?
API Windows полны десятилетий C #define
а также typedef
мусор.
То, на что вы смотрите, это часть этого мусора. Может быть, в какой-то момент они подумали о DWORD
что масштабируется в размерах, в то время как DWORD32
не будет.
Но эта надежда давно умерла. Это почти наверняка идентичные типы, и почти наверняка никогда не станут неидентичными.
Если вы используете что-то под названием DWORD16
а также DWORD64
по какой-то причине, имя DWORD32
вписывается, или если вы по какой-то другой причине действительно хотите подчеркнуть количество бит в вашем DWORD32
тип, этот тип может быть лучшей идеей. В противном случае выберите один, используйте его и игнорируйте другой.
Они одинаковые. DWORD
поддерживается для обратной совместимости с унаследованным десятилетием кода и всегда является 32-битным. DWORD32
тот же тип данных и просто явно указывает, что это 32-битный. DWORD32
был введен одновременно с DWORD64
а также DWORD_PTR
были введены, когда API обновлялся для поддержки 64-битной разработки.