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

指向 WSK 子系统用于异步完成侦听作的调用方分配的 IRP 的指针。 有关将 IRP 与 WSK 函数配合使用的详细信息,请参阅 将 IRP 与 Winsock 内核函数配合使用

返回值

WskListen 返回以下 NTSTATUS 代码之一:

返回代码 描述
STATUS_SUCCESS
已成功侦听传入连接的流套接字。 IRP 将以成功状态完成。
STATUS_PENDING
IRP 已由 WSK 子系统排队,该子系统正在等待流套接字上的传入连接。
STATUS_FILE_FORCED_CLOSED
套接字不再正常工作。 IRP 将以失败状态完成。 WSK 应用程序必须调用 WskCloseSocket 函数才能尽快关闭套接字。
其他状态代码
发生错误。 IRP 将以失败状态完成。

言论

WSK 应用程序只能通过调用 WskBind 函数来调用以前绑定到本地传输地址的流套接字上的 WskListen 函数。 WskListen 成功在流套接字上调用后,该套接字将提交到侦听套接字流,并且无法再调用面向连接的套接字函数。

要求

要求 价值
最低支持的客户端 Windows 10 版本 1703
目标平台 普遍
标头 wsk.h (包括 Wsk.h)
IRQL <= DISPATCH_LEVEL

另请参阅

WSK_PROVIDER_STREAM_DISPATCH

WSK_SOCKET

WskAccept

WskBind

WskCloseSocket