|
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
#nullable disable
using System.Runtime.Versioning;
namespace Microsoft.DotNet.Cli.Installer.Windows;
/// <summary>
/// Encapsulates information to manage process elevation.
/// </summary>
#if NETCOREAPP
[SupportedOSPlatform("windows")]
#endif
internal abstract class ElevationContextBase
{
/// <summary>
/// Gets whether the current process has start a second, elevated copy of the host.
/// </summary>
public bool HasElevated
{
get;
protected set;
}
/// <summary>
/// <see langword="true"/> if the the current user has elevated permissions.
/// </summary>
public abstract bool IsElevated
{
get;
}
/// <summary>
/// Starts a new process with elevated privileges.
/// </summary>
public abstract void Elevate();
}
|