IUIAutomationElement::FindAllBuildCache method (uiautomationclient.h)

Returns all UI Automation elements that satisfy the specified condition, prefetches the requested properties and control patterns, and stores the prefetched items in the cache.

Syntax

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

Parameters

[in] scope

Type: TreeScope

A combination of values specifying the scope of the search.

[in] condition

Type: IUIAutomationCondition*

A pointer to a condition that represents the criteria to match.

[in] cacheRequest

Type: IUIAutomationCacheRequest*

A pointer to a cache request that specifies the control patterns and properties to include in the cache.

[out, retval] found

Type: IUIAutomationElementArray**

Receives a pointer to an array of matching elements. If there are no matches, NULL is returned.

Return value

Type: HRESULT

If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.

Remarks

The scope of the search is relative to the element on which the method is called. Elements are returned in the order in which they were encountered in the tree.

This function cannot search for ancestor elements in the Microsoft UI Automation tree; that is, TreeScope_Ancestors is not a valid value for the scope parameter.

When searching for top-level windows on the desktop, be sure to specify TreeScope_Children in the scope parameter, not TreeScope_Descendants. A search through the entire subtree of the desktop could iterate through thousands of items and lead to a stack overflow.

If your client application might try to find elements in its own user interface, you must make all UI Automation calls on a separate thread.

Requirements

Requirement Value
Minimum supported client Windows 7, Windows Vista with SP2 and Platform Update for Windows Vista, Windows XP with SP3 and Platform Update for Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 R2, Windows Server 2008 with SP2 and Platform Update for Windows Server 2008, Windows Server 2003 with SP2 and Platform Update for Windows Server 2008 [desktop apps only]
Target Platform Windows
Header uiautomationclient.h (include UIAutomation.h)

See also

Caching UI Automation Properties and Control Patterns

Conceptual

FindAll

FindFirst

FindFirstBuildCache

IUIAutomationElement

Obtaining UI Automation Elements

Reference