NI-DAQmx .NET Framework 4.0 API Reference

Table of Contents

CounterSingleChannelReader.BeginMemoryOptimizedReadMultiSamplePulseTime Method (Int32, AsyncCallback, Object, CIDataTime[], ReallocationPolicy)

  • Updated2023-02-21
  • 2 minute(s) read
CounterSingleChannelReader.BeginMemoryOptimizedReadMultiSamplePulseTime Method (Int32, AsyncCallback, Object, CIDataTime[], ReallocationPolicy)
Begins an asynchronous memory-optimized read of one or more CIDataTime samples from a single CIChannel in a task.

Namespace:  NationalInstruments.DAQmx
Assembly:  NationalInstruments.DAQmx (in NationalInstruments.DAQmx.dll) Version: 20.7.40.49302

Syntax

public IAsyncResult BeginMemoryOptimizedReadMultiSamplePulseTime(
	int numberOfSamples,
	AsyncCallback callback,
	Object state,
	CIDataTime[] data,
	ReallocationPolicy policy
)
Public Function BeginMemoryOptimizedReadMultiSamplePulseTime ( 
	numberOfSamples As Integer,
	callback As AsyncCallback,
	state As Object,
	data As CIDataTime(),
	policy As ReallocationPolicy
) As IAsyncResult

Parameters

numberOfSamples
Type: SystemInt32
The number of samples to read. If you set numberOfSamples to -1 for a continuous acquisition, the read retrieves all samples available in the buffer at the time of the read. If you set numberOfSamples to -1 for a finite acquisition, the read behavior is set by the ReadAllAvailableSamples property of the DaqStream you are reading from.
callback
Type: SystemAsyncCallback
An optional asynchronous callback that is called when the read is complete. Specify if you do not want a callback when the read is complete.
state
Type: SystemObject
A user-provided object that distinguishes this asynchronous read request from other requests. Use this parameter to provide information to the callback. Specify if you do not need to pass any additional information to the callback.
data
Type: NationalInstruments.DAQmxCIDataTime
An initialized 1D array of CIDataTime samples that contains the read data. Each element in the array corresponds to a sample from the channel.
policy
Type: NationalInstruments.DAQmxReallocationPolicy
Dictates the reallocation behavior of the data. Refer to ReallocationPolicy for more information.

Return Value

Type: IAsyncResult
An IAsyncResult that represents the asynchronous call.

Remarks

When performing an asynchronous memory-optimized read, the size of the data buffer dynamically increases if the number of samples read exceeds the existing buffer and ReallocationPolicy is ToGrow. This results in more efficient memory allocation when performing multiple reads with a continuous counter input task. An ArgumentException is thrown if the buffer is not capable of holding the data and ReallocationPolicy is DoNotReallocate.

To get the read data or any exceptions that occurred during an asynchronous read initiated with this method, call EndMemoryOptimizedReadMultiSamplePulseTime(IAsyncResult, Int32) with the returned IAsyncResult.

NI-DAQmx scales the returned data to the units of the measurement, including any custom scaling you apply to the channel. You specify these units with the create channel methods or the DAQ Assistant.

NI-DAQmx read and write methods time out after the amount of time specified by the Timeout property on the task you are reading from or writing to.

Refer to NI-DAQmx Readers and Writers for more information about memory limitations in NI-DAQmx read methods.

See Also

Log in to get a better experience