PFN_WSK_ABORT_EVENT回调函数 (wsk.h)

WskAbortEvent 事件回调函数通知 WSK 应用程序,已删除启用了条件接受模式的侦听套接字上的传入连接请求。

语法

PFN_WSK_ABORT_EVENT PfnWskAbortEvent;

NTSTATUS PfnWskAbortEvent(
  [in, optional] PVOID SocketContext,
  [in]           PWSK_INSPECT_ID InspectID
)
{...}

参数

[in, optional] SocketContext

指向接收传入连接请求的侦听套接字的套接字上下文的指针。 WSK 应用程序在调用 WskSocket 函数以创建侦听套接字时提供了指向 WSK 子系统的指针。

[in] InspectID

指向 WSK_INSPECT_ID 结构的指针。 结构的内容标识已删除的传入连接请求。

返回值

WSK 应用程序的 WskAbortEvent 事件回调函数必须始终返回STATUS_SUCCESS。

注解

WSK 子系统仅在满足以下条件时调用 WSK 应用程序的 WskAbortEvent 事件回调函数:

  • WSK 应用程序创建了启用了条件接受模式的侦听套接字。
  • 在侦听套接字上收到了传入的连接请求,WSK 子系统调用了 WSK 应用程序的 WskInspectEvent 事件回调函数。
  • WSK 应用程序从其 WskAbortEvent 事件回调函数为传入连接请求返回 WskInspectPend 或 WskInspectAccept
  • 在完全建立之前,传入的连接请求已在本地或远程删除。
当 WSK 子系统调用 WSK 应用程序的 WskAbortEvent 事件回调函数时,应用程序应终止对传入连接请求的检查。 连接请求由 InspectID 参数指向的 WSK_INSPECT_ID 结构的内容标识。

如果 WSK 应用程序对已中止的传入连接请求调用 WskInspectComplete 函数,则即使在 Action 参数中指定了 WskInspectAccept,也不会建立连接。

WSK 应用程序可以通过启用 SO_CONDITIONAL_ACCEPT 套接字选项在侦听套接字上启用条件接受模式。 有关有条件地接受传入连接的详细信息,请参阅侦听和接受传入Connections

WSK 子系统在 IRQL <= DISPATCH_LEVEL 调用 WSK 应用程序的 WskAbortEvent 事件回调函数。

WSK 应用程序的 WskAbortEvent 事件回调函数不得等待 WSK 完成或事件回调函数上下文中其他 WSK 请求完成。 回调可以启动其他 WSK 请求, (假设它不会在DISPATCH_LEVEL) 花费太多时间,但它不得等待其完成,即使在 IRQL = PASSIVE_LEVEL 调用回调时也是如此。

要求

要求
最低受支持的客户端 在 Windows Vista 和更高版本的 Windows 操作系统中可用。
目标平台 Windows
标头 wsk.h (包括 Wsk.h)
IRQL <= DISPATCH_LEVEL

另请参阅

WSK_CLIENT_LISTEN_DISPATCH

WSK_INSPECT_ID

WskControlSocket

WskInspectComplete

WskInspectEvent

WskSocket