URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [rtos/] [freertos-6.1.1/] [Demo/] [Common/] [FileSystem/] [FatFs-0.7e/] [doc/] [ja/] [getfree.html] - Rev 606
Compare with Previous | Blame | View Log
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Style-Type" content="text/css"> <link rel="up" title="FatFs" href="../00index_j.html"> <link rel="stylesheet" href="../css_j.css" type="text/css" media="screen" title="ELM Default"> <title>FatFs - f_getfree</title> </head> <body> <div class="para"> <h2>f_getfree</h2> <p>論理ドライブ上の未使用クラスタ数を得ます。</p> <pre> FRESULT f_getfree ( const XCHAR* <em>Path</em>, /* 対象ドライブのルート・ディレクトリ */ DWORD* <em>Clusters</em>, /* 空きクラスタ数を格納する変数へのポインタ */ FATFS** <em>FileSystemObject</em> /* ファイル・システム・オブジェクトを指すポインタへのポインタ */ ); </pre> </div> <div class="para"> <h4>引数</h4> <dl class="par"> <dt>Path</dt> <dd>対象の論理ドライブのルートディレクトリの<a href="filename.html">パス名</a>が入った<tt>'\0'</tt>で終わる文字列へのポインタを指定します。</dd> <dt>Clusters</dt> <dd>空きクラスタ数を格納する<tt>DWORD</tt>変数へのポインタを指定します。</dd> <dt>FileSystemObject</dt> <dd>対象ドライブのファイル・システム・オブジェクトを指すポインタが返されます。</dd> </dl> </div> <div class="para"> <h4>戻り値</h4> <dl class="ret"> <dt>FR_OK (0)</dt> <dd>正常終了。<tt>*Clusters</tt>に空きクラスタ数が返されます。</dd> <dt>FR_INVALID_DRIVE</dt> <dd>ドライブ番号が不正。</dd> <dt>FR_NOT_READY</dt> <dd>メディアがセットされていないなど、物理ドライブが動作不能状態。</dd> <dt>FR_DISK_ERR</dt> <dd>ディスク・エラーによる失敗。</dd> <dt>FR_INT_ERR</dt> <dd>不正なFAT構造または内部エラーによる失敗。</dd> <dt>FR_NOT_ENABLED</dt> <dd>その論理ドライブにワーク・エリアが与えられていない。</dd> <dt>FR_NO_FILESYSTEM</dt> <dd>ディスク上に有効なFATパーテーションが見つからない。</dd> </dl> </div> <div class="para"> <h4>解説</h4> <p>論理ドライブ上の空きクラスタ数を取得します。返されたファイル・システム・オブジェクトの<tt>csize</tt>メンバがクラスタあたりのセクタ数を示しているので、これを元に実際の空きサイズが計算できます。FAT32ボリュームにおいては、FSINFOの状態によっては不正確な値を返したり、処理に時間がかかったりする可能性があります。</p> </div> <div class="para"> <h4>対応情報</h4> <p><tt>_FS_READONLY == 0</tt>で、且つ<tt>_FS_MINIMIZE == 0</tt>のとき使用可能です。</p> </div> <div class="para"> <h4>使用例</h4> <pre> FATFS *fs; DWORD fre_clust, fre_sect, tot_sect; /* Get drive information and free clusters */ res = f_getfree("/", &fre_clust, &fs); if (res) die(res); /* Get total sectors and free sectors */ tot_sect = (fs->max_clust - 2) * fs->csize; fre_sect = fre_clust * fs->csize; /* Print free space in unit of KB (assuming 512B/sector) */ printf("%lu KB total drive space.\n" "%lu KB available.\n", fre_sect / 2, tot_sect / 2); </pre> </div> <div class="para"> <h4>参照</h4> <tt><a href="sfatfs.html">FATFS</a></tt> </div> <p class="foot"><a href="../00index_j.html">戻る</a></p> </body> </html>