| Предыдущий | Следующий |
| kIOReturnNoPower | kIOReturnUnformattedMedia |
kIOReturnNoMedia
Присутствие устройства не означает присутствие носителя
kIOReturnNoMedia обычно связан со съёмными накопителями. Устройство или считыватель может быть виден IOKit, хотя карта, диск, лента или иной носитель отсутствует. Это отличается от kIOReturnNoDevice, при котором недоступно само устройство, и от kIOReturnUnformattedMedia, при котором носитель присутствует, но не имеет пригодного формата для запрошенной операции.
Приложения не должны сохранять идентичность прежнего тома или носителя после такого результата. Пользователь может извлечь один носитель и вставить другой в тот же считыватель, поэтому последующий успех может относиться к другому объекту с иной ёмкостью, разметкой или параметрами безопасности.
Как реагировать
- Отслеживайте уведомления о вставке и извлечении носителя, а не опрашивайте устройство с высокой частотой.
- После вставки заново запросите свойства диска или IOMedia; не используйте вслепую прежнее BSD-имя или точку монтирования.
- Отдельно сообщайте пользователю, обнаружено ли физическое устройство и присутствует ли в нём носитель.
- Отмените операции, требующие прежнего носителя, и заново проверьте прикладную идентичность после появления нового.
Ссылки
- Справочник Apple по IOReturn.h
- Руководство Apple по программированию Disk Arbitration
- Основы Apple IOKit: обзор архитектуры
Нужно найти другой код? Найти другой код состояния или ошибки.
