IUIAutomationTreeWalker::NormalizeElementBuildCache method

Retrieves the ancestor element nearest to the specified Microsoft UI Automation element in the tree view, prefetches the requested properties and control patterns, and stores the prefetched items in the cache.


HRESULT NormalizeElementBuildCache(
  IUIAutomationElement      *element,
  IUIAutomationCacheRequest *cacheRequest,
  IUIAutomationElement      **normalized



Type: IUIAutomationElement*

A pointer to the element from which to start the normalization.


Type: IUIAutomationCacheRequest*

A pointer to a cache request that specifies the properties and control patterns to cache on the returned element.


Type: IUIAutomationElement**

Receives a pointer to the ancestor element nearest to the specified element in the tree view.

Return Value


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


The element is normalized by navigating up the ancestor chain in the tree until an element that satisfies the view condition (specified by a previous call to IUIAutomationTreeWalker::Condition) is reached. If the root element is reached, the root element is returned, even if it does not satisfy the view condition.

This method is useful for applications that obtain references to UI Automation elements by hit-testing. The application might want to work only with specific types of elements, and can use IUIAutomationTreeWalker::NormalizeElement to make sure that no matter what element is initially retrieved (for example, when a scroll bar gets the input focus), only the element of interest (such as a content element) is ultimately retrieved.


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)