Partager via


NdisOffloadTcpDisconnect, fonction (ndischimney.h)

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

Un protocole ou un pilote intermédiaire appelle la fonction NdisOffloadTcpDisconnect pour fermer la moitié d’envoi d’une connexion TCP déchargée. En outre, si la déconnexion à effectuer est une déconnexion normale, le protocole ou le pilote intermédiaire peut fournir des données d’application que la cible de déchargement sous-jacente doit transmettre sur la connexion TCP déchargée avant d’envoyer un segment FIN.

Syntaxe

NDIS_STATUS NdisOffloadTcpDisconnect(
  [in] IN PNDIS_OFFLOAD_HANDLE NdisOffloadHandle,
  [in] IN PNET_BUFFER_LIST     NetBufferList,
  [in] IN ULONG                Flags
);

Paramètres

[in] NdisOffloadHandle

Pointeur vers une structure NDIS_OFFLOAD_HANDLE dans le contexte de l’appelant pour la connexion TCP déchargée. Pour plus d’informations, consultez référencement de l’état déchargé par le biais d’unde pilote intermédiaire.

[in] NetBufferList

Pointeur vers une structure de NET_BUFFER_LIST unique. Une seule structure NET_BUFFER est associée à cette structure NET_BUFFER_LIST.

[in] Flags

Comme l’une des valeurs suivantes, le type de déconnexion à effectuer :

TCP_DISCONNECT_ABORTIVE_CLOSE

Spécifie que la cible de déchargement effectue une déconnexion abandonnée en envoyant un segment RST.

TCP_DISCONNECT_GRACEFUL_CLOSE

Spécifie que la cible de déchargement effectue une déconnexion appropriée en envoyant un segment FIN.

Valeur de retour

La fonction NdisOffloadTcpDisconnect retourne toujours NDIS_STATUS_PENDING. L’opération de déconnexion est toujours terminée de façon asynchrone.

Remarques

En réponse à un appel à son fonction MiniportTcpOffloadDisconnect, un pilote intermédiaire appelle la fonction NdisOffloadTcpDisconnect pour propager l’opération de déconnexion au pilote intermédiaire sous-jacent ou à la cible de déchargement. Pour plus d’informations, consultez propagation des opérations d’E/S.

Dans la fonction NdisOffloadTcpXxx, le pilote intermédiaire passe les éléments suivants :

  • Fonction NdisOffloadHandle qui fait référence à la structure NDIS_OFFLOAD_HANDLE stockée dans le contexte du pilote intermédiaire pour la connexion TCP déchargée. Pour plus d’informations, consultez référencement de l’état déchargé par le biais d’unde pilote intermédiaire.
  • Le même pointeur PNET_BUFFER_LIST que NDIS a passé à la fonction MiniportTcpOffloadDisconnect du pilote intermédiaire.
  • Les mêmes indicateurs que NDIS est passé à la fonction MiniportTcpOffloadDisconnect du pilote intermédiaire.
Lorsque le pilote ou la cible de déchargement sous-jacent termine par la suite l’opération de déconnexion en appelant la fonction NdisTcpOffloadDisconnectComplete du pilote intermédiaire, NDIS appelle la fonction ProtocolOffloadDisconnectComplete du pilote intermédiaire. Le pilote intermédiaire appelle ensuite la fonction NdisTcpOffloadDisconnectComplete pour propager l’achèvement de l’opération de déconnexion.

Exigences

Exigence Valeur
plateforme cible Universel
d’en-tête ndischimney.h (include Ndischimney.h)
bibliothèque Ndis.lib

Voir aussi

MiniportTcpOffloadDisconnect

NDIS_OFFLOAD_HANDLE

NET_BUFFER

NET_BUFFER_LIST

NdisTcpOffloadDisconnectComplete ProtocolTcpOffloadDisconnectComplete