Compartilhar via


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 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 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

CreateThreadpoolWait

SetThreadpoolWaitEx

pools de threads

WaitForThreadpoolWaitCallbacks