Hello Andrew, Sorry for the delay getting back to you. If you look at the DirectKS sample there is code there which shows you how to get the handle to the device KS filter based on categories. As to how to address the device directly and send IOCTLs, that is not available in WinXP. Way back in Win98 (and I believe in Win2K) this was possible by sending a KS Property KSPROPERTY_AUDIO_DEV_SPECIFIC, but that was dropped around the Millennium timeframe. GET_MEM and SET_MEM will be available in Longhorn. I was planning to revive the device specific request, but have not been able to determine how best to do so. What parameters would suit a generic passthrough of a command for all cases? And if this passthrough is developed, will it be abused in that developers will only support the passthrough and forsake the class spec? Thanks, DJ Sisolak This posting is provided "AS IS" with no warranties, and confers no rights. -----Original Message----- From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Andrew Sherbrooke Sent: Tuesday, September 16, 2003 1:28 PM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] USBAudio.sys tunneling question Hi all, I'm working with a USB audio class-compliant device. It's working great, under XP, with usbaudio.sys. We would also like to be able to send proprietary information to it from a user-mode application, however, to control some (DSP-related) functionality. We'd like to use use the control endpoint for this purpose (in lieu of setting up an additional interface and loading a separate kernel driver against it), but are uncertain whether or not it's possible to to "tunnel" the data through usbaudio.sys. We know that, armed with a device name, we should be able to obtain a handle to the device by using CreateFile with the argument "\\.\MyDeviceName". Our hope was that we could then send IOTCLs to the device with DeviceIoCtl. We have two major questions which we can't seem to answer, however: -- What is the device name, and how do we find it reliably? Is this created by USBAudio.sys? What algorithm is used to derive this name (with the assumption that the user might have multiple audio devices, maybe even on the USB). I've experimented with SoftICE, but can't seem to find a valid name. Incidentally, is the long string we see in KSStudio, described as a device name and involving VIDs, PIDs, and GUIDs, relevant? -- Assuming we can get a handle to the device, is there an IOCTL we can use to send data to the control endpoint, and where would we find its definition? DJ Sisolak alluded to support for SET_MEM and GET_MEM, but implied that these aren't yet supported by usbaudio.sys. Any other suggestions? Thanks so much for you help! Sincerely, Andrew Sherbrooke ****************** 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/ ****************** 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/