getfree.html 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  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=Shift_JIS">
  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. <body>
  12. <div class="para func">
  13. <h2>f_getfree</h2>
  14. <p>論理ドライブ上の未使用クラスタ数を得ます。</p>
  15. <pre>
  16. FRESULT f_getfree (
  17. const TCHAR* <em>Path</em>, <span class="c">/* 対象ドライブを指定します */</span>
  18. DWORD* <em>Clusters</em>, <span class="c">/* 空きクラスタ数を格納する変数へのポインタ */</span>
  19. FATFS** <em>FileSystemObject</em> <span class="c">/* ファイル・システム・オブジェクトを指すポインタへのポインタ */</span>
  20. );
  21. </pre>
  22. </div>
  23. <div class="para arg">
  24. <h4>引数</h4>
  25. <dl class="par">
  26. <dt>Path</dt>
  27. <dd>調べる対象の論理ドライブを示す<a href="filename.html">パス名</a>が入った<tt>'\0'</tt>で終わる文字列へのポインタを指定します。</dd>
  28. <dt>Clusters</dt>
  29. <dd>空きクラスタ数を格納する<tt>DWORD</tt>変数へのポインタを指定します。</dd>
  30. <dt>FileSystemObject</dt>
  31. <dd>対象ドライブのファイル・システム・オブジェクトを指すポインタが返されます。</dd>
  32. </dl>
  33. </div>
  34. <div class="para ret">
  35. <h4>戻り値</h4>
  36. <p>
  37. <a href="rc.html#ok">FR_OK</a>,
  38. <a href="rc.html#de">FR_DISK_ERR</a>,
  39. <a href="rc.html#ie">FR_INT_ERR</a>,
  40. <a href="rc.html#nr">FR_NOT_READY</a>,
  41. <a href="rc.html#id">FR_INVALID_DRIVE</a>,
  42. <a href="rc.html#ne">FR_NOT_ENABLED</a>,
  43. <a href="rc.html#ns">FR_NO_FILESYSTEM</a>,
  44. <a href="rc.html#tm">FR_TIMEOUT</a>
  45. </p>
  46. </div>
  47. <div class="para desc">
  48. <h4>解説</h4>
  49. <p>論理ドライブ上の空きクラスタ数を取得します。返されたファイル・システム・オブジェクトの<tt>csize</tt>メンバがクラスタあたりのセクタ数を示しているので、これを元に実際の空きサイズが計算できます。FAT32ボリュームにおいては、FSINFOセクタの状態によっては不正確な値を返したり、処理に時間がかかったりする可能性があります。</p>
  50. </div>
  51. <div class="para comp">
  52. <h4>対応情報</h4>
  53. <p><tt>_FS_READONLY == 0</tt>で、且つ<tt>_FS_MINIMIZE == 0</tt>のとき使用可能です。</p>
  54. </div>
  55. <div class="para use">
  56. <h4>使用例</h4>
  57. <pre>
  58. FATFS *fs;
  59. DWORD fre_clust, fre_sect, tot_sect;
  60. <span class="c">/* ドライブ1のボリューム情報と空きクラスタ数を得る */</span>
  61. res = f_getfree("1:", &amp;fre_clust, &amp;fs);
  62. if (res) die(res);
  63. <span class="c">/* 全セクタ数と空きセクタ数を計算 */</span>
  64. tot_sect = (fs->n_fatent - 2) * fs->csize;
  65. fre_sect = fre_clust * fs->csize;
  66. <span class="c">/* ドライブサイズと空きサイズの表示 (512バイト/セクタと仮定) */</span>
  67. printf("%lu KB total drive space.\n"
  68. "%lu KB available.\n",
  69. fre_sect / 2, tot_sect / 2);
  70. </pre>
  71. </div>
  72. <div class="para ref">
  73. <h4>参照</h4>
  74. <tt><a href="sfatfs.html">FATFS</a></tt>
  75. </div>
  76. <p class="foot"><a href="../00index_j.html">戻る</a></p>
  77. </body>
  78. </html>