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