Partager via


Modèle de contrôle ObjectModel

Décrit les instructions et conventions d’implémentation 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 objet enrichis qui ajoutent de la valeur au-delà de ce que fournit Microsoft UI Automation. Ce modèle de contrôle permet à un client de naviguer d’un élément UI Automation vers le modèle objet sous-jacent.

Cette rubrique contient les sections suivantes.

Directives et conventions de mise en œuvre

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 le plus proche possible de l’élément d’interface utilisateur source. Par exemple, dans un navigateur web, un fournisseur UI Automation pour un seul élément 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’ils recherchent, c’est pourquoi il suffit de retourner un simple pointeur IUnknown.
  • É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 obligatoires pour IObjectModelProvider

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

Membres obligatoires 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’a aucun événement associé.

types de contrôle 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