共用方式為


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

這是 WNODE_HEADER 結構,其中包含所有 WNODE_XXX 結構通用的資訊,例如緩衝區大小、代表與要求相關聯的數據區塊的 GUID,以及提供所傳遞或傳回 WNODE_XXX 數據相關信息的旗標。

OffsetInstanceName

指出從這個 結構開頭到此實例動態實例名稱的位元組位移,並對齊 USHORT 界限。 只有在 WnodeHeader.Flags中清除WNODE_FLAG_STATIC_INSTANCE_NAMES,這個成員才有效。 如果資料區塊已註冊靜態實例名稱,WMI 會忽略 offsetInstanceName

InstanceIndex

指出此實例的索引,並列在此數據區塊的驅動程式靜態實例名稱清單中。 只有當數據區塊是以靜態實例名稱註冊,且WNODE_FLAG_STATIC_INSTANCE_NAMES是在 WnodeHeader.Flags中設定時,這個成員才有效。 如果資料區塊已向動態實體名稱註冊,WMI 會忽略 instanceIndex

MethodId

指定要執行之方法的識別碼。

DataBlockOffset

表示從輸入 WNODE_METHOD_ITEM 到方法輸入數據的開頭位移,或從輸出開頭 WNODE_METHOD_ITEM 到方法輸出數據的位移。

SizeDataBlock

指出輸入 WNODE_METHOD_ITEM中的輸入數據大小,如果沒有輸入,則為零。 在輸出 WNODE_METHOD_ITEM中,SizeDataBlock 表示輸出數據的大小,如果沒有輸出,則為零。

VariableData

包含其他數據,包括動態實例名稱,以及8位元組界限上對齊之方法的輸入或輸出。

言論

WMI 會傳遞具有 IRP_MN_EXECUTE_METHOD 要求 WNODE_METHOD_ITEM,以指定要在數據區塊實例中執行的方法,以及方法所需的任何輸入數據。

如果方法產生輸出,驅動程式會以 DataBlockOffset 的輸出覆寫輸入數據,IrpStack->Parameters.WMI.Buffer,並在 WNODE_METHOD_ITEM 中設定 SizeDataBlock,以指定輸出數據的大小。

要求

要求 價值
標頭 wmistr.h (包括 Wmistr.h)

另請參閱

WNODE_HEADER