Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Microsoft Active Accessibility предоставляет такие функции, как AccessObjectFromWindow и AccessObjectFromPoint, которые позволяют клиентам получать доступные объекты. Эти функции возвращают указатель интерфейса IDispatch или указатель интерфейса IAccessible, с помощью которого клиенты получают сведения о доступном объекте.
Когда клиент вызывает AccessibleObjectFromWindow или любую другую AccessibleObjectFromX функцию, которая извлекает интерфейс объекта, Microsoft Active Accessibility отправляет сообщение WM_GETOBJECT окна в соответствующую оконную процедуру в приложении. Чтобы предоставить клиентам информацию, серверы должны отвечать на сообщение WM_GETOBJECT.
Для сбора определенных сведений об элементе пользовательского интерфейса клиенты должны сначала получить интерфейс IAccessible для элемента. Чтобы получить объект IAccessible элемента, клиенты могут использовать одну из следующих функций:
Чтобы получить указатель интерфейса IAccessible
Клиент вызывает одну из функций AccessibleObjectFromX.
Oleacc.dll отправляет на сервер сообщение WM_GETOBJECT.
Сервер определяет, какой элемент пользовательского интерфейса соответствует запросу.
Сервер либо возвращает значение ноль для запроса прокси-сервера Oleacc.dll,
Или
Возвращает объект IAccessible (собственная реализация). Для этого выполните указанные ниже действия.
- Создает объект IAccessible для элемента.
- Вызывает LresultFromObject для маршалирования указателя объекта.
- Возвращает результат LRESULT для Oleacc.dll.
Oleacc.dll проверяет возвращаемое значение из WM_GETOBJECT.
Если он равен нулю, Oleacc.dll создает прокси-объект и возвращает его клиенту.
Или
Если это ненулевое значение, Oleacc.dll вызывает ObjectFromLresult, чтобы отменить удаление собственного указателя объекта IAccessible и возвращает его клиенту.