Nearly all session interfaces are either message-based or register-based. All message-based elements are defined in the interface All VISA.NET message-based session interfaces IMessageBasedSession. derive from and so include this common functionality. IMessageBasedSession, Message-based sessions provide access to two different ways of performing message-based I/O. The first is which leaves formatting and parsing tasks (including format buffering) to the calling program. raw I/O, Raw I/O supports asynchronous I/O. The second is which is capable of some very complex formatted I/O, formatting tasks, and supports a wide variety of formatting options. While it migh be tempting to think of formatted I/O for convenience and raw I/O for performance, in fact formatted I/O is highly optimized for performance. Likewise, all register-based elements are defined in the interface All IRegisterBasedSession. VISA.NET register-based session interfaces derive from and so include this IRegisterBasedSession, common functionality. Locking Calling programs can open multiple sessions to a VISA.NET I/O resource simultaneously. Applications can access the VISA.NET I/O resource through these different sessions concurrently. To avoid conflicting behavior, a session accessing a VISA.NET I/O resource might want to restrict other sessions from accessing that resource. VISA defines a locking mechanism to restrict how multiple session access the same resource. These mechanisms are supported by the resource manager method and by the Open() LockResource() and UnlockResource() methods in the IVisaSession interface.
Nearly all session interfaces are either message-based or register-based. All message-based elements are defined in the interface IMessageBasedSession. All VISA.NET message-based session interfaces derive from IMessageBasedSession, and so include this common functionality. Message-based sessions provide access to two different ways of performing message-based I/O. The first is raw I/O, which leaves formatting and parsing tasks (including format buffering) to the calling program. Raw I/O supports asynchronous I/O. The second is formatted I/O, which is capable of some very complex formatting tasks, and supports a wide variety of formatting options. While it migh be tempting to think of formatted I/O for convenience and raw I/O for performance, in fact formatted I/O is highly optimized for performance. Likewise, all register-based elements are defined in the interface IRegisterBasedSession. All VISA.NET register-based session interfaces derive from IRegisterBasedSession, and so include this common functionality. Locking Calling programs can open multiple sessions to a VISA.NET I/O resource simultaneously. Applications can access the VISA.NET I/O resource through these different sessions concurrently. To avoid conflicting behavior, a session accessing a VISA.NET I/O resource might want to restrict other sessions from accessing that resource. VISA defines a locking mechanism to restrict how multiple session access the same resource. These mechanisms are supported by the resource manager Open() method and by the LockResource() and UnlockResource() methods in the IVisaSession interface.
vpp436_2016-06-07.docx