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
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 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)
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.