Partager via


NdisCancelSendNetBufferLists, fonction (ndis.h)

Les pilotes de protocole appellent la fonction NdisCancelSendNetBufferLists pour annuler la transmission des données réseau.

Syntaxe

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

Paramètres

[in] NdisBindingHandle

Handle retourné par la fonction NdisOpenAdapterEx qui identifie le pilote miniport ou le miniport virtuel auquel l’annulation s’applique.

[in] CancelId

Identificateur d’annulation. Cet identificateur spécifie les données réseau pour lesquelles la transmission est annulée.

Valeur de retour

Aucun

Remarques

Un pilote de protocole mappe les irPs qu’il reçoit d’un logiciel de niveau supérieur aux données réseau NDIS. Une liste de structures NET_BUFFER_LIST décrit les données réseau envoyées par le pilote de protocole aux pilotes de niveau inférieur pour la transmission. Si un IRP est annulé, un pilote de protocole peut appeler la fonction NdisCancelSendNetBufferLists pour annuler la transmission en attente des données réseau NDIS correspondantes.

Appeler le NDIS_SET_NET_BUFFER_LIST_CANCEL_ID macro pour chaque structure NET_BUFFER_LIST passée aux pilotes de niveau inférieur pour la transmission. La macro NDIS_SET_NET_BUFFER_LIST_CANCEL_ID marque le paquet spécifié avec un identificateur d’annulation.

NdisCancelSendNetBufferLists annule la transmission de toutes les données marquées avec l’identificateur d’annulation spécifié et associée au pilote miniport spécifié. Le handle de liaison spécifié dans le paramètre NdisBindingHandle identifie le pilote miniport.

La fonction NdisCancelSendNetBufferLists annule les transmissions de données réseau sur une seule liaison. Pour annuler les transmissions de données réseau sur plusieurs liaisons, un pilote de protocole doit appeler les NdisCancelSendNetBufferLists fonction une fois pour chaque liaison.

Le pilote de protocole doit s’assurer que le handle que le paramètre NdisBindingHandle spécifie reste valide pendant la durée de l’appel à NdisCancelSendNetBufferLists. Autrement dit, le pilote de protocole ne doit pas appeler la fonction NdisCloseAdapterEx pour fermer la liaison avant NdisCancelSendNetBufferLists retourne.

Il n’existe aucune garantie que l’appel NdisCancelSendNetBufferLists annule la transmission en attente de toutes les données réseau avec l’identificateur d’annulation spécifié. Par exemple, si le pilote inférieur suivant auquel le pilote de protocole est lié ne fournit pas de fonction MiniportCancelSend, un appel à NdisCancelSendNetBufferLists ne fait rien.

Dans tous les cas, NDIS retourne les données réseau envoyées pour transmission au pilote de protocole d’origine ProtocolSendNetBufferListsComplete fonction. NDIS retourne les données d’envoi annulées avec l’état d’achèvement de NDIS_STATUS_SEND_ABORTED. Le délai entre l’appel NdisCancelSendNetBufferLists et le retour des structures de NET_BUFFER_LIST annulées peut varier et ne peut donc pas être spécifié exactement.

Exigences

Exigence Valeur
client minimum pris en charge Prise en charge dans NDIS 6.0 et versions ultérieures.
plateforme cible Universel
d’en-tête ndis.h (include Ndis.h)
bibliothèque Ndis.lib
IRQL <= DISPATCH_LEVEL
règles de conformité DDI Irql_SendRcv_Function(ndis)

Voir aussi

MiniportCancelSend

NDIS_SET_NET_BUFFER_LIST_CANCEL_ID

NET_BUFFER_LIST

NdisCloseAdapterEx

NdisOpenAdapterEx

ProtocolSendNetBufferListsComplete