PerformanceCounterCategory.Exists Methode

Definition

Bestimmt, ob die Kategorie im System registriert ist.

Überlädt

Name Beschreibung
Exists(String)

Bestimmt, ob die Kategorie auf dem lokalen Computer registriert ist.

Exists(String, String)

Bestimmt, ob die Kategorie auf dem angegebenen Computer registriert ist.

Exists(String)

Quelle:
PerformanceCounterCategory.cs
Quelle:
PerformanceCounterCategory.cs
Quelle:
PerformanceCounterCategory.cs
Quelle:
PerformanceCounterCategory.cs
Quelle:
PerformanceCounterCategory.cs
Quelle:
PerformanceCounterCategory.cs
Quelle:
PerformanceCounterCategory.cs
Quelle:
PerformanceCounterCategory.cs

Bestimmt, ob die Kategorie auf dem lokalen Computer registriert ist.

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

Parameter

categoryName
String

Der Name der Kategorie des Leistungsindikators, nach der gesucht werden soll.

Gibt zurück

truewenn die Kategorie registriert ist; andernfalls . false

Ausnahmen

Der categoryName Parameter ist null.

Der categoryName Parameter ist eine leere Zeichenfolge ("").

Fehler beim Aufruf einer zugrunde liegenden System-API.

Code, der ohne Administratorrechte ausgeführt wird, hat versucht, einen Leistungsindikator zu lesen.

Beispiele

Im folgenden Codebeispiel wird ermittelt, ob ein PerformanceCounterCategory Objekt mit dem Namen "orders" vorhanden ist. Wenn nicht, wird das PerformanceCounterCategory Objekt mithilfe eines CounterCreationDataCollection Objekts erstellt, das zwei Leistungsindikatoren enthält.

if (!PerformanceCounterCategory.Exists("Orders"))
{
    CounterCreationData milk = new CounterCreationData();
    milk.CounterName = "milk";
    milk.CounterType = PerformanceCounterType.NumberOfItems32;

    CounterCreationData milkPerSecond = new CounterCreationData();
    milkPerSecond.CounterName = "milk orders/second";
    milkPerSecond.CounterType = PerformanceCounterType.RateOfCountsPerSecond32;

    CounterCreationDataCollection ccds = new CounterCreationDataCollection();
    ccds.Add(milkPerSecond);
    ccds.Add(milk);

    PerformanceCounterCategory.Create("Orders", "Number of processed orders",
        PerformanceCounterCategoryType.SingleInstance, ccds);
}
If Not PerformanceCounterCategory.Exists("Orders") Then        
    Dim milk As New CounterCreationData()
    milk.CounterName = "milk"
    milk.CounterType = PerformanceCounterType.NumberOfItems32
    
    Dim milkPerSecond As New CounterCreationData()
    milkPerSecond.CounterName = "milk orders/second"
    milkPerSecond.CounterType = PerformanceCounterType.RateOfCountsPerSecond32
    
    Dim ccds As New CounterCreationDataCollection()
    ccds.Add(milkPerSecond)
    ccds.Add(milk)
    
    PerformanceCounterCategory.Create("Orders", "Number of processed orders", _
           PerformanceCounterCategoryType.SingleInstance, ccds)
End If

Hinweise

Die Verwendung der Exists Methode kann zu einer spürbaren Leistungseinbuße führen, während alle Leistungsindikatoren auf dem Computer auf die Verfügbarkeit überprüft werden. Wenn Sie nur in einen Leistungsindikator schreiben, können Sie die globale Suche nach Leistungsindikatoren vermeiden, indem Sie den Leistungsindikator beim Installieren der Anwendung erstellen und davon ausgehen, dass die Kategorie beim Zugriff auf den Leistungsindikator vorhanden ist. Es gibt keine Möglichkeit, die Leistungsindikatorsuche beim Lesen von Leistungsindikatoren zu vermeiden.

Note

Um Leistungsindikatoren aus einer nicht interaktiven Anmeldesitzung in Windows Vista und höher, Windows XP Professional x64 Edition oder Windows Server 2003 zu lesen, müssen Sie entweder Mitglied der Gruppe "Benutzer der Leistungsüberwachung" sein oder über Administratorrechte verfügen.

Um zu vermeiden, dass Sie Ihre Berechtigungen für den Zugriff auf Leistungsindikatoren in Windows Vista und höher erhöhen müssen, fügen Sie sich der Gruppe "Benutzer der Leistungsüberwachung" hinzu.

In Windows Vista und höher bestimmt die Benutzerkontensteuerung (User Account Control, UAC) die Berechtigungen eines Benutzers. Wenn Sie Mitglied der Gruppe "Integrierte Administratoren" sind, werden Ihnen zwei Laufzeitzugriffstoken zugewiesen: ein Standardbenutzerzugriffstoken und ein Administratorzugriffstoken. Standardmäßig befinden Sie sich in der Standardbenutzerrolle. Um den Code auszuführen, der auf Leistungsindikatoren zugreift, müssen Sie zuerst Ihre Berechtigungen vom Standardbenutzer zum Administrator erhöhen. Sie können dies tun, wenn Sie eine Anwendung starten, indem Sie mit der rechten Maustaste auf das Anwendungssymbol klicken und angeben, dass Sie als Administrator ausführen möchten.

