PFN_WSK_SEND_BACKLOG_EVENT回调函数 (wsk.h)

当面向连接的套接字的理想发送积压工作大小发生更改时, WskSendBacklogEvent 事件回调函数会通知 WSK 应用程序。

语法

PFN_WSK_SEND_BACKLOG_EVENT PfnWskSendBacklogEvent;

NTSTATUS PfnWskSendBacklogEvent(
  [in, optional] PVOID SocketContext,
  [in]           SIZE_T IdealBacklogSize
)
{...}

参数

[in, optional] SocketContext

指向面向连接的套接字的套接字上下文的指针,该套接字通知 WSK 应用程序有关其理想发送积压工作大小的更改。 WSK 应用程序通过以下方式之一提供了指向 WSK 子系统的指针:

  • 它调用 WskSocket 函数来创建套接字。
  • 它调用 WskSocketConnect 函数来创建套接字。
  • 它调用 WskAccept 函数以接受套接字作为传入连接。
  • 调用其 WskAcceptEvent 事件回调函数以接受套接字作为传入连接。

[in] IdealBacklogSize

包含新的理想发送积压工作大小的变量。

返回值

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

注解

仅当面向连接的套接字的理想发送积压工作大小发生更改时,WSK 子系统才调用 WSK 应用程序的 WskSendBacklogEvent 事件回调函数,前提是之前使用 SO_WSK_EVENT_CALLBACK 套接字选项启用了事件回调函数。 有关启用套接字的事件回调函数的详细信息,请参阅 启用和禁用事件回调函数

面向连接的套接字的理想发送积压工作大小是需要保持未完成 (的最佳发送数据量,即传递到 WSK 子系统但尚未完成) ,以始终使套接字的数据流充满。 WSK 应用程序可以使用此大小,根据基础连接的流控制状态以增量方式探测和锁定要发送的数据缓冲区。

通过调用 WskControlSocket 函数,WSK 应用程序可以随时获取面向连接的套接字的当前理想积压工作大小。

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

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

要求

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

另请参阅

WSK_CLIENT_CONNECTION_DISPATCH

WskAccept

WskAcceptEvent

WskControlSocket

WskSend

WskSocket

WskSocketConnect