WNODE_METHOD_ITEM Struktur (wmistr.h)
Die WNODE_METHOD_ITEM-Struktur gibt eine Methode an, die einem instance eines Datenblocks zugeordnet ist, und enthält alle Eingabedaten für die -Methode.
Syntax
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;
Member
WnodeHeader
Ist eine WNODE_HEADER-Struktur , die Informationen enthält, die allen WNODE_XXX-Strukturen gemeinsam sind, z. B. die Puffergröße, die GUID, die einen Datenblock darstellt, der einer Anforderung zugeordnet ist, und Flags, die Informationen über die WNODE_XXX-Daten bereitstellen, die übergeben oder zurückgegeben werden.
OffsetInstanceName
Gibt den Offset in Bytes vom Anfang dieser Struktur bis zum dynamischen instance Namen dieses instance an, der an einer USHORT-Grenze ausgerichtet ist. Dieser Member ist nur gültig, wenn WNODE_FLAG_STATIC_INSTANCE_NAMES in WnodeHeader.Flags eindeutig ist. Wenn der Datenblock mit statischen instance Namen registriert wurde, ignoriert WMI OffsetInstanceName.
InstanceIndex
Gibt den Index dieses instance in die Liste der statischen instance Namen des Treibers für diesen Datenblock an. Dieser Member ist nur gültig, wenn der Datenblock mit statischen instance Namen registriert wurde und WNODE_FLAG_STATIC_INSTANCE_NAMES in WnodeHeader.Flags festgelegt ist. Wenn der Datenblock mit dynamischen instance Namen registriert wurde, ignoriert WMI InstanceIndex.
MethodId
Gibt die ID der auszuführenden Methode an.
DataBlockOffset
Gibt den Offset vom Anfang eines Eingabe-WNODE_METHOD_ITEM an, um Daten für die -Methode einzugeben, oder den Offset vom Anfang einer Ausgabe WNODE_METHOD_ITEM , um Daten aus der -Methode auszugeben.
SizeDataBlock
Gibt die Größe der Eingabedaten in einer Eingabe WNODE_METHOD_ITEM oder null an, wenn keine Eingabe vorhanden ist. In einem Ausgabe-WNODE_METHOD_ITEM gibt SizeDataBlock die Größe der Ausgabedaten oder null an, wenn keine Ausgabe vorhanden ist.
VariableData
Enthält zusätzliche Daten, einschließlich des dynamischen instance Namen(falls vorhanden) und der Eingabe für oder Ausgabe der Methode, die an einer 8-Byte-Grenze ausgerichtet ist.
Hinweise
WMI übergibt einen WNODE_METHOD_ITEM mit einer IRP_MN_EXECUTE_METHOD-Anforderung, um eine Methode anzugeben, die in einer instance eines Datenblocks ausgeführt werden soll, sowie alle für die Methode erforderlichen Eingabedaten.
Wenn eine Methode eine Ausgabe generiert, überschreibt ein Treiber die Eingabedaten mit der Ausgabe von DataBlockOffset im Puffer unter IrpStack-Parameters.WMI.Buffer> und legt SizeDataBlock in der WNODE_METHOD_ITEM fest, um die Größe der Ausgabedaten anzugeben.
Anforderungen
Anforderung | Wert |
---|---|
Header | wmistr.h (einschließlich Wmistr.h) |