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
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 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)
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.