Why is there no WDM kernel mode driver template in the Windows Driver Kit?

I came across kernel mode drivers with very little experience. Here is what I am trying to do:

  • Have a user mode application that loads the driver.
  • Ask the user mode application to write it down to send them instructions.
  • Ask the driver to send the RDMSR instruction to an Intel chip.
  • Bring the results back to the user mode application.

I read this article that describes the various ways that this behavior can be performed (buffered I / O, direct I / O, or NI).

My problem is ... the article contains code that represents a way to structure the WDM driver, and I expected that I could create a WDM KMDF project template using the Windows Kit driver, but when I downloaded the Windows driver kit (WDK), the only driver KMDF driver was a WDF driver. There is an article on MSDN that describes the differences between the two . This is strange to me. I expected to get a template out of the box, which I could change to work, as in the article I linked, but I do not see this. Why is there no template for the WDM KMDF driver?

Just an added note, you can easily tell the type of driver based on how the device was created (IoCreateDevice implies WDM, whereas WdfDeviceCreate implies WDF).

0
c visual-c ++ wdf wdk kmdf
source share
1 answer

There are many inconsistencies in the question. First of all, KMDF is a subset of WDF (and this is the only relevant part of WDF when it comes to kernel drivers), so there is no contradiction between them. Each kernel driver is essentially a WDM driver. KMDF is the basis of the WDM and KMDF drivers, usually called, well, KMDF drivers, not to mention WDM . A WDM driver usually refers to a driver that does not use any additional frameworks, such as KMDF . Secondly, the WDK integrates with VS2012 / 2013, and you must install it in addition to the WDK to get the templates. Thirdly, the WDM template appears in the list. If you do not have it, I suggest reinstalling WDK and VS

+3
source share

All Articles