Condividi tramite


PerformanceCounterCategory.ReadCategory Metodo

Definizione

Legge tutti i dati relativi ai contatori e alle istanze dell'oggetto delle prestazioni associati a questa categoria di contatori delle prestazioni.

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

Restituisce

Un oggetto InstanceDataCollectionCollection che contiene i dati relativi ai contatori e alle istanze dell'oggetto delle prestazioni della categoria.

Eccezioni

La proprietà CategoryName è null. È probabile che la proprietà non sia stata impostata.

Una chiamata ad un'API di sistema sottostante non ha avuto esito positivo.

Codice eseguito senza privilegi di amministratore ha tentato di leggere un contatore delle prestazioni.

Esempio

Nell'esempio di codice seguente viene creato un PerformanceCounterCategory oggetto per un nome specificato PerformanceCounterCategory . Viene quindi utilizzato ReadCategory per restituire un InstanceDataCollectionCollection oggetto contenente i dati dell'istanza PerformanceCounter per tutte le istanze degli oggetti all'interno di 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)

Commenti

È necessario impostare la CategoryName proprietà prima di chiamare ReadCategory.

La lettura dell'intera categoria può essere efficiente quanto la lettura di un singolo contatore a causa del modo in cui il sistema fornisce i dati.

Nota

Per leggere i contatori delle prestazioni da una sessione di accesso non interattiva in Windows Vista e versioni successive, Windows XP Professional x64 Edition o Windows Server 2003, è necessario essere membri del gruppo utenti di Monitor prestazioni o disporre di privilegi amministrativi.

Per evitare di dover elevare i privilegi per accedere ai contatori delle prestazioni in Windows Vista e versioni successive, aggiungere se stessi al gruppo utenti Monitor prestazioni.

In Windows Vista e versioni successive i privilegi di un utente sono determinati dalla funzionalità Controllo dell'account utente. Ai membri del gruppo Administrators predefinito vengono assegnati due token di accesso in fase di esecuzione, ovvero un token di accesso utente standard e un token di accesso amministratore. Per impostazione predefinita, viene assegnato il ruolo dell'utente standard. Per eseguire il codice che accede ai contatori delle prestazioni, è necessario innanzitutto elevare i privilegi dall'utente standard all'amministratore. È possibile farlo quando si avvia un'applicazione facendo clic con il pulsante destro del mouse sull'icona dell'applicazione e indicando l'opzione di esecuzione come amministratore.

Si applica a

Vedi anche