Function Syntax#

U32 AlazarRead(HANDLE handle, U32 channelId, void *buffer, int elementSize, long record, long transferOffset, U32 transferLength)#

Read all of part of a record from on-board memory to host memory (RAM).

The record must be less than 2,147,483,648 samples long.


AlazarRead() can transfer segments of a record. This may be useful if a full record is too large to transfer as a single clock, or if only part of a record is of interest.


Use AlazarReadEx() To transfer records with more than 2 billion samples.


AlazarRead() is part of the single-port API, it cannot be used in a dual-port context.

  • handle[in] Board handle

  • channelId[in] The channel identifier of the record to read.

  • buffer[out] Buffer to receive sample data

  • elementSize[in] Number of bytes per sample

  • record[in] Index of the record to transfer (1-indexed)

  • transferOffset[in] The offset, in samples, from the trigger position in the record, of the first sample to transfer.

  • transferLength[in] The number of samples to transfer.


ApiSuccess upon success, or an error code. See RETURN_CODE for more detailed information.

LabVIEW Block Diagram#