PROTOCOL_CL_CLOSE_CALL_COMPLETE fonction de rappel (ndis.h)
La fonction ProtocolClCloseCallComplete est utilisée par les clients NDIS orientés connexion. Tous les clients NDIS orientés connexion doivent avoir fonctions ProtocolClCloseCallComplete pour effectuer les opérations asynchrones qu’ils lancent avec
PROTOCOL_CL_CLOSE_CALL_COMPLETE ProtocolClCloseCallComplete;
void ProtocolClCloseCallComplete(
[in] NDIS_STATUS Status,
[in] NDIS_HANDLE ProtocolVcContext,
[in, optional] NDIS_HANDLE ProtocolPartyContext
)
{...}
[in] Status
Spécifie l’état final de la demande du client pour fermer cet appel, qui peut être l’un des éléments suivants :
Le gestionnaire d’appels a correctement fermé l’appel qui existait sur le vc donné et a désactivé le vc.
Le gestionnaire d’appels a échoué la requête pour fermer l’appel pour une raison déterminée par CM, et NDIS a propagé l’état retourné par sa fonction ProtocolCmCloseCall au client.
[in] ProtocolVcContext
Spécifie le handle de la zone de contexte par VC du client : il s’agit du handle que le client a passé à NDIS à l’origine avec NdisCoCreateVc ou retourné à NDIS à partir de sa fonction ProtocolCoCreateVc.
[in, optional] ProtocolPartyContext
Spécifie le handle de la zone de contexte par partie du client pour la dernière partie restante sur la vc créée par le client représentant une connexion multipoint. Sinon, ce paramètre est NULL .
Aucun
Si la vc donnée a été créée par le client et que Status est NDIS_STATUS_SUCCESS, le client peut désormais effectuer l’une des opérations suivantes :
- Démontez sa vc avec NdisCoDeleteVc et relâchez ou préparez-vous à réutiliser les zones de contexte qu’elle a allouées.
- Réinitialisez sa zone de contexte par VC et réutilisez sa vc pour établir une autre connexion avec NdisClMakeCall.
Par exemple, pour définir une fonction ProtocolClCloseCallComplete nommée « MyClCloseCallComplete », utilisez le type PROTOCOL_CL_CLOSE_CALL_COMPLETE comme indiqué dans cet exemple de code :
PROTOCOL_CL_CLOSE_CALL_COMPLETE MyClCloseCallComplete;
Ensuite, implémentez votre fonction comme suit :
_Use_decl_annotations_
VOID
MyClCloseCallComplete(
NDIS_STATUS Status,
NDIS_HANDLE ProtocolVcContext,
NDIS_HANDLE ProtocolPartyContext
)
{...}
Le type de fonction PROTOCOL_CL_CLOSE_CALL_COMPLETE est défini dans le fichier d’en-tête Ndis.h. Pour identifier plus précisément les erreurs lorsque vous exécutez les 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_CL_CLOSE_CALL_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 annoter le comportement de la fonction.
Exigence | Valeur |
---|---|
client minimum pris en charge | Pris en charge pour les pilotes NDIS 6.0 et NDIS 5.1 (voir ProtocolClCloseCallComplete (NDIS 5.1)) dans Windows Vista. Pris en charge pour les pilotes NDIS 5.1 (voir ProtocolClCloseCallComplete (NDIS 5.1)) dans Windows XP. |
plateforme cible | Windows |
d’en-tête | ndis.h (include Ndis.h) |
IRQL | <= DISPATCH_LEVEL |