Compartir a través de


NDIS_TCP_OFFLOAD_DISCONNECT_COMPLETE función de devolución de llamada (ndischimney.h)

[La característica de descarga de chimenea TCP está en desuso y no debe usarse].

Un destino de descarga llama a la función NdisTcpOffloadDisconnectComplete para completar una solicitud de desconexión iniciada por una llamada anterior a . miniportTcpOffloadDisconnect función del destino de descarga.

Sintaxis

NDIS_TCP_OFFLOAD_DISCONNECT_COMPLETE NdisTcpOffloadDisconnectComplete;

void NdisTcpOffloadDisconnectComplete(
  [in] IN NDIS_HANDLE NdisMiniportHandle,
  [in] IN PNET_BUFFER_LIST NetBufferList
)
{...}

Parámetros

[in] NdisMiniportHandle

Identificador del destino de descarga obtenido en una llamada anterior a . función NdisMRegisterMiniportDriver.

[in] NetBufferList

Puntero a una sola estructura NET_BUFFER_LIST. El destino de descarga obtuvo este puntero como parámetro de entrada a su función MiniportTcpOffloadDisconnect.

Valor devuelto

Ninguno

Observaciones

Completar un de desconexión abortiva

Si el destino de descarga emitió una desconexión abortiva, debe hacer lo siguiente antes de llamar a la función NdisTcpOffloadDisconnectComplete:

  • Complete todas las solicitudes de envío pendientes en la conexión con un valor de estado de NDIS_STATUS_REQUEST_ABORTED. El destino de descarga escribe este valor de estado en el estado miembro de cada estructura de NET_BUFFER_LIST de la lista vinculada que pasa a la función de NdisTcpOffloadSendComplete.
  • Escriba un valor de estado en el miembro estado de de la estructura de NET_BUFFER_LIST a la que apunta el puntero NetBufferList. Un valor de estado de NDIS_STATUS_SUCCESS indica que el destino de descarga envió correctamente el segmento RST. Para obtener una descripción de los valores de estado permitidos, consulte NET_BUFFER_LIST.
Completar una desconexión correcta

Antes de completar una solicitud de desconexión correcta, el destino de descarga debe:

  • Escriba un valor de estado en el miembro Status de la estructura de NET_BUFFER_LIST que pasa a la función NdisTcpOffloadDisconnectComplete:
    • Un valor de NDIS_STATUS_SUCCESS indica que el segmento FIN, así como los datos de usuario, se envió correctamente mediante el destino de descarga y el host remoto también reconoció.
    • Un valor de NDIS_STATUS_UPLOAD_IN_PROGRESS indica que se está cargando la conexión TCP a la que hace referencia NdisMiniportHandle.
    • Un valor de NDIS_STATUS_REQUEST_ABORTED indica que el segmento FIN o los datos de usuario no se transmitieron correctamente por el destino de descarga y lo reconoció el host remoto. La pila de hosts finalizará la descarga de la conexión TCP.
  • Especifique el número de bytes de datos de usuario enviados y confirmados correctamente. El destino de descarga lo hace llamando a la macro NET_BUFFER_LIST_INFO con un identificador de de TcpOffloadBytesTransferred.
  • Llamada a función NdisAdvanceNetBufferDataStart. El parámetro NetBufferList debe apuntar a la estructura de NET_BUFFER asociada a la estructura de NET_BUFFER_LIST que el destino de descarga pasa a la función NdisTcpOffloadDisconnectComplete. El parámetro DataOffsetDelta debe especificar el número de bytes de datos de la estructura de NET_BUFFER que se transmitieron tanto mediante el destino de descarga como también lo reconoció correctamente el host remoto. El parámetro FreeMdl debe ser NULL.
Tenga en cuenta que la función NdisTcpOffloadDisconnectComplete devuelve solo la estructura NET_BUFFER_LIST y las estructuras asociadas que NDIS pasó al destino de descarga. función MiniportTcpOffloadDisconnect. La función NdisTcpOffloadDisconnectComplete no puede devolver estructuras NET_BUFFER_LIST que NDIS pasó en llamadas anteriores al destino de descarga función MiniportTcpOffloadSend.

Requisitos

Requisito Valor
de la plataforma de destino de Universal
encabezado de ndischimney.h (incluya Ndischimney.h)

Consulte también

miniportTcpOffloadDisconnect

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_INFO

NdisAdvanceNetBufferDataStart

NdisMRegisterMiniportDriver

NdisTcpOffloadSendComplete