ドライバーでのファイルの使用

Microsoft Windows エグゼクティブは、ファイル オブジェクトによってファイルを表します。ファイル オブジェクトは、オブジェクト マネージャーによって管理されるエグゼクティブ オブジェクトです。 (ディレクトリはファイル オブジェクトでも表されます。)

カーネルモード コンポーネントは、オブジェクト名によってファイルを参照します、これはファイルの完全なパスに連結された \DosDevices です。 (Microsoft Windows 2000 以降のバージョンのオペレーティング システムでは、\??\DosDevices と同じです)。たとえば、C:\WINDOWS\example.txt ファイルのオブジェクト名は \DosDevices\C:\WINDOWS\example.txt です。 オブジェクト名を使用して、ファイルへのハンドルを開きます。 オブジェクト名の詳細については、「オブジェクト名」を参照してください。

ファイルを作成する方法

  1. ファイルのハンドルを開きます。

    詳細については、「ファイルへのハンドルを開く」を参照してください。

  2. 適切な ZwXxxFile ルーチンを呼び出して、目的の操作を実行します。

    詳細については、「ファイル ハンドルの使用」を参照してください。

  3. ZwClose を呼び出してハンドルを閉じます。

ファイルへのハンドルを開くたびに、Windows エグゼクティブはファイルを表すファイル オブジェクトを作成し、開いているハンドルをそのオブジェクトに返します。 そのため、1 つのファイルに対して複数のファイル オブジェクトを存在させることができます。 (ユーザーモード アプリケーションはハンドルをコピーできるため、同じファイル オブジェクトに対して複数のハンドルが存在する場合もあります。) ファイル オブジェクトに対するすべての開いているハンドルが閉じられると、Windows エグゼクティブはファイル オブジェクトを削除します。