PerformanceCounterCategory.Delete(String) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
从本地计算机移除类别及其关联的计数器。
public:
static void Delete(System::String ^ categoryName);
public static void Delete (string categoryName);
static member Delete : string -> unit
Public Shared Sub Delete (categoryName As String)
参数
- categoryName
- String
要删除的自定义性能计数器类别的名称。
例外
categoryName
参数为 null
。
categoryName
参数的语法无效。 它可能包含反斜杠字符 (“\”) 或长度大于 80 个字符。
对基础系统 API 的调用失败。
不能删除该类别,因为它不是自定义类别。
以不具有管理特权的用户身份正在执行的代码尝试读取性能计数器。
示例
下面的代码示例使用 Delete 方法删除 PerformanceCounterCategory 及其 PerformanceCounter 包含的对象。
public static void Main(string[] args)
{
string categoryName = "";
// Copy the supplied argument into the local variable.
try
{
categoryName = args[0];
}
catch (Exception ex)
{
Console.WriteLine("Missing argument identifying category to be deleted.");
}
// Delete the specified category.
try
{
if (PerformanceCounterCategory.Exists(categoryName))
{
PerformanceCounterCategory.Delete(categoryName);
Console.WriteLine("Category \"{0}\" deleted from this computer.", categoryName);
}
else
{
Console.WriteLine("Category name not found");
}
}
catch (Exception ex)
{
Console.WriteLine("Unable to delete " +
"category \"{0}\" from this computer:" + "\n" + ex.Message, categoryName);
}
}
Sub Main(ByVal args() As String)
Dim categoryName As String = ""
' Copy the supplied argument into the local variable.
Try
categoryName = args(0)
Catch ex As Exception
Console.WriteLine("Missing argument identifying category to be deleted.")
End Try
' Delete the specified category.
Try
If (PerformanceCounterCategory.Exists(categoryName)) Then
PerformanceCounterCategory.Delete(categoryName)
Console.WriteLine( _
"Category ""{0}"" deleted from this computer.", categoryName)
Else
Console.WriteLine("Category name not found")
End If
Catch ex As Exception
Console.WriteLine("Unable to delete " & _
"category ""{0}"" from this computer:" & vbCrLf & _
ex.Message, categoryName)
End Try
End Sub
注解
只能从系统中删除自定义性能计数器类别。 不能从类别中删除计数器。 为此,请删除类别,并使用要保留的计数器重新创建类别。 若要避免异常,请在尝试删除该类别之前确认该类别存在。
注意
若要从 Windows Vista 及更高版本、Windows XP Professional x64 Edition 或 Windows Server 2003 中的非交互式登录会话读取性能计数器,你必须是 性能监视器 用户组的成员或具有管理权限。
若要避免在 Windows Vista 及更高版本中提升访问性能计数器的权限,请将自己添加到 性能监视器 用户组。
在 Windows Vista 或更高版本中,用户帐户控制 (UAC) 决定用户的特权。 如果您是内置的 Administrators 组的成员,将为您分配两个运行时访问令牌:一个标准用户访问令牌和一个管理员访问令牌。 默认情况下,您拥有标准用户角色。 若要执行访问性能计数器的代码,必须先将权限从标准用户提升为管理员。 你可以通过以下方式执行此操作:右键单击应用程序图标并指示需以管理员身份运行。