共用方式為


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,您必須是 效能監視器 Users 群組的成員或具有系統管理許可權。

若要避免提高許可權以存取 Windows Vista 和更新版本中的性能計數器,請將您自己新增至 效能監視器 Users 群組。

在 Windows Vista (含) 以後版本中,使用者帳戶控制 (UAC) 會判斷使用者的權限。 如果您是內建 Administrators 群組的成員,系統會將兩個執行階段存取語彙基元 (Token) 指派給您:標準使用者存取語彙基元及管理員存取語彙基元。 根據預設,您會屬於標準使用者角色。 若要執行存取性能計數器的程式代碼,您必須先將許可權從標準使用者提升為系統管理員。 您可以在啟動應用程式時,以滑鼠右鍵按一下應用程式圖示,並指出您想要以系統管理員身分執行,藉此提高為系統管理員權限。

適用於

另請參閱