## disk_ioctl

セクタの読み書き以外のディスク・ドライブ自体に対する様々な制御をします。

    DRESULT disk_ioctl (
      BYTE Drive,      /* 物理ドライブ番号 */
      BYTE Command,    /* 制御コマンド */
      void* Buffer     /* データ受け渡しバッファ */
    );

#### 引数

Drive
  物理ドライブ番号(0-9)を指定します。
Command
  制御コマンド・コードを指定します。
Buffer
  制御コマンドに依存したパラメータを授受するバッファを指すポインタを指定します。バッファを使用しないコマンドの場合は、NULLを指定します。

#### 戻り値

RES_OK (0)
  正常終了。
RES_ERROR
  何らかのエラーが発生した。
RES_PARERR
  コマンドが不正。
RES_NOTRDY
  ドライブが動作可能状態ではない、または初期化されていない。

#### 解説

物理ドライブの種類によりサポートされるコマンドは異なりますが、FatFsモジュールでは、ドライブの種類に依存した制御は行いません。次のドライブ共通コマンドを使用します。

リード・オンリー構成ではこの関数は必要とされません。

コマンド | 解説
--- | ---
GET_SECTOR_COUNT | Bufferの指すDWORD変数にドライブ上の総セクタ数を返します。
CTRL_SYNC | ドライブがデータの書き込みを完了するのを待ちます。ライト・バック・キャッシュを持っている場合は、書き込まれていないデータを即時書き戻します。

戻る