PerformanceCounterCategory.Exists Methode

Definitie

Bepaalt of de categorie is geregistreerd op het systeem.

Overloads

Name Description
Exists(String)

Bepaalt of de categorie is geregistreerd op de lokale computer.

Exists(String, String)

Bepaalt of de categorie is geregistreerd op de opgegeven computer.

Exists(String)

Bepaalt of de categorie is geregistreerd op de lokale computer.

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

Parameters

categoryName
String

De naam van de prestatiemeteritemcategorie die moet worden gezocht.

Retouren

true als de categorie is geregistreerd; anders, false.

Uitzonderingen

De categoryName parameter is null.

De categoryName parameter is een lege tekenreeks ("").

Een aanroep naar een onderliggende systeem-API is mislukt.

Code die wordt uitgevoerd zonder beheerdersbevoegdheden heeft geprobeerd een prestatiemeteritem te lezen.

Voorbeelden

In het volgende codevoorbeeld wordt bepaald of er een PerformanceCounterCategory object met de naam 'orders' bestaat. Zo niet, dan wordt het PerformanceCounterCategory object gemaakt met behulp van een CounterCreationDataCollection object dat twee prestatiemeteritems bevat.

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

Opmerkingen

Het gebruik van de Exists methode kan leiden tot een merkbare prestatiestraf, terwijl alle prestatiemeteritems op de computer worden gecontroleerd op beschikbaarheid. Als u alleen naar een prestatiemeteritem schrijft, kunt u de algemene zoekactie naar prestatiemeteritems voorkomen door het prestatiemeteritem te maken wanneer de toepassing is geïnstalleerd en ervan uitgaande dat de categorie bestaat bij het openen van de teller. Er is geen manier om het zoeken naar prestatiemeteritems te voorkomen bij het lezen van prestatiemeteritems.

Note

Als u prestatiemeteritems wilt lezen van een niet-interactieve aanmeldingssessie in Windows Vista en hoger, Windows XP Professional x64 Edition of Windows Server 2003, moet u lid zijn van de groep Performance Monitor Gebruikers of beheerdersbevoegdheden hebben.

Als u wilt voorkomen dat u uw bevoegdheden voor toegang tot prestatiemeteritems in Windows Vista en hoger moet verhogen, voegt u uzelf toe aan de groep Performance Monitor Gebruikers.

In Windows Vista en hoger bepaalt UAC (User Account Control) de bevoegdheden van een gebruiker. Als u lid bent van de groep Ingebouwde beheerders, hebt u twee runtime-toegangstokens toegewezen: een standaard toegangstoken voor gebruikers en een beheerderstoegangstoken. Standaard hebt u de standaardgebruikersrol. Als u de code wilt uitvoeren die toegang heeft tot prestatiemeteritems, moet u eerst uw bevoegdheden verhogen van de standaardgebruiker naar de beheerder. U kunt dit doen wanneer u een toepassing start door met de rechtermuisknop op het toepassingspictogram te klikken en aan te geven dat u wilt uitvoeren als beheerder.

Zie ook

Van toepassing op

Exists(String, String)

Bepaalt of de categorie is geregistreerd op de opgegeven computer.

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

Parameters

categoryName
String

De naam van de prestatiemeteritemcategorie die moet worden gezocht.

machineName
String

De naam van de computer die moet worden onderzocht voor de categorie.

Retouren

true als de categorie is geregistreerd; anders, false.

Uitzonderingen

De categoryName parameter is null.

De categoryName parameter is een lege tekenreeks ("").

– of –

De machineName parameter is ongeldig.

Een aanroep naar een onderliggende systeem-API is mislukt.

Kan het netwerkpad niet vinden.

De beller heeft niet de vereiste machtiging.

– of –

Code die wordt uitgevoerd zonder beheerdersbevoegdheden heeft geprobeerd een prestatiemeteritem te lezen.

Voorbeelden

In het volgende voorbeeld wordt bepaald of een PerformanceCounterCategory object met de naam Orders bestaat. Als het object niet bestaat, wordt het PerformanceCounterCategory object gemaakt met behulp van een CounterCreationDataCollection object dat twee prestatiemeteritems bevat.

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

Opmerkingen

Het gebruik van de Exists methode kan leiden tot een merkbare prestatiestraf, terwijl alle prestatiemeteritems op de computer worden gecontroleerd op beschikbaarheid. Als u alleen naar een prestatiemeteritem schrijft, kunt u de algemene zoekactie naar prestatiemeteritems voorkomen door het prestatiemeteritem te maken wanneer de toepassing is geïnstalleerd en ervan uitgaande dat de categorie bestaat bij het openen van de teller. Er is geen manier om het zoeken naar prestatiemeteritems te voorkomen bij het lezen van prestatiemeteritems.

Note

Als u prestatiemeteritems wilt lezen van een niet-interactieve aanmeldingssessie in Windows Vista en hoger, Windows XP Professional x64 Edition of Windows Server 2003, moet u lid zijn van de groep Performance Monitor Gebruikers of beheerdersbevoegdheden hebben.

Als u wilt voorkomen dat u uw bevoegdheden voor toegang tot prestatiemeteritems in Windows Vista en hoger moet verhogen, voegt u uzelf toe aan de groep Performance Monitor Gebruikers.

In Windows Vista en hoger bepaalt UAC (User Account Control) de bevoegdheden van een gebruiker. Als u lid bent van de groep Ingebouwde beheerders, hebt u twee runtime-toegangstokens toegewezen: een standaard toegangstoken voor gebruikers en een beheerderstoegangstoken. Standaard hebt u de standaardgebruikersrol. Als u de code wilt uitvoeren die toegang heeft tot prestatiemeteritems, moet u eerst uw bevoegdheden verhogen van de standaardgebruiker naar de beheerder. U kunt dit doen wanneer u een toepassing start door met de rechtermuisknop op het toepassingspictogram te klikken en aan te geven dat u wilt uitvoeren als beheerder.

Zie ook

Van toepassing op