Error Values

typedef enum {
    ERR_DI_INVALID_DEVICE_ID,
    ERR_DI_INVALID_COMPATIBLE_DEVICE_LIST,
    ERR_DI_REG_API,
    ERR_DI_LOW_MEM,
    ERR_DI_BAD_DEV_INFO,
    ERR_DI_INVALID_CLASS_INSTALLER,
    ERR_DI_DO_DEFAULT,
    ERR_DI_USER_CANCEL,
    ERR_DI_NOFILECOPY,
    ERR_DI_BAD_CLASS_INFO,
    ERR_DI_BAD_INF,
    ERR_DI_BAD_MOVEDEV_PARAMS,
    ERR_DI_NO_INF,
    ERR_DI_BAD_PROPCHANGE_PARAMS,
    ERR_DI_BAD_SELECTDEVICE_PARAMS,
    ERR_DI_BAD_REMOVEDEVICE_PARAMS,
    ERR_DI_BAD_ENABLECLASS_PARAMS,
    ERR_DI_FAIL_QUERY,
    ERR_DI_API_ERROR,
    ERR_DI_BAD_PATH
} _ERR_DEVICE_INSTALL;
 
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