Función WaitForInputIdle (winuser.h)
Espera hasta que el proceso especificado haya terminado de procesar su entrada inicial y esté esperando la entrada del usuario sin entrada pendiente o hasta que haya transcurrido el intervalo de tiempo de espera.
Sintaxis
DWORD WaitForInputIdle(
[in] HANDLE hProcess,
[in] DWORD dwMilliseconds
);
Parámetros
[in] hProcess
Identificador del proceso. Si este proceso es una aplicación de consola o no tiene una cola de mensajes, WaitForInputIdle devuelve inmediatamente.
[in] dwMilliseconds
El intervalo de tiempo de espera en milisegundos. Si dwMilliseconds es INFINITE, la función no devuelve hasta que el proceso está inactivo.
Valor devuelto
En la tabla siguiente se muestran los posibles valores devueltos para esta función.
Código o valor devuelto | Descripción |
---|---|
|
La espera se ha satisfecho correctamente. |
|
Se finalizó la espera porque el intervalo de tiempo de espera transcurrido. |
|
Se produjo un error. |
Comentarios
La función WaitForInputIdle permite que un subproceso suspenda su ejecución hasta que el proceso especificado haya terminado su inicialización y esté esperando la entrada del usuario sin entrada pendiente. Si el proceso tiene varios subprocesos, la función WaitForInputIdle devuelve tan pronto como cualquier subproceso se vuelva inactivo.
WaitForInputIdle se puede usar en cualquier momento, no solo durante el inicio de la aplicación. Sin embargo, WaitForInputIdle espera solo una vez para que un proceso se vuelva inactivo; Las llamadas a WaitForInputIdle posteriores se devuelven inmediatamente, tanto si el proceso está inactivo como ocupado.
WaitForInputIdle puede ser útil para sincronizar un proceso primario y un proceso secundario recién creado. Cuando un proceso primario crea un proceso secundario, la función CreateProcess devuelve sin esperar a que el proceso secundario finalice su inicialización. Antes de intentar comunicarse con el proceso secundario, el proceso primario puede usar la función WaitForInputIdle para determinar cuándo se ha completado la inicialización del elemento secundario. Por ejemplo, el proceso primario debe usar la función WaitForInputIdle antes de intentar buscar una ventana asociada al proceso secundario.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | winuser.h (incluir Windows.h) |
Library | User32.lib |
Archivo DLL | User32.dll |
Conjunto de API | ext-ms-win-ntuser-misc-l1-1-0 (introducido en Windows 8) |