Macro NdisMCmDispatchIncomingCloseCall (ndis.h)

NdisMCmDispatchIncomingCloseCall indica a un cliente que desactive una llamada activa o ofrecida, normalmente porque el controlador MCM ha recibido una solicitud de la red para cerrar la conexión.

Sintaxis

void NdisMCmDispatchIncomingCloseCall(
   _S_,
   _H_,
   _B_,
   _Z_
);

Parámetros

_S_

Especifica un NDIS_STATUS_XXX determinado por el autor de la llamada, que indica el motivo de la solicitud de desconexión. Durante las operaciones de red normales, un controlador MCM pasa NDIS_STATUS_SUCCESS para indicar que ha recibido una solicitud iniciada por la parte remota para cerrar una llamada activa.

_H_

Especifica el identificador para la credencial verificable de la llamada que se está desconectando. Este identificador lo proporcionó NDIS cuando el controlador MCM creó originalmente, ya sea por el controlador MCM con NdisMCmCreateVc o como parámetro de entrada para su función ProtocolCoCreateVc .

_B_

Puntero a un búfer residente asignado por el autor de la llamada que contiene datos de desconexión adicionales específicos del protocolo, si los hay. Dependiendo del medio subyacente, este puntero puede ser NULL.

_Z_

Especifica el tamaño en bytes del búfer, cero si El búfer es NULL.

Valor devuelto

None

Observaciones

En el curso de las operaciones de red normales, un controlador MCM llama a NdisMCmDispatchIncomingCloseCall con closeStatus establecido en NDIS_STATUS_SUCCESS porque el cliente correspondiente en el nodo remoto ha llamado a NdisClCloseCall.

Sin embargo, un controlador MCM también puede llamar a NdisMCmDispatchIncomingCloseCall si se produce alguna de las siguientes acciones:

  • El controlador MCM ha notificado a un cliente de una oferta de llamada entrante. Cuando el controlador de miniporteSe llama a la función ProtocolCmIncomingCallComplete con la aceptación del cliente, valida los parámetros de llamada de entrada, que ese cliente ha modificado. ProtocolCmIncomingCallComplete determina que el cliente propone parámetros de llamada no compatibles para la conexión, por lo que llama a NdisMCmDispatchIncomingCloseCall.
  • Las condiciones de red anómalas obligan al controlador MCM a anular las llamadas activas. Por ejemplo, si se notifica al controlador MCM cuando un vínculo en la conexión entre este cliente y la parte remota a la conexión deja de funcionar, el controlador de miniporte llamaría a NdisCmDispatchIncomingCloseCall para evitar que el cliente intente (o espere) transferencias de datos adicionales en dicha conexión interrumpida.
Una vez que el cliente llama a NdisClCloseCall , lo que provoca la desactivación del VC, el creador original de la credencial verificable es responsable de destruir la credencial verificable. El cliente llama a NdisCoDeleteVc, lo que hace que NDIS llame a la función ProtocolCoDeleteVc del controlador MCM, o el controlador MCM llama a NdisMCmDeleteVc después de llamar a NdisMCmDeactivateVc y liberar los recursos adicionales que había asociado con el VC que creó.

Una llamada a NdisMCmDispatchIncomingCloseCall hace que NDIS llame al cliente. Función ProtocolClIncomingCloseCall .

Solo los controladores de miniport orientados a la conexión que proporcionan compatibilidad con la administración de llamadas pueden llamar a NdisMCmDispatchIncomingCall. Los administradores de llamadas independientes, que se registran con NDIS como controladores de protocolo, llaman a NdisCmDispatchIncomingCloseCall en su lugar.

Requisitos

Requisito Value
Cliente mínimo compatible Compatible con los controladores NDIS 6.0 y NDIS 5.1 (consulte NdisMCmDispatchIncomingCloseCall (NDIS 5.1)) en Windows Vista. Compatible con los controladores NDIS 5.1 (consulte NdisMCmDispatchIncomingCloseCall (NDIS 5.1)) en Windows XP.
Plataforma de destino Escritorio
Encabezado ndis.h (incluya Ndis.h)
IRQL <= DISPATCH_LEVEL
Reglas de cumplimiento de DDI Irql_MCM_Function(ndis)

Consulte también

MiniportInterruptDPC

NdisClCloseCall

NdisMCmDeactivateVc

NdisMCmDeleteVc

NdisMCmDispatchIncomingCall

NdisMCmDispatchIncomingDropParty

ProtocolClIncomingCloseCall

ProtocolCoDeleteVc