Share via


Patrón de control ObjectModel

Describe instrucciones y convenciones para implementar IObjectModelProvider, incluida información sobre los métodos. El patrón de control ObjectModel se usa para exponer un puntero al modelo de objetos subyacente de un documento.

Muchas aplicaciones implementan modelos de objetos enriquecidos que agregan valor más allá de lo que proporciona Microsoft Automatización de la interfaz de usuario. Este patrón de control permite a un cliente navegar desde un elemento Automatización de la interfaz de usuario al modelo de objetos subyacente.

En este tema se incluyen las siguientes secciones.

Directrices y convenciones de implementación

Al implementar el patrón de control ObjectModel , tenga en cuenta las siguientes directrices y convenciones:

  • El método IObjectModelProvider::GetUnderlyingObjectModel debe devolver un puntero al objeto que esté lo más cerca posible del elemento de interfaz de usuario de origen. Por ejemplo, en un explorador web, un proveedor de Automatización de la interfaz de usuario para un único elemento debe devolver un puntero de modelo de objetos para el elemento . Devolver un puntero de modelo de objetos para la raíz del documento sería mucho menos útil.
  • Se espera que el cliente del patrón de control ObjectModel tenga el IID para la interfaz que buscan, por lo que es suficiente para devolver un puntero IUnknown simple.
  • Dado que Automatización de la interfaz de usuario serializa el puntero al proceso de cliente, el proveedor debe esperar que el cliente tenga acceso al modelo de objetos mediante procedimientos estándar del Modelo de objetos componentes (COM).

Miembros necesarios para IObjectModelProvider

El método siguiente es necesario para implementar la interfaz IObjectModelProvider .

Miembros requeridos Tipo de miembro Notas
GetUnderlyingObjectModel Método Devuelve un puntero COM al modelo de objetos subyacente. Se espera que el cliente llame al método IUnknown::QueryInterface para recuperar punteros de modelo de objetos específicos.

 

Este patrón de control no tiene eventos asociados.

Tipos de control y sus patrones de control admitidos

Información general acerca de los patrones de control de UI Automation

Información general sobre el árbol de la UI Automation