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

引用