Click or drag to resize

Special Notes on Implementing IviFgen

In February of 2016, the IVI Foundation released version 5.1 of the IviFgen instrument class specification. This version of the IviFgen class specification includes the final set of changes required to enable developers to build IviFgen-compliant IVI-COM drivers that support new interfaces for advanced arbitrary waveform generation. At the same time, the IVI Foundation released a revised IVI-COM type library that defined these new interfaces. These new interfaces are commonly referred to as the "IviFgen2" interfaces because the new root interface is named "IviFgen2". This new IviFgen type library (version 5.1) ships as part of the IVI Shared Components version 2.4 and higher.

Important note Important

In order to create IVI-COM drivers that comply with the IviFgen 5.1 instrument class specification, you must have IVI Shared Components 2.4 or higher installed. Correspondingly, in order to create applications that use drivers that support IviFgen 5.1, you must have IVI Shared Components 2.4 or higher installed.

Because the IviFgen instrument class specification represents the only class specification for which the actual interface defintions have been revised, there are some special considerations that must be taken into account when working with IviFgen-compliant drivers.

Creating New IviFgen-Compliant IVI-COM Drivers

When Nimbus 4.2 or greater is installed, creating a new IviFgen-compliant IVI-COM driver always yields an IviFgen 5.1-compliant driver. The full set of interfaces defined by IviFgen 5.1 are automatically included in the driver. There is no means to create an IviFgen 3.0-compliant IVI-COM driver with Nimbus 4.2 or greater.

Caution note Caution

Whenever you create an IviFgen 5.1-compliant IVI-COM driver, you are imposing a requirement on all end users of that driver such that they must also have IVI Shared Components 2.4 or greater installed in order to use the driver.

In practice, there should be few, if any, reasons to create a new IVI-COM driver that complies with the earlier version of the IviFgen class specification -- IviFgen 3.0. However, if you wish to create a new IviFgen 3.0-compliant IVI-COM driver, then you must install Nimbus 4.1 or earlier. An IviFgen 3.0-compliant driver may be created with IVI Shared Components 2.3 or 2.4 (or greater). However, if creating the IviFgen 3.0-compliant driver with IVI Shared Components 2.4 (or later), then any references to the IviFgen 3.0 type library will need to be manually updated to point to the IviFgen 5.1 type library. All of the IviFgen 3.0 interfaces are fully defined and shipped with IVI Shared Components 2.4, but the containing type library version was changed from 3.0 to 5.1.

To update a C# or Visual Basic project to use the IviFgen 5.1 type library:

  1. Expand the References node in Solution Explorer for the project in question and locate the IviFgenLib reference.

  2. Delete the reference.

  3. Right-click on the References node and choose Add Reference. The Reference Manager appears.

  4. Select the COM tab and then choose Type Libraries.

  5. Check the entry titled "IviFgen 5.1 Type Library" and click OK.

To update a C++ project to use the IviFgen 5.1 type library:

  1. Locate any #import statements in the project source files that refer to the IviFgen type library. Nimbus automatically creates statements that look like the following:

    C++
    #import IviFgenLib_LIBID version("3.0") no_namespace
  2. Change the arguments to the version attribute from 3.0 to 5.1.

Working with Existing IviFgen 3.0-Compliant IVI-COM Drivers

As noted above, when Nimbus 4.2 or greater is installed, you cannot create new IviFgen 3.0-compliant IVI-COM drivers. However, you can open, edit, and run existing IviFgen 3.0-compliant IVI-COM drivers. The driver will remain an IviFgen 3.0-compliant driver. No additional dependencies will be incorporated into the driver by virtue of compiling it on a machine with IVI Shared Components 2.4 installed. The driver will run on end user machines with much earlier versions of the IVI Shared Components than version 2.4.

Note Note

Nimbus does not have a mechanism for automatically upgrading an existing IviFgen 3.0-compliant IVI-COM driver to IviFgen 5.1 compliance. Such a conversion requires extensive and detailed manual modifications to the driver and to internal Nimbus structures. A for-fee conversion service is provided by Pacific MindWorks. Please contact us at support@pacificmindworks.com for details on this program.

See Also

Download a complete CHM version of this documentation here.