PerformanceCounterCategory.ReadCategory Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Lê todos os contadores e dados de instância do objeto de desempenho associados 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 de instância de objeto de contador e desempenho para a categoria.
Exceções
A propriedade CategoryName é null
. A propriedade pode não ter sido definida.
Falha ao chamar uma API do sistema subjacente.
Um código em execução sem privilégios administrativos tentou ler um contador de desempenho.
Exemplos
O exemplo de código a seguir cria um PerformanceCounterCategory para um 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 toda a categoria 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 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 Monitor de Desempenho Usuários.
No Windows Vista e posterior, UAC (Controle de Conta de Usuário) determina os privilégios de um usuário. 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. 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 você deseja executar como administrador.