Exportar (0) Imprimir
Expandir todo

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 ()
public static PerformanceCounterCategory[] GetCategories ()
public static function GetCategories () : PerformanceCounterCategory[]
No aplicable.

Valor devuelto

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

Tipo de excepciónCondición

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.

NotaNota:

Para leer contadores de rendimiento, debe tener privilegios administrativos. En Windows Vista, 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á la función 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. Esto se puede hacer cuando se inicia una aplicación haciendo clic con el botón secundario del mouse en el icono de la aplicación e indicando que se desea ejecutar 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 categoryName;
    string machineName = "";
    PerformanceCounterCategory[] categories;

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

    // 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-1];
    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]);
    }
}

Windows 98, Windows 2000 Service Pack 4, Windows Millennium, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

.NET Framework

Compatible con: 3.0, 2.0, 1.1, 1.0

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft