What is 0xC00002D2

 
Previous Next
STATUS_SYSTEM_IMAGE_BAD_SIGNATURE STATUS_POWER_STATE_INVALID

STATUS_PNP_REBOOT_REQUIRED

Windows returns STATUS_PNP_REBOOT_REQUIRED error if all the necessary drivers for the device have been successfully installed, but the attempt to load them for the device immediately, for some reason, failed. There can be many reasons for such a situation. For example, this is possible if the driver installed and loaded before the update could not be unloaded. The reason may also be a problem with the allocation of a range of memory addresses to work with the device. It is possible that the error text sounds too optimistic and after a reboot the driver will not be loaded either. But in the last case, a different error code will already be issued.

Avoiding System Restarts during Device Installations and Driver Updates

To avoid system restarts during device installations, use the following rules:

  • Never use Reboot or Restart entries in INF DDInstall sections. These directives were originally provided for compatibility with Windows 9x/Me and should not be used for Windows 2000 and later versions of Windows.
  • Do not use COPYFLG_FORCE_FILE_IN_USE, or COPYFLG_REPLACE_BOOT_FILE flags with INF CopyFiles directives, unless absolutely necessary.
  • Assign a new file name to each new version of a class installer or co-installer, or a service DLL. This avoids the need for a system restart if an older version is in use. (In fact, if a new file name is not used for an updated class installer or class co-installer, these new files will not be used for the installation.)
  • To update a device's drivers, follow the rules that are listed under Updating Driver Files.

Minimizing restarts when updating file-backed drivers

Prior to Windows 10, all kernel-mode drivers were backed by the system's paging file. As a result, a driver binary could be overwritten on disk even while the driver was running.

To improve performance, starting with Windows 10, most non-boot-start drivers are instead backed by the driver binary on disk.

Driver start types that are now file-backed include:

  • SERVICE_SYSTEM_START (0x00000001)
  • SERVICE_AUTO_START (0x00000002)
  • SERVICE_DEMAND_START (0x00000003)

Boot start drivers continue to be backed by the paging file.

To update a file-backed driver, use the following best practices. Otherwise, the update might require two restarts, one to replace the file and a second to load the new version of the driver.