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 を設定します。
要件
要件 | 値 |
---|---|
Header | wmistr.h (Wmistr.h を含む) |