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


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

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

Протокол или промежуточный драйвер вызывает функцию NdisOffloadTcpDisconnect , чтобы закрыть отправку половины разгруженного TCP-подключения. Кроме того, если отключение выполняется корректно, протокол или промежуточный драйвер может предоставить данные приложения, которые базовый целевой объект разгрузки должен передать в разгруженном TCP-подключении перед отправкой сегмента FIN.

Синтаксис

NDIS_STATUS NdisOffloadTcpDisconnect(
  [in] IN PNDIS_OFFLOAD_HANDLE NdisOffloadHandle,
  [in] IN PNET_BUFFER_LIST     NetBufferList,
  [in] IN ULONG                Flags
);

Параметры

[in] NdisOffloadHandle

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

[in] NetBufferList

Указатель на одну структуру NET_BUFFER_LIST . С этой структурой NET_BUFFER_LIST связана только одна NET_BUFFER структура.

[in] Flags

В качестве одного из следующих значений— тип выполняемого отключения:

TCP_DISCONNECT_ABORTIVE_CLOSE

Указывает, что целевой объект разгрузки выполняет прерывание отключения путем отправки сегмента RST.

TCP_DISCONNECT_GRACEFUL_CLOSE

Указывает, что целевой объект разгрузки выполняет корректное отключение путем отправки сегмента FIN.

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

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

Комментарии

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

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

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

Требования

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

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

MiniportTcpOffloadDisconnect

NDIS_OFFLOAD_HANDLE

NET_BUFFER

NET_BUFFER_LIST

Протокол NdisTcpOffloadDisconnectCompleteTcpOffloadDisconnectComplete