IVI Status Codes

IVI Library

IVI Status Codes

IVI engine functions can return error and warning values from several sets of status codes. Some status codes are unique to the IVI engine. Other status codes are the same codes that VISA Library functions return. Still others are error or warning values that functions in specific instrument drivers return. Each set of status codes has its own numeric range.

Regardless of the source of the status code, 0 always indicates success, a positive value indicates a warning, and a negative value indicates an error.

Status Code Tables
Status Code Ranges
Default Values of Defined Constants
IVI Errors and Warnings
Common Instrument Driver Errors and Warnings
Most-Often-Encountered VISA Errors and Warnings

The following table defines the different ranges of status codes. The table lists the include files that contain the defined constants for the particular status codes.

Status Code Ranges

Status Code Type Numeric Range (in Hex) Include File
IVI Errors BFFA0000 to BFFA1FFF ivi.h
IVI Warnings 3FFA0000 to 3FFA1FFF ivi.h
Class Driver Errors BFFA2000 to BFFA3FFF IviClass.h
Class Driver Warnings 3FFA2000 to 3FFA3FFF IviClass.h
Specific Driver Errors BFFA4000 to BFFA5FFF Prefix.h
Specific Driver Warnings 3FFA4000 to 3FFA5FFF Prefix.h
Common Instrument Driver Errors BFFC0000 to BFFCFFFF vpptype.h
Common Instrument Driver Warnings 3FFC0000 to 3FFCFFFF vpptype.h
VISA Errors BFFF0000 to BFFFFFFF visa.h
VISA Warnings 3FFF0000 to 3FFFFFFF visa.h

The Common Errors and Warnings are values that VXIplug&play defines and that specific instrument drivers return. They provide a consistent set of codes for error and warning conditions that are common among all instrument drivers. Each particular instrument driver defines its own set of Driver Errors and Warnings. The status codes values for one driver can overlap the status code values for other drivers.

The IVI engine and instrument driver include files define particular status codes as the unsigned sum of a base value and a decimal integer value. The following table lists the base values.

Default Values of Defined Constants

Status Code Type Defined Constant for Base Value Value
IVI Errors IVI_ERROR_BASE BFFA0000
IVI Warnings IVI_WARN_BASE 3FFA0000
Class Driver Errors IVI_CLASS_ERROR_BASE BFFA2000
Class Driver Warnings IVI_CLASS_WARN_BASE 3FFA2000
Specific Driver Errors IVI_SPECIFIC_ERROR_BASE BFFA4000
Specific Driver Warnings IVI_SPECIFIC_WARN_BASE 3FFA4000

For example, if you pass an invalid attribute ID to an IVI engine function, the function returns IVI_ERROR_INVALID_ATTRIBUTE, which ivi.h defines as IVI_ERROR_BASE + 12, or 0xBFFA000C.

The following tables contain the IVI Status Codes, the Common Status Codes, and the most commonly used VISA Status Codes.

IVI Errors and Warnings

