Função WaitForInputIdle (winuser.h)
Aguarda até que o processo especificado termine de processar sua entrada inicial e esteja aguardando a entrada do usuário sem entrada pendente ou até que o intervalo de tempo limite tenha decorrido.
Sintaxe
DWORD WaitForInputIdle(
[in] HANDLE hProcess,
[in] DWORD dwMilliseconds
);
Parâmetros
[in] hProcess
Um identificador para o processo. Se esse processo for um aplicativo de console ou não tiver uma fila de mensagens, WaitForInputIdle retornará imediatamente.
[in] dwMilliseconds
O intervalo de tempo limite em milissegundos. Se dwMilliseconds for INFINITE, a função não retornará até que o processo esteja ocioso.
Retornar valor
A tabela a seguir mostra os possíveis valores retornados para essa função.
Valor/código retornado | Descrição |
---|---|
|
A espera foi atendida com êxito. |
|
A espera foi encerrada porque o intervalo de tempo limite expirou. |
|
Ocorreu um erro. |
Comentários
A função WaitForInputIdle permite que um thread suspenda sua execução até que o processo especificado termine sua inicialização e esteja aguardando a entrada do usuário sem entrada pendente. Se o processo tiver vários threads, a função WaitForInputIdle retornará assim que qualquer thread ficar ocioso.
WaitForInputIdle pode ser usado a qualquer momento, não apenas durante a inicialização do aplicativo. No entanto, WaitForInputIdle aguarda apenas uma vez para que um processo fique ocioso; As chamadas waitForInputIdle subsequentes retornam imediatamente, independentemente de o processo ser ocioso ou ocupado.
WaitForInputIdle pode ser útil para sincronizar um processo pai e um processo filho recém-criado. Quando um processo pai cria um processo filho, a função CreateProcess retorna sem esperar que o processo filho conclua sua inicialização. Antes de tentar se comunicar com o processo filho, o processo pai pode usar a função WaitForInputIdle para determinar quando a inicialização do filho foi concluída. Por exemplo, o processo pai deve usar a função WaitForInputIdle antes de tentar encontrar uma janela associada ao processo filho.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | winuser.h (inclua Windows.h) |
Biblioteca | User32.lib |
DLL | User32.dll |
Conjunto de APIs | ext-ms-win-ntuser-misc-l1-1-0 (introduzido no Windows 8) |