TCP_OFFLOAD_RECEIVE_INDICATE_HANDLER fonction de rappel (ndischimney.h)

[La fonctionnalité de déchargement de cheminée TCP est déconseillée et ne doit pas être utilisée.]

NDIS appelle un pilote de protocole ou un pilote intermédiaire Fonction ProtocolTcpOffloadReceiveIndicate pour remettre les données reçues indiquées par un pilote ou une cible de déchargement sous-jacent.

Syntaxe

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

Paramètres

[in] OffloadContext

Pointeur vers la structure de NDIS_OFFLOAD_HANDLE du protocole ou du pilote intermédiaire pour la connexion TCP sur laquelle l’indication est effectuée. Le protocole ou le pilote intermédiaire a fourni ce pointeur en tant que paramètre d’entrée à la fonction NdisInitiateOffload lors du déchargement de la connexion.

[in] NetBufferList

Pointeur vers une structure NET_BUFFER_LIST . Chaque structure NET_BUFFER_LIST décrit une liste de structures NET_BUFFER . Chaque structure NET_BUFFER dans la liste est mappée à une chaîne de listes de descripteurs mémoire (MDL). Les dll MDL contiennent les données reçues. Les dll MDL sont verrouillées afin qu’elles restent résidentes, mais elles ne sont pas mappées dans la mémoire système.

La structure NET_BUFFER_LIST spécifiée par NetBufferList doit être une structure autonome et ne peut pas être la première structure d’une liste liée de structures NET_BUFFER_LIST . Les cibles de déchargement peuvent contourner cette limitation en chaînant autant de DLL que nécessaire à la même NET_BUFFER dans une indication de réception de déchargement.

[in] Status

Un pilote intermédiaire doit propager cette status lors de l’appel NdisTcpOffloadReceiveHandler.

[out] BytesConsumed

Pointeur vers une variable de type ULONG qui reçoit le nombre d’octets consommés par l’application cliente.

Valeur retournée

The La fonction ProtocolTcpOffloadReceiveIndicate peut retourner l’une des valeurs suivantes :

Code de retour Description
NDIS_STATUS_SUCCESS
L’application cliente a consommé toutes les données de réception indiquées.
NDIS_STATUS_OFFLOAD_DATA_NOT_ACCEPTED
L’application cliente a rejeté toutes les données de réception indiquées.
NDIS_STATUS_OFFLOAD_DATA_PARTIALLY_ACCEPTED
L’application cliente a consommé un sous-ensemble des données de réception indiquées. La quantité de données, en octets, qui ont été consommées par l’application cliente est retournée dans la variable spécifiée par le paramètre BytesConsumed .

Remarques

Pour propager l’indication au pilote ou à la pile d’hôtes qui se superpose, le pilote intermédiaire appelle le Fonction NdisTcpOffloadReceiveHandler . Le pilote intermédiaire transmet les paramètres suivants à la fonction NdisTcpOffloadReceiveHandler :

  • NdisOffloadHandle que la cible de déchargement a stockée dans son contexte pour la connexion TCP déchargée. Pour plus d'informations, consultez la rubrique Référencement de l’état déchargé via un pilote intermédiaire.
  • Pointeur NetBufferList que NDIS a transmis à la fonction ProtocolTcpOffloadReceiveIndicate du pilote intermédiaire.
  • État transmis par NDIS à la fonction ProtocolTcpOffloadReceiveIndicate du pilote intermédiaire.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête ndischimney.h (inclure Ndischimney.h)

Voir aussi

MDL

NDIS_OFFLOAD_HANDLE

NET_BUFFER

NET_BUFFER_LIST

NdisInitiateOffload

NdisOffloadTcpReceiveReturn

NdisTcpOffloadReceiveHandler