PerformanceCounterCategory.Delete(String) Метод

Определение

Удаляет категорию и связанные с ней счетчики с локального компьютера.

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 и более поздних версиях права доступа пользователя определяются контролем учетных записей. Члену встроенной группы "Администраторы" присваивается два маркера доступа на время выполнения: маркер доступа обычного пользователя и маркер доступа администратора. По умолчанию назначена роль обычного пользователя. Чтобы выполнить код, который обращается к счетчикам производительности, необходимо сначала повысить привилегии от обычного пользователя до администратора. Это можно сделать при запуске приложения, , щелкнув значок приложения правой кнопкой мыши и указав, что приложение должно запускаться от имени администратора.

Применяется к

См. также раздел