So I'm dealing with calling some DLLs for external communication. When you call the DLL one function returns a pointer to an array of data. Using the MoveBlock I can successfully get the array of data back into LabVIEW. But one issue I'm having is that I also need to go the opposite way. I have an array of data in LabVIEW and I need to send it to the DLL. I realize the normal way you would do this is by calling the DLL with the Array Data Pointer on the Call Library Node. The problem is the data I need to reference, is actually a reference in the reference. In LabVIEW I have an array of U8 like this:
[0]=0xFF
[1]=0xAB
[2-5]=Pointer to Data
[6, 7] = 0x1234
I'm already calling the DLL passing in the array of 8 bytes using the Array Data Pointer, but within that array needs to be 4 bytes, referencing another pointer for another array of data. Is there a way to create a pointer in LabVIEW to some array of data? Then I can put it in my array, and send that? Sorry my C and DLL calling experience isn't as good as my LabVIEW experience and even finding the words to search for are difficult since it returns all kinds of information about MoveBlock, and LabVIEW control references. Thanks.
Edit: Okay looks like I might need DSNewPtr to make a pointer, that I can then pass into the DLL. It is partially working, it just isn't the data that I put into the pointer.