BlazeAudio Developer wrote:
We have found a rather significant bug in USBAUDIO.SYS that involves USB MIDI support.
The problem is that if a lower filter is attached (below usbaudio.sys), then sysaudio fails to create the CATEGORY_AUDIO_DEVICE filters. And the reason sysaudio fails is that the pins created by usbaudio for MIDI cannot not provide a proper pin name.
After about three days of debugging, and stepping through a fair amount of usbaudio and sysaudio code, we have found the reason for this.
The reason is that Usbaudio.sys tries to obtain the device description of the PDO that it is working on using IoGetDeviceProperty() with DevicePropertyDeviceDescription.
If there is no lower-filter for usabaudio, then this works fine.
However, if there is a lower-filter present, then usbaudio is actually trying to make this call on the Filter Device Object (FiDO) that it thinks is the PDO.
-- - Tim Roberts, timr@xxxxxxxxx Providenza & Boekelheide, Inc.
******************
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/