Funzione WaitForInputIdle (winuser.h)
Attende fino al termine dell'elaborazione dell'input iniziale e attende l'input dell'utente senza input in sospeso o finché l'intervallo di timeout non è trascorso.
Sintassi
DWORD WaitForInputIdle(
[in] HANDLE hProcess,
[in] DWORD dwMilliseconds
);
Parametri
[in] hProcess
Handle per il processo. Se questo processo è un'applicazione console o non ha una coda di messaggi, WaitForInputIdle restituisce immediatamente.
[in] dwMilliseconds
Intervallo di timeout, in millisecondi. Se dwMilliseconds è INFINITE, la funzione non restituisce finché il processo non è inattiva.
Valore restituito
Nella tabella seguente vengono illustrati i possibili valori restituiti per questa funzione.
Codice/valore restituito | Descrizione |
---|---|
|
L'attesa è stata soddisfatta correttamente. |
|
L'attesa è stata terminata perché l'intervallo di timeout è trascorso. |
|
Si è verificato un errore. |
Commenti
La funzione WaitForInputIdle consente a un thread di sospendere l'esecuzione fino al termine del processo specificato e di attendere l'input dell'utente senza input in sospeso. Se il processo ha più thread, la funzione WaitForInputIdle restituisce non appena un thread diventa inattiva.
WaitForInputIdle può essere usato in qualsiasi momento, non solo durante l'avvio dell'applicazione. Tuttavia, WaitForInputIdle attende una sola volta che un processo diventi inattiva; le chiamate WaitForInputIdle successive restituiscono immediatamente, se il processo è inattiva o occupato.
WaitForInputIdle può essere utile per sincronizzare un processo padre e un processo figlio appena creato. Quando un processo padre crea un processo figlio, la funzione CreateProcess restituisce senza attendere il completamento dell'inizializzazione del processo figlio. Prima di provare a comunicare con il processo figlio, il processo padre può usare la funzione WaitForInputIdle per determinare quando è stata completata l'inizializzazione del figlio. Ad esempio, il processo padre deve usare la funzione WaitForInputIdle prima di cercare una finestra associata al processo figlio.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | winuser.h (include Windows.h) |
Libreria | User32.lib |
DLL | User32.dll |
Set di API | ext-ms-win-ntuser-misc-l1-1-0 (introdotto in Windows 8) |