¿Por qué no hay una plantilla de controlador en modo kernel WDM en el kit de controladores de Windows?

StackOverflow https://stackoverflow.com//questions/24016441

  •  21-12-2019
  •  | 
  •  

Pregunta

Me encontré con controladores en modo kernel con muy poca experiencia.Esto es lo que estoy tratando de hacer:

  • Tener una aplicación en modo usuario que cargue el controlador.
  • Haga que la aplicación en modo de usuario le escriba para enviarle una instrucción.
  • Haga que el controlador envíe la instrucción RDMSR al chip Intel.
  • Devuelva los resultados a la aplicación en modo de usuario.

he leído Este artículo que describe las diferentes formas en que puede lograr este comportamiento (E/S en búfer, E/S directa o ninguna de las dos).

Mi problema es este... el artículo tiene un código que representa la forma en que estructurarías un WDM controlador y esperaba poder crear una plantilla de proyecto WDM KMDF utilizando el kit de controladores de Windows, pero cuando descargué el kit de controladores de Windows (WDK), la única plantilla de controlador KMDF era para un WDF conductor. MSDN tiene un artículo que describe las diferencias entre los dos..Esto es un poco extraño para mí.Esperaba obtener una plantilla lista para usar que pudiera modificar para que funcione como en el artículo que he vinculado, pero no la veo.¿Por qué no existe una plantilla para un controlador WDM KMDF?

Solo una nota adicional: puede identificar fácilmente el tipo de controlador según el forma en que crea el dispositivo (IoCreateDevice implica WDM, mientras que WdfDeviceCreate implica WDF).

¿Fue útil?

Solución

Hay muchas inconsistencias en la pregunta.En primer lugar, KMDF es un subconjunto de WDF (y es el único relevante WDF parte cuando se habla de controladores del kernel), por lo que no hay contradicción entre los dos.Cada controlador del kernel es esencialmente un WDM conductor. KMDF es un marco en el WDM y KMDF A los conductores normalmente se les llama, bueno, KMDF conductores, sin mencionar WDM. WDM El controlador generalmente se refiere a un controlador que no utiliza ningún marco adicional, como KMDF.Segundo, WDK Se integra con VS2012/2013 y debes tenerlo instalado además de WDK para obtener las plantillas.Tercero, WDM La plantilla aparece en la lista.Si no lo tienes, te sugiero reinstalar el WDK y VS.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top