Sdílet prostřednictvím


PerformanceCounterCategory.CounterExists Metoda

Definice

Určuje, zda je zadaný čítač registrován do konkrétní kategorie.

Přetížení

Name Description
CounterExists(String)

Určuje, zda je zadaný čítač registrován v této kategorii, která je označena CategoryName vlastnostmi a MachineName vlastnostmi.

CounterExists(String, String)

Určuje, zda je zadaný čítač registrován do zadané kategorie v místním počítači.

CounterExists(String, String, String)

Určuje, zda je zadaný čítač registrován do zadané kategorie ve vzdáleném počítači.

CounterExists(String)

Zdroj:
PerformanceCounterCategory.cs
Zdroj:
PerformanceCounterCategory.cs
Zdroj:
PerformanceCounterCategory.cs
Zdroj:
PerformanceCounterCategory.cs
Zdroj:
PerformanceCounterCategory.cs
Zdroj:
PerformanceCounterCategory.cs
Zdroj:
PerformanceCounterCategory.cs
Zdroj:
PerformanceCounterCategory.cs

Určuje, zda je zadaný čítač registrován v této kategorii, která je označena CategoryName vlastnostmi a MachineName vlastnostmi.

public:
 bool CounterExists(System::String ^ counterName);
public bool CounterExists(string counterName);
member this.CounterExists : string -> bool
Public Function CounterExists (counterName As String) As Boolean

Parametry

counterName
String

Název čítače výkonu, který chcete vyhledat.

Návraty

true je-li čítač registrován do kategorie, která je určena vlastnostmi CategoryName a MachineName vlastnostmi; falsev opačném případě .

Výjimky

To counterName je null.

Vlastnost CategoryName nebyla nastavena.

Volání základního systémového rozhraní API selhalo.

Kód, který se spouští bez oprávnění správce, se pokusil přečíst čítač výkonu.

Příklady

Následující příklad kódu určuje, zda PerformanceCounter existuje. Získá název kategorie, název čítače a název počítače z příkazového řádku, pokud jsou zadané. PerformanceCounterCategory Vytvoří objekt pomocí příslušného PerformanceCounterCategoryobjektu . Pak použije metodu CounterExists(String) k určení, zda zadaný PerformanceCounter existuje, a informuje uživatele.

public static void Main(string[] args)
{
    string categoryName = "";
    string counterName = "";
    string machineName = "";
    bool objectExists = false;
    PerformanceCounterCategory pcc;

    // Copy the supplied arguments into the local variables.
    try
    {
        categoryName = args[0];
        counterName = args[1];
        machineName = (args[2]=="."? "": args[2]);
    }
    catch(Exception ex)
    {
        // Ignore the exception from non-supplied arguments.
    }

    try
    {
        if (machineName.Length==0)
        {
            pcc = new PerformanceCounterCategory(categoryName);
        }
        else
        {
            pcc = new PerformanceCounterCategory(categoryName, machineName);
        }

        // Check whether the specified counter exists.
        // Use the per-instance overload of CounterExists.
        objectExists = pcc.CounterExists(counterName);
    }
    catch(Exception ex)
    {
        Console.WriteLine("Unable to check for the existence of " +
            "counter \"{0}\" in category \"{1}\" on "+
            (machineName.Length>0? "computer \"{2}\".": "this computer.")+ "\n" +
            ex.Message, counterName, categoryName, machineName);
        return;
    }

    // Tell the user whether the counter exists.
    Console.WriteLine("Counter \"{0}\" " + (objectExists? "exists": "does not exist") +
        " in category \"{1}\" on " + (machineName.Length>0? "computer \"{2}\".": "this computer."),
        counterName, pcc.CategoryName, pcc.MachineName);
}
Sub Main(ByVal args() As String)
    Dim categoryName As String = ""
    Dim counterName As String = ""
    Dim machineName As String = ""
    Dim objectExists As Boolean = False
    Dim pcc As PerformanceCounterCategory

    ' Copy the supplied arguments into the local variables.
    Try
        categoryName = args(0)
        counterName = args(1)
        machineName = IIf(args(2) = ".", "", args(2))
    Catch ex As Exception
        ' Ignore the exception from non-supplied arguments.
    End Try

    Try
        If machineName.Length = 0 Then
            pcc = New PerformanceCounterCategory(categoryName)
        Else
            pcc = New PerformanceCounterCategory(categoryName, machineName)
        End If

        ' Check whether the specified counter exists.
        ' Use the per-instance overload of CounterExists.
        objectExists = pcc.CounterExists(counterName)

    Catch ex As Exception
        Console.WriteLine("Unable to check for the existence of " & _
            "counter ""{0}"" in category ""{1}"" on " & _
            IIf(machineName.Length > 0, _
            "computer ""{2}"".", "this computer.") & vbCrLf & _
            ex.Message, counterName, categoryName, machineName)
        Return
    End Try

    ' Tell the user whether the counter exists.
    Console.WriteLine("Counter ""{0}"" " & _
        IIf(objectExists, "exists", "does not exist") & _
        " in category ""{1}"" on " & _
        IIf(machineName.Length > 0, _
            "computer ""{2}"".", "this computer."), _
        counterName, pcc.CategoryName, pcc.MachineName)
