2

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

  • Have a user-mode application that loads the driver.
  • Have the user-mode application write to it, in order to send it an instruction.
  • Have the driver send the RDMSR instruction to the Intel chip.
  • Return the results back to the user-mode application.

I've read this article that describes the different ways in which you can accomplish this behavior (Buffered I/O, Direct I/O, or Neither).

My problem is this...the article has code that represents the way you would structure a WDM driver, and I was expecting to be able to create and then modify a default WDM project template with source code in it using the Windows Driver Kit, but when I downloaded the Windows Driver Kit (WDK), the only WDM driver template was completely blank and did not have any source code.

Where can I find an example of a minimalistic WDM driver template with source code in it that uses IoCreateDevice to create a device object?

tshepang
  • 12,111
  • 21
  • 91
  • 136
Alexandru
  • 12,264
  • 17
  • 113
  • 208

1 Answers1

1

I found it here. Part of the Windows Driver Kit 8.1 Samples, the glorious IOCTL driver sample

demonstrates the usage of four different types of IOCTLs (METHOD_IN_DIRECT, METHOD_OUT_DIRECT, METHOD_NEITHER, and METHOD_BUFFERED)

Furthermore,

This sample driver is not a Plug and Play driver. This is a minimal driver meant to demonstrate a feature of the operating system. Neither this driver nor its sample programs are intended for use in a production environment. Instead, they are intended for educational purposes and as a skeleton driver.

Alexandru
  • 12,264
  • 17
  • 113
  • 208