INT 21 - DOS 2+ - GET DOS DRIVE PARAMETER BLOCK FOR SPECIFIC DRIVE AH = 32h DL = drive number (00h = default, 01h = A:, etc) Return: AL = status 00h successful DS:BX -> Drive Parameter BlockThe DOS Drive Parameter Block stores the description of the media layout for a logical drive, as well as some housekeeping information. See also INT 21h Function 1Fh and INT 21h Function 32h. (DPBsee Drive Paramter Block) (see #01395) for specified drive FFh invalid or network drive Notes: the OS/2 compatibility box supports the DOS 3.3 version of this call except for the DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. at offset 12h this call updates the DPBsee Drive Paramter Block by reading the disk; the DPBsee Drive Paramter Block may be accessed via the DOS list of lists (see #01627 at AH=52h) if disk access is not desirable. undocumentedInformation about a product which is not publicly available from the manufacturer, and must be determined by reverse-engineering (disassembly, trial-and-error, etc.). Undocumented information tends to change -- often dramatically -- between successive revisions of a product, since the manufacturer has no obligation to maintain compatibility in behavior which is not explicitly stated. prior to the release of DOS 5.0; only the DOS 4.0+ version of the DPBsee Drive Paramter Block has been documented, however supported by DR DOS 3.41+; DR DOS 3.41-6.0 return the same data as MS-DOS 3.31 IBMInternational Busiuness MachinesInternational Busiuness Machines) A hardware, software and other service technology company founded in 1911. ROM-DOS v4.0 also reports invalid/network (AL=FFh) on the ROM(Read-Only Memory) A memory for program storage which may not be changed by the program as it runs. drive SeeAlso: AH=1Fh,AH=52h,AX=7302h Format of DOS Drive Parameter BlockThe DOS Drive Parameter Block stores the description of the media layout for a logical drive, as well as some housekeeping information. See also INT 21h Function 1Fh and INT 21h Function 32h.: Offset Size Description (Table 01395) 00h BYTE drive number (00h = A:, 01h = B:, etc) 01h BYTE unit number within device driver 02h WORD bytes per sector 04h BYTE highest sector number within a cluster 05h BYTE shift count to convert clusters into sectors 06h WORD number of reserved sectors at beginning of drive 08h BYTE number of FATs 09h WORD number of root directory entries 0Bh WORD number of first sector containing user data 0Dh WORD highest cluster number (number of data clusters + 1) 16-bit FATsee File Allocation Table if greater than 0FF6h, else 12-bit FATsee File Allocation Table 0Fh BYTE number of sectors per FATsee File Allocation Table 10h WORD sector number of first directory sector 12h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. address of device driver header (see #01646) 16h BYTE media ID byte (see #01356) 17h BYTE 00h if disk accessed, FFh if not 18h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. pointer to next DPBsee Drive Paramter Block ---DOS 2.x--- 1Ch WORD cluster containing start of current directory, 0000h=root, FFFFh = unknown 1Eh 64 BYTEs ASCIZA NUL-terminated ASCII string. The ASCIZ string "ABC" consists of the four bytes 41h, 42h, 43h, and 00h. Unless otherwise specified, maximum lengths given in the interrupt list do not include the terminating NUL. pathname of current directory for drive ---DOS 3.x--- 1Ch WORD cluster at which to start search for free space when writing 1Eh WORD number of free clusters on drive, FFFFh = unknown ---DOS 4.0-6.0--- 0Fh WORD number of sectors per FATsee File Allocation Table 11h WORD sector number of first directory sector 13h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. address of device driver header (see #01646) 17h BYTE media ID byte (see #01356) 18h BYTE 00h if disk accessed, FFh if not 19h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. pointer to next DPBsee Drive Paramter Block 1Dh WORD cluster at which to start search for free space when writing, usually the last cluster allocated 1Fh WORD number of free clusters on drive, FFFFh = unknown SeeAlso: #01357,#01663,#01787 at AX=7302h,#04039 at INT E0/CL=71h