[an error occurred while processing this directive]
|
Т. е. нужно просто сесть, и переписать весь код. Я по мере разбирания так и делал - все переписывал. Или почти все - AddDevice и Unload не трогал. Так что предложение об объединении усилий уже не слишком актуально. :)
Кстати, приведенный Вами комментарий, насколько я помню по памяти (лень в старый исходник лезть), относится к невозможности аллокировать память? Так в этом случае сам комментарий левый :) Ну незачем пробовать еще раз, если мало памяти...
Еще одно впечатление, которое у меня сложилось - что драйвер нужно затачивать под _конкретную_ задачу. В зависимости от того, сколько каких USB каналов и какие к ним предьявляются требования? Какие IOCTL нужны? При каких условиях нужно будить систему? И что нужно делать с железякой, когда система переходит в suspend? От необходимости ответить на эти вопросы никакой универсальный драйвер не спасет. Точнее, универсальный драйвер может только помочь перенести эти вопросы из WDM драйвера в приложение.
Вообще, писать универсальный драйвер (в отличие от пользования им, если драйвер хороший) - геморройная задача.
Сообщения может показывыать Kernel Debugger. Или WinDbg - свободно доступен с сайта Microsoft. Только для этого нужно гонять отлаживаемый драйвер на второй машине, соединенной c основным компом через RS.
E-mail: info@telesys.ru