レジストリ キー オブジェクトのルーチン

Windows エグゼクティブは、レジストリ キーを、オブジェクト マネージャーによって管理されるエグゼクティブ オブジェクトとして表します。 (オブジェクト マネージャの詳細については、「オブジェクト管理」を参照してください。特に、すべてのキーにオブジェクト名があり、キーのハンドルを開くことができます。

ユーザー モード アプリケーションは、HKEY_LOCAL_MACHINE or HKEY_CURRENT_USER などのグローバル ハンドルに関連するキーにアクセスします。 ただし、これらのハンドルはカーネルモード コードでは使用できません。 代わりに、キーをオブジェクト名で参照します。 すべてのレジストリ キーのルートは \Registry オブジェクトです。 グローバル ハンドルは、次の表に示すように、\Registry オブジェクトの子孫に対応します。

ユーザーモード ハンドル 対応するオブジェクト名

HKEY_LOCAL_MACHINE

\Registry\Machine

HKEY_USERS

\Registry\User

HKEY_CLASSES_ROOT

カーネルモードに相当するものがない

HKEY_CURRENT_USER

単純なカーネル モードと同等ではありませんが、「レジストリ ランタイム ライブラリ ルーチン」を参照してください。

ドライバーは、次の手順でレジストリ キー オブジェクトを操作できます。

  1. レジストリ キー オブジェクトへのハンドルを開きます。 詳細については、「レジストリ キー オブジェクトへのハンドルを開く」を参照してください。

  2. 適切な ZwXxxKey ルーチンを呼び出して、目的の操作を実行します。 方法については、「レジストリ キー オブジェクトへのハンドルの使用」を参照してください。

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