次の方法で共有


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_ITEMSizeDataBlock を設定します。

要件

要件
Header wmistr.h (Wmistr.h を含む)

こちらもご覧ください

WNODE_HEADER