Compartir a través de


estructura NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS (ndis.h)

La estructura de NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS especifica las funciones del administrador de llamadas de CoNDIS ProtocolXxx para el controlador que pasa esta estructura al función NdisSetOptionalHandlers.

Sintaxis

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;

Miembros

Header

Estructura NDIS_OBJECT_HEADER para la estructura de características coNDIS del administrador de llamadas (NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS). Establezca el miembro type de de la estructura que Encabezado especifica para NDIS_OBJECT_TYPE_CO_CALL_MANAGER_OPTIONAL_HANDLERS, el miembro Revision en NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS_REVISION_1 y el miembro Size en NDIS_SIZEOF_CO_CALL_MANAGER_OPTIONAL_HANDLERS_REVISION_1.

Reserved

Reservado para NDIS.

CmCreateVcHandler

El punto de entrada de la función ProtocolCoCreateVc del autor de la llamada.

CmDeleteVcHandler

El punto de entrada de la función ProtocolCoDeleteVc del autor de la llamada.

CmOpenAfHandler

El punto de entrada de la función ProtocolCmOpen Af del autor de la llamada.

CmCloseAfHandler

El punto de entrada de la función ProtocolCmClose Af del autor de la llamada.

CmRegisterSapHandler

El punto de entrada del autor de la llamada función ProtocolCmRegisterSap.

CmDeregisterSapHandler

El punto de entrada del autor de la llamada función protocolCmDeregisterSap.

CmMakeCallHandler

El punto de entrada de la función ProtocolCmMakeCall del autor de la llamada.

CmCloseCallHandler

El punto de entrada del autor de la llamada función protocolCmCloseCall.

CmIncomingCallCompleteHandler

El punto de entrada del autor de la llamada función ProtocolCmIncomingCallComplete.

CmAddPartyHandler

El punto de entrada de la función ProtocolCmAddPart y del autor de la llamada.

CmDropPartyHandler

El punto de entrada del autor de la llamada función ProtocolCmDropParty.

CmActivateVcCompleteHandler

El punto de entrada del autor de la llamada función protocolCmActivateVcComplete.

CmDeactivateVcCompleteHandler

El punto de entrada del autor de la llamada función ProtocolCmDeactivateVcComplete.

CmModifyCallQoSHandler

El punto de entrada del autor de la llamada función ProtocolCmModifyCallQoS.

CmOidRequestHandler

El punto de entrada del autor de la llamada función ProtocolCoOidRequest.

CmOidRequestCompleteHandler

El punto de entrada del autor de la llamada función protocolCoOidRequestComplete.

CmNotifyCloseAfCompleteHandler

El punto de entrada del autor de la llamada función protocolCmNotifyCloseAfComplete.

Observaciones

Para especificar puntos de entrada como administrador de llamadas de CoNDIS, un controlador de protocolo o un administrador de llamadas de miniporte (MCM) inicializa una estructura de NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS y la pasa al función NdisSetOptionalHandlers.

restricciones independientes del Administrador de llamadas

Un administrador de llamadas independiente llama a NdisSetOptionalHandlers desde la función ProtocolSetOptions. El administrador de llamadas debe establecer todos los puntos de entrada de la estructura NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS en una función protocol Xxx proporcionada por el controlador cuando llama a NdisSetOptionalHandlers, incluso si el administrador de llamadas no admite llamadas entrantes, llamadas salientes o conexiones de punto a varios puntos. Para cualquier subconjunto de funcionalidad orientada a la conexión que este administrador de llamadas no admita, su marcador de posición ProtocolXxx funciones debería devolver simplemente NDIS_STATUS_NOT_SUPPORTED.

Después de que un administrador de llamadas independiente llame a función NdisCmRegisterAddressFamilyEx correctamente, NDIS omite cualquier punto de entrada especificado anteriormente para el administrador de llamadas. función protocolOidRequestComplete de la NDIS_PROTOCOL_DRIVER_CHARACTERISTICS estructura que pasó a la función NdisRegisterProtocolDriver.

restricciones mcm de

Un MCM llama a la función NdisSetOptionalHandlers de la función MiniportSetOptions. El MCM debe establecer cada miembro de CmXxx en la estructura NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS en una función ProtocolXxx proporcionada por MCM aunque el MCM no admita llamadas entrantes, llamadas salientes o conexiones de punto a varios puntos. Para cualquier subconjunto de funcionalidad orientada a la conexión que no admita este controlador MCM, sus funciones ProtocolXxx simplemente deben devolver NDIS_STATUS_NOT_SUPPORTED. Por ejemplo, NDIS nunca llama a un controlador MCM registrado ProtocolCmActivateVcComplete o función protocolCmDeactivateVcComplete, por lo que estas funciones pueden devolver NDIS_STATUS_NOT_SUPPORTED, pero deben tener puntos de entrada en la estructura NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS.

Un controlador MCM debe especificar puntos de entrada para las funciones de ProtocolCoCreateVc y protocolCoDeleteVc . Si el MCM registró previamente una función MiniportCoCreateVc o MiniportCoDeleteVc. NDIS omite los puntos de entrada de estas funciones, siempre que NDIS llame al controlador MCM para crear o eliminar una conexión virtual (VC). Por lo tanto, NDIS pasa un valor de NdisAfHand le para el parámetro inicial al ProtocolCoCreateVc proporcionado por MCM o función protocolCoDeleteVc, en lugar del miniportAdapterContext valor que pasaría al MiniportCoCreateVc o función MiniportCoDeleteVc de un controlador de miniport no MCM.

Un controlador MCM no puede establecer el miembro de CmOidRequestHandler de NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS en su función MiniportCoOidRequest. El controlador debe proporcionar un punto de entrada independiente para una función de ProtocolCoOidRequest. Un controlador MCM debe tener una función ProtocolCoOidRequest para controlar las solicitudes del administrador de llamadas de los clientes de CoNDIS y debe tener un función protocolCoOidRequestComplete.

Requisitos

Requisito Valor
cliente mínimo admitido Se admite en NDIS 6.0 y versiones posteriores.
encabezado de ndis.h (incluya Ndis.h)

Consulte también

MiniportCoCreateVc

MiniportCoDeleteVc

MiniportCoOidRequest

MiniportSetOptions

NDIS_OBJECT_HEADER

NDIS_PROTOCOL_DRIVER_CHARACTERISTICS NdisCmRegisterAddressFamilyEx

NdisRegisterProtocolDriver

NdisSetOptionalHandlers

ProtocolCmActivateVcComplete

ProtocolCmAddParty

ProtocolCmCloseAf

ProtocolCmCloseCall

ProtocolCmDeactivateVcComplete

ProtocolCmDeregisterSap

ProtocolCmDropParty de

ProtocolCmIncomingCallComplete

ProtocolCmMakeCall de

ProtocolCmModifyCallQoS

ProtocolCmOpenAf de

ProtocolCmRegisterSap de

ProtocolOidRequestComplete

ProtocolSetOptions de