Home / Articles / Programming Languages / C / A Windows Device Driver Primer (2/10): Device Driver Programming / Device Drivers As Utilities

“Chishiki” is Japanese for “knowledge.” e-chishiki.com aims to bring software developers, information security professionals, IT executives and other IT pros a rich body of knowledge in the form of articles, interviews, tutorials and technical discussions. Our contributors are among the biggest names in the Indian IT industry and include noted authors, educators and practitioners.

Windows Device Driver Programming Series

A Windows Device Driver Primer (2/10): Device Driver Programming

Yashavant Kanetkar and Asang Dani
Yashavant Kanetkar and Asang Dani


Device Drivers As Utilities

Drivers being a trusted extension of the OS are often used to do things that are normally not possible to do in application level code.

System utilities are good example of this. They often have an additional module in the form of a Device Driver that performs most of the low-level activities on the behalf of the utility.

For example, there are many monitoring utilities that contain an Application component and a Device Driver component. There are popular utilities like ‘Filemon’, 'Netmon' and 'Regmon' that monitor all the disk activities, network activities and registry activities taking place in the system. The Device Driver component of these utilities is responsible for generating a log of the activities, whereas, the Application component is responsible for displaying the log in proper format.

Another example of drivers being a part of larger software is the Anti-Viral software. This software takes help of driver programs to accomplish many of its activities like:

  • Scanning memory of all running processes including the OS.
  • Providing auto-protect feature which ensures that any program that is executed is first scanned for viruses. If a virus is found, the antiviral software stops the execution of the program.

Driver code can also be used to emulate physical hardware devices. For example, there are a lot of commercial and shareware utilities available that emulate a CD-ROM drive.

Drivers may also have to be written to modify the behaviour of existing drivers. For example, you might want to write a driver that interacts with the file system driver and encrypts/decrypts the data that is read/written from/to the disk.

Comments

Log in or create a user account to comment.

On Sale From April 2008

Let Us C
8th Ed.
C programming classic & best seller. 1 million+ copies sold!

Y. Kanetkar

On Sale From April 2008

Introduction to Object Oriented Programming & C++

Y. Kanetkar

On Sale From Fall 2008

Microsoft .NET Framework: Web Application Security

Vijay Mukhi

On Sale From Nolvember 2008

Quest C++ Courseware
12+ hours of instructional audio and animated slides.

Y. Kanetkar Asang Dani

On Sale From November 2008

A Programmer's Guide to Web Application Security

Vijay Mukhi

Latest Forum Posts