последовательность Power-Up для драйвера функции или фильтра
На следующем рисунке показан порядок, в котором фреймворк вызывает функции WDF (KMDF и UMDF V2) или функции обратного вызова событий драйвера фильтра при переводе устройства в полностью рабочее состояние, начиная с состояния, когда устройство вставлено в нижней части рисунка.
Широкие горизонтальные линии помечают шаги, участвующие в запуске устройства. Столбец в левой части рисунка описывает шаг, а столбец справа выводит список обратных вызовов событий, которые выполняют его.
В нижней части рисунка устройство отсутствует в системе. Когда пользователь вставляет устройство, платформа начинает с вызова обратного вызова EvtDriverDeviceAdd драйвера, чтобы драйвер смог создать объект устройства для представления устройства. Структура продолжает вызывать обратные вызовы драйвера, последовательно продвигаясь, пока устройство не станет работоспособным. Помните, что платформа вызывает обратные вызовы событий в порядке снизу вверх, как показано на рисунке, поэтому EvtDeviceFilterRemoveResourceRequirements вызывается до EvtDeviceFilterAddResourceRequirements и т. д. Если устройство было остановлено для перераспределения ресурсов или физически присутствовало, но находилось в режиме пониженного энергопотребления, как показывает рисунок, не все шаги необходимы.