Interface IMessage

Description

This is the synchronous messaging interface exported by most resources, including all INSTR and SOCKET resources. This interface provides basic 488.2-style I/O capabilities.

IMessage derives from IBaseMessage.

Methods

GetAttribute

Use of this method is discouraged. All the non-deprecated standard attributes are accessible via properties on the appropriate COM interfaces.

SetAttribute

Use of this method is discouraged. All the non-deprecated standard attributes are accessible via properties on the appropriate COM interfaces.

LockRsrc

Locks the resource.

UnlockRsrc

Unlocks the resource

Init

Opens the resource. This is the first method on IVisaSession or any of its derived interfaces to be called. In general, you will not call this method because you will use the Resource Manager to create resources.

Close

Closes the resource. Sending the resource's COM object's reference count to zero (and thus destroying the object) also executes a close, but this method may be useful for environments with garbage collection or other facilities that make object lifetimes non-deterministic.

AssertTrigger

Asserts a software or hardware trigger dependent on the interface type. For a GPIB device, the device is addressed to listen, and then the GPIB GET command is sent. For a VXI device, if VI_ATTR_TRIG_ID is VI_TRIG_SW, then the device is sent the Word Serial Trigger command; if VI_ATTR_TRIG_ID is any other value, a hardware trigger is sent on the line corresponding to the value of that attribute.

For GPIB and VXI software triggers, TRIG_PROT_DEFAULT is the only valid protocol. For VXI hardware triggers, TRIG_PROT_DEFAULT is equivalent to TRIG_PROT_SYNC.

Clear

Performs an IEEE 488.1-style clear of the device. VXI uses the Word Serial Clear command, and GPIB uses the Selective Device Clear command.

ReadSTB

Reads a status byte of the service request from a service requester (the message-based device). For example, on the IEEE 488.2 interface, the message is read by polling devices; for other types of interfaces, a message is sent in response to a service request to retrieve status information. If the status information is only one byte long, the most significant byte is returned with the zero value. If the service requester does not respond in the actual timeout period, VI_ERROR_TMO is returned.

Read

Synchronously transfers data from a device. The data that is read is returned in the SAFEARRAY pBuffer. This function returns only when the transfer terminates. Only one synchronous read function can occur at any one time. Note: the termination character must be enabled in the program when reading from a SOCKET device that does not support EOI; otherwise the SOCKET read will timeout

A read can terminate successfully due to receiving the requested number of bytes, receiving the read termination character (if enabled), or receiving the END signal.

ReadString

This function synchronously transfers data from a device. The data that is read is returned in the BSTR pBuffer. This function returns only when the transfer terminates. Only one synchronous read function can occur at any one time.

Reads can terminate successfully due to receiving the requested number of bytes, receiving the read termination character (if enabled), and receiving the END signal.

Write

Synchronously transfers data to a device. The data to be written is in the SAFEARRAY parameter buffer. This function returns only when the transfer terminates. Only one synchronous write function can occur at any one time.

WriteString

Synchronously transfers data to a device. The data to be written is in the BSTR parameter buffer. This function returns only when the transfer terminates. Only one synchronous write function can occur at any one time.

Properties

ComponentVersion

A numeric version for this component.

SpecVersion

The VISA-defined version information for the specification version to which this component co-mplies.

HardwareInterfaceName

The name of the hardware interface (GPIB, ASRL, etc.).

HardwareInterfaceNumber

The board number of the hardware interface.

HardwareInterfaceType

The type number of the hardware interface.

LockState

The current locking state of the interface.

OptionString

The option string corresponding to the current state of the resource.

ProgID

The programmatic ID that can be used by COM to create this object.

ResourceName

The VISA resource name of the currently open resource. This name is the canonical version of the resource name and therefore may vary from the resource string used to open/init the resource.

SessionType

The session type string, such as "INSTR" or "INTFC".

SoftwareManufacturerID

The ID number of the vendor of this software component.

SoftwareManufacturerName

The name of the vendor of this software component.

Timeout

The I/O timeout in milliseconds for I/O communication on this resource session.

LastStatus

The return value from the last method call on this interface. This property may be useful in Visual Basic, where positive return values, such as warnings and other non-error return values, cannot be retrieved.

See the Return Values page for a list of positive return values.

IOProtocol

The protocol type for I/O communication with the physical resource.

SendEndEnabled

Enables/disables sending the END signal on the last byte of a write. Most resource types have an out-of-band end signal to deterministically end reading.

TerminationCharacter

The ASCII character used to end reading. Setting this property does not enable/disable the sending of this character; that is done by the TerminationCharacterEnabled property. The default character in most VISA implementations and most instruments is ASCII code 10 (linefeed).

TerminationCharacterEnabled

Enables/disables ending reads upon reception of the termination character. Enabling this property does not cause the termination character to be appended to writes.