WaitForInputIdle, fonction (winuser.h)
Attend que le processus spécifié ait terminé le traitement de son entrée initiale et attend l’entrée utilisateur sans entrée en attente, ou jusqu’à ce que l’intervalle de délai d’attente soit écoulé.
Syntaxe
DWORD WaitForInputIdle(
[in] HANDLE hProcess,
[in] DWORD dwMilliseconds
);
Paramètres
[in] hProcess
Handle du processus. Si ce processus est une application console ou n’a pas de file d’attente de messages, WaitForInputIdle retourne immédiatement.
[in] dwMilliseconds
Intervalle de délai d’attente, en millisecondes. Si dwMillisecondes est INFINITE, la fonction ne retourne pas tant que le processus n’est pas inactif.
Valeur retournée
Le tableau suivant montre les valeurs de retour possibles pour cette fonction.
Code/valeur de retour | Description |
---|---|
|
L’attente a été satisfaite avec succès. |
|
L’attente s’est terminée car l’intervalle de délai d’attente s’est écoulé. |
|
Une erreur est survenue. |
Remarques
La fonction WaitForInputIdle permet à un thread de suspendre son exécution jusqu’à ce que le processus spécifié ait terminé son initialisation et attende l’entrée de l’utilisateur sans aucune entrée en attente. Si le processus a plusieurs threads, la fonction WaitForInputIdle retourne dès qu’un thread devient inactif.
WaitForInputIdle peut être utilisé à tout moment, pas seulement pendant le démarrage de l’application. Toutefois, WaitForInputIdle n’attend qu’une seule fois qu’un processus devienne inactif ; Les appels WaitForInputIdle suivants retournent immédiatement, que le processus soit inactif ou occupé.
WaitForInputIdle peut être utile pour synchroniser un processus parent et un processus enfant nouvellement créé. Lorsqu’un processus parent crée un processus enfant, la fonction CreateProcess retourne sans attendre que le processus enfant termine son initialisation. Avant d’essayer de communiquer avec le processus enfant, le processus parent peut utiliser la fonction WaitForInputIdle pour déterminer quand l’initialisation de l’enfant a été terminée. Par exemple, le processus parent doit utiliser la fonction WaitForInputIdle avant d’essayer de trouver une fenêtre associée au processus enfant.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | winuser.h (inclure Windows.h) |
Bibliothèque | User32.lib |
DLL | User32.dll |
Ensemble d’API | ext-ms-win-ntuser-misc-l1-1-0 (introduit dans Windows 8) |