To perform a raw I/O operation, a client application passes a data packet consisting of a header defined by the DSHDR and DSRAWIO structures, followed by an array of RawClusterInfo structures that describe a set of clusters on which to operate. The IOCTL function returns a failure status in the dspResult field of the DSHDR structure if a normal write (that is, any write other than a raw write IOCTL) to the drive has occurred since the most recent previous raw I/O IOCTL. The failure status tells DEFRAG.EXE that its knowledge of the state of the drive may no longer be valid.
DSHDR, DSRAWIO, RawClusterInfo