private Persist ( |
||
hKey | ||
keyName | string | |
return | void |
internal void Persist(SafeRegistryHandle hKey, string keyName)
{
WriteLock();
try
{
AccessControlSections persistRules = GetAccessControlSectionsFromChanges();
if (persistRules == AccessControlSections.None)
{
return; // Don't need to persist anything.
}
Persist(hKey, persistRules);
OwnerModified = GroupModified = AuditRulesModified = AccessRulesModified = false;
}
finally
{
WriteUnlock();
}
}
public static void SetAccessControl(this RegistryKey key, RegistrySecurity registrySecurity) { if (registrySecurity == null) { throw new ArgumentNullException(nameof(registrySecurity)); } registrySecurity.Persist(key.Handle, key.Name); }