Как работает WM_GETOBJECT
Microsoft Active Accessibility отправляет сообщение WM_GETOBJECT в соответствующее серверное приложение, когда клиент вызывает одну из функций AccessObjectFromX. В следующем списке описаны различные сценарии, которые происходят:
- Если окно или элемент управления, получающий 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.