структура WNODE_METHOD_ITEM (wmistr.h)
Структура WNODE_METHOD_ITEM указывает метод, связанный с экземпляром блока данных, и содержит все входные данные для метода .
Синтаксис
typedef struct tagWNODE_METHOD_ITEM {
struct _WNODE_HEADER WnodeHeader;
ULONG OffsetInstanceName;
ULONG InstanceIndex;
ULONG MethodId;
ULONG DataBlockOffset;
ULONG SizeDataBlock;
UCHAR VariableData[];
} WNODE_METHOD_ITEM, *PWNODE_METHOD_ITEM;
Члены
WnodeHeader
Структура WNODE_HEADER , содержащая сведения, общие для всех структур WNODE_XXX , такие как размер буфера, GUID, представляющий блок данных, связанный с запросом, и флаги, предоставляющие сведения о передаваемых или возвращаемых данных WNODE_XXX .
OffsetInstanceName
Указывает смещение в байтах от начала этой структуры до динамического имени экземпляра этого экземпляра, выровненного по границе USHORT. Этот элемент действителен, только если WNODE_FLAG_STATIC_INSTANCE_NAMES в WnodeHeader.Flags не задано. Если блок данных был зарегистрирован с именами статических экземпляров, WMI игнорирует OffsetInstanceName.
InstanceIndex
Указывает индекс этого экземпляра в списке статических имен экземпляров драйвера для этого блока данных. Этот элемент действителен, только если блок данных был зарегистрирован со статическими именами экземпляров и WNODE_FLAG_STATIC_INSTANCE_NAMES задано в WnodeHeader.Flags. Если блок данных был зарегистрирован с динамическими именами экземпляров, WMI игнорирует InstanceIndex.
MethodId
Указывает идентификатор запускаемого метода.
DataBlockOffset
Указывает смещение от начала входного WNODE_METHOD_ITEM до входных данных метода или смещение от начала выходного WNODE_METHOD_ITEM для вывода данных из метода.
SizeDataBlock
Указывает размер входных данных во входном WNODE_METHOD_ITEM или нуль, если входные данные отсутствуют. В выходном WNODE_METHOD_ITEMSizeDataBlock указывает размер выходных данных или нуль, если выходные данные отсутствуют.
VariableData
Содержит дополнительные данные, включая имя динамического экземпляра , если таковое есть, и входные данные для или выходные данные метода, выровненные по 8-байтовой границе.
Комментарии
WMI передает WNODE_METHOD_ITEM с запросом IRP_MN_EXECUTE_METHOD , чтобы указать метод для выполнения в экземпляре блока данных, а также все входные данные, необходимые методу .
Если метод создает выходные данные, драйвер перезаписывает входные данные выходными данными в DataBlockOffset в буфере IrpStack-Parameters.WMI.Buffer> и задает SizeDataBlock в WNODE_METHOD_ITEM, чтобы указать размер выходных данных.
Требования
Требование | Значение |
---|---|
Заголовок | wmistr.h (включая Wmistr.h) |