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