]> cloudbase.mooo.com Git - z180-stamp.git/blame - fatfs/doc/ja/getfree.html
Merge branch 'chan-fatfs' into fatfs-integration
[z180-stamp.git] / fatfs / doc / ja / getfree.html
CommitLineData
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
18FRESULT 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:", &amp;fre_clust, &amp;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