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) |