В общем, проблема в чем. Необходимо сформировать транзакцию на шине USB, с произвольным адресом устройства и конечной точки (независимо от того, есть ли действительно на шине устройство с данным адресом и конечной точкой). Не спрашивайте меня, зачем именно это нужно (это уже вопрос не ко мне). Задача в общем-то легко реализуется прямой работой с портами контроллера (что временно и сделано сейчас), но понятно, что это на самом деле очень плохо и не по-пацански, т.к. желательно, чтобы все это работало без отрубания системных драйверов / без конфликтов с работающими системными драйверами. В общем, пока что вижу следующие варианты: 1. Собираюсь попробовать IOCTL_USB_USER_REQUEST c USBUSER_OP_SEND_ONE_PACKET. Настораживает, что вроде как будто бы оно описано в хелпе к WDK, и даже вроде бы понятно, как это использовать, но гугл вообще не находит ни единого примера кода. Ну и с точки зрения производительности вариант, наверное, не из лучших (хотя не узнавал еще у вышестоящих лиц, нужна ли в данном случае макс. производительность, вероятнее всего, что нет). 2. Написать свой драйвер контроллера с добавлением нужной функциональности. Хороший, годный, но не слишком приемлемый вариант, т.к. придется на это убить достаточно много времени. Больше вариантов нет, или я что-то пропустил?