What structure packing do the Windows SDK header files expect?
In words, integral types and pointers up to eight bytes in size are stored at their natural alignment. Larger types are stored at eight-byte alignment.
In other words (saying it a third time), let
T be an integral or pointer type. If
sizeof(T) ≤ 8, then
T is aligned at a
sizeof(T)-byte boundary. If
sizeof(T) ≥ 8, then
T is aligned at an 8-byte boundary.