Exemple #1
0
 /// <summary>
 /// Deletes the key associated with the handle specified in <paramref name="request"/>.
 /// </summary>
 /// <param name="request"></param>
 /// <returns></returns>
 public virtual NativeResultCode DeleteKey(RegistryRequest request)
 {
     using (_keysSynchronizationLock.EnterDisposableWriteLock())
     {
         request.Handle = EnsureHandleIsNoAlias(request.Handle);
         if (!_keys.ContainsKey(request.Handle))
         {
             return(NativeResultCode.InvalidHandle);
         }
         RemoveAliasesFor(request.Handle);
         _keys.Remove(request.Handle);
     }
     _indexGenerator.Release(request.Handle);
     return(NativeResultCode.Success);
 }