Differences
This shows you the differences between two versions of the page.
en:docs:dos:api:int21:32 [2020/12/09 05:39] – created prokushev | en:docs:dos:api:int21:32 [2024/05/02 04:55] (current) – prokushev | ||
---|---|---|---|
Line 29: | Line 29: | ||
===== Notes ===== | ===== Notes ===== | ||
- | | + | the OS/2 compatibility box supports the DOS 3.3 version of this call except for the DWORD at offset 12h |
- | | + | |
- | this call updates the DPB by reading the disk; the DPB may be accessed | + | this call updates the DPB by reading the disk; the DPB may be accessed via the DOS list of lists (see #01627 at AH=52h) if disk access is not desirable. |
- | | + | |
- | | + | undocumented prior to the release of DOS 5.0; only the DOS 4.0+ version of the DPB has been documented, however |
- | undocumented prior to the release of DOS 5.0; only the DOS 4.0+ | + | |
- | | + | supported by DR DOS 3.41+; DR DOS 3.41-6.0 return the same data as MS-DOS 3.31 |
- | supported by DR DOS 3.41+; DR DOS 3.41-6.0 return the same data as | + | |
- | | + | IBM ROM-DOS v4.0 also reports invalid/ |
- | IBM ROM-DOS v4.0 also reports invalid/ | + | |
Format of DOS Drive Parameter Block: | Format of DOS Drive Parameter Block: | ||
- | Offset | + | |
- | | + | ^ Offset |
- | | + | | 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 FAT if greater than 0FF6h, else 12-bit FAT | |
- | | + | | 0Fh | BYTE | number of sectors per FAT | |
- | | + | | 10h | WORD | sector number of first directory sector |
- | | + | | 12h | DWORD | address of device driver header (see # |
- | | + | | 16h | BYTE | media ID byte (see # |
- | | + | | 17h | BYTE | 00h if disk accessed, FFh if not | |
- | | + | | 18h | DWORD | pointer to next DPB | |
- | ---DOS 2.x--- | + | | ---DOS 2.x--- |
- | | + | | 1Ch | WORD | cluster containing start of current directory, 0000h=root, FFFFh = unknown |
- | | + | | 1Eh | 64 BYTEs | ASCIZ pathname of current directory for drive | |
- | 1Eh 64 BYTEs | + | | ---DOS 3.x--- |
- | ---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--- |
- | ---DOS 4.0-6.0--- | + | | 0Fh | WORD | number of sectors per FAT | |
- | | + | | 11h | WORD | sector number of first directory sector |
- | | + | | 13h | DWORD | address of device driver header (see # |
- | | + | | 17h | BYTE | media ID byte (see # |
- | | + | | 18h | BYTE | 00h if disk accessed, FFh if not | |
- | | + | | 19h | DWORD | pointer to next DPB | |
- | | + | | 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 |
- | | + | |
- | | + | |
===== See also ===== | ===== See also ===== | ||
- | AH=1Fh, | + | AH=[[en: |
===== Note ===== | ===== Note ===== |