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


Как обрабатывать WM_GETOBJECT

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

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

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

Заметка

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

 

См. раздел Как работает WM_GETOBJECTдля общих сведений о WM_GETOBJECT.