Partager via


PerformanceCounterCategory.CounterExists Méthode

Définition

Détermine si un compteur spécifié est inscrit dans une catégorie particulière.

Surcharges

CounterExists(String)

Détermine si le compteur spécifié est inscrit dans cette catégorie, qui est indiquée par les propriétés CategoryName et MachineName.

CounterExists(String, String)

Détermine si le compteur spécifié est inscrit dans la catégorie donnée de l'ordinateur local.

CounterExists(String, String, String)

Détermine si le compteur spécifié est inscrit dans la catégorie donnée d'un ordinateur distant.

CounterExists(String)

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

Détermine si le compteur spécifié est inscrit dans cette catégorie, qui est indiquée par les propriétés CategoryName et MachineName.

public:
 bool CounterExists(System::String ^ counterName);
public bool CounterExists (string counterName);
member this.CounterExists : string -> bool
Public Function CounterExists (counterName As String) As Boolean

Paramètres

counterName
String

Nom du compteur de performance à rechercher.

Retours

true si le compteur est inscrit dans la catégorie spécifiée par les propriétés CategoryName et MachineName ; sinon, false.

Exceptions

counterName a la valeur null.

La propriété CategoryName n'a pas été définie.

É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 PerformanceCounter existe. Il obtient un nom de catégorie, un nom de compteur et un nom d’ordinateur à partir de la ligne de commande, s’ils sont donnés. Il crée un PerformanceCounterCategory objet à l’aide du approprié PerformanceCounterCategory. Il utilise ensuite la CounterExists(String) méthode pour déterminer si le spécifié PerformanceCounter existe et informe l’utilisateur.

public static void Main(string[] args)
{
    string categoryName = "";
    string counterName = "";
    string machineName = "";
    bool objectExists = false;
    PerformanceCounterCategory pcc;

    // Copy the supplied arguments into the local variables.
    try
    {
        categoryName = args[0];
        counterName = args[1];
        machineName = (args[2]=="."? "": args[2]);
    }
    catch(Exception ex)
    {
        // Ignore the exception from non-supplied arguments.
    }

    try
    {
        if (machineName.Length==0)
        {
            pcc = new PerformanceCounterCategory(categoryName);
        }
        else
        {
            pcc = new PerformanceCounterCategory(categoryName, machineName);
        }

        // Check whether the specified counter exists.
        // Use the per-instance overload of CounterExists.
        objectExists = pcc.CounterExists(counterName);
    }
    catch(Exception ex)
    {
        Console.WriteLine("Unable to check for the existence of " +
            "counter \"{0}\" in category \"{1}\" on "+
            (machineName.Length>0? "computer \"{2}\".": "this computer.")+ "\n" +
            ex.Message, counterName, categoryName, machineName);
        return;
    }

    // Tell the user whether the counter exists.
    Console.WriteLine("Counter \"{0}\" " + (objectExists? "exists": "does not exist") +
        " in category \"{1}\" on " + (machineName.Length>0? "computer \"{2}\".": "this computer."),
        counterName, pcc.CategoryName, pcc.MachineName);
}
Sub Main(ByVal args() As String)
    Dim categoryName As String = ""
    Dim counterName As String = ""
    Dim machineName As String = ""
    Dim objectExists As Boolean = False
    Dim pcc As PerformanceCounterCategory

    ' Copy the supplied arguments into the local variables.
    Try
        categoryName = args(0)
        counterName = args(1)
        machineName = IIf(args(2) = ".", "", args(2))
    Catch ex As Exception
        ' Ignore the exception from non-supplied arguments.
    End Try

    Try
        If machineName.Length = 0 Then
            pcc = New PerformanceCounterCategory(categoryName)
        Else
            pcc = New PerformanceCounterCategory(categoryName, machineName)
        End If

        ' Check whether the specified counter exists.
        ' Use the per-instance overload of CounterExists.
        objectExists = pcc.CounterExists(counterName)

    Catch ex As Exception
        Console.WriteLine("Unable to check for the existence of " & _
            "counter ""{0}"" in category ""{1}"" on " & _
            IIf(machineName.Length > 0, _
            "computer ""{2}"".", "this computer.") & vbCrLf & _
            ex.Message, counterName, categoryName, machineName)
        Return
    End Try

    ' Tell the user whether the counter exists.
    Console.WriteLine("Counter ""{0}"" " & _
        IIf(objectExists, "exists", "does not exist") & _
        " in category ""{1}"" on " & _
        IIf(machineName.Length > 0, _
            "computer ""{2}"".", "this computer."), _
        counterName, pcc.CategoryName, pcc.MachineName)
