编写事件使用者提供程序
事件使用者提供程序是永久使用者体系结构的一个组件,用于确定哪个永久事件使用者处理给定事件。 你应当随永久事件使用者一起创建事件使用者提供程序,以便从 WMI 正确路由事件。
事件使用者提供程序将事件提供程序与使用者类列表链接起来。 然后,这些使用者类的实例从该提供程序接收事件。 WMI 根据 __EventConsumerProviderRegistration 实例(该实例将使用者提供程序 __Win32Provider 实例与逻辑使用者类相关联)识别事件被提交到哪个使用者提供程序。 用户将使用者类的实例创建为永久订阅的一部分。 如果某个事件发生时事件提供程序未在运行,则 WMI 在需要提交该事件时会启动该提供程序。
以下过程介绍了如何实现事件使用者提供程序。
实现事件使用者提供程序
以托管对象格式 (MOF) 设计使用者类,并将其注册到 WMI。 有关详细信息,请参阅设计托管对象格式 (MOF) 类。
类提供程序通过创建 __Win32Provider 实例和 __EventConsumerProviderRegistration 类向 WMI 进行注册。 有关详细信息,请参阅注册事件使用者提供程序。
为提供程序实现 IWbemProviderInit 接口。
WMI 使用 IWbemProviderInit 加载和初始化提供程序。 有关详细信息,请参阅初始化提供程序。
注意
强烈建议事件使用者提供程序使用多线程模型“Both”。
为提供程序实现 IWbemEventConsumerProvider 接口。
IWbemEventConsumerProvider 接口是事件使用者提供程序的主接口。
请提供一个或多个物理使用者以接收来自 WMI 的事件消息。
物理使用者是表示永久事件使用者的 COM 对象。 所有物理使用者都必须实现 IWbemUnboundObjectSink 接口。 有关详细信息,请参阅实现物理使用者。