Поделиться через


структура 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)

См. также раздел

WNODE_HEADER