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.


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


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


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.

  • [in] handle: Board handle

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

  • [out] buffer: Buffer to receive sample data

  • [in] elementSize: Number of bytes per sample

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

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

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

LabVIEW Block Diagram