Função SetThreadpoolWaitEx (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
BOOL SetThreadpoolWaitEx(
[in, out] PTP_WAIT pwa,
[in, optional] HANDLE h,
[in, optional] PFILETIME pftTimeout,
PVOID Reserved
);
Parâmetros
[in, out] pwa
Um ponteiro para uma estrutura TP_WAIT que define o objeto de espera. A função CreateThreadpoolWait retorna esse ponteiro.
[in, optional] h
Um identificador.
Se esse parâmetro for NULL, o objeto de espera deixará de enfileirar novos retornos de chamada (mas ainda ocorrerão retornos de chamada já enfileirados).
Se esse parâmetro não for NULL, ele deverá se referir a um objeto de espera válido.
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, em seguida, feche 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 atingir o tempo limite. 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 de espera em relação à hora atual. Se esse parâmetro apontar para zero, a espera atingirá o tempo limite imediatamente. Para obter mais informações sobre valores de tempo, consulte Tempos de Arquivo.
Se esse parâmetro for NULL, a espera não atingirá o tempo limite.
Reserved
Reservado. Precisa ser NULL.
Retornar valor
Retorna TRUE se a espera foi definida anteriormente e foi cancelada. Caso contrário, retornará FALSE.
Se o estado anterior da espera for "definido" e a função retornar FALSE, um retorno de chamada estará em andamento ou prestes a começar. Confira as observações para obter mais discussões.
Comentários
Um objeto de espera pode aguardar apenas um identificador. Definir o identificador de um objeto de espera substitui o identificador de espera anterior, se houver.
Em alguns casos, as funções de retorno de chamada podem ser executadas depois que um aplicativo fecha o temporizador do threadpool. Para evitar esse comportamento, um aplicativo deve seguir as etapas descritas em CloseThreadpoolWait.
Se o tempo limite especificado por pftTimeout for relativo, o tempo que o sistema passa em suspensão ou hibernação não conta para a expiração da espera. A espera é sinalizada quando a quantidade cumulativa de tempo decorrido que o sistema passa no estado de vigília é igual ao tempo limite relativo da espera. Se o tempo limite especificado por pftTimeout for absoluto, o tempo que o sistema passa em suspensão ou hibernação conta para a expiração da espera. Se a espera expirar enquanto o sistema estiver em suspensão, a espera será sinalizada imediatamente quando o sistema for ativado.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 8 [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2012 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | threadpoolapiset.h |
Biblioteca | Kernel32.lib |
DLL | Kernel32.dll |