Поделиться через


Получение сведений о конфигурации из других стеков драйверов

Иногда необходимо получить сведения из пространства конфигурации устройства, драйвер которого находится в стеке, отличном от того, на который находится драйвер. Например, предположим, что вы хотите задать немного в пространстве конфигурации моста PCI-PCI и у вас нет указателя на PDO моста. Хотя операционная система перечисляет мосты PCI-PCI и создает PDO для каждого моста в системе, она не регистрирует интерфейсы устройств для этих устройств. Поэтому нельзя использовать механизм интерфейса устройства для доступа к пространству конфигурации этих мостов. Дополнительные сведения об интерфейсах устройств см. в статье Общие сведения об интерфейсах устройств.

Одним из способов доступа драйвера к оборудованию, принадлежащему к другим стекам драйверов, является написание драйвера фильтра. Например, для доступа к оборудованию моста можно разработать драйвер фильтра, который реализует необходимые операции в пространстве конфигурации моста. Необходимо также предоставить INF-файл, указывающий возможные идентификаторы оборудования моста, чтобы диспетчер PnP смог загрузить драйвер фильтра в стек драйверов моста при обнаружении идентификатора устройства моста.

Кроме того, можно установить фильтр программным способом с помощью функций SetupDiXxx в совместном установщике устройства.

Затем драйвер фильтра может получить доступ к мосту с помощью интерфейса BUS_INTERFACE_STANDARD .