Re: Как драйверу застолбить за собой ресурс
От: Геннадий Майко США  
Дата: 11.11.10 13:43
Оценка: 1 (1)
Здравствуйте, Alexius-R,

AR>"Есть SMbus контроллер в составе AMD CS5536 устройства (PCI\VEN_1022&DEV_2090)

AR>Хочется получить в драйвере базовый адрес для SMBus, чтобы потом управлять этим устройством."

AR>Базовый адрес получил по методу подсказанному Геннадием Майко в предыдущей теме при помощи "старых добрых функций HalGetBusData и HalGetBusDataByOffset".

AR>Драйвер в итоге работает, однако как и упоминалось в предыдущей, теме ресурсов никаких не занимает, а хотелось бы, чтобы в диспетчере устройств честно было указано,
AR>что драйвер занимает с такого-то по такой-то адреса ввода/вывода.
--
Так может быть все таки реализовать настояший client driver для SMB, как уже советовали здесь
Автор: Alexius-R
Дата: 25.10.10
? Когда я предлагал воспользоваться этими Hal* функциями, я и не подозревал, что такие драйвера существуют

А Вы не проверяли, есть ли в системе GUID_SMB Interface (см. здесь)?


AR>Что пытаюсь делать:

AR>Уолтер Они в своей замечательной книжке (Глава 6 в под параграфе "Фильтрация требований к ресурсам" )показывает как добавить в запросе свой ресурс К СПИСКУ УЖЕ ИМЕЮЩИХСЯ в обработке IRP_MN_FILTER_RESOURCE_REQUIREMENTS.
AR>Однако когда я взял его код, кое-что подкрутил и пытаюсь добавить вместо пришедшего нуля свой список получаю STATUS_NOT_SUPPORTED.

AR>Хотелось бы знать во-первых оценку, можно ли так делать, и если так делать можно, то в чем может быть ошибка?

--
Если список ресурсов, которые получает device, пустой (это IMHO естественно, потому что bus-driver для Вашего драйвера ничего о Ваших намерениях забрать эти ресурсы себе не знает; и эти ресурсы уже принадлежат, скорее всего, PCI bus driver'у), то все Forced, Override, Basic и Boot configurations пустые для Вашего драйвера.

Можно попробовать задать Override configuration (см. здесь) через секцию DDInstall.LogConfigOverride в *.inf файле Вашего драйвера. Но честно говоря, сомневаюсь, что Вам это удасться.

C уважением,
Геннадий Майко.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.