]> cloudbase.mooo.com Git - z180-stamp.git/blob - fatfs/doc/ja/getfree.html
Import fatfs R0.12b
[z180-stamp.git] / fatfs / doc / ja / getfree.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2 <html lang="ja">
3 <head>
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>
10 </head>
11
12 <body>
13
14 <div class="para func">
15 <h2>f_getfree</h2>
16 <p>ボリューム上の空き領域のサイズを取得します。</p>
17 <pre>
18 FRESULT f_getfree (
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>
22 );
23 </pre>
24 </div>
25
26 <div class="para arg">
27 <h4>引数</h4>
28 <dl class="par">
29 <dt>path</dt>
30 <dd>調べる対象の論理ドライブを示す<a href="filename.html">パス名</a>を示すヌル文字<tt>'\0'</tt>終端の文字列へのポインタを指定します。ヌル文字列はカレント ドライブを意味します。</dd>
31 <dt>nclst</dt>
32 <dd>空きクラスタ数を格納する<tt>DWORD</tt>型変数へのポインタを指定します。</dd>
33 <dt>fatfs</dt>
34 <dd>対象ドライブのファイル システム オブジェクトを指すポインタが返されます。</dd>
35 </dl>
36 </div>
37
38
39 <div class="para ret">
40 <h4>戻り値</h4>
41 <p>
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>
50 </p>
51 </div>
52
53
54 <div class="para desc">
55 <h4>解説</h4>
56 <p>論理ドライブ上の空き領域のサイズをクラスタ単位で取得します。返されたファイル システム オブジェクトの<tt>csize</tt>メンバがクラスタあたりのセクタ数を示しているので、これを元にセクタ単位の空きサイズが計算できます。FAT32ボリュームにおいては、FSINFOの情報が実際の空きクラスタ数と同期していない場合、不正確な値を返す可能性があります。この問題を避けるため、<tt><a href="config.html#fs_nofsinfo">_FS_NOFSINFO</a></tt>オプションでマウント後の初回は必ずフルFATスキャンをするように構成することもできます。</p>
57 </div>
58
59
60 <div class="para comp">
61 <h4>対応情報</h4>
62 <p><tt>_FS_READONLY == 0</tt>で、且つ<tt>_FS_MINIMIZE == 0</tt>のとき使用可能です。</p>
63 </div>
64
65
66 <div class="para use">
67 <h4>使用例</h4>
68 <pre>
69 FATFS *fs;
70 DWORD fre_clust, fre_sect, tot_sect;
71
72
73 <span class="c">/* ドライブ1のボリューム情報と空きクラスタ数を得る */</span>
74 res = f_getfree("1:", &amp;fre_clust, &amp;fs);
75 if (res) die(res);
76
77 <span class="c">/* 全セクタ数と空きセクタ数を計算 */</span>
78 tot_sect = (fs->n_fatent - 2) * fs->csize;
79 fre_sect = fre_clust * fs->csize;
80
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);
84 </pre>
85 </div>
86
87
88 <div class="para ref">
89 <h4>参照</h4>
90 <tt><a href="sfatfs.html">FATFS</a></tt>
91 </div>
92
93 <p class="foot"><a href="../00index_j.html">戻る</a></p>
94 </body>
95 </html>