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.
- Complete todas las llamadas pendientes a MiniportInvalidateOffload, MiniportQueryOffload, MiniportTcpOffloadReceive, MiniportTcpOffloadDisconnect, MiniportTcpOffloadForward, MiniportTcpOffloadSend y Funciones MiniportUpdateOffload .
- Asegúrese de que las llamadas pendientes a NdisMIndicateStatusEx, NdisMOffloadEventIndicate, NdisTcpOffloadEventHandler ySe han devuelto las funciones NdisTcpOffloadReceiveHandler.
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
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 |