def nvmlDeviceGetInforomImageVersion(handle):
    r"""
    /**
     * Retrieves the global infoROM image version
     *
     * For all products with an inforom.
     *
     * Image version just like VBIOS version uniquely describes the exact version of the infoROM flashed on the board
     * in contrast to infoROM object version which is only an indicator of supported features.
     * Version string will not exceed 16 characters in length (including the NULL terminator).
     * See \ref nvmlConstants::NVML_DEVICE_INFOROM_VERSION_BUFFER_SIZE.
     *
     * @param device                               The identifier of the target device
     * @param version                              Reference in which to return the infoROM image version
     * @param length                               The maximum allowed length of the string returned in \a version
     *
     * @return
     *         - \ref NVML_SUCCESS                 if \a version has been set
     *         - \ref NVML_ERROR_UNINITIALIZED     if the library has not been successfully initialized
     *         - \ref NVML_ERROR_INVALID_ARGUMENT  if \a version is NULL
     *         - \ref NVML_ERROR_INSUFFICIENT_SIZE if \a length is too small
     *         - \ref NVML_ERROR_NOT_SUPPORTED     if the device does not have an infoROM
     *         - \ref NVML_ERROR_GPU_IS_LOST       if the target GPU has fallen off the bus or is otherwise inaccessible
     *         - \ref NVML_ERROR_UNKNOWN           on any unexpected error
     *
     * @see nvmlDeviceGetInforomVersion
     */
    nvmlReturn_t DECLDIR nvmlDeviceGetInforomImageVersion
    """
    c_version = create_string_buffer(NVML_DEVICE_INFOROM_VERSION_BUFFER_SIZE)
    fn = _nvmlGetFunctionPointer("nvmlDeviceGetInforomImageVersion")
    ret = fn(handle, c_version, c_uint(NVML_DEVICE_INFOROM_VERSION_BUFFER_SIZE))
    _nvmlCheckReturn(ret)
    return bytes_to_str(c_version.value)
r"""
    /**
     * Retrieves the global infoROM image version
     *
     * For all products with an inforom.
     *
     * Image version just like VBIOS version uniquely describes the exact version of the infoROM flashed on the board
     * in contrast to infoROM object version which is only an indicator of supported features.
     * Version string will not exceed 16 characters in length (including the NULL terminator).
     * See \ref nvmlConstants::NVML_DEVICE_INFOROM_VERSION_BUFFER_SIZE.
     *
     * @param device                               The identifier of the target device
     * @param version                              Reference in which to return the infoROM image version
     * @param length                               The maximum allowed length of the string returned in \a version
     *
     * @return
     *         - \ref NVML_SUCCESS                 if \a version has been set
     *         - \ref NVML_ERROR_UNINITIALIZED     if the library has not been successfully initialized
     *         - \ref NVML_ERROR_INVALID_ARGUMENT  if \a version is NULL
     *         - \ref NVML_ERROR_INSUFFICIENT_SIZE if \a length is too small
     *         - \ref NVML_ERROR_NOT_SUPPORTED     if the device does not have an infoROM
     *         - \ref NVML_ERROR_GPU_IS_LOST       if the target GPU has fallen off the bus or is otherwise inaccessible
     *         - \ref NVML_ERROR_UNKNOWN           on any unexpected error
     *
     * @see nvmlDeviceGetInforomVersion
     */
    nvmlReturn_t DECLDIR nvmlDeviceGetInforomImageVersion