ObjectModel コントロール パターン
メソッドに関する情報を含め、 IObjectModelProvider を実装するためのガイドラインと規則について説明します。 ObjectModel コントロール パターンは、ドキュメントの基になるオブジェクト モデルへのポインターを公開するために使用されます。
多くのアプリケーションでは、Microsoft UI オートメーション が提供する価値を超える価値を追加するリッチ オブジェクト モデルを実装しています。 このコントロール パターンを使用すると、クライアントはUI オートメーション要素から基になるオブジェクト モデルに移動できます。
このトピックは、次のセクションで構成されています。
実装のガイドラインと規則
ObjectModel コントロール パターンを実装する場合は、次のガイドラインと規則に注意してください。
- IObjectModelProvider::GetUnderlyingObjectModel メソッドは、ソース UI 要素にできるだけ近いオブジェクトへのポインターを返す必要があります。 たとえば、Web ブラウザーでは、1 つの要素のUI オートメーション プロバイダーは、 要素のオブジェクト モデル ポインターを返す必要があります。 ドキュメント ルートのオブジェクト モデル ポインターを返す方が、はるかに役に立ちません。
- ObjectModel コントロール パターンのクライアントには、探しているインターフェイスの IID が必要です。そのため、単純な IUnknown ポインターを返すのに十分です。
- UI オートメーションはクライアント プロセスへのポインターをマーシャリングするため、プロバイダーはクライアントが標準のコンポーネント オブジェクト モデル (COM) プラクティスを使用してオブジェクト モデルにアクセスすることを想定している必要があります。
IObjectModelProvider に必要なメンバー
IObjectModelProvider インターフェイスを実装するために、次のメソッドが必要です。
必須メンバー | メンバーの型 | メモ |
---|---|---|
GetUnderlyingObjectModel | メソッド | 基になるオブジェクト モデルへの COM ポインターを返します。 クライアントは、特定のオブジェクト モデル ポインターを取得するために IUnknown::QueryInterface メソッドを呼び出す必要があります。 |
このコントロール パターンには、関連するイベントがありません。
関連トピック