Compartilhar via


PerformanceCounterCategory.ReadCategory Método

Definição

Lê todos os dados de instância de objeto de desempenho e contador associados a essa categoria de contador de desempenho.

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

Retornos

Um InstanceDataCollectionCollection que contém os dados da instância do objeto de desempenho e do contador para a categoria.

Exceções

A propriedade CategoryName é null. A propriedade pode não ter sido definida.

Falha em uma chamada para uma API do sistema subjacente.

Código que está sendo executado sem privilégios administrativos tentou ler um contador de desempenho.

Exemplos

O exemplo de código a seguir cria um PerformanceCounterCategory nome especificado PerformanceCounterCategory . 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.


// 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.

Ler a categoria inteira de uma só vez pode ser tão eficiente quanto ler um único contador devido à maneira como o sistema fornece os dados.

Observação

Para ler contadores de desempenho de uma sessão de logon não interativa no Windows Vista e posterior, Windows XP Professional x64 Edition ou Windows Server 2003, você deve ser membro do grupo Usuários do Monitor de Desempenho ou ter privilégios administrativos.

Para evitar ter que elevar seus privilégios para acessar contadores de desempenho no Windows Vista e posterior, adicione-se ao grupo Usuários do Monitor de Desempenho.

No Windows Vista e posterior, o UAC (Controle de Conta de Usuário) determina os privilégios de um usuário. Se você for membro do grupo Administradores Internos, será atribuído dois tokens de acesso em tempo de execução: um token de acesso de usuário padrão e um token de acesso de administrador. Por padrão, você está na função de usuário padrão. Para executar o código que acessa contadores de desempenho, primeiro você deve elevar seus privilégios de usuário padrão para administrador. 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.

Aplica-se a

Confira também