Share via


Modello di controllo ObjectModel

Descrive linee guida e convenzioni per l'implementazione di IObjectModelProvider, incluse informazioni sui metodi. Il modello di controllo ObjectModel viene usato per esporre un puntatore al modello a oggetti sottostante di un documento.

Molte applicazioni implementano modelli a oggetti avanzati che aggiungono valore oltre a ciò che offre Microsoft Automazione interfaccia utente. Questo modello di controllo consente a un client di passare da un elemento Automazione interfaccia utente al modello a oggetti sottostante.

In questo argomento sono contenute le sezioni seguenti.

Linee guida e convenzioni di implementazione

Quando si implementa il modello di controllo ObjectModel , prendere nota delle linee guida e delle convenzioni seguenti:

  • Il metodo IObjectModelProvider::GetUnderlyingObjectModel deve restituire un puntatore all'oggetto che è il più vicino possibile all'elemento dell'interfaccia utente di origine. Ad esempio, in un Web browser, un provider di Automazione interfaccia utente per un singolo elemento deve restituire un puntatore del modello a oggetti per l'elemento. La restituzione di un puntatore a un modello a oggetti per la radice del documento sarebbe molto meno utile.
  • Il client del modello di controllo ObjectModel dovrebbe avere l'IID per l'interfaccia che stanno cercando, motivo per cui è sufficiente restituire un semplice puntatore IUnknown .
  • Poiché Automazione interfaccia utente esegue il marshalling del puntatore al processo client, il provider deve prevedere che il client accinga al modello a oggetti usando le procedure COM (Component Object Model) standard.

Membri obbligatori per IObjectModelProvider

Il metodo seguente è necessario per implementare l'interfaccia IObjectModelProvider .

Membri obbligatori Tipo di membro Note
GetUnderlyingObjectModel Metodo Restituisce un puntatore COM al modello a oggetti sottostante. Il client deve chiamare il metodo IUnknown::QueryInterface per recuperare puntatori a modelli a oggetti specifici.

 

Questo pattern di controllo non è associato a eventi.

Tipi di controllo e modelli di controllo supportati

Cenni preliminari sui pattern di controllo per l'automazione interfaccia utente

Panoramica dell'albero di automazione dell'interfaccia utente