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. |