Процесс обычно называется предустановка . (Обычный процесс установки запускается по прибытии аппаратного устройства.)
Соответствующие функции можно найти в <DIFxAPI.h>
из DDK. Вы, вероятно, хотите позвонить DriverPackageInstall()
. Ожидаемое возвращаемое значение - ERROR_NO_SUCH_DEVINST
[sic], поскольку такого устройства еще не будет.
Есть некоторая 64-битная забава: вы не можете установить 64-битный драйвер из приложения Win32 (по крайней мере, в XP / Vista / Windows7 / 2003/2008). Следовательно, ваш установщик Win32 должен проверить, возвращает ли DriverPackageInstall()
ERROR_IN_WOW64
, а затем вызвать CreateProcess
, чтобы запустить ваш 64-битный установщик.