发表于:2004-04-20 15:35:00
楼主
Function ReadMultiChannel(Channel:THandle;
Param:PIOControlHead;
Buf:Pointer;
Length:DWORD;
Overlap:POverlapped):Integer;stdcall;
按顺序启动多个通道执行AD转换,结果按顺序存入指定的缓冲区。
Channel:通道句柄,OpenChannel 函数的返回值。
Param: 指向一个TIOControlInfo结构的指针,见下面关于TIOControlInfo结构
的说明。
Buf: 接收AD转换结果的缓冲区指针。此缓冲区的尺寸(以字计)必须大于或
等于MultiChannelBufLen(Param) 的返回值,否则将发生访问违例。
AD转换结果按照Param 参数中指定通道顺序存放。
Length: 与ReadChannel 不同,这个参数不表示AD转换的次数,而是表示Buf 能
容纳的AD转换结果的个数。如果此参数为0 ,则函数认为Buf 缓冲区至
少能容纳MultiChannelBufLen(Param) 个AD转换结果。
Overlap:执行异步IO时,必须是指向一个OVERLAPPED结构的指针;如果是同步IO
操作,则可以为NULL。关于异步IO的进一步说明,请参阅Win32 程序员
参考。
返回值:实际执行的AD转换次数(也就是存入Buf 的转换结果的个数)。如果要
转换成存入Buf 的字节数,将返回值×2 即可。
注意: 如果返回值小于0, 则代表AD转换无法执行,可以调用GetLastError得
到更详细的错误信息。
这里面的知向结构的指钟如何处理,