Disabling Unused Extensions - Overview
You might develop test programs that do not use one or more of the extension groups that a class driver defines. Normally your program should work with instruments that do not implement the extension group as well as with those that do. However, if your program does not configure an extension group and the specific driver implements that extension group, the values of the attributes in the unused extension group are unknown. The attributes are likely to be set to the power-on settings of the device. The power-on settings often vary from instrument to instrument, so when you rely on a specific driver to implement an extension group, you might sacrifice interchangeability.
To accommodate instruments that implement extension groups that your program never configures, the class driver disables unused extensions by setting the extension groups to an interchangeable state. This interchangeable state for an extension group configures the extension group to have no effect on the behavior of the instrument. For example, the IviDmm base capabilities control DMMs that can take a single measurement. The IviDmm class defines a multipoint extension group that controls DMMs that can acquire multiple samples from multiple triggers. If you develop a program that uses only the IviDmm base capabilities with an instrument that implements the multipoint extension group, the IviDmm class driver sets the multipoint extension group attributes to an interchangeable state when you call the Initiate or Read functions for IviDmm.
To disable the multipoint extension group to the interchangeable state, the IviDmm class driver sets the trigger count attribute to 1 and the sample count attribute to 1. In this configuration, the multipoint extension group does not affect the instrumentÂ’s behavior. Therefore, you can run the program with instruments that implement only the IviDmm base capabilities as well as with instruments that implement the multipoint extension group.
If your program has ever set any of the values of an extension group, the class driver does not configure the extension group.