Поделиться через


Метод IAccessibleWindowlessSite::AcquireObjectIdRange (oleacc.h)

Получает диапазон идентификаторов объектов от узла элемента управления и помечает их как зарезервированные определенным элементом управления без окон.

Синтаксис

HRESULT AcquireObjectIdRange(
  [in]           long               rangeSize,
  [in, optional] IAccessibleHandler *pRangeOwner,
  [out]          long               *pRangeBase
);

Параметры

[in] rangeSize

Размер запрашиваемого диапазона идентификаторов объектов.

[in, optional] pRangeOwner

Элемент управления без окон, запрашивающий диапазон.

[out] pRangeBase

Первый идентификатор объекта в полученном диапазоне.

Возвращаемое значение

Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Чтобы избежать использования идентификатора объекта, который принадлежит другому элементу управления без окон, элемент управления должен получить диапазон идентификаторов объекта перед вызовом функции NotifyWinEvent . Элемент управления должен получить достаточно идентификаторов объектов для всех содержащихся в нем доступных объектов. Например, элемент управления "Дерево" с 100 дочерними элементами резервирует по крайней мере 101 идентификатор объекта: по одному для корня и по одному для каждого дочернего элемента. Элемент управления деревом, который, как ожидается, будет резервировать столько идентификаторов объектов, сколько ожидалось. Если ожидается, что контроль над деревьями будет расти на несколько сотен детей, он бы зарезервировать диапазон в 1000 идентификаторов, чтобы быть безопасным.

Когда окно, содержащее элемент управления Microsoft ActiveX, получает WM_GETOBJECT сообщение со значением LPARAM (идентификатором объекта), которое находится в зарезервированном диапазоне, оно должно вызвать метод IAccessibleHandler::AccessibleObjectFromID , чтобы получить объект IAccessible для этого идентификатора объекта.

Требования

Требование Значение
Минимальная версия клиента Windows 8 [только классические приложения]
Минимальная версия сервера Windows Server 2012 [только классические приложения]
Целевая платформа Windows
Header oleacc.h
Библиотека Oleacc.lib
DLL Oleacc.dll

См. также раздел

IAccessibleWindowlessSite

IAccessibleWindowlessSite::ReleaseObjectIdRange