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