Windows apps
Collapse the table of content
Expand the table of content
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

IWindowProvider::WaitForInputIdle method

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


milliseconds [in]

Type: int

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

pRetVal [out, retval]

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 | Windows Store apps]

Minimum supported server

Windows Server 2003 [desktop apps | Windows Store apps]


UIAutomationCore.h (include UIAutomation.h)



See also

UI Automation Providers Overview



© 2016 Microsoft