PerformanceCounterCategory.Exists Metod

Definition

Avgör om kategorin är registrerad i systemet.

Överlagringar

Name Description
Exists(String)

Avgör om kategorin är registrerad på den lokala datorn.

Exists(String, String)

Avgör om kategorin är registrerad på den angivna datorn.

Exists(String)

Källa:
PerformanceCounterCategory.cs
Källa:
PerformanceCounterCategory.cs
Källa:
PerformanceCounterCategory.cs
Källa:
PerformanceCounterCategory.cs
Källa:
PerformanceCounterCategory.cs
Källa:
PerformanceCounterCategory.cs
Källa:
PerformanceCounterCategory.cs
Källa:
PerformanceCounterCategory.cs

Avgör om kategorin är registrerad på den lokala datorn.

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

Parametrar

categoryName
String

Namnet på den prestandaräknare som du vill söka efter.

Returer

trueom kategorin är registrerad. annars . false

Undantag

Parametern categoryName är null.

Parametern categoryName är en tom sträng ("").

Ett anrop till ett underliggande system-API misslyckades.

Kod som körs utan administratörsbehörighet försökte läsa en prestandaräknare.

Exempel

I följande kodexempel avgörs om ett PerformanceCounterCategory objekt med namnet "orders" finns. Annars skapas objektet PerformanceCounterCategory med hjälp av ett CounterCreationDataCollection objekt som innehåller två prestandaräknare.

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

Kommentarer

Användning av Exists metoden kan resultera i en märkbar prestandastraff medan alla prestandaräknare på datorn kontrolleras för tillgänglighet. Om du bara skriver till en prestandaräknare kan du undvika den globala sökningen efter prestandaräknare genom att skapa prestandaräknaren när programmet installeras och anta att kategorin finns vid åtkomst till räknaren. Det finns inget sätt att undvika prestandaräknarens sökning vid läsning från prestandaräknare.

Note

Om du vill läsa prestandaräknare från en icke-interaktiv inloggningssession i Windows Vista och senare, Windows XP Professional x64 Edition eller Windows Server 2003, måste du antingen vara medlem i gruppen Performance Monitor Användare eller ha administratörsbehörighet.

För att undvika att behöva höja dina privilegier för att få åtkomst till prestandaräknare i Windows Vista och senare lägger du till dig själv i gruppen Performance Monitor Användare.

I Windows Vista och senare bestämmer UAC (User Account Control) en användares behörigheter. Om du är medlem i gruppen Inbyggda administratörer tilldelas du två åtkomsttoken för körning: en standardåtkomsttoken för användare och en administratörsåtkomsttoken. Som standard är du i standardanvändarrollen. Om du vill köra koden som kommer åt prestandaräknare måste du först höja dina privilegier från standardanvändare till administratör. Du kan göra detta när du startar ett program genom att högerklicka på programikonen och ange att du vill köra som administratör.

Se även

Gäller för

Exists(String, String)

Källa:
PerformanceCounterCategory.cs
Källa:
PerformanceCounterCategory.cs
Källa:
PerformanceCounterCategory.cs
Källa:
PerformanceCounterCategory.cs
Källa:
PerformanceCounterCategory.cs
Källa:
PerformanceCounterCategory.cs
Källa:
PerformanceCounterCategory.cs
Källa:
PerformanceCounterCategory.cs

Avgör om kategorin är registrerad på den angivna datorn.

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

Parametrar

categoryName
String

Namnet på den prestandaräknare som du vill söka efter.

machineName
String

Namnet på den dator som ska undersökas för kategorin.

Returer

trueom kategorin är registrerad. annars . false

Undantag

Parametern categoryName är null.

Parametern categoryName är en tom sträng ("").

-eller-

Parametern machineName är ogiltig.

Ett anrop till ett underliggande system-API misslyckades.

Det går inte att hitta nätverkssökvägen.

Anroparen har inte den behörighet som krävs.

-eller-

Kod som körs utan administratörsbehörighet försökte läsa en prestandaräknare.

Exempel

I följande exempel avgörs om ett PerformanceCounterCategory objekt med namnet Orders finns. Om det inte finns skapar PerformanceCounterCategory exemplet objektet med hjälp av ett CounterCreationDataCollection objekt som innehåller två prestandaräknare.

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

Kommentarer

Användning av Exists metoden kan resultera i en märkbar prestandastraff medan alla prestandaräknare på datorn kontrolleras för tillgänglighet. Om du bara skriver till en prestandaräknare kan du undvika den globala sökningen efter prestandaräknare genom att skapa prestandaräknaren när programmet installeras och anta att kategorin finns vid åtkomst till räknaren. Det finns inget sätt att undvika prestandaräknarens sökning vid läsning från prestandaräknare.

Note

Om du vill läsa prestandaräknare från en icke-interaktiv inloggningssession i Windows Vista och senare, Windows XP Professional x64 Edition eller Windows Server 2003, måste du antingen vara medlem i gruppen Performance Monitor Användare eller ha administratörsbehörighet.

För att undvika att behöva höja dina privilegier för att få åtkomst till prestandaräknare i Windows Vista och senare lägger du till dig själv i gruppen Performance Monitor Användare.

I Windows Vista och senare bestämmer UAC (User Account Control) en användares behörigheter. Om du är medlem i gruppen Inbyggda administratörer tilldelas du två åtkomsttoken för körning: en standardåtkomsttoken för användare och en administratörsåtkomsttoken. Som standard är du i standardanvändarrollen. Om du vill köra koden som kommer åt prestandaräknare måste du först höja dina privilegier från standardanvändare till administratör. Du kan göra detta när du startar ett program genom att högerklicka på programikonen och ange att du vill köra som administratör.

Se även

Gäller för