次の方法で共有


ORSetVirtualFlags 関数

オフライン レジストリ ハイブで、指定した開いているレジストリ キーに仮想化フラグを設定します。

構文

DWORD ORSetVirtualFlags(
  _In_ ORHKEY Handle,
  _In_ DWORD  dwFlags
);

パラメーター

ハンドル [入力]

オフライン レジストリ ハイブで開いているレジストリ キーへのハンドル。

dwFlags [in]

このパラメーターは、仮想化されたハイブのキーに対して作成または開く操作が失敗した場合のレジストリの動作を制御します。 このパラメーターには、次の 1 つ以上の値を指定できます。

説明
REG_KEY_DONT_SILENT_FAIL
4
このフラグが設定され、仮想化が有効になっているキーに対して Open 操作が失敗した場合、レジストリはキーを再度開こうとしません。 このフラグがクリアされている場合、レジストリはMAXIMUM_ALLOWEDアクセス権を使用してキーを再度開こうとします。
REG_KEY_DONT_VIRTUALIZE
2
このフラグが設定され、呼び出し元が親キーのKEY_CREATE_SUB_KEY権限を持っていないためにキーの作成操作が失敗した場合、レジストリは作成操作に失敗します。 このフラグがクリアされている場合、レジストリは仮想ストアにキーの作成を試みます。 呼び出し元は、親キーのKEY_READ権限を持っている必要があります。
REG_KEY_RECURSE_FLAG
8
このフラグが設定されている場合、レジストリ仮想化フラグは親キーから伝達されます。 このフラグが明確な場合、レジストリ仮想化フラグは反映されません。

 

戻り値

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

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

解説

レジストリ仮想化は、グローバルな影響を与えるレジストリ書き込み操作をユーザーごとの場所にリダイレクトできるようにする中間アプリケーション互換性テクノロジです。 このリダイレクトは、レジストリから読み取ったり、レジストリに書き込んだりするアプリケーションに対して透過的です。

レジストリ仮想化は、Windows Vista 以降でサポートされています。 ただし、より多くのアプリケーションが Windows Vista と互換性を持つようにするため、Microsoft は今後のバージョンの Windows オペレーティング システムから削除する予定です。 そのため、アプリケーションはシステム内のレジストリ仮想化の動作に依存しないようにする必要があります。

レジストリ仮想化は、次の場合にのみ有効になります。

  • 32 ビットの対話型プロセス
  • HKEY_LOCAL_MACHINE\Softwareのキー
  • 管理者が書き込むことができるキー

詳細については、「 レジストリ仮想化」を参照してください。

要件

要件
再頒布可能パッケージ
Windows オフライン レジストリ ライブラリ バージョン 1.0 以降
ヘッダー
Offreg.h
[DLL]
Offreg.dll

関連項目

ORGetVirtualFlags

レジストリ仮想化