Partager via


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)

Voir aussi

MiniportCoCreateVc

MiniportCoDeleteVc

MiniportCoOidRequest

MiniportSetOptions

NDIS_OBJECT_HEADER

NDIS_PROTOCOL_DRIVER_CHARACTERISTICS NdisCmRegisterAddressFamilyEx

NdisRegisterProtocolDriver

NdisSetOptionalHandlers

ProtocolCmActivateVcComplete

ProtocolCmAddParty

ProtocolCmCloseAf

ProtocolCmCloseCall

ProtocolCmDeactivateVcComplete

ProtocolCmDeregisterSap

ProtocolCmDropParty

ProtocolCmIncomingCallComplete

ProtocolCmMakeCall

ProtocolCmModifyCallQoS

ProtocolCmOpenAf

ProtocolCmRegisterSap

ProtocolOidRequestComplete

ProtocolSetOptions