Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Проблема с AddDevice  (Прочитано 7918 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Anonymous
Гость
« : 26-01-2004 05:43 » 

Вызывается три раза, при установленых двух картах...  
Всегда, если использовать EzDriverInstaller из поставки DriverSuite 3.0 и в ~80% если ставить из диспетчера устройств. Естественно сразу виснет. С одной картой все нормально. При загрузке системы тоже все _обычно_ нормально. Но может и глукануть и это большая проблема.
Из-за чего такое может быть? Куда хотя бы копать?
Записан
SlavaI
Главный специалист

ru
Offline Offline

« Ответ #1 : 26-01-2004 07:47 » 

Начать с того, что узнать- а сколько разных PDO создал драйвер шины. Узнать это легко- посмотри на значения адресов, передаваемых в AddDevice, для PDO, если они все разные, то драйвер шины создал три разных PDO, вот тогда и начнем думать. Если два из них одинаковые, то это другой вариант. Также можно использовать DeviceTree от OSR, только исключи свой драйвер из системы, и глянь, сколько PDO для твоих карт сделано.
Записан
Anonymous
Гость
« Ответ #2 : 26-01-2004 10:14 » 

Все разные, причем только что создала аж 4, при загрузке. Т.е. создала два, загрузила еще несколько драйверов и по новой еще два.
Записан
SlavaI
Главный специалист

ru
Offline Offline

« Ответ #3 : 26-01-2004 12:04 » 

Цитата

Все разные, причем только что создала аж 4, при загрузке. Т.е. создала два, загрузила еще несколько драйверов и по новой еще два.


А что твой AddDevice возвращает? Точно STATUS_SUCCESS? Но похоже проблема не в твоем драйвере, если и без твоего драйвера, число PDO для плат больше двух- надо понять как они о себе сообщают системе. Посмотреть PDO можно в утилите DeviceTree и найти их по PID/VID. Также в менеджере устройств должно появится более двух устройств со знаком вопроса.
Также интересно поопрашивать эти PDO на предмет PID/VID и ресурсов им предоставленных из драйвера.
И еще вопрос- у тебя не Win98/Me они в основном такой фигней страдают, как плодение PDO.
Записан
Anonymous
Гость
« Ответ #4 : 27-01-2004 08:37 » 

SlavaI,
Да, STATUS_SUCCESS.
Рад бы я все свалить на систему, Улыбаюсь но без драйвера все ок, всегда два неопознаных устройства. И DeviceTree использовал, и лишних устройств не появляется. А вот с драйвером лишние иногда находятся.  :oops:
Система XP. Что странно, с одной картой таких проблем не было.
Записан
SlavaI
Главный специалист

ru
Offline Offline

« Ответ #5 : 27-01-2004 14:54 » 

Тогда проверяй насколько правильно ты обрабатываешь IRP_MN_... коды, например IRP_MN_START, почитай о последовательности засылки кодов на FDO, проверь что ты их отрабатываешь- читай в DDK главу Device Objects and Device Stacks. Скорее всего ты не обрабатываешь один из IRP_MN_.. кодов.
Записан
SlavaI
Главный специалист

ru
Offline Offline

« Ответ #6 : 28-01-2004 07:19 » 

Еще вот это главку в DDK почитай - Adding a PnP Device to a Running System.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines