LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

Missing prototype error: Ivi_GetIviIniDir function

Hi All,

I have been looking in to a old code library. When i try to run the same code in CVI 6.0/7.0/7.1 i get a missing prototype error for the Ivi_GetIviIniDir function. Looks like, i have missed to include a header or a .fp file

Please help me solve this problem.

Regards,
Siddu
0 Kudos
Message 1 of 5
(3,573 Views)
Hello Siddu,

I would suggest including the function panel from the previous version CVI in your project. This will allow you to access the functions available in the other environment.

The .lfp can be found here: /bin/ivi.lfp

Also, make sure to #include the .h file with the full path and filename of the ivi.h in your previous version of CVI. This can be found in the include/ directory of your CVI installation.

Scott Y
NI
0 Kudos
Message 2 of 5
(3,557 Views)
Hi,

It says the libraries are already attached and still the code poles the same error. It looks weird and i am not able to find any options.

Regards,
Siddu
0 Kudos
Message 3 of 5
(3,548 Views)
Hi Siddu,

There is information regarding this change available in the ICP release notes:

"IVI Engine API Changes
This section includes information about changes to the IVI Engine API for
the IVI Compliance Package.
Creating Configuration Data at Runtime
Prior versions of the IVI Engine exposed several functions for creating and
persisting configuration data at runtime. The functions are no longer
supported and now return the following error:
IVI_ERROR_FUNCTION_NOT_SUPPORTED. If you want to design
programs to create configuration data at runtime, use the new IVI Engine
function, Ivi_GetConfigServerHandle. You can use the handle that
this function returns with the IVI Foundation-defined Configuration Server
C API to edit the configuration data that the IVI Engine is using."

Since two years ago, when the latest versions of the IVI Specifications were released, the usage of the ivi.ini file was replaced with the new way for storing the configuration data. The IVI Configuration Server provides a database for storing configuration data and an API for accessing this data. This database is called the Master Configuration Store (IviConfigurationStore.xml). Various IVI products have been redesigned to work with the Configuration Server instead of the previous method, which involved using the ivi.ini file.

The IVI Foundation has defined a C (and COM) API to programmatically access and modify the IVI Configuration Store file. This API is defined in the IVI-3.5 IVI Configuration Server specification and is installed as part of the NI-IVI Compliance Package 2.x. The relevant files are installed in the C:\Program Files\IVI\ directories. These are IviConfigurationServer.h, IviConfigurationServer.lib, and IviConfigurationServerCAPI.dll. I have attached a simple example on how to programmatically access the configuration file.

The latest version of IVI Compliance Package (ICP 2.2) allows users to add their instrument driver software modules to the XML file using MAX. The specific driver installer should make sure to register the driver with the master IVI configuration store as specified in Section 3.4 Installing Software Modules, of IVI-3.5: Configuration Server Specification on the IVI Foundation Web site. This can easily be done using our IVI Installer Creator utility included also with ICP 2.2.

Scott Y
NI
Message 4 of 5
(3,540 Views)
Hi Scott,

Thanks a lot. That example helped me in understanding the new IVI specifications and ICP 2.2 package.

Regards,
Siddu
0 Kudos
Message 5 of 5
(3,530 Views)