Export (0) Print
Expand All

CRegKey::SetKeySecurity

Call this method to set the security of the registry key.

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

si

Specifies the components of the security descriptor to set. The value can be a combination of the following values:

Value

Meaning

DACL_SECURITY_INFORMATION

Sets the key's discretionary access-control list (DACL). The key must have WRITE_DAC access, or the calling process must be the object's owner.

GROUP_SECURITY_INFORMATION

Sets the key's primary group security identifier (SID). The key must have WRITE_OWNER access, or the calling process must be the object's owner.

OWNER_SECURITY_INFORMATION

Sets the key's owner SID. The key must have WRITE_OWNER access, or the calling process must be the object's owner or have the SE_TAKE_OWNERSHIP_NAME privilege enabled.

SACL_SECURITY_INFORMATION

Sets the key's system access-control list (SACL). The key must have ACCESS_SYSTEM_SECURITY access. The proper way to get this access is to enable the SE_SECURITY_NAME privilege in the caller's current access token, open the handle for ACCESS_SYSTEM_SECURITY access, and then disable the privilege.

psd

Pointer to a SECURITY_DESCRIPTOR structure that specifies the security attributes to set for the specified key.

If the method succeeds, the return value is ERROR_SUCCESS. If the method fails, the return value is a nonzero error code defined in WINERROR.H.

Sets the key's security attributes. See RegSetKeySecurity for more details.

Header: atlbase.h

Show:
© 2014 Microsoft