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

另请参阅

IAccessibleWindowlessSite

IAccessibleWindowlessSite::ReleaseObjectIdRange