RegSetKeySecurity函数设置打开注册表项的安全性。
LONG RegSetKeySecurity(
HKEY 【的hKeyru-Latn】, | //打开要设置的句柄 |
SECURITY_INFORMATION 【SecurityInformation】, | //描述符内容 |
PSECURITY_DESCRIPTOR 【pSecurityDescriptor】 | //键的描述符地址 |
); |
参数
【的hKeyru-Latn】
标识设置安全描述符的打开密钥。
【SecurityInformation】
指定一个SECURITY_INFORMATION结构,指示所提供的安全描述符的内容。
因为子项没有被排序,任何新的子项都将有一个任意的索引。这意味着该函数可以以任何顺序返回子项。
【pSecurityDescriptor】
指向SECURITY_DESCRIPTOR结构,指定为指定键设置的安全属性。
返回值
如果函数成功,则返回值为ERROR_SUCCESS。
如果函数失败,返回值是在WINERROR.H中定义的非零错误代码。您可以使用带有FORMAT_MESSAGE_FROM_SYSTEM标志的FormatMessage函数来获取错误的一般描述。
备注
只有满足以下条件,此函数才能成功:
*如果密钥的所有者或组被设置,则呼叫者必须具有WRITE_OWNER权限或具有SE_TAKE_OWNERSHIP_NAME权限。
*如果密钥的自由访问控制列表(DACL)被设置,则呼叫者必须具有WRITE_DAC权限或者是对象的所有者。
*如果密钥的系统访问控制列表(SACL)被设置,则呼叫者必须具有SE_SECURITY_NAME特权。
如果【的hKeyru-Latn】是预定义的键之一,则应使用RegCloseKey关闭预定义的键。这确保新的安全信息在下次引用预定义的密钥时生效。
也可以看看
RegCloseKey, RegDeleteKey, RegGetKeySecurity, SECURITY_INFORMATION