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)

Vedi anche

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