Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

PerformanceCounterCategory.GetCategories (Método) ()

 

Recupera una lista de las categorías de contador de rendimiento registradas en el equipo local.

Espacio de nombres:   System.Diagnostics
Ensamblado:  System (en System.dll)

public static PerformanceCounterCategory[] GetCategories()

Valor devuelto

Type: System.Diagnostics.PerformanceCounterCategory[]

Matriz de objetos PerformanceCounterCategory que indica las categorías que están registradas en el equipo local.

Exception Condition
Win32Exception

Se ha producido un error en la llamada a una API del sistema subyacente.

UnauthorizedAccessException

Código que se ejecuta sin privilegios administrativos para intentar leer un contador de rendimiento.

System_CAPS_noteNota

Para leer los contadores de rendimiento de Windows Vista y versiones posteriores, Windows XP Professional x64 Edition o Windows Server 2003, debe ser miembro del grupo Usuarios del monitor de sistema o tener privilegios administrativos.

Para evitar la elevación de los privilegios de acceso a los contadores de rendimiento en Windows Vista y versiones posteriores, agregue su propio usuario al grupo Usuarios del monitor de sistema.

En Windows Vista y posteriores, el Control de cuentas de usuario (UAC) determina los privilegios de un usuario.Si es miembro del grupo Administradores integrados, se le asignarán dos símbolos (tokens) de acceso en tiempo de ejecución: un símbolo (token) de acceso de usuario estándar y un símbolo (token) de acceso de administrador.De forma predeterminada, se le asignará el rol de usuario estándar.Para ejecutar el código que tiene acceso a los contadores de rendimiento, primero debe elevar el nivel de sus privilegios de usuario estándar a administrador.Podrá hacerlo cuando inicie una aplicación haciendo clic con el botón secundario en el icono de la aplicación e indicando que desea ejecutarla como administrador.

En el ejemplo de código siguiente se utiliza el método GetCategories para devolver una matriz de objetos PerformanceCounterCategory del equipo local o un equipo especificado.Se convierte la matriz de PerformanceCounterCategory en una matriz de nombres de categoría, que se ordena y se muestra al usuario.La sobrecarga GetCategories se selecciona basándose en si se ha especificado un nombre de equipo.

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

    // Copy the machine name argument into the local variable.
    try
    {
        machineName = args[0]=="."? "": args[0];
    }
    catch
    {
    }

    // Generate a list of categories registered on the specified computer.
    try
    {
        if (machineName.Length > 0)
        {
            categories = PerformanceCounterCategory.GetCategories(machineName);
        }
        else
        {
            categories = PerformanceCounterCategory.GetCategories();
        }
    }
    catch(Exception ex)
    {
        Console.WriteLine("Unable to get categories on " + 
            (machineName.Length > 0 ? "computer \"{0}\":": "this computer:"), machineName);
        Console.WriteLine(ex.Message);
        return;
    }

    Console.WriteLine("These categories are registered on " + 
        (machineName.Length > 0 ? "computer \"{0}\":": "this computer:"), machineName);

    // Create and sort an array of category names.
    string[] categoryNames = new string[categories.Length];
    int objX;
    for(objX = 0; objX < categories.Length; objX++)
    {
        categoryNames[objX] = categories[objX].CategoryName;
    }
    Array.Sort(categoryNames);

    for(objX = 0; objX < categories.Length; objX++)
    {
        Console.WriteLine("{0,4} - {1}", objX + 1, categoryNames[objX]);
    }
}

PerformanceCounterPermission

para leer las categorías de contador de rendimiento.Enumeración asociada: PerformanceCounterPermissionAccess.Read.

.NET Framework
Disponible desde 1.1
Volver al principio
Mostrar: