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.
Completamento di una disconnessione normale

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.
Si noti che la funzione NdisTcpOffloadDisconnectComplete restituisce solo la struttura NET_BUFFER_LIST e le strutture associate passate NDIS alla destinazione di offload Funzione MiniportTcpOffloadDisconnect . La funzione NdisTcpOffloadDisconnectComplete non può restituire NET_BUFFER_LIST strutture che NDIS passate nelle chiamate precedenti alla destinazione di offload Funzione MiniportTcpOffloadSend .

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione ndischimney.h (include Ndischimney.h)

Vedi anche

MiniportTcpOffloadDisconnect

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_INFO

NdisAdvanceNetBufferDataStart

NdisMRegisterMiniportDriver

NdisTcpOffloadSendComplete