Returning the Completion Status of an Invalidate Operation

Before calling the NdisMInvalidateOffloadComplete function, the offload target must write either of the following NDIS_STATUS values to the Status member of each NDIS_MINIPORT_OFFLOAD_BLOCK_LIST structure in the state tree:

NDIS_STATUS_SUCCESS

The offload target successfully invalidated the state objects.

NDIS_STATUS_FAILURE

The invalidate operation did not succeed because the hardware state is corrupt.

If the hardware state is corrupt, the offload target must do the following:

  1. Call the NdisMInvalidateOffloadComplete function with a status value of NDIS_STATUS_FAILURE.

  2. Call the NdisTcpOffloadEventHandler function with the EventType parameter set to TcpIndicateRetrieve and the EventSpecificInformation parameter set to HardwareFailure.

  3. Call the NdisTcpOffloadEventHandler function with the EventType parameter set to TcpIndicateAbort.

  4. When the host stack calls the MiniportTerminateOffload function, complete any outstanding calls to the MiniportTcpOffloadSend and MiniportTcpOffloadReceive functions with a status value of NDIS_STATUS_REQUEST_ABORTED in each NET_BUFFER_LIST structure.

  5. Call the NdisMTerminateOffloadComplete function.

 

 

Send comments about this topic to Microsoft

Show:
© 2015 Microsoft