次の方法で共有


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

指定した条件に一致する最初の子要素または子孫要素を取得し、要求されたプロパティとコントロール パターンをプリフェッチし、プリフェッチされた項目をキャッシュに格納します。

構文

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

パラメーター

[in] scope

型: TreeScope

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

[in] condition

型: IUIAutomationCondition*

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

[in] cacheRequest

型: IUIAutomationCacheRequest*

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

[out, retval] found

型: IUIAutomationElement**

一致する要素へのポインターを受け取るか、一致する要素が見つからない場合は NULL を します。

戻り値

型: HRESULT

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

備考

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

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

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

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

生のツリーを検索するには、cacheRequest パラメーターに適切な TreeScope を指定します。

必要条件

要件 価値
サポートされる最小クライアント 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

FindAllBuildCache の

FindFirst の

IUIAutomationElement の

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

リファレンス