CounterSingleChannelReader.MemoryOptimizedReadMultiSamplePulseFrequency Method (Int32, CIDataFrequency[], ReallocationPolicy, Int32)
- Updated2023-02-21
- 2 minute(s) read
CounterSingleChannelReaderMemoryOptimizedReadMultiSamplePulseFrequency Method (Int32, CIDataFrequency, ReallocationPolicy, Int32)
Namespace: NationalInstruments.DAQmx
Assembly: NationalInstruments.DAQmx (in NationalInstruments.DAQmx.dll) Version: 20.7.40.49302
Syntax
public CIDataFrequency[] MemoryOptimizedReadMultiSamplePulseFrequency( int numberOfSamples, ref CIDataFrequency[] data, ReallocationPolicy policy, out int actualNumberOfSamplesRead )
Public Function MemoryOptimizedReadMultiSamplePulseFrequency ( numberOfSamples As Integer, ByRef data As CIDataFrequency(), policy As ReallocationPolicy, <OutAttribute> ByRef actualNumberOfSamplesRead As Integer ) As CIDataFrequency()
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. - data
- Type: NationalInstruments.DAQmxCIDataFrequency
An initialized 1D array of CIDataFrequency 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 data. Refer to ReallocationPolicy for more information. - actualNumberOfSamplesRead
- Type: SystemInt32
The actual number of samples read. This is useful when the reading operation yields fewer or more samples than the actual length of data.
Return Value
Type: CIDataFrequencyA reference to the data parameter containing samples from the task.
Exceptions
Exception | Condition |
---|---|
DaqException | The NI-DAQmx driver returned an error. |
ArgumentException |
|
OutOfMemoryException | There is not enough memory to carry out this operation. |
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.
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.