IWindowProvider::WaitForInputIdle method (uiautomationcore.h)

Causes the calling code to block for the specified time or until the associated process enters an idle state, whichever completes first.


HRESULT WaitForInputIdle(
  [in]          int  milliseconds,
  [out, retval] BOOL *pRetVal


[in] milliseconds

Type: int

The amount of time, in milliseconds, to wait for the associated process to become idle. The maximum is Int32.MaxValue.

[out, retval] pRetVal

Type: BOOL*

Receives TRUE if the window has entered the idle state; FALSE if the time-out occurred. This parameter is passed uninitialized.

Return value


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


This method is typically used in conjunction with the handling of a UIA_Window_WindowOpenedEventId. The implementation is dependent on the underlying application framework; therefore this method might return some time after the window is ready for user input. The calling code should not rely on this method to ascertain exactly when the window has become idle. Use the value of pRetVal to determine if the window is ready for input or if the method timed out.


Minimum supported client Windows XP [desktop apps | UWP apps]
Minimum supported server Windows Server 2003 [desktop apps | UWP apps]
Target Platform Windows
Header uiautomationcore.h (include UIAutomation.h)

See also


UI Automation Providers Overview