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,一个用于每个子项。 预计增长的树控件将保留尽可能多的对象 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