Partager via


structure WNODE_METHOD_ITEM (wmistr.h)

La structure WNODE_METHOD_ITEM indique une méthode associée à un instance d’un bloc de données et contient toutes les données d’entrée de la méthode.

Syntaxe

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;

Membres

WnodeHeader

Structure WNODE_HEADER qui contient des informations communes à toutes les structures WNODE_XXX , telles que la taille de la mémoire tampon, le GUID qui représente un bloc de données associé à une demande et les indicateurs qui fournissent des informations sur les données WNODE_XXX passées ou retournées.

OffsetInstanceName

Indique le décalage en octets entre le début de cette structure et le nom de instance dynamique de cette instance, aligné sur une limite USHORT. Ce membre est valide uniquement si WNODE_FLAG_STATIC_INSTANCE_NAMES est clair dans WnodeHeader.Flags. Si le bloc de données a été inscrit avec des noms instance statiques, WMI ignore OffsetInstanceName.

InstanceIndex

Indique l’index de ce instance dans la liste des noms de instance statiques du pilote pour ce bloc de données. Ce membre est valide uniquement si le bloc de données a été inscrit avec des noms de instance statiques et si WNODE_FLAG_STATIC_INSTANCE_NAMES est défini dans WnodeHeader.Flags. Si le bloc de données a été inscrit avec des noms de instance dynamiques, WMI ignore InstanceIndex.

MethodId

Spécifie l’ID de la méthode à exécuter.

DataBlockOffset

Indique le décalage entre le début d’un WNODE_METHOD_ITEM d’entrée et les données d’entrée pour la méthode, ou le décalage entre le début d’un WNODE_METHOD_ITEM de sortie et les données de sortie de la méthode.

SizeDataBlock

Indique la taille des données d’entrée dans un WNODE_METHOD_ITEM d’entrée, ou zéro s’il n’y a pas d’entrée. Dans une WNODE_METHOD_ITEM de sortie, SizeDataBlock indique la taille des données de sortie, ou zéro s’il n’y a pas de sortie.

VariableData

Contient des données supplémentaires, y compris le nom du instance dynamique le cas échéant, et l’entrée ou la sortie de la méthode alignée sur une limite de 8 octets.

Remarques

WMI transmet une WNODE_METHOD_ITEM avec une demande de IRP_MN_EXECUTE_METHOD pour spécifier une méthode à exécuter dans un instance d’un bloc de données, ainsi que toutes les données d’entrée requises par la méthode.

Si une méthode génère une sortie, un pilote remplace les données d’entrée par la sortie dans DataBlockOffset dans la mémoire tampon sur IrpStack-Parameters.WMI.Buffer>, et définit SizeDataBlock dans le WNODE_METHOD_ITEM pour spécifier la taille des données de sortie.

Configuration requise

Condition requise Valeur
En-tête wmistr.h (inclure Wmistr.h)

Voir aussi

WNODE_HEADER