PerformanceCounterCategory.Exists Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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)
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)
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.