Interrupt 21h Function 71A0h

Returns information about the volume associated with the given root directory.

mov ax, 71A0h          ; Get Volume Information
mov di, seg Buffer     ; see below
mov es, di
mov di, offset Buffer
mov cx, BufSize        ; see below
mov dx, seg RootName   ; see below
mov ds, dx
mov dx, offset RootName
int 21h

jc  error
mov [Flags], bx        ; file system flags
mov [MaxFilename], cx  ; max. filename length, excluding null
mov [MaxPath], dx      ; max. path length, including null

Parameters

Buffer
Address of a buffer that receives a null-terminated string specifying the name of the file system.
BufSize
Size, in bytes, of the buffer that receives the name. The buffer should include space for the terminating null character.
RootName
Address of a null-terminated string specifying the name of the root directory of the volume to check. This parameter must not be NULL, or the function will fail. The format for this parameter is "C:\".

Return Value

Clears the carry flag, copies the file system name to the buffer given by the ES:DI register pair, and sets the BX, CX, and DX registers to the following values if successful:

BX File system flags, which can be a combination of these values:

FS_CASE_SENSITIVE (0001h)
Specifies that searches are case-sensitive.
FS_CASE_IS_PRESERVED (0002h)
Preserves case in directory entries.
FS_UNICODE_ON_DISK (0004h)
Uses Unicode characters in file and directory names.
FS_LFN_APIS (4000h)
Supports new long filename functions.
FS_VOLUME_COMPRESSED (8000h)
Specifies that the volume is compressed.

CX Maximum allowed length, excluding the terminating null character, of a filename for this volume. For example, on the protected-mode FAT file system, this value is 255.

DX Maximum allowed length of a path for this volume, including the drive letter, colon, leading slash, and terminating null character. For example, on the protected-mode FAT file system, this value is 260.

Otherwise, the function sets the carry flag and sets the AX register to an error value.

Remarks

This function accesses the disk the first time it is called, but subsequent calls do not access the disk.