UIAutomationProvider Provides support for communication between UI Automation providers and UI Automation client applications. Contains a value that, when returned as the first element of the array passed by the UI Automation provider to , indicates that the ID is partial and should be appended to the ID provided by the base provider. Gets a value that specifies whether any UI Automation client application is subscribed to UI Automation events. true if a client is subscribed to events; otherwise false. Returns a UI Automation provider that represents the specified window. The raw element provider for the specified window. The handle of the window. Specifies the maximum number of events to send before batching. Raises a pattern event or a custom event. The event identifier. The element associated with the event. Information about the event. Raises an event when a UI Automation property has changed.  The element associated with the event. Information about the event. Raises an event when the UI Automation tree has changed. The element associated with the event. Information about the event. Returns the UI automation provider for an element in response to a WM_GETOBJECT message. A pointer to data that should be assigned to before passing the message to the base window procedure. Handle of the element's window. The wParam member of the WM_GETOBJECT message. The lParam member of the WM_GETOBJECT message. The UI Automation provider for the element. Contains a value used in the lParam member of a WM_GETOBJECT message, indicating that the server should return a reference to the root raw element provider. Exposes methods and properties to support UI Automation client access to controls that expose their dock properties within a docking container. Gets the current of the control within a docking container. The of the control, relative to the boundaries of the docking container and other elements within the container. Docks the control within a docking container. The dock position, relative to the boundaries of the docking container and other elements within the container. Exposes methods and properties to support UI Automation client access to controls that visually expand to display content and collapse to hide content. Hides all nodes, controls, or content that are descendants of the control. Displays all child nodes, controls, or content of the control. Gets the state, expanded or collapsed, of the control. The state, expanded or collapsed, of the control. Exposes methods and properties to support UI Automation client access to individual child controls of containers that implement . Gets the ordinal number of the column that contains the cell or item. A zero-based ordinal number that identifies the column containing the cell or item. Gets the number of columns spanned by a cell or item. The number of columns spanned. Gets a UI Automation provider that implements and represents the container of the cell or item. A UI Automation provider that implements the and represents the cell or item container. Gets the ordinal number of the row that contains the cell or item. A zero-based ordinal number that identifies the row containing the cell or item. Gets the number of rows spanned by a cell or item. The number of rows spanned. Exposes methods and properties to support UI Automation client access to controls that act as containers for a collection of child elements. The children of this element must implement and be organized in a two-dimensional logical coordinate system that can be traversed (that is, a UI Automation client can move to adjacent controls) by using the keyboard. Gets the total number of columns in a grid. The total number of columns in a grid. Retrieves the UI Automation provider for the specified cell. The UI Automation provider for the specified cell. The ordinal number of the row of interest. The ordinal number of the column of interest. Gets the total number of rows in a grid. The total number of rows in a grid. Exposes methods and properties to support UI Automation client access to controls that initiate or perform a single, unambiguous action and do not maintain state when activated. Sends a request to activate a control and initiate its single, unambiguous action. If the control is not enabled. Exposes methods and properties to support UI Automation client access to controls that provide, and are able to switch between, multiple representations of the same set of information or child controls. Gets the current control-specific view. The value for the current view of the UI Automation element. Retrieves a collection of control-specific view identifiers. A collection of values that identifies the views available for a UI Automation element. Retrieves the name of a control-specific view. A localized name for the view. The view identifier. is not a member of the supported views collection. Sets the current control-specific view. A view identifier. is not a member of the supported views collection. Exposes methods and properties to support UI Automation client access to controls that can be set to a value within a range. Gets a value that specifies whether the value of a control is read-only. true if the value is read-only; false if it can be modified. Gets the value that is added to or subtracted from the property when a large change is made, such as with the PAGE DOWN key. The large-change value supported by the control or null (Nothing in Microsoft Visual Basic .NET) if the control does not support . Gets the maximum range value supported by the control. The maximum value supported by the control or null (Nothing in Microsoft Visual Basic .NET) if the control does not support . Gets the minimum range value supported by the control. The minimum value supported by the control or null (Nothing in Microsoft Visual Basic .NET) if the control does not support . Sets the value of the control. The value to set. When is less than the minimum or greater than the maximum value of the control. Gets the value that is added to or subtracted from the property when a small change is made, such as with an arrow key. The small-change value or null (Nothing in Microsoft Visual Basic .NET) if the control does not support . Gets the value of the control. The value of the control or null (Nothing in Microsoft Visual Basic .NET) if the control does not support . Exposes methods that are called to notify the root element of a fragment when a UI Automation client application begins or ends listening for events. Notifies the UI Automation provider when a UI Automation client begins listening for a specific event, including a property-changed event. The identifier of the event being added. The identifiers of the properties being added, or null if the event listener being added is not listening for property events. Notifies the UI Automation provider when a UI Automation client stops listening for a specific event, including a property-changed event. The identifier of the event being removed The identifiers of the properties being removed, or null if the event listener being removed is not listening for property events. Exposes methods and properties on user interface (UI) elements that are part of a structure more than one level deep, such as a list box or a list item. Implemented by UI Automation providers. Gets the bounding rectangle of this element. The bounding rectangle, in screen coordinates. Retrieves the root node of the fragment. The root node. Retrieves an array of fragment roots that are embedded in the UI Automation element tree rooted at the current element. An array of root fragments, or null. Retrieves the runtime identifier of an element. The unique run-time identifier of the element. Retrieves the UI Automation element in a specified direction within the tree. The element in the specified direction, or null if there is no element in that direction The direction in which to navigate. Sets the focus to this element. Exposes methods and properties on the root element in a fragment. Retrieves the element in this fragment that is at the specified point. The provider for the child element at the specified point, if one exists, or the root provider if the point is on this element but not on any child element. Otherwise returns null. The X coordinate,. The Y coordinate. Retrieves the element in this fragment that has the input focus. The provider for the element in this fragment that has the input focus, if any; otherwise, a null reference (Nothing in Visual Basic). Exposes a method that enables repositioning of window-based elements within the UI Automation tree of the fragment. Retrieves a UI automation provider for the specified element. The provider for the specified element, or a null reference (Nothing in Microsoft Visual Basic .NET) if the element's default provider is not being overridden. The window handle of the element. Provides methods and properties that expose basic information about a UI element. Retrieves an object that provides support for a control pattern on a UI Automation element. Object that implements the pattern interface, or null if the pattern is not supported. Identifier of the pattern. Retrieves the value of a property supported by the UI Automation provider. The property value, or a null if the property is not supported by this provider, or if it is not supported at all. The property identifier. Gets a base provider for this element. The base provider, or null. Gets a value that specifies characteristics of the UI Automation provider; for example, whether it is a client-side or server-side provider. Either or . Exposes methods and properties to support UI Automation client access to individual child controls of containers that implement . Scrolls the content area of a container object in order to display the control within the visible region (viewport) of the container. The item cannot be scrolled into view. Exposes methods and properties to support UI Automation client access to a control that acts as a scrollable container for a collection of child objects. The children of this control must implement . Gets a value that indicates whether the control can scroll horizontally. true if the control can scroll horizontally; otherwise false. Gets the current horizontal scroll position. The horizontal scroll position as a percentage of the total content area within the control. Gets the current horizontal view size. The horizontal size of the viewable region as a percentage of the total content area within the control. Scrolls the visible region of the content area horizontally and vertically. The horizontal increment specific to the control. should be passed in if the control cannot be scrolled in this direction. The vertical increment specific to the control. should be passed in if the control cannot be scrolled in this direction. If a control supports values exclusively for horizontal or vertical scrolling but a value is passed in. An attempt is made to scroll in an unsupported direction. Sets the horizontal and vertical scroll position as a percentage of the total content area within the control. The horizontal position as a percentage of the content area's total range. should be passed in if the control cannot be scrolled in this direction. The vertical position as a percentage of the content area's total range. should be passed in if the control cannot be scrolled in this direction. A value that cannot be converted to a double is passed in. A value greater than 100 or less than 0 is passed in (except -1, which is equivalent to ). The and values are normalized to either 100 percent or 0 percent. An attempt is made to scroll in an unsupported direction. Gets a value that indicates whether the control can scroll vertically. true if the control can scroll vertically; otherwise false. Gets the current vertical scroll position. The vertical scroll position as a percentage of the total content area within the control. Gets the vertical view size. The vertical size of the viewable region as a percentage of the total content area within the control. Exposes methods and properties to support UI Automation client access to individual, selectable child controls of containers that implement . Adds the current element to the collection of selected items. Gets a value that indicates whether an item is selected. true if the element is selected; otherwise false. Removes the current element from the collection of selected items. Deselects any selected items and then selects the current element. Gets the UI Automation provider that implements and acts as the container for the calling object. The provider that supports . Exposes methods and properties to support UI Automation client access to controls that act as containers for a collection of individual, selectable child items. The children of this control must implement . Gets a value that specifies whether the UI Automation provider allows more than one child element to be selected concurrently. true if multiple selection is allowed; otherwise false. Retrieves a UI Automation provider for each child element that is selected. A collection of UI Automation providers. Gets a value that specifies whether the UI Automation provider requires at least one child element to be selected. true if selection is required; otherwise false. Exposes methods and properties to support UI Automation client access to child controls of containers that implement . Retrieves a collection of UI Automation providers representing all the column headers associated with a table item or cell. A collection of UI Automation providers. Retrieves a collection of UI Automation providers representing all the row headers associated with a table item or cell. A collection of UI Automation providers. Exposes methods and properties to support UI Automation client access to controls that act as containers for a collection of child elements. The children of this element must implement and be organized in a two-dimensional logical coordinate system that can be traversed (that is, a UI Automation client can move to adjacent controls) by using the keyboard. Gets a collection of UI Automation providers that represents all the column headers in a table. A collection of UI Automation providers. Retrieves a collection of UI Automation providers that represents all row headers in the table. A collection of UI Automation providers. Retrieves the primary direction of traversal for the table. The primary direction of traversal. Exposes methods and properties to support UI Automation client access to controls that contain text. Gets a text range that encloses the main text of a document. Retrieves a collection of disjoint text ranges associated with the current text selection or selections. A collection of disjoint text ranges. If the UI Automation provider does not support text selection. Retrieves an array of disjoint text ranges from a text container where each text range begins with the first partially visible line through to the end of the last partially visible line. The collection of visible text ranges within the container or an empty array. A null reference (Nothing in Microsoft Visual Basic .NET) is never returned. Retrieves a text range enclosing a child element such as an image, hyperlink, or other embedded object. A range that spans the child element. The enclosed object. If the child element is a null reference (Nothing in Microsoft Visual Basic .NET). Returns the degenerate (empty) text range nearest to the specified screen coordinates. A degenerate range nearest the specified location. A null reference (Nothing in Microsoft Visual Basic .NET) is never returned. The location in screen coordinates. If a given point is outside the UI Automation element associated with the text pattern. Gets a value that specifies whether a text provider supports selection and, if so, the type of selection supported. One of None, Single, or Multiple from . Exposes methods and properties to support UI Automation client access to a span of continuous text in a text container that implements . Adds to the collection of highlighted text in a text container that supports multiple, disjoint selections. If text provider does not support multiple, disjoint selections (that is, must have a value of Multiple). Returns a new identical to the original and inheriting all properties of the original. The new text range. A null reference (Nothing in Microsoft Visual Basic .NET) is never returned. Returns a value that indicates whether the span (the endpoint to the endpoint) of a text range is the same as another text range. true if the span of both text ranges is identical; otherwise false. A text range to compare If the range being compared does not come from the same text provider. Returns a value that specifies whether two text ranges have identical endpoints. Returns a negative value if the caller's endpoint occurs earlier in the text than the target endpoint. Returns zero if the caller's endpoint is at the same location as the target endpoint. Returns a positive value if the caller's endpoint occurs later in the text than the target endpoint. The or endpoint of the caller. The target range for comparison. The or endpoint of the target. If is from a different text provider. Expands the text range to the specified text unit. The textual unit. Returns a text range subset that has the specified attribute value. A text range having a matching attribute and attribute value; otherwise null (Nothing in Microsoft Visual Basic .NET). The attribute to search for. The attribute value to search for. This value must match the type specified for the attribute. true if the last occurring text range should be returned instead of the first; otherwise false. Returns a text range subset that contains the specified text. A text range matching the specified text; otherwise null (Nothing in Microsoft Visual Basic .NET). The text string to search for. true if the last occurring text range should be returned instead of the first; otherwise false. true if case should be ignored; otherwise false. Retrieves the value of the specified attribute across the text range. Retrieves an object representing the value of the specified attribute. For example, GetAttributeValue(TextPattern.FontNameAttribute) would return a string that represents the font name of the text range while GetAttributeValue(TextPattern.IsItalicAttribute) would return a value of type . Returns if the value of the specified attribute varies over the text range. Returns if the specified attribute is not supported by the provider or the control. The text attribute. If the specified attribute is not valid. Retrieves a collection of bounding rectangles for each fully or partially visible line of text in a text range. An array of bounding rectangles for each full or partial line of text in a text range. An empty array for a degenerate range. An empty array for a text range that has screen coordinates placing it completely off-screen, scrolled out of view, or obscured by an overlapping window. Retrieves a collection of all embedded objects that fall within the text range. A collection of child objects that fall within the range. Children that overlap with the text range but are not entirely enclosed by it will also be included in the collection. Returns an empty collection if there are no child objects. Returns the innermost control that encloses the text range. The enclosing control, typically the text provider that supplies the text range. However, if the text provider supports child elements such as tables or hyperlinks, then the enclosing element could be a descendant of the text provider. Retrieves the plain text of the range. The plain text of the text range, possibly truncated at the specified . The maximum length of the string to return. Use -1 if no limit is required. If is less than -1. Moves the text range the specified number of text units. The number of units actually moved. This can be less than the number requested if either of the new text range endpoints is greater than or less than the endpoints. The text unit boundary. The number of text units to move. A positive value moves the text range forward, a negative value moves the text range backward, and 0 has no effect. Moves one endpoint of a text range to the specified endpoint of a second text range. The endpoint to move. Another range from the same text provider. An endpoint on the other range. Moves one endpoint of the text range the specified number of text units within the document range. The number of units actually moved, which can be less than the number requested if moving the endpoint runs into the beginning or end of the document. The endpoint to move. The textual unit for moving. The number of units to move. A positive value moves the endpoint forward. A negative value moves backward. A value of 0 has no effect. Removes a highlighted section of text, corresponding to the caller's and endpoints, from the collection of highlighted text in a text container that supports multiple, disjoint selections. If text provider does not support multiple, disjoint selections (for example, must have a value of Multiple). Causes the text control to scroll vertically until the text range is visible in the viewport. true if the text control should be scrolled so the text range is flush with the top of the viewport; false if it should be flush with the bottom of the viewport. Highlights text in the text control corresponding to the text range and endpoints. Occurs when text selection is not supported by the text control. Exposes methods and properties to support UI Automation client access to controls that can cycle through a set of states and maintain a state once set. Cycles through the toggle states of a control. Gets the toggle state of the control. The of the control. Exposes methods and properties to support UI Automation client access to controls that can be moved, resized, or rotated within a two-dimensional space. Gets a value that specifies whether the control can be moved. true if the element can be moved; otherwise false. Gets a value that specifies whether the UI Automation element can be resized. true if the element can be resized; otherwise false. Gets a value that specifies whether the control can be rotated. true if the element can be rotated; otherwise false. Moves the control. Absolute screen coordinates of the left side of the control. Absolute screen coordinates of the top of the control. If the property is false. Resizes the control. The new width of the window, in pixels. The new height of the window, in pixels. If the property is false. Rotates the control. The number of degrees to rotate the control. A positive number rotates clockwise; a negative number rotates counterclockwise. If the property is false. Exposes methods and properties to support UI Automation client access to controls having an intrinsic value that does not span a range and that can be represented as a string. Gets a value that specifies whether the value of a control is read-only. true if the value is read-only; false if it can be modified. Sets the value of a control. If locale-specific information is passed to a control in an incorrect format such as an incorrectly formatted date. If a new value cannot be converted from a string to a format the control recognizes. When an attempt is made to manipulate a control that is not enabled. Gets the value of the control. The value of the control as a string. Exposes methods and properties to support UI Automation client access to controls that provide fundamental window-based functionality within a traditional graphical user interface (GUI). Attempts to close the window. When the control is unable to perform the requested action. When the target element is no longer available (for example, the window has closed). Gets the interaction state of the window. The of the control. Gets a value that specifies whether the window is modal. true if the window is modal; otherwise false. Gets a value that specifies whether the window is the topmost element in the z-order. true if the window is topmost; otherwise false. Gets a value that specifies whether the window can be maximized. true if the window can be maximized; otherwise false. Gets a value that specifies whether the window can be minimized. true if the window can be minimized; otherwise false. Changes the visual state of the window. For example, minimizes or maximizes it. The requested visual state of the window. When the control does not support the requested behavior. Gets the visual state of the window. The visual state of the window. Causes the calling code to block for the specified time or until the associated process enters an idle state, whichever completes first. true if the window has entered the idle state; false if the timeout occurred. The amount of time, in milliseconds, to wait for the associated process to become idle. The maximum is . When the parameter passed in is not a valid number. Contains values used to specify the direction of navigation within the UI Automation tree. The navigation direction is toward the parent. The navigation direction is to the next sibling. The navigation direction is to the previous sibling. The navigation direction is to the first child. The navigation direction is to the last child. Contains values that specify the type of UI Automation provider. The UI Automation provider is a client-side provider. The UI Automation provider is a server-side provider. The UI Automation provider is a non-client-area provider. The UI Automation provider overrides another provider. The UI Automation provider handles its own focus, and does not want UI Automation to set focus to the nearest window on its behalf when is called. This option is typically used by providers for windows that appear to take focus without actually receiving Win32 focus, such as menus and drop-down menus.