| ERR_DI_INVALID_DEVICE_ID | Incorrectly formed device ID. | 
| ERR_DI_INVALID_COMPATIBLE_DEVICE_LIST | Invalid compatible device list. | 
| ERR_DI_REG_API | Error returned by one of the registry API. | 
| ERR_DI_LOW_MEM | Insufficient memory to complete. | 
| ERR_DI_BAD_DEV_INFO | A passed in DEVICE_INFO struct is invalid. | 
| ERR_DI_INVALID_CLASS_INSTALLER | The class installer is listed incorrecrly in the registry, or points to an invalid class installer. | 
| ERR_DI_DO_DEFAULT | Do the default action for the requested operation. | 
| ERR_DI_USER_CANCEL | The user cancelled the operation. | 
| ERR_DI_NOFILECOPY | No need to copy files (in install). | 
| ERR_DI_BAD_CLASS_INFO | A passed in CLASS_INFO struct is invalid. | 
| ERR_DI_BAD_INF | An invalid INF file was encountered. | 
| ERR_DI_BAD_MOVEDEV_PARAMS | A passed in MOVEDEVICE_PARAMS struct was invalid. | 
| ERR_DI_NO_INF | No INF found on supplied OEM path. | 
| ERR_DI_BAD_PROPCHANGE_PARAMS | A passed in PROPCHANGE_PARMS struct was invalid. | 
| ERR_DI_BAD_SELECTDEVICE_PARAMS | A passed in SELECTEDEVICE_PARAMS struct was invalid. | 
| ERR_DI_BAD_REMOVEDEVICE_PARAMS | A passed in REMOVEDEVICE_PARAMS struct was invalid. | 
| ERR_DI_BAD_ENABLECLASS_PARAMS | A passed in ENABLECLASS_PARAMS struct was invalid. | 
| ERR_DI_FAIL_QUERY | The queried action should not take place. | 
| ERR_DI_API_ERROR | One of the Device installation APIs was called incorrectly or with invalid parameters. | 
| ERR_DI_BAD_PATH | An OEM path was specified incorrectly |