Condividi tramite


Pattern di controllo ObjectModel

Vengono descritte le linee guida e le convenzioni per l'implementazione di IObjectModelProvider, incluse le informazioni sui metodi. Il pattern 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 quanto fornito da Automazione interfaccia utente Microsoft. Questo pattern di controllo consente a un client di spostarsi da un elemento di automazione interfaccia utente al modello a oggetti sottostante.

Questo argomento contiene le sezioni seguenti.

Linee guida e convenzioni di implementazione

Quando si implementa il pattern di controllo ObjectModel, tenere presenti le linee guida e le convenzioni seguenti:

  • Il metodo IObjectModelProvider::GetUnderlyingObjectModel deve restituire un puntatore all'oggetto 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 al modello a oggetti per l'elemento. La restituzione di un puntatore al modello a oggetti per la radice del documento sarebbe molto meno utile.
  • Il client del ObjectModel pattern di controllo deve avere l'IID per l'interfaccia che sta cercando, motivo per cui è sufficiente restituire un semplice puntatore IUnkno wn.
  • Poiché Automazione interfaccia utente esegue il marshalling del puntatore al processo client, il provider deve aspettarsi che il client accinga al modello a oggetti usando procedure COM (Component Object Model) standard.

Membri obbligatori per IObjectModelProvider

Il metodo seguente è necessario per implementare l'interfacciaIObjectModelProvider.

Membri obbligatori Tipo di membro Note
GetUnderlyingObjectModel Metodo Restituisce un puntatore COM al modello a oggetti sottostante. È previsto che il client chiami il metodo IUnknown::QueryInterface per recuperare puntatori specifici del modello a oggetti.

 

Questo pattern di controllo non ha eventi associati.

tipi di controllo e i relativi modelli di controllo supportati

Panoramica modelli di controllo di automazione interfaccia utente

panoramica dell'albero di automazione interfaccia utente