Exemplo n.º 1
0
        public static void RunWithPrivilege(string privilege, bool enabled, PrivilegedHelper helper)
        {
            if (helper == null)
            {
                throw new ArgumentNullException("helper");
            }
            Contract.EndContractBlock();

            Privilege p = new Privilege(privilege);

            try
            {
                if (enabled)
                {
                    p.Enable();
                }
                else
                {
                    p.Disable();
                }

                helper();
            }
            finally
            {
                p.Revert();
            }
        }
Exemplo n.º 2
0
        public static void RunWithPrivilege(string privilege, bool enabled, PrivilegedHelper helper)
        {
            if (helper == null)
            {
                throw new ArgumentNullException(nameof(helper));
            }

            Privilege p = new Privilege(privilege);

            try
            {
                if (enabled)
                {
                    p.Enable();
                }
                else
                {
                    p.Disable();
                }

                helper();
            }
            catch
            {
                p.Revert();
                throw;
            }
            finally
            {
                p.Revert();
            }
        }
Exemplo n.º 3
0
 public static void RunWithPrivilege(string privilege, bool enabled, PrivilegedHelper helper)
 {
     if (helper == null)
     {
         throw new ArgumentNullException();
     }
     using (Privilege privilege2 = new Privilege(privilege))
     {
         if (enabled)
         {
             privilege2.Enable();
         }
         else
         {
             privilege2.Disable();
         }
         helper();
     }
 }
Exemplo n.º 4
0
        public static void RunWithPrivilege( string privilege, bool enabled, PrivilegedHelper helper )
        {
            if ( helper == null )
            {
                throw new ArgumentNullException( "helper" );
            }
            Contract.EndContractBlock();
            
            Privilege p = new Privilege( privilege );

            RuntimeHelpers.PrepareConstrainedRegions();

            try 
            {
                if (enabled)
                {
                    p.Enable();
                }
                else
                {
                    p.Disable();
                }

                helper();
            }
            finally
            {
                p.Revert();
            }
        }