PerformanceCounterCategory.Exists Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Určuje, zda je kategorie zaregistrována v systému.
Přetížení
| Name | Description |
|---|---|
| Exists(String) |
Určuje, zda je kategorie registrována v místním počítači. |
| Exists(String, String) |
Určuje, zda je kategorie zaregistrována v zadaném počítači. |
Exists(String)
Určuje, zda je kategorie registrována v místním počítači.
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
Parametry
- categoryName
- String
Název kategorie čítače výkonu, který chcete vyhledat.
Návraty
trueje-li kategorie registrována; v opačném případě . false
Výjimky
Parametr categoryName je null.
Parametr categoryName je prázdný řetězec ("").
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 PerformanceCounterCategory existuje objekt s názvem "orders". Pokud ne, vytvoří PerformanceCounterCategory objekt pomocí objektu CounterCreationDataCollection , který obsahuje dva čítače výkonu.
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
Poznámky
Exists Použití metody může vést k výraznému snížení výkonu, zatímco se kontrolují dostupnost všech čítačů výkonu na počítači. Pokud píšete jenom na čítač výkonu, můžete se vyhnout globálnímu vyhledávání čítačů výkonu vytvořením čítače výkonu při instalaci aplikace a za předpokladu, že při přístupu k čítači existuje kategorie. Neexistuje způsob, jak se vyhnout vyhledávání čítačů výkonu při čtení z čítačů výkonu.
Note
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
Exists(String, String)
Určuje, zda je kategorie zaregistrována v zadaném počítači.
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
Parametry
- categoryName
- String
Název kategorie čítače výkonu, který chcete vyhledat.
- machineName
- String
Název počítače, který chcete zkontrolovat kategorii.
Návraty
trueje-li kategorie registrována; v opačném případě . false
Výjimky
Parametr categoryName je null.
Parametr categoryName je prázdný řetězec ("").
nebo
Parametr machineName je neplatný.
Volání základního systémového rozhraní API selhalo.
Síťovou cestu nelze najít.
Volající nemá požadované oprávnění.
nebo
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 určuje, zda existuje objekt s PerformanceCounterCategory názvem Orders . Pokud neexistuje, příklad vytvoří PerformanceCounterCategory objekt pomocí objektu CounterCreationDataCollection , který obsahuje dva čítače výkonu.
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
Poznámky
Exists Použití metody může vést k výraznému snížení výkonu, zatímco se kontrolují dostupnost všech čítačů výkonu na počítači. Pokud píšete jenom na čítač výkonu, můžete se vyhnout globálnímu vyhledávání čítačů výkonu vytvořením čítače výkonu při instalaci aplikace a za předpokladu, že při přístupu k čítači existuje kategorie. Neexistuje způsob, jak se vyhnout vyhledávání čítačů výkonu při čtení z čítačů výkonu.
Note
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.