如何处理WM_GETOBJECT

当它收到包含 OBJID_CLIENT WM_GETOBJECT消息 时,服务器必须返回指向实现 IAccessible 的 对象的指针。 此指针是通过调用 LresultFromObject 获取的 LRESULT。 Microsoft Active Accessibility 与组件对象模型 (COM) 库结合使用,执行适当的封送处理并将 IAccessible 接口指针从服务器传递到客户端。

服务器必须正确处理对可访问对象的引用计数。 请记住,创建 COM 对象时,引用计数为 1。 然后,LresultFromObject 进一步递增引用计数多次。 当不再需要对象时, LresultFromObject 创建的所有引用都会自动释放,但服务器负责释放初始引用,除非这样做,否则该对象永远不会被销毁。 以下部分中的示例演示如何释放对可访问对象的引用。

服务器通常通过以下方式之一处理 WM_GETOBJECT

注意

在本部分中,如文档的其余部分所述,当讨论指向 IAccessible 接口的指针时,此指针实际上可能是指向包装 IAccessible 接口的代理对象的指针。 有关代理对象的详细信息,请参阅 创建代理对象

 

有关 WM_GETOBJECT的概述,请参阅 WM_GETOBJECT 的工作原理