取单缓冲区方式下最新采集结果GetSnapshot

VC/C++Builder下定义原型:
int __stdcall GetSnapshot(ADCard_Result * Buf, int SampPerChn, DWORD * SampPtr);

VC/C++Builder下使用示例:
WORD ADBuf[NumChn*NumSamp+1];
I = ADResultRecent ((ADResult *) ADBuf);

VB下定义方式:
Declare Function DllGetSnapshot Lib "ADCard.Dll" Alias "_GetSnapshot@12" (ByRef pBuf As Integer, ByVal SampPerChn As Long, ByRef SampPtr As Long) As Long

VB下使用示例:
Dim ADBuf[NumSamp*NumChn] as Integer
I = DllADResultRecent (ADBuf[0])

Delphi下定义方式
function GetSnapshot(var Buf:word; SampPerChn:longint;
var SampPtr:longword):longint; stdcall; external 'adcard.dll' name '_GetSnapshot@12';

Delphi下使用示例
ADBuf : array of word;
SetLength(ADBuf,NumSamp*NumChn+3);
I := ADResultRecent (ADBuf);

功能及参数说明:

此函数在单缓冲区方式下把最新的采集结果(仅SampPerChn个点、NumChn个通道)拷贝到用户数组ADBuf中。最新数据在内部缓冲区中的位置返回在SampPtr中,它的范围为0~NumSamp-1,而内部缓冲区可能已被覆盖过几次,覆盖的次数返回在数组ADBuf的第一个短整数中,即SeqNo中,用户可由这两个参数确定两次GetSnapshot取的结果的相对时间关系。

参数ADBuf为用户程序通过的存放采集结果的缓冲区地址。这时用户数组尺寸要求大于或等于SampPerChn*NumChn+3个短整数。缓冲区的大小与格式同于ADResult()。但结果正好为NumChn通道、NumSamp0个采样点,NumChn和NumSamp在StartSnapshot()函数中定义。要求SampPerChn<NumSamp。