IoctlDeviceParmsRec
This structure is used in the following IOCTL fns:
440dH 40H (set device parameters)
440dH 60H (query device parameter)
DvRq 13H (generic IOCTL for block devices)
IoctlDeviceParmsRec
Offset Size Contents
▀▀▀▀▀▀ ▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
+0 1 rSpclFns bit flags select options
+1 1 bDevType device type code (returned from driver)
+2 2 rDevAttr bit 0: 0=removable; 1=non-removable
bit 1: 0=change-line not supported; 1=is
+4 2 wCylCnt number of cylinders (returned from driver)
+6 1 bDevMedia bit 0: 0=accepts high density (1.2MB) media
1=accepts low-density (320K/360K) media
+7 19H rDevBPB Same as a BPBRec (25 bytes)
+20H ? rTrkLayout variable-length TrackLayoutRec
?+20H size of an IoctlDeviceParmsRec
rSpclFns contain bit flags that specify options for fn 440dH 40H:
bit 0: 0=use rDevBPB to set new defaults
1=use current BPB
bit 1: 0=use all fields of this record
1=use just the rTrkLayout data
bit 2: 0=(never use)
1=sectors are all the same size and sector numbers
begin with 0 (always set this bit)
bDevType identifies the device and medium. It is one of:
00H = 320/360K 5-¼ inch drive
01H = 1.2M 5-¼ inch drive
02H = 720K 3-½ inch drive
03H = 8 inch single density drive
04H = 8 inch double density drive
05H = hard disk
06H = tape drive
07H = 1.44 MB
08H = 2.88 MB
09H = other
rDevAttr some more device info flags:
bit 0: 0=removable
1=non-removable
bit 1: 0=change-line not supported
1=is supported (can sense when drive door opened)
wCylCnt maximum cylinder supported (e.g., for 440dH 41H Write Track)
bMedia one bit of media info:
bit 0: 0=accepts high density (1.2MB) media
1=accepts low-density (320K/360K) media
rDevBPB an entire BPBRec structure (all 25 bytes).
If rSpclFns bit 0 is clear, then this data is taken as the new
default settings for the drive.
If rSpclFns bit 1 is set, then this data is to be used by the
driver when it gets a DvRq 02H (Build BPB) request.
rTrkLayout an entire TrackLayoutRec structure (variable length).
If rSpclFns bit 1 is set, then only this track layout
information is used.
See Also: fn 440dH (Generic IOCTL for block devices)
Device Drivers
DOS Functions
-♦-