次の方法で共有


ObjectModel コントロール パターン

メソッドに関する情報を含め、 IObjectModelProvider を実装するためのガイドラインと規則について説明します。 ObjectModel コントロール パターンは、ドキュメントの基になるオブジェクト モデルへのポインターを公開するために使用されます。

多くのアプリケーションでは、Microsoft UI オートメーション が提供する価値を超える価値を追加するリッチ オブジェクト モデルを実装しています。 このコントロール パターンを使用すると、クライアントはUI オートメーション要素から基になるオブジェクト モデルに移動できます。

このトピックは、次のセクションで構成されています。

実装のガイドラインと規則

ObjectModel コントロール パターンを実装する場合は、次のガイドラインと規則に注意してください。

  • IObjectModelProvider::GetUnderlyingObjectModel メソッドは、ソース UI 要素にできるだけ近いオブジェクトへのポインターを返す必要があります。 たとえば、Web ブラウザーでは、1 つの要素のUI オートメーション プロバイダーは、 要素のオブジェクト モデル ポインターを返す必要があります。 ドキュメント ルートのオブジェクト モデル ポインターを返す方が、はるかに役に立ちません。
  • ObjectModel コントロール パターンのクライアントには、探しているインターフェイスの IID が必要です。そのため、単純な IUnknown ポインターを返すのに十分です。
  • UI オートメーションはクライアント プロセスへのポインターをマーシャリングするため、プロバイダーはクライアントが標準のコンポーネント オブジェクト モデル (COM) プラクティスを使用してオブジェクト モデルにアクセスすることを想定している必要があります。

IObjectModelProvider に必要なメンバー

IObjectModelProvider インターフェイスを実装するために、次のメソッドが必要です。

必須メンバー メンバーの型 メモ
GetUnderlyingObjectModel メソッド 基になるオブジェクト モデルへの COM ポインターを返します。 クライアントは、特定のオブジェクト モデル ポインターを取得するために IUnknown::QueryInterface メソッドを呼び出す必要があります。

 

このコントロール パターンには、関連するイベントがありません。

コントロールの種類とそのサポートされているコントロール パターン

UI オートメーション コントロール パターンの概要

UI オートメーション ツリーの概要