次の方法で共有


IUIAutomationElement::FindAllBuildCache メソッド (uiautomationclient.h)

指定した条件を満たすすべての UI オートメーション要素を返し、要求されたプロパティとコントロール パターンをプリフェッチし、プリフェッチされた項目をキャッシュに格納します。

構文

HRESULT FindAllBuildCache(
  [in]          TreeScope                 scope,
  [in]          IUIAutomationCondition    *condition,
  [in]          IUIAutomationCacheRequest *cacheRequest,
  [out, retval] IUIAutomationElementArray **found
);

パラメーター

[in] scope

型: TreeScope

検索範囲を指定する値の組み合わせ。

[in] condition

型: IUIAutomationCondition*

一致する条件を表す条件へのポインター。

[in] cacheRequest

型: IUIAutomationCacheRequest*

キャッシュに含めるコントロール パターンとプロパティを指定するキャッシュ要求へのポインター。

[out, retval] found

型: IUIAutomationElementArray**

一致する要素の配列へのポインターを受け取ります。 一致がない場合は、null 返されます。

戻り値

型: HRESULT

このメソッドが成功した場合は、S_OKを返します。 それ以外の場合は、HRESULT エラー コードが返されます。

備考

検索の範囲は、メソッドが呼び出される要素を基準にしています。 要素は、ツリー内で検出された順序で返されます。

この関数は、Microsoft UI オートメーション ツリーで先祖要素を検索できません。つまり、TreeScope_Ancestors は、スコープ パラメーターに対して有効な値ではありません。

デスクトップで最上位のウィンドウを検索するときは、TreeScope_Descendantsではなく、スコープ パラメーターに TreeScope_Children を指定してください。 デスクトップのサブツリー全体を検索すると、何千もの項目が反復処理され、スタック オーバーフローが発生する可能性があります。

クライアント アプリケーションが独自のユーザー インターフェイスで要素を検索しようとする場合は、すべての UI オートメーション呼び出しを別のスレッドで行う必要があります。

必要条件

要件 価値
サポートされる最小クライアント Windows 7、Windows Vista SP2 および Windows Vista 用プラットフォーム更新プログラム、Windows XP SP3 および Windows Vista 用プラットフォーム更新プログラム [デスクトップ アプリのみ]
サポートされる最小サーバー Windows Server 2008 R2、Windows Server 2008 SP2 および Windows Server 2008 用プラットフォーム更新プログラム、Windows Server 2003 SP2 および Windows Server 2008 用プラットフォーム更新プログラム [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー uiautomationclient.h (UIAutomation.h を含む)

関連項目

UI オートメーションのプロパティとコントロール パターンのキャッシュ

概念

FindAll

FindFirst の

FindFirstBuildCache の

IUIAutomationElement の

UI オートメーション要素の取得

リファレンス