Hi, Trust me.the topic you are asking about is very complicated. Audio drivers are not like other generic drivers where you can easily hook into all the entry points using a filter driver and modify or examine data. Basically, there are several models (about 5 or more) and each model has different ways of dealing with audio. You also have issues with regard to KMixer which mixes various audio streams and does sample rate conversion. And many of the driver are layered in such a way that the class driver calls directly into the miniport driver so intercepting that can be difficult (if that is what you need to do). For example, you say you intercept SysAudio.but, the main purpose of SysAudio is to build various graphs and expose different devices. The actual audio data does not pass through SysAudio (I don' think.) Certainly I cannot help you much with this.I can only tell you that what you want to do is going to very difficult. I am not trying to discourage you.I think what you are doing is very interesting.but, it is not going to be as easy as it might be for other devices. My guess is you should look at PortCls.sys and Ks.sys and understand what they do.Also, you should look at some of the diagrams in the DDK that show the various components of the different audio driver models. You might try doing a search on this group with the string "filter" and see what comes up. Sorry, I cannot be more helpful. _____ From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of dinkar raj Sent: Tuesday, November 22, 2005 7:42 PM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: help needed - upper filter driver sysaudio.sys Hi Sam, Yes. U are right. But the IOCTLs that are sent during data transfer are of this kind.(But why?) are these manipulating a cyclic/linear buffer's offset for read and write ? (I read sometime back something like that..)Where is this buffer for Direct Sound? what is the exact mechanism of this buffer?And these IOCTLs ? I am a newbie to this audio world and do bear with me for any mistakes from my part. How can I intercept the audio data?? I want the thing on XP only, so no problem, and thanks for your advice. On 11/23/05, Sam Tertzakian <sam@xxxxxxxxxxx> wrote: 1. KSPROPERTY is not used for audio data transfer. It is used to set various parameters, some of which will be documented and others may not be. 2. SysAudio is not present in Vista. So, your driver will not work on an OS after XP. _____ From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of dinkar raj Sent: Tuesday, November 22, 2005 1:29 AM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] help needed - upper filter driver sysaudio.sys Hi , I have coded an upper filter driver for the sysaudio.sys. Using Winamp, and direct sound, winamp plays and I start to receive many userMode Irp's with IO CTRL CODE == IOCTL_KS_PROPERTY. I inspected the KSPROPERTY value after dereferencing the UserBuffer pointer field of the irp . (Am I right here ?) And here, when I print the Flags member of the KSPROPERTY value, I get an undocumented value. My worry is: How to KdPrint the actual audio data that is being sent thru my filter driver? is all what I have done correct? or is this domain heavily undocumented ? TIA