DEVICE_INSTALL_STATE

Hi! The driver I need to maintain performs the final steps after querying IoGetDeviceProperty() for DEVICE_INSTALL_STATE, which is one of the values (“ntddk.h”):
typedef enum _DEVICE_INSTALL_STATE {
InstallStateInstalled,
InstallStateNeedsReinstall,
InstallStateFailedInstall,
InstallStateFinishInstall
} DEVICE_INSTALL_STATE, *PDEVICE_INSTALL_STATE;

The driver will go ahead with final steps only when the value is InstallStateInstalled. Occasionally I have been seeing the value InstallStateFinishInstall, even though setupapi.log has logged the device is installed successfully and everything looks right.

Does anyone know the difference between the states InstallStateInstalled and InstallStateFinishInstall?

Can anyone help? I have received no reponse so far. Thanks. Jason