Hi all,
I ve developed a filter driver for CD writter. I want to intercept the write operation with this. How can I proceed further?
While writing to the cd/DVD i am not able to get IRP_MJ_WRITE response. But for all other operations I am able to get the response.
Wen this major function get called?
Where i need to write code for skipping the write request? Which major/minor function request I should handle for this?
Or any other way to set this drive as read only while adding this filter driver to the device stack?
Plz help me.
Thanks in advance,
Soumya
A lot of CD writing software does not send write commands through the filter drivers. Your filter will see nothing when they write because they bypass the device stack. Why do you want to do this because maybe there is another approach.
so can we do anything with this filter driver?
Can we set the device as a read only devise using filter driver?
If so how?
Hi Soumya!
I want to ask a question:
Is the filter that you are developing, a File system filter or a disk filter.
If it is a FS filter, then you cannot ensure that no writes are performed on the CD/DVD. This is because, a software can be developed which bypasses the file system stack and tries to make raw reads and writes.
As far as i think, you can do your job by setting the privileges of the user. As far as i know CD/DVD burning requires some privileges.
Or the other way would be to implement a storage filter. I dont know of softwares that bypass the storage stack.
Regards!
Ayush Gupta
K7 Computing Pvt. Ltd.
Before you get too far in your design note a lot of popular CD writing software bypasses the storage stack by using a driver that sends all its commands to the PDO. Once this is in place, FS filters are bypassed, storage filters bypassed, and device security privileges ignored. It is a security hole you can drive a truck through.
That is why in this case it would be useful to understand what the overall objective is because CD write protection cannot be 100% effective and a better solution to whatever the problem is may exist.
eof