Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
На следующем рисунке показан порядок, в котором фреймворк вызывает функции обратного вызова событий драйвера шины KMDF при отключении питания и удалении устройства, подключенного к шине. Последовательность начинается в верхней части рисунка с операционным устройством, которое находится в рабочем состоянии питания (D0):
Платформа не удаляет PDO, пока устройство физически не удаляется из системы. Например, если пользователь отключает устройство в диспетчере устройств или останавливает его в служебной программе безопасного удаления оборудования, но физически не удаляет устройство, платформа сохраняет PDO. Если устройство позже будет повторно включено, платформа использует тот же PDO и начинает последовательность запуска, вызвав функцию обратного вызова EvtDevicePrepareHardware, как показано в последовательности Power-Up для объекта физического устройства.
Примечание. Как правило, платформа вызывает функцию обратного вызова EvtDeviceReleaseHardware после вызова функции EvtDeviceReleaseHardware для всех дочерних устройств, перечисляемых драйвером. В случае, если родитель сталкивается с ошибкой при включении или выключении питания устройства, структура может вызвать драйвера EvtDeviceReleaseHardware, прежде чем вызовет функции EvtDeviceReleaseHardware для всех дочерних устройств. Рассмотрите возможность вызова WdfDeviceInitSetReleaseHardwareOrderOnFailure, чтобы обеспечить, что фреймворк вызывает обратный вызов EvtDeviceReleaseHardware драйвера шины только после удаления всех дочерних устройств.