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 de 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ática 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 desde o início de uma WNODE_METHOD_ITEM de entrada aos dados de entrada do 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_ITEMde entrada ou zero se não houver nenhuma entrada. Em um WNODE_METHOD_ITEMde 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.
Observações
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 quaisquer dados de entrada exigidos pelo método.
Se um método gerar saída, um driver substituirá os dados de entrada com a saída em DataBlockOffset no buffer em IrpStack->Parameters.WMI.Buffere 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) |