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 函数,则即使在 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 |