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 ProtocolXxx del administrador de llamadas de CoNDIS para el controlador que pasa esta estructura a la 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 de 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 la estructura que Header 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

Punto de entrada de la función ProtocolCoCreateVc del autor de la llamada.

CmDeleteVcHandler

Punto de entrada de la función ProtocolCoDeleteVc del autor de la llamada.

CmOpenAfHandler

Punto de entrada de la función ProtocolCmOpenAf del autor de la llamada.

CmCloseAfHandler

Punto de entrada de la función ProtocolCmCloseAf 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

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

Punto de entrada de la función ProtocolCmAddParty 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 .

Comentarios

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 a la 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 ProtocolXxx 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 punto. Para cualquier subconjunto de funcionalidad orientada a la conexión que no admita este tipo de administrador de llamadas, sus funciones ProtocolXxx de marcador de posición simplemente deben devolver NDIS_STATUS_NOT_SUPPORTED.

Después de que un administrador de llamadas independiente llame al La función NdisCmRegisterAddressFamilyEx se ha realizado correctamente; NDIS omite cualquier punto de entrada que el administrador de llamadas haya especificado anteriormente para el Función ProtocolOidRequestComplete de la NDIS_PROTOCOL_DRIVER_CHARACTERISTICS estructura que pasó a Función NdisRegisterProtocolDriver .

Restricciones de MCM

Un MCM llama a la función NdisSetOptionalHandlers desde la función MiniportSetOptions . El MCM debe establecer todos los miembros CmXxx de la estructura de 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 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 NdisAfHandle para el parámetro inicial a la función ProtocolCoCreateVc o ProtocolCoDeleteVc proporcionada por MCM, en lugar del valor MiniportAdapterContext que pasaría a la función MiniportCoCreateVc o MiniportCoDeleteVc de un controlador de miniport no MCM.

Un controlador MCM no puede establecer el miembro 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 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 Value
Cliente mínimo compatible Compatible con NDIS 6.0 y versiones posteriores.
Encabezado 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

ProtocolCmIncomingCallComplete

ProtocolCmMakeCall

ProtocolCmModifyCallQoS

ProtocolCmOpenAf

ProtocolCmRegisterSap

ProtocolOidRequestComplete

ProtocolSetOptions