Voltar à lista
Windows Win32Sincronizaçãokernel32.dll

WaitForSingleObject

Bloqueia até que um objeto sincronizável (mutex, evento, semáforo, processo, thread, ...) seja sinalizado, ou até o timeout.

Descrição

Função de espera central e unificada do Windows: praticamente qualquer objeto do kernel pode ser 'esperado' com esta mesma API (um processo é sinalizado quando termina, uma thread quando termina, um mutex quando fica livre) — o Linux não tem uma primitiva genérica equivalente, usando mecanismos distintos por tipo (`waitpid` para processos, `pthread_join` para threads, `pthread_mutex_lock` para mutexes).

Header: synchapi.hDLL: kernel32.dllNative API: NtWaitForSingleObject

Assinatura

DWORD WaitForSingleObject(HANDLE hHandle, DWORD dwMilliseconds);

Parâmetros

ParâmetroTipoDescrição
hHandleHANDLEHandle do objeto a aguardar.
dwMillisecondsDWORDTempo máximo de espera; INFINITE para bloquear indefinidamente.

Valor de retorno

WAIT_OBJECT_0 se sinalizado, WAIT_TIMEOUT se o tempo expirou, WAIT_ABANDONED se era um mutex abandonado pelo dono anterior, ou WAIT_FAILED em erro (consulte GetLastError).

Códigos de erro (GetLastError)

ERROR_INVALID_HANDLE(6)
O identificador (handle) informado é inválido.

Relacionadas