Получение указателя интерфейса доступного объекта
Клиентские приложения Microsoft Active Accessibility извлекают указатели интерфейса на доступные объекты с помощью одной из следующих функций.
AccessibleObjectFromEvent
Многие клиенты ищут сведения о конкретных доступных объектах, которые создают события. Так как интерфейс IAccess является шлюзом для доступных объектов, клиенты должны легко связать WinEvents с интерфейсом IAccess объекта, создающего события. Microsoft Active Accessibility предоставляет функцию AccessObjectFromEvent специально для этой цели.
Заметка
Клиенты с функциями перехватчика в контексте должны вызывать функцию IsWindow перед вызовом AccessibleObjectFromEvent.
Функция AccessibleObjectFromEvent принимает большую часть той же информации, что и функция перехватчика клиента. Когда функция перехватчика клиента получает уведомление о событии, он передает соответствующие параметры из событий в AccessibleObjectFromEvent.
Функция извлекает либо интерфейс IAccessible элемента пользовательского интерфейса, который сгенерировал событие, либо интерфейс родительского объекта данного элемента. Если возвращается указатель интерфейса родительского объекта, клиент вызывает свойства и методы родительского объекта для получения сведений о дочернем элементе, который создал событие.
AccessibleObjectFromPoint
Чтобы получить адрес интерфейса IAccessible объекта в указанной точке на экране, клиенты используют функцию AccessibleObjectFromPoint.
AccessibleObjectFromWindow
Чтобы получить интерфейс IAccessible объекта из дескриптора окна, клиенты используют функцию AccessibleObjectFromWindow.
Возможно, что серверы возвращают отдельные указатели интерфейса для одного и того же элемента пользовательского интерфейса при каждом вызове функции AccessibleObjectFromEvent, AccessibleObjectFromPointили AccessibleObjectFromWindow. Чтобы определить, относятся ли два указателя к одному элементу пользовательского интерфейса, разработчики клиентов должны сравнить свойства IAccessible объекта, а не указатели.