KB_Soft Group - Software Vendor's Development Partner
Start page
Site map

IDE Device Driver for MS Windows 9x/Me



The objective of the project was to implement the mechanism allowing to get information about the IDE devices under MS Windows 9x/ME platforms.


The project resulted in the VXD driver that could read as much data on the IDE devices as possible by accessing them directly. Also, a set of classes was designed to interact with the driver. First of all, the driver had to get the device model, its manufacturer, and the serial number.

Technical peculiarities

To get the information about the IDE devices, the IDE controller was accessed directly (i.e. the "Identify drive" command was executed). To work with the controller directly, two tasks had to be solved: to provide direct access to the controller registers, and send commands directly to the controller without affecting other
  applications working with the IDE controller. The first task was solved in a standard way - the controller was queried from the VXD driver whose code executed on Ring-0, which allowed to work with devices directly. To solve the second task, it was necessary to monopolize the CPU, while the IDE device is being accessed.