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 |
); |
Because subkeys are not ordered, any new subkey will have an arbitrary index.
This means the function may return subkeys in any order.
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 function with the FORMAT_MESSAGE_FROM_SYSTEM flag to get a generic description of the error.
This function succeeds only if the following conditions are met:
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.
RegCloseKey, RegDeleteKey, RegGetKeySecurity, SECURITY_INFORMATION