Это то, что я придумал до сих пор, и это работает для нас.
Используя WMI, вы можете получить DeviceID из Win32_SoundDevice. Затем, используя это, вы можете получить доступ к реестру в HKLM \ SYSTEM \ CurrentControlSet \ ENUM \ 'DeviceID' и получить строковое значение с именем «Driver». Это значение содержит ClassGUID плюс число в конце.
Пример: {4d36e96c-e325-11ce-bfc1-08002be10318} \ 0015
Если вы удалите это последнее число * (15) * для всех звуковых устройств и закажете их, это порядок, в котором устройства перечислены в NAudio с использованием winmm.dll. Существует также место для этих звуковых устройств, либо в реестре с тем же ключом, либо из Win32_PNPEntity с использованием DeviceID.
В нашем случае местоположение позволяет нам определить, к какому порту USB-концентратора подключено звуковое устройство.