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


Обработка WM_GETOBJECT

При получении сообщения WM_GETOBJECT , содержащего OBJID_CLIENT, сервер должен вернуть указатель на объект, реализующий IAccessible. Этот указатель является LRESULT, который получается путем вызова LresultFromObject. Microsoft Active Accessibility в сочетании с библиотекой COM выполняет соответствующую маршалинг и передает указатель интерфейса IAccessible с сервера клиенту.

Серверы должны правильно обрабатывать подсчет ссылок на доступный объект. Помните, что при создании COM-объекта число ссылок равно 1. Затем LresultFromObject увеличивает количество ссылок несколько раз. Все ссылки, созданные LresultFromObject , автоматически освобождаются, когда объект больше не нужен, но сервер отвечает за освобождение исходной ссылки, и в противном случае объект никогда не будет уничтожен. В примерах в следующих разделах показано, как освободить ссылки на объекты со специальными возможностями.

Серверы обычно обрабатывают WM_GETOBJECT одним из следующих способов:

Примечание

В этом разделе, как и в остальной части документации, при обсуждении указателя на интерфейс IAccess этот указатель может быть фактически указателем на прокси-объект, который заключает интерфейс IAccess . Дополнительные сведения об объектах-посредниках см. в разделе Создание прокси-объектов.

 

Общие сведения о WM_GETOBJECT см. в статье Принцип работы WM_GETOBJECT.