Freigeben über


PerformanceCounterCategory.Exists Methode

Definition

Bestimmt, ob die Kategorie im System registriert ist.

Überlädt

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

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 gesuchten Leistungsindikatorkategorie.

Gibt zurück

true, wenn 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.

Ohne Administratorrechte ausgeführter Code hat versucht, einen Leistungsindikator zu lesen.

Beispiele

Das folgende Codebeispiel bestimmt, ob ein PerformanceCounterCategory Objekt mit dem Namen "orders" vorhanden ist. Andernfalls wird das PerformanceCounterCategory -Objekt mithilfe eines CounterCreationDataCollection -Objekts erstellt, das zwei Leistungsindikatoren enthält.

if (  !PerformanceCounterCategory::Exists( "Orders" ) )
{
   CounterCreationData^ milk = gcnew CounterCreationData;
   milk->CounterName = "milk";
   milk->CounterType = PerformanceCounterType::NumberOfItems32;

   CounterCreationData^ milkPerSecond = gcnew CounterCreationData;
   milkPerSecond->CounterName = "milk orders/second";
   milkPerSecond->CounterType = PerformanceCounterType::RateOfCountsPerSecond32;

   CounterCreationDataCollection^ ccds = gcnew CounterCreationDataCollection;
   ccds->Add( milkPerSecond );
   ccds->Add( milk );
   PerformanceCounterCategory::Create( "Orders", "Number of processed orders", ccds );
}
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 Verfügbarkeit überprüft werden. Wenn Sie nur in einen Leistungsindikator schreiben, können Sie die globale Suche für Leistungsindikatoren vermeiden, indem Sie den Leistungsindikator erstellen, wenn die Anwendung installiert ist und die Kategorie beim Zugriff auf den Leistungsindikator vorhanden ist. Es gibt keine Möglichkeit, die Leistungsindikatorsuche beim Lesen aus Leistungsindikatoren zu vermeiden.

Hinweis

Zum Lesen von Leistungsindikatoren aus einer nicht interaktiven Anmeldesitzung in Windows Vista und höher, Windows XP Professional x64 Edition oder Windows Server 2003 müssen Sie entweder Mitglied der Gruppe Leistungsmonitor Benutzer 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 Leistungsmonitor Benutzer hinzu.

Unter Windows Vista (und höher) werden die Berechtigungen eines Benutzers von der Benutzerkontensteuerung (User Account Control, UAC) bestimmt. Als Mitglied der integrierten Administratorgruppe sind Ihnen zwei Zugriffstoken für die Laufzeit zugewiesen: ein Standardbenutzertoken und ein Administratorzugriffstoken. Standardmäßig verwenden Sie die Standardbenutzerrolle. Um den Code auszuführen, der auf Leistungsindikatoren zugreift, müssen Sie zuerst Ihre Berechtigungen vom Standardbenutzer auf den Administrator erhöhen. Dazu starten Sie eine Anwendung, indem Sie mit der rechten Maustaste auf das Anwendungssymbol klicken und angeben, dass Sie die Anwendung als Administrator ausführen möchten.

Weitere Informationen

Gilt für:

Exists(String, String)

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 gesuchten Leistungsindikatorkategorie.

machineName
String

Der Name des Computers, auf dem die Kategorie gesucht wird.

Gibt zurück

true, wenn die Kategorie registriert ist, andernfalls false.

Ausnahmen

Der categoryName-Parameter ist null.

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

- oder -

Der machineName-Parameter ist ungültig.

Fehler beim Aufruf einer zugrunde liegenden System-API.

Der Netzwerkpfad kann nicht gefunden werden.

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

- oder -

Ohne Administratorrechte ausgeführter Code 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, wird das PerformanceCounterCategory -Objekt im Beispiel mithilfe eines CounterCreationDataCollection -Objekts erstellt, das zwei Leistungsindikatoren enthält.

if (  !PerformanceCounterCategory::Exists( "Orders" ) )
{
   CounterCreationData^ milk = gcnew CounterCreationData;
   milk->CounterName = "milk";
   milk->CounterType = PerformanceCounterType::NumberOfItems32;

   CounterCreationData^ milkPerSecond = gcnew CounterCreationData;
   milkPerSecond->CounterName = "milk orders/second";
   milkPerSecond->CounterType = PerformanceCounterType::RateOfCountsPerSecond32;

   CounterCreationDataCollection^ ccds = gcnew CounterCreationDataCollection;
   ccds->Add( milkPerSecond );
   ccds->Add( milk );
   PerformanceCounterCategory::Create( "Orders", "Number of processed orders", ccds );
}
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 Verfügbarkeit überprüft werden. Wenn Sie nur in einen Leistungsindikator schreiben, können Sie die globale Suche für Leistungsindikatoren vermeiden, indem Sie den Leistungsindikator erstellen, wenn die Anwendung installiert ist und die Kategorie beim Zugriff auf den Leistungsindikator vorhanden ist. Es gibt keine Möglichkeit, die Leistungsindikatorsuche beim Lesen aus Leistungsindikatoren zu vermeiden.

Hinweis

Zum Lesen von Leistungsindikatoren aus einer nicht interaktiven Anmeldesitzung in Windows Vista und höher, Windows XP Professional x64 Edition oder Windows Server 2003 müssen Sie entweder Mitglied der Gruppe Leistungsmonitor Benutzer 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 Leistungsmonitor Benutzer hinzu.

Unter Windows Vista (und höher) werden die Berechtigungen eines Benutzers von der Benutzerkontensteuerung (User Account Control, UAC) bestimmt. Als Mitglied der integrierten Administratorgruppe sind Ihnen zwei Zugriffstoken für die Laufzeit zugewiesen: ein Standardbenutzertoken und ein Administratorzugriffstoken. Standardmäßig verwenden Sie die Standardbenutzerrolle. Um den Code auszuführen, der auf Leistungsindikatoren zugreift, müssen Sie zuerst Ihre Berechtigungen vom Standardbenutzer auf den Administrator erhöhen. Dazu starten Sie eine Anwendung, indem Sie mit der rechten Maustaste auf das Anwendungssymbol klicken und angeben, dass Sie die Anwendung als Administrator ausführen möchten.

Weitere Informationen

Gilt für: