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 se debe usar.]

Un destino de descarga llama a la función NdisTcpOffloadDisconnectComplete para completar una solicitud de desconexión iniciada por una llamada anterior a la 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 que el destino de descarga obtuvo en una llamada anterior a . Función NdisMRegisterMiniportDriver .

[in] NetBufferList

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

Valor devuelto

None

Observaciones

Finalización de una 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 miembro Status de cada estructura de NET_BUFFER_LIST de la lista vinculada que pasa a la Función NdisTcpOffloadSendComplete .
  • Escriba un valor de estado en el miembro Status de la estructura 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.
Finalización de 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 NET_BUFFER_LIST que pasa al Función NdisTcpOffloadDisconnectComplete :
    • Un valor de NDIS_STATUS_SUCCESS indica que el destino de descarga envió correctamente el segmento FIN, así como los datos de usuario, y también lo reconoció el host remoto.
    • 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 cualquier dato de usuario no se transmitió correctamente mediante 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 identificadorde 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 NET_BUFFER que transmitieron el destino de descarga y que el host remoto también reconoció correctamente. 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 Value
Plataforma de destino Universal
Encabezado ndischimney.h (incluya Ndischimney.h)

Consulte también

MiniportTcpOffloadDisconnect

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_INFO

NdisAdvanceNetBufferDataStart

NdisMRegisterMiniportDriver

NdisTcpOffloadSendComplete