When using the Windows API, I usually use the types specified by the functions like DWORD... even though I think those typedefs are kind of stupid.
It has a few advantages, such as:
- Easier to match the types passed with the parameter types in MSDN, rather than mentally converting all the Windows types into primative types.
- It makes it look more consistent.
- If Microsoft ever lost their minds and decided to change the typedefs to something else (DWORD = unsigned long long instead of unsigned int, for example), then you don't have to worry about changing all the types you use in your code.