Partager via


PerformanceCounterCategory.Exists Méthode

Définition

Détermine si la catégorie est inscrite sur le système.

Surcharges

Exists(String)

Détermine si la catégorie est inscrite sur l'ordinateur local.

Exists(String, String)

Détermine si la catégorie est inscrite sur l'ordinateur spécifié.

Exists(String)

Source:
PerformanceCounterCategory.cs
Source:
PerformanceCounterCategory.cs
Source:
PerformanceCounterCategory.cs

Détermine si la catégorie est inscrite sur l'ordinateur local.

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

Paramètres

categoryName
String

Nom de la catégorie de compteur de performance à rechercher.

Retours

true si la catégorie est inscrite ; sinon, false.

Exceptions

Le paramètre categoryName a la valeur null.

Le paramètre categoryName est une chaîne vide ("").

Échec de l'appel à une API système sous-jacente.

Code s'exécutant sans privilèges d'administrateur, destiné à lire un compteur de performance.

Exemples

L’exemple de code suivant détermine si un PerformanceCounterCategory objet nommé « orders » existe. Si ce n’est pas le cas, il crée l’objet à l’aide PerformanceCounterCategory d’un CounterCreationDataCollection objet qui contient deux compteurs de performances.

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

Remarques

L’utilisation de la Exists méthode peut entraîner une baisse notable des performances tandis que tous les compteurs de performances sur l’ordinateur sont vérifiés pour la disponibilité. Si vous écrivez uniquement dans un compteur de performances, vous pouvez éviter les recherche globale pour les compteurs de performances en créant le compteur de performances lorsque l’application est installée et en supposant que la catégorie existe lors de l’accès au compteur. Il n’existe aucun moyen d’éviter la recherche des compteurs de performances lors de la lecture à partir de compteurs de performances.

Notes

Pour lire les compteurs de performances d’une session de connexion non interactive dans Windows Vista et versions ultérieures, Windows XP Professionnel Édition x64 ou Windows Server 2003, vous devez être membre du groupe Utilisateurs Analyseur de performances ou disposer de privilèges d’administrateur.

Pour éviter d’avoir à élever vos privilèges pour accéder aux compteurs de performances dans Windows Vista et versions ultérieures, ajoutez-vous au groupe Utilisateurs Analyseur de performances.

Dans Windows Vista et version ultérieure, le contrôle de compte d'utilisateur détermine les privilèges d'un utilisateur. Si vous êtes membre du groupe Administrateurs intégrés, deux jetons d'accès au moment de l'exécution vous sont assignés : un jeton d'accès utilisateur standard et un jeton d'accès administrateur. Par défaut, vous êtes dans le rôle d'utilisateur standard. Pour exécuter le code qui accède aux compteurs de performances, vous devez d’abord élever vos privilèges d’utilisateur standard à administrateur. Vous pouvez effectuer cela au démarrage d'une application en cliquant avec le bouton droit sur l'icône de l'application et en indiquant que vous voulez l'exécuter en tant qu'administrateur.

Voir aussi

S’applique à

Exists(String, String)

Source:
PerformanceCounterCategory.cs
Source:
PerformanceCounterCategory.cs
Source:
PerformanceCounterCategory.cs

Détermine si la catégorie est inscrite sur l'ordinateur spécifié.

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

Paramètres

categoryName
String

Nom de la catégorie de compteur de performance à rechercher.

machineName
String

Nom de l'ordinateur à examiner pour la catégorie.

Retours

true si la catégorie est inscrite ; sinon, false.

Exceptions

Le paramètre categoryName a la valeur null.

Le paramètre categoryName est une chaîne vide ("").

- ou -

Le paramètre machineName n'est pas valide.

Échec de l'appel à une API système sous-jacente.

Le chemin d'accès réseau est introuvable.

L'appelant n'a pas l'autorisation requise.

- ou -

Code s'exécutant sans privilèges d'administrateur, destiné à lire un compteur de performance.

Exemples

L’exemple suivant détermine si un PerformanceCounterCategory objet nommé Orders existe. S’il n’existe pas, l’exemple crée l’objet à l’aide PerformanceCounterCategory d’un CounterCreationDataCollection objet qui contient deux compteurs de performances.

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

Remarques

L’utilisation de la Exists méthode peut entraîner une baisse notable des performances tandis que tous les compteurs de performances sur l’ordinateur sont vérifiés pour la disponibilité. Si vous écrivez uniquement dans un compteur de performances, vous pouvez éviter les recherche globale pour les compteurs de performances en créant le compteur de performances lorsque l’application est installée et en supposant que la catégorie existe lors de l’accès au compteur. Il n’existe aucun moyen d’éviter la recherche des compteurs de performances lors de la lecture à partir de compteurs de performances.

Notes

Pour lire les compteurs de performances d’une session de connexion non interactive dans Windows Vista et versions ultérieures, Windows XP Professionnel Édition x64 ou Windows Server 2003, vous devez être membre du groupe Utilisateurs Analyseur de performances ou disposer de privilèges d’administrateur.

Pour éviter d’avoir à élever vos privilèges pour accéder aux compteurs de performances dans Windows Vista et versions ultérieures, ajoutez-vous au groupe Utilisateurs Analyseur de performances.

Dans Windows Vista et version ultérieure, le contrôle de compte d'utilisateur détermine les privilèges d'un utilisateur. Si vous êtes membre du groupe Administrateurs intégrés, deux jetons d'accès au moment de l'exécution vous sont assignés : un jeton d'accès utilisateur standard et un jeton d'accès administrateur. Par défaut, vous êtes dans le rôle d'utilisateur standard. Pour exécuter le code qui accède aux compteurs de performances, vous devez d’abord élever vos privilèges d’utilisateur standard à administrateur. Vous pouvez effectuer cela au démarrage d'une application en cliquant avec le bouton droit sur l'icône de l'application et en indiquant que vous voulez l'exécuter en tant qu'administrateur.

Voir aussi

S’applique à