Hi,
Extracting Information from a SAFEARRAY in LabVIEW:
There are two ways you could go about this.
The first would be to create a cluster with the same data types as a SAFEARRAY and use the Variant To Data for LabVIEW 6.x and To G Data for LabVIEW 5.x.
Here is the structure for a SAFEARRAY:
typedef struct tagSAFEARRAY
{
USHORT cDims;
USHORT fFeatures;
ULONG cbElements;
ULONG cLocks;
PVOID pvData;
SAFEARRAYBOUND rgsabound[ 1 ];
} SAFEARRAY;
So you could make a cluster with these same data types in it, in the same order. A USHORT is an unsigned short (U8), and ULONG is unsigned long (U32) and PVOID is a pointer to the data and SAFEARRAYBOUND is another cluster with this structure:
typedef struct tagSAFEARRAYBOUND
{
ULONG cElements;
LONG l
Lbound;
} SAFEARRAYBOUND;
A web page that describes all the different parameters is linked below.
MICROSOFT Support page: SAFEARRAYThe second is possibly the better/easier way to do this. You could write a wrapper DLL in C code that just passes out the array, which is all you really care about. That way you wouldn't need to worry about creating the cluster just right.
Good Luck
FerozP