Weitere Informationen

Gilt für:

Exists(String, String)

Quelle:
PerformanceCounterCategory.cs
Quelle:
PerformanceCounterCategory.cs
Quelle:
PerformanceCounterCategory.cs
Quelle:
PerformanceCounterCategory.cs
Quelle:
PerformanceCounterCategory.cs
Quelle:
PerformanceCounterCategory.cs
Quelle:
PerformanceCounterCategory.cs
Quelle:
PerformanceCounterCategory.cs

Bestimmt, ob die Kategorie auf dem angegebenen Computer registriert ist.

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

Parameter

categoryName
String

Der Name der Kategorie des Leistungsindikators, nach der gesucht werden soll.

machineName
String

Der Name des Computers, der für die Kategorie untersucht werden soll.

Gibt zurück

truewenn die Kategorie registriert ist; andernfalls . false

Ausnahmen

Der categoryName Parameter ist null.

Der categoryName Parameter ist eine leere Zeichenfolge ("").

-oder-

Der parameter machineName ist ungültig.

Fehler beim Aufruf einer zugrunde liegenden System-API.

Der Netzwerkpfad wurde nicht gefunden.

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.

-oder-

Code, der ohne Administratorrechte ausgeführt wird, hat versucht, einen Leistungsindikator zu lesen.

Beispiele

Im folgenden Beispiel wird ermittelt, ob ein PerformanceCounterCategory Objekt mit dem Namen Orders vorhanden ist. Wenn es nicht vorhanden ist, erstellt das Beispiel das PerformanceCounterCategory Objekt mithilfe eines CounterCreationDataCollection Objekts, das zwei Leistungsindikatoren enthält.

if (!PerformanceCounterCategory.Exists("Orders"))
{
    CounterCreationData milk = new CounterCreationData();
    milk.CounterName = "milk";
    milk.CounterType = PerformanceCounterType.NumberOfItems32;

    CounterCreationData milkPerSecond = new CounterCreationData();
    milkPerSecond.CounterName = "milk orders/second";
    milkPerSecond.CounterType = PerformanceCounterType.RateOfCountsPerSecond32;

    CounterCreationDataCollection ccds = new CounterCreationDataCollection();
    ccds.Add(milkPerSecond);
    ccds.Add(milk);

    PerformanceCounterCategory.Create("Orders", "Number of processed orders",
        PerformanceCounterCategoryType.SingleInstance, ccds);
}
If Not PerformanceCounterCategory.Exists("Orders") Then        
    Dim milk As New CounterCreationData()
    milk.CounterName = "milk"
    milk.CounterType = PerformanceCounterType.NumberOfItems32
    
    Dim milkPerSecond As New CounterCreationData()
    milkPerSecond.CounterName = "milk orders/second"
    milkPerSecond.CounterType = PerformanceCounterType.RateOfCountsPerSecond32
    
    Dim ccds As New CounterCreationDataCollection()
    ccds.Add(milkPerSecond)
    ccds.Add(milk)
    
    PerformanceCounterCategory.Create("Orders", "Number of processed orders", _
           PerformanceCounterCategoryType.SingleInstance, ccds)
End If

Hinweise

Die Verwendung der Exists Methode kann zu einer spürbaren Leistungseinbuße führen, während alle Leistungsindikatoren auf dem Computer auf die Verfügbarkeit überprüft werden. Wenn Sie nur in einen Leistungsindikator schreiben, können Sie die globale Suche nach Leistungsindikatoren vermeiden, indem Sie den Leistungsindikator beim Installieren der Anwendung erstellen und davon ausgehen, dass die Kategorie beim Zugriff auf den Leistungsindikator vorhanden ist. Es gibt keine Möglichkeit, die Leistungsindikatorsuche beim Lesen von Leistungsindikatoren zu vermeiden.

Note

Um Leistungsindikatoren aus einer nicht interaktiven Anmeldesitzung in Windows Vista und höher, Windows XP Professional x64 Edition oder Windows Server 2003 zu lesen, müssen Sie entweder Mitglied der Gruppe "Benutzer der Leistungsüberwachung" sein oder über Administratorrechte verfügen.

Um zu vermeiden, dass Sie Ihre Berechtigungen für den Zugriff auf Leistungsindikatoren in Windows Vista und höher erhöhen müssen, fügen Sie sich der Gruppe "Benutzer der Leistungsüberwachung" hinzu.

In Windows Vista und höher bestimmt die Benutzerkontensteuerung (User Account Control, UAC) die Berechtigungen eines Benutzers. Wenn Sie Mitglied der Gruppe "Integrierte Administratoren" sind, werden Ihnen zwei Laufzeitzugriffstoken zugewiesen: ein Standardbenutzerzugriffstoken und ein Administratorzugriffstoken. Standardmäßig befinden Sie sich in der Standardbenutzerrolle. Um den Code auszuführen, der auf Leistungsindikatoren zugreift, müssen Sie zuerst Ihre Berechtigungen vom Standardbenutzer zum Administrator erhöhen. Sie können dies tun, wenn Sie eine Anwendung starten, indem Sie mit der rechten Maustaste auf das Anwendungssymbol klicken und angeben, dass Sie als Administrator ausführen möchten.

Weitere Informationen

Gilt für: