次の方法で共有


ORGetVirtualFlags 関数

オフライン レジストリ ハイブ内の指定された開いているレジストリ キーの仮想フラグを取得します。

構文

DWORD ORGetVirtualFlags(
  _In_  ORHKEY Handle,
  _Out_ PDWORD pdwFlags
);

パラメーター

ハンドル [入力]

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

pdwFlags [out]

キーに設定された仮想化フラグを受け取る変数へのポインター。 関数が戻った後、このパラメーターには次の値の 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 以外のエラー コードです。 FORMAT_MESSAGE_FROM_SYSTEM フラグを指定して FormatMessage 関数を使用すると、エラーの一般的な説明を取得できます。

解説

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

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

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

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

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

要件

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

関連項目

ORSetVirtualFlags

レジストリ仮想化