レジストリ キー オブジェクトのルーチン
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 |
単純なカーネル モードと同等ではありませんが、「レジストリ ランタイム ライブラリ ルーチン」を参照してください。 |
ドライバーは、次の手順でレジストリ キー オブジェクトを操作できます。
レジストリ キー オブジェクトへのハンドルを開きます。 詳細については、「レジストリ キー オブジェクトへのハンドルを開く」を参照してください。
適切な ZwXxxKey ルーチンを呼び出して、目的の操作を実行します。 方法については、「レジストリ キー オブジェクトへのハンドルの使用」を参照してください。
ZwClose を呼び出してハンドルを閉じます。