Int 21/AH=69h

Prev Next Ralf Interrups Categories Contents

------

DOS 4.0+ internal - GET/SET DISK SERIAL NUMBER

AH = 69h
AL = subfunction
00h get serial number
01h set serial number
BL = drive (0=default, 1=A, 2=B, etc)
BH = info level (00h only for DOS; OS/2 allows other levels)
DS:DX -> disk info (see #01766)

Return:
CF set on error AX = error code (see #01680 at AH=59h/BX=0000h) CF clear if successful AX destroyed (AL = 00h) buffer filled with appropriate values from extended BPB (AL = 01h) extended BPB on disk set to values from buffer

Notes: Does not generate a critical error; all errors are returned in AX. Error 0005h given if no extended BPB on disk. Does not work on network drives (error 0001h). Buffer after first two bytes is exact copy of bytes 27h thru 3Dh of extended BPB on disk. This function is supported under Novell NetWare versions 2.0A through 3.11; the returned serial number is the one a DIR would display, the volume label is the NetWare volume label, and the file system is set to "FAT16".. This function is not supported by Novell DOS 7 through Update 13, but Personal NetWare 1.0 and Update 15 do support this function. The serial number is computed from the current date and time when the disk is created; the first part is the sum of the seconds/hundredths and month/day, the second part is the sum of the hours/minutes and year. The volume label which is read or set is the one stored in the extended BPB on disks formatted with DOS 4.0+, rather than the special root directory entry used by the DIR command in COMMAND.COM (use AH=11h to find that volume label)

See Also: AX=440Dh"DOS 3.2+"

Format of disk info: Offset Size Description (Table 01766) 00h WORD 0000h (info level) 02h DWORD disk serial number (binary) 06h 11 BYTEs volume label or "NO NAME " if none present 11h 8 BYTEs (AL=00h only) filesystem type (see #01767)

Note: Under MS-DOS 7.0 or a Windows95 DOS box, the volume label field can be all blanks even when a volume label has been set (the Win95 installation seems to blank the volume label field in the partition boot sector; once LABEL has been run, the volume label is reported correctly)

See Also: AH=4Eh

(Table 01767) Values for filesystem type: "FAT12 " 12-bit FAT "FAT16 " 16-bit FAT "CDROM " High-Sierra CD-ROM filesystem "CD001 " ISO 9660 CD-ROM filesystem "CDAUDIO " audio CD

See Also: #01766

Category: DOS Kernel - Int 21h - D

------

Prev Next Ralf Interrups Categories Contents