Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Un client demande un changement de qualité de service (QoS) sur une connexion virtuelle active (VC) avec NdisClModifyCallQoS.
La figure suivante montre le client d’un gestionnaire d’appels demandant un changement de qualité de service.
La figure suivante montre le client d’un pilote MCM demandant un changement de qualité de service.
Diagramme illustrant un client d’un pilote MCM demandant une modification de QoS sur un VC actif.
Dans l’appel à NdisClModifyCallQoS, le client fournit :
Paramètre NdisVcHandle qui identifie le vc.
Pointeur vers une structure CO_CALL_PARAMETERS qui contient les paramètres d’appel demandés par le client.
Les circonstances dans lesquelles un client peut demander une modification de qoS sont déterminées par le protocole de signalisation.
L’appel à NdisClModifyCallQoS entraîne l’appel de la fonction ProtocolCmModifyCallQoS du gestionnaire d’appels ou du pilote MCM, qui entre la structure NdisVcHandle et mise en mémoire tampon CO_CALL_PARAMETERS que le client transmet à NdisClModifyCallQoS. ProtocolCmModifyQoS communique avec des périphériques de contrôle réseau ou d’autres agents spécifiques aux médias, comme cela est nécessaire par son média, pour modifier les paramètres d’appel spécifiques au média pour une connexion virtuelle établie.
Après avoir communiqué avec le réseau et déterminé que les modifications ont réussi, un gestionnaire d’appels doit appeler NdisCmActivateVc(et un pilote MCM doit appeler NdisMCmActivateVc) pour activer le vc spécifié avec les nouveaux paramètres d’appel.
Si le réseau n’accepte pas les nouveaux paramètres d’appel ou si le pilote miniport sous-jacent ne peut pas accepter les paramètres, le gestionnaire d’appels ou le pilote MCM doit restaurer le vc à l’état qui existait avant toute tentative de modification et retourner NDIS_STATUS_FAILURE.
Pour indiquer l’état de la demande du client pour modifier QoS, un gestionnaire d’appels appelle NdisCmModifyCallQoSComplete et un pilote MCM appelle NdisMCmModifyCallQoSComplete. Dans cet appel, le gestionnaire d'appels ou le pilote MCM transmet :
Un NDIS_STATUS qui indique l’état de la requête.
NdisVcHandle qui identifie le VC.
Pointeur vers une structure CO_CALL_PARAMETERS qui contient les paramètres d'appel pour la VC.
Si le protocole de signalisation est autorisé, le gestionnaire d’appels ou le pilote MCM peut transmettre des paramètres de rappel modifiés au client. Ces modifications peuvent être le produit de la négociation avec le réseau ou elles peuvent être fournies par le gestionnaire d’appels ou le pilote MCM lui-même. Un gestionnaire d’appels ou un pilote MCM doit indiquer que les paramètres d’appel ont été modifiés en définissant l’indicateur de CALL_PARAMETERS_CHANGED dans la structure CO_CALL_PARAMETERS.
L’appel à Ndis(M)CmModifyCallQoSComplete entraîne l’appel de la fonction ProtocolClModifyCallQoSComplete du client. NDIS transmet ce qui suit à ProtocolClModifyCallQoSComplete :
Un NDIS_STATUS qui indique l’état de la demande du client pour modifier la qualité de service.
Un manipulateur ProtocolVcContext qui identifie le VC.
Pointeur vers une structure CO_CALL_PARAMETERS qui contient les paramètres d’appel transmis par le gestionnaire d’appels ou le pilote MCM à Ndis(M)CmModifyCallQoSComplete.
Si l’indicateur CALL_PARAMETERS_CHANGED est défini dans la structure CO_CALL_PARAMETERS, le client doit examiner les paramètres d’appel retournés et déterminer si les modifications sont acceptables. Si l’appel du client à NdisClModifyCallQoS réussit, ProtocolClModifyCallQoSComplete peut accepter la modification qoS en retournant simplement le contrôle. Sinon, ProtocolClModifyCallQoSComplete peut s’engager dans une négociation supplémentaire avec le gestionnaire d’appels si elle est autorisée par le protocole de signalisation et tant que le développeur du client place une limite raisonnable sur le nombre de renégociations possibles. Sinon, ProtocolClModifyCallQoSComplete peut simplement supprimer l’appel avec NdisClCloseCall(voir Client-Initiated Request to Close a Call) chaque fois que le gestionnaire d’appels rejette une demande de modification de la QoS et que la QoS établie précédemment est devenue inacceptable pour le client.