NdisClAddParty, fonction (ndis.h)
NdisClAddParty ajoute une partie sur le vc multipoint du client.
Syntaxe
NDIS_STATUS NdisClAddParty(
[in] NDIS_HANDLE NdisVcHandle,
[in] NDIS_HANDLE ProtocolPartyContext,
[in, out] PCO_CALL_PARAMETERS CallParameters,
[out] PNDIS_HANDLE NdisPartyHandle
);
Paramètres
[in] NdisVcHandle
Pointeur vers le handle VC retourné par NdisCoCreateVc.
[in] ProtocolPartyContext
Spécifie le handle d’une zone de contexte résident allouée à l’appelant dans laquelle le client maintient l’état par partie si son appel réussit.
[in, out] CallParameters
Pointeur vers une structure de type CO_CALL_PARAMETERS dans laquelle l’appelant a spécifié les informations d’adressage de la partie à ajouter sur son vc multipoint.
[out] NdisPartyHandle
Pointeur vers une variable à définir par NDIS si l’opération du complément réussit.
Valeur retournée
Lorsque NdisClAddParty retourne autre chose que NDIS_STATUS_PENDING, le client doit effectuer un appel interne à son Fonction ProtocolClAddPartyComplete . Sinon, NDIS appelle la fonction ProtocolClAddPartyComplete du client lorsque cette opération est terminée.
Remarques
Avant d’appeler NdisClAddParty, un client doit configurer une connexion multipoint sur son VC avec NdisClMakeCall, ainsi que l’allocation et l’initialisation de sa zone de contexte pour que la partie à ajouter. Les clients passent généralement un pointeur vers une zone de contexte telle que ProtocolPartyContext et un pointeur vers une variable dans cette zone de contexte en tant que paramètres NdisPartyHandle lorsqu’ils appellent NdisClAddParty.
Un appel à NdisClAddParty amène NDIS à transférer cette demande à la fonction ProtocolCmAddParty du gestionnaire d’appels avec lequel le client partage le NdisVcHandle donné . Le gestionnaire d’appels retourne une erreur status immédiatement ou, plus souvent, NDIS_STATUS_PENDING s’il tente de répondre à cette demande. Si sa tentative est rejetée sur le point de terminaison distant ou par le pilote miniport sous-jacent, le gestionnaire d’appels retourne une erreur finale status, comme NDIS_STATUS_FAILURE, lorsqu’il appelle NdisCmAddPartyComplete ou NdisMCmAddPartyComplete. Le client est La fonction ProtocolClAddPartyComplete doit case activée l’argument d’état d’entrée pour NDIS_STATUS_SUCCESS avant de continuer.
Le support réseau sous-jacent détermine si un client peut spécifier des paramètres de trafic par partie sur un vc multipoint.
Si le support réseau sous-jacent ne prend pas en charge les paramètres de trafic par partie sur les machines virtuelles multipoints, un gestionnaire d’appels peut effectuer l’une des opérations suivantes chaque fois qu’un client tente d’ajouter une partie avec une spécification dans CallParameters qui ne correspond pas aux paramètres de trafic déjà établis pour ce vc :
- Rejeter la demande d’ajout d’une nouvelle partie.
- Réinitialisez les paramètres de trafic à ceux déjà établis pour le vc multipoint lorsqu’il a correctement ajouté le tiers sur cette VC.
- Modifiez les paramètres de trafic pour chaque partie déjà sur le VC lorsqu’il a correctement ajouté la nouvelle partie.
À son tour, NDIS transmet le handle ProtocolPartyContext fourni par le client dans les appels suivants aux fonctions ProtocolClXxx du client qui concernent cette partie nouvellement ajoutée, y compris l’appel à ProtocolClAddPartyComplete.
Si un appel multipoint autorise les transferts dans les deux sens et/ou les transferts par partie avec des paramètres de trafic par partie dépend du support du pilote miniport sous-jacent auquel le client est lié. Le NdisPartyHandle représente uniquement la partie spécifique ajoutée par un appel réussi à NdisClAddParty, plutôt que le vc multipoint. Par conséquent, le client peut utiliser sa zone ProtocolPartyContext uniquement pour les demandes de gestion des appels spécifiques à une partie ultérieures. Pour les transferts de données sur un support réseau qui ne prennent pas en charge les transferts par partie ou les paramètres de trafic, le client doit utiliser le NdisVcHandle à 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 NdisClAddParty (NDIS 5.1)) dans Windows Vista. Pris en charge pour les pilotes NDIS 5.1 (voir NdisClAddParty (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) |