PerformanceCounterCategory.Exists Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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.