Otherwise, NtDeviceIoControlFile fails because of a structure size mismatch. This happens since SCSI_PASS_THROUGH_DIRECT and SCSI_PASS_THROUGH structures contain a pointer-type member, which is 4 bytes in a 32-bit system and 8 bytes in a 64-bit system.