Hi,
I’m referring to the diskperf example (shipped with WDK 7.6).
I simply built it as it is and tested it on Windows XP Professional 32-bit OS.
Added the diskperf filter to different volumes using addfilter utility.
But every time I add this filter to any volume, the volume disappears.
Windows simply can’t see it. Can’t see it in Disk Management either.
I do get to see Debug messages that I have added in the diskperf driver in my WinDbg instance.
What is going on here…? Can somebody explain to me how I can get it working…?
I basically want to write a volume filter driver.
And referring to the numerous posts on various forums where people are using the diskperf sample to write a volume filter driver, I started working in the same direction.
Any help will be greatly appreciated.
First a volume filter is different that a disk filter. I would take a
simple pass through filter and track all the actions that go on. I suspect
that part of your problem is that diskperf is not doing the right things for
some volume requests and / or is failing from some disk requests it does not
see. Unfortunately, a volume filter is not completely documented.
Don Burn
Windows Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@gmail.com
Sent: Wednesday, September 04, 2013 12:41 PM
To: Windows File Systems Devs Interest List
Subject: [ntfsd] Need help with diskperf sample (Want to write a volume
filter driver)
Hi,
I’m referring to the diskperf example (shipped with WDK 7.6).
I simply built it as it is and tested it on Windows XP Professional 32-bit
OS.
Added the diskperf filter to different volumes using addfilter utility.
But every time I add this filter to any volume, the volume disappears.
Windows simply can’t see it. Can’t see it in Disk Management either.
I do get to see Debug messages that I have added in the diskperf driver in
my WinDbg instance.
What is going on here…? Can somebody explain to me how I can get it
working…?
I basically want to write a volume filter driver.
And referring to the numerous posts on various forums where people are using
the diskperf sample to write a volume filter driver, I started working in
the same direction.
Any help will be greatly appreciated.
NTFSD is sponsored by OSR
OSR is hiring!! Info at http://www.osr.com/careers
For our schedule of debugging and file system seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer
Hi Don,
Thanks for your quick response.
So do you mean that I should create a simple pass through driver, attach it to any existing volume using IoAttachDevice(), then see what IRPs are being passed to it and so on…?
I believe I’ll obtain a pointer to the volume’s device object using IoGetDeviceObjectPointer() and then attach my device object to it.
Are there any things to keep in mind while experimenting this…??
Thanks again Don.
Yes, you need to create a simple pass through get that working, and learn
all that the volume layer expects. As far as attaching use the System
Volume class and deal with this as a regular PnP driver, using
IoGetDeviceObjectPointer() just means you will lose out to the file system
efforts.
Don Burn
Windows Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@gmail.com
Sent: Wednesday, September 04, 2013 1:45 PM
To: Windows File Systems Devs Interest List
Subject: RE:[ntfsd] Need help with diskperf sample (Want to write a volume
filter driver)
Hi Don,
Thanks for your quick response.
So do you mean that I should create a simple pass through driver, attach it
to any existing volume using IoAttachDevice(), then see what IRPs are being
passed to it and so on…?
I believe I’ll obtain a pointer to the volume’s device object using
IoGetDeviceObjectPointer() and then attach my device object to it.
Are there any things to keep in mind while experimenting this…??
Thanks again Don.
NTFSD is sponsored by OSR
OSR is hiring!! Info at http://www.osr.com/careers
For our schedule of debugging and file system seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer
Hi Don,
We managed to get the diskperf sample working on Windows 7 x86 machine.
Then we used the System Volume class and we started getting all IRPs for the individual volumes.
We attached our filter driver to the volume in the AddDevice() routine.
Thanks for your time Don.
I really appreciate it.
Cheers