Función NdisMTerminateOffloadComplete (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 NdisMTerminateOffloadComplete para completar una operación de descarga de finalización iniciada por una llamada anterior a . MiniportTerminateOffload función del destino de descarga.

Sintaxis

void NdisMTerminateOffloadComplete(
  [in] IN NDIS_HANDLE                       NdisMiniportHandle,
  [in] IN PNDIS_MINIPORT_OFFLOAD_BLOCK_LIST OffloadBlockList
);

Parámetros

[in] NdisMiniportHandle

Identificador al que se obtuvo el destino de descarga en una llamada anterior a . NdisMRegisterMiniportDriver.

[in] OffloadBlockList

Puntero a un NDIS_MINIPORT_OFFLOAD_BLOCK_LIST estructura. El destino de descarga obtuvo este puntero como parámetro de entrada a su Función MiniportTerminateOffload .

Valor devuelto

None

Observaciones

Antes de llamar a la función NdisMTerminateOffloadComplete , el destino de descarga debe escribir cualquiera de los siguientes valores de NDIS_STATUS en el miembro Status de cada estructura de NDIS_MINIPORT_OFFLOAD_BLOCK_LIST en el árbol de estado:

  • NDIS_STATUS_SUCCESS

    El destino de descarga finalizó correctamente la descarga del objeto de estado al que hace referencia la estructura NDIS_MINIPORT_OFFLOAD_BLOCK_LIST. Si la estructura de NDIS_MINIPORT_OFFLOAD_BLOCK_LIST va seguida de una estructura de estado delegada (XXX_OFFLOAD_STATE_DELEGATED), el destino de descarga escribió correctamente los valores de variable delegados para ese objeto de estado en la estructura de estado delegada.

  • NDIS_STATUS_FAILURE

    La operación de finalización no se realizó correctamente. Este error se debe a un error catastrófico que dio lugar a la pérdida del objeto de estado que se iba a terminar. En este caso, es posible que el hardware de destino de descarga no responda. Es posible que la pila de hosts tenga que anular la conexión.

Antes de llamar a la función NdisMTerminateOffloadComplete , el destino de descarga también debe: Si hay datos de envío pendientes en una conexión TCP que se está finalizando, los paquetes de destino de descarga de estos datos en búferes netos y pasan los datos empaquetados a la pila de hosts en una lista vinculada de estructuras de NET_BUFFER_LIST . En este caso, el destino de descarga especifica un valor distinto de NULL para el miembro NetBufferListChain de la estructura de NDIS_MINIPORT_OFFLOAD_BLOCK_LIST para esa conexión. (La estructura NDIS_MINIPORT_OFFLOAD_BLOCK_LIST está en la lista vinculada a la que apunta el puntero OffloadBlockList ). El miembro NetBufferListChain apunta a la lista vinculada de NET_BUFFER_LIST estructuras con las que están asociados los datos de envío.

Al pasar datos de envío pendientes a la pila de hosts, el destino de descarga también debe especificar valores no NULL para las siguientes variables TCP delegadas para la conexión que se está finalizando:

  • SndUna
  • SndNxt
  • SndMax
Para obtener más información sobre cómo pasar datos de envío pendientes, consulte Controlar los datos de envío pendientes durante y después de una operación de descarga.

Si no hay datos de envío pendientes en una conexión TCP que se está finalizando, el destino de descarga debe especificar un valor NULL para el miembro NetBufferListChain .

Es posible que haya datos de recepción pendientes en una conexión TCP que se está cargando. Estos son los datos que el destino de descarga ha recibido fuera de la conexión, procesado y confirmado. Para obtener más información sobre el procesamiento de estos datos, consulte Controlar los datos de recepción almacenados en búfer durante una operación de descarga de finalización.

El destino de descarga libera todos los recursos, como la memoria, que están asociados a los objetos de estado terminados.

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado ndischimney.h (incluya Ndischimney.h)
IRQL Cualquier nivel

Consulte también

MiniportTerminateOffload

NDIS_MINIPORT_OFFLOAD_BLOCK_LIST

NdisMRegisterMiniportDriver

TCP_OFFLOAD_STATE_DELEGATED