Принцип работы WM_GETOBJECT
Microsoft Active Accessibility отправляет сообщение WM_GETOBJECT в соответствующее серверное приложение, когда клиент вызывает одну из функций AccessibleObjectFromX . В следующем списке описаны различные сценарии, которые происходят:
- Если окно или элемент управления, получающий WM_GETOBJECT , реализует IAccessible, окно возвращает ссылку на интерфейс IAccessible с помощью LresultFromObject. Microsoft Active Accessibility в сочетании с библиотекой com выполняет соответствующую маршалинг и передает указатель интерфейса с сервера обратно клиенту.
- Если окно, получающее сообщение, не реализует IAccessible, оно должно возвращать ноль.
- Если окно не обрабатывает сообщение WM_GETOBJECT , функция DefWindowProc возвращает ноль.
Даже если сервер возвращает ноль, Microsoft Active Accessibility по-прежнему предоставляет клиенту сведения об объекте. Для большинства предоставляемых системой объектов, таких как списки и кнопки, Microsoft Active Accessibility предоставляет полную информацию; Для других объектов информация ограничена. Например, Microsoft Active Accessibility не предоставляет сведения об элементах управления, у которых нет дескриптора окна. Microsoft Active Accessibility возвращает указатель интерфейса IAccessible с прокси-сервером, который клиент использует для получения сведений об объекте.
Дополнительные сведения см. в разделе Сообщение WM_GETOBJECT.