Exportar (0) Imprimir
Expandir todo

PerformanceCounterCategory.GetCategories (Método) (String)

Actualización: noviembre 2007

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

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

public static PerformanceCounterCategory[] GetCategories(
	string machineName
)
public static PerformanceCounterCategory[] GetCategories(
	String machineName
)
public static function GetCategories(
	machineName : String
) : PerformanceCounterCategory[]

Parámetros

machineName
Tipo: System.String
Equipo en el que se va a buscar.

Valor devuelto

Tipo: System.Diagnostics.PerformanceCounterCategory[]
Matriz de objetos PerformanceCounterCategory que indica las categorías que están registradas en el equipo especificado.

ExcepciónCondición
ArgumentException

El parámetro machineName no es válido.

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.

Para recuperar las categorías del equipo local, hay que utilizar otra sobrecarga o pasar "." como parámetro machineName.

64fd5h0e.alert_note(es-es,VS.90).gifNota:

Para leer los contadores de rendimiento de Windows Vista, 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, agregue su propio usuario al grupo Usuarios del monitor de sistema.

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 Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0, 1.1, 1.0

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft