Функция NdisOffloadTcpSend (ndischimney.h)

[Функция разгрузки дымохода TCP является нерекомендуемой и не должна использоваться.]

Драйвер протокола или промежуточный драйвер вызывает функцию NdisOffloadTcpSend для передачи данных по разгруженным TCP-подключению.

Синтаксис

NDIS_STATUS NdisOffloadTcpSend(
  [in] IN PNDIS_OFFLOAD_HANDLE NdisOffloadHandle,
  [in] IN PNET_BUFFER_LIST     NetBufferList
);

Параметры

[in] NdisOffloadHandle

Дескриптор NDIS_OFFLOAD_HANDLE структуры в контексте вызывающего объекта для разгруженного TCP-подключения. Дополнительные сведения см. в разделе Ссылка на разгруженное состояние через промежуточный драйвер.

[in] NetBufferList

Указатель на структуру NET_BUFFER_LIST . Эта структура может быть автономной или первой структурой в связанном списке NET_BUFFER_LIST структур. Каждая NET_BUFFER_LIST структура в списке описывает список NET_BUFFER структур. Каждая NET_BUFFER структура в списке указывает на цепочку списков дескрипторов памяти (MDL). Многомерные списки содержат передаваемые данные. NET_BUFFER_LIST и связанные структуры блокируются таким образом, чтобы они оставались в физической памяти. Однако они не сопоставляются с системной памятью.

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

Функция NdisOffloadTcpSend всегда возвращает NDIS_STATUS_PENDING. Операция отправки всегда выполняется асинхронно.

Комментарии

В ответ на вызов функции MiniportTcpOffloadSend промежуточный драйвер вызывает функцию NdisOffloadTcpSend для распространения операции отправки на базовый промежуточный драйвер или целевой объект разгрузки. Дополнительные сведения см. в разделе Распространение операций ввода-вывода.

В функцию NdisOffloadTcpSend промежуточный драйвер передает следующее:

  • NdisOffloadHandle, который ссылается на структуру NDIS_OFFLOAD_HANDLE, хранящуюся в контексте промежуточного драйвера для разгруженного TCP-подключения. Дополнительные сведения см. в разделе Ссылка на разгруженное состояние через промежуточный драйвер.
  • Тот же PNET_BUFFER_LIST указатель, который NDIS передал функции MiniportTcpOffloadSend промежуточного драйвера.
Когда базовый драйвер или целевой объект разгрузки впоследствии завершает операцию отправки путем вызова функции NdisTcpOffloadSendComplete , NDIS вызывает функцию ProtocolOffloadSendComplete промежуточного драйвера. Затем промежуточный драйвер вызывает функцию NdisTcpOffloadSendComplete для распространения завершения операции отправки.

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть ndischimney.h (включая Ndischimney.h)
Библиотека Ndis.lib

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

MiniportTcpOffloadSend

NDIS_OFFLOAD_HANDLE

NET_BUFFER

NET_BUFFER_LIST

NdisTcpOffloadSendComplete

ProtocolTcpOffloadSendComplete