PerformanceCounterCategory.GetInstanceNames Metoda

Definice

Načte seznam instancí objektů výkonu, které jsou přidruženy k této kategorii.

public string[] GetInstanceNames ();

Návraty

String[]

Pole řetězců představující názvy instancí objektů výkonu, které jsou přidruženy k této kategorii, nebo, pokud kategorie obsahuje pouze jednu instanci objektu výkonu, pole s jednou položkou, která obsahuje prázdný řetězec ("").

Výjimky

Vlastnost CategoryName je null. Vlastnost možná nebyla nastavena.

-nebo-

Kategorie nemá přidruženou instanci.

Volání základního rozhraní API systému selhalo.

Kód, který se spouští bez oprávnění správce, se pokusil přečíst čítač výkonu.

Příklady

Následující příklad kódu získá seznam PerformanceCounter objektů v objektu PerformanceCounterCategory. Nejprve vytvoří PerformanceCounterCategory objekt pomocí příslušného konstruktoru na základě toho, zda byl zadán název počítače. Potom použije GetInstanceNames k vrácení názvů instancí jako pole String, které seřadí a zobrazí.

public static void Main(string[] args)
{
    string categoryName = "";
    string machineName = "";
    PerformanceCounterCategory pcc;
    string[] instances;

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

    try
    {
        // Create the appropriate PerformanceCounterCategory object.
        if (machineName.Length>0)
        {
            pcc = new PerformanceCounterCategory(categoryName, machineName);
        }
        else
        {
            pcc = new PerformanceCounterCategory(categoryName);
        }

        // Get the instances associated with this category.
        instances = pcc.GetInstanceNames();
    }
    catch(Exception ex)
    {
        Console.WriteLine("Unable to get instance information for " +
            "category \"{0}\" on " +
            (machineName.Length>0? "computer \"{1}\":": "this computer:"),
            categoryName, machineName);
        Console.WriteLine(ex.Message);
        return;
    }

    //If an empty array is returned, the category has a single instance.
    if (instances.Length==0)
    {
        Console.WriteLine("Category \"{0}\" on " +
            (machineName.Length>0? "computer \"{1}\"": "this computer") +
            " is single-instance.", pcc.CategoryName, pcc.MachineName);
    }
    else
    {
        // Otherwise, display the instances.
        Console.WriteLine("These instances exist in category \"{0}\" on " +
            (machineName.Length>0? "computer \"{1}\".": "this computer:"),
            pcc.CategoryName, pcc.MachineName);

        Array.Sort(instances);
        int objX;
        for(objX=0; objX<instances.Length; objX++)
        {
            Console.WriteLine("{0,4} - {1}", objX+1, instances[objX]);
        }
    }
}

Poznámky

Poznámka

Chcete-li číst čítače výkonu z neinteraktivní přihlašovací relace v systému Windows Vista a novějších, Windows XP Professional x64 Edition nebo Windows Server 2003, musíte být členem skupiny Sledování výkonu Users nebo mít oprávnění správce.

Abyste nemuseli zvýšit oprávnění pro přístup k čítačům výkonu ve Windows Vista a novějších verzích, přidejte se do skupiny Sledování výkonu Users.

Nástroj Řízení uživatelských účtů (UAC) v systému Windows Vista a novějším určuje oprávnění uživatele. Pokud jste členem předdefinované skupiny Administrators, máte přiřazeny dva přístupové tokeny run-time: token přístupu uživatele se standardním oprávněním a token přístupu správce. Ve výchozím nastavení máte roli standardního uživatele. Pokud chcete spustit kód, který přistupuje k čítačům výkonu, musíte nejprve zvýšit oprávnění ze standardního uživatele na správce. Můžete to udělat při spuštění aplikace tak, že kliknete pravým tlačítkem na ikonu aplikace a označíte, že chcete spustit jako správce.

Platí pro

Produkt Verze
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

Viz také