セクタの読み書き以外のディスク・ドライブ自体に対する様々な制御をします。
DRESULT disk_ioctl ( BYTE Drive, /* 物理ドライブ番号 */ BYTE Command, /* 制御コマンド */ void* Buffer /* データ受け渡しバッファ */ );
物理ドライブの種類によりサポートされるコマンドは異なりますが、FatFsモジュールでは、次の汎用コマンドのみ使用し、ドライブの種類に依存した制御は行いません。
この関数はリード・オンリー構成では必要とされません。
コマンド | 解説 |
---|---|
CTRL_SYNC | ドライブがデータの書き込みを完了するのを待ちます。ライト・バック・キャッシュがある場合は、書き込まれていないデータを即時書き戻します。 |
GET_SECTOR_SIZE | Bufferの指すWORD変数にドライブのセクタ・サイズを返します。_MAX_SSが1024以上のとき必要とされます。 |
GET_SECTOR_COUNT | Bufferの指すDWORD変数にドライブ上の総セクタ数を返します。f_mkfs内でのみ使用。 |
GET_BLOCK_SIZE | Bufferの指すDWORD変数にメモリ・アレーの消去ブロックサイズをセクタ単位で返します。不明な場合またはHDDでは1を返します。f_mkfs内でのみ使用。 |