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 и более поздних версиях контроль учетных записей (UAC) определяет привилегии пользователя. Если вы являетесь членом встроенной группы "Администраторы", вы назначаете два маркера доступа во время выполнения: маркер доступа стандартного пользователя и маркер доступа администратора. По умолчанию вы находитесь в стандартной роли пользователя. Чтобы выполнить код, который обращается к счетчикам производительности, необходимо сначала повысить привилегии от стандартного пользователя к администратору. Это можно сделать при запуске приложения, щелкнув правой кнопкой мыши значок приложения и указав, что вы хотите запустить от имени администратора.