ITextRangeProvider::GetChildren method (uiautomationcore.h)
Retrieves a collection of all elements that are both contained (either partially or completely) within the specified text range, and are child elements of the enclosing element for the specified text range.
HRESULT GetChildren( [out, retval] SAFEARRAY **pRetVal );
[out, retval] pRetVal
An array of pointers to the IRawElementProviderSimple interfaces for all child elements that are enclosed by the text range (sorted by the Start endpoint of their ranges).
If the text range does not include any child elements, an empty collection is returned.
This parameter is passed uninitialized.
If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.
Each element retrieved with ITextRangeProvider::GetChildren has a valid text range that can be retrieved through RangeFromChild. This includes any elements in the UI Automation tree between the ITextProvider and the child element.
This example shows a text stream that contains an image link. The link is a child of the image, but both span the same text range and are exposed as embedded objects within the text stream.
Hello <Image Link> World
- Both image and link are also descendents of the stream's ITextProvider, and either can be specified as the childElement in a call to ITextProvider::RangeFromChild.
- Calling ITextRangeProvider::RangeFromChild, using either the image or the link, returns the same text range (Range1).
- GetChildren does not return the link.
- GetEnclosingElement does not return the image for any text range.
- GetEnclosingElement on Range1 returns the link.
- GetChildren on Range1 does not return any children.
- GetEnclosingElement on the text range for the stream's ITextProvider returns the provider.
- GetChildren on the text range for the stream's ITextProvider returns only the image.
This example shows a text stream that contains a two-cell table surrounded by text.
Table Cell 1 Table Cell 2
- Case 1: The stream's ITextProvider and entire text range
- Case 2: Text range obtained by calling ITextProvider::RangeFromChild on the table element:
- Case 3: Text range that spans the visual content of Table Cell 1 Table Cell 2:
- Case 4: Text range that spans the the word Cell of Table Cell 1:
- Case 5: A degenerate (empty) text range that represents both starts (table and first cell):
|Minimum supported client||Windows XP [desktop apps | UWP apps]|
|Minimum supported server||Windows Server 2003 [desktop apps | UWP apps]|
|Header||uiautomationcore.h (include UIAutomation.h)|