End Sub

Remarques

Vous devez définir la CategoryName propriété avant d’appeler cette méthode. Sinon, une exception est levée.

Si vous n’avez pas défini la MachineName propriété, cette méthode utilise l’ordinateur local (« . »).

Notes

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 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 Analyseur de performances Utilisateurs.

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 à

CounterExists(String, String)

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

Détermine si le compteur spécifié est inscrit dans la catégorie donnée de l'ordinateur local.

public:
 static bool CounterExists(System::String ^ counterName, System::String ^ categoryName);
public static bool CounterExists (string counterName, string categoryName);
static member CounterExists : string * string -> bool
Public Shared Function CounterExists (counterName As String, categoryName As String) As Boolean

Paramètres

counterName
String

Nom du compteur de performance à rechercher.

categoryName
String

Nom de la catégorie de compteurs de performance (objet de performance) à laquelle le compteur de performance spécifié est associé.

Retours

true si le compteur est inscrit dans la catégorie spécifiée de l'ordinateur local ; sinon, false.

Exceptions

Le categoryName est null.

- ou -

counterName a la valeur null.

categoryName est une chaîne vide ("").

Le nom de la catégorie spécifiée n'existe pas.

É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 PerformanceCounter existe. Il obtient un nom de catégorie, un nom de compteur et un nom d’ordinateur à partir de la ligne de commande, s’ils sont donnés. Il utilise les surcharges statiques de la CounterExists méthode pour déterminer si le nom spécifié PerformanceCounter existe dans le PerformanceCounterCategory. La surcharge est sélectionnée en fonction du nom d’ordinateur fourni ou non.

public static void Main(string[] args)
{
    string categoryName = "";
    string counterName = "";
    string machineName = "";
    bool objectExists = false;

    // Copy the supplied arguments into the local variables.
    try
    {
        categoryName = args[0];
        counterName = args[1];
        machineName = args[2]=="."? "": args[2];
    }
    catch(Exception ex)
    {
        // Ignore the exception from non-supplied arguments.
    }

    try
    {
        // Check whether the specified counter exists.
        // Use the static forms of the CounterExists method.
        if (machineName.Length==0)
        {
            objectExists = PerformanceCounterCategory.CounterExists(counterName, categoryName);
        }
        else
        {
            objectExists = PerformanceCounterCategory.CounterExists(counterName, categoryName, machineName);
        }
    }
    catch(Exception ex)
    {
        Console.WriteLine("Unable to check for the existence of " +
            "counter \"{0}\" in category \"{1}\" on " +
            (machineName.Length>0? "computer \"{2}\".": "this computer.") + "\n" +
            ex.Message, counterName, categoryName, machineName);
        return;
    }

    // Tell the user whether the counter exists.
    Console.WriteLine("Counter \"{0}\" "+ (objectExists? "exists": "does not exist") +
        " in category \"{1}\" on " + (machineName.Length>0? "computer \"{2}\".": "this computer."),
        counterName, categoryName, machineName);
}
Sub Main(ByVal args() As String)
    Dim categoryName As String = ""
    Dim counterName As String = ""
    Dim machineName As String = ""
    Dim objectExists As Boolean = False

    ' Copy the supplied arguments into the local variables.
    Try
        categoryName = args(0)
        counterName = args(1)
        machineName = IIf(args(2) = ".", "", args(2))
    Catch ex As Exception
        ' Ignore the exception from non-supplied arguments.
    End Try

    Try
        ' Check whether the specified counter exists.
        ' Use the static forms of the CounterExists method.
        If machineName.Length = 0 Then
            objectExists = PerformanceCounterCategory.CounterExists( _
                counterName, categoryName)
        Else
            objectExists = PerformanceCounterCategory.CounterExists( _
                counterName, categoryName, machineName)
        End If

    Catch ex As Exception
        Console.WriteLine("Unable to check for the existence of " & _
            "counter ""{0}"" in category ""{1}"" on " & _
            IIf(machineName.Length > 0, _
            "computer ""{2}"".", "this computer.") & vbCrLf & _
            ex.Message, counterName, categoryName, machineName)
        Return
    End Try

    ' Tell the user whether the counter exists.
    Console.WriteLine("Counter ""{0}"" " & _
        IIf(objectExists, "exists", "does not exist") & _
        " in category ""{1}"" on " & _
        IIf(machineName.Length > 0, _
            "computer ""{2}"".", "this computer."), _
        counterName, categoryName, machineName)
End Sub

Remarques

