Compartir a través de


NetAdapterCx en modo usuario

A partir de Windows 11, versión 24H2, NetAdapterCx le permite escribir un controlador de adaptador de red del Marco de controladores en modo usuario (UMDF). Las API de UMDF de NetAdapterCx se alinean con las versiones de KMDF, por lo que puede convertir el controlador de cliente basado en KMDF en UMDF con poco o ningún cambio en el código.

Ventajas de los controladores NetAdapterCx en modo usuario

La creación de un controlador NETAdapterCx de UMDF ofrece estas ventajas:

  1. Estabilidad mejorada del sistema: un controlador en modo de usuario solo puede acceder al espacio de direcciones de su proceso. Si se bloquea, no afecta al sistema. El controlador puede reiniciarse automáticamente y restaurar rápidamente la conexión.

  2. Seguridad mejorada: las aplicaciones en modo usuario no pueden acceder directamente a recursos críticos del sistema ni ejecutar instrucciones con privilegios. Por lo tanto, cualquier infracción de seguridad del controlador no pone en peligro la integridad del kernel.

  3. Desarrollo simplificado: los controladores en modo usuario pueden mejorar el flujo de trabajo del desarrollador. No es necesario esperar a que las máquinas de prueba se reinicien después de bloqueos y la implementación puede ser más rápida mediante el uso de la misma máquina para desarrollo y pruebas.

  4. Mayor innovación y flexibilidad: las restricciones de desarrollo de controladores en modo kernel suelen limitar la innovación. Los controladores en modo usuario proporcionan un entorno más flexible, lo que permite a los desarrolladores usar características y herramientas avanzadas que podrían ser incompatibles o difíciles de implementar en modo kernel.

Limitaciones NetAdapterCx en modo usuario

Actualmente, las siguientes características solo están disponibles para controladores NetAdapterCx basados en KMDF.

Acceso directo a memoria (DMA)

DMA aún no está disponible en modo usuario.

Los controladores UMDF deben establecer el miembro DmaCapabilities de NET_ADAPTER_RX_CAPABILITIES y NET_ADAPTER_TX_CAPABILITIES en NULL.

Asignación del búfer del lado cliente

La administración del búfer de datos de red del lado cliente no está disponible en modo usuario. Los controladores NetAdapterCx de UMDF deben basarse en el sistema para asignar búferes de datos para las rutas de transmisión y recepción de datos.

Cuando el controlador UMDF anuncia sus funcionalidades de búfer de datos de hardware mediante la estructura NET_ADAPTER_RX_CAPABILITIES, debe:

Conversión de un controlador NetAdapterCx de KMDF en UMDF

Para funcionar en modo usuario, el controlador cliente solo debe usar las API de WDF principales que forman parte de UMDF. Por ejemplo, el controlador cliente no debe usar ninguna API exclusiva de controladores KMDF.

Para convertir el controlador NETAdapterCx de KMDF a UMDF, siga los pasos descritos en Conversión de un controlador KMDF a un controlador UMDF 2.

Las versiones UMDF y KMDF de NetAdapterCx comparten el mismo número de versión principal.