@joshcooper I know you tested / merged this.. but what's the deal with FFIs `:uint` vs `:ulong`.

I used `:uint` everywhere for `DWORD` per the FFI docs, even though `:ulong` seems like the correct mapping.  https://github.com/ffi/ffi/wiki/Windows-Examples#types

Since `:ulong` seems to work as well, even in structs -- this seems a bit head-scratching.

Since a `DWORD` is always 32-bits regardless of x86 vs x64, maybe we should always just use `:uint32` in our FFI definitions for the sake of consistency?