End Sub

Poznámky

Před voláním CategoryName této metody je nutné nastavit vlastnost. V opačném případě je vyvolána výjimka.

Pokud jste vlastnost nenastavili MachineName , tato metoda používá místní počítač (".").

Poznámka:

Chcete-li číst čítače výkonu z neinteraktivní přihlašovací relace v systémech Windows Vista a novějších, Windows XP Professional x64 Edition nebo Windows Server 2003, musíte být členem skupiny Uživatelé sledování výkonu nebo mít oprávnění správce.

Abyste se vyhnuli zvýšení oprávnění pro přístup k čítačům výkonu v systému Windows Vista a novějším, přidejte se do skupiny Uživatelé sledování výkonu.

V systému Windows Vista a novějších určuje řízení uživatelských účtů (UAC) oprávnění uživatele. Pokud jste členem předdefinované skupiny Administrators, máte přiřazené dva přístupové tokeny za běhu: standardní přístupový token uživatele a přístupový token správce. Ve výchozím nastavení jste ve standardní roli uživatele. Pokud chcete spustit kód, který přistupuje k čítačům výkonu, musíte nejprve zvýšit oprávnění od standardního uživatele na správce. Můžete to udělat, když spustíte aplikaci tak, že kliknete pravým tlačítkem myši na ikonu aplikace a označíte, že chcete spustit jako správce.

Viz také

Platí pro

CounterExists(String, String)

Zdroj:
PerformanceCounterCategory.cs
Zdroj:
PerformanceCounterCategory.cs
Zdroj:
PerformanceCounterCategory.cs
Zdroj:
PerformanceCounterCategory.cs
Zdroj:
PerformanceCounterCategory.cs
Zdroj:
PerformanceCounterCategory.cs
Zdroj:
PerformanceCounterCategory.cs
Zdroj:
PerformanceCounterCategory.cs

Určuje, zda je zadaný čítač registrován do zadané kategorie v místním počítači.

public:
 static bool CounterExists(System::String ^ counterName, System::String ^ categoryName);
public static bool CounterExists(string counterName, string categoryName);
static member CounterExists : string * string -> bool
Public Shared Function CounterExists (counterName As String, categoryName As String) As Boolean

Parametry

counterName
String

Název čítače výkonu, který chcete vyhledat.

categoryName
String

Název kategorie čítače výkonu nebo objektu výkonu, ke kterému je přidružený zadaný čítač výkonu.

Návraty

true, je-li čítač registrován do zadané kategorie v místním počítači; v opačném případě . false

Výjimky

To categoryName je null.

nebo

To counterName je null.

Jedná se categoryName o prázdný řetězec ("").

Název kategorie neexistuje.

Volání základního systémového rozhraní API selhalo.

Kód, který se spouští bez oprávnění správce, se pokusil přečíst čítač výkonu.

Příklady

Následující příklad kódu určuje, zda PerformanceCounter existuje. Získá název kategorie, název čítače a název počítače z příkazového řádku, pokud jsou zadané. Používá statické přetížení CounterExists metody k určení, zda zadaný PerformanceCounter název existuje v PerformanceCounterCategorysouboru . Přetížení je vybráno na základě toho, zda je zadaný název počítače.

