NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS structure (ndis.h)
La structure NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS spécifie les fonctions ProtocoleXxx du gestionnaire d’appels CoNDIS pour le pilote qui transmet cette structure au Fonction NdisSetOptionalHandlers .
Syntaxe
typedef struct _NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS {
NDIS_OBJECT_HEADER Header;
ULONG Reserved;
CO_CREATE_VC_HANDLER CmCreateVcHandler;
CO_DELETE_VC_HANDLER CmDeleteVcHandler;
CM_OPEN_AF_HANDLER CmOpenAfHandler;
CM_CLOSE_AF_HANDLER CmCloseAfHandler;
CM_REG_SAP_HANDLER CmRegisterSapHandler;
CM_DEREG_SAP_HANDLER CmDeregisterSapHandler;
CM_MAKE_CALL_HANDLER CmMakeCallHandler;
CM_CLOSE_CALL_HANDLER CmCloseCallHandler;
CM_INCOMING_CALL_COMPLETE_HANDLER CmIncomingCallCompleteHandler;
CM_ADD_PARTY_HANDLER CmAddPartyHandler;
CM_DROP_PARTY_HANDLER CmDropPartyHandler;
CM_ACTIVATE_VC_COMPLETE_HANDLER CmActivateVcCompleteHandler;
CM_DEACTIVATE_VC_COMPLETE_HANDLER CmDeactivateVcCompleteHandler;
CM_MODIFY_CALL_QOS_HANDLER CmModifyCallQoSHandler;
CO_OID_REQUEST_HANDLER CmOidRequestHandler;
CO_OID_REQUEST_COMPLETE_HANDLER CmOidRequestCompleteHandler;
CM_NOTIFY_CLOSE_AF_COMPLETE_HANDLER CmNotifyCloseAfCompleteHandler;
} NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS, *PNDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS;
Membres
Header
Structure NDIS_OBJECT_HEADER pour la structure de caractéristiques CoNDIS du gestionnaire d’appels (NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS). Définissez le membre Type de la structure que Header spécifie sur NDIS_OBJECT_TYPE_CO_CALL_MANAGER_OPTIONAL_HANDLERS, le membre Revision sur NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS_REVISION_1 et le membre Size sur NDIS_SIZEOF_CO_CALL_MANAGER_OPTIONAL_HANDLERS_REVISION_1.
Reserved
Réservé pour NDIS.
CmCreateVcHandler
Point d’entrée de la fonction ProtocolCoCreateVc de l’appelant.
CmDeleteVcHandler
Point d’entrée de la fonction ProtocolCoDeleteVc de l’appelant.
CmOpenAfHandler
Point d’entrée de la fonction ProtocolCmOpenAf de l’appelant.
CmCloseAfHandler
Point d’entrée de la fonction ProtocolCmCloseAf de l’appelant.
CmRegisterSapHandler
Point d’entrée de l’appelant Fonction ProtocolCmRegisterSap .
CmDeregisterSapHandler
Point d’entrée de l’appelant Fonction ProtocolCmDeregisterSap .
CmMakeCallHandler
Point d’entrée de la fonction ProtocolCmMakeCall de l’appelant.
CmCloseCallHandler
Point d’entrée de l’appelant Fonction ProtocolCmCloseCall .
CmIncomingCallCompleteHandler
Point d’entrée de l’appelant Fonction ProtocolCmIncomingCallComplete .
CmAddPartyHandler
Point d’entrée de la fonction ProtocolCmAddParty de l’appelant .
CmDropPartyHandler
Point d’entrée de l’appelant Fonction ProtocolCmDropParty .
CmActivateVcCompleteHandler
Point d’entrée de l’appelant Fonction ProtocolCmActivateVcComplete .
CmDeactivateVcCompleteHandler
Point d’entrée de l’appelant Fonction ProtocolCmDeactivateVcComplete .
CmModifyCallQoSHandler
Point d’entrée de l’appelant Fonction ProtocolCmModifyCallQoS .
CmOidRequestHandler
Point d’entrée de l’appelant Fonction ProtocolCoOidRequest .
CmOidRequestCompleteHandler
Point d’entrée de l’appelant Fonction ProtocolCoOidRequestComplete .
CmNotifyCloseAfCompleteHandler
Point d’entrée de l’appelant Fonction ProtocolCmNotifyCloseAfComplete .
Remarques
Pour spécifier des points d’entrée en tant que gestionnaire d’appels CoNDIS, un pilote de protocole ou un gestionnaire d’appels miniport (MCM) initialise une structure de NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS et la transmet à la Fonction NdisSetOptionalHandlers .
Contraintes du gestionnaire d’appels autonomes
Un gestionnaire d’appels autonome appelle NdisSetOptionalHandlers à partir de la fonction ProtocolSetOptions . Le gestionnaire d’appels doit définir chaque point d’entrée dans la structure NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS sur une fonction ProtocolXxx fournie par le pilote lorsqu’il appelle NdisSetOptionalHandlers, même si le gestionnaire d’appels ne prend pas en charge les appels entrants, les appels sortants ou les connexions point à multipoint. Pour tout sous-ensemble de fonctionnalités orientées connexion qu’un tel gestionnaire d’appels ne prend pas en charge, ses fonctions ProtocolXxx d’espace réservé doivent simplement retourner NDIS_STATUS_NOT_SUPPORTED.Après qu’un gestionnaire d’appels autonome a appelé le Fonction NdisCmRegisterAddressFamilyEx avec succès. NDIS ignore tout point d’entrée que le gestionnaire d’appels a précédemment spécifié pour le Fonction ProtocolOidRequestComplete de la NDIS_PROTOCOL_DRIVER_CHARACTERISTICS structure qu’il a passée à Fonction NdisRegisterProtocolDriver .
Contraintes MCM
Un MCM appelle la fonction NdisSetOptionalHandlers à partir de la fonction MiniportSetOptions . Le MCM doit définir chaque membre CmXxx de la structure NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS sur une fonction ProtocolXxx fournie par MCM, même si le MCM ne prend pas en charge les appels entrants, les appels sortants ou les connexions point à multipoint. Pour tout sous-ensemble de fonctionnalités orientées connexion qu’un tel pilote MCM ne prend pas en charge, ses fonctions ProtocolXxx doivent simplement retourner NDIS_STATUS_NOT_SUPPORTED. Par exemple, NDIS n’appelle jamais un pilote MCM inscrit ProtocolCmActivateVcComplete ou Fonction ProtocolCmDeactivateVcComplete , de sorte que ces fonctions peuvent retourner NDIS_STATUS_NOT_SUPPORTED mais doivent avoir des points d’entrée dans la structure NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS.Un pilote MCM doit spécifier des points d’entrée pour les fonctions ProtocolCoCreateVc et ProtocolCoDeleteVc . Si le MCM a précédemment inscrit une fonction MiniportCoCreateVc ou MiniportCoDeleteVc . NDIS ignore les points d’entrée de ces fonctions, chaque fois que NDIS appelle le pilote MCM pour créer ou supprimer une connexion virtuelle. Par conséquent, NDIS transmet une valeur NdisAfHandle pour le paramètre initial à la fonction ProtocolCoCreateVc ou ProtocolCoDeleteVc fournie par MCM, plutôt que la valeur MiniportAdapterContext qu’il passerait à la fonction MiniportCoCreateVc ou MiniportCoDeleteVc d’un pilote miniport non MCM.
Un pilote MCM ne peut pas définir le membre CmOidRequestHandler de NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS sur sa fonction MiniportCoOidRequest . Le pilote doit fournir un point d’entrée distinct pour une fonction ProtocolCoOidRequest . Un pilote MCM doit avoir une fonction ProtocolCoOidRequest pour gérer les demandes de gestionnaire d’appels des clients CoNDIS et doit avoir un Fonction ProtocolCoOidRequestComplete .
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Pris en charge dans NDIS 6.0 et versions ultérieures. |
En-tête | ndis.h (inclure Ndis.h) |