I want to support multiple device through a SDK of our own, which has
different interfaces like:

- DirectInput, DirectSound, ASIO, MIDI, Audio Mixer, Wave in/out,
DirectShow and custom driver.

While the MIDI, Audio Mixer and Wave in/out interface show different
device names in windows like "DeviceName" and "DeviceName (2)". The
DirectInput and DirectSound doesn't. However, there's an order in which
they appear in the enumeration process. My question is...

I would like to know if all interfaces which return "DeviceName"
corresponds to the same physical device and if they all correspond to
the first beeing enumerated by Direct Sound and Direct Input? Of
course, I plan some testing to find out.. but my fear is that I would
be lucky and everything will work in a certain logic, but in some
circonstance it won't!