IUIAutomation::AddPropertyChangedEventHandlerNativeArray 方法 (uiautomationclient.h)

注册处理属性更改事件的本机数组的方法。

注意 实现事件处理程序之前,应熟悉 了解线程处理问题中所述的线程问题。
 

语法

HRESULT AddPropertyChangedEventHandlerNativeArray(
  [in] IUIAutomationElement                     *element,
  [in] TreeScope                                scope,
  [in] IUIAutomationCacheRequest                *cacheRequest,
  [in] IUIAutomationPropertyChangedEventHandler *handler,
  [in] PROPERTYID                               *propertyArray,
  [in] int                                      propertyCount
);

参数

[in] element

类型:IUIAutomationElement*

指向与事件处理程序关联的 UI 自动化元素的指针。

[in] scope

类型:TreeScope

要处理的事件的范围;也就是说,无论是在元素本身上,还是在元素的祖先和子元素上。

[in] cacheRequest

类型:IUIAutomationCacheRequest*

指向缓存请求的指针;如果没有缓存,则 NULL

[in] handler

类型:IUIAutomationPropertyChangedEventHandler*

指向处理事件的对象的指针。

[in] propertyArray

类型:PROPERTYID*

指向感兴趣的 UI 自动化属性的标识符的指针。 有关属性 ID 的列表,请参阅 属性标识符

[in] propertyCount

类型:int

propertyArray中的属性标识符数。

返回值

类型:HRESULT

如果此方法成功,则返回 S_OK。 否则,它将返回 HRESULT 错误代码。

有关演示如何实现允许客户端接收和处理Microsoft UI 自动化事件(包括 AddPropertyChangedEventHandlerNativeArray)的接口的代码示例,请参阅 如何实现事件处理程序

言论

元素 指定的 UI 项可能不支持由 propertyArray 参数指定的属性。

此方法的作用与 IUIAutomation::AddPropertyChangedEventHandler相同,但采用属性标识符的普通数组而不是 SAFEARRAY。

UI 自动化客户端不应使用多个线程添加或删除事件处理程序。 如果在同一客户端进程中添加或删除另一个事件处理程序,则意外行为可能会导致另一个事件处理程序被添加或删除。

要求

要求 价值
最低支持的客户端 Windows 7、带有 SP2 和 Windows Vista 平台更新的 Windows Vista、带有 SP3 的 Windows XP 和适用于 Windows Vista 的平台更新的 Windows Vista [仅限桌面应用]
支持的最低服务器 Windows Server 2008 R2、Windows Server 2008 SP2 和 Platform Update for Windows Server 2008、Windows Server 2003 SP2 和 Platform Update for Windows Server 2008 [仅限桌面应用]
目标平台 窗户
标头 uiautomationclient.h (包括 UIAutomation.h)

另请参阅

AddPropertyChangedEventHandler

缓存 UI 自动化属性和控件模式

概念

IUIAutomation

参考

RemoveAllEventHandlers

RemovePropertyChangedEventHandler

订阅 UI 自动化事件

了解线程处理问题