stringtranslate.com

Marco de controlador en modo usuario

User-Mode Driver Framework ( UMDF ) es una plataforma de desarrollo de controladores de dispositivos que se introdujo por primera vez con el sistema operativo Windows Vista de Microsoft y también está disponible para Windows XP . Facilita la creación de controladores para ciertas clases de dispositivos. [1]

Descripción general

Los controladores de dispositivos estándar pueden ser difíciles de escribir porque deben manejar una amplia gama de estados del sistema y del dispositivo, particularmente en un entorno de software multiproceso. Los controladores de dispositivos mal escritos pueden causar daños graves a un sistema (por ejemplo, BSoD o corrupción de datos) ya que todos los controladores estándar tienen altos privilegios al acceder al núcleo directamente. El User-Mode Driver Framework aísla al núcleo de los problemas del acceso directo al controlador, proporcionando en su lugar una nueva clase de controlador con una interfaz de programación de aplicaciones dedicada a nivel de usuario de interrupciones y administración de memoria. Si ocurre un error, el nuevo marco permite un reinicio inmediato del controlador sin afectar el sistema. Esto es particularmente útil para dispositivos que están conectados intermitentemente al sistema o que admiten intercambio en caliente a través de una tecnología de bus como USB o FireWire .

Según Microsoft, los controladores UMDF son más simples de escribir y depurar que los controladores en modo kernel. [2] Sin embargo, UMDF no se utilizaría para dispositivos con alto nivel de rendimiento o con alto estado .

La primera versión de UMDF se envió como parte de la versión 10 de Windows Media Player el 12 de octubre de 2004. Con el nombre en código "Crescent", fue diseñada para admitir el controlador del Protocolo de transferencia de medios y no se proporcionaron interfaces públicas ni documentación para ella. Más tarde, Microsoft decidió convertir UMDF en una plataforma de desarrollo de controladores de dispositivos. [3]

Historial de versiones

Arquitectura

Un controlador UMDF es una DLL basada en el Modelo de objetos componentes (COM) de Microsoft. Sin embargo, UMDF no utiliza COM para cargar, descargar o controlar la concurrencia ; solo utiliza COM como patrón de programación , por ejemplo, aprovechando la interfaz IUnknown de COM . Al iniciarse, UMDF llama a DllGetClassObject para obtener un puntero a una interfaz IClassFactory en el controlador y luego utiliza el método CreateInstance de la interfaz IClassFactory para crear una instancia del objeto de devolución de llamada del controlador.

El objeto del controlador es una instancia de la interfaz IWDFDriver proporcionada por el marco . El controlador proporciona un conjunto de devoluciones de llamadas a través de la interfaz COM IDriverEntry , que es el principal punto de entrada para la personalización del controlador.

Véase también

Referencias

  1. ^ Controladores de programación para UMDF
  2. ^ "Ventajas de escribir controladores UMDF".
  3. ^ Charles Torre, Peter Wieland (18 de septiembre de 2006). "Peter Wieland: User Mode Driver Framework". Canal 9. Microsoft . Consultado el 18 de septiembre de 2006 .
  4. ^ Soporte técnico de Microsoft. "Actualización de User-Mode Driver Framework versión 1.11 para Windows Vista, Windows Server 2008, Windows 7 y Windows Server 2008 R2". Microsoft . Consultado el 1 de diciembre de 2012 .
  5. ^ "Preguntas frecuentes sobre el marco de controladores de modo usuario (controladores de Windows)". Microsoft . Consultado el 4 de junio de 2014 .

Enlaces externos