PerformanceCounterCategory.Exists Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Détermine si la catégorie est inscrite sur le système.
Surcharges
| Nom | Description |
|---|---|
| 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)
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 performances à rechercher.
Retours
true si la catégorie est inscrite ; sinon, false.
Exceptions
Le categoryName paramètre est null.
Le categoryName paramètre est une chaîne vide (« »).
Un appel à une API système sous-jacente a échoué.
Code en cours d’exécution sans privilèges d’administration tenté de lire un compteur de performances.
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 = 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 pénalité de performances notable alors 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 la recherche globale des 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.
Note
Pour lire les compteurs de performances à partir d’une session d’ouverture de session non interactive dans Windows Vista et versions ultérieures, Windows XP Professional x64 Edition ou Windows Server 2003, vous devez être membre du groupe Utilisateurs de l’Analyseur de performances ou disposer de privilèges d’administration.
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 de l’Analyseur de performances.
Dans Windows Vista et versions ultérieures, le contrôle de compte d’utilisateur (UAC) détermine les privilèges d’un utilisateur. Si vous êtes membre du groupe Administrateurs intégrés, vous disposez de deux jetons d’accès au moment de l’exécution : 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 de l’utilisateur standard à l’administrateur. Pour ce faire, lorsque vous démarrez une application, cliquez avec le bouton droit sur l’icône de l’application et indiquez que vous souhaitez exécuter en tant qu’administrateur.
Voir aussi
S’applique à
Exists(String, String)
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 performances à rechercher.
- machineName
- String
Nom de l’ordinateur à examiner pour la catégorie.
Retours
true si la catégorie est inscrite ; sinon, false.
Exceptions
Le categoryName paramètre est null.
Le categoryName paramètre est une chaîne vide (« »).
- ou -
Le machineName paramètre n’est pas valide.
Un appel à une API système sous-jacente a échoué.
Le chemin d’accès réseau est introuvable.
L’appelant n’a pas l’autorisation requise.
- ou -
Code en cours d’exécution sans privilèges d’administration tenté de lire un compteur de performances.
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 = 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 pénalité de performances notable alors 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 la recherche globale des 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.
Note
Pour lire les compteurs de performances à partir d’une session d’ouverture de session non interactive dans Windows Vista et versions ultérieures, Windows XP Professional x64 Edition ou Windows Server 2003, vous devez être membre du groupe Utilisateurs de l’Analyseur de performances ou disposer de privilèges d’administration.
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 de l’Analyseur de performances.
Dans Windows Vista et versions ultérieures, le contrôle de compte d’utilisateur (UAC) détermine les privilèges d’un utilisateur. Si vous êtes membre du groupe Administrateurs intégrés, vous disposez de deux jetons d’accès au moment de l’exécution : 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 de l’utilisateur standard à l’administrateur. Pour ce faire, lorsque vous démarrez une application, cliquez avec le bouton droit sur l’icône de l’application et indiquez que vous souhaitez exécuter en tant qu’administrateur.