1 <!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
4 <meta http-equiv=
"Content-Type" content=
"text/html; charset=utf-8">
5 <meta http-equiv=
"Content-Style-Type" content=
"text/css">
6 <link rel=
"up" title=
"FatFs" href=
"../00index_j.html">
7 <link rel=
"alternate" hreflang=
"en" title=
"English" href=
"../en/getfree.html">
8 <link rel=
"stylesheet" href=
"../css_j.css" type=
"text/css" media=
"screen" title=
"ELM Default">
9 <title>FatFs - f_getfree
</title>
14 <div class=
"para func">
16 <p>ボリューム上の空き領域のサイズを取得します。
</p>
19 const TCHAR*
<span class=
"arg">path
</span>,
<span class=
"c">/* [IN] 対象ドライブを指定します */
</span>
20 DWORD*
<span class=
"arg">nclst
</span>,
<span class=
"c">/* [OUT] 空きクラスタ数を格納する変数へのポインタ */
</span>
21 FATFS**
<span class=
"arg">fatfs
</span> <span class=
"c">/* [OUT] ファイル システム オブジェクトを指すポインタへのポインタ */
</span>
26 <div class=
"para arg">
30 <dd>調べる対象の論理ドライブを示す
<a href=
"filename.html">パス名
</a>を示すヌル文字
<tt>'\
0'
</tt>終端の文字列へのポインタを指定します。ヌル文字列はカレント ドライブを意味します。
</dd>
32 <dd>空きクラスタ数を格納する
<tt>DWORD
</tt>型変数へのポインタを指定します。
</dd>
34 <dd>対象ドライブのファイル システム オブジェクトを指すポインタが返されます。
</dd>
39 <div class=
"para ret">
42 <a href=
"rc.html#ok">FR_OK
</a>,
43 <a href=
"rc.html#de">FR_DISK_ERR
</a>,
44 <a href=
"rc.html#ie">FR_INT_ERR
</a>,
45 <a href=
"rc.html#nr">FR_NOT_READY
</a>,
46 <a href=
"rc.html#id">FR_INVALID_DRIVE
</a>,
47 <a href=
"rc.html#ne">FR_NOT_ENABLED
</a>,
48 <a href=
"rc.html#ns">FR_NO_FILESYSTEM
</a>,
49 <a href=
"rc.html#tm">FR_TIMEOUT
</a>
54 <div class=
"para desc">
56 <p>論理ドライブ上の空き領域のサイズをクラスタ単位で取得します。返されたファイル システム オブジェクトの
<tt>csize
</tt>メンバがクラスタあたりのセクタ数を示しているので、これを元にセクタ単位の空きサイズが計算できます。FAT32ボリュームにおいては、FSINFOの情報が実際の空きクラスタ数と同期していない場合、不正確な値を返す可能性があります。この問題を避けるため、
<tt>_FS_NOFSINFO
</tt>オプションでマウント後の初回は必ずフルFATスキャンをするように構成することもできます。
</p>
60 <div class=
"para comp">
62 <p><tt>_FS_READONLY ==
0</tt>で、且つ
<tt>_FS_MINIMIZE ==
0</tt>のとき使用可能です。
</p>
66 <div class=
"para use">
70 DWORD fre_clust, fre_sect, tot_sect;
73 <span class=
"c">/* ドライブ
1のボリューム情報と空きクラスタ数を得る */
</span>
74 res = f_getfree(
"1:",
&fre_clust,
&fs);
77 <span class=
"c">/* 全セクタ数と空きセクタ数を計算 */
</span>
78 tot_sect = (fs-
>n_fatent -
2) * fs-
>csize;
79 fre_sect = fre_clust * fs-
>csize;
81 <span class=
"c">/* ボリューム全体のサイズと空きのサイズを表示 (
512バイト/セクタと仮定) */
</span>
82 printf(
"%10lu KiB total drive space.\n%10lu KiB available.\n",
83 tot_sect /
2, fre_sect /
2);
88 <div class=
"para ref">
90 <tt><a href=
"sfatfs.html">FATFS
</a></tt>
93 <p class=
"foot"><a href=
"../00index_j.html">戻る
</a></p>