ファイル オブジェクト

ファイル オブジェクトは 、カーネル プロセスとユーザー モード プロセスと物理ディスク上に存在するファイル データの間の論理インターフェイスとして機能します。 ファイル オブジェクトには、ファイルに書き込まれたデータと、カーネルが管理する次の属性のセットの両方が含まれます。

情報の種類 目的
ファイル名 対応する物理ファイルに名前を付けます。
現在のバイト オフセット 同期ファイル I/O (このセクションで後述) で使用され、読み取りおよび書き込み操作の現在の開始位置を識別します。
共有モード 最初のプロセスがまだアクセスしている間に、2 番目のプロセスがファイルを読み取り、書き込み、または削除アクセス用に開くことができるかどうかを指定します。
I/O モード 初期プロセスで、 同期または非同期の I/O、キャッシュまたはキャッシュされていない I/O、シーケンシャルまたはランダム I/O などのファイルを開いたかどうかを指定します。
デバイス オブジェクトへのポインター ファイル データが存在する物理デバイスを識別します。
ボリューム パラメーター ブロック (VPB) へのポインター ファイル データが存在するボリュームまたはパーティションを識別します。
セクション オブジェクト ポインターへのポインター マップされたファイルを記述するルート構造を識別します。
プライベート キャッシュ マップへのポインター 現在キャッシュされているファイル データを識別します。

 

これらの属性は、Ntddk.h の FILE_OBJECT 構造の一部として定義されます。 値のデータ長と型については、Windows Driver Kit (WDK) ドキュメントのこの構造の定義を参照してください。