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


Изменение списка требований к ресурсам

После того как диспетчер PnP обеспечил загрузку всех недавно подключенных драйверов устройства, он отправляет список требований к оборудованию устройства в стек драйверов устройства.

По мере прохода списка по стеку, фреймворк вызывает каждую функцию и функцию обратного вызова драйвера фильтра EvtDeviceFilterRemoveResourceRequirements, передавая список требований к оборудованию в качестве входного аргумента. Эта функция обратного вызова может удалить аппаратные ресурсы из списка требований к оборудованию, указанного драйвером шины, которые функциональный драйвер определяет как ненужные для работы устройства.

Например, драйвер шины PCI может в соответствии со спецификацией PCI реплицировать ресурс пространства ввода-вывода в пространстве памяти. Если устройство может работать без использования ресурса пространства ввода-вывода, драйвер функции устройства может удалить ресурс пространства ввода-вывода из списка требований к оборудованию.

Чтобы удалить элементы из списка требований, драйвер может выполнить следующие действия:

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

Чтобы добавить элементы в список требований к оборудованию, драйвер может выполнить следующие действия: