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 creó correctamente la credencial verificable. |
|
NDIS no pudo asignar suficiente memoria para configurar la credencial verificable. |
|
El NdisAfHandle especificado no es válido. |
|
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) |