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

IEEE 1394 (FireWire) Device Filter Driver for MS Windows 2K/XP/2003



The objective of the project was to implement the mechanism allowing to get information about the IEEE 1394 devices under MS Windows 2K/XP/2003 platforms.


The result of the project is the driver designed to get as much information about the IEEE 1394 devices as possible (their model and manufacturer at the minimum). Also, the corresponding C++ code was implemented to interact with this driver.

Technical peculiarities

To get information about the IEEE 1394 directly from the device, the filter driver had to be designed. This was necessary, because the code running on Ring-3 cannot obtain the specified data on the device by sending it a query for reading the device's IEEE 1394 standard configuration ROM. There is no any standard query to be processed by all the drivers of the IEEE 1394 devices. On Ring-0 such a query can be processed by the "lower filter driver" of an existing device
  which is located in the driver stack just before the IEEE 1394 bus driver and, therefore, does not depend on whether the device driver lets this query pass or not.

The technical peculiarity of filter driver implementation is the "transparence requrement". In other words, the filter placed between the device driver and the bus driver should not affect their interaction.