Когда драйвер установлен, он помещается в хранилище драйверов (см. http://msdn.microsoft.com/en-us/library/ff544868%28v=vs.85%29.aspx)
Когда обнаруживается новое устройство, которое не имеет текущей ассоциации драйверов, диспетчер PNP просматривает хранилище драйверов, чтобы увидеть, будет ли какой-либо из сохраненных драйверов соответствовать новому устройству.
Если менеджер PNP найдет драйвер, соответствующий устройству, он выполнит директивы в файле драйверов. Обычно это создает служебную запись в реестре ( HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services ), копирует двоичные файлы драйверов куда-то вроде \ Windows \ System32 \ drivers и т. Д. Также диспетчер PNP создаст ассоциацию этого устройства с этим драйвером ( HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Enum Я думаю), чтобы в следующий раз он мог ускорить процесс.
Я не думаю, что какие-либо структуры данных ядра изменяются при установке драйвера. Вы хотите спросить, когда загружен драйвер?