Export (0) Print
Expand All

ObjectModel Control Pattern

Describes guidelines and conventions for implementing IObjectModelProvider, including information about methods. The ObjectModel control pattern is used to expose a pointer to the underlying object model of a document.

Many applications implement rich object models that add value beyond what Microsoft UI Automation provides. This control pattern allows a client to navigate from a UI Automation element into the underlying object model.

This topic contains the following sections.

Implementation Guidelines and Conventions

When implementing the ObjectModel control pattern, note the following guidelines and conventions:

  • The IObjectModelProvider::GetUnderlyingObjectModel method should return a pointer to the object that is as close as possible to the source UI element. For example, in a web browser, a UI Automation provider for a single element should return an object model pointer for the element. Returning an object model pointer for the document root would be far less useful.
  • The client of the ObjectModel control pattern is expected to have the IID for the interface they are seeking, which is why it is enough to return a simple IUnknown pointer.
  • Because UI Automation marshals the pointer to the client process, the provider should expect the client to access the object model using standard Component Object Model (COM) practices.

Required Members for IObjectModelProvider

The following method is required for implementing the IObjectModelProvider interface.

Required membersMember typeNotes
GetUnderlyingObjectModel MethodReturns a COM pointer to the underlying object model. The client is expected to call the IUnknown::QueryInterface method to retrieve specific object model pointers.

 

This control pattern has no associated events.

Related topics

Control Types and Their Supported Control Patterns
UI Automation Control Patterns Overview
UI Automation Tree Overview

 

 

Community Additions

ADD
Show:
© 2014 Microsoft