服务器如何实现子 ID

服务器开发人员可以将子 ID 分配给简单元素和可访问对象。 但是,建议的方法是在具有子级的每个可访问对象中支持标准组件对象模型 (COM) 接口 IEnumVARIANT

如果实现 IEnumVARIANT,则必须:

  • 枚举所有子级,包括简单元素和可访问对象。 为所有简单元素提供子 ID,并为每个可访问对象提供 IDispatch
  • 对于可访问的对象,请将 VARIANTvt 成员设置为VT_DISPATCH。 pdispVal 成员必须包含指向 IDispatch 接口的指针。 请注意, VARIANT 由客户端分配和释放。
  • 对于简单元素,子 ID 是任意 32 位正整数。 请注意,零和负整数由 Microsoft Active Accessibility 保留。 将 VARIANT 结构 vt 成员设置为 VT_I4 并将 lVal 成员设置为子 ID。

如果不支持 IEnumVARIANT,则必须分配子 ID,并按顺序为每个对象中的子级编号,从 1 开始。

建议客户端使用 Microsoft Active Accessibility 函数 AccessibleChildren ,而不是直接调用服务器 IEnumVARIANT 接口。