Controladores de minipuerto

Un controlador de miniporte NDIS tiene dos funciones básicas:

  • Administrar una tarjeta de interfaz de red (NIC), incluido el envío y la recepción de datos a través de la NIC.

  • Interacción con controladores de nivel superior, como los controladores de filtro, los controladores intermedios y los controladores de protocolo.

Un controlador de minipuerto se comunica con sus NIC y con controladores de nivel superior a través de la biblioteca NDIS. La biblioteca NDIS exporta un conjunto completo de funciones (NdisMXxx y otras funciones NdisXxx ) que encapsulan todas las funciones del sistema operativo a las que debe llamar un controlador de miniporte. El controlador de minipuerto, a su vez, debe exportar un conjunto de puntos de entrada (funciones MiniportXxx ) que NDIS llama para sus propios propósitos, o en nombre de los controladores de nivel superior, para acceder al controlador de miniporte.

Nota:

Para obtener más información sobre la pila de controladores NDIS y un diagrama que muestra la relación entre los cuatro tipos de controladores NDIS, consulte Pila de controladores NDIS.

Las siguientes operaciones de envío y recepción muestran la interacción de los controladores de minipuerto con NDIS y con controladores de nivel superior:

  • Cuando un controlador de transporte tiene un paquete para transmitir, llama a una función NdisXxx exportada por la biblioteca NDIS. NDIS pasa el paquete al controlador de minipuerto llamando a la función MiniportXxx adecuada exportada por el controlador de minipuerto. A continuación, el controlador de minipuerto reenvía el paquete a la NIC para su transmisión mediante una llamada a las funciones NdisXxx adecuadas.

  • Cuando una NIC recibe un paquete dirigido a sí mismo, puede publicar una interrupción de hardware que se controla mediante NDIS o el controlador de miniporte de la NIC. NDIS notifica al controlador de minipuerto de la NIC llamando a la función MiniportXxx adecuada. El controlador de minipuerto configura la transferencia de datos de la NIC y, a continuación, indica la presencia del paquete recibido para enlazar controladores de nivel superior mediante una llamada a la función NdisXxx adecuada.

Controladores de miniporte sin conexión y Connection-Oriented

NDIS admite controladores de minipuerto para entornos sin conexión y entornos orientados a la conexión.

Los controladores de minipuerto sin conexión controlan las NIC para medios de red sin conexión, como Ethernet. Los controladores de minipuerto sin conexión se dividen aún más en controladores deserializados y serializados:

Nota Todos los controladores NDIS 6.0 y versiones posteriores se deserializan.

  • Los controladores deserializados serializan el funcionamiento de sus propias funciones MiniportXxx y que ponen internamente en cola todos los paquetes de envío entrantes. Esto da como resultado un rendimiento de dúplex completo significativamente mejor, siempre que las secciones críticas del controlador (código que solo se pueda ejecutar un único subproceso a la vez) se mantengan pequeñas.

  • Los controladores serializados dependen de NDIS para serializar las llamadas a sus funciones MiniportXxx y administrar sus colas de envío.

Los controladores de minipuerto orientados a la conexión controlan NIC para medios de red orientados a la conexión, como ISDN. Los controladores de miniporte orientados a la conexión siempre se deserializan: siempre serializan el funcionamiento de sus propias funciones MiniportXxx y ponen en cola internamente todos los paquetes de envío entrantes.

Un controlador de minipuerto NDIS puede tener un borde inferior que no sea NDIS (consulte la ilustración siguiente).

Diagrama que muestra un controlador de miniporte NDIS con un borde inferior que no es NDIS.

A través de su borde inferior que no es NDIS, un controlador de minipuerto usa la interfaz de clase para un bus, como el Bus serie universal (USB) para controlar un dispositivo en el bus. El controlador de minipuerto se comunica con el dispositivo mediante el envío de paquetes de solicitud de E/S (IRP) al bus o directamente a dispositivos remotos conectados al bus. En su borde superior, el controlador de minipuerto expone una interfaz de controlador de miniporte NDIS estándar, que permite al controlador de minipuerto comunicarse con controladores NDIS excesivos.

Controladores de minipuerto de NDIS

Referencia del controlador NDIS Miniport