Freigeben über


TCP_OFFLOAD_RECEIVE_INDICATE_HANDLER Rückruffunktion (ndischimney.h)

[Das TCP-Schornstein-Offload-Feature ist veraltet und sollte nicht verwendet werden.]

NDIS ruft den Protokolltreiber oder die Zwischentreiber auf. ProtocolTcpOffloadReceiveIndicate Funktion, um empfangene Daten bereitzustellen, die von einem zugrunde liegenden Treiber oder Offloadziel 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, auf der die Angabe erfolgt. Der Protokoll- oder Zwischentreiber hat diesen Zeiger beim Entladen der Verbindung als Eingabeparameter für die NdisInitiateOffload Funktion bereitgestellt.

[in] NetBufferList

Ein Zeiger auf eine NET_BUFFER_LIST Struktur. Jede NET_BUFFER_LIST Struktur beschreibt eine Liste der NET_BUFFER Strukturen. Jede NET_BUFFER Struktur in der Liste ist einer Kette von Speicherdeskriptorlisten (MDLs)zugeordnet. Die MDLs enthalten die empfangenen Daten. Die MDLs sind gesperrt, sodass sie weiterhin vorhanden sind, aber nicht im Systemspeicher zugeordnet sind.

Die durch NetBufferList- angegebene NET_BUFFER_LIST Struktur muss eine eigenständige Struktur sein und kann nicht die erste Struktur in einer verknüpften Liste mit NET_BUFFER_LIST Strukturen sein. Offloadziele können diese Einschränkung umgehen, indem sie so viele MDLs wie nötig an denselben NET_BUFFER in einer Offload-Empfangsanzeige verketten.

[in] Status

Ein Zwischentreiber sollte diesen Status beim Aufrufen weitergeben. NdisTcpOffloadReceiveHandler.

[out] BytesConsumed

Ein Zeiger auf eine ULONG-Typvariable, die die Anzahl der Bytes empfängt, die von der Clientanwendung verbraucht wurden.

Rückgabewert

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

Rückgabecode Beschreibung
NDIS_STATUS_SUCCESS
Die Clientanwendung hat alle angegebenen Empfangendaten verbraucht.
NDIS_STATUS_OFFLOAD_DATA_NOT_ACCEPTED
Die Clientanwendung hat alle angegebenen Empfangendaten abgelehnt.
NDIS_STATUS_OFFLOAD_DATA_PARTIALLY_ACCEPTED
Die Clientanwendung hat eine Teilmenge der angegebenen Empfangendaten verbraucht. Die Datenmenge in Bytes, die von der Clientanwendung genutzt wurde, wird in der Variablen zurückgegeben, die durch den BytesConsumed Parameter angegeben wurde.

Bemerkungen

Um die Angabe an den übermäßigen Treiber oder Hoststapel zu verteilen, ruft der Zwischentreiber die NdisTcpOffloadReceiveHandler Funktion. Der Zwischentreiber übergibt die folgenden Parameter an die NdisTcpOffloadReceiveHandler Funktion:

  • Die NdisOffloadHandle, dass das Offloadziel in seinem Kontext für die entladene TCP-Verbindung gespeichert wurde. 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- Fenster
Header- ndischimney.h (include Ndischimney.h)

Siehe auch

MDL-

NDIS_OFFLOAD_HANDLE

NET_BUFFER

NET_BUFFER_LIST

NdisInitiateOffload

NdisOffloadTcpReceiveReturn

NdisTcpOffloadReceiveHandler