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 应用程序对已中止的传入连接请求调用 WskInspectComplete 函数,即使 WskInspectAccept 在 Action 参数中指定,也不会建立连接。
WSK 应用程序可以通过启用 SO_CONDITIONAL_ACCEPT 套接字选项在侦听套接字上启用条件接受模式。 有关有条件地接受传入连接的详细信息,请参阅 侦听和接受传入连接。
WSK 子系统在 IRQL <= DISPATCH_LEVEL 调用 WSK 应用程序的 WskAbortEvent 事件回调函数。
WSK 应用程序的 WskAbortEvent 事件回调函数不得等待 WSK 完成或事件回调函数上下文中的其他 WSK 请求的完成。 回调可以启动其他 WSK 请求(假设它在DISPATCH_LEVEL花费的时间不太多),但即使在 IRQL = PASSIVE_LEVEL调用回调,它也不能等待完成。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 在 Windows Vista 和更高版本的 Windows作系统中可用。 |
目标平台 | 窗户 |
标头 | wsk.h (包括 Wsk.h) |
IRQL | <= DISPATCH_LEVEL |