| |
|
Objectives
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.
|
|
Results
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.
|