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


функция обратного вызова 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 для асинхронного выполнения операции прослушивания. Дополнительные сведения об использовании irPs с функциями 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 (include Wsk.h)
IRQL <= DISPATCH_LEVEL

См. также

WSK_PROVIDER_STREAM_DISPATCH

WSK_SOCKET

WskAccept

WskBind

WskCloseSocket