Copyright (c) 2008 - 2010 Nir Sofer
DeviceIOView allows you to watch the data transfer between a software or service and a device driver (DeviceIoControl calls).
For each call to a device driver, the following information is displayed:
Handle, Control Code, number of input bytes, number of output bytes, the name of the device handle,
and all the input/output bytes, displayed as Hex dump.
This utility works on Windows 2000, Windows XP, Windows Server 2003, and Windows 7/Vista/2008 (32-bit only). Older versions of Windows are not supported.
- Version 1.02:
- Fixed bug: On some Windows 7 systems, DeviceIOView failed to attach a process and crashed it.
- Version 1.01:
- DeviceIOView now automatically stops when the process that you inspect is terminated.
- DeviceIOView now remembers that last sort in select process dialog-box.
- Version 1.00
DeviceIOView doesn't require any installation process or additional dll files. In order to start using it, simply run the executable file - DeviceIOView.exe
After running it, select the process that you want to inspect, and click Ok. After clicking Ok, DeviceIOView will start to display the information
about all calls to device drivers.
The upper pane displays the list of all device drivers calls.
When you select an item in the upper pane, the lower pane displays the
input/output bytes, as Hex dump.
Using DeviceIOView In Windows Vista
DeviceIOView can work in Vista even when UAC (User Account Control) is turned on,
as long as the process that you wish to inspect run in the same account and security context of
DeviceIOView. However, if you want to inspect a process that runs under
administrator account, you must also run DeviceIOView as administrator.
(right-click on DeviceIOView.exe and choose 'Run As Administrator')
Practical Example For Using DeviceIOView
Process Explorer of Sysinternals/Microsoft uses a device driver to extract handle information
of any process. If you set the lower pane of Process Explorer to Handles list,
you can watch all the device driver calls made to PROCEXP100 device driver:
Translating DeviceIOView to other languages
In order to translate DeviceIOView to other language, follow the instructions below:
- Run DeviceIOView with /savelangfile parameter:
A file named DeviceIOView_lng.ini will be created in the folder of DeviceIOView utility.
- Open the created language file in Notepad or in any other text editor.
- Translate all string entries to the desired language.
Optionally, you can also add your name and/or a link to your Web site.
(TranslatorName and TranslatorURL values) If you add this information, it'll be
used in the 'About' window.
- After you finish the translation, Run DeviceIOView, and all translated
strings will be loaded from the language file.
If you want to run DeviceIOView without the translation, simply rename the language file, or move
it to another folder.
This utility is released as freeware.
You are allowed to freely distribute this utility via floppy disk, CD-ROM,
Internet, or in any other way, as long as you don't charge anything for this.
If you distribute this utility, you must include all files in
the distribution package, without any modification !
The software is provided "AS IS" without any warranty, either expressed or implied,
including, but not limited to, the implied warranties of merchantability and fitness
for a particular purpose. The author will not be liable for any special, incidental,
consequential or indirect damages due to loss of data or any other reason.
If you have any problem, suggestion, comment, or you found a bug in my utility,
you can send a message to firstname.lastname@example.org
DeviceIOView is also available in other languages. In order to change the language of
DeviceIOView, download the appropriate language zip file, extract the 'deviceioview_lng.ini',
and put it in the same folder that you Installed DeviceIOView utility.