<< 点击显示目录 >> 主页 PVI通信 > PVI帮助信息 > PVI base system > PVICOM interface > PVICOM functions > PviReadResponse, PviXReadResponse functions |
int PviReadResponse (WPARAM wParam, LPVOID pData, LONG DataLen)
int PviXReadResponse (DWORD hPvi, WPARAM wParam, LPVOID pData, LONG DataLen)
PviReadResponse (ByVal wParam As Long, ByRef pData As Any, ByVal DataLen As Long) As Long
PviXReadResponse (ByVal hPvi As Long, ByVal wParam As Long, ByRef pData As Any, ByVal DataLen As Long) As Long
Argument |
I/O |
说明 |
hPvi |
In |
来自 PviXInitialize 函数的实例句柄 |
wParam |
In |
对响应数据的引用。 必须指定用户信息中的 "wParam "参数 。 |
pData |
Out |
指向用于记录响应或事件数据的用户数据缓冲区的指针 |
DataLen |
In |
用户数据缓冲区的长度,以字节为单位 = 0:响应或事件数据不被复制。可以为pData指定0(零)。 |
如果数值不是0,则表明有错误。错误代码将作为一个值返回。在读取读取请求的响应数据时,如果在执行请求时发生错误,如果 与PVI管理器 的通信实例 连接中断(通信超时),或者有一个应用程序错误, 就会报告错误 。值'0'表示读取请求已经执行,用户数据缓冲区中的响应数据是有效的。除非有应用错误,否则 在读取事件数据时 只能报告与 POBJ_EVENT_ERROR 有关的错误 。
如果在 "wParam "中指定的引用在函数被调用时无效(例如,响应数据先前已被删除),那么将报告错误1205(没有响应或事件数据存在)。
该函数用于从先前由 PviReadRequest / PviXReadRequest或 PviReadArgumentRequest / PviXReadArgumentRequest发出的请求中读取事件数据或响应数据 。
该响应或事件数据被复制到用户数据缓冲区。如果用户数据缓冲区的长度大于实际数据的长度,那么缓冲区中剩下的空间将被填充为二进制的0(零)。如果用户数据缓冲区的长度小于数据的长度,那么当达到缓冲区的末端时,就停止复制。任何剩余的响应或事件数据都会丢失。为了防止这种情况发生,PVI应用程序必须相应地设置用户数据缓冲区的尺寸。为了实现这一点,应用程序可以 在调用此函数之前,用 PviGetResponseInfo 或 PviXGetResponseInfo 函数询问响应/事件数据的长度 。
在收到与读请求或事件有关的用户信息后,必须调用PviReadResponse或PviXReadResponse。然而,当使用PVICALLBACK_DATA类型的回调函数时,这并不适用。