public static void Main(string[] args)
{
    string categoryName = "";
    string counterName = "";
    string machineName = "";
    bool objectExists = false;

    // Copy the supplied arguments into the local variables.
    try
    {
        categoryName = args[0];
        counterName = args[1];
        machineName = args[2]=="."? "": args[2];
    }
    catch(Exception ex)
    {
        // Ignore the exception from non-supplied arguments.
    }

    try
    {
        // Check whether the specified counter exists.
        // Use the static forms of the CounterExists method.
        if (machineName.Length==0)
        {
            objectExists = PerformanceCounterCategory.CounterExists(counterName, categoryName);
        }
        else
        {
            objectExists = PerformanceCounterCategory.CounterExists(counterName, categoryName, machineName);
        }
    }
    catch(Exception ex)
    {
        Console.WriteLine("Unable to check for the existence of " +
            "counter \"{0}\" in category \"{1}\" on " +
            (machineName.Length>0? "computer \"{2}\".": "this computer.") + "\n" +
            ex.Message, counterName, categoryName, machineName);
        return;
    }

    // Tell the user whether the counter exists.
    Console.WriteLine("Counter \"{0}\" "+ (objectExists? "exists": "does not exist") +
        " in category \"{1}\" on " + (machineName.Length>0? "computer \"{2}\".": "this computer."),
        counterName, categoryName, machineName);
}
Sub Main(ByVal args() As String)
    Dim categoryName As String = ""
    Dim counterName As String = ""
    Dim machineName As String = ""
    Dim objectExists As Boolean = False

    ' Copy the supplied arguments into the local variables.
    Try
        categoryName = args(0)
        counterName = args(1)
        machineName = IIf(args(2) = ".", "", args(2))
    Catch ex As Exception
        ' Ignore the exception from non-supplied arguments.
    End Try

    Try
        ' Check whether the specified counter exists.
        ' Use the static forms of the CounterExists method.
        If machineName.Length = 0 Then
            objectExists = PerformanceCounterCategory.CounterExists( _
                counterName, categoryName)
        Else
            objectExists = PerformanceCounterCategory.CounterExists( _
                counterName, categoryName, machineName)
        End If

    Catch ex As Exception
        Console.WriteLine("Unable to check for the existence of " & _
            "counter ""{0}"" in category ""{1}"" on " & _
            IIf(machineName.Length > 0, _
            "computer ""{2}"".", "this computer.") & vbCrLf & _
            ex.Message, counterName, categoryName, machineName)
        Return
    End Try

    ' Tell the user whether the counter exists.
    Console.WriteLine("Counter ""{0}"" " & _
        IIf(objectExists, "exists", "does not exist") & _
        " in category ""{1}"" on " & _
        IIf(machineName.Length > 0, _
            "computer ""{2}"".", "this computer."), _
        counterName, categoryName, machineName)
End Sub

Poznámky

Poznámka:

Chcete-li číst čítače výkonu z neinteraktivní přihlašovací relace v systémech Windows Vista a novějších, Windows XP Professional x64 Edition nebo Windows Server 2003, musíte být členem skupiny Uživatelé sledování výkonu nebo mít oprávnění správce.

Abyste se vyhnuli zvýšení oprávnění pro přístup k čítačům výkonu v systému Windows Vista a novějším, přidejte se do skupiny Uživatelé sledování výkonu.

V systému Windows Vista a novějších určuje řízení uživatelských účtů (UAC) oprávnění uživatele. Pokud jste členem předdefinované skupiny Administrators, máte přiřazené dva přístupové tokeny za běhu: standardní přístupový token uživatele a přístupový token správce. Ve výchozím nastavení jste ve standardní roli uživatele. Pokud chcete spustit kód, který přistupuje k čítačům výkonu, musíte nejprve zvýšit oprávnění od standardního uživatele na správce. Můžete to udělat, když spustíte aplikaci tak, že kliknete pravým tlačítkem myši na ikonu aplikace a označíte, že chcete spustit jako správce.

Viz také

Platí pro

CounterExists(String, String, String)

Zdroj:
PerformanceCounterCategory.cs
Zdroj:
PerformanceCounterCategory.cs
Zdroj:
PerformanceCounterCategory.cs
Zdroj:
PerformanceCounterCategory.cs
Zdroj:
PerformanceCounterCategory.cs
Zdroj:
PerformanceCounterCategory.cs
Zdroj:
PerformanceCounterCategory.cs
Zdroj:
PerformanceCounterCategory.cs

Určuje, zda je zadaný čítač registrován do zadané kategorie ve vzdáleném počítači.

public:
 static bool CounterExists(System::String ^ counterName, System::String ^ categoryName, System::String ^ machineName);
public static bool CounterExists(string counterName, string categoryName, string machineName);
static member CounterExists : string * string * string -> bool
Public Shared Function CounterExists (counterName As String, categoryName As String, machineName As String) As Boolean

Parametry

counterName
String

Název čítače výkonu, který chcete vyhledat.

categoryName
String

Název kategorie čítače výkonu nebo objektu výkonu, ke kterému je přidružený zadaný čítač výkonu.

machineName
String

Název počítače, na kterém existuje kategorie čítače výkonu a přidružené čítače.

Návraty

true, je-li čítač registrován do zadané kategorie v zadaném počítači; v opačném případě . false

Výjimky

To categoryName je null.

nebo

To counterName je null.

Jedná se categoryName o prázdný řetězec ("").

