Библиотека FatFS: f_mount |
![]() |
Добавил(а) microsin |
f_mount Функция f_mount запускает/останавливает файловую систему (file system object) модуля FatFs. FRESULT f_mount ( FATFS* fs, /* [IN] указатель на объект файловой системы */ const TCHAR* path, /* [IN] Номер логического диска */ BYTE opt /* [IN] Опция инициализации */ ); Параметры
Возвращаемые значения FR_OK, FR_INVALID_DRIVE, FR_DISK_ERR, FR_NOT_READY, FR_NO_FILESYSTEM Описание Функция f_mount регистрирует/отменяет регистрацию объекта файловой системы (или рабочей области диска), используемого для обслуживания логического диска модуля FatFS. При этом выполняется следующее: 1. Определяется логический диск (logical drive), на который указывает path. Объект файловой системы (file system object) это специальная рабочая область данных (набор неких переменных), которая нужна для обслуживания каждого логического диска. Каждому логическому диску обязательно должен быть предоставлен такой объект ДО вызова любой функции FatFS для этого диска, за исключением функции f_fdisk. Чтобы отменить регистрацию рабочей области, укажите для параметра fs значение NULL, после чего рабочая область может быть отброшена за ненадобностью. Если в параметрах не указано немедленное принудительное монтирование (opt ==0), то эта функция в любом случае вернет успешный результат (FR_OK) независимо от состояния физического диска: работает специальная функция отложенного монтирования (delayed mount feature). В этом случае произойдет только очистка (деинициализация) указанной рабочей области, и регистрация её адреса во внутренней таблице, и не произойдет никакой физической активности, связанной с диском (к нему не будет обращений по шине). Функция отложенного монтирования может быть также использована для принудительной отмены инициализации рабочей области логического диска. Реальное обращение к физическому диску, связанное с монтированием (поиск тома FAT и инициализация его рабочей области), произойдет позже, когда будет вызвана какая-либо функция доступа к файлу, либо когда будут выполнены одно или оба условия: • Объект файловой системы не инициализирован. Он очищен вызовом функции f_mount. Если при принудительном монтировании (opt ==1) произошла ошибка, то это означает, что был успешно регистрирован объект файловой системы, однако том в настоящий момент не готов для использования. Попытка монтирования будет произведена также позже, если будут вызваны функции для доступа к файлу. Если на слое доступа к диску низкого уровня (disk I/O) не реализовано детектирование смены носителя данных, то программа приложения нуждается в выполнении функции f_mount всякий раз после каждого извлечения носителя - чтобы принудительно очищать file system object. Краткая информация (QuickInfo) Функция доступна всегда, независимо от заданной конфигурации FatFS. См. также f_open, FATFS f_mount Функция f_mount запускает/останавливает рабочее окружение модуля FatFs.
FRESULT f_mount ( BYTE Drive, /* Номер логического диска */ FATFS* FileSystemObject /* Указатель на рабочее окружение */ ); Параметры
Возвращаемые значения Описание Функция f_mount запускает/останавливает рабочее окружение (область) модуля FatFs. С помощью этой функции рабочее окружение должно быть предоставлено для каждого тома перед использованием любой другой файловой функции. Чтобы дерегистрировать рабочую область, укажите NULL для значения параметра FileSystemObject, и рабочая область будет отменена. Эта функция всегда завершается успешно, независимо от текущего состояния диска. В этой функции не делается никаких попыток доступа к физическому носителю данных - только инициализируется указанная рабочая область, и регистрируется её адрес во внутренней таблице. Процесс монтирования тома выполняется при первом доступе к файловой системе, после вызова функции f_mount или изменения состояния физического носителя. Краткая информация (QuickInfo) Функция доступна всегда, независимо от заданной конфигурации FatFS. См. также [Ссылки] 1. f_mount - Register/Unregister a work area (оригинал статьи на английском языке). |