Initiating System Restarts During Device Installations
In the rare cases in which it is necessary for the system to be restarted to complete a device installation, use the following rules:
During initial installations, a device's installer or co-installer can request a system restart by setting DI_NEEDRESTART in the SP_DEVINSTALL_PARAMS structure, which is received along with device installation function codes. (This should not be done unless absolutely necessary.)
During update installations, a device's installation application can call UpdateDriverForPlugAndPlayDevices, which determines whether a system restart is necessary.