DSHDR STRUC dspStamp dw ? ; Identifying stamp ('DM') dspCommand db ? ; Command ('R' or 'W') dspResult dw ? ; see below DSHDR ENDS
Defines the portion of the IOCTL header that is common to all DriveSpace Receive Control Data IOCTLs. Notice that WORD alphanumeric constants are shown as they would be defined for MASM. Thus, 'DM' is equivalent to 444Dh, and 'OK' is equivalent to 4B4Fh. When dumped as two consecutive bytes or as a text string, these values would appear as "MD" and "KO" respectively. The dspCommand field is typically an ASCII character. For the raw read IOCTL, dspCommand is set to 'r'; for raw writes, it is set to 'w'.
dsp_result
Can be one of these values:
Value | Meaning |
DSRROK ('OK') | Success |
DSRRWRITE (0001h) | Intervening write occurred |
DSRRLOCK (0002h) | Buffer lock failed |
DSRRIO (0003h) | I/O error |
DSRRBADCLUS (0004h) | Invalid MDFAT index |
DSRRUNALLOC (0005h) | Attempt to read unallocated cluster |
DSRRBADSECTOR (0006h) | Bad starting sector |
DSRRBADSIZE (0007h) | Bad cluster size |
DSRRNOSIZE (0008h) | Uncompressed size unknown |
DSRRNOTFREE (0009h) | Some target sectors were not free |
DSRRXBOUND (000Ah) | Allocation crosses BitFAT boundary |
DSRRNULLPTR (000Bh) | NULL pointer passed to write |
DSRRSECCOUNT (000Ch) | Sector count mismatch |
DSRRPKTSIZE (000Dh) | Packet size is too small |
DSRRDATAWRITE (000Eh) | Data was written |
DSRRBADFRAG (000Fh) | Bad fragment table |