Hi Mario,
As Steven wrote, you will have to create a wrapper-DLL in the case that the driver-DLL has already allocated the buffer for the picture. It's the wrapper-DLL's job to access the buffer from the driver-DLL and pass it into the buffer allocated by LabVIEW. Of course, the most efficient would be to pass the image directly from the driver-DLL to LabVIEW, but your driver-DLL would have to be prepared for this by accepting to pass the image into the buffer allocated by LabVIEW.
I guess the real question is; do you really need to pass the image data from the drive-DLL to the block diagram of LabVIEW? If you take our IMAQ (IMage AcQuisition) VIs as an example, you will notice that they keep the actual image data away from the block diagram layer, and instead handle the images by referencing them through the IMAQ and Vision DLL using the IMAQImage reference. Acquisition, analysis, presentation and storing is all handled by the DLLs so no data intensive passing of the image data to the block diagram is necessary. Only in case you want the actual 2D pixel array instead of the IMAQImage reference, a value passing to the block diagram is necessary.
I hope this clarifies your question.
- Philip Courtois, Thinkbot Solutions