RegSetKeySecurity
The RegSetKeySecurity
function sets the security of an open registry key.
LONG RegSetKeySecurity(
HKEY hKey, |
// open handle of
key to set |
SECURITY_INFORMATION SecurityInformation, |
// descriptor
contents |
PSECURITY_DESCRIPTOR pSecurityDescriptor |
// address of
descriptor for key |
); |
|
Parameters
hKey
Identifies an
open key for which the security descriptor is set.
SecurityInformation
Specifies a SECURITY_INFORMATION
Because subkeys are not ordered, any new subkey will have an arbitrary
index. This means the function may return subkeys in any order.
pSecurityDescriptor
Points to a SECURITY_DESCRIPTOR
structure that specifies the security attributes to set for the specified key.
Return Values
If the
function succeeds, the return value is ERROR_SUCCESS.
If the
function fails, the return value is a nonzero error code defined in WINERROR.H.
You can use the FormatMessage
Remarks
This function
succeeds only if the following conditions are met:
If the key s owner or group is
being set, the caller must have WRITE_OWNER permission or have the
SE_TAKE_OWNERSHIP_NAME privilege.
If the key s discretionary
access-control list (DACL) is being set, the caller must have WRITE_DAC
permission or be the object s owner.
If the key s system
access-control list (SACL) is being set, the caller must have the
SE_SECURITY_NAME privilege.
If hKey
is one of the predefined keys, the predefined key should be closed with RegCloseKey.
That ensures that the new security information is in effect the next time the
predefined key is referenced.
See Also