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


структура 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 (include Wmistr.h)

См. также

WNODE_HEADER