共用方式為


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 平臺上會忽略此旗標。 如需詳細資訊,請參閱 存取替代登錄檢視

意義
0x0000
使用來自 32 位應用程式的 32 位登錄機碼,並使用來自 64 位應用程式的 64 位登錄機碼。
KEY_WOW64_64KEY
0x0100
使用 32 位或 64 位應用程式的 64 位登錄機碼。
KEY_WOW64_32KEY
0x0200
使用來自 32 位或 64 位應用程式的 32 位登錄機碼。

傳回值

如果金鑰受到保護,則傳回值是非零值。

如果金鑰未受到保護,則傳回值為零。

備註

如果路徑存在且受到 WRP 保護,則金鑰受到 WRP 保護。 SfcIsKeyProtected函式表示如果子機碼有受 WRP 保護的父金鑰,則子機碼會受到 WRP 保護。

例如,如果系統上存在下列登錄機碼,且受 WRP 保護:

HKEY_LOCAL_MACHINE
   SOFTWARE
      Classes
         Microsoft
            <WinFeature>

SfcIsKeyProtected函式會傳回下列子機碼的非零值。 函式不需要有新的子機碼,即可判斷它是否受到 WRP 保護。

HKEY_LOCAL_MACHINE
   SOFTWARE
      Classes
         Microsoft
            <WinFeature>
               <new subkey>

規格需求

   
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 sfc.h
程式庫 Sfc.lib
Dll Sfc.dll

另請參閱

SfcIsFileProtected