anatolich
Гость
|
|
« : 26-12-2006 07:52 » |
|
Написал драйвер sys для своей PCI платы. Работает отлично. Спасибо форумчанам. Теперь если приложение не запускаю - комп нормально выключается Если дернул драйвер, то при выключении компа диски гасятся, видео - все кроме PCI шины. Толи я какой- то IRP системный не обрабатываю? Подскажите...
|
|
|
Записан
|
|
|
|
Ochkarik
|
|
« Ответ #1 : 26-12-2006 13:39 » |
|
IRP_MJ_POWER глянь внимательно... и IRP_MN_QUERY_STOP_DEVICE/IRP_MN_STOP_DEVICE вроде бы... и IRP_MN_QUERY_CAPABILITIES мейби... кстати что значит "кроме шины"? на ней питалово остается? так... оно помоему и должно некоторое... если не путаю... иначе как модемы могут комп по сигнлу будить?)) и еще... если все так как вы пишете - посмотрите что при открытии драйвера делаете... может ресурсы какие не освободили? хотя если честно - больше похоже на баги)
|
|
« Последнее редактирование: 26-12-2006 13:43 от Ochkarik »
|
Записан
|
RTFM уже хоть раз наконец! :[ ну или хотя бы STFW...
|
|
|
anatolich
Гость
|
|
« Ответ #2 : 26-12-2006 14:51 » |
|
Рад вновь встретить вас на форуме С наступающим!!! Не придумаю как технологичней трассировать. Все случается когда уже ХР сохраняет параметры при выключении и в этот момент повисает. В приложении все работает нормально, даже с 6-ю платами При освобождении хэндлов, в дебагере вижу, что все clear u close выполнились. А что делается в моем PowerDispatch или ShutdownDispatch не вижу конечно. Может повыкидывать все это...
|
|
|
Записан
|
|
|
|
Ochkarik
|
|
« Ответ #3 : 26-12-2006 15:30 » |
|
эээ... одна возможная бага... прерывания использовали? может непогашено/незамаскировано осталось?) PowerDispatch я брал от нумеги и помоему ничего там не исправлял...
для отладки попробуйте не выключать комп а принудительно удалить драйвер из дерева устройств - какая реакция? ну и старт-стоп там же в дереве.
|
|
« Последнее редактирование: 26-12-2006 15:31 от Ochkarik »
|
Записан
|
RTFM уже хоть раз наконец! :[ ну или хотя бы STFW...
|
|
|
anatolich
Гость
|
|
« Ответ #4 : 22-01-2007 08:59 » |
|
Здравствуйте Ochkarik, по вашему совету поиграл с птичками в Compuware DriverStudio. Так как наше железо не поддерживает управление по питанию, то поубирал некоторые переключатели в Compuware DriverStudio. Хоть и не осталось ясного понимания, зато работает. Спасибо
|
|
|
Записан
|
|
|
|
Ochkarik
|
|
« Ответ #5 : 22-01-2007 12:32 » |
|
тогда скорее всего это были флаги в AddDevice: DeviceObject->Flags |= DO_POWER_PAGABLE; (или DO_POWER_INRUSH.) у меня первый стоит. в DDK про них написано.
|
|
|
Записан
|
RTFM уже хоть раз наконец! :[ ну или хотя бы STFW...
|
|
|
|