NdisClDropParty, fonction (ndis.h)
NdisClDropParty supprime une partie de la 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 avoir la valeur NULL.
[in, optional] Size
Spécifie la taille en octets dans La mémoire tampon, zéro si la mémoire tampon a la valeur NULL.
Valeur retournée
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 :
-
Dans la liste Fonction ProtocolClIncomingDropParty pour supprimer le tiers donné 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, il peut libérer ou réutiliser la zone de contexte dans ProtocolPartyContext dans laquelle le client maintenait l’état de cette partie.
-
Avant que le client n’appelle NdisClCloseCall avec le dernier tiers sur une connexion multipoint que le client a 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 toutes les autres parties restantes sur le vc multipoint.
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, ce qui provoque des appels au client local Fonction ProtocolClIncomingDropParty , le client local doit suivre le nombre de parties actives sur ses machines virtuelles multipoints afin de savoir combien d’appels il doit effectuer à 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 initialement configuré 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 dernier handle de partie à 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 considérer 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 La fonction ProtocolClDropPartyComplete doit réinitialiser la variable handle à NULL si elle réinitialise sa zone de contexte par partie pour la réutilisation lorsque la partie a été supprimée.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal 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 (consultez NdisClDropParty (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_Protocol_Driver_Function(ndis) |