# FatFs - f_setlabel

## f_setlabel

ボリュームにボリューム ラベルを設定します。

    FRESULT f_setlabel (
      const TCHAR* label  /* [IN] 設定するボリューム ラベルへのポインタ */
    );

#### 引数

label
  設定するボリューム ラベルを示すヌル文字`'\0'`終端の文字列へのポインタを指定します。

#### 戻り値

FR_OK, FR_DISK_ERR, FR_INT_ERR, FR_NOT_READY, FR_INVALID_NAME, FR_WRITE_PROTECTED, FR_INVALID_DRIVE, FR_NOT_ENABLED, FR_NO_FILESYSTEM, FR_TIMEOUT

#### 解説

文字列の先頭にドライブ番号を含む場合は、その論理ドライブに対して設定されます。含まない場合は、デフォルト ドライブに設定されます。ボリューム ラベルを削除するときは、ヌル文字列を指定します。FATボリューム上では、ボリューム ラベルのフォーマットは、ファイル名とほぼ同じですが、次の点が異なります。

- 任意の位置にスペースを置くことができる。ただし、FATボリュームではトレーリング スペースは除去される。
- ピリオドを含むことはできない。
- FATボリュームでは、OEMコード換算で11バイト以下。
- exFATボリュームでは、11文字以下で、大文字小文字は保持される。

【補足】 標準システム(Windows)では`\xE5`で始まるボーリューム ラベル(CP932なら「薔薇」など)の扱いに問題があります。このため、この関数ではそのような名前は無効として処理しています。

#### 対応情報

`_FS_READONLY == 0`で、且つ`_USE_LABEL == 1`のときに使用可能です。

#### 使用例

        /* デフォルト ドライブにボリューム ラベルを設定 */
        f_setlabel("DATA DISK");

        /* ドライブ2にボリューム ラベルを設定 */
        f_setlabel("2:DISK 3 OF 4");

        /* ドライブ2のボリューム ラベルを削除 */
        f_setlabel("2:");

#### 参照

`f_getlabel`

戻る