小默

[zz]MFC WMIGUIDREGINFO

WMIGUIDREGINFO

The WMIGUIDREGINFO structure contains registration information for a given data block or event block exposed by a driver that uses the WMI library support routines.
给定的数据块或事件块的注册信息,被使用WMI库支持例程的驱动揭示

typedef struct {
  LPCGUID  Guid
  ULONG  Guid
  ULONG  Guid
  ULONG  InstanceCount
  ULONG  InstanceCount
  ULONG  Flags
} WMIGUIDREGINFO, *PWMIGUIDREGINFO;

Members

Guid
Pointer to the GUID that identifies the block. The memory that contains the GUID can be paged unless it is also used to call WmiFireEvent.
InstanceCount
Specifies the number of instances defined for the block.
Flags
Indicates characteristics of the block. WMI ORs Flags with the flags set by the driver in the RegFlags parameter of its DpWmiQueryReginfo routine, which apply to all of the data blocks and event blocks registered by the driver. Flags therefore supplements the driver's default settings for a given block.

A driver might set the following flag in Flags:

WMIREG_FLAG_INSTANCE_PDO
Requests WMI to generate static instance names from the device instance ID for the PDO. If this flag is set, the Pdo parameter of the driver's DpWmiQueryReginfo routine points to the PDO passed to the driver's AddDevice routine. WMI generates instance names from the device instance path of the PDO. Using the device instance path as a base for static instance names is efficient because such names are guaranteed to be unique. WMI automatically supplies a "friendly" name for the instance as an item in a data block that can be queried by data consumers.

A driver might also set one or more of the following flags:

WMIREG_FLAG_EVENT_ONLY_GUID
The block can be enabled or disabled as an event only, and cannot be queried or set. If this flag is clear, the block can also be queried or set.
WMIREG_FLAG_EXPENSIVE
Requests WMI to send an IRP_MN_ENABLE_COLLECTION request the first time a data consumer opens the data block and an IRP_MN_DISABLE_COLLECTION request when the last data consumer closes the data block. This is recommended if collecting such data affects performance, because a driver need not collect the data until a data consumer explicitly requests it by opening the block.
WMIREG_FLAG_REMOVE_GUID
Requests WMI to remove support for this block. This flag is valid only in response to a request to update registration information (IRP_MN_REGINFO or IRP_MN_REGINFO_EX with Parameters.WMI.DataPath set to WMIUPDATE).

 

Comments

A driver that handles WMI IRPs by calling WMI library support routines builds an array of WMIGUIDREGINFO structures, one for each data block and event block to be registered. The driver sets the GuidList member of its WMILIB_CONTEXT structure to point to the first WMIGUIDREGINFO in the series.

Memory for this structure can be allocated from paged pool.

Requirements

Headers: Defined in Wmilib.h. Include Wmilib.h.

posted on 2009-12-29 15:27 小默 阅读(207) 评论(0)  编辑 收藏 引用 所属分类: Language


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

统计

留言簿(13)

随笔分类(287)

随笔档案(289)

漏洞

搜索

积分与排名

最新评论

阅读排行榜