_SENDCMDOUTPARAMS = packed record cBufferSize: DWORD; // Size of bBuffer in bytes DriverStatus: DRIVERSTATUS; // Driver status structure. bBuffer: array [0..0] of BYTE; // Buffer of arbitrary length in which to store the data read from the drive. end; ... _DRIVERSTATUS = packed record bDriverError: BYTE; // Error code from driver, or 0 if no error. bIDEError: BYTE; // Contents of IDE Error register. Only valid when bDriverError is SMART_IDE_ERROR. bReserved: array [0..1] of BYTE; // Reserved for future expansion. dwReserved: array [0..1] of DWORD; // Reserved for future expansion. end;