次の方法で共有


WNODE_METHOD_ITEM構造体 (wmistr.h)

WNODE_METHOD_ITEM 構造体は、データ ブロックのインスタンスに関連付けられたメソッドを示し、メソッドの入力データを格納します。

構文

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;

メンバーズ

WnodeHeader

バッファー サイズ、要求に関連付けられたデータ ブロックを表す GUID、WNODE_XXX データが渡されるか返されるデータに関する情報を提供するフラグなど、すべての WNODE_XXX 構造体に共通する情報を含む WNODE_HEADER 構造体です。

OffsetInstanceName

USHORT 境界に配置された、この構造体の先頭からこのインスタンスの動的インスタンス名までのオフセットをバイト単位で示します。 このメンバーは、WnodeHeader.Flags でWNODE_FLAG_STATIC_INSTANCE_NAMESがクリア場合にのみ有効です。 データ ブロックが静的インスタンス名に登録されている場合、WMI は OffsetInstanceName 無視します。

InstanceIndex

このデータ ブロックの静的インスタンス名のドライバーの一覧に、このインスタンスのインデックスを示します。 このメンバーは、データ ブロックが静的インスタンス名に登録され、WNODE_FLAG_STATIC_INSTANCE_NAMESが WnodeHeader.Flags 設定されている場合にのみ有効です。 データ ブロックが動的インスタンス名で登録されている場合、WMI は InstanceIndex 無視します。

MethodId

実行するメソッドの ID を指定します。

DataBlockOffset

メソッドの入力データへの入力 WNODE_METHOD_ITEM の先頭からのオフセット、またはメソッドからの出力データへの出力 WNODE_METHOD_ITEM の先頭からのオフセットを示します。

SizeDataBlock

入力 WNODE_METHOD_ITEMの入力データのサイズを示します。入力がない場合は 0 を示します。 出力 WNODE_METHOD_ITEMでは、SizeDataBlock は出力データのサイズを示し、出力がない場合は 0 を示します。

VariableData

動的インスタンス名 (存在する場合) や、メソッドの入力またはメソッドからの出力が 8 バイトの境界に配置されている場合など、追加のデータが含まれます。

備考

WMI は、データ ブロックのインスタンスで実行するメソッドと、そのメソッドで必要な入力データを指定する IRP_MN_EXECUTE_METHOD 要求を含む WNODE_METHOD_ITEM を渡します。

メソッドが出力を生成する場合、ドライバーは、IrpStack->Parameters.WMI.Bufferのバッファー内の DataBlockOffset の出力で入力データを上書きし、WNODE_METHOD_ITEM の SizeDataBlock 設定して出力データのサイズを指定します。

必要条件

要件 価値
ヘッダー wmistr.h (Wmistr.h を含む)

関連項目

WNODE_HEADER