Иногда требуется проверить готовность диска, перед обращением к нему. При этом если сделать это «в лоб» — возникнет сообщение об ошибке. Поэтому сначала бывает полезным изменить режим отображения ошибок, а только потом проверять готовность диска. Вот готовая функция на языке программирования Delphi, которая по букве диска проверяет его готовность:
//проверяет готовность диска по его букве (aDrive) function TestDrive(aDrive: Char): Boolean; var ErrorModeBuf: Word; DirectoryBuf: String; begin ErrorModeBuf := SetErrorMode(Windows.SEM_NOOPENFILEERRORBOX); GetDir(0, DirectoryBuf); //берем на себя контроль ошибок ввода\вывода {$I-} //пытаемся перейти в корень проверяемого диска ChDir(aDrive + ':\'); {$I+} //если возникла ошибка, то диск не готов if (IoResult <> 0) then Result := False else //иначе - готов Result := True; //возвращаемся к предыдущей директории ChDir(DirectoryBuf); //устанавливаем запомненный режим ошибок SetErrorMode(ErrorModeBuf); end;