estrutura WNODE_METHOD_ITEM (wmistr.h)
A estrutura WNODE_METHOD_ITEM indica um método associado a uma instância de um bloco de dados e contém quaisquer dados de entrada para o método .
Sintaxe
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;
Membros
WnodeHeader
É uma estrutura WNODE_HEADER que contém informações comuns a todas as estruturas WNODE_XXX , como o tamanho do buffer, o GUID que representa um bloco de dados associado a uma solicitação e sinalizadores que fornecem informações sobre os dados WNODE_XXX que estão sendo passados ou retornados.
OffsetInstanceName
Indica o deslocamento em bytes desde o início dessa estrutura até o nome da instância dinâmica dessa instância, alinhado em um limite USHORT. Esse membro só será válido se WNODE_FLAG_STATIC_INSTANCE_NAMES estiver claro em WnodeHeader.Flags. Se o bloco de dados tiver sido registrado com nomes de instância estática, o WMI ignorará OffsetInstanceName.
InstanceIndex
Indica o índice dessa instância na lista de nomes de instância estática do driver para esse bloco de dados. Esse membro só será válido se o bloco de dados tiver sido registrado com nomes de instância estáticos e WNODE_FLAG_STATIC_INSTANCE_NAMES estiver definido em WnodeHeader.Flags. Se o bloco de dados tiver sido registrado com nomes de instância dinâmica, o WMI ignorará InstanceIndex.
MethodId
Especifica a ID do método a ser executado.
DataBlockOffset
Indica o deslocamento do início de um WNODE_METHOD_ITEM de entrada para dados de entrada para o método ou o deslocamento do início de uma saída WNODE_METHOD_ITEM para os dados de saída do método.
SizeDataBlock
Indica o tamanho dos dados de entrada em um WNODE_METHOD_ITEM de entrada ou zero se não houver nenhuma entrada. Em um WNODE_METHOD_ITEM de saída, SizeDataBlock indica o tamanho dos dados de saída ou zero se não houver saída.
VariableData
Contém dados adicionais, incluindo o nome da instância dinâmica, se houver, e a entrada ou saída do método alinhado em um limite de 8 bytes.
Comentários
O WMI passa um WNODE_METHOD_ITEM com uma solicitação IRP_MN_EXECUTE_METHOD para especificar um método a ser executado em uma instância de um bloco de dados, além de todos os dados de entrada exigidos pelo método .
Se um método gerar saída, um driver substituirá os dados de entrada pela saída em DataBlockOffset no buffer em IrpStack-Parameters.WMI.Buffer> e definirá SizeDataBlock no WNODE_METHOD_ITEM para especificar o tamanho dos dados de saída.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | wmistr.h (inclua Wmistr.h) |