WNODE_SINGLE_INSTANCE结构(wmistr.h)
WNODE_SINGLE_INSTANCE 结构包含数据块的一个实例中的所有数据项的值。
语法
typedef struct tagWNODE_SINGLE_INSTANCE {
struct _WNODE_HEADER WnodeHeader;
ULONG OffsetInstanceName;
ULONG InstanceIndex;
ULONG DataBlockOffset;
ULONG SizeDataBlock;
UCHAR VariableData[];
} WNODE_SINGLE_INSTANCE, *PWNODE_SINGLE_INSTANCE;
成员
WnodeHeader
是一个 WNODE_HEADER 结构,其中包含所有 WNODE_XXX 结构(例如缓冲区大小、表示与请求关联的数据块的 GUID)以及提供有关要传递或返回的 WNODE_XXX 数据的信息的标志。
OffsetInstanceName
指示从此结构的开头到此实例的动态实例名称的偏移量,该名称在 USHORT 边界上对齐。 仅当 WnodeHeader.Flags中清除WNODE_FLAG_STATIC_INSTANCE_NAMES时,此成员才有效。 如果数据块已注册到静态实例名称,WMI 将忽略 OffsetInstanceName。
InstanceIndex
指示使用静态实例名称注册的实例的索引。 仅当 WnodeHeader.Flags中设置WNODE_FLAG_STATIC_INSTANCE_NAMES时,此成员才有效。 如果数据块已注册到动态实例名称,WMI 将忽略 InstanceIndex。
DataBlockOffset
指示从此结构的开头到实例开头的偏移量。
SizeDataBlock
指示此实例的数据块的大小。
VariableData
包含其他数据,包括动态实例名称(如果有)填充,以便实例从 8 字节边界开始,以及要返回的数据块的实例。
言论
WMI 传递具有 IRP_MN_CHANGE_SINGLE_INSTANCE 请求的 WNODE_SINGLE_INSTANCE,以在数据块的实例中设置读/写数据项。 驱动程序可以忽略为实例中只读数据项传递的值。
驱动程序填写 WNODE_SINGLE_INSTANCE,以响应 IRP_MN_QUERY_SINGLE_INSTANCE 请求或生成包含单个实例的事件。
要求
要求 | 价值 |
---|---|
标头 | wmistr.h (包括 Wmistr.h) |