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 平臺上會忽略此旗標。 如需詳細資訊,請參閱 存取替代登錄檢視。
值 | 意義 |
---|---|
|
使用來自 32 位應用程式的 32 位登錄機碼,並使用來自 64 位應用程式的 64 位登錄機碼。 |
|
使用 32 位或 64 位應用程式的 64 位登錄機碼。 |
|
使用來自 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 |