функция обратного вызова PFN_WSK_LISTEN (wsk.h)

Функция WskListen позволяет сокету потока прослушивать входящие подключения по связанному адресу сокета.

Синтаксис

PFN_WSK_LISTEN PfnWskListen;

NTSTATUS PfnWskListen(
  [in]      PWSK_SOCKET Socket,
  [in, out] PIRP Irp
)
{...}

Параметры

[in] Socket

Указатель на структуру WSK_SOCKET , указывающую объект сокета для сокета потока, прослушивающего входящее подключение. Этот сокет должен быть ранее привязан к локальному транспортному адресу путем вызова WskBind.

[in, out] Irp

Указатель на выделенный вызывающим методом IRP, который подсистема WSK использует для асинхронного завершения операции прослушивания. Дополнительные сведения об использовании IRP с функциями WSK см. в статье Использование irPs с функциями ядра Winsock.

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

WskListen возвращает один из следующих кодов NTSTATUS:

Код возврата Описание
STATUS_SUCCESS
Сокет потока успешно прослушивает входящее подключение. IRP будет завершен с состоянием успешного выполнения.
STATUS_PENDING
IRP помещен в очередь подсистемой WSK, которая ожидает входящего подключения к сокету потока.
STATUS_FILE_FORCED_CLOSED
Сокет больше не работает. IRP будет завершен с состоянием сбоя. Приложение WSK должно вызвать функцию WskCloseSocket , чтобы как можно скорее закрыть сокет.
Другие коды состояния
Произошла ошибка. IRP будет завершен с состоянием сбоя.

Комментарии

Приложение WSK может вызывать функцию WskListen только в сокете потока, который приложение ранее привязывало к локальному транспортному адресу, вызвав функцию WskBind . После успешного вызова WskListen в сокете потока сокет фиксируется в потоке прослушивания сокета и больше не может вызывать функции сокета, ориентированные на подключение.

Требования

Требование Значение
Минимальная версия клиента Windows 10 версии 1703
Целевая платформа Универсальное
Верхняя часть wsk.h (включая Wsk.h)
IRQL <= DISPATCH_LEVEL

См. также раздел

WSK_PROVIDER_STREAM_DISPATCH

WSK_SOCKET

WskAccept

WskBind

WskCloseSocket