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