Здравствуйте, 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 уважением,
Геннадий Майко.