Platform SDK: Win32 API

Int 21h Function 440Dh Minor Code 66h (FAT32)

Returns the volume label, serial number and file system for the specified drive.

mov     bx, Drive            ;See below
mov     ch, DeviceCat        ;See below
mov     cl, 66h              ;Get Media ID
mov     dx, seg MediaID      ;See below
mov     ds, dx
mov     dx, offset MediaID   ;ds:dx points to MID structure
mov     ax, 440Dh            ;IOCTL for block device
int     21h

jc      error_handler        ;carry set means error

Parameters

Drive
Specifies the drive for which information is to be returned (0 = default drive, 1 = A, 2 = B, and so on).
DeviceCat
Specifies a FAT16, FAT12 or FAT32 drive.
Value Description
08h FAT32, FAT16, or FAT12 drive.
48h FAT32, FAT16, or FAT12 drive. This value is supported on Windows 95 OEM Service Release 2 and later.

Note: Because this call may be implemented in the device driver, the 48h form of this call may fail on FAT16 or FAT12 media. Therefore, applications making the 48h form of this call must fall back on the 08h form if the 48h call fails.

MediaID
Pointer to a MID structure that receives information that uniquely identifies a disk or other storage medium. The MID structure has the following form:
MID STRUC
    midInfoLevel   dw  0           ;information level
    midSerialNum   dd  ?           ;serial number
    midVolLabel    db  11 dup (?)  ;ASCII volume label
    midFileSysType db  8 dup (?)   ;file system type
MID ENDS

Return Values

If the function is successful, clears the carry flag, and fills in the parameter block (a MID structure) with information about the disk. Otherwise, sets the carry flag and sets the AX register to one of the following error values.

Value Name
0001h ERROR_INVALID_FUNCTION
0002h ERROR_FILE_NOT_FOUND
0005h ERROR_ACCESS_DENIED

Remarks

Get Media ID returns 0002h (ERROR_FILE_NOT_FOUND) if the specified drive number is invalid.