AbsDiskIORec

 This structure is used in DOS interrupts INT 25H and INT 26H when reading
 or writing on drives having more than 65535 sectors (usually 32M).  This
 is used in DOS 4.0+.

AbsDiskIORec
  Offset Size Contents
  ▀▀▀▀▀▀ ▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
   +0      4  lStartSect   logical sector number to start read/write
   +4      2  wSectCnt     number of sectors to read/write
   +6      4  pBuffer      FAR addr of data buffer
          10               Length of an AbsDiskIORec structure

  lStartSect  is a logical sector number.  For instance, sector 0 is the
              Boot Sector.  To convert a cluster number (as obtained from
              the FAT or a Directory Entry) into a logical sector number
              use:

                RootDirSectors = wSecSize / (wRootEntries * 32)
                FatSectors     = bFatCnt * wFatSects
                DataStart      = wResSects + FatSectors + RootDirSectors

              where wSecSize et.al are obtained from the BootSectorRec or
              other source.  An easier method is to use DOS fn 32H to obtain
              a Drive Parameter Block (DPB) and use the wFirstData field as
              an aid to the conversion.

    wSectCnt  desired number of sectors to read/write.  On INT 25H reads, be
              sure that the buffer at pBuffer is large enough to hold the
              data.  Sectors are usually 512 bytes, but you should always
              use DOS fn 32H (or other fn) to check the sector size.

              Presumably, you could transfer up to 65535 sectors (usually
              32M) at one time, but conventional memory constraints will
              typically limit the transfer to about 1024 (400H) sectors at
              once (512K).

     pBuffer  is the FAR address of the buffer to receive the disk data
              (INT 25H) or containing the data to write (INT 26H).

See Also: Boot Sector Layout
          Partition Table
          File Allocation Table
          Device Drivers
                                    -♦-