Правильный способ обработки USB-запроса передачи ISO в WDF - PullRequest
0 голосов
/ 16 апреля 2020

Я сейчас пытаюсь создать драйвер wdf для устройства USB. По ссылке ниже я узнал, что для устройства USB с полной скоростью: https://docs.microsoft.com/en-us/windows-hardware/drivers/usbcon/transfer-data-to-isochronous-endpoints

хост-контроллер инициирует изохронную передачу, которая отправляет или получает данные, опрашивая устройство через регулярные интервалы.

Для высокоскоростных и полноскоростных устройств опрос выполняется с использованием (IN / OUT) пакетов токенов. Когда конечная точка готова к отправке данных, устройство отвечает на один из пакетов токена IN, отправляя данные. Для записи на устройство хост-контроллер отправляет пакет маркера OUT, за которым следуют пакеты данных. Для полной скорости интервал шины является кадром. Длина кадра составляет 1 миллисекунду

Мои сомнения

  1. Контроллер хоста будет отправлять 1 запрос каждую миллисекунду? Кажется, неверно, исходя из реальных данных от USBlyzer с реальным устройством веб-камеры
  2. Если нет, как я могу контролировать интервал каждого запроса?
  3. Как отформатировать запрос URB, если нет данных для отправки?
...