Using _dos_findfirst() Function to Retrieve Disk Volume

ID: Q58800

5.10 6.00 6.00a 6.00ax 7.00 | 1.00 1.50

MS-DOS                      | WINDOWS
kbprg

The information in this article applies to:

SUMMARY

In Microsoft C, using the _dos_findfirst() function to find a disk volume with the _A_VOLID attribute gets the disk volume correctly unless the volume name is greater than eight characters.

MORE INFORMATION

Volume labels are a specific type of directory entry specified by setting bit 3 in the attribute field to 1 or 0x08. They are a special type of file that can only be in the root directory. The maximum number of characters a volume label can have is 11 characters (8 characters for the filename followed by a three-character extension).

The C run-time function _dos_findfirst() will return the volume label in an 8.3 file format because MS-DOS stores the volume label in the file format. For example, if a disk has a volume label of "A_LONG_NAME", calling _dos_findfirst() with the _A_VOLID attribute will return the volume label as "A_LONG_N.AME".

Additional reference words: kbinf 5.10 6.00 6.00a 6.00ax 7.00 1.00 1.50 KBCategory: kbprg KBSubcategory: CRTIss Keywords : kb16bitonly

Last Reviewed: July 18, 1997