I'm hoping somebody (maybe DJ?) can explain this phenomenon. It turns out that the presence of a filter driver anywhere between usbaudio.sys and the USB host controller will prevent usbaudio.sys from creating MIDI devices. Without the filter, midiInGetNumDevs returns 1. With the filter, it returns 0. I've seen this both with a lower filter on usbaudio, and with an upper filter on the hub driver. There are several Google hits for people complaining that their USBAudio MIDI devices do not work when they use a USB sniffer, and this is the reason why. My question is, why should this be? It can't be intentional. I've written probably a dozen lower filters to usbaudio.sys for standard audio streaming devices, and I know what I'm doing. Why should it be different for MIDI? How does usbaudio.sys even know? Why does it care? -- Tim Roberts, timr@xxxxxxxxx Providenza & Boekelheide, Inc.