CRegKey::SetKeySecurity

调用此方法设置注册表项的安全性。

LONG SetKeySecurity(
   SECURITY_INFORMATION si,
   PSECURITY_DESCRIPTOR psd 
) throw( );

参数

  • si
    指定安全说明符设置为的元素。 该值可以是下列值的组合:

    含义

    DACL_SECURITY_INFORMATION

    设置键的自由访问控制列表(acl) (DACL)。 密钥必须具有访问权限WRITE_DAC,或者调用进程必须是对象的所有者。

    GROUP_SECURITY_INFORMATION

    设置键的主要组安全标识符(SID)。 密钥必须具有访问权限WRITE_OWNER,或者调用进程必须是对象的所有者。

    OWNER_SECURITY_INFORMATION

    设置键的所有者SID。 密钥必须具有访问权限WRITE_OWNER,或者调用进程必须是对象的所有者或将权限SE_TAKE_OWNERSHIP_NAME启用。

    SACL_SECURITY_INFORMATION

    设置关键系统访问控制列表(acl) (SACL)。 密钥必须具有访问权限ACCESS_SYSTEM_SECURITY。 适当的方式获取此访问权限是使在调用方的当前访问标记的SE_SECURITY_NAME 权限,打开ACCESS_SYSTEM_SECURITY访问的句柄,然后禁用该权限。

  • psd
    为指定安全特性指定的键设置的 SECURITY_DESCRIPTOR 结构的指针。

返回值

如果方法成功,则返回值是ERROR_SUCCESS。 如果方法失败,则返回值是在WINERROR.H.定义的一个非零错误代码。

备注

设置键的安全特性。 有关详细信息 RegSetKeySecurity 参见。

要求

Header: atlbase.h

请参见

参考

CRegKey选件类

CRegKey::GetKeySecurity