Библиотека FatFS: коды возврата из функций |
|
Добавил(а) microsin
|
FatFs API устроено так, что большинство функций возвращают общие коды возврата, которые заданы в типе enum. Когда функция завершилась успешно, она возвращает 0, иначе значение, не равное нулю, которое показывает тип произошедшей ошибки.
- FR_OK (0)
- Этот код означает успешное завершение функции.
- FR_DISK_ERR
- Произошла невосстановимая ошибка на низком уровне (функции I/O диска).
- FR_INT_ERR
- Ошибка Assert. Внутри процесса что-то пошло не так. Возможны следующие варианты.
- Любая ошибка структуры FAT на томе.
- Рабочая область (file system object, file object или что-то подобное) испорчена из-за переполнения стека или другого приложения. Эта причина ошибки бывает чаще всего.
- FR_NOT_READY
- Драйв диска не может работать из-за некорректного извлечения носителя или ошибки функции disk_initialize.
- FR_NO_FILE
- Файл не найден.
- FR_NO_PATH
- Не найден путь.
- FR_INVALID_NAME
- Указанная строка содержит недопустимое имя пути (path name).
- FR_DENIED
- Требуемый доступ был отклонен по одной из следующих причин:
- Открытие файла в режиме записи, когда файл имеет атрибут read-only (только чтение).
- Удаление файла или директории, которые имеют атрибут read-only.
- Удаление непустой директории или текущей директории.
- Чтение файла, открытого без флага FA_READ.
- Любая модификация файла, открытого без флага FA_WRITE.
- Невозможно создать файл или директорию из-за того, что таблица директорий переполнена.
- Невозможно создать директорию из-за того, что том переполнен.
- FR_EXIST
- Уже есть любой объект (файл или папка) с таким же именем.
- FR_INVALID_OBJECT
- Предоставленная структура объекта файла/директории ошибочна.
- FR_WRITE_PROTECTED
- Любое действие записи произведено на защищенном от записи носителе данных (write-protected media).
- FR_INVALID_DRIVE
- Указан недопустимый номер драйва (диска). См. также опцию _VOLUMES.
- FR_NOT_ENABLED
- Рабочая область логического диска не зарегистрирована вызовом функции f_mount.
- FR_NO_FILESYSTEM
- На диске нет допустимого тома с файловой системой FAT.
- FR_MKFS_ABORTED
- Функция f_mkfs была остановлена (aborted) перед началом форматирования по одной из следующих причин:
- Размер диска слишком мал.
- Нет допустимого размера кластера для этого диска. Это может произойти, когда количество кластеров становится близким к значению 0xFF7 и 0xFFF7.
- FR_TIMEOUT
- Функция остановлена из-за таймаута в безопасном управлении потоками (thread-safe control). См. также опцию _TIMEOUT.
- FR_LOCKED
- Доступ к файлу отклонен управлением совместного доступа к файлу (file sharing control). См. также опцию _FS_SHARE.
- FR_NOT_ENOUGH_CORE
- Недостаточно памяти для выполнения операции. Это произошло по следующим причинам:
- Нельзя выделить память для рабочего буфера LFN (Long File Name, длинное имя файла). См. также опцию _USE_LFN.
- Указанный размер таблицы недостаточен.
- FR_TOO_MANY_OPEN_FILES
- Количество открытых файлов достигло максимального значения и больше файлов открыть нельзя. См. также опцию _FS_SHARE.
- FR_INVALID_PARAMETER
- Указанный параметр недопустим или в параметре имеется любое несоответствие.
[Ссылки]
1. Return Code of the File Functions - коды возврата функций библиотеки FatFS (оригинал статьи на английском языке). |