TCP_OFFLOAD_RECEIVE_INDICATE_HANDLER Rückruffunktion (ndischimney.h)

[Das TCP-Chimney-Auslagerungsfeature ist veraltet und sollte nicht verwendet werden.]

NDIS ruft die Eines Protokolltreibers oder zwischengeschalteten Treibers auf. ProtocolTcpOffloadReceiveIndicate-Funktion zum Übermitteln empfangener Daten, die von einem zugrunde liegenden Treiber oder Ziel angegeben werden.

Syntax

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
)
{...}

Parameter

[in] OffloadContext

Ein Zeiger auf die NDIS_OFFLOAD_HANDLE Struktur des Protokoll- oder Zwischentreibers für die TCP-Verbindung, für die die Angabe erfolgt. Der Protokoll- oder Zwischentreiber hat diesen Zeiger als Eingabeparameter für die NdisInitiateOffload-Funktion beim Ausladen der Verbindung bereitgestellt.

[in] NetBufferList

Ein Zeiger auf eine NET_BUFFER_LIST Struktur. Jede NET_BUFFER_LIST Struktur beschreibt eine Liste NET_BUFFER Strukturen. Jede NET_BUFFER Struktur in der Liste wird einer Kette von Speicherdeskriptorlisten (MDLs) zugeordnet. Die MDLs enthalten die empfangenen Daten. Die MDLs sind gesperrt, sodass sie resident bleiben, aber nicht dem Systemspeicher zugeordnet werden.

Die vonNetBufferList angegebene NET_BUFFER_LIST-Struktur muss eine eigenständige Struktur sein und darf nicht die erste Struktur in einer verknüpften Liste von NET_BUFFER_LIST Strukturen sein. Auslagerungsziele können diese Einschränkung umgehen, indem so viele MDLs wie erforderlich an dieselbe NET_BUFFER in einer Auslagerungs empfangen-Anzeige verkettet werden.

[in] Status

Ein Zwischentreiber sollte diese status beim Aufrufen weitergeben. NdisTcpOffloadReceiveHandler.

[out] BytesConsumed

Ein Zeiger auf eine Variable mit ULONG-Typ, die die Anzahl von Bytes empfängt, die von der Clientanwendung verwendet wurden.

Rückgabewert

The ProtocolTcpOffloadReceiveIndicate-Funktion kann einen der folgenden Werte zurückgeben:

Rückgabecode Beschreibung
NDIS_STATUS_SUCCESS
Die Clientanwendung verbrauchte alle angegebenen Empfangsdaten.
NDIS_STATUS_OFFLOAD_DATA_NOT_ACCEPTED
Die Clientanwendung hat alle angegebenen Empfangsdaten abgelehnt.
NDIS_STATUS_OFFLOAD_DATA_PARTIALLY_ACCEPTED
Die Clientanwendung verbrauchte eine Teilmenge der angegebenen Empfangsdaten. Die Menge an Daten in Bytes, die von der Clientanwendung genutzt wurde, wird in der Variablen zurückgegeben, die durch den BytesConsumed-Parameter angegeben wird.

Hinweise

Um die Anzeige an den überlastenden Treiber oder Hoststapel weiterzuverbreiten, ruft der Zwischentreiber die NdisTcpOffloadReceiveHandler-Funktion . Der Zwischentreiber übergibt die folgenden Parameter an die Funktion NdisTcpOffloadReceiveHandler :

  • Das NdisOffloadHandle , das das Auslagerungsziel in seinem Kontext für die entladene TCP-Verbindung gespeichert hat. Weitere Informationen finden Sie unter Verweisen auf den ausgeladenen Zustand über einen Zwischentreiber.
  • Der NetBufferList-Zeiger , den NDIS an die ProtocolTcpOffloadReceiveIndicate-Funktion des Zwischentreibers übergeben hat.
  • Der Status , den NDIS an die ProtocolTcpOffloadReceiveIndicate-Funktion des Zwischentreibers übergeben hat.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile ndischimney.h (include Ndischimney.h)

Weitere Informationen

MDL

NDIS_OFFLOAD_HANDLE

NET_BUFFER

NET_BUFFER_LIST

NdisInitiateOffload

NdisOffloadTcpReceiveReturn

NdisTcpOffloadReceiveHandler