nebo

Hodnota machineName je neplatná.

Název kategorie neexistuje.

Volání základního systémového rozhraní API selhalo.

Kód, který se spouští bez oprávnění správce, se pokusil přečíst čítač výkonu.

Příklady

Následující příklad kódu určuje, zda PerformanceCounter existuje. Získá název kategorie, název čítače a název počítače z příkazového řádku, pokud jsou zadané. Používá statické přetížení CounterExists metody k určení, zda zadaný PerformanceCounter název existuje v PerformanceCounterCategorysouboru . Přetížení je vybráno na základě toho, zda je zadaný název počítače.

public static void Main(string[] args)
{
    string categoryName = "";
    string counterName = "";
    string machineName = "";
    bool objectExists = false;

    // Copy the supplied arguments into the local variables.
    try
    {
        categoryName = args[0];
        counterName = args[1];
        machineName = args[2]=="."? "": args[2];
    }
    catch(Exception ex)
    {
        // Ignore the exception from non-supplied arguments.
    }

    try
    {
        // Check whether the specified counter exists.
        // Use the static forms of the CounterExists method.
        if (machineName.Length==0)
        {
            objectExists = PerformanceCounterCategory.CounterExists(counterName, categoryName);
        }
        else
        {
            objectExists = PerformanceCounterCategory.CounterExists(counterName, categoryName, machineName);
        }
    }
    catch(Exception ex)
    {
        Console.WriteLine("Unable to check for the existence of " +
            "counter \"{0}\" in category \"{1}\" on " +
            (machineName.Length>0? "computer \"{2}\".": "this computer.") + "\n" +
            ex.Message, counterName, categoryName, machineName);
        return;
    }

    // Tell the user whether the counter exists.
    Console.WriteLine("Counter \"{0}\" "+ (objectExists? "exists": "does not exist") +
        " in category \"{1}\" on " + (machineName.Length>0? "computer \"{2}\".": "this computer."),
        counterName, categoryName, machineName);
}
Sub Main(ByVal args() As String)
    Dim categoryName As String = ""
    Dim counterName As String = ""
    Dim machineName As String = ""
    Dim objectExists As Boolean = False

    ' Copy the supplied arguments into the local variables.
    Try
        categoryName = args(0)
        counterName = args(1)
        machineName = IIf(args(2) = ".", "", args(2))
    Catch ex As Exception
        ' Ignore the exception from non-supplied arguments.
    End Try

    Try
        ' Check whether the specified counter exists.
        ' Use the static forms of the CounterExists method.
        If machineName.Length = 0 Then
            objectExists = PerformanceCounterCategory.CounterExists( _
                counterName, categoryName)
        Else
            objectExists = PerformanceCounterCategory.CounterExists( _
                counterName, categoryName, machineName)
        End If

    Catch ex As Exception
        Console.WriteLine("Unable to check for the existence of " & _
            "counter ""{0}"" in category ""{1}"" on " & _
            IIf(machineName.Length > 0, _
            "computer ""{2}"".", "this computer.") & vbCrLf & _
            ex.Message, counterName, categoryName, machineName)
        Return
    End Try

    ' Tell the user whether the counter exists.
    Console.WriteLine("Counter ""{0}"" " & _
        IIf(objectExists, "exists", "does not exist") & _
        " in category ""{1}"" on " & _
        IIf(machineName.Length > 0, _
            "computer ""{2}"".", "this computer."), _
        counterName, categoryName, machineName)
End Sub

Poznámky

Poznámka:

Chcete-li číst čítače výkonu z neinteraktivní přihlašovací relace v systémech Windows Vista a novějších, Windows XP Professional x64 Edition nebo Windows Server 2003, musíte být členem skupiny Uživatelé sledování výkonu nebo mít oprávnění správce.

Abyste se vyhnuli zvýšení oprávnění pro přístup k čítačům výkonu v systému Windows Vista a novějším, přidejte se do skupiny Uživatelé sledování výkonu.

V systému Windows Vista a novějších určuje řízení uživatelských účtů (UAC) oprávnění uživatele. Pokud jste členem předdefinované skupiny Administrators, máte přiřazené dva přístupové tokeny za běhu: standardní přístupový token uživatele a přístupový token správce. Ve výchozím nastavení jste ve standardní roli uživatele. Pokud chcete spustit kód, který přistupuje k čítačům výkonu, musíte nejprve zvýšit oprávnění od standardního uživatele na správce. Můžete to udělat, když spustíte aplikaci tak, že kliknete pravým tlačítkem myši na ikonu aplikace a označíte, že chcete spustit jako správce.

Viz také

Platí pro