Fonction NdisClMakeCall (ndis.h)
NdisClMakeCall configure un appel sortant sur un vc créé par le client.
Syntaxe
NDIS_STATUS NdisClMakeCall(
[in] NDIS_HANDLE NdisVcHandle,
[in, out] PCO_CALL_PARAMETERS CallParameters,
[in, optional] NDIS_HANDLE ProtocolPartyContext,
[out, optional] PNDIS_HANDLE NdisPartyHandle
);
Paramètres
[in] NdisVcHandle
Spécifie le handle retourné par un appel précédent à NdisCoCreateVc.
[in, out] CallParameters
Pointeur vers une structure de type CO_CALL_PARAMETERS dans laquelle l’appelant a spécifié les attributs pour cette connexion, tels que l’adresse de la cible pour l’appel, la latence, la bande passante et la qualité de service si le support réseau et la famille d’adresses pris en charge par le gestionnaire d’appels autorisent les spécifications QoS.
[in, optional] ProtocolPartyContext
Spécifie éventuellement un handle fourni par l’appelant à une zone de contexte résidente dans laquelle le client maintient l’état par partie pour la partie initiale sur son vc multipoint. Ce paramètre a la valeur NULL si le VC donné ne représente pas une connexion multipoint. Pour un vc multipoint, NDIS transmet ce handle aux fonctions ProtocolClXxx du client dans tous les appels suivants qui affectent cette partie particulière.
[out, optional] NdisPartyHandle
Pointeur vers une variable fournie par l’appelant, généralement dans la zone de contexte de partie allouée par l’appelant, dans laquelle NDIS retourne un handle représentant la partie initiale de la connexion multipoint si la demande de configuration d’un appel sortant réussit. Si ProtocolPartyContext a la valeur NULL, cette variable, généralement dans la zone de contexte VC du client, est également définie sur NULL à la fin de la configuration de l’appel sortant.
Valeur retournée
Lorsque NdisClMakeCall retourne autre chose que NDIS_STATUS_PENDING, le client doit effectuer un appel interne à son Fonction ProtocolClMakeCallComplete . Sinon, NDIS appelle la fonction ProtocolClMakeCallComplete du client lorsque cette opération est terminée.
Remarques
NdisClMakeCall configure les attributs d’un vc créé par le client pour un appel sortant initié par le client. Le client doit configurer le vc avec NdisCoCreateVc avant d’effectuer un appel sortant.
Un appel à NdisClMakeCall oblige NDIS à transférer cette demande à la fonction ProtocolCmMakeCall du gestionnaire d’appels avec lequel le client partage le NdisVcHandle donné. Le cm est responsable de la validation des données données dans CallParameters . Il peut modifier ces données fournies par le client lors de la négociation avec les composants réseau pertinents et peut retourner des paramètres de trafic différents de ceux du client initialement donné à NdisClMakeCall. Le client est La fonction ProtocolClMakeCallComplete est chargée d’accepter les paramètres d’appel modifiés si cela se produit ou de détruire l’appel si les paramètres d’appel proposés par le CM sont inacceptables.
Par conséquent, les données dans CallParameters doivent rester disponibles pour le gestionnaire d’appels au moins pendant la durée de la configuration de l’appel. Le client ne peut pas libérer cette mémoire tampon lorsque NdisClMakeCall retourne NDIS_STATUS_PENDING. Il doit différer la libération de cette ressource allouée par le client jusqu’à ce que sa fonction ProtocolClMakeCallComplete soit appelée.
Si NdisClMakeCall configure une connexion multipoint, le client établit les paramètres de trafic globalement pour le vc donné, sauf si le support réseau sous-jacent prend en charge les paramètres de trafic par partie.
La fonction ProtocolClMakeCallComplete du client doit case activée l’état d’entrée pour NDIS_STATUS_SUCCESS avant d’utiliser un handle retourné sur NdisPartyHandle . Si le gestionnaire d’appels échoue à la demande de configuration d’un appel sur une connexion multipoint, la valeur de cette variable fournie par le client n’est pas valide.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Pris en charge pour les pilotes NDIS 6.0 et NDIS 5.1 (voir NdisClMakeCall (NDIS 5.1)) dans Windows Vista. Pris en charge pour les pilotes NDIS 5.1 (consultez NdisClMakeCall (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) |