次の方法で共有


RegLoadAppKeyA 関数 (winreg.h)

指定したレジストリ ハイブをアプリケーション ハイブとして読み込みます。

構文

LSTATUS RegLoadAppKeyA(
  [in]  LPCSTR lpFile,
  [out] PHKEY  phkResult,
  [in]  REGSAM samDesired,
  [in]  DWORD  dwOptions,
        DWORD  Reserved
);

パラメーター

[in] lpFile

Hive ファイルの名前。 このハイブは、RegSaveKey または RegSaveKeyEx 関数 使用して作成されている必要があります。 ファイルが存在しない場合は、指定した名前の空の Hive ファイルが作成されます。

[out] phkResult

読み込まれたハイブのルート キーのハンドルへのポインター。

ハイブ内のキーにアクセスする唯一の方法は、このハンドルを使用することです。 レジストリは、アプリケーションがキーへの絶対パスを使用してこのハイブのキーにアクセスできないようにします。 その結果、レジストリの名前空間を介してこのハイブに移動することはできません。

[in] samDesired

返されたルート キーに対して要求されたアクセス権を指定するマスク。 詳細については、「レジストリ キーのセキュリティとアクセス権のを する」を参照してください。

[in] dwOptions

このパラメーターがREG_PROCESS_APPKEYされている場合、呼び出し元によって読み込まれている間、ハイブを再度読み込むことはできません。 これにより、別の呼び出し元がこのレジストリ ハイブにアクセスできなくなります。

Reserved

このパラメーターは予約されています。

戻り値

関数が成功した場合、戻り値はERROR_SUCCESS。

関数が失敗した場合、戻り値は Winerror.h で定義されている 0 以外のエラー コードです。 FormatMessage 関数を FORMAT_MESSAGE_FROM_SYSTEM フラグと共に使用すると、エラーの一般的な説明を取得できます。

備考

RegLoadKeyとは異なり、RegLoadAppKey HKEY_LOCAL_MACHINEまたはHKEY_USERSの下にハイブを読み込むことはありません。 代わりに、ハイブは列挙できない特殊なルートの下に読み込まれます。 その結果、RegLoadAppKeyによって現在読み込まれているハイブ 列挙する方法はありません。 RegLoadAppKey によって読み込まれたハイブに対するすべての操作、phkResult で返されるハンドルを基準 実行する必要があります。

同じハイブに対して操作を実行するために 2 つのプロセスが必要な場合、各プロセスは RegLoadAppKey 呼び出してハンドルを取得する必要があります。 RegLoadAppKey 操作中に、レジストリはファイルが既に読み込まれているかどうかを確認します。 読み込まれた場合、レジストリは、ハイブを再読み込みするのではなく、以前に読み込まれたハイブにハンドルを返します。

Hive 内のすべてのキーは同じセキュリティ記述子を持つ必要があります。そうしないと、関数は失敗します。 このセキュリティ記述子は、samDesired パラメーター 指定されたアクセス権を呼び出し元に付与する必要があります。または、関数が失敗します。 RegSetKeySecurity 関数は、Hive 内のどのキーにも使用できません。

Windows 8 以降では、各プロセス RegLoadAppKey を呼び出して複数のハイブを読み込むことができます。 Windows 7 以前では、各プロセスは、RegLoadAppKey を使用して一度に 1 つのハイブのみを読み込むことができます。

RegLoadAppKey を使用して読み込まれたハイブは、RegCloseKeyを使用してハイブ内のキーに対するすべてのハンドルが閉じられると、自動的にアンロードされます。

この関数を使用するアプリケーションをコンパイルするには、_WIN32_WINNTを 0x0600 以降として定義します。 詳細については、「Windows ヘッダーの使用」を参照してください。

手記

winreg.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして RegLoadAppKey を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows Vista [デスクトップ アプリのみ]
サポートされる最小サーバー Windows Server 2008 [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー winreg.h (Windows.h を含む)
ライブラリ Advapi32.lib
DLL Advapi32.dll

関連項目

RegSaveKey

レジストリ関数 を する

レジストリ Hive の