## disk_write

ディスクにデータを書き込みます。

    DRESULT disk_write (
      BYTE pdrv,        /* [IN] 物理ドライブ番号 */
      const BYTE* buff, /* [IN] 書き込むデータへのポインタ */
      DWORD sector,     /* [IN] 書き込み開始セクタ番号 */
      BYTE count        /* [IN] 書き込みセクタ数 */
    );

#### 引数

pdrv
  物理ドライブ番号(0-9)が指定されます。
buff
  ディスクに書き込むバイト配列が指定されます。アドレスは常にワード・アライメントされているとは限りません。
sector
  書き込みを開始するセクタ番号。LBAで指定されます。
count
  書き込むセクタ数。 1〜128の範囲で指定されます。一般的に、複数セクタの転送要求はデバイスに対して可能な限りマルチ・セクタ転送しなければなりません。複数のシングル・セクタ書き込みに分解した場合、スループットが極端に低下することがあります。

#### 戻り値

RES_OK (0)
  正常終了。
RES_ERROR
  書き込み中にエラーが発生し、その回復にも失敗した。
RES_WRPRT
  メディアが書き込み禁止状態。
RES_PARERR
  パラメータが不正。
RES_NOTRDY
  ドライブが動作可能状態ではない（初期化されていない）。

#### 解説

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

FatFsの使用中はアプリケーションからはこの関数を呼び出してはなりません。さもないと、FATボリュームが破壊されます。エラー等により再初期化が必要なときは、`f_mount()`を使用してください。FatFsモジュールは、自動マウント動作により、必要に応じてこの関数を呼び出します。

戻る