NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS struttura (ndis.h)
La struttura NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS specifica le funzioni ProtocolXxx di Gestione chiamate CoNDIS per il driver che passa questa struttura all'oggetto Funzione NdisSetOptionalHandlers .
Sintassi
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;
Members
Header
Struttura NDIS_OBJECT_HEADER per la struttura delle caratteristiche coNDIS del gestore chiamate (NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS). Impostare il membro Type della struttura che Header specifica su NDIS_OBJECT_TYPE_CO_CALL_MANAGER_OPTIONAL_HANDLERS, il membro Revision su NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS_REVISION_1 e il membro Size su NDIS_SIZEOF_CO_CALL_MANAGER_OPTIONAL_HANDLERS_REVISION_1.
Reserved
Riservato per NDIS.
CmCreateVcHandler
Punto di ingresso della funzione ProtocolCoCreateVc del chiamante.
CmDeleteVcHandler
Punto di ingresso della funzione ProtocolCoDeleteVc del chiamante.
CmOpenAfHandler
Punto di ingresso della funzione ProtocolCmOpenAf del chiamante.
CmCloseAfHandler
Punto di ingresso della funzione ProtocolCmCloseAf del chiamante.
CmRegisterSapHandler
Punto di ingresso del chiamante Funzione ProtocolCmRegisterSap .
CmDeregisterSapHandler
Punto di ingresso del chiamante Funzione ProtocolCmDeregisterSap .
CmMakeCallHandler
Punto di ingresso della funzione ProtocolCmMakeCall del chiamante.
CmCloseCallHandler
Punto di ingresso del chiamante Funzione ProtocolCmCloseCall .
CmIncomingCallCompleteHandler
Punto di ingresso del chiamante Funzione ProtocolCmIncomingCallComplete .
CmAddPartyHandler
Punto di ingresso della funzione ProtocolCmAddParty del chiamante.
CmDropPartyHandler
Punto di ingresso del chiamante Funzione ProtocolCmDropParty .
CmActivateVcCompleteHandler
Punto di ingresso del chiamante Funzione ProtocolCmActivateVcComplete .
CmDeactivateVcCompleteHandler
Punto di ingresso del chiamante Funzione ProtocolCmDeactivateVcComplete .
CmModifyCallQoSHandler
Punto di ingresso del chiamante Funzione ProtocolCmModifyCallQoS .
CmOidRequestHandler
Punto di ingresso del chiamante Funzione ProtocolCoOidRequest .
CmOidRequestCompleteHandler
Punto di ingresso del chiamante Funzione ProtocolCoOidRequestComplete .
CmNotifyCloseAfCompleteHandler
Punto di ingresso del chiamante Funzione ProtocolCmNotifyCloseAfComplete .
Commenti
Per specificare i punti di ingresso come gestore chiamate CoNDIS, un driver di protocollo o un gestore chiamate miniport (MCM) inizializza una struttura NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS e lo passa all'oggetto Funzione NdisSetOptionalHandlers .
Vincoli autonomi di Gestione chiamate
Un gestore chiamate autonomo chiama NdisSetOptionalHandlers dalla funzione ProtocolSetOptions . Il gestore chiamate deve impostare ogni punto di ingresso nella struttura NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS su una funzione ProtocolXxx fornita dal driver quando chiama NdisSetOptionalHandlers, anche se il gestore chiamate in ingresso non supporta chiamate in ingresso, chiamate in uscita o connessioni da punto a più punti. Per qualsiasi subset di funzionalità orientate alla connessione che tale gestore chiamate non supporta, le funzioni ProtocolXxx segnaposto devono semplicemente restituire NDIS_STATUS_NOT_SUPPORTED.Dopo che un gestore chiamate autonomo chiama l'oggetto La funzione NdisCmRegisterAddressFamilyEx correttamente, NDIS ignora qualsiasi punto di ingresso specificato in precedenza dal gestore chiamate per il Funzione ProtocolOidRequestComplete dell'oggetto NDIS_PROTOCOL_DRIVER_CHARACTERISTICS struttura passata all'oggetto Funzione NdisRegisterProtocolDriver .
Vincoli MCM
Un MCM chiama la funzione NdisSetOptionalHandlers dalla funzione MiniportSetOptions . McM deve impostare ogni membro CmXxx nella struttura NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS su una funzione ProtocolXxx fornita da MCM anche se mcm non supporta chiamate in ingresso, chiamate in uscita o connessioni da punto a più punti. Per qualsiasi subset di funzionalità orientate alla connessione che tale driver MCM non supporta, le funzioni ProtocolXxx devono semplicemente restituire NDIS_STATUS_NOT_SUPPORTED. Ad esempio, NDIS non chiama mai un driver MCM registrato ProtocolCmActivateVcComplete o Funzione ProtocolCmDeactivateVcComplete , quindi queste funzioni possono restituire NDIS_STATUS_NOT_SUPPORTED ma devono avere punti di ingresso nella struttura NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS.Un driver MCM deve specificare punti di ingresso per le funzioni ProtocolCoCreateVc e ProtocolCoDeleteVc . Se mcm ha registrato in precedenza una funzione MiniportCoCreateVc o MiniportCoDeleteVc . NDIS ignora i punti di ingresso per queste funzioni, ogni volta che NDIS chiama il driver MCM per creare o eliminare una connessione virtuale (VC). Pertanto, NDIS passa un valore NdisAfHandle per il parametro iniziale alla funzione ProtocolCoCreateVc o ProtocolCoDeleteVc , anziché al valore MiniportAdapterContext che passerebbe alla funzione MiniportCoCreateVc o MiniportCoDeleteVc di un driver miniport non MCM.
Un driver MCM non può impostare il membro CmOidRequestHandler di NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS sulla relativa funzione MiniportCoOidRequest . Il driver deve fornire un punto di ingresso separato per una funzione ProtocolCoOidRequest . Un driver MCM deve avere una funzione ProtocolCoOidRequest per gestire le richieste di gestione chiamate dai client CoNDIS e deve avere un Funzione ProtocolCoOidRequestComplete .
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Supportato in NDIS 6.0 e versioni successive. |
Intestazione | ndis.h (includere Ndis.h) |