DPB (FAT32)
The DPB was extended to include FAT32 information. Changes are effective for Windows 95 OEM Service Release 2 and later.
DPB STRUC
dpb_drive DB ?
dpb_unit DB ?
dpb_sector_size DW ?
dpb_cluster_mask DB ?
dpb_cluster_shift DB ?
dpb_first_fat DW ?
dpb_fat_count DB ?
dpb_root_entries DW ?
dpb_first_sector DW ?
dpb_max_cluster DW ?
dpb_fat_size DW ?
dpb_dir_sector DW ?
dpb_reserved2 DD ?
dpb_media DB ?
ifdef NOTFAT32
dpb_first_access DB ?
else
dpb_reserved DB ?
endif
dpb_reserved3 DD ?
dpb_next_free DW ?
dpb_free_cnt DW ?
ifndef NOTFAT32
extdpb_free_cnt_hi DW ?
extdpb_flags DW ?
extdpb_FSInfoSec DW ?
extdpb_BkUpBootSec DW ?
extdpb_first_sector DD ?
extdpb_max_cluster DD ?
extdpb_fat_size DD ?
extdpb_root_clus DD ?
extdpb_next_free DD ?
endif
DPB ENDS
Members
- dpb_drive
- The drive number (0 = A, 1 = B, and so on).
- dpb_unit
- Specifies the unit number. The device driver uses the unit number to distinguish the specified drive from the other drives it supports.
- dpb_sector_size
- The size of each sector, in bytes.
- dpb_cluster_mask
- The number of sectors per cluster minus 1.
- dpb_cluster_shift
- The number of sectors per cluster, expressed as a power of 2.
- dpb_first_fat
- The sector number of the first sector containing the file allocation table (FAT).
- dpb_fat_count
- The number of FATs on the drive.
- dpb_root_entries
- The number of entries in the root directory.
- dpb_first_sector
- The sector number of the first sector in the first cluster.
- dpb_max_cluster
- The number of clusters on the drive plus 1. This member is undefined for FAT32 drives.
- dpb_fat_size
- The number of sectors occupied by each FAT. The value of zero indicates a FAT32 drive. Use the value in extdpb_fat_size instead.
- dpb_dir_sector
- The sector number of the first sector containing the root directory. This member is undefined for FAT32 drives.
- dpb_reserved2
- Reserved member. Do not use.
- dpb_media
- Specifies the media descriptor for the medium in the specified drive.
- reserved
- Reserved member. Do not use.
- dpb_first_access
- Indicates whether the medium in the drive has been accessed. This member is initialized to -1 to force a media check the first time this DPB is used.
- dpb_reserved3
- Reserved member. Do not use.
- dpb_next_free
- The cluster number of the most recently allocated cluster.
- dpb_free_cnt
- The number of free clusters on the medium. This member is 0FFFFh if the number is unknown.
- extdpb_free_cnt_hi
- The high word of free count.
- extdpb_flags
- Flags describing the drive. The low 4 bits of this value contain the 0-based FAT number of the Active FAT. This member can contain a combination of the following values.
Value |
Description |
BGBPB_F_ActiveFATMsk (000Fh) |
Mask for low four bits. |
BGBPB_F_NoFATMirror (0080h) |
Do not mirror active FAT to inactive FATs. |
Bits 4-6 and 8-15 are reserved.
- extdpb_FSInfoSec
- The sector number of the file system information sector. This member is set to 0FFFFh if there is no FSINFO sector. Otherwise, this value must be non-zero and less than the reserved sector count.
- extdpb_BkUpBootSec
- The sector number of the backup boot sector. This member is set to 0FFFFh if there is no backup boot sector. Otherwise, this value must be non-zero and less than the reserved sector count.
- extdpb_first_sector
- The first sector of the first cluster.
- extdpb_max_cluster
- The number of clusters on the drive plus 1.
- extdpb_fat_size
- The number of sectors occupied by the FAT.
- extdpb_root_clus
- The cluster number of the first cluster in the root directory.
- extdpb_next_free
- The number of the cluster that was most recently allocated.