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.
HRESULT FindAllBuildCache( TreeScope scope, IUIAutomationCondition *condition, IUIAutomationCacheRequest *cacheRequest, IUIAutomationElementArray **found );
A pointer to a condition that represents the criteria to match.
A pointer to a cache request that specifies the control patterns and properties to include in the cache.
Receives a pointer to an array of matching elements. If there are no matches, NULL is returned.
If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.
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.
|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]|
|Header||uiautomationclient.h (include UIAutomation.h)|