Hello Chris.
In Traditional DAQ, double buffering was typically left up to the user's programming skills. However, in DAQmx, double buffering is automatically done for you. The following is from a webpage about general functionality of NI-DAQ (Answers to Frequently Asked Questions about NI-DAQmx and Traditional NI-DAQ (Legacy):
http://zone.ni.com/devzone/cda/tut/p/id/3021)
"If you are doing double-buffered I/O, you would most likely be polling the buffers to continuously acquire data. In NI-DAQmx, you can achieve this simply by using the NI-DAQmx timing function and setting the Sample Mode parameter to Continuous.
NI-DAQmx uses circular buffers. For input operations, portions of data are read from the buffer while the buffer is filled. Likewise for output operations, portions of the buffer can be written to while the buffer is emptied. Using a circular buffer, you can set up your device to continuously acquire data in the background while NI-DAQmx retrieves the acquired data.
Figure 12. NI-DAQmx simplifies double-buffered data acquisition."
Please refer to the following website under the heading "Optimization for Continuous and Single-Point Operations" for more information on this issue.
Waveform and Single-Point I/O in NI-DAQ 7
If you have any other questions, please let us know. We would be glad to help!
Brian F
Applications Engineer
National Instruments