Status Description
0 The call was successful.
BFFA0000 Unrecoverable failure.
BFFA0001 Instrument error detected. Call the ClassPrefix_error_query function and examine the error.
BFFA0002 File could not be opened.
BFFA0003 File is being read.
BFFA0004 File is being modified.
BFFA0005 Driver module file not found.
BFFA0006 Cannot open driver module file for reading.
BFFA0007 Driver module has invalid file format or contains invalid data.
BFFA0008 Driver module contains undefined references.
BFFA0009 Cannot find function in driver module.
BFFA000A Failure loading driver module.
BFFA000B The path name is invalid.
BFFA000C Attribute ID not recognized.
BFFA000D Attribute is read-only.
BFFA000E Attribute is write-only.
BFFA000F Invalid parameter.
BFFA0010 Invalid value for parameter or property.
BFFA0011 Function or method not supported.
BFFA0012 Attribute or property not supported.
BFFA0013 The enumeration value for the parameter is not supported.
BFFA0014 Invalid Type.
BFFA0015 The attribute and function parameter types do not match.
BFFA0016 The specified attribute already has a value waiting to be updated.
BFFA0017 The specified item already exists.
BFFA0018 Not a valid configuration.
BFFA0019 The requested item or value does not exist or is not available.
BFFA001A The requested attribute value not known and cannot be determined.
BFFA001B There is no range table for this attribute.
BFFA001C The range table is invalid.
BFFA001D A connection to the instrument has not been initialized.
BFFA001E The class instrument driver has encountered underspecified instrument configurations that limit interchangeability.
BFFA001F No channel table has been built for the session. The instrument driver must call Ivi_BuildChannelTable in its IviInit function.
BFFA0020 Channel or repeated capability name specified is not valid for the instrument.
BFFA0021 Unable to allocate system resource.
BFFA0022 Permission to access file was denied.
BFFA0023 Too many files opened.
BFFA0024 Unable to create temporary file in target directory.
BFFA0025 All temporary filenames already used in target directory.
BFFA0026 Disk is full.
BFFA0027 Configuration file was not found on disk.
BFFA0028 Cannot open configuration file.
BFFA0029 Error reading configuration file.
BFFA002A Invalid ViInt32 value in configuration file.
BFFA002B Invalid ViReal64 value in configuration file.
BFFA002C Invalid ViBoolean value in configuration file.
BFFA002D Entry missing from configuration file.
BFFA002E Initialization failed in driver DLL.
BFFA002F Driver module could not be loaded because of an unresolved external reference.
BFFA0030 Cannot find CVI Run-Time Engine.
BFFA0031 Cannot open CVI Run-Time Engine.
BFFA0032 CVI Run-Time Engine has invalid format.
BFFA0033 CVI Run-Time Engine is missing one or more required functions.
BFFA0034 CVI Run-Time Engine initialization failed, probably because of insufficient memory.
BFFA0035 CVI Run-Time Engine could not be loaded because of an unresolved external reference.
BFFA0036 Failure loading CVI Run-Time Engine.
BFFA0037 Cannot open DLL to read exports.
BFFA0038 DLL file is corrupt.
BFFA0039 No export table in DLL.
BFFA003A Unknown attribute name for initial setting in configuration file.
BFFA003B Invalid attribute value for initial setting in configuration file.
BFFA003C Memory pointer specified is not known.
BFFA003D Unable to find any channel or repeated capability strings.
BFFA003E The channel or repeated capability list contains two instances of the same name.
BFFA003F The VirtualChannelNames item in the configuration file contains a duplicate virtual channel name.
BFFA0040 The VirtualChannelNames item in the configuration file contains an entry without a virtual channel name (nothing before the '=').
BFFA0041 The VirtualChannelNames item in the configuration file contains an invalid virtual channel name. Channel names must contain only alphanumerics, underscores, or an exclamation point.
BFFA0042 The VirtualChannelNames item in the configuration file contains a virtual channel name without an assigned channel string (i.e., nothing after '=').
BFFA0043 The VirtualChannelNames item in the configuration file contains a virtual channel name that is assigned to an unknown or invalid channel string.
BFFA0044 Channel or repeated capability name required.
BFFA0045 The channel or repeated capability name is not allowed.
BFFA0046 The attribute is not valid for the specified channel or repeated capability.
BFFA0047 This operation requires a channel– or repeated capability–based attribute. The specified attribute is not channel– or repeated capability–based.
BFFA0048 The channel has already been excluded for the specified attribute and cannot be re-included.
BFFA0049 The option string parameter contains an entry without a name.
BFFA004A The option string parameter contains an entry without a value.
BFFA004B The option string parameter contains an entry with an unknown option name.
BFFA004C The option string parameter contains an entry with an unknown option value.
BFFA004D This operation is valid only on a sesssion created by a class driver.
BFFA004E You cannot create a configuration file named "ivi.ini". That filename is reserved.
BFFA004F There already is an entry of the same name in the run-time configuration.
BFFA0050 The index parameter is one-based. You must pass a number greater than or equal to 1.
BFFA0051 The index exceeds the number of items available.
BFFA0052 You cannot set the cache for an attribute that has the IVI_VAL_NEVER_CACHE flag.
BFFA0053 An instrument driver cannot export a ViAddr attribute to the end-user. Use the IVI_VAL_HIDDEN flag macro to make it a private attribute.
BFFA0054 Channel or repeated capability strings must contain only alphanumerics, underscores, or an exclamation point.
BFFA0055 The Prefix item in the configuration file does not match the specific driver's prefix
BFFA0056 The necessary memory could not be allocated.
BFFA0057 Operation in progress.
BFFA0058 NULL pointer passed for parameter or property.
BFFA0059 Unexpected response from the instrument.
BFFA005B File not found.
BFFA005C The file format is invalid.
BFFA005D The instrument status is not available.
BFFA005E Instrument ID Query failed.
BFFA005F Instrument reset failed.
BFFA0060 Insufficient location information or resource not present in the system.
BFFA0061 The driver is already initialized.
BFFA0062 The simulation state cannot be changed.
BFFA0063 Invalid number of levels in selector.
BFFA0064 Invalid range in selector.
BFFA0065 Unknown name in selector.
BFFA0066 Badly-formed selector.
BFFA0067 Unknown physical selector.
BFFA1190 The session handle is not valid.
BFFA1198 The session handle is not valid.
BFFA11A0 Could not create thread local.
BFFA1200 The specified configuration store file could not be deserialized.
BFFA1201 A deserialize was attempted after a previous deserialize had already succeeded.
BFFA1202 The specified configuration store file could not be serialized.
BFFA1203 The session name or logical name could not be resolved to a session or driver session.
BFFA1204 The item does not exist in the global collection.
BFFA1205 An entry with name already exists in the collection.
BFFA1206 The registry entry for the master configuration store does not exist or the file could not be found.
BFFA1207 The item does not exist in the collection.
BFFA1208 The data component is not a valid data component.
BFFA1209 The element cannot be removed from the global collection when it is referenced in the local collections.
BFFA1232 The specified handle is invalid or of an incorrect type.
BFFA1233 The specified property ID is not valid for this function.
BFFA6000 Repeated Capability lists cannot be modified after attributes have been added to them.
BFFA6001 An attribute can only be restricted to a subset of a repeated capability once.
BFFA6002 The repeated capability table cannot be built because it already exists.
BFFA6003 The repeated capability has not been defined yet.
BFFA6004 The repeated capability name cannot be an empty or NULL string.
BFFA600D The Config Server module is not present on the system.
3FFA0065 Identification query not supported.
3FFA0066 Reset operation not supported.
3FFA0067 Self test operation not supported.
3FFA0068 Error query operation not supported.
3FFA0069 Revision query not supported.

