ファイル オブジェクト
ファイル オブジェクトは 、カーネル プロセスとユーザー モード プロセスと物理ディスク上に存在するファイル データの間の論理インターフェイスとして機能します。 ファイル オブジェクトには、ファイルに書き込まれたデータと、カーネルが管理する次の属性のセットの両方が含まれます。
情報の種類 | 目的 |
---|---|
ファイル名 | 対応する物理ファイルに名前を付けます。 |
現在のバイト オフセット | 同期ファイル I/O (このセクションで後述) で使用され、読み取りおよび書き込み操作の現在の開始位置を識別します。 |
共有モード | 最初のプロセスがまだアクセスしている間に、2 番目のプロセスがファイルを読み取り、書き込み、または削除アクセス用に開くことができるかどうかを指定します。 |
I/O モード | 初期プロセスで、 同期または非同期の I/O、キャッシュまたはキャッシュされていない I/O、シーケンシャルまたはランダム I/O などのファイルを開いたかどうかを指定します。 |
デバイス オブジェクトへのポインター | ファイル データが存在する物理デバイスを識別します。 |
ボリューム パラメーター ブロック (VPB) へのポインター | ファイル データが存在するボリュームまたはパーティションを識別します。 |
セクション オブジェクト ポインターへのポインター | マップされたファイルを記述するルート構造を識別します。 |
プライベート キャッシュ マップへのポインター | 現在キャッシュされているファイル データを識別します。 |
これらの属性は、Ntddk.h の FILE_OBJECT 構造の一部として定義されます。 値のデータ長と型については、Windows Driver Kit (WDK) ドキュメントのこの構造の定義を参照してください。