Device Request 02H: Build BPB
This tells the driver to return the BIOS Parameter Block for the medium
that's currently in the drive.
Offset Size Contents
▀▀▀▀▀▀ ▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
+0 1 bLen 16H (length of this request packet)
+1 1 bUnitNo unit number of interest
+2 1 bCmd 02H (command code)
+3 2 rStatus OUTPUT: Device Status Word must fill before exit
+5H 8 res (reserved)
+0dH 1 bMediaID INPUT: Media Descriptor DOS thinks is there
+0eH 4 pfFatSect INPUT: far addr of first sector of FAT
+12H 4 pfBPB OUTPUT: far addr of BPBRec
22 size of this structure
rStatus On exit, the driver must place a DevStatusWord here. Always
set the Done bit (bit 8). On an error, set the Done bit and
the Error bit (bit 15) and put a Device Error Code in the low
bMediaID On entry, this contains the Media Descriptor byte of the disk
that DOS thinks is in the drive.
pfFatSect When Device Attribute bit 13 is set, this will contain the
address of a 512-byte FAT sector of the disk that DOS thinks
is in the drive. You can use it to see if the disk has
pfBPB You must set this to a filled-in BPBRec structure that
describes the current media.
Notes: ■ If the driver supports Removable Media (see Device Attribute),
you should save a copy of the Volume ID of the disk for use in
later DvRq 01H requests.
■ DOS fns 440dH 40H and 440dH 60H (set/query device parameters)
are passed to your DvRq 13H (generic IOCTL) handler and
settings there will affect values you return here.
See Also: Device Requests
Installable Device Drivers