Partager via


NdisCmDispatchIncomingCloseCall, fonction (ndis.h)

NdisCmDispatchIncomingCloseCall indique à un client de supprimer un appel actif ou proposé, généralement parce que le gestionnaire d’appels a reçu une demande du réseau pour fermer la connexion.

Syntaxe

void NdisCmDispatchIncomingCloseCall(
  [in]           NDIS_STATUS CloseStatus,
  [in]           NDIS_HANDLE NdisVcHandle,
  [in, optional] PVOID       Buffer,
  [in]           UINT        Size
);

Paramètres

[in] CloseStatus

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

[in] NdisVcHandle

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 gestionnaire d’appels ou le client, avec NdisCoCreateVc.

[in, optional] Buffer

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

[in] Size

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, une cm autonome appelle NdisCmDispatchIncomingCloseCall avec le CloseStatus défini sur NDIS_STATUS_SUCCESS, car le client correspondant sur le nœud distant a appelé NdisClCloseCall.

Toutefois, un gestionnaire d’appels peut également appeler NdisCmDispatchIncomingCloseCall si l’une des opérations suivantes se produit :

  • Le gestionnaire d’appels a averti un client d’une offre d’appel entrante. Quand le CM 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 NdisCmDispatchIncomingCloseCall.
  • Les conditions réseau anormales forcent le gestionnaire d’appels à supprimer les appels actifs. Par exemple, si le gestionnaire d’appels est averti lorsqu’un lien sur la connexion entre ce client et le tiers distant vers la connexion tombe en panne, le gestionnaire d’appels appelle NdisCmDispatchIncomingCloseCall pour empêcher le client de tenter (ou d’attendre) d’autres transferts de données sur une connexion interrompue.
Après avoir détruit un appel, le créateur d’origine du VC est responsable de l’appel de NdisCoDeleteVc après avoir libéré toutes les ressources supplémentaires qu’il avait associées à la vc.

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

Seuls les gestionnaires d’appels autonomes, qui s’inscrivent auprès de NDIS comme pilotes de protocole, peuvent appeler NdisCmDispatchIncomingCloseCall. Pilotes miniport orientés connexion qui fournissent un appel de support de gestion des appels NdisMCmDispatchIncomingCall à la place.

Exigences

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

Voir aussi

NdisClCloseCall

NdisCmDispatchIncomingDropParty

NdisCoDeleteVc

NdisMCmDispatchIncomingCloseCall

ProtocolClIncomingCloseCall

ProtocolCoReceiveNetBufferLists

ProtocolCoStatusEx