http://www.microsoft.com/en-us/download/details.aspx?id=11800
You can download this driver development package, the code of the "Cold River alone fishing Windows kernel Security program" can be
Compile with this version of the WDK.
A driver is a software component that allows the operating system and devices to communicate with each other.
Expanded definition:
- Not all drivers must be written by the company that designed the device. In many cases, the device is designed according to the published hardware standards. This means that the driver can be written by Microsoft and the device designer does not need to provide a driver.
- Not all drivers communicate directly with the device. For a given I/O request (such as reading data from a device), there are usually drivers (layered in the stack) participating in the request. The traditional way to visualize the stack is to put the first participant at the top and the last participant at the bottom, as shown in the figure. Some drivers in the stack may participate by converting requests from one format to another. These drivers do not communicate directly with the device; they only manipulate the request and pass the request to the driver below the stack.
- A driver that communicates directly with the device in the stack is called a "function driver"; A driver that performs auxiliary processing is called a "filter driver."
- Some filter drivers follow and record information about I/O requests, but they are not actively involved in these requests. For example, some filter drivers act as validators to ensure that other drivers in the stack handle I/O requests correctly.
We can extend the definition of "driver" by representing any software component that the driver is complying with or participates in communication between the operating system and the device.
Software drivers
Our expansion definition is fairly accurate, but still incomplete, because some drivers are not associated with any hardware device at all. For example, suppose you need to write tools that can access core operating system data structures that can be accessed only by code running in kernel mode. You can perform this operation by splitting the tool into two components. The first component runs in user mode and provides a user interface. The second component runs in kernel mode and can access core operating system data. Components that run in user mode are called applications, and the components that run in kernel mode are called "Software drivers." The software driver is not associated with a hardware device.
What is a driver