64位驱动开发中结构体8字节对齐

在写枚举文件驱动的过程发现获取到的系统句柄总数是正确的,但是在判断句柄类型为28,即文件句柄的时候发生了严重的错误,导致很多进程中的打开的句柄无法获取,找了很多原因,最后发现是因为驱动在定义结构体的时候按1字节对齐,导致发生了错误。驱动中的结构在64位WIN7下应该是8字节对齐,32位下为4字节对齐。切记!

status = ZwQuerySystemInformation(SystemHandleInformation, Buffer, NeededSize, 0);   //SystemHandleInformation 

你可能感兴趣的:(64位驱动开发中结构体8字节对齐)