Good points.  I definitely vote for consistent FFI typedefs for the various windows API types: `DWORD`, `WORD` (if it shows up in any   apis we use), and the various handle types.  Perhaps we could even organize these typedefs in a single ruby module to keep it DRY?

And, you're right `:uint32` is completely explicit so a nice way to make the size unambiguous to the reader.  (Wow, .NET's definition is news to me, and I'm kind of surprised they would go that way ....)