NdisCancelSendPackets, fonction (ndis.h)
Remarque 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. pilotes x vers 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
Aucun
Remarques
Les protocoles de transport mappent les irPs reçus 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 les NdisCancelSendPackets fonction 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 les NdisCancelSendPackets fonction 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 NdisCancelSendPackets retourne.
Il n’existe aucune garantie que l’appel 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 MiniportCancelSendPackets fonction, un appel à NdisCancelSendPackets ne fait rien.
Dans tous les cas, les paquets envoyés pour la transmission sont retournés au protocole d’origine ou au pilote intermédiaire via un appel à la fonctionProtocolSendCompletedu pilote ou ProtocolCoSendComplete. Les paquets d’envoi annulés sont retournés avec un état d’achèvement de NDIS_STATUS_ABORTED. Le délai entre l’appel 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 NdisCancelSendNetBufferLists à la place. Pris en charge pour les pilotes NDIS 5.1 dans Windows Vista et Windows XP.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | ndis.h (include Ndis.h) |
bibliothèque | Ndis.lib |
IRQL | IRQL <= DISPATCH_LEVEL |