SfcIsKeyProtected 関数 (sfc.h)
指定したレジストリ キーが保護されているかどうかを判断します。 アプリケーションでは、保護されたレジストリ キーを置き換えないようにする必要があります。
構文
BOOL SfcIsKeyProtected(
[in] HKEY KeyHandle,
[in, optional] LPCWSTR SubKeyName,
[in] REGSAM KeySam
);
パラメーター
[in] KeyHandle
ルート レジストリ キーへのハンドル。 これは、次のいずれかの 定義済みキーへのハンドルである必要があります。
HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
[in, optional] SubKeyName
サブキーの名前を含む null で終わる文字列値。 このキーは、 hKey パラメーターによって識別されるキーのサブキーである必要があります。 キー名の詳細については、「 レジストリの構造」を参照してください。 このパラメーターが NULL の場合、関数はルート レジストリ キーが保護されているかどうかをチェックするだけです。
[in] KeySam
64 ビット Windows で実行されるアプリケーションで使用する代替レジストリ ビューを指定する定数。 x86 プラットフォームでは、このフラグは無視されます。 詳細については、「 代替レジストリ ビューへのアクセス」を参照してください。
戻り値
キーが保護されている場合、戻り値は 0 以外の値になります。
キーが保護されていない場合、戻り値は 0 になります。
解説
パスが存在し、WRP によって保護されている場合、キーは WRP によって保護されます。 SfcIsKeyProtected 関数は、サブキーが WRP によって保護されている親キーを持っている場合、サブキーが WRP によって保護されることを示します。
たとえば、次のレジストリ キーがシステム上に存在し、WRP によって保護されている場合です。
HKEY_LOCAL_MACHINE SOFTWARE Classes Microsoft <WinFeature>
SfcIsKeyProtected 関数は、次のサブキーの 0 以外の値を返します。 関数が WRP で保護されていることを判断するために、新しいサブキーが存在する必要はありません。
HKEY_LOCAL_MACHINE SOFTWARE Classes Microsoft <WinFeature> <new subkey>
要件
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | sfc.h |
Library | Sfc.lib |
[DLL] | Sfc.dll |