TrackLayoutRec
This structure is used (at the end of an IoctlDeviceParmsRec in the
following IOCTL fns:
440dH 40H (set device parameters)
440dH 60H (query device parameter)
DvRq 13H (generic IOCTL for block devices)
TrackLayoutRec
Offset Size Contents
▀▀▀▀▀▀ ▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
+0 2 rSectCnt sectors per track
+2 n*4 arLayout variable-length array of 2-word sector
descriptors.
Each element is: WORD: sector number
WORD: sector size
2+(n*4) size of a TrackLayoutRec structure
Notes: This structure is needed to create "sector interleave" in which
the sectors are not numbered sequentially on the physical medium.
The idea is to let the disk spin for a partial rotation while the
hardware is processing the data, with the ultimate goal being to
access an entire track without wasting time waiting for the data
to come under the head.
Example layout:
DW 9 ; nine sectors per track
DW 1,512 ; first sector is #1 (size is 512 bytes)
DW 5,512 ; next sector is #5
DW 2,512 ; next sector
DW 6,512 ; next sector
DW 3,512 ; next sector
DW 7,512 ; next sector
DW 4,512 ; next sector
DW 8,512 ; next sector
DW 9,512 ; next sector
DOS device drivers do not keep a track layout table for each
logical device. A generic IOCTL Set Parameters (440dH 40H) call
must be made when the attributes of the media change.
See Also: fn 440dH (Generic IOCTL for block devices)
INT 13H 05H (format track)
Device Drivers
DOS Functions
-♦-