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 を含む) |