Последовательность Power-Up для драйвера функции или фильтра

На следующем рисунке показан порядок, в котором платформа вызывает функцию WDF (KMDF и UMDF V2) или функции обратного вызова событий драйвера фильтра при переводе устройства в полностью рабочее состояние, начиная с состояния Device Inserted в нижней части рисунка:

Блок-схема, показывающая перечисление устройства и последовательность включения для функции или драйвера фильтра WDF.

Широкие горизонтальные линии обозначают шаги, связанные с запуском устройства. В столбце в левой части рисунка описывается шаг, а в столбце справа перечислены обратные вызовы событий, которые его выполняют.

В нижней части рисунка устройство отсутствует в системе. Когда пользователь вставляет устройство, платформа начинается с вызова обратного вызова EvtDriverDeviceAdd драйвера, чтобы драйвер смог создать объект устройства для представления устройства. Платформа продолжает вызывать подпрограммы обратного вызова драйвера, продвигаясь по последовательности до тех пор, пока устройство не будет работать. Помните, что платформа вызывает обратные вызовы событий в порядке снизу вверх, как показано на рисунке, поэтому EvtDeviceFilterRemoveResourceRequirements вызывается перед EvtDeviceFilterAddResourceRequirements и т. д. Если устройство было остановлено для повторной балансировки ресурсов или физически присутствовало, но в состоянии с низким энергопотреблением, не все действия требуются, как показано на рисунке.