Creación de una credencial verificable
Antes de realizar una llamada saliente, un cliente orientado a la conexión inicia la creación de una conexión virtual (VC). Antes de indicar una llamada entrante a un cliente orientado a la conexión, un administrador de llamadas o un controlador MCM inicia la creación de una credencial verificable . Una vez configurada y activada la credencial verificable, los datos de cliente se pueden transmitir o recibir en la credencial verificable.
Un administrador de llamadas o un controlador MCM también pueden iniciar la creación de una credencial verificable en la que se intercambian mensajes de señalización con componentes de red, como un conmutador de red.
Antes de realizar una llamada con NdisClMakeCall, un cliente orientado a la conexión llama a NdisCoCreateVc para iniciar la creación de una credencial verificable.
En la ilustración siguiente se muestra un cliente de un administrador de llamadas que inicia la creación de una credencial verificable.
En la ilustración siguiente se muestra un cliente de un controlador MCM que inicia la creación de una credencial verificable.
Cuando un cliente orientado a la conexión de un administrador de llamadas llama a NdisCoCreateVc, NDIS llama, como una operación sincrónica, la función ProtocolCoCreateVc del administrador de llamadas y la función MiniportCoCreateVc del controlador de miniport subyacente (vea la primera figura de este tema). NDIS pasa un NdisVcHandle que representa la credencial verificable a ProtocolCoCreateVc y MiniportCoCreateVc. Si la llamada a NdisCoCreateVc es correcta, NDIS devuelve NdisVcHandle a NdisCoCreateVc.
ProtocolCoCreateVc asigna e inicializa los recursos y estructuras dinámicos que el administrador de llamadas requiere para realizar operaciones posteriores en una credencial verificable que se activará. MiniportCoCreateVc asigna e inicializa los recursos que requiere el controlador de miniporte para mantener la información de estado sobre la credencial verificable. ProtocolCoCreateVc y MiniportCoCreateVc almacenan NdisVcHandle .
Cuando un cliente orientado a la conexión de un controlador MCM, la llamada a NdisCoCreateVc hace que NDIS llame a la función ProtocolCoCreateVc del controlador MCM (vea Client-Initiated Creación de una credencial verificable (mcm driver present)). En este caso, ProtocolCoCreateVc realiza la asignación e inicialización necesarias de los recursos para la credencial verificable. No hay ninguna llamada (interna o de otro modo) a MiniportCoCreateVc, porque un controlador MCM no proporciona dicha función.
Antes de indicar una llamada entrante a un cliente orientado a la conexión con NdisCmDispatchIncomingCall, un administrador de llamadas llama a NdisCoCreateVc para iniciar la creación de una credencial verificable (consulte la ilustración siguiente).
Cuando un administrador de llamadas llama a NdisCoCreateVc, llama a NDIS como una operación sincrónica, la función ProtocolCoCreateVc del cliente orientado a la conexión que registró el SAP en el que se recibe la llamada, así como la función MiniportCoCreateVc del miniporte subyacente. NDIS pasa un NdisVcHandle que representa la credencial verificable a ProtocolCoCreateVc y MiniportCoCreateVc. Si la llamada a NdisCoCreateVc es correcta, NDIS devuelve NdisVcHandle a NdisCoCreateVc.
Antes de indicar una llamada entrante a un cliente orientado a la conexión con NdisMCmDispatchIncomingCall, un controlador MCM llama a NdisMCmCreateVc para iniciar la creación de una credencial verificable (consulte la ilustración siguiente).
Cuando un controlador MCM llama a NdisMCmCreateVc, NDIS llama a como una operación sincrónica antes de que se devuelva NdisMCmCreateVc , la función ProtocolCoCreateVc del cliente orientado a la conexión que registró el SAP en el que se recibe la llamada. NDIS pasa un NdisVcHandle que representa la credencial verificable a ProtocolCoCreateVc. Si la llamada a NdisMCmCreateVc se realiza correctamente, NDIS devuelve NdisVcHandle a NdisMCmCreateVc.
ProtocolCoCreateVc asigna e inicializa los recursos y estructuras dinámicos que el cliente necesita para realizar operaciones posteriores en la credencial verificable. ProtocolCoCreateVc también almacena NdisVcHandle .
Tenga en cuenta que cuando un controlador MCM crea una credencial verificable para intercambiar mensajes de señalización con un componente de red, no usa llamadas a NdisXxx para crear una credencial verificable. De hecho, un controlador MCM no usa llamadas NdisXxx para crear, activar, desactivar o eliminar dichas máquinas virtuales. En su lugar, un controlador MCM realiza estas operaciones internamente. Por lo tanto, estas máquinas virtuales son opacas para NDIS.