PFN_WSK_SEND_MESSAGES回调函数 (wsk.h)

WskSendMessages 函数将多个数据报发送到远程传输地址。

语法

PFN_WSK_SEND_MESSAGES PfnWskSendMessages;

NTSTATUS PfnWskSendMessages(
  [in]                 PWSK_SOCKET Socket,
  [in]                 PWSK_BUF_LIST BufferList,
                       ULONG Flags,
  [in, optional]       PSOCKADDR RemoteAddress,
  [in]                 ULONG ControlInfoLength,
  [In_reads_bytes_opt] PCMSGHDR ControlInfo,
  [in, out]            PIRP Irp
)
{...}

参数

[in] Socket

指向 WSK_SOCKET 结构的指针,该结构指定要从中发送数据报的套接字对象。

[in] BufferList

指向已初始化 WSK_BUF_LIST 结构的指针,该结构包含要发送的数据报列表。

Flags

[保留]此参数保留供系统使用。 WSK 应用程序必须将此参数设置为

[in, optional] RemoteAddress

指向 结构的指针,该结构指定要将数据报发送到的远程传输地址。

[in] ControlInfoLength

ControlInfo 参数指向的缓冲区中的数据字节数。 如果没有与数据报关联的控件信息, 则 ControlInfoLength 参数必须为

[In_reads_bytes_opt] ControlInfo

指向缓冲区的指针,该缓冲区包含与正在发送的数据报关联的控制信息。 控件信息数据由一个或多个控件数据对象组成,每个对象都以 CMSGHDR 结构开头。 如果没有与数据报关联的控制信息,则此参数应为 NULL

并非所有传输都支持 ControlInfo

[in, out] Irp

指向调用方分配的 IRP 的指针,WSK 子系统使用该 IRP 以异步方式完成发送操作。 有关将 IRP 与 WSK 函数配合使用的详细信息,请参阅 将 IRP 与 Winsock 内核函数配合使用

返回值

返回代码 说明
STATUS_SUCCESS 数据报已成功通过套接字发送。 IRP 将以成功状态完成。 IRP 的 IoStatus.Information 字段包含已发送的字节数。
STATUS_PENDING WSK 子系统无法立即通过套接字发送数据报。 WSK 子系统在通过套接字发送数据报后,将完成 IRP。 将在 IRP 的 IoStatus.Status 字段中返回发送操作的状态。 如果操作成功,IRP 的 IoStatus.Information 字段将包含已发送的字节数。
其他状态代码 出现了错误。 IRP 将以失败状态完成。

要求

要求
最低受支持的客户端 Windows 8
标头 wsk.h (包括 wsk.h)

另请参阅

WSK_SOCKET

WSK_BUF_LIST

CMSGHDR

将 IRP 与 Winsock 内核函数配合使用