INT 21 - Windows95 - FAT32 - "Get_ExtDPB" - GET EXTENDED DPBsee Drive Paramter Block AX = 7302h DL = drive number (00h=default, 01h=A:, etc.) ES:DI -> buffer for returned data (see #01786) CX = length of buffer (003Fh for Windows95) SI = signature (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., must be F1A6h to get device driver address and next-DBP pointer) (see #01787) Return: CF clear if successful ES:DI buffer filled CF set on error AX = error code 0018h bad buffer length SeeAlso: AX=7303h,AX=7304h,AH=1Fh,AH=32h Format of Get_ExtDPB data buffer: Offset Size Description (Table 01786) 00h WORD (call) length of following data (003Dh) 02h 61 BYTEs (ret) drive parameter block (DPBsee Drive Paramter Block) (see #01787) Format of Extended 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 01787) 00h 24 BYTEs standard DOS 4+ DPBsee Drive Paramter Block 18h BYTE "dpb_flags" (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.) FFh force media check 19h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. pointer to next DPBsee Drive Paramter Block (see note) 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 21h WORD high word of free cluster count 23h WORD active FATsee File Allocation Table/mirroring bit 7: do not mirror active FATsee File Allocation Table to inactive FATs bits 6-4: reserved (0) bits 3-0: the 0-based FATsee File Allocation Table number of the active FATsee File Allocation Table (only meaningful if mirroring disabled) 25h WORD sector number of file system information sector, or FFFFh for none (see also #01788) 27h WORD sector number of backup boot sector, or FFFFh for none 29h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. first sector number of the first cluster 2Dh DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. maximum cluster number 31h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. number of sectors occupied by FATsee File Allocation Table 35h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. cluster number of start of root directory 39h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. cluster number at which to start searching for free space Notes: except for offset 18h, all of the first 33 bytes are identical to the standard DOS 4-6 DPBsee Drive Paramter Block unless the proper value is given in SI on entry to "Get_ExtDBP", the next-DPB pointer and device driver address are set to 0000h:0000h SeeAlso: #01786,#01395 at AH=32h,#01664 Format of File System Information structure: Offset Size Description (Table 01788) 00h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. signature 61417272h 04h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. number of free clusters (FFFFFFFFh if unknown) 08h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. most recently allocated cluster 0Ch 12 BYTEs reserved SeeAlso: #01787