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 el 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 esta credencial verificable. NDIS devuelve este identificador al controlador MCM en todas las llamadas posteriores relativas a esta credencial verificable 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 en 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 credencial verificable recién creada. El autor de la llamada debe guardar este identificador para las llamadas posteriores a las funciones NdisXxx orientadas a la conexión relativas a esta credencial verificable.

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 suficiente memoria 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 de la credencial verificable por algún motivo y NDIS ha propagado el estado de error devuelto por su función ProtocolCoCreateVc al controlador MCM.

Comentarios

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

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

Normalmente, los autores de llamadas de NdisMCmCreateVc almacenan el NdisVcHandle devuelto en el área de estado asignado por el autor de la llamada en MiniportVcContext . NDIS pasa NdisVcHandle como parámetro de entrada a la función ProtocolCoCreateVc del cliente adecuado cada vez que un controlador MCM crea una credencial verificable.

Cuando un controlador MCM procesa la oferta de una llamada entrante dirigida a una de sus SAP registradas, primero debe llamar a NdisMCmCreateVc . Como operación sincrónica, NDIS llama a la función ProtocolCoCreateVc del cliente antes de que NdisMCmCreateVc devuelva 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 a la que llama el controlador en el contexto de la configuración de conexiones para las llamadas salientes y entrantes.

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

Requisitos

Requisito Value
Cliente mínimo compatible 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 (consulta NdisMCmCreateVc (NDIS 5.1)) en Windows XP.
Plataforma de destino Escritorio
Encabezado ndis.h (incluya Ndis.h)
Library Ndis.lib
IRQL <= DISPATCH_LEVEL
Reglas de cumplimiento de DDI Irql_MCM_Function(ndis)

Consulte también

MiniportCoCreateVc

NdisAllocateFromNPagedLookasideList

NdisClMakeCall

NdisCoCreateVc

NdisMCmDeleteVc

NdisMCmDispatchIncomingCall

ProtocolCmRegisterSap

ProtocolCoCreateVc