PerformanceCounterCategory.ReadCategory Método

Definição

Lê todos os contadores e dados de instância do objeto de desempenho associados essa categoria de contador de desempenho.Reads all the counter and performance object instance data that is associated with this performance counter category.

public:
 System::Diagnostics::InstanceDataCollectionCollection ^ ReadCategory();
public System.Diagnostics.InstanceDataCollectionCollection ReadCategory ();
member this.ReadCategory : unit -> System.Diagnostics.InstanceDataCollectionCollection
Public Function ReadCategory () As InstanceDataCollectionCollection

Retornos

InstanceDataCollectionCollection

Um InstanceDataCollectionCollection que contém os dados de instância de objeto de contador e desempenho para a categoria.An InstanceDataCollectionCollection that contains the counter and performance object instance data for the category.

Exceções

A propriedade CategoryName é null.The CategoryName property is null. A propriedade pode não ter sido definida.The property might not have been set.

Falha ao chamar uma API do sistema subjacente.A call to an underlying system API failed.

Um código em execução sem privilégios administrativos tentou ler um contador de desempenho.Code that is executing without administrative privileges attempted to read a performance counter.

Exemplos

O exemplo de código a seguir cria um PerformanceCounterCategory para um PerformanceCounterCategory nome especificado.The following code example creates a PerformanceCounterCategory for a specified PerformanceCounterCategory name. Em seguida, ele usa ReadCategory para retornar um InstanceDataCollectionCollection que contém dados de instância para todas as instâncias dos PerformanceCounter objetos dentro do PerformanceCounterCategory .It then uses ReadCategory to return an InstanceDataCollectionCollection that contains instance data for all the instances of the PerformanceCounter objects within the PerformanceCounterCategory.


// Process the InstanceDataCollectionCollection for this category.
PerformanceCounterCategory pcc = new PerformanceCounterCategory(categoryName);
InstanceDataCollectionCollection idColCol = pcc.ReadCategory();
InstanceDataCollection[] idColArray = new InstanceDataCollection[idColCol.Count];

Console.WriteLine("InstanceDataCollectionCollection for \"{0}\" " +
    "has {1} elements.", categoryName, idColCol.Count);

' Process the InstanceDataCollectionCollection for this category.
Dim pcc As New PerformanceCounterCategory(categoryName)
Dim idColCol As InstanceDataCollectionCollection = pcc.ReadCategory()
Dim idColArray(idColCol.Count - 1) As InstanceDataCollection

Console.WriteLine("InstanceDataCollectionCollection for ""{0}"" " & _
    "has {1} elements.", categoryName, idColCol.Count)

Comentários

Você deve definir a CategoryName propriedade antes de chamar ReadCategory .You must set the CategoryName property before you call ReadCategory.

Ler toda a categoria de uma vez pode ser tão eficiente quanto ler um único contador devido à forma como o sistema fornece os dados.Reading the entire category at once can be as efficient as reading a single counter because of the way that the system provides the data.

Observação

Para ler os contadores de desempenho de uma sessão de logon não interativa no Windows Vista e posterior, no Windows XP Professional x64 Edition ou no Windows Server 2003, você deve ser um membro do grupo usuários do monitor de desempenho ou ter privilégios administrativos.To read performance counters from a non-interactive logon session in Windows Vista and later, Windows XP Professional x64 Edition, or Windows Server 2003, you must either be a member of the Performance Monitor Users group or have administrative privileges.

Para evitar a elevação de seus privilégios para acessar os contadores de desempenho no Windows Vista e posterior, adicione-se ao grupo usuários do monitor de desempenho.To avoid having to elevate your privileges to access performance counters in Windows Vista and later, add yourself to the Performance Monitor Users group.

No Windows Vista e posterior, UAC (Controle de Conta de Usuário) determina os privilégios de um usuário.In Windows Vista and later, User Account Control (UAC) determines the privileges of a user. Se for um membro do grupo Administradores Internos, você receberá dois tokens de acesso do tempo de execução: um token de acesso do usuário padrão e um token de acesso do administrador.If you are a member of the Built-in Administrators group, you are assigned two run-time access tokens: a standard user access token and an administrator access token. Por padrão, você está na função de usuário padrão.By default, you are in the standard user role. Para executar o código que acessa contadores de desempenho, você deve primeiro elevar seus privilégios do usuário padrão para o administrador.To execute the code that accesses performance counters, you must first elevate your privileges from standard user to administrator. Você pode fazer isso ao iniciar um aplicativo clicando com o botão direito do mouse no ícone do aplicativo e indicando que deseja executar como administrador.You can do this when you start an application by right-clicking the application icon and indicating that you want to run as an administrator.

Aplica-se a

Confira também