Compartir a través de


Función NdisMCmCreateVc (ndis.h)

NdisMCmCreateVc configura un punto de conexión en el que un controlador MCM puede enviar una oferta de llamada entrante a un cliente.

Sintaxis

NDIS_STATUS NdisMCmCreateVc(
  [in]  NDIS_HANDLE  MiniportAdapterHandle,
  [in]  NDIS_HANDLE  NdisAfHandle,
  [in]  NDIS_HANDLE  MiniportVcContext,
  [out] PNDIS_HANDLE NdisVcHandle
);

Parámetros

[in] MiniportAdapterHandle

Especifica el identificador proporcionado por NDIS originalmente para MiniportInitializeEx.

[in] NdisAfHandle

Especifica el identificador que identifica al cliente que es el destino de una llamada entrante. El controlador MCM obtuvo este identificador como parámetro de entrada para su función ProtocolCmOpenAf.

[in] MiniportVcContext

Especifica el identificador de un área de contexto residente proporcionada por el autor de la llamada en la que el controlador MCM mantiene el estado de este VC. NDIS vuelve a pasar este identificador al controlador MCM en todas las llamadas posteriores relativas a este VC si la llamada a NdisMCmCreateVc se realiza correctamente.

[out] NdisVcHandle

Puntero a una variable proporcionada por el autor de la llamada que se debe inicializar para NULL antes de llamar a NdisMCmCreateVc. Cuando se devuelve una llamada correcta, esta variable se ha establecido en un identificador proporcionado por NDIS para la vc recién creada. El autor de la llamada debe guardar este identificador para las llamadas posteriores a Ndisfunciones xxx relativas a este VC.

Valor devuelto

NdisMCmCreateVc puede devolver una de las siguientes opciones:

Código devuelto Descripción
NDIS_STATUS_SUCCESS
NDIS creó correctamente la credencial verificable.
NDIS_STATUS_RESOURCES
NDIS no pudo asignar memoria suficiente para configurar la credencial verificable.
NDIS_STATUS_FAILURE
El NdisAfHandle especificado no es válido.
NDIS_STATUS_XXX
El cliente produjo un error en la creación del VC por algún motivo y NDIS ha propagado el estado de error devuelto por su función ProtocolCoCreateVc al controlador MCM.

Observaciones

Un controlador MCM crea un vc con NdisMCmCreateVc para representar una oferta entrante de una conexión desde un nodo remoto dirigido a un SAP que ya se ha registrado con el controlador MCM.

En el proceso de creación de VC, NDIS proporciona una NdisVcHandle al cliente y al controlador MCM. Este identificador identifica la conexión virtual para el cliente y el controlador de miniportar a los que se dirigen las solicitudes posteriores relativas a la credencial verificable especificada. Cada controlador debe tratar este identificador de VC como una variable opaca y pasarlo sin modificar y nointerpretado en llamadas posteriores a determinadas funciones de biblioteca NDIS orientadas a conexiones.

Normalmente, los llamadores de NdisMCmCreateVc almacenan el NdisVcHand le devuelto en el área de estado asignado por el autor de la llamada en MiniportVcContext . NDIS pasa un NdisVcHandle como parámetro de entrada a la función protocolCoCreateVc del cliente adecuado cada vez que un controlador MCM crea un vc.

Cuando un controlador MCM procesa la oferta de una llamada entrante dirigida a uno de sus CSP registrados, primero debe llamar a NdisMCmCreateVc. Como operación sincrónica, NDIS llama a la función ProtocolCoCreateVc del cliente antes de NdisMCmCreateVc devuelve el control. Si su llamada a NdisMCmCreateVc se realiza correctamente, el controlador MCM puede continuar notificando al cliente adecuado, pasando el valor devuelto en NdisVcHandle a NdisMCmDispatchIncomingCall.

El escritor de controladores determina si un controlador MCM tiene una función (interna) MiniportCoCreateVc que llama el controlador en el contexto de la configuración de conexiones para las llamadas salientes y entrantes.

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

Requisitos

Requisito Valor
cliente mínimo admitido Compatible con los controladores NDIS 6.0 y NDIS 5.1 (consulte NdisMCmCreateVc (NDIS 5.1)) en Windows Vista. Compatible con los controladores NDIS 5.1 (consulte NdisMCmCreateVc (NDIS 5.1)) en Windows XP.
de la plataforma de destino de Escritorio
encabezado de ndis.h (incluya Ndis.h)
biblioteca de Ndis.lib
irQL <= DISPATCH_LEVEL
reglas de cumplimiento de DDI Irql_MCM_Function(ndis)

Consulte también

MiniportCoCreateVc

NdisAllocateFromNPagedLookasideList

NdisClMakeCall

NdisCoCreateVc

NdisMCmDeleteVc

NdisMCmDispatchIncomingCall

ProtocolCmRegisterSap de

ProtocolCoCreateVc