NdisCancelSendPackets, fonction (ndis.h)

Note NDIS 5. x a été déconseillé et est remplacé par NDIS 6. x. Pour le développement de nouveaux pilotes NDIS, consultez Pilotes réseau à partir de Windows Vista. Pour plus d’informations sur le portage de NDIS 5. x pilotes dans NDIS 6. x, consultez Portage des pilotes NDIS 5.x vers NDIS 6.0.

NdisCancelSendPackets annule la transmission de tous les paquets marqués avec l’identificateur d’annulation spécifié sur le pilote miniport identifié par le handle de liaison.

Syntaxe

void NdisCancelSendPackets(
  [in] NDIS_HANDLE NdisBindingHandle,
  [in] PVOID       CancelId
);

Paramètres

[in] NdisBindingHandle

Spécifie le handle retourné par NdisOpenAdapter qui identifie la carte réseau ou la carte virtuelle à laquelle l’annulation s’applique.

[in] CancelId

Pointeur vers l’identificateur d’annulation. Cet identificateur spécifie le paquet ou le groupe de paquets pour lesquels la transmission est annulée.

Valeur de retour

None

Remarques

Les protocoles de transport mappent les IRPs reçus à partir de logiciels de niveau supérieur aux paquets NDIS, que les protocoles envoient ensuite aux pilotes de niveau inférieur pour la transmission. Si un IRP est annulé, un protocole de transport peut appeler la fonction NdisCancelSendPackets pour annuler la transmission en attente du paquet NDIS correspondant.

La fonction NdisCancelSendPackets annule les transmissions de paquets sur une seule liaison. Pour annuler les transmissions de paquets sur plusieurs liaisons, un protocole ou un pilote intermédiaire doit appeler la fonction NdisCancelSendPackets une fois pour chaque liaison.

Le protocole ou le pilote intermédiaire doit s’assurer que NdisBindingHandle, qui représente la liaison du pilote à l’adaptateur, reste valide pendant la durée de l’appel à NdisCancelSendPackets. Autrement dit, le protocole ou le pilote intermédiaire ne doit pas appeler la fonction NdisCloseAdapter pour fermer la liaison avant le retour de NdisCancelSendPackets .

Il n’est pas garanti que l’appel de NdisCancelSendPackets annule la transmission en attente de tous les paquets avec l’ID d’annulation spécifié. Par exemple, si le pilote inférieur suivant auquel le protocole ou le pilote intermédiaire est lié ne fournit pas de fonction MiniportCancelSendPackets , un appel à NdisCancelSendPackets ne fait rien.

Dans tous les cas, les paquets envoyés pour transmission sont retournés au protocole d’origine ou au pilote intermédiaire via un appel à la fonction ProtocolSendComplete ou ProtocolCoSendComplete du pilote. Les paquets d’envoi annulés sont retournés avec une status d’achèvement de NDIS_STATUS_ABORTED. Le délai entre l’appel de NdisCancelSendPackets et le retour des paquets annulés peut varier et ne peut donc pas être spécifié exactement.

  • Plateforme cible : universelle
  • Version : non pris en charge pour les pilotes NDIS 6.0 dans Windows Vista. Utilisez plutôt NdisCancelSendNetBufferLists. Pris en charge pour les pilotes NDIS 5.1 dans Windows Vista et Windows XP.

Configuration requise

Condition requise Valeur
En-tête ndis.h (inclure Ndis.h)
Bibliothèque Ndis.lib
IRQL IRQL <= DISPATCH_LEVEL

Voir aussi