PerformanceCounterCategory.ReadCategory Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Считывает все счетчики и данные экземпляра объекта производительности, связанные с этой категорией счетчиков производительности.
public:
System::Diagnostics::InstanceDataCollectionCollection ^ ReadCategory();
public System.Diagnostics.InstanceDataCollectionCollection ReadCategory ();
member this.ReadCategory : unit -> System.Diagnostics.InstanceDataCollectionCollection
Public Function ReadCategory () As InstanceDataCollectionCollection
Возвращаемое значение
Коллекция InstanceDataCollectionCollection, содержащая данные счетчика и экземпляра объекта производительности для данной категории.
Исключения
Значение свойства CategoryName — null
. Возможно, свойство не задано.
Сбой при вызове основного API системы.
Код, выполняющийся без привилегий администратора, предпринял попытку считывания значения счетчика производительности.
Примеры
В следующем примере кода создается PerformanceCounterCategory для указанного PerformanceCounterCategory имени. Затем он использует ReadCategory для возврата InstanceDataCollectionCollection , который содержит данные экземпляра для всех экземпляров PerformanceCounter объектов в 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)
Комментарии
Перед вызовом CategoryNameReadCategoryнеобходимо задать свойство .
Одновременное чтение всей категории может быть столь же эффективным, как и чтение одного счетчика из-за того, как система предоставляет данные.
Примечание
Для чтения счетчиков производительности из неинтерактивного сеанса входа в Windows Vista и более поздних версий, Windows XP Professional x64 Edition или Windows Server 2003 необходимо быть членом группы Монитор производительности Пользователи или иметь права администратора.
Чтобы избежать повышения привилегий для доступа к счетчикам производительности в Windows Vista и более поздних версиях, добавьте себя в группу Монитор производительности Пользователи.
В Windows Vista и более поздних версиях права доступа пользователя определяются контролем учетных записей. Члену встроенной группы "Администраторы" присваивается два маркера доступа на время выполнения: маркер доступа обычного пользователя и маркер доступа администратора. По умолчанию назначена роль обычного пользователя. Чтобы выполнить код, который обращается к счетчикам производительности, необходимо сначала повысить привилегии обычного пользователя до администратора. Это можно сделать при запуске приложения, , щелкнув значок приложения правой кнопкой мыши и указав, что приложение должно запускаться от имени администратора.