когда драйвер шины обнаруживает и сообщает PDO устройство PnP-менеджер устройства отправляет несколько IRP_MJ_PNP
на PDO устройство.включая IRP_MN_QUERY_ID
для получения Идентификационные строки устройства
, затем отформатированный путь к ключу реестра в форме
\REGISTRY\MACHINE\SYSTEM\CurrentControlSet\Enum\<BusQueryDeviceID>\<BusQueryInstanceID>
впоместите строку <BusQueryDeviceID>
, возвращаемую устройством для BusQueryDeviceID
, а строку <BusQueryInstanceID>
, возвращенную устройством для BusQueryInstanceID
(Parameters.QueryId.IdType
)
, этот ключ открыт или создан.тогда был запрос для BusQueryHardwareIDs
и BusQueryCompatibleIDs
.результат этого запроса сохраняется в значениях HardwareID
и CompatibleIDs
REG_MULTI_SZ
.
, а затем PnP-менеджер ищет значение Service
REG_SZ
под этим ключом - если он уже существует - драйвер (\REGISTRY\MACHINE\SYSTEM\CurrentControlSet\Services\<Service>
) загружен и он AddDevice
вызывается с этим PDO .если это значение еще не установлено - был произведен поиск по установленным файлам inf в системе - для лучшего соответствия HardwareID
и CompatibleIDs
.если найден драйвер - результат сохраняется под значением Service
REG_SZ
, в следующий раз нет поиска