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

Создает новый объект завершения ввода-вывода.

Синтаксис

PTP_IO CreateThreadpoolIo(
  [in]                HANDLE                fl,
  [in]                PTP_WIN32_IO_CALLBACK pfnio,
  [in, out, optional] PVOID                 pv,
  [in, optional]      PTP_CALLBACK_ENVIRON  pcbe
);

Параметры

[in] fl

Дескриптор файла для привязки к этому объекту завершения ввода-вывода.

[in] pfnio

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

[in, out, optional] pv

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

[in, optional] pcbe

Указатель на структуру TP_CALLBACK_ENVIRON , которая определяет среду, в которой выполняется обратный вызов. Используйте функцию InitializeThreadpoolEnvironment , чтобы инициализировать структуру перед вызовом этой функции.

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

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

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

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

Комментарии

Чтобы начать получать перекрывающиеся обратные вызовы завершения ввода-вывода, вызовите функцию StartThreadpoolIo .

Если дескриптор файла, привязанный к объекту завершения ввода-вывода, имеет режим уведомлений FILE_SKIP_COMPLETION_PORT_ON_SUCCESS и асихронная операция ввода-вывода возвращается немедленно с успехом, функция обратного вызова завершения ввода-вывода не вызывается и уведомления о потоковых пулах ввода-вывода должны быть отменены. Дополнительные сведения см. в разделе CancelThreadpoolIo.

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

См. также

CancelThreadpoolIo

CloseThreadpoolIo

StartThreadpoolIo

Пулы потоков

WaitForThreadpoolIoCallbacks