IAccessibleWindowlessSite::AcquireObjectIdRange 方法 (oleacc.h)
从控件主机获取一系列对象 ID,并将其标记为由特定无窗口控件保留。
语法
HRESULT AcquireObjectIdRange(
[in] long rangeSize,
[in, optional] IAccessibleHandler *pRangeOwner,
[out] long *pRangeBase
);
参数
[in] rangeSize
正在请求的对象 ID 范围的大小。
[in, optional] pRangeOwner
请求范围的无窗口控件。
[out] pRangeBase
获取的范围中的第一个对象 ID。
返回值
如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
为了避免使用属于另一个无窗口控件的对象 ID,控件应在调用 NotifyWinEvent 函数之前获取对象 ID 范围。 控件应为其包含的所有可访问对象获取足够的对象 ID。 例如,具有 100 个子级的树控件将保留至少 101 个对象 ID,一个用于根,一个用于每个子项。 预期会增长的树控件将保留与预期数量一样多的对象 ID。 如果树控件预计将由几百个子级生长,它将保留 1000 个 ID 的范围,只是为了安全。
当包含 Microsoft ActiveX 控件的窗口收到一条 LPARAM 值 ( 对象 ID) 处于保留范围内的WM_GETOBJECT消息时,它应调用 IAccessibleHandler::AccessibleObjectFromID 方法以获取该对象 ID 的 IAccessible 对象。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 8 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2012 [仅限桌面应用] |
目标平台 | Windows |
标头 | oleacc.h |
Library | Oleacc.lib |
DLL | Oleacc.dll |