Modèle de contrôle ObjectModel

Décrit des instructions et des conventions pour l’implémentation d’IObjectModelProvider, y compris des informations sur les méthodes. Le modèle de contrôle ObjectModel est utilisé pour exposer un pointeur vers le modèle objet sous-jacent d’un document.

De nombreuses applications implémentent des modèles objets riches qui ajoutent de la valeur au-delà de ce que Microsoft UI Automation fournit. Ce modèle de contrôle permet à un client de naviguer à partir d’un élément UI Automation dans le modèle objet sous-jacent.

Cette rubrique contient les sections suivantes.

Conventions et directives d'implémentation

Lors de l’implémentation du modèle de contrôle ObjectModel , notez les instructions et conventions suivantes :

  • La méthode IObjectModelProvider::GetUnderlyingObjectModel doit retourner un pointeur vers l’objet aussi proche que possible de l’élément d’interface utilisateur source. Par exemple, dans un navigateur web, un fournisseur de UI Automation pour un élément unique doit retourner un pointeur de modèle objet pour l’élément. Le renvoi d’un pointeur de modèle objet pour la racine du document serait beaucoup moins utile.
  • Le client du modèle de contrôle ObjectModel est censé avoir l’IID pour l’interface qu’il recherche, c’est pourquoi il suffit de retourner un pointeur IUnknown simple.
  • Étant donné que UI Automation marshale le pointeur vers le processus client, le fournisseur doit s’attendre à ce que le client accède au modèle objet à l’aide des pratiques COM (Component Object Model) standard.

Membres requis pour IObjectModelProvider

La méthode suivante est requise pour implémenter l’interface IObjectModelProvider .

Membres nécessaires Type de membre Notes
GetUnderlyingObjectModel Méthode Retourne un pointeur COM vers le modèle objet sous-jacent. Le client doit appeler la méthode IUnknown::QueryInterface pour récupérer des pointeurs de modèle objet spécifiques.

 

Ce modèle de contrôle n’est associé aucun événement.

Types de contrôles et leurs modèles de contrôle pris en charge

Vue d'ensemble des modèles de contrôle UI Automation

Vue d’ensemble de l’arborescence UI Automation