Цитата(pulsar-17 @ Sep 2 2005, 16:28)
при чтении из конечной точки, в которой выключена передача происходит зависание драйвера (?). Сам ендпоинт работает и адресуется. Насколько я понимаю, ендпоинт должен посылать NAK и драйвер после нескольких попыток должен(?) прекратить опрос ендпоинта, чего похоже не происходит и драйвер на этом циклится.
Драйвер переделан из примера взятого из DDKXP build 2600.
Посоветуйте плз как это обойти на уровне драйвера, железо трогать нельзя.
Это не зависание, так положено. Используйте асинхронные запросы чтения/записи или контрольные с небесконечным временем ожидания, а по истечении времени ожидания делайте CancelIrp. DDK не лучший пример подражания, особенно если используется BuildPartialMdl и отмена запроса. В книжке Oney гораздо лучше всё описано и сделано.