Função SetThreadpoolWait (threadpoolapiset.h)
Define o objeto de espera, substituindo o objeto de espera anterior, se houver. Um thread de trabalho chama a função de retorno de chamada do objeto de espera depois que o identificador é sinalizado ou após o tempo limite especificado expirar.
Sintaxe
void SetThreadpoolWait(
[in, out] PTP_WAIT pwa,
[in, optional] HANDLE h,
[in, optional] PFILETIME pftTimeout
);
Parâmetros
[in, out] pwa
Um ponteiro para uma estrutura TP_WAIT que define o objeto de espera. A função CreateThreadpoolWait
[in, optional] h
Um identificador.
Se esse parâmetro for NULL, o objeto de espera deixará de enfileirar novos retornos de chamada (mas os retornos de chamada já enfileirados ainda ocorrerão).
Se esse parâmetro não for NULL, ele deverá se referir a um objeto de espera válido.
Não há suporte para o Mutex. Se um identificador para um mutex for passado, o pool de threads gerará uma exceção STATUS_THREADPOOL_HANDLE_EXCEPTION e ExceptionRecord.ExceptionInformation[0] será igual a STATUS_INVALID_PARAMETER_3.
Se esse identificador estiver fechado enquanto a espera ainda estiver pendente, o comportamento da função será indefinido. Se a espera ainda estiver pendente e o identificador precisar ser fechado, use CloseThreadpoolWait para cancelar a espera e fechar o identificador.
A espera será considerada definida se esse parâmetro não for NULL.
[in, optional] pftTimeout
Um ponteiro para uma estrutura FILETIME que especifica o tempo absoluto ou relativo em que a operação de espera deve acabar. Se esse parâmetro apontar para um valor positivo, ele indicará o tempo absoluto desde 1º de janeiro de 1601 (UTC), em intervalos de 100 nanossegundos. Se esse parâmetro apontar para um valor negativo, ele indicará a quantidade de tempo para aguardar em relação à hora atual. Para obter mais informações sobre valores de tempo, consulte File Times.
Se esse parâmetro apontar para 0, a espera atingirá o tempo limite imediatamente. Se esse parâmetro for NULL, a espera não terá tempo limite.
Valor de retorno
Nenhum
Observações
Um objeto de espera pode aguardar apenas um identificador. Definir o identificador de um objeto de espera substitui o identificador anterior, se houver.
Você deve registrar novamente o evento com o objeto de espera antes de sinalizá-lo todas as vezes para disparar o retorno de chamada de espera.
Para compilar um aplicativo que usa essa função, defina _WIN32_WINNT como 0x0600 ou superior.
Exemplos
Para obter um exemplo, consulte Usando as funções do pool de threads.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows Vista [aplicativos da área de trabalho | Aplicativos UWP] |
servidor com suporte mínimo | Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP] |
da Plataforma de Destino |
Windows |
cabeçalho | threadpoolapiset.h (inclua Windows.h no Windows 7, Windows Server 2008 Windows Server 2008 R2) |
biblioteca | Kernel32.lib |
de DLL |
Kernel32.dll |
Consulte também
CloseThreadpoolWait
SetThreadpoolWaitEx