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