Funzione NdisMTerminateOffloadComplete (ndischimney.h)
[La funzionalità di offload del camino TCP è deprecata e non deve essere usata.]
Una destinazione offload chiama la funzione NdisMTerminateOffloadComplete per completare un'operazione di offload terminata avviata da una chiamata precedente all'oggetto Funzione MiniportTerminateOffload della destinazione di offload.
Sintassi
void NdisMTerminateOffloadComplete(
[in] IN NDIS_HANDLE NdisMiniportHandle,
[in] IN PNDIS_MINIPORT_OFFLOAD_BLOCK_LIST OffloadBlockList
);
Parametri
[in] NdisMiniportHandle
Handle ottenuto dalla destinazione di offload in una chiamata precedente a NdisMRegisterMiniportDriver.
[in] OffloadBlockList
Puntatore a un oggetto NDIS_MINIPORT_OFFLOAD_BLOCK_LIST struttura. La destinazione di offload ha ottenuto questo puntatore come parametro di input per il relativo Funzione MiniportTerminateOffload .
Valore restituito
nessuno
Osservazioni
Prima di chiamare la funzione NdisMTerminateOffloadComplete , la destinazione offload deve scrivere uno dei valori di NDIS_STATUS seguenti al membro Status di ogni struttura NDIS_MINIPORT_OFFLOAD_BLOCK_LIST nell'albero dello stato:
-
NDIS_STATUS_SUCCESS
La destinazione di offload ha terminato correttamente il caricamento dell'oggetto stato a cui fa riferimento la struttura NDIS_MINIPORT_OFFLOAD_BLOCK_LIST. Se la struttura NDIS_MINIPORT_OFFLOAD_BLOCK_LIST viene seguita da una struttura di stato delegata (XXX_OFFLOAD_STATE_DELEGATED), la destinazione di offload ha scritto correttamente i valori delle variabili delegate per tale oggetto stato alla struttura dello stato delegato.
-
NDIS_STATUS_FAILURE
L'operazione di termina non è riuscita. Tale errore è causato da un errore irreversibile che ha causato la perdita dell'oggetto di stato che doveva essere terminato. In questo caso, l'hardware di destinazione di offload potrebbe non rispondere. Lo stack host potrebbe dover interrompere la connessione.
- Completare tutte le chiamate in sospeso a MiniportInvalidateOffload, MiniportQueryOffload, MiniportTcpOffloadReceive, MiniportTcpOffloadDisconnect, MiniportTcpOffloadForward, MiniportTcpOffloadSend e Funzioni MiniportUpdateOffload .
- Assicurarsi che tutte le chiamate in sospeso a NdisMIndicateStatusEx, NdisMOffloadEventIndicate, NdisTcpOffloadEventHandler e Le funzioni NdisTcpOffloadReceiveHandler sono state restituite.
Quando si passano dati di invio in sospeso allo stack host, la destinazione di offload deve specificare anche valori non NULL per le variabili TCP delegate seguenti per la connessione terminata:
- SndUna
- SndNxt
- SndMax
Se non sono presenti dati di invio in sospeso in una connessione TCP che viene terminata, la destinazione di offload deve specificare un valore NULL per il membro NetBufferListChain .
Potrebbero essere presenti dati di ricezione in sospeso in una connessione TCP caricata. Si tratta di dati che la destinazione di offload ha ricevuto dal cavo, elaborato e riconosciuto. Per altre informazioni sull'elaborazione di tali dati, vedere Gestione dei dati di ricezione memorizzati nel buffer durante un'operazione di offload termina.
La destinazione di offload libera tutte le risorse, ad esempio memoria, associate agli oggetti stato terminati.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Intestazione | ndischimney.h (includere Ndischimney.h) |
IRQL | Qualsiasi livello |