Diferencias en las conexiones virtuales
Un administrador de llamadas usa máquinas virtuales de señalización para enviar y recibir mensajes de señalización hacia y desde entidades de red, como conmutadores. Las máquinas virtuales de señalización de un administrador de llamadas son visibles para NDIS. El administrador de llamadas debe crear, activar, desactivar y eliminar todas las máquinas virtuales con llamadas a NDIS. Sin embargo, las máquinas virtuales de señalización de un controlador MCM son opacos para NDIS. Un controlador MCM no crea, activa, desactiva y elimina las máquinas virtuales de señalización con llamadas a NDIS. En su lugar, un controlador MCM realiza estas operaciones internamente. Un controlador MCM debe llamar a NDIS para realizar operaciones en máquinas virtuales que se usan para enviar o recibir datos de cliente. Esto se debe a que NDIS debe realizar un seguimiento de las máquinas virtuales cliente.
Dado que el controlador MCM es un administrador de llamadas y un controlador de minipuerto, ciertas funciones orientadas a la conexión son redundantes. En concreto, MiniportCoCreateVc y MiniportCoDeleteVc son redundantes y, por tanto, no se proporcionan mediante un controlador MCM. Las operaciones de vc se controlan mediante:
Las funciones ProtocolCoCreateVc y ProtocolCoDeleteVc de un controlador MCM cuando un cliente solicita la creación o eliminación de una credencial verificable.
NdisMCmCreateVc y NdisMCmDeleteVc cuando el controlador MCM crea o elimina una credencial verificable.
NdisMCmActivateVc y NdisCmDeactivateVc cuando el controlador MCM activa o desactiva una credencial verificable.
Un controlador MCM debe proporcionar una función MiniportCoOidRequest para que un cliente use en la consulta o configuración de la información del controlador de minipuerto y una función MiniportCoSendNetBufferLists para controlar las operaciones de envío desde un cliente.