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 |
---|---|
|
L’application cliente a consommé toutes les données de réception indiquées. |
|
L’application cliente a rejeté toutes les données de réception indiquées. |
|
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) |