Partager via


Macro NdisMCmDispatchIncomingCloseCall (ndis.h)

NdisMCmDispatchIncomingCloseCall indique à un client de supprimer 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 un NDIS_STATUS_XXX 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, initiée par la partie distante, de fermeture d’un appel actif.

_H_

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

_B_

Pointeur vers une mémoire tampon résidente allouée à 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 avoir la valeur NULL.

_Z_

Spécifie la taille en octets de la mémoire tampon, zéro si la mémoire tampon a la valeur NULL.

Valeur de retour

None

Remarques

Dans le cadre d’opérations réseau normales, un pilote MCM appelle NdisMCmDispatchIncomingCloseCall avec 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 est La fonction ProtocolCmIncomingCallComplete 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 supportables pour la connexion. Il appelle donc NdisMCmDispatchIncomingCloseCall.
  • Les conditions réseau anormales forcent le pilote MCM à supprimer 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 rompue.
Une fois que le client a appelé NdisClCloseCall , provoquant ainsi la désactivation du vc, le créateur d’origine du vc est responsable de la destruction du vc. Soit le client appelle NdisCoDeleteVc, ce qui oblige NDIS à appeler la fonction ProtocolCoDeleteVc du pilote MCM, soit le pilote MCM appelle NdisMCmDeleteVc après avoir appelé NdisMCmDeactivateVc et libéré toutes les ressources supplémentaires qu’il avait associées au vc qu’il a créé.

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

Seuls les pilotes miniport orientés connexion qui prennent en charge la gestion des appels peuvent appeler NdisMCmDispatchIncomingCall. Les gestionnaires d’appels autonomes, qui s’inscrivent auprès de NDIS en tant que pilotes de protocole, appellent plutôt NdisCmDispatchIncomingCloseCall .

Configuration requise

Condition requise Valeur
Client minimal 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 (consultez NdisMCmDispatchIncomingCloseCall (NDIS 5.1)) dans Windows XP.
Plateforme cible Desktop (Expérience utilisateur)
En-tête ndis.h (inclure Ndis.h)
IRQL <= DISPATCH_LEVEL
Règles de conformité DDI Irql_MCM_Function(ndis)

Voir aussi

MiniportInterruptDPC

NdisClCloseCall

NdisMCmDeactivateVc

NdisMCmDeleteVc

NdisMCmDispatchIncomingCall

NdisMCmDispatchIncomingDropParty

ProtocolClIncomingCloseCall

ProtocolCoDeleteVc