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 以异步方式完成侦听操作。 有关将 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