使用 QueryService 检索 IAccessible 对象的本机接口
服务器开发人员可以使用此方法公开指向 IAccessible 对象的自定义文档节点的指针。 这假定你已公开 IAccessible 对象。 此方法允许客户端从 IAccessible 对象获取自定义对象。
公开 IAccessible (服务器的本机对象模型)
- 在 IAccessible 对象上添加对 IServiceProvider 接口的支持。
- 定义表示从 IAccessible 对象获取自定义接口的功能的 GUID。 这称为服务 ID。 可以使用 GUIDGEN.EXE 生成服务 ID,或者如果具有自定义接口,则可以重复使用接口 ID。
- 实现 IServiceProvider::QueryService 方法,以便在使用此过程前面定义的服务 ID 调用时返回指向自定义接口的指针。 对于所有其他服务 ID 值,QueryService 应返回 NULL。
- 发布服务 ID,以便客户端可以使用它。
客户端可以使用此功能从 IAccessible 对象获取指向自定义对象的指针。
若要从 IAccessible (客户端获取指向自定义对象的指针,)
- 在 IAccessible 接口指针上调用 QueryInterface (IID_IServiceProvider) 以获取 IServiceProvider 接口指针。
- 使用已发布的服务 ID 调用 IServiceProvider::QueryService ,以获取指向 IAccessible 自定义对象的指针。
- 如果不再需要 IServiceProvider 接口,请释放它。
若要跨进程使用,服务器可能需要将返回的接口注册到组件对象模型 (COM) 。
Microsoft Internet Explorer 4.0 及更高版本使用此方法。 它允许客户端获取对应于 IAccessible 对象的 IHTMLElement2 接口指针。