Hi,
so, if I understood correctly, you need to perform a continuous acquisition at a specified rate and continuously read N samples that are available in the buffer. If N samples are not immediately available, you would like to read less samples, what is available in the buffer. Am I correct?
Generally speaking, using DAQmx driver, you can specify the number of samples to read from the device at each iteration of a continuous acquisition. But if this number of samples is not available, the DAQmx read function will wait until a configurable timeput period expires and in case it returns a timeout error (see also here).
The document shows examples for LabVIEW but DAQmx C# functions are totally equivalent and provide the same parameters.
You can configure to read all available samples in the buffer, as explained here. Otherwise, you can get the number of samples that are available in the buffer and pass this number to the DAQmx Read function: this is the property in the Help for C#.
I hope this helps!
Bye!
Licia