FATFS構造体は、個々の論理ドライブのダイナミック・ワーク・エリアを保持し、f_mount()でFatFsモジュールに登録されます。標準状態では次のようなメンバになっています。アプリケーションから書き換え可能なメンバはありません。
typedef struct {
BYTE fs_type; /* FATタイプ */
BYTE drv; /* 物理ドライブ番号 */
BYTE csize; /* クラスタ当たりのセクタ数 */
BYTE n_fats; /* FATの多重化数 */
BYTE wflag; /* win[]ダーティ・フラグ */
BYTE fsi_flag; /* fsinfoダーティ・フラグ */
WORD id; /* ファイル・システム・マウントID */
WORD n_rootdir; /* ルート・ディレクトリのエントリ数 (FAT12/16) */
#if _MAX_SS != 512
WORD ssize; /* セクタ・サイズ (可変セクタ長のみ) */
#endif
#if _FS_REENTRANT
HANDLE h_mutex; /* 同期オブジェクトID */
#endif
#if !_FS_READONLY
DWORD last_clust; /* 最後に割り当てられたクラスタ番号 */
DWORD free_clust; /* 空きクラスタ数 */
DWORD fsi_sector; /* fsinfoセクタ (FAT32) */
#endif
#if _FS_RPATH
DWORD cdir; /* カレント・ディレクトリのクラスタ (0:ルート) */
#endif
DWORD n_fatent; /* FATのエントリ数 (= クラスタ数 + 2) */
DWORD fsize; /* FAT 1個当たりのセクタ数 */
DWORD fatbase; /* FAT領域開始セクタ */
DWORD dirbase; /* ルート・ディレクトリ開始セクタ (FAT32: クラスタ番号) */
DWORD database; /* データ領域開始区セクタ */
DWORD winsect; /* win[]に現れているセクタ番号 */
BYTE win[_MAX_SS]; /* ディスク・アクセス・ウィンドウ */
} FATFS;