Partager via


NdisClDropParty, fonction (ndis.h)

NdisClDropParty supprime une partie du vc multipoint du client.

Syntaxe

NDIS_STATUS NdisClDropParty(
  [in]           NDIS_HANDLE NdisPartyHandle,
  [in, optional] PVOID       Buffer,
  [in, optional] UINT        Size
);

Paramètres

[in] NdisPartyHandle

Spécifie le handle identifiant la partie à supprimer sur la connexion multipoint. Le client a obtenu ce handle à partir d’un appel précédent à NdisClAddParty ou NdisClMakeCall.

[in, optional] Buffer

Pointeur vers une mémoire tampon allouée par l’appelant contenant toutes les données à transmettre pour fermer la connexion multipoint de la partie sur le nœud distant. Selon le support sous-jacent, ce pointeur peut être NULL.

[in, optional] Size

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

Valeur de retour

Lorsque NdisClDropParty retourne autre chose que NDIS_STATUS_PENDING, le client doit effectuer un appel interne à son Fonction ProtocolClDropPartyComplete. Sinon, NDIS appelle la fonction ProtocolClDropPartyComplete du client lorsque cette opération est terminée.

Remarques

Les clients appellent généralement NdisClDropParty dans l’une des circonstances suivantes :

  • À partir de ProtocolClIncomingDropParty fonction pour supprimer la partie donnée d’une connexion multipoint.

    Cela se produit lorsqu’un tiers sur un nœud distant ferme sa connexion avec NdisClCloseCall. Lorsque NDIS appelle la fonction ProtocolClDropPartyComplete du client local, elle peut libérer ou réutiliser la zone de contexte à ProtocolPartyContext dans laquelle le client maintenait l’état de cette partie.

  • Avant que le client n’appelle NdisClCloseCall avec la dernière partie sur une connexion multipoint configurée à l’origine avec NdisClMakeCall.

    Pour une telle fermeture initiée par le client de son propre appel multipoint, le client doit appeler NdisClDropParty une ou plusieurs fois pour supprimer tous les autres tiers sur la vc multipoint.

L’appel d’un client à NdisClDropParty amène NDIS à appeler la fonction ProtocolCmDropParty du gestionnaire d’appels qui partage les mêmes NdisVcHandle au vc multipoint. Le gestionnaire d’appels est chargé d’avertir son homologue à nœud distant que la connexion tierce a été ou doit être fermée, selon le client qui a lancé l’opération de suppression.

En règle générale, un client doit appeler NdisClDropParty autant de fois qu’il a appelé NdisClAddParty avec un NdisVcHandle particulier obtenu à partir de NdisClMakeCall avant de fermer sa connexion multipoint avec NdisClCloseCall. Étant donné que les parties distantes peuvent lancer des fermetures de leurs connexions, provoquant ainsi des appels au client local ProtocolClIncomingDropParty fonction, le client local doit suivre le nombre de parties actives sur ses machines virtuelles multipoint afin de savoir combien d’appels il doit effectuer pour NdisClDropParty avant de pouvoir appeler NdisClCloseCall.

Toutefois, le client n’est pas obligé de passer NdisClCloseCall le même NdisPartyHandle retourné par NdisClMakeCall lorsque le client a configuré initialement sa connexion multipoint. Le client peut libérer des parties sur son vc multipoint dans n’importe quel ordre, tant qu’il libère chaque NdisPartyHandle retourné par NdisClAddParty ou NdisClMakeCall dans ses appels à NdisClDropParty, suivi d’un appel final avec le handle de dernière partie pour NdisClCloseCall pour le même VC multipoint. Une fois que le client a fermé son appel multipoint, il peut libérer le vc qu’il a créé à l’origine avec NdisCoDeleteVc.

L’appelant de NdisClDropParty doit prendre en compte l’entrée NdisPartyHandle non valide dès qu’il effectue cet appel. S’il a stocké ce handle dans la zone de contexte de partie qu’il a allouée, le client ProtocolClDropPartyComplete fonction doit réinitialiser la variable de handle sur NULL si elle réinitialise sa zone de contexte par partie à réutiliser lorsque la partie a été supprimée.

Exigences

Exigence Valeur
client minimum pris en charge Pris en charge pour les pilotes NDIS 6.0 et NDIS 5.1 (voir NdisClDropParty (NDIS 5.1)) dans Windows Vista. Pris en charge pour les pilotes NDIS 5.1 (voir NdisClDropParty (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_Protocol_Driver_Function(ndis)

Voir aussi

NdisClAddParty

NdisClCloseCall

NdisClMakeCall

NdisCoDeleteVc

ProtocolClDropPartyComplete

ProtocolClIncomingDropParty

ProtocolCmDropParty