fdisk.html 4.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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/fdisk.html">
  8. <link rel="stylesheet" href="../css_j.css" type="text/css" media="screen" title="ELM Default">
  9. <title>FatFs - f_fdisk</title>
  10. </head>
  11. <body>
  12. <div class="para func">
  13. <h2>f_fdisk</h2>
  14. <p>物理ドライブを分割します。</p>
  15. <pre>
  16. FRESULT f_fdisk (
  17. BYTE <span class="arg">pdrv</span>, <span class="c">/* [IN] 物理ドライブ番号 */</span>
  18. const DWORD* <span class="arg">szt</span>, <span class="c">/* [IN] 区画サイズ テーブル */</span>
  19. void* <span class="arg">work</span> <span class="c">/* [-] ワークエリア */</span>
  20. );
  21. </pre>
  22. </div>
  23. <div class="para arg">
  24. <h4>引数</h4>
  25. <dl class="par">
  26. <dt>pdrv</dt>
  27. <dd>分割する<em>物理ドライブ</em>を指定します。これは論理ドライブ番号ではなく、ディスク関数に渡される物理ドライブ番号です。</dd>
  28. <dt>szt</dt>
  29. <dd>区画サイズ テーブルの先頭項目へのポインタを指定します。</dd>
  30. <dt>work</dt>
  31. <dd>ワークエリアへのポインタを指定します。サイズは<tt>_MAX_SS</tt>バイト必要です。</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#nr">FR_NOT_READY</a>,
  40. <a href="rc.html#wp">FR_WRITE_PROTECTED</a>,
  41. <a href="rc.html#ip">FR_INVALID_PARAMETER</a>
  42. </p>
  43. </div>
  44. <div class="para desc">
  45. <h4>説明</h4>
  46. <p>この関数は、指定された物理ドライブのMBRに区画テーブルを作成します。区画分けは一般的なFDISK形式で行うため、最大4つの基本区画を作成することができます。拡張区画には対応していません。区画サイズ テーブルにはドライブをどのように分割するか指定します。この配列は4つの項目から成り、先頭の項目が1番目の区画のサイズを示します。項目の値が100以下の場合、その区画のドライブの総容量に対する割合をパーセント単位で指定します。100を超える値の場合はセクタ数の直接指定になります。ドライブ上への区画の配置順は、項目順になります。</p>
  47. </div>
  48. <div class="para comp">
  49. <h4>対応情報</h4>
  50. <p><tt>_FS_READOLNY == 0</tt> で <tt>_USE_MKFS == 1</tt> で <tt>_MULTI_PARTITION == 1</tt> のとき使用可能です。</p>
  51. </div>
  52. <div class="para use">
  53. <h4>使用例</h4>
  54. <pre>
  55. <span class="c">/* ユーザ定義のボリューム管理テーブル (_MULTI_PARTITION == 1 のとき必要) */</span>
  56. PARTITION VolToPart[] = {
  57. {0, 1}, <span class="c">/* 論理ドライブ 0 ==> 物理ドライブ 0, 第1区画 */</span>
  58. {0, 2}, <span class="c">/* 論理ドライブ 1 ==> 物理ドライブ 0, 第2区画 */</span>
  59. {1, 0} <span class="c">/* 論理ドライブ 2 ==> 物理ドライブ 1, 自動検出 */</span>
  60. };
  61. </pre>
  62. <pre>
  63. <span class="c">/* 新しい物理ドライブ(0)の初期化 */</span>
  64. FATFS fs;
  65. DWORD plist[] = {50, 50, 0, 0}; <span class="c">/* 第1区画,第2区画それぞれに50%ずつ割り当て */</span>
  66. BYTE work[_MAX_SS];
  67. f_fdisk(0, plist, work); <span class="c">/* 物理ドライブ 0 の分割 */</span>
  68. f_mkfs("0:", FMT_ANY, work, sizeof work); <span class="c">/* 論理ドライブ 0: のフォーマット */</span>
  69. f_mkfs("1:", FMT_ANY, work, sizeof work); <span class="c">/* 論理ドライブ 1: のフォーマット */</span>
  70. </pre>
  71. </div>
  72. <div class="para ref">
  73. <h4>参照</h4>
  74. <p><tt><a href="filename.html#vol">ボリューム管理</a>, <a href="mkfs.html">f_mkfs</a></tt></p>
  75. </div>
  76. <p class="foot"><a href="../00index_j.html">戻る</a></p>
  77. </body>
  78. </html>