IRawElementProviderAdviseEvents::AdviseEventRemoved 方法 (uiautomationcore.h)
当 UI 自动化客户端停止侦听特定事件(包括属性更改事件)时,通知 Microsoft UI 自动化提供程序。
语法
HRESULT AdviseEventRemoved(
[in] EVENTID eventId,
[in] SAFEARRAY *propertyIDs
);
参数
[in] eventId
类型: EVENTID
要删除的事件的标识符。 有关事件 ID 的列表,请参阅 事件标识符。
[in] propertyIDs
类型: SAFEARRAY*
指向要删除的属性的标识符的指针;如果要删除的事件侦听器未侦听属性事件,则为 NULL 。
返回值
类型: HRESULT
如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
此方法使提供程序能够通过仅引发正在侦听的事件来减少开销。
UI 自动化提供程序务必将 IRawElementProviderAdviseEvents::AdviseEventRemoved 视为 IUnknown 接口的 Release 方法。 只要针对特定事件或属性调用 AdviseEventRemoved 的次数多于 AdviseEventRemoved ,提供程序就应继续引发相应的事件,因为某些客户端仍在侦听。 或者,UI 自动化提供程序可以使用 UiaClientsAreListening 函数来确定是否至少有一个客户端正在侦听,如果是,则引发所有适当的事件。
要求
最低受支持的客户端 | Windows XP [桌面应用 | UWP 应用] |
最低受支持的服务器 | Windows Server 2003 [桌面应用 | UWP 应用] |
目标平台 | Windows |
标头 | uiautomationcore.h (包括 UIAutomation.h) |
另请参阅
概念性
IRawElementProviderAdviseEvents
引用