Цитата
Другой вариант - передавать эту информацию через строковые дескрипторы. Ими можно обмениваться через IOCTL запросы к хабу, к которому подключено устройство. У меня есть пример программы, которая проводит опрос шины и вычитывает все стандартные дескрипторы. При этом она работает только через стандартное виндовое API и, естественно ничего не знает о тех устройствах и их драйверах, которые сейчас висят на шине
Вот именно к этому варианту я больше и склоняюсь. От примера не отказался бы.
Сканирование устройств можно делать через функции SetupDiXXX по известному GUID устройства (его я знаю), их можно открывать функциями CreateFile(), значит можно использовать DeviceIoControl() и запихивать в буфер scsi-запрос.
Вопрос: какой IOCTL code нужно указывать? В исходнике программы diskid32.exe
diskid32 при сканировании шины использовался код IOCTL_SCSI_MINIPORT. Может ч/з него? Пока проверить не могу. И вообще будет ли работать такая схема если кто-то уже делал.