Библиотека FatFS: f_fdisk |
Добавил(а) microsin |
f_fdisk Функция f_fdisk делит физический диск на разделы. FRESULT f_fdisk ( BYTE Drive, /* Номер физического диска */ const DWORD Partitions[], /* Размер раздела */ void* Work /* Рабочая область */ ); Параметры
Возвращаемые значения FR_OK, FR_DISK_ERR, FR_NOT_READY, FR_WRITE_PROTECTED, FR_INVALID_PARAMETER Описание Функция f_fdisk создает таблицу разделов в области MBR (Master Boot Record) физического диска. Правило разбивки на разделы соответствует простому формату FDISK, который позволяет задать до 4 первичных разделов (primary partition). Расширенный раздел (Extended partition) не поддерживается. Массив Partitions[] указывает, как нужно поделить физический диск. Первый элемент указывает размер первого главного раздела (first primary partition), и 4-й элемент указывает размер 4-го главного раздела. Если величина меньше или равна 100, то это означает процент от общего размера физического диска. Если указанная величина больше 100, то это означает размер раздела в секторах. Краткая информация (QuickInfo) Функция доступна, когда _FS_READOLNY == 0, _USE_MKFS == 1 и _MULTI_PARTITION == 2. Пример кода /* Таблица управления разделами, заданная пользователем (нужна, если _MULTI_PARTITION != 0) */ PARTITION VolToPart[] = { {0, 1}, /* Логический диск 0 ==> Физический диск 0, 1-й раздел */ {0, 2}, /* Логический диск 1 ==> Физический диск 0, 2-й раздел */ {1, 0} /* Логический диск 2 ==> Физический диск 1, автодетектирование */ }; /* Инициализация совершенно нового дисковода, привязанного к физическому диску 0 */ FATFS Fatfs; DWORD plist[] = {50, 50, 0, 0}; /* Деление драйва на два раздела */ BYTE work[_MAX_SS]; f_fdisk(0, plist, work); /* Деление физического драйва 0 */ f_mount(0, &Fatfs); f_mkfs(0, 0, 0); /* Создание тома FAT на логическом драйве 0. 2-й аргумет игнорируется. */ f_mount(0, 0); f_mount(1, &Fatfs); f_mkfs(1, 0, 0); f_mount(1, 0); См. также [Ссылки] 1. f_fdisk - деление диска на разделы (оригинал статьи на английском языке). |