描述
WMI调用IWbemUnboundObjectSink.IndicateToConsumer方法来实际向消费者传递事件。从实现的角度来看,IndicateToConsumer包含处理接收到的事件的代码。
C++ 语法
HRESULT IndicateToConsumer( [in] IWbemClassObject *pLogicalConsumer, [in] long lNumObjects, [in] IWbemClassObject **apObjects ); |
PowerBASIC 语法
METHOD IndicateToConsumer ( _ BYVAL pLogicalConsumer AS IWbemClassObject, _ BYVAL lNumObjects AS LONG, _ BYREF apObjects AS IWbemClassObject _ ) AS LONG |
参数
pLogicalConsumer
指向这组对象的逻辑消费者对象的指针。
lNumObjects
在下面的数组中传递的对象数。
apObjects
指向代表所传送事件的IWbemClassObject实例数组的指针。因为数组中的每个对象都对应一个单独的事件,所以IndicateToConsumer的实现必须分别处理每个对象。
返回值
如果成功,此方法返回WBEM_S_NO_ERROR。否则,实现应返回相应的错误代码。
备注
WMI通常从实现IWbemEventConsumerProvider接口的事件使用者提供者获取特定逻辑消费者的IWbemUnboundObjectSink指针。然后,Windows Management调用IndicateToConsumer传递实际的事件对象。
IndicateToConsumer的大多数实现假设通知是异步的。为了支持同步通知,接收器必须在不到20毫秒内完成事件处理。支持同步通知的非常快速的事件消费者提供者不能持有指向IWbemClassObject接口的指针,或增加IndicateToConsumer中的指针引用计数。如果IndicateToConsumer需要在IndicateToConsumer调用的生命周期之外定义的类对象IWbemClassObject,请创建该对象的副本。但是,如果必须长期访问IWbemClassObject指针所指向的信息,则建议事件消费者提供程序不支持同步通知。活动消费者提供者在完成注册时指示他们支持的通知类型。
要求
客户 |
需要Windows Vista,Windows XP,Windows 2000 Professional,Windows NT Workstation 4.0 SP4及更高版本,Windows Me,Windows 98或Windows 95。 |
服务器 |
需要Windows Server 2008,Windows Server 2003,Windows 2000 Server或Windows NT Server 4.0 SP4及更高版本。 |
头 |
在Wbemprov.inc中声明。 |
DLL |
需要Fastprox.dll。 |