Partager via


Macro NdisMCmDispatchIncomingCloseCall (ndis.h)

NdisMCmDispatchIncomingCloseCall indique à un client de détruire un appel actif ou offert, généralement parce que le pilote MCM a reçu une demande du réseau pour fermer la connexion.

Syntaxe

void NdisMCmDispatchIncomingCloseCall(
   _S_,
   _H_,
   _B_,
   _Z_
);

Paramètres

_S_

Spécifie unXXX NDIS_STATUS_déterminé par l’appelant, indiquant la raison de la demande de déconnexion. Pendant les opérations réseau normales, un pilote MCM passe NDIS_STATUS_SUCCESS pour indiquer qu’il a reçu une demande, lancée par le tiers distant, pour fermer un appel actif.

_H_

Spécifie le handle de l’appel en cours de déconnexion. Ce handle a été fourni par NDIS lorsque le vc a été créé à l’origine, que ce soit par le pilote MCM avec NdisMCmCreateVc ou en tant que paramètre d’entrée à sa fonction ProtocolCoCreateVc.

_B_

Pointeur vers une mémoire tampon résidente allouée par l’appelant contenant des données de déconnexion supplémentaires spécifiques au protocole, le cas échéant. Selon le support sous-jacent, ce pointeur peut être NULL.

_Z_

Spécifie la taille en octets de la mémoire tampon, zéro si tampon est null.

Valeur de retour

Aucun

Remarques

Au cours des opérations réseau normales, un pilote MCM appelle NdisMCmDispatchIncomingCloseCall avec le CloseStatus défini sur NDIS_STATUS_SUCCESS, car le client correspondant sur le nœud distant a appelé NdisClCloseCall.

Toutefois, un pilote MCM peut également appeler NdisMCmDispatchIncomingCloseCall si l’une des opérations suivantes se produit :

  • Le pilote MCM a averti un client d’une offre d’appel entrante. Quand le pilote miniport ProtocolCmIncomingCallComplete fonction est appelée avec l’acceptation du client, elle valide les paramètres d’appel d’entrée que ce client a modifiés. ProtocolCmIncomingCallComplete détermine que le client propose des paramètres d’appel non pris en charge pour la connexion. Il appelle donc NdisMCmDispatchIncomingCloseCall.
  • Les conditions réseau anormales forcent le pilote MCM à détruire les appels actifs. Par exemple, si le pilote MCM est averti lorsqu’un lien sur la connexion entre ce client et la partie distante vers la connexion tombe en panne, le pilote miniport appelle NdisCmDispatchIncomingCloseCall pour empêcher le client de tenter (ou d’attendre) d’autres transferts de données sur une telle connexion interrompue.
Une fois que le client appelle NdisClCloseCall provoquant ainsi la désactivation de la vc, le créateur d’origine de la vc est responsable de la destruction du vc. Soit le client appelle NdisCoDeleteVc, ce qui entraîne l’appel de la fonction ProtocolCoDeleteVc du pilote MCM, ou le pilote MCM appelle NdisMCmDeleteVc après avoir appelé NdisMCmDeactivateVc et libérer les ressources supplémentaires qu’il avait associées à la vc qu’il a créée.

Un appel à NdisMCmDispatchIncomingCloseCall amène NDIS à appeler le client ProtocolClIncomingCloseCall function.

Seuls les pilotes miniport orientés connexion qui fournissent une prise en charge de la gestion des appels peuvent appeler NdisMCmDispatchIncomingCall. Les gestionnaires d’appels autonomes, qui s’inscrivent auprès de NDIS comme pilotes de protocole, appellent NdispatchIncomingCloseCall à la place.

Exigences

Exigence Valeur
client minimum pris en charge Pris en charge pour les pilotes NDIS 6.0 et NDIS 5.1 (voir NdisMCmDispatchIncomingCloseCall (NDIS 5.1)) dans Windows Vista. Pris en charge pour les pilotes NDIS 5.1 (voir NdisMCmDispatchIncomingCloseCall (NDIS 5.1)) dans Windows XP.
plateforme cible Bureau
d’en-tête ndis.h (include Ndis.h)
IRQL <= DISPATCH_LEVEL
règles de conformité DDI Irql_MCM_Function(ndis)

Voir aussi

MiniportInterruptDPC

NdisClCloseCall

NdisMCmDeactivateVc

NdisMCmDeleteVc

NdisMCmDispatchIncomingCall

NdisMCmDispatchIncomingDropParty

ProtocolClIncomingCloseCall

ProtocolCoDeleteVc