Диспетчер Plug and Play
Диспетчер Plug and Play (PnP) обеспечивает поддержку функций PnP в Windows и отвечает за следующие задачи, связанные с PnP:
Обнаружение и перечисление устройств во время загрузки системы
Обработка добавления или удаления устройств во время работы системы
Установка новых устройств с помощью соответствующего пакета драйверов
Диспетчер PnP в режиме ядра поддерживает дерево устройств , которое отслеживает устройства в системе. Дерево устройств содержит сведения об устройствах, присутствующих в системе. При запуске компьютера диспетчер PnP создает это дерево, используя сведения из драйверов и других компонентов, и обновляет дерево по мере добавления или удаления устройств.
Когда водитель автобуса обнаруживает прибытие или удаление дочернего устройства, он сообщает об этом диспетчеру PnP в режиме ядра. Если сообщается о поступлении устройства и это новое устройство, диспетчер PnP в режиме ядра либо напрямую установит пакет драйверов на этом устройстве, либо уведомит диспетчер PnP в пользовательском режиме о том, что в системе присутствует новое устройство и должно быть установлено.
При обработке устройств, установленных с пакетом драйверов, диспетчер PnP в режиме ядра также вызывает подпрограммы DriverEntry и AddDevice драйверов в стеке устройств устройства и отправляет IRP_MN_START_DEVICE запрос на запуск устройства.