NDIS_TCP_OFFLOAD_DISCONNECT_COMPLETE funzione di callback (ndischimney.h)
[La funzionalità 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 miniportTcpOffloadDisconnect funzione 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 a 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 stato 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 dal di destinazione di offload e è 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 un ID di TcpOffloadBytesTransferred.
- Chiamare il funzione NdisAdvanceNetBufferDataStart. Il parametro NetBufferList deve puntare alla struttura di NET_BUFFER associata alla struttura NET_BUFFER_LIST passata dalla destinazione di offload alla funzione NdisTcpOffloadOffloadDisconnectComplete. Il parametro DataOffsetDelta deve specificare il numero di byte di dati della struttura NET_BUFFER trasmessi sia dalla destinazione di offload sia riconosciuto correttamente dall'host remoto. Il parametro FreeMdl deve essere NULL.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Universale |
intestazione | ndischimney.h (include Ndischimney.h) |