Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Элемент данных в определении класса данных или блока событий WMI может быть одним из следующих:
Базовый тип данных, например строка или целое число без знака.
Внедренный класс. Внедренный класс используется только в качестве элемента данных в определении другого класса и не предоставляется в качестве блока данных или блока событий.
Массив фиксированной длины или переменной длины базового типа данных или внедренного класса.
При отправке блока данных в WMI драйвер должен выровнять начало блока по 8-байтовой границе. Все последующие элементы данных в блоке должны соответствовать правильному выравниванию для типа данных. Логическое значение или uint8 должно быть выровнено по 1-байтовой границе. Элемент sint16, uint16 или string должен быть выровнен по границе 2-байтов и т. д. Массивы должны быть выровнены на основании базового типа массива. Массив байтов должен быть выровнен по границе байтов, массив uint64 должен быть выровнен по границе 8-байтов и т. д. Внедренный класс должен быть выровнен на основе естественного выравнивания внедренного класса, который определяется как самый большой элемент в внедренном классе. Например, если встроенный класс имеет uint64, то класс должен быть выровнен по 8-байтовой границе. Выравнивание элементов данных WMI осуществляется по тем же принципам, что и опция /Zp8 в компиляторе Microsoft C.
Модуль записи драйверов не обязательно должен определять элементы данных в блоке, отличном от обязательных элементов InstanceName и Active. Например, пустой блок событий может служить уведомлением о том, что произошло событие без дополнительных данных. Или блок данных может просто перечислить имена экземпляров в ответ на запрос IRP_MN_QUERY_ALL_DATA .
В следующей таблице перечислены типы данных MOF, которые можно использовать для определения элементов в блоке данных или события WMI. Дополнительные сведения о типах данных MOF см. в пакете SDK для Microsoft Windows.
| Тип данных | Формат данных | Выравнивание (в байтах) |
|---|---|---|
string |
USHORT, указывающий длину строки в байтах, за которой следует строковые данные Юникода. Строковые данные могут включать в себя завершающий 0, за которым следует заполнение. Если да, длина строки должна включать завершающий 0 и дополнение. Драйверы могут использовать квалификатор MaxLen , чтобы указать максимальную длину в символах строки. Драйверы, указывающие максимальную длину строки, могут использовать буфер фиксированного размера для хранения строки. Если строка строго меньше размера буфера, драйвер может заполнить остальную часть строки нулями. |
2 |
булевое значение |
Однобайтовое значение, в котором 0 равно FALSE, а любое ненулевое значение — TRUE. |
1 |
sint8 |
8-разрядное целое число со знаком |
1 |
УИНТ8 |
8-битное целое число без знака |
1 |
sint16 |
16-разрядное целое число со знаком |
2 |
uint16 |
16-разрядное целое число без знака |
2 |
sint32 |
32-разрядное целое число со знаком |
4 |
uint32 |
32-разрядное целое число без знака |
4 |
sint64 |
64-разрядное целое число со знаком |
8 |
uint64 |
Целое число без знака 64-битное |
8 |
datetime |
Строка Юникода с фиксированной длиной 25 символов, указывающая абсолютный интервал даты или времени. Значение datetime имеет следующий формат: yyyymmddhhmmss.mmmmmmsutc где: Гггг является 4-разрядным годом мм — 2-значный месяц dd — это 2-значный день месяца hh — это час в соответствии с 24-часовым часами мм — минута ss — это секунды mmmm — это число микросекунд s — знак плюса (+) или знак минуса (-), указывающий, является ли utc положительным или отрицательным смещением от универсальных координат времени; или двоеточие (:), указывающее, что значение даты и времени является интервалом. UTC — это смещение в минутах от универсальных координат времени. Если значение utc равно нулю (000), значение даты и времени — интервал. Значения должны заполняться нулями. Поля, которые не являются значительными, можно заполнить звездочками (*). |
2 |