Sdílet prostřednictvím


PerformanceCounterCategory.Exists Metoda

Definice

Určuje, zda je kategorie registrována v systému.

Přetížení

Exists(String)

Určuje, zda je kategorie registrována v místním počítači.

Exists(String, String)

Určuje, zda je kategorie registrována v zadaném počítači.

Exists(String)

Zdroj:
PerformanceCounterCategory.cs
Zdroj:
PerformanceCounterCategory.cs
Zdroj:
PerformanceCounterCategory.cs

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á se má hledat.

Návraty

truepokud je kategorie zaregistrová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 rozhraní API systému se nezdařilo.

Kód, který se spouští bez oprávnění správce, se pokusil načí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 = 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

Poznámky

Exists Použití metody může vést ke znatelnému snížení výkonu, zatímco se kontroluje dostupnost všech čítačů výkonu na počítači. Pokud píšete pouze do čítače výkonu, můžete se vyhnout globální vyhledávání pro čítače výkonu vytvořením čítače výkonu při instalaci aplikace a za předpokladu, že kategorie existuje při přístupu k čítači. Při čtení z čítačů výkonu neexistuje žádný způsob, jak se vyhnout hledání čítačů výkonu.

Poznámka

Chcete-li číst čítače výkonu z neinteraktivní přihlašovací relace v systému Windows Vista a novějších, Windows XP Professional x64 Edition nebo Windows Server 2003, musíte být členem skupiny Sledování výkonu Users nebo mít oprávnění správce.

Abyste nemuseli zvýšit svá oprávnění pro přístup k čítačům výkonu v systému Windows Vista a novějších verzích, přidejte sami sebe do skupiny Sledování výkonu Users.

Nástroj Řízení uživatelských účtů (UAC) v systému Windows Vista a novějším určuje oprávnění uživatele. Pokud jste členem předdefinované skupiny Administrators, máte přiřazeny dva přístupové tokeny run-time: token přístupu uživatele se standardním oprávněním a token přístupu správce. Ve výchozím nastavení máte roli standardního uživatele. Pokud chcete spustit kód, který přistupuje k čítačům výkonu, musíte nejprve zvýšit oprávnění ze standardního uživatele na správce. Můžete to udělat při spuštění aplikace tak, že kliknete pravým tlačítkem myši na ikonu aplikace a označíte, že chcete aplikaci spustit jako správce.

Viz také

Platí pro

Exists(String, String)

Zdroj:
PerformanceCounterCategory.cs
Zdroj:
PerformanceCounterCategory.cs
Zdroj:
PerformanceCounterCategory.cs

Určuje, zda je kategorie registrová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á se má hledat.

machineName
String

Název počítače, který se má zkontrolovat pro kategorii.

Návraty

truepokud je kategorie zaregistrová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 rozhraní API systému se nezdařilo.

Síťová cesta nebyla nalezena.

Volající nemá požadované oprávnění.

-nebo-

Kód, který se spouští bez oprávnění správce, se pokusil načíst čítač výkonu.

Příklady

Následující příklad určuje, zda PerformanceCounterCategory existuje objekt s názvem Orders . Pokud neexistuje, vytvoří PerformanceCounterCategory příklad objekt pomocí objektu CounterCreationDataCollection , který obsahuje dva čítače výkonu.

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

Poznámky

Exists Použití metody může vést ke znatelnému snížení výkonu, zatímco se kontroluje dostupnost všech čítačů výkonu na počítači. Pokud píšete pouze do čítače výkonu, můžete se vyhnout globální vyhledávání pro čítače výkonu vytvořením čítače výkonu při instalaci aplikace a za předpokladu, že kategorie existuje při přístupu k čítači. Při čtení z čítačů výkonu neexistuje žádný způsob, jak se vyhnout hledání čítačů výkonu.

Poznámka

Chcete-li číst čítače výkonu z neinteraktivní přihlašovací relace v systému Windows Vista a novějších, Windows XP Professional x64 Edition nebo Windows Server 2003, musíte být členem skupiny Sledování výkonu Users nebo mít oprávnění správce.

Abyste nemuseli zvýšit svá oprávnění pro přístup k čítačům výkonu v systému Windows Vista a novějších verzích, přidejte sami sebe do skupiny Sledování výkonu Users.

Nástroj Řízení uživatelských účtů (UAC) v systému Windows Vista a novějším určuje oprávnění uživatele. Pokud jste členem předdefinované skupiny Administrators, máte přiřazeny dva přístupové tokeny run-time: token přístupu uživatele se standardním oprávněním a token přístupu správce. Ve výchozím nastavení máte roli standardního uživatele. Pokud chcete spustit kód, který přistupuje k čítačům výkonu, musíte nejprve zvýšit oprávnění ze standardního uživatele na správce. Můžete to udělat při spuštění aplikace tak, že kliknete pravým tlačítkem myši na ikonu aplikace a označíte, že chcete aplikaci spustit jako správce.

Viz také

Platí pro