NDIS_TCP_OFFLOAD_DISCONNECT_COMPLETE funzione di callback (ndischimney.h)
[La funzionalità di offload del camino TCP è deprecata e non deve essere usata.]
Una destinazione di offload chiama la funzione NdisTcpOffloadDisconnectComplete per completare una richiesta di disconnessione avviata da una chiamata precedente a Funzione MiniportTcpOffloadDisconnect della destinazione di offload.
Sintassi
NDIS_TCP_OFFLOAD_DISCONNECT_COMPLETE NdisTcpOffloadDisconnectComplete;
void NdisTcpOffloadDisconnectComplete(
[in] IN NDIS_HANDLE NdisMiniportHandle,
[in] IN PNET_BUFFER_LIST NetBufferList
)
{...}
Parametri
[in] NdisMiniportHandle
Handle ottenuto dalla destinazione di offload in una chiamata precedente all'oggetto Funzione NdisMRegisterMiniportDriver .
[in] NetBufferList
Puntatore a una singola struttura NET_BUFFER_LIST . La destinazione di offload ottenuta come parametro di input come parametro di input Funzione MiniportTcpOffloadDisconnect .
Valore restituito
nessuno
Osservazioni
Completamento di una disconnessione interrotta
Se la destinazione di offload ha generato una disconnessione interrotta, è necessario eseguire le operazioni seguenti prima di chiamare la funzione NdisTcpOffloadDisconnectComplete :
- Completare tutte le richieste di invio in sospeso sulla connessione con un valore di stato di NDIS_STATUS_REQUEST_ABORTED. La destinazione di offload scrive questo valore di stato nel membro Status di ogni struttura NET_BUFFER_LIST nell'elenco collegato che passa all'oggetto Funzione NdisTcpOffloadSendComplete .
- Scrivere un valore di stato nel membro Status della struttura NET_BUFFER_LIST a cui punta il puntatore NetBufferList . Un valore di stato di NDIS_STATUS_SUCCESS indica che la destinazione di offload ha inviato correttamente il segmento RST. Per una descrizione dei valori di stato consentiti, vedere NET_BUFFER_LIST.
Prima di completare una richiesta di disconnessione normale, la destinazione di offload deve:
-
Scrivere un valore di stato nel membro Status della struttura NET_BUFFER_LIST che passa all'oggetto Funzione NdisTcpOffloadDisconnectComplete :
- Un valore di NDIS_STATUS_SUCCESS indica che il segmento FIN, nonché tutti i dati utente, è stato inviato correttamente dalla destinazione di offload ed è stato riconosciuto anche dall'host remoto.
- Un valore di NDIS_STATUS_UPLOAD_IN_PROGRESS indica che viene caricata la connessione TCP a cui fa riferimento NdisMiniportHandle .
- Un valore di NDIS_STATUS_REQUEST_ABORTED indica che il segmento FIN e/o i dati utente non sono stati trasmessi correttamente dalla destinazione di offload e riconosciuti dall'host remoto. Lo stack host terminerà infine l'offload della connessione TCP.
- Specificare il numero di byte di dati utente inviati e riconosciuti correttamente. La destinazione di offload esegue questa operazione chiamando la macro NET_BUFFER_LIST_INFO con idTcpOffloadBytesTransferred.
- Chiamare il Funzione NdisAdvanceNetBufferDataStart . Il parametro NetBufferList deve puntare alla struttura NET_BUFFER associata alla struttura NET_BUFFER_LIST che la destinazione di offload passa alla funzione NdisTcpOffloadDisconnectComplete . Il parametro DataOffsetDelta deve specificare il numero di byte di dati della struttura NET_BUFFER trasmessi dalla destinazione di offload e anche riconosciuto correttamente dall'host remoto. Il parametro FreeMdl deve essere NULL.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Intestazione | ndischimney.h (include Ndischimney.h) |