Common Instrument Driver Errors and Warnings

Status Description
BFFC0001 Parameter 1 out of range, or error trying to set it.
BFFC0002 Parameter 2 out of range, or error trying to set it.
BFFC0003 Parameter 3 out of range, or error trying to set it.
BFFC0004 Parameter 4 out of range, or error trying to set it.
BFFC0005 Parameter 5 out of range, or error trying to set it.
BFFC0006 Parameter 6 out of range, or error trying to set it.
BFFC0007 Parameter 7 out of range, or error trying to set it.
BFFC0008 Parameter 8 out of range, or error trying to set it.
BFFC0011 Instrument failed the ID Query.
BFFC0012 Invalid response from instrument.
3FFC0101 Instrument does not have ID Query capability.
3FFC0102 Instrument does not have Reset capability.
3FFC0103 Instrument does not have Self-Test capability.
3FFC0104 Instrument does not have Error Query capability.
3FFC0105 Instrument does not have Revision Query capability.

Most-Often-Encountered VISA Errors and Warnings

Status Description
BFFF0000 Miscellaneous or system error occurred.
BFFF000E Invalid session handle.
BFFF0015 Timeout occurred before operation could complete.
BFFF0034 Violation of raw write protocol occurred.
BFFF0035 Violation of raw read protocol occurred.
BFFF0036 Device reported an output protocol error.
BFFF0037 Device reported an input protocol error.
BFFF0038 Bus error occurred during transfer.
BFFF003A Invalid setup (attributes are not consistent).
BFFF005F No listeners condition was detected.
BFFF0060 This interface is not the controller in charge.
BFFF0067 Operation is not supported on this session.
3FFF0085 The status value you passed is unknown.