Функция SetThreadpoolWait (threadpoolapiset.h)

Задает объект wait, заменяя предыдущий объект ожидания, если таковой есть. Рабочий поток вызывает функцию обратного вызова объекта ожидания после того, как дескриптор получает сигнал или по истечении указанного времени ожидания.

Синтаксис

void SetThreadpoolWait(
  [in, out]      PTP_WAIT  pwa,
  [in, optional] HANDLE    h,
  [in, optional] PFILETIME pftTimeout
);

Параметры

[in, out] pwa

Указатель на структуру TP_WAIT , которая определяет объект ожидания. Функция CreateThreadpoolWait возвращает этот указатель.

[in, optional] h

Дескриптор.

Если этот параметр имеет значение NULL, объект wait перестанет ставить в очередь новые обратные вызовы (но обратные вызовы, уже помещенные в очередь, по-прежнему будут выполняться).

Если этот параметр не равен NULL, он должен ссылаться на допустимый объект, доступный для ожидания.

Если этот дескриптор закрыт, пока ожидание еще не завершено, поведение функции не определено. Если ожидание по-прежнему ожидается и дескриптор должен быть закрыт, используйте closeThreadpoolWait , чтобы отменить ожидание, а затем закрыть дескриптор.

Ожидание считается установленным, если этот параметр имеет значение, отличное от NULL.

[in, optional] pftTimeout

Указатель на структуру FILETIME , задающий абсолютное или относительное время, в течение которого должно истекать время ожидания. Если этот параметр указывает на положительное значение, он указывает абсолютное время с 1 января 1601 г. (UTC) в 100-наносекундных интервалах. Если этот параметр указывает на отрицательное значение, он указывает время ожидания относительно текущего времени. Дополнительные сведения о значениях времени см. в разделе File Times.

Если этот параметр указывает на 0, время ожидания истекает немедленно. Если этот параметр имеет значение NULL, время ожидания не истекает.

Возвращаемое значение

None

Remarks

Объект ожидания может ожидать только один дескриптор. Установка дескриптора для объекта ожидания заменяет предыдущий дескриптор , если таковой имеется.

Чтобы активировать обратный вызов ожидания, необходимо повторно зарегистрировать событие в объекте wait, прежде чем каждый раз сигнализировать о нем.

Чтобы скомпилировать приложение, использующее эту функцию, определите _WIN32_WINNT как 0x0600 или выше.

Примеры

Пример см. в разделе Использование функций пула потоков.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header threadpoolapiset.h (включает Windows.h в Windows 7, Windows Server 2008 Windows Server 2008 R2)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

CloseThreadpoolWait

CreateThreadpoolWait

SetThreadpoolWaitEx

Пулы потоков

WaitForThreadpoolWaitCallbacks