NdisOffloadTcpDisconnect, fonction (ndischimney.h)

[La fonctionnalité de déchargement de la 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 de NDIS_OFFLOAD_HANDLE dans le contexte de l’appelant 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.

[in] NetBufferList

Pointeur vers une structure 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 avortée en envoyant un segment RST.

TCP_DISCONNECT_GRACEFUL_CLOSE

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

Valeur retournée

La fonction NdisOffloadTcpDisconnect retourne toujours NDIS_STATUS_PENDING. L’opération de déconnexion est toujours effectuée de manière 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 vers le pilote intermédiaire sous-jacent ou la cible de déchargement. Pour plus d’informations, consultez Propagation des opérations d’E/S.

À la fonction NdisOffloadTcpXxx , le pilote intermédiaire transmet ce qui suit :

  • 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 la rubrique Référencement de l’état déchargé via un 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 passés à la fonction MiniportTcpOffloadDisconnect du pilote intermédiaire.
Lorsque le pilote sous-jacent ou la cible de déchargement termine ensuite l’opération de déconnexion en appelant la fonction NdisTcpOffloadDisconnectComplete , 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.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
En-tête ndischimney.h (inclure Ndischimney.h)
Bibliothèque Ndis.lib

Voir aussi

MiniportTcpOffloadDisconnect

NDIS_OFFLOAD_HANDLE

NET_BUFFER

NET_BUFFER_LIST

NdisTcpOffloadDisconnectComplete ProtocolTcpOffloadDisconnectComplete