xxxxx@centrum.cz wrote:
We have more use cases for parent PDO:
…
- Other use case is we need to detect kernel streaming proxy device stack, so we register our device filter driver in MEDIA device class and we know that parent PDO of PDO in kernel streaming proxy stack implements “KSNAME_Server” interface. We are attached to kernel streaming proxy stack by Windows and we need to query its parent PDO for that interface.
You’re going to have to explain that one to me, because there are things
here that don’t make sense.
I’ve been doing KS for 20 years, but I’ve never heard of a “kernel
streaming proxy device”. The phrase “kernel streaming proxy” refers to
the user-mode ksproxy.ax DLL that connects a KS driver to DirectShow.
You are using the phrase “device filter driver,” but each of those terms
has multiple meanings. The term “filter” in kernel streaming refers to
the top-level objects that KS driver implement. The driver exposes
“filters”, and each “filter” contains “pins”, which do the real work.Â
That meaning is unrelated to the term “filter driver” as used in WDM
device stacks. Which one do you mean here? If you have a driver in
MEDIA device class, then you have an FDO, and you are not a filter
driver. In that case, you can certainly get the PDO for your FDO.Â
AVStream tracks that, and you need it to submit I/O requests to your
hardware. But, that driver is not going to be another KS driver.
I hope you can enlighten me about your real architecture.
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.