upper filter driver on stream minidriver?

Hi, All

Is it possible to create an upper filter driver on stream
minidriver(webcam driver), in order to know which process (user mode
application) is trying to access it?

Thanks

Regards,

KenKC

================================================================================================================================================================
This message may contain information which is private, privileged or confidential of Compal Electronics, Inc. If you are not the intended recipient of this message, please notify the sender and destroy/delete the message. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon this information, by persons or entities other than the intended recipient is prohibited.

No, not always. Some KS devices can be communicated to through a proxy NT service, so finding the original application is not possible. What are you trying to restrict?

d


From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@compal.com
Sent: Thursday, December 08, 2005 12:30 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] upper filter driver on stream minidriver?

Hi, All

??? Is it possible to create an upper filter driver on stream minidriver(webcam driver), in order to know which process (user mode application) is trying to access it?

Thanks

Regards,
KenKC

================================================================================================================================================================
This message may contain information which is private, privileged or confidential of Compal Electronics, Inc. If you are not the intended recipient of this message, please notify the sender and destroy/delete the message. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon this information, by persons or entities other than the intended recipient is prohibited.


Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

Thanks, Doron
I am developing an application that using DirectShow to get video streaming from Webcam. And this application needs to run at start up and always on. But most webcam drivers only accept that one application use it at the same time.
Is it possible that this application will release webcam resource automatically when other applications (like msn, video conference application) are trying to access it. And notify my application when other applicationi release webcam resource?
I found some api (IoGetCurrentProcess, PsGetCurrentThread) that may fulfill my request, but it says that this api only Useful to highest-level drivers.

Is this kind of upper filter driver a highest-level drivers?
and a proxy NT service means KS Proxy??

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Doron Holan

No, not always. Some KS devices can be communicated to through a proxy NT service, so finding the original application is not possible. What are you trying to restrict?

d


From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Hi, All

??? Is it possible to create an upper filter driver on stream minidriver(webcam driver), in order to know which process (user mode application) is trying to access it?

Thanks

Regards,
KenKC

================================================================================================================================================================
This message may contain information which is private, privileged or confidential of Compal Electronics, Inc. If you are not the intended recipient of this message, please notify the sender and destroy/delete the message. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon this information, by persons or entities other than the intended recipient is prohibited.

By proxy NT service, I mean an exe running as a service, not KS proxy.

You can call PsGetCurrentProcess() and get the calling process, but the PEPROCESS that is returned is opaque. You can’t use it to get the process name in any documented way. If you are calling CreateFile directly (i.e. DirectShow is not doing it on your behalf), you could identify your process by appending an additional path to the device name you are opening. You will see that path in your IRP_MJ_CREATE handler.

Now, this may not work at all if the device stack is marked as Exclusive. If it is marked as such, the i/o manager will enforce that only one create handle will be valid at one time so your filter driver will not be able to even detect this.

I thought DirectShow allowed for sharing of the webcam already. I guess I remember incorrectly.

d

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@compal.com
Sent: Thursday, December 08, 2005 7:10 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] upper filter driver on stream minidriver?

Thanks, Doron
I am developing an application that using DirectShow to get video streaming from Webcam. And this application needs to run at start up and always on. But most webcam drivers only accept that one application use it at the same time.
Is it possible that this application will release webcam resource automatically when other applications (like msn, video conference application) are trying to access it. And notify my application when other applicationi release webcam resource?
I found some api (IoGetCurrentProcess, PsGetCurrentThread) that may fulfill my request, but it says that this api only Useful to highest-level drivers.

Is this kind of upper filter driver a highest-level drivers?
and a proxy NT service means KS Proxy??

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Doron Holan

No, not always. Some KS devices can be communicated to through a proxy NT service, so finding the original application is not possible. What are you trying to restrict?

d


From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Hi, All

??? Is it possible to create an upper filter driver on stream minidriver(webcam driver), in order to know which process (user mode application) is trying to access it?

Thanks

Regards,
KenKC

================================================================================================================================================================
This message may contain information which is private, privileged or confidential of Compal Electronics, Inc. If you are not the intended recipient of this message, please notify the sender and destroy/delete the message. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon this information, by persons or entities other than the intended recipient is prohibited.


Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

Doron Holan wrote:

Now, this may not work at all if the device stack is marked as Exclusive. If it is marked as such, the i/o manager will enforce that only one create handle will be valid at one time so your filter driver will not be able to even detect this.

I thought DirectShow allowed for sharing of the webcam already. I guess I remember incorrectly.

The recommendation is that a capture driver allow an arbitrary number of
opens, and only commit hardware resources on a transition out of the
“stopped” state. This is how Media Center does its thing. The
background recording process starts at boot time and builds a capture
graph that lives through the lifetime of the system, but it doesn’t
actually start the graph until a show is being recorded. As long as
there is no recording going on, someone else can build a graph and
capture using the same filter.

However, this is a somewhat different case from the original poster, who
wants the background process to be CONTINUOUSLY recording. In that
case, one solution would be to watch for a second open, and send some
kind of signal to the background process to stop recording until the
second instance is closed.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

Yes, but what OP wanted to is control abitrary KS driver with his filter driver.
For that you need some sort of KS filter driver, which is totally undocumented.
Search archives. There had been plenty of discussion on that subject.

– Max.

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:bounce-229025-
xxxxx@lists.osr.com] On Behalf Of Tim Roberts
Sent: Friday, December 09, 2005 9:12 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] upper filter driver on stream minidriver?

Doron Holan wrote:

>Now, this may not work at all if the device stack is marked as Exclusive.
If it is marked as such, the i/o manager will enforce that only one create
handle will be valid at one time so your filter driver will not be able to
even detect this.
>
>I thought DirectShow allowed for sharing of the webcam already. I guess
I remember incorrectly.
>
>

The recommendation is that a capture driver allow an arbitrary number of
opens, and only commit hardware resources on a transition out of the
“stopped” state. This is how Media Center does its thing. The
background recording process starts at boot time and builds a capture
graph that lives through the lifetime of the system, but it doesn’t
actually start the graph until a show is being recorded. As long as
there is no recording going on, someone else can build a graph and
capture using the same filter.

However, this is a somewhat different case from the original poster, who
wants the background process to be CONTINUOUSLY recording. In that
case, one solution would be to watch for a second open, and send some
kind of signal to the background process to stop recording until the
second instance is closed.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@yahoo.com
To unsubscribe send a blank email to xxxxx@lists.osr.com