I​Invoke​Provider I​Invoke​Provider I​Invoke​Provider I​Invoke​Provider Interface


Exposes a method to support Microsoft UI Automation access to controls that initiate or perform a single, unambiguous action and do not maintain state when activated. Implement this interface in order to support the capabilities that an automation client requests with a GetPattern call and PatternInterface.Invoke.

public : interface IInvokeProviderpublic interface IInvokeProviderPublic Interface IInvokeProvider// This API is not available in Javascript.
Windows 10 requirements
Device family
Windows 10 (introduced v10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduced v1)


An example of a control that meets the guidelines of IInvokeProvider is Button. Controls that do maintain state, such as check boxes and radio buttons, must instead implement IToggleProvider and ISelectionProvider respectively. Controls implement IInvokeProvider if the same behavior is not exposed through another control pattern provider. For more info on what this pattern is for, see Invoke Control Pattern.

IInvokeProvider is implemented by the existing Windows Runtime automation peers for Button (ButtonAutomationPeer ), RepeatButton (RepeatButtonAutomationPeer ) and HyperlinkButton (HyperlinkButtonAutomationPeer ).

If you implement IInvokeProvider for a list/list items scenario and a control that uses ListViewBase, implement IInvokeProvider for the list and not for individual items.

The IInvokeProvider pattern doesn't have a pattern property identifier class, the only API to implement is Invoke, a method.


Invoke() Invoke() Invoke() Invoke()

Sends a request to initiate or perform the single, unambiguous action of the provider control. For example, the invoke action for a Button is click.

public : void Invoke()public void Invoke()Public Function Invoke() As void// This API is not available in Javascript.

See Also