[an error occurred while processing this directive]
|
Под виндовс-98 ничего не скажу, а вот под 2000/XP это происходит так. Драйвер Вашей карточки получает IRP_MJ_PNP/IRP_MN_QUERY_RESOURCE_REQUIREMENTS, на него Вы отдаете список устраивающих Вас конфигураций. Затем pnp-манагер смотрит, возможно ли это, выбирает из них возможные, и говорит драйверу IRP_MJ_PNP/IRP_MN_FILTER_RESOURCE_REQUIREMENTS. Обрабатывая этот запрос, Вы отдаете в ядро наиболее приоритетный с Вашей точки зрения вариант расположения девайса в адресном пространстве. Винда прописывает в ресурсы именно его. Вам остается лишь прописать в BAR'ы Вашего устройства данную конфигурацию. Если планируется применение не самодельного драйвера, а какого-то стандартного (например как в SM510PCI это драйвер mf.sys из винды), то надо написать к нему "прослойку" - драйвер-фильтр нижнего уровня, который бы выполнял вышеуказанные функции. В виндовс-98 думаю это делается как-то аналогично (WDM все-таки). А что почитать - хелп из Microsoft windows DDK.
P.S. Некоторые материнки не дають туды садиться! Так что осторожно!
E-mail: info@telesys.ru