Hi...
You can use LabView drivers within CVI. There are a number of ways you can do it, but both will require you to have LV installed on your machine (for Development only, you can release with the LV RTE).
The best way is to set up an activeX interface with the LV RT Engine, and then manipulate and call the VI's from within CVI.
An easy option is to set up a single VI in LabView which you call and pass the parameter information from your CVI app. (This cuts down on the amount of interfaces you have to maintain within CVI, but requires a knowledge of LabView).
There is somewhere a good example of how you call LV from within CVI, (someone at NI can help you here, since I have lost my examples).
Once you come to terms with the interface (uses IDISPATCH), i
ts quite easy to call LV VI's, but, I suspect there is some overhead involved, so if your application is going to use timing critical sections, this is not the way to go.
By far the best, but also the most complicated would be to write a CVI driver (or get the third party company to issue you one), (or have you tried a driver with similar functionality to your 3rd party). It may have only slight differences, which you maybe able to get that information from the 3rd part vendor.
Using LV from CVI is a headache, if only for the headache of maintaining the interface between ActiveX and CVI, and then the parsing of parameters from LV to CVI. You will need a knowledge of LV to handle this, and its not as straight forward as passing parameters from function to function as in C/C++.
I've done, but only because we had to, but I wouldn't do it again,
If you are really stuck, email me and I shall see if I can give more answers...
Regards
Chris