estructura WNODE_METHOD_ITEM (wmistr.h)
La estructura WNODE_METHOD_ITEM indica un método asociado a una instancia de un bloque de datos y contiene los datos de entrada del método .
Sintaxis
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;
Miembros
WnodeHeader
Es una estructura de WNODE_HEADER que contiene información común a todas las estructuras WNODE_XXX , como el tamaño del búfer, el GUID que representa un bloque de datos asociado a una solicitud y marcas que proporcionan información sobre los datos WNODE_XXX que se pasan o devuelven.
OffsetInstanceName
Indica el desplazamiento en bytes desde el principio de esta estructura hasta el nombre de instancia dinámica de esta instancia, alineado en un límite de USHORT. Este miembro solo es válido si WNODE_FLAG_STATIC_INSTANCE_NAMES está claro en WnodeHeader.Flags. Si el bloque de datos se registró con nombres de instancia estáticos, WMI omite OffsetInstanceName.
InstanceIndex
Indica el índice de esta instancia en la lista de nombres de instancia estáticos del controlador para este bloque de datos. Este miembro solo es válido si el bloque de datos se registró con nombres de instancia estáticos y WNODE_FLAG_STATIC_INSTANCE_NAMES se establece en WnodeHeader.Flags. Si el bloque de datos se registró con nombres de instancia dinámicos, WMI omite InstanceIndex.
MethodId
Especifica el identificador del método que se va a ejecutar.
DataBlockOffset
Indica el desplazamiento desde el principio de un WNODE_METHOD_ITEM de entrada para los datos de entrada para el método o el desplazamiento desde el principio de un WNODE_METHOD_ITEM de salida para generar datos del método.
SizeDataBlock
Indica el tamaño de los datos de entrada en un WNODE_METHOD_ITEM de entrada o cero si no hay ninguna entrada. En un WNODE_METHOD_ITEM de salida, SizeDataBlock indica el tamaño de los datos de salida o cero si no hay ninguna salida.
VariableData
Contiene datos adicionales, incluido el nombre de instancia dinámico, si existe, y la entrada de o salida del método alineado en un límite de 8 bytes.
Comentarios
WMI pasa un WNODE_METHOD_ITEM con una solicitud de IRP_MN_EXECUTE_METHOD para especificar un método que se va a ejecutar en una instancia de un bloque de datos, además de los datos de entrada requeridos por el método.
Si un método genera una salida, un controlador sobrescribe los datos de entrada con la salida en DataBlockOffset en el búfer en IrpStack-Parameters.WMI.Buffer> y establece SizeDataBlock en el WNODE_METHOD_ITEM para especificar el tamaño de los datos de salida.
Requisitos
Requisito | Valor |
---|---|
Header | wmistr.h (incluya Wmistr.h) |