[wdmaudiodev] Re: Virtual Audio Devices

  • From: "Alper Selcuk" <alpers@xxxxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Wed, 6 Nov 2002 09:19:35 -0800

FYI.

We discovered that the problem was in filter's IRP handler.

This IRP is sent to sysaudio from user-mode. Therefore KS/Sysaudio
checks all parameters and caches the IRP parameters in SystemBuffer.
After that modifications/operations are done on the SystemBuffer.

The filter's dispatch handler checks the IrpSp->Parameters field that is
still pointing out to UserMode memory with the sysaudio node id.

Irp->SystemBuffer has a KSNODEPROPERTY structure embedded in it
with the correct node id.

So intermediate filters that get messages from sysaudio should use
SystemBuffer to access the "real" node id. (I remember seeing an article
in MSDN or DDK about DeviceIoControl handling for kernel drivers)




-----Original Message-----
From: Peter Stokes [mailto:pstokes@xxxxxxxxxxxx]=20
Sent: Wednesday, October 30, 2002 3:43 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Virtual Audio Devices


I understand from the Windows DDK documentation that SysAudio builds
filter
graphs from the available KSCATEGORY_AUDIO filter factories into a
"Virtual
Audio Device", which is registered as a KSCATEGORY_AUDIO_DEVICE.

My question is that each individual KSCATEGORY_AUDIO filter factory
contains
various nodes, each of which has a node ID consisting of a numeric index
based
from zero. When all the necessary filter factories are linked to produce
the
"Virtual Audio Device" it is clearly necessary to re-index many of the
nodes'
IDs because it is not sensible to have multiple nodes with the same ID.
I have
observed this behaviour using KsStudio. However, I have not been able to
deduce
the logic used in this re-indexing process. I would also like to know
how I can
obtain the mappings between the node ID given to a node in the "Virtual
Audio
Device" and the corresponding nodes' ID in it's own filter factory.

I hope that the above makes sense. I would be very grateful for any
assistance
with this matter.

Thanks

Pete

******************

WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
Subscribe:    =
mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=3Dsubscribe
Unsubscribe:
mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=3Dunsubscribe
Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx

URL to WDMAUDIODEV page:
http://www.wdmaudiodev.de/

******************

WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
Subscribe:    mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
Unsubscribe:  mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx

URL to WDMAUDIODEV page:
http://www.wdmaudiodev.de/

Other related posts: