Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
После того как диспетчер PnP обеспечил загрузку всех недавно подключенных драйверов устройства, он отправляет список требований к оборудованию устройства в стек драйверов устройства.
По мере прохода списка по стеку, фреймворк вызывает каждую функцию и функцию обратного вызова драйвера фильтра EvtDeviceFilterRemoveResourceRequirements, передавая список требований к оборудованию в качестве входного аргумента. Эта функция обратного вызова может удалить аппаратные ресурсы из списка требований к оборудованию, указанного драйвером шины, которые функциональный драйвер определяет как ненужные для работы устройства.
Например, драйвер шины PCI может в соответствии со спецификацией PCI реплицировать ресурс пространства ввода-вывода в пространстве памяти. Если устройство может работать без использования ресурса пространства ввода-вывода, драйвер функции устройства может удалить ресурс пространства ввода-вывода из списка требований к оборудованию.
Чтобы удалить элементы из списка требований, драйвер может выполнить следующие действия:
- Вызовите следующие методы, чтобы изменить логические конфигурации в списке требований к ресурсам:
- WdfIoResourceRequirementsListGetCount, чтобы определить количество логических конфигураций.
- WdfIoResourceRequirementsListGetIoResListдля получения доступа к логической конфигурации.
- WdfIoResourceRequirementsListRemove и WdfIoResourceRequirementsListRemoveByIoResList, чтобы удалить логическую конфигурацию.
- Вызовите следующие методы, чтобы изменить дескрипторы ресурсов в логической конфигурации:
- WdfIoResourceListGetCount, чтобы получить количество дескрипторов ресурсов.
- WdfIoResourceListGetDescriptor, чтобы получить доступ к дескриптору ресурса.
- WdfIoResourceListRemove и WdfIoResourceListRemoveByDescriptor, чтобы удалить дескриптор ресурса.
По мере того как список перемещается в стек драйверов, платформа вызывает каждую функцию и фильтр драйвера EvtDeviceFilterAddRequirements функцию обратного вызова, передавая список требований к оборудованию в качестве входного аргумента. Эта функция обратного вызова может добавить дополнительные аппаратные ресурсы, необходимые драйверу-функции для работы устройства.
Чтобы добавить элементы в список требований к оборудованию, драйвер может выполнить следующие действия:
- Вызовите следующие методы, чтобы изменить логические конфигурации в списке требований к ресурсам:
- WdfIoResourceRequirementsListGetCount, чтобы получить количество логических конфигураций.
- WdfIoResourceRequirementsListGetIoResListдля получения доступа к логической конфигурации.
- WdfIoResourceListCreateдля создания новой логической конфигурации.
- WdfIoResourceRequirementsListAppendIoResList или WdfIoResourceRequirementsListInsertIoResList, чтобы добавить новую логическую конфигурацию.
- Вызовите следующие методы, чтобы изменить дескрипторы ресурсов в логической конфигурации:
- WdfIoResourceListGetCount, чтобы получить количество дескрипторов ресурсов.
- WdfIoResourceListGetDescriptor, чтобы получить доступ к дескриптору ресурса.
- WdfIoResourceListAppendDescriptor или WdfIoResourceListInsertDescriptor, чтобы добавить дескриптор ресурса.