Condividi tramite


TCP_OFFLOAD_RECEIVE_INDICATE_HANDLER funzione di callback (ndischimney.h)

[La funzionalità di offload del camino TCP è deprecata e non deve essere usata.]

NDIS chiama un driver di protocollo o un driver intermedio ProtocolTcpOffloadReceiveIndicate per recapitare i dati ricevuti indicati da un driver sottostante o una destinazione di offload.

Sintassi

TCP_OFFLOAD_RECEIVE_INDICATE_HANDLER TcpOffloadReceiveIndicateHandler;

NDIS_STATUS TcpOffloadReceiveIndicateHandler(
  [in]  IN PVOID OffloadContext,
  [in]  IN PNET_BUFFER_LIST NetBufferList,
  [in]  IN NDIS_STATUS Status,
  [out] OUT PULONG BytesConsumed
)
{...}

Parametri

[in] OffloadContext

Puntatore alla struttura di NDIS_OFFLOAD_HANDLE del protocollo o del driver intermedio per la connessione TCP in cui viene effettuata l'indicazione. Il protocollo o il driver intermedio ha fornito questo puntatore come parametro di input alla funzione NdisInitiateOffload durante l'offload della connessione.

[in] NetBufferList

Puntatore a una struttura NET_BUFFER_LIST . Ogni struttura NET_BUFFER_LIST descrive un elenco di strutture NET_BUFFER . Ogni struttura NET_BUFFER nell'elenco è mappata a una catena di elenchi di descrittori di memoria (MDL). Gli ELENCHI di dati dati contengono i dati ricevuti. Gli MDL sono bloccati in modo che rimangano residenti, ma non vengono mappati alla memoria di sistema.

La struttura NET_BUFFER_LIST specificata da NetBufferList deve essere una struttura autonoma e non può essere la prima struttura in un elenco collegato di strutture NET_BUFFER_LIST . Le destinazioni di offload possono aggirare questa limitazione concatenando tutti gli MDL necessari alla stessa NET_BUFFER in un'indicazione di ricezione di offload.

[in] Status

Un driver intermedio deve propagare questo stato durante la chiamata NdisTcpOffloadReceiveHandler.

[out] BytesConsumed

Puntatore a una variabile tipizzata ULONG che riceve il numero di byte utilizzati dall'applicazione client.

Valore restituito

The La funzione ProtocolTcpOffloadReceiveIndicate può restituire uno dei valori seguenti:

Codice restituito Descrizione
NDIS_STATUS_SUCCESS
L'applicazione client ha utilizzato tutti i dati di ricezione indicati.
NDIS_STATUS_OFFLOAD_DATA_NOT_ACCEPTED
L'applicazione client ha rifiutato tutti i dati di ricezione indicati.
NDIS_STATUS_OFFLOAD_DATA_PARTIALLY_ACCEPTED
L'applicazione client ha utilizzato un subset dei dati di ricezione indicati. La quantità di dati, in byte, utilizzata dall'applicazione client viene restituita nella variabile specificata dal parametro BytesConsumed .

Commenti

Per propagare l'indicazione allo stack di driver o host overlying, il driver intermedio chiama Funzione NdisTcpOffloadReceiveHandler . Il driver intermedio passa i parametri seguenti alla funzione NdisTcpOffloadReceiveHandler :

  • NdisOffloadHandle archiviato nella destinazione di offload nel contesto per la connessione TCP offloaded. Per ulteriori informazioni, vedere Riferimento allo stato offloaded tramite un driver intermedio.
  • Puntatore NetBufferList passato da NDIS alla funzione ProtocolTcpOffloadReceiveIndicate del driver intermedio.
  • Stato passato dall'NDIS alla funzione ProtocolTcpOffloadReceiveIndicate del driver intermedio.

Requisiti

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

Vedi anche

MDL

NDIS_OFFLOAD_HANDLE

NET_BUFFER

NET_BUFFER_LIST

NdisInitiateOffload

NdisOffloadTcpReceiveReturn

NdisTcpOffloadReceiveHandler