Поддержка класса Win32_PerfRawData
При написании поставщика высокой производительности, наследующего классы из Win32_PerfRawData, необходимо следовать определенным соглашениям, чтобы WMI могла предоставлять данные значениям свойств.
Заметка
Написание WMI-поставщика высокой производительности для создания счетчиков производительности не рекомендуется для любой версии операционной системы Windows. Дополнительные сведения см. в статье Создание поставщика экземпляров впоставщика High-Performance и библиотек производительности иWMI.
В следующей процедуре описывается, как поддерживать класс Win32_PerfRawData, используя вашего поставщика высокой производительности.
Для поддержки класса Win32_PerfRawData
Создайте класс в пространстве имен Root\CIMv2.
Класс должен быть производным от Win32_PerfRawData и иметь квалификатор Hiperf значение TRUE. Вы также можете добавить классы данных производительности WDM (драйвера) в пространство имён root\wmi. Дополнительные сведения о создании собственного класса для WMI см. в разделе Проектирование классов управляемого формата объектов (MOF).
Укажите поставщик как "NT5_GenericPerfProvider_V1" в квалификаторе поставщика .
Укажите следующие квалификаторы уровня класса:
- HiPerf
- локаль
- PerfDetail
- поставщик
Дополнительные сведения см. в разделе квалификаторы классов для классов счетчиков производительности. Не определяйте квалификатор GenericPerfCtr, так как он зарезервирован для процесса ADAP, который передает данные библиотеки производительности в классы WMI.
Заполните соответствующие свойства метки времени и частоты, используемые для вычисления формул типа счетчика.
Эти свойства наследуются от Win32_PerfRawData и при написании поставщика высокой производительности необходимо заполнить их для отображения класса в Системном мониторе.
Включите свойство ключа с именем Name в класс (это свойство не требуется для одноэлементных классов).
В классе не следует использовать ни одно свойство ключа, отличное от Name.
Создайте свойства, типизированные как DWORD (uint32) или QWORD (uint64). Эти свойства становятся счетчиками производительности при передаче в библиотеки производительности.
Укажите следующие квалификаторы уровня свойств для всех свойств в классе:
- ОтображаемоеИмя
- ТипСчетчика
- DefaultScale
- описание
- PerfDefault
- Детали производительности
Дополнительные сведения см. в разделе Квалификаторы свойств для классов счетчиков производительности. Кроме того, файл заголовка Winperf.h содержит значения, которые можно указать для PerfDetail и CounterType.
WMI использует квалификаторы DisplayName, Локальи Описание для локализации. Необходимо добавить измененные квалификаторы в пространство имен MS_409 (английский), чтобы системный монитор правильно отображал данные класса. Это означает, что вы изменяете определение свойства, добавляя квалификатор описания с пояснительным текстом и заполняете значение DisplayName. Кроме того, необходимо добавить измененные квалификаторы в любое другое пространство имен для региона, которое поддерживает ваш класс. Если пользователь запрашивает данные из локали, для которой вы не предоставляете изменённые квалификаторы, WMI по умолчанию использует определения, указанные в пространстве имен MS_409.
Создайте базовое свойство для любого свойства с типом счетчика, который ожидает базовое значение.
Это свойство немедленно следует за свойством и называется имя свойства**_Base**. Например, среднее свойство AvgDiskBytesPerRead в классе Win32_PerfRawData_PerfDisk_LogicalDisk требует базового свойства с именем AvgDiskBytesPerRead_Base для подсчета количества выборок. Чтобы определить, требует ли тип счетчика, который вы хотите использовать, наличие базового свойства, найдите тип счетчика по имени или десятичному значению в типах счетчиков производительности WMI.
Убедитесь, что ваш поставщик соответствует требованиям производительности .
Связанные разделы