From: Andrew Bucknell on
Hi,
My business need is to be able to detect (and possibly block) writes to a
cd/dvd device. The idea here is to bill customers if they use a windows XP PC
to burn data to a CD or DVD in an internet kiosk environment.

To this end I am attempting to write an upper filter. I have two questions.

1. I have managed to get an upperfilter to install but all I see is a stream
of IRP_MN_START_DEVICE messages. I believe I am missing something basic here
but cant find a good resource to help me understand what I am doing wrong.
Are there any good references on filter DO's people can point me towards?

2. Is this a good approach or is there something simpler I could be doing?

Thank you for any assistance.
Andrew Bucknell
From: Kerem Gümrükcü on
Hi Andrew,

> 2. Is this a good approach or is there something simpler I could be doing?

i am not really sure if this is the best way
for doing this, maybe it is, but i personally
would try to find a non-driver solution for
that, something like locking the Optical
Media by e.g. IOCTL or another code and
the free it for special reasons. There are
several WM_* Messages that signal a Optical
Media insertion/removel and you could
query the drive on WM_* Messages arrival
at will. There are some other ways to detecd
media insertion on a system:

- Using WM_DEVICECHANGE
- Using WMI notification
- Query device state

Here are some examples:

http://www.codeguru.com/forum/showthread.php?t=371666
http://alpha-thema.com/forum/index.php?topic=337.0
http://www.codeproject.com/KB/system/Windows_Services.aspx?msg=1817537

I would do everything to bypass any
driver stuff unless there is really a
need for and no other way to solve it!


regards

Kerem

--
--
-----------------------
Beste Grüsse / Best regards / Votre bien devoue
Kerem Gümrükcü
Latest Project: http://www.pro-it-education.de/software/deviceremover
Latest Open-Source Projects: http://entwicklung.junetz.de
-----------------------
"This reply is provided as is, without warranty express or implied."

From: Andrew Bucknell on
Update :

Question 1 stemmed from a silly programming error on my part.



"Andrew Bucknell" wrote:

> Hi,
> My business need is to be able to detect (and possibly block) writes to a
> cd/dvd device. The idea here is to bill customers if they use a windows XP PC
> to burn data to a CD or DVD in an internet kiosk environment.
>
> To this end I am attempting to write an upper filter. I have two questions.
>
> 1. I have managed to get an upperfilter to install but all I see is a stream
> of IRP_MN_START_DEVICE messages. I believe I am missing something basic here
> but cant find a good resource to help me understand what I am doing wrong.
> Are there any good references on filter DO's people can point me towards?
>
> 2. Is this a good approach or is there something simpler I could be doing?
>
> Thank you for any assistance.
> Andrew Bucknell
From: Andrew Bucknell on
Thanks for your reply Kerem. I looked at the IOCTL's and could only see how
to totally lock the device. I need my customers to be able to read the
device, and only block writes. I looked at IOCTL_CDROM_EXCLUSIVE_ACCESS but
as I said, I need to allow reads. The WMI examples show how to detect cd
insertion or removal, but I couldnt find a state change indicating the device
is about to be written to.

From what I can see a filter driver is the for me to go.

"Kerem Gümrükcü" wrote:

> Hi Andrew,
>
> > 2. Is this a good approach or is there something simpler I could be doing?
>
> i am not really sure if this is the best way
> for doing this, maybe it is, but i personally
> would try to find a non-driver solution for
> that, something like locking the Optical
> Media by e.g. IOCTL or another code and
> the free it for special reasons. There are
> several WM_* Messages that signal a Optical
> Media insertion/removel and you could
> query the drive on WM_* Messages arrival
> at will. There are some other ways to detecd
> media insertion on a system:
>
> - Using WM_DEVICECHANGE
> - Using WMI notification
> - Query device state
>
> Here are some examples:
>
> http://www.codeguru.com/forum/showthread.php?t=371666
> http://alpha-thema.com/forum/index.php?topic=337.0
> http://www.codeproject.com/KB/system/Windows_Services.aspx?msg=1817537
>
> I would do everything to bypass any
> driver stuff unless there is really a
> need for and no other way to solve it!
>
>
> regards
>
> Kerem
>
> --
> --
> -----------------------
> Beste Grüsse / Best regards / Votre bien devoue
> Kerem Gümrükcü
> Latest Project: http://www.pro-it-education.de/software/deviceremover
> Latest Open-Source Projects: http://entwicklung.junetz.de
> -----------------------
> "This reply is provided as is, without warranty express or implied."
>
>
From: Pavel A. on
"Andrew Bucknell" <AndrewBucknell(a)discussions.microsoft.com> wrote in
message news:750C0AC9-5F13-4552-B037-4DDA3F6FB7A0(a)microsoft.com...

> 2. Is this a good approach or is there something simpler I could be doing?

Just let them burn for free? You'll save development costs, improve system
stability by not installing your driver :) and attract more users =>make
more profit.

--pa