Additional Information
User Buffer
Before starting the acquisition, you must create one or more user buffers depending on the acquisition type configured. A non-ring acquisition creates user buffers in addition to configuring internal buffers. A ring acquisition requires you to create and configure user buffers instead of internal buffers.
If you retrieve an image with Get Image in a non-ring acquisition, the driver copies or decodes image data from the internal buffer into the supplied user buffer. If you retrieve an image with Extract Image in a ring acquisition, the driver returns a reference to the corresponding user buffer supplied during configuration. Once the image is retrieved, the image in the user buffer is ready for processing and analysis.
When using an NI Vision Image as the user buffer, the driver resizes and casts the image as needed. For non-ring acquisitions, this process may occur when the image is retrieved using Get Image. For ring acquisitions, this process occurs during Configure Ring Acquisition. However, if you use a generic memory buffer as the user buffer, you must allocate enough space to hold the decoded image.
Note: Unlike internal buffers, you are responsible for destroying user buffers.
Internal Buffer
Internal buffers are allocated by the driver during Configure Acquisition. These buffers hold raw image data acquired from the camera. The user never directly interacts with internal buffers. When an image is retrieved using Get Image, the driver copies or decodes image data from the internal buffer into the supplied user buffer. The user is not responsible for managing the internal buffer allocations. These buffers are destroyed by the driver during Unconfigure Acquisition. Internal buffers are only used in non-ring acquisitions.