Partager via


NdisCmDispatchIncomingCloseCall, fonction (ndis.h)

NdisCmDispatchIncomingCloseCall indique à un client de supprimer un appel actif ou offert, 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 un NDIS_STATUS_XXX déterminé par cm, indiquant la raison de la demande de déconnexion. Pendant les opérations réseau normales, un gestionnaire d’appels transmet NDIS_STATUS_SUCCESS pour indiquer qu’il a reçu une demande, initiée par la partie distante, pour fermer un appel actif.

[in] NdisVcHandle

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

[in, optional] Buffer

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 être NULL

[in] Size

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

Valeur de retour

None

Remarques

Dans le cadre d’opérations réseau normales, un cm autonome appelle NdisCmDispatchIncomingCloseCall avec 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 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 pris en charge pour la connexion. Il appelle donc NdisCmDispatchIncomingCloseCall.
  • Des 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 la partie distante vers la connexion tombe en panne, le cm appelle NdisCmDispatchIncomingCloseCall pour empêcher le client de tenter (ou de s’attendre) à d’autres transferts de données sur une connexion interrompue.
Après avoir détruit n’importe quel appel, le créateur d’origine du vc est chargé d’appeler NdisCoDeleteVc après avoir libéré toutes les ressources supplémentaires qu’il avait associées au vc.

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

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

Configuration requise

Condition requise Valeur
Client minimal 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 Desktop (Expérience utilisateur)
En-tête ndis.h (inclure 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