_Dos_getdrive и _dos_setdrive
Для получения номера текущего диска и для установки номера текущего диска можно использовать, соответственно, функции _dos_getdrive и _dos_setdrive .
Функция _dos_getdrive имеет следующий прототип:
void _dos_getdrive (unsigned *drive);
Она пользуется функцией 19h для получения номера текущего диска, который записывается по адресу, задаваемому параметром drive. Значение 1 соответствует диску А:, 2 - В:, и т. д.
Функция _dos_setdrive предназначена для установки текущего диска и может быть использована для определения общего числа дисков в системе:
void _dos_setdrive (unsigned drive, unsigned *drivecount);
Параметр drive определяет текущий диск (1 - А:, и т. д.). В переменную, адрес которой передается через второй параметр, функция записывает общее количество логических дисков, установленных в системе. Функция _dos_setdrive использует функцию 0Eh прерывания INT21h .