Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

PerformanceCounterCategory.CounterExists-Methode (String)

Bestimmt, ob der angegebene Zähler in dieser Kategorie registriert ist. Dies wird durch die CategoryName-Eigenschaft und die MachineName-Eigenschaft angegeben.

Namespace:  System.Diagnostics
Assembly:  System (in System.dll)
public bool CounterExists(
	string counterName
)

Parameter

counterName
Typ: System.String
Der Name des gesuchten Leistungsindikators.

Rückgabewert

Typ: System.Boolean
true , wenn der Zähler in der Kategorie registriert ist, die durch die CategoryName-Eigenschaft und die MachineName-Eigenschaft angegeben wird, andernfalls false.
AusnahmeBedingung
ArgumentNullException

Die counterName ist null.

InvalidOperationException

Die CategoryName-Eigenschaft wurde nicht festgelegt.

Win32Exception

Fehler beim Aufruf einer zugrunde liegenden System-API.

UnauthorizedAccessException

Ohne Administratorrechte ausgeführter Code hat versucht, einen Leistungsindikator zu lesen.

Sie müssen vor dem Aufrufen dieser Methode die CategoryName-Eigenschaft festlegen. Andernfalls wird eine Ausnahme ausgelöst.

Wenn Sie die MachineName-Eigenschaft nicht festgelegt haben, verwendet diese Methode den lokalen Computer (".").

HinweisHinweis

Zum Lesen der Leistungsindikatoren unter Windows Vista und später, Windows XP Professional x64 Edition oder Windows Server 2003 müssen Sie Mitglied der Gruppe Systemmonitorbenutzer sein oder über Administratorrechte verfügen.

Um für den Zugriff auf Leistungsindikatoren unter Windows Vista und später nicht Ihre Berechtigungen erhöhen zu müssen, fügen Sie sich selbst der Gruppe Systemmonitorbenutzer hinzu.

Unter Windows Vista (und höher) UAC werden die Berechtigungen eines Benutzers über User-Account-Control (UAC) bestimmt. Als Mitglied der integrierten Administratorgruppe sind Ihnen zwei Zugriffstoken für die Laufzeit zugewiesen: ein Standardbenutzertoken und ein Administratorzugriffstoken. Standardmäßig verwenden Sie die Standardbenutzerrolle. Um Code ausführen zu können, der auf Leistungsindikatoren zugreift, müssen Sie zuerst Ihre Berechtigungen von Standardbenutzer auf Administrator erhöhen. Dazu starten Sie eine Anwendung, indem Sie mit der rechten Maustaste auf das Anwendungssymbol klicken und angeben, dass Sie die Anwendung als Administrator ausführen möchten.

Im folgenden Codebeispiel wird bestimmt, ob ein PerformanceCounter vorhanden ist. Es werden ein Kategoriename, ein Zählername und ein Computername über die Befehlszeile abgerufen, wenn diese angegeben wurden. Mit dem entsprechenden PerformanceCounterCategorywird ein PerformanceCounterCategory-Objekt erstellt. Dann wird die CounterExists(String)-Methode verwendet, um zu bestimmen, ob der angegebene PerformanceCounter vorhanden ist, und der Benutzer wird informiert.


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);
}


.NET Framework

Unterstützt in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)

Community-Beiträge

HINZUFÜGEN
© 2013 Microsoft. Alle Rechte vorbehalten.