PROTOCOL_CM_ACTIVATE_VC_COMPLETE fonction de rappel (ndis.h)
La fonction ProtocolCmActivateVcComplete est requise. Cette fonction indique au gestionnaire d’appels qu’un appel précédent à NdisCoActivateVc a été effectué par le pilote miniport.
Syntaxe
PROTOCOL_CM_ACTIVATE_VC_COMPLETE ProtocolCmActivateVcComplete;
void ProtocolCmActivateVcComplete(
[in] NDIS_STATUS Status,
[in] NDIS_HANDLE CallMgrVcContext,
[in] PCO_CALL_PARAMETERS CallParameters
)
{...}
Paramètres
[in] Status
Spécifie la status finale, comme indiqué par le pilote miniport, de la demande par le gestionnaire d’appels d’activer un vc.
[in] CallMgrVcContext
Spécifie le handle d’une zone de contexte allouée par le gestionnaire d’appels dans laquelle le gestionnaire d’appels conserve son état par VC. Le gestionnaire d’appels a fourni ce handle à partir de sa fonction ProtocolCoCreateVc .
[in] CallParameters
Pointeur vers les paramètres d’appel spécifiés par le gestionnaire d’appels dans un appel à NdisCmActivateVc.
Valeur de retour
None
Remarques
Lorsque d’autres composants réseau ont terminé leurs opérations d’activation d’une connexion virtuelle, lancées lorsque le gestionnaire d’appels appelé NdisCmActivateVc, NDIS avertit le gestionnaire d’appels que le VC a été activé en appelant sa fonction ProtocolCmActivateVcComplete . Le status de l’activation se trouve dans État . Les valeurs possibles pour Status incluent, mais ne sont pas limitées à :
ProtocolCmActivateVcComplete doit case activée le status retourné dans Status pour s’assurer que la connexion virtuelle a été activée avec succès. Le gestionnaire d’appels ne doit pas tenter de communiquer via la connexion virtuelle si Status n’est pas NDIS_STATUS_SUCCESS.
Les gestionnaires d’appels doivent effectuer tout traitement requis par leur média réseau pour s’assurer que la connexion virtuelle est prête pour la transmission des données avant de retourner le contrôle à NDIS.
Si le gestionnaire d’appels a spécifié ROUND_UP_FLOW ou ROUND_DOWN_FLOW dans callParameters :>
MediaParameters->Indicateurs, les paramètres d’appel retournés dans CallParameters peuvent avoir été modifiés par le pilote miniport. Les gestionnaires d’appels doivent examiner les paramètres d’appel qui ont été retournés pour s’assurer d’un bon fonctionnement. Si les nouveaux paramètres d’appel ne sont pas satisfaisants, le gestionnaire d’appels doit soit appeler À nouveau NdisCmActivateVc avec de nouveaux paramètres d’appel, soit désactiver le VC avec NdisCmDeactivateVc.
Exemples
Pour définir une fonction ProtocolCmActivateVcComplete , vous devez d’abord fournir une déclaration de fonction qui identifie le type de fonction que vous définissez. Windows fournit un ensemble de types de fonctions pour les pilotes. La déclaration d’une fonction à l’aide des types de fonction permet à l’analyse du code pour les pilotes, le vérificateur de pilotes statique (SDV) et d’autres outils de vérification de trouver les erreurs, et il s’agit d’une exigence pour l’écriture de pilotes pour le système d’exploitation Windows.Par exemple, pour définir une fonction ProtocolCmActivateVcComplete nommée « MyCmActivateVcComplete », utilisez le type PROTOCOL_CM_ACTIVATE_VC_COMPLETE comme indiqué dans cet exemple de code :
PROTOCOL_CM_ACTIVATE_VC_COMPLETE MyCmActivateVcComplete;
Ensuite, implémentez votre fonction comme suit :
_Use_decl_annotations_
VOID
MyCmActivateVcComplete(
NDIS_STATUS Status,
NDIS_HANDLE CallMgrVcContext,
PCO_CALL_PARAMETERS CallParameters
)
{...}
Le type de fonction PROTOCOL_CM_ACTIVATE_VC_COMPLETE est défini dans le fichier d’en-tête Ndis.h. Pour identifier plus précisément les erreurs lors de l’exécution des outils d’analyse du code, veillez à ajouter l’annotation Use_decl_annotations à votre définition de fonction. L’annotation Use_decl_annotations garantit que les annotations appliquées au type de fonction PROTOCOL_CM_ACTIVATE_VC_COMPLETE dans le fichier d’en-tête sont utilisées. Pour plus d’informations sur la configuration requise pour les déclarations de fonction, consultez Déclaration de fonctions à l’aide de types de rôles de fonction pour les pilotes NDIS.
Pour plus d’informations sur Use_decl_annotations, consultez Annotating Function Behavior.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Pris en charge pour les pilotes NDIS 6.0 et NDIS 5.1 (voir ProtocolCmActivateVcComplete (NDIS 5.1)) dans Windows Vista. Pris en charge pour les pilotes NDIS 5.1 (consultez ProtocolCmActivateVcComplete (NDIS 5.1)) dans Windows XP. |
Plateforme cible | Windows |
En-tête | ndis.h (inclure Ndis.h) |
IRQL | <= DISPATCH_LEVEL |
Règles de conformité DDI | SpinLockBalanced(ndis),SpinLockDpr(ndis) |