Condividi tramite


TCP_OFFLOAD_RECEIVE_INDICATE_HANDLER funzione di callback (ndischimney.h)

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

NDIS chiama driver di protocollo o driver intermedi ProtocolTcpOffloadReceiveIndicate funzione per recapitare i dati ricevuti indicati da un driver sottostante o da 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 viene mappata a una catena di elenchi di descrittori di memoria (MDLs). Gli mdls contengono i dati ricevuti. Gli mdls 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 il numero di MDL necessario allo stesso NET_BUFFER in un'indicazione di ricezione 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

Le 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.

Osservazioni

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:

  • Il NdisOffloadHandle che la destinazione di offload archiviata nel contesto per la connessione TCP offloaded. Per altre informazioni, vedere riferimento allo stato offloaded tramite un driver intermedio.
  • Il puntatore NetBufferList passato NDIS alla funzione ProtocolTcpOffloadReceiveIndicate del driver intermedio.
  • Il Status passato NDIS alla funzione ProtocolTcpOffloadReceiveIndicate del driver intermedio.

Fabbisogno

Requisito Valore
piattaforma di destinazione Finestre
intestazione ndischimney.h (include Ndischimney.h)

Vedere anche

MDL

NDIS_OFFLOAD_HANDLE

NET_BUFFER

NET_BUFFER_LIST

NdisInitiateOffload

NdisOffloadTcpReceiveReturn

NdisTcpOffloadReceiveHandler