使用 OBJID_NATIVEOM 公开窗口的本机接口
此方法允许客户端获取窗口的自定义对象。 服务器可以使用它来公开指向窗口的自定义文档对象的指针。
为窗口公开本机对象模型接口 (服务器)
- 处理 窗口过程中WM_GETOBJECT 消息。 OBJID_NATIVEOM lParam 值 时,使用LresultFromObject 返回指向自定义对象的接口指针。
- 调用 LresultFromObject 后释放接口指针(如果适用)。 有关详细信息,请参阅 LresultFromObject。
客户端可以获取指向此自定义对象的指针。
若要获取窗口的自定义对象的指针, (客户端)
- 调用 AccessibleObjectFromWindow 并将 OBJID_NATIVEOM 作为第二个参数传递。
请注意此方法的以下问题:
- 此方法类似于返回 IAccessible 接口指针,但所使用的对象 ID 和 LresultFromObject 返回自定义对象而不是 IAccessible 的事实除外。
- 服务器开发人员可能需要发布允许客户端唯一标识 HWND 的信息,以便在其窗口句柄上调用 AccessibleObjectFromWindow 之前能够找到它。
- 不要在返回的自定义对象上实现 IAccessible 接口。 如果这样做,OLEACC 会将它视为标准 IAccessible ,并可能阻止使用自定义接口。
- 为了跨进程使用,返回的对象上的接口可能需要注册到组件对象模型 (COM) 。
多个 Microsoft Office 组件支持此方法。 有关详细信息,请参阅 AccessibleObjectFromWindow。