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


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

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

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

Синтаксис

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 передали в функцию miniportTcpOffloadDis connect промежуточного драйвера.
Когда базовый драйвер или целевой объект разгрузки впоследствии завершает операцию отключения путем вызова функции NdisTcpOffloadDisconnectComplete, NDIS вызывает функцию протокола ProtocolOffloadDisconnectComplete. Затем промежуточный драйвер вызывает функцию NdisTcpOffloadDisconnectComplete для распространения завершения операции отключения.

Требования

Требование Ценность
целевая платформа Всеобщий
заголовка ndischimney.h (включая Ndischimney.h)
библиотеки Ndis.lib

См. также

MiniportTcpOffloadDisconnect

NDIS_OFFLOAD_HANDLE

NET_BUFFER

NET_BUFFER_LIST

NdisTcpOffloadDisconnectComplete ProtocolTcpOffloadDisconnectComplete