Notes

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 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 Analyseur de performances Utilisateurs.

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 à

CounterExists(String, String, String)

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

Détermine si le compteur spécifié est inscrit dans la catégorie donnée d'un ordinateur distant.

public:
 static bool CounterExists(System::String ^ counterName, System::String ^ categoryName, System::String ^ machineName);
public static bool CounterExists (string counterName, string categoryName, string machineName);
static member CounterExists : string * string * string -> bool
Public Shared Function CounterExists (counterName As String, categoryName As String, machineName As String) As Boolean

Paramètres

counterName
String

Nom du compteur de performance à rechercher.

categoryName
String

Nom de la catégorie de compteurs de performance (objet de performance) à laquelle le compteur de performance spécifié est associé.

machineName
String

Nom de l'ordinateur sur lequel résident la catégorie de compteurs de performance et les compteurs qui lui sont associés.

Retours

true si le compteur est inscrit dans la catégorie spécifiée de l'ordinateur donné ; sinon, false.

Exceptions

Le categoryName est null.

- ou -

counterName a la valeur null.

categoryName est une chaîne vide ("").

- ou -

machineName n'est pas valide.

Le nom de la catégorie spécifiée n'existe pas.

É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 PerformanceCounter existe. Il obtient un nom de catégorie, un nom de compteur et un nom d’ordinateur à partir de la ligne de commande, s’ils sont donnés. Il utilise les surcharges statiques de la CounterExists méthode pour déterminer si le nom spécifié PerformanceCounter existe dans le PerformanceCounterCategory. La surcharge est sélectionnée en fonction du nom d’ordinateur fourni ou non.

public static void Main(string[] args)
{
    string categoryName = "";
    string counterName = "";
    string machineName = "";
    bool objectExists = false;

    // Copy the supplied arguments into the local variables.
    try
    {
        categoryName = args[0];
        counterName = args[1];
        machineName = args[2]=="."? "": args[2];
    }
    catch(Exception ex)
    {
        // Ignore the exception from non-supplied arguments.
    }

    try
    {
        // Check whether the specified counter exists.
        // Use the static forms of the CounterExists method.
        if (machineName.Length==0)
        {
            objectExists = PerformanceCounterCategory.CounterExists(counterName, categoryName);
        }
        else
        {
            objectExists = PerformanceCounterCategory.CounterExists(counterName, categoryName, machineName);
        }
    }
    catch(Exception ex)
    {
        Console.WriteLine("Unable to check for the existence of " +
            "counter \"{0}\" in category \"{1}\" on " +
            (machineName.Length>0? "computer \"{2}\".": "this computer.") + "\n" +
            ex.Message, counterName, categoryName, machineName);
        return;
    }

    // Tell the user whether the counter exists.
    Console.WriteLine("Counter \"{0}\" "+ (objectExists? "exists": "does not exist") +
        " in category \"{1}\" on " + (machineName.Length>0? "computer \"{2}\".": "this computer."),
        counterName, categoryName, machineName);
}
Sub Main(ByVal args() As String)
    Dim categoryName As String = ""
    Dim counterName As String = ""
    Dim machineName As String = ""
    Dim objectExists As Boolean = False

    ' Copy the supplied arguments into the local variables.
    Try
        categoryName = args(0)
        counterName = args(1)
        machineName = IIf(args(2) = ".", "", args(2))
    Catch ex As Exception
        ' Ignore the exception from non-supplied arguments.
    End Try

    Try
        ' Check whether the specified counter exists.
        ' Use the static forms of the CounterExists method.
        If machineName.Length = 0 Then
            objectExists = PerformanceCounterCategory.CounterExists( _
                counterName, categoryName)
        Else
            objectExists = PerformanceCounterCategory.CounterExists( _
                counterName, categoryName, machineName)
        End If

    Catch ex As Exception
        Console.WriteLine("Unable to check for the existence of " & _
            "counter ""{0}"" in category ""{1}"" on " & _
            IIf(machineName.Length > 0, _
            "computer ""{2}"".", "this computer.") & vbCrLf & _
            ex.Message, counterName, categoryName, machineName)
        Return
    End Try

    ' Tell the user whether the counter exists.
    Console.WriteLine("Counter ""{0}"" " & _
        IIf(objectExists, "exists", "does not exist") & _
        " in category ""{1}"" on " & _
        IIf(machineName.Length > 0, _
            "computer ""{2}"".", "this computer."), _
        counterName, categoryName, machineName)
End Sub

Remarques

Notes

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 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 Analyseur de performances Utilisateurs.

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 à