Поделиться через


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

Создает новый объект wait.

Синтаксис

PTP_WAIT CreateThreadpoolWait(
  [in]                PTP_WAIT_CALLBACK    pfnwa,
  [in, out, optional] PVOID                pv,
  [in, optional]      PTP_CALLBACK_ENVIRON pcbe
);

Параметры

[in] pfnwa

Функция обратного вызова, вызываемая после завершения ожидания или времени ожидания. Дополнительные сведения см. в разделе WaitCallback.

[in, out, optional] pv

Необязательные данные, определяемые приложением, для передачи в функцию обратного вызова.

[in, optional] pcbe

Структура TP_CALLBACK_ENVIRON , определяющая среду, в которой выполняется обратный вызов. Функция InitializeThreadpoolEnvironment возвращает эту структуру.

Если этот параметр имеет значение NULL, обратный вызов выполняется в среде обратного вызова по умолчанию. Дополнительные сведения см. в разделе InitializeThreadpoolEnvironment.

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

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

Если функция завершается сбоем, она возвращает значение NULL. Чтобы получить расширенные сведения об ошибке, вызовите Метод GetLastError.

Комментарии

Чтобы задать объект wait, вызовите функцию SetThreadpoolWait или SetThreadpoolWaitEx .

Рабочий элемент и все вызываемые им функции не должны полагаться на поток после их возврата. Поэтому нельзя вызвать асинхронный вызов, требующий постоянного потока, например функции RegNotifyChangeKeyValue без флага REG_NOTIFY_THREAD_AGNOSTIC , из среды обратного вызова по умолчанию. Вместо этого используйте поток, время существования которого вы контролируете.

Чтобы скомпилировать приложение, использующее эту функцию, определите _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

SetThreadpoolWait

Пулы потоков

WaitForThreadpoolWaitCallbacks