]>
Commit | Line | Data |
---|---|---|
53668523 L |
1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">\r |
2 | <html lang="ja">\r | |
3 | <head>\r | |
7b78a5a2 | 4 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r |
53668523 L |
5 | <meta http-equiv="Content-Style-Type" content="text/css">\r |
6 | <link rel="up" title="FatFs" href="../00index_j.html">\r | |
7 | <link rel="alternate" hreflang="en" title="English" href="../en/getfree.html">\r | |
8 | <link rel="stylesheet" href="../css_j.css" type="text/css" media="screen" title="ELM Default">\r | |
9 | <title>FatFs - f_getfree</title>\r | |
10 | </head>\r | |
11 | \r | |
12 | <body>\r | |
13 | \r | |
14 | <div class="para func">\r | |
15 | <h2>f_getfree</h2>\r | |
7b78a5a2 | 16 | <p>ボリューム上の空き領域のサイズを取得します。</p>\r |
53668523 L |
17 | <pre>\r |
18 | FRESULT f_getfree (\r | |
7b78a5a2 L |
19 | const TCHAR* <span class="arg">path</span>, <span class="c">/* [IN] 対象ドライブを指定します */</span>\r |
20 | DWORD* <span class="arg">nclst</span>, <span class="c">/* [OUT] 空きクラスタ数を格納する変数へのポインタ */</span>\r | |
21 | FATFS** <span class="arg">fatfs</span> <span class="c">/* [OUT] ファイル システム オブジェクトを指すポインタへのポインタ */</span>\r | |
53668523 L |
22 | );\r |
23 | </pre>\r | |
24 | </div>\r | |
25 | \r | |
26 | <div class="para arg">\r | |
7b78a5a2 | 27 | <h4>引数</h4>\r |
53668523 L |
28 | <dl class="par">\r |
29 | <dt>path</dt>\r | |
7b78a5a2 | 30 | <dd>調べる対象の論理ドライブを示す<a href="filename.html">パス名</a>を示すヌル文字<tt>'\0'</tt>終端の文字列へのポインタを指定します。ヌル文字列はカレント ドライブを意味します。</dd>\r |
53668523 | 31 | <dt>nclst</dt>\r |
7b78a5a2 | 32 | <dd>空きクラスタ数を格納する<tt>DWORD</tt>型変数へのポインタを指定します。</dd>\r |
53668523 | 33 | <dt>fatfs</dt>\r |
7b78a5a2 | 34 | <dd>対象ドライブのファイル システム オブジェクトを指すポインタが返されます。</dd>\r |
53668523 L |
35 | </dl>\r |
36 | </div>\r | |
37 | \r | |
38 | \r | |
39 | <div class="para ret">\r | |
7b78a5a2 | 40 | <h4>戻り値</h4>\r |
53668523 L |
41 | <p>\r |
42 | <a href="rc.html#ok">FR_OK</a>,\r | |
43 | <a href="rc.html#de">FR_DISK_ERR</a>,\r | |
44 | <a href="rc.html#ie">FR_INT_ERR</a>,\r | |
45 | <a href="rc.html#nr">FR_NOT_READY</a>,\r | |
46 | <a href="rc.html#id">FR_INVALID_DRIVE</a>,\r | |
47 | <a href="rc.html#ne">FR_NOT_ENABLED</a>,\r | |
48 | <a href="rc.html#ns">FR_NO_FILESYSTEM</a>,\r | |
49 | <a href="rc.html#tm">FR_TIMEOUT</a>\r | |
50 | </p>\r | |
51 | </div>\r | |
52 | \r | |
53 | \r | |
54 | <div class="para desc">\r | |
7b78a5a2 | 55 | <h4>解説</h4>\r |
70702af1 | 56 | <p>論理ドライブ上の空き領域のサイズをクラスタ単位で取得します。返されたファイル システム オブジェクトの<tt>csize</tt>メンバがクラスタあたりのセクタ数を示しているので、これを元にセクタ単位の空きサイズが計算できます。FAT32ボリュームにおいては、FSINFOの情報が実際の空きクラスタ数と同期していない場合、不正確な値を返す可能性があります。この問題を避けるため、<tt><a href="config.html#fs_nofsinfo">_FS_NOFSINFO</a></tt>オプションでマウント後の初回は必ずフルFATスキャンをするように構成することもできます。</p>\r |
53668523 L |
57 | </div>\r |
58 | \r | |
59 | \r | |
60 | <div class="para comp">\r | |
7b78a5a2 L |
61 | <h4>対応情報</h4>\r |
62 | <p><tt>_FS_READONLY == 0</tt>で、且つ<tt>_FS_MINIMIZE == 0</tt>のとき使用可能です。</p>\r | |
53668523 L |
63 | </div>\r |
64 | \r | |
65 | \r | |
66 | <div class="para use">\r | |
7b78a5a2 | 67 | <h4>使用例</h4>\r |
53668523 L |
68 | <pre>\r |
69 | FATFS *fs;\r | |
70 | DWORD fre_clust, fre_sect, tot_sect;\r | |
71 | \r | |
72 | \r | |
7b78a5a2 | 73 | <span class="c">/* ドライブ1のボリューム情報と空きクラスタ数を得る */</span>\r |
53668523 L |
74 | res = f_getfree("1:", &fre_clust, &fs);\r |
75 | if (res) die(res);\r | |
76 | \r | |
7b78a5a2 | 77 | <span class="c">/* 全セクタ数と空きセクタ数を計算 */</span>\r |
53668523 L |
78 | tot_sect = (fs->n_fatent - 2) * fs->csize;\r |
79 | fre_sect = fre_clust * fs->csize;\r | |
80 | \r | |
70702af1 | 81 | <span class="c">/* ボリュームのサイズと空きサイズを表示 (512バイト/セクタと仮定) */</span>\r |
53668523 L |
82 | printf("%10lu KiB total drive space.\n%10lu KiB available.\n",\r |
83 | tot_sect / 2, fre_sect / 2);\r | |
84 | </pre>\r | |
85 | </div>\r | |
86 | \r | |
87 | \r | |
88 | <div class="para ref">\r | |
7b78a5a2 | 89 | <h4>参照</h4>\r |
53668523 L |
90 | <tt><a href="sfatfs.html">FATFS</a></tt>\r |
91 | </div>\r | |
92 | \r | |
7b78a5a2 | 93 | <p class="foot"><a href="../00index_j.html">戻る</a></p>\r |
53668523 L |
94 | </body>\r |
95 | </html>\r |