pi40iv_GetAttributeViString

ViStatus pi40iv_GetAttributeViString (ViSession instrumentHandle, ViChar _VI_FAR channelName[], ViAttr attributeID, ViInt32 bufferSize, ViChar _VI_FAR attributeValue[]);

Purpose

This function queries the value of a ViString attribute.
You can use this function to get the values of instrument- specific attributes and inherent IVI attributes.  If the attribute represents an instrument state, this function performs instrument I/O in the following cases:
- State caching is disabled for the entire session or for the particular attribute.
- State caching is enabled and the currently cached value is invalid.
You must provide a ViChar array to serve as a buffer for the value.  You pass the number of bytes in the buffer as the Buffer Size parameter.  If the current value of the attribute, including the terminating NUL byte, is larger than the size you indicate in the Buffer Size parameter, the function copies Buffer Size - 1 bytes into the buffer, places an ASCII NUL byte at the end of the buffer, and returns the buffer size you must pass to get the entire value.  For example, if the value is "123456" and the Buffer Size is 4, the function places "123" into the buffer and returns 7.
If you want to call this function just to get the required buffer size, you can pass 0 for the Buffer Size and VI_NULL for the Attribute Value buffer.  
If you want the function to fill in the buffer regardless of the   number of bytes in the value, pass a negative number for the Buffer Size parameter.  

Parameters

Input
Name Type Description
instrumentHandle ViSession

The ViSession handle that you obtain from the pi40iv_init or pi40iv_InitWithOptions function.  The handle identifies a particular instrument session.
Default Value:  None

channelName ViChar[]

If the attribute is channel-based, this parameter specifies the name of the channel on which to obtain the value of the attribute. If the attribute is not channel-based, then pass VI_NULL or an empty string.
Valid Channel Names:  x1,x2,y1,y2
Default Value:  ""

attributeID ViAttr

Pass the ID of an attribute.
From the function panel window, you can use this control as follows.
- Click on the control or press <ENTER>, <spacebar>, or
<ctrl-down arrow>, to display a dialog box containing a
hierarchical list of the available attributes.  Help text is
shown for each attribute.  Select an attribute by
double-clicking on it or by selecting it and then pressing
<ENTER>.
A ring control at the top of the dialog box allows you to see
all IVI attributes or only the attributes of the ViString
type.  If you choose to see all IVI attributes, the data types
appear to the right of the attribute names in the list box.
Attributes with data types other than ViString are dim. If
you select an attribute data type that is dim, LabWindows/CVI
transfers you to the function panel for the corresponding
function that is consistent with the data type.
- If you want to enter a variable name, press <CTRL-T> to change
this ring control to a manual input box.
- If the attribute in this ring control has named constants as  
valid values, you can view the constants by moving to the
Attribute Value control and pressing <ENTER>.

bufferSize ViInt32

Pass the number of bytes in the ViChar array you specify for the Attribute Value parameter.  
If the current value of the attribute, including the terminating NUL byte, contains more bytes that you indicate in this parameter, the function copies Buffer Size - 1 bytes into the buffer, places an ASCII NUL byte at the end of the buffer, and returns the buffer size you must pass to get the entire value.  For example, if the value is "123456" and the Buffer Size is 4, the function places "123" into the buffer and returns 7.
If you pass a negative number, the function copies the value to the buffer regardless of the number of bytes in the value.
If you pass 0, you can pass VI_NULL for the Attribute Value buffer parameter.
Default Value: 512

Output
Name Type Description
attributeValue ViChar[]

The buffer in which the function returns the current value of the attribute.  The buffer must be of type ViChar and have at least as many bytes as indicated in the Buffer Size parameter.
If the current value of the attribute, including the terminating NUL byte, contains more bytes that you indicate in this parameter, the function copies Buffer Size - 1 bytes into the buffer, places an ASCII NUL byte at the end of the buffer, and returns the buffer size you must pass to get the entire value.  For example, if the value is "123456" and the Buffer Size is 4, the function places "123" into the buffer and returns 7.
If you specify 0 for the Buffer Size parameter, you can pass VI_NULL for this parameter.
From the function panel window, you can use this control as follows.
- If the attribute currently showing in the Attribute ID ring
control has named constants as valid values, you can view a
list of the constants by pressing <ENTER> on this control.  
Select a value by double-clicking on it or by selecting it and
then pressing <ENTER>.  

Return Value

Name Type Description
statusOrRequiredSize ViStatus

Returns the status code of this operation.  The status code  either indicates success or describes an error or warning condition.  You examine the status code from each call to an instrument driver function to determine if an error occurred.
If the current value of the return buffer, including the terminating NUL byte, is larger than the size you indicate in the Buffer Size parameter, the function copies Buffer Size - 1 bytes into the buffer, places an ASCII NUL byte at the end of the buffer, and returns the buffer size you must pass to get the entire value.  For example, if the value is "123456" and the Buffer Size is 4, the function places "123" into the buffer and returns 7.
To obtain a text description of the status code, call the pi40iv_error_message function.  To obtain additional information about the error condition, call the pi40iv_GetErrorInfo function.  To clear the error information from the driver, call the pi40iv_ClearErrorInfo function.
The general meaning of the status code is as follows:
Value                  Meaning
-------------------------------
0                      Success
Positive Values        Warnings
Negative Values        Errors
This driver defines the following status codes:
Status    Description
-------------------------------------------------
WARNINGS:
/*=CHANGE:===================================================*
Insert Instrument-defined warning codes here.
*================================================END=CHANGE=*/
ERRORS:
/*=CHANGE:===================================================*
Insert Instrument-defined error codes here.
*================================================END=CHANGE=*/
This instrument driver also returns errors and warnings defined by other sources.  The following table defines the ranges of additional status codes that this driver can return.  The table lists the different include files that contain the defined constants for the particular status codes:
Numeric Range (in Hex)   Status Code Types    
-------------------------------------------------
3FFA2000 to 3FFA3FFF     IviSwtch Warnings
3FFA0000 to 3FFA1FFF     IVI      Warnings
3FFF0000 to 3FFFFFFF     VISA     Warnings
3FFC0000 to 3FFCFFFF     VXIPnP   Driver Warnings
BFFA2000 to BFFA3FFF     IviSwtch Errors
BFFA0000 to BFFA1FFF     IVI      Errors
BFFF0000 to BFFFFFFF     VISA     Errors
BFFC0000 to BFFCFFFF     VXIPnP Driver Errors

References

Get Attribute
Set/Get/Check Attribute
Configuration
Pickering Interfaces PXI/LXI IVI Switch
Alphabetical Function Index
Hierarchical Function Index