Поделиться через


функция обратного вызова 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 с функциями WSK см. в статье Использование irPs с функциями ядра Winsock.

Возвращаемое значение

Код возврата Описание
STATUS_SUCCESS Датаграммы успешно отправлены через сокет. IRP будет завершен с состоянием успешного выполнения. Поле IoStatus.Information IRP содержит количество отправленных байтов.
STATUS_PENDING Подсистеме WSK не удалось немедленно отправить датаграммы через сокет. Подсистема WSK завершит IRP после отправки датаграмм через сокет. Состояние операции отправки будет возвращено в поле IoStatus.Status IRP. Если операция выполнена успешно, поле IoStatus.Information IRP будет содержать количество отправленных байтов.
Другие коды состояния Произошла ошибка. IRP будет завершен с состоянием сбоя.

Требования

Требование Значение
Минимальная версия клиента Windows 8
Верхняя часть wsk.h (включая wsk.h)

См. также раздел

WSK_SOCKET

WSK_BUF_LIST

CMSGHDR

Использование IRP с функциями ядра Winsock