Перейти к содержанию
    

зависание usb драйвера под WindowsXP SP2

при чтении из конечной точки, в которой выключена передача происходит зависание драйвера (?). Сам ендпоинт работает и адресуется. Насколько я понимаю, ендпоинт должен посылать NAK и драйвер после нескольких попыток должен(?) прекратить опрос ендпоинта, чего похоже не происходит и драйвер на этом циклится.

Драйвер переделан из примера взятого из DDKXP build 2600.

 

Посоветуйте плз как это обойти на уровне драйвера, железо трогать нельзя.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

при чтении из конечной точки, в которой выключена передача происходит зависание драйвера (?). Сам ендпоинт работает и адресуется. Насколько я понимаю, ендпоинт должен посылать NAK и драйвер после нескольких попыток должен(?) прекратить опрос ендпоинта, чего похоже не происходит и драйвер на этом циклится.

Драйвер переделан из примера взятого из DDKXP build 2600.

 

Посоветуйте плз как это обойти на уровне драйвера, железо трогать нельзя.

 

Это не зависание, так положено. Используйте асинхронные запросы чтения/записи или контрольные с небесконечным временем ожидания, а по истечении времени ожидания делайте CancelIrp. DDK не лучший пример подражания, особенно если используется BuildPartialMdl и отмена запроса. В книжке Oney гораздо лучше всё описано и сделано.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...