PviReadResponse, PviXReadResponse functions

<< 点击显示目录 >>

主页  PVI通信 > PVI帮助信息 > PVI base system > PVICOM interface > PVICOM functions >

PviReadResponse, PviXReadResponse functions

Definition for C/C++

int PviReadResponse (WPARAM wParam, LPVOID pData, LONG DataLen)

int PviXReadResponse (DWORD hPvi, WPARAM wParam, LPVOID pData, LONG DataLen)

Definition for Basic

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

Arguments

Argument

I/O

说明

hPvi

In

来自 PviXInitialize 函数的实例句柄

wParam

In

对响应数据的引用。 必须指定用户信息中的 "wParam "参数

pData

Out

指向用于记录响应或事件数据的用户数据缓冲区的指针

DataLen

In

用户数据缓冲区的长度,以字节为单位

= 0:响应或事件数据不被复制。可以为pData指定0(零)。

Return value

如果数值不是0,则表明有错误。错误代码将作为一个值返回。在读取读取请求的响应数据时,如果在执行请求时发生错误,如果  与PVI管理器 通信实例 连接中断(通信超时),或者有一个应用程序错误, 会报告错误  。值'0'表示读取请求已经执行,用户数据缓冲区中的响应数据是有效的。除非有应用错误,否则  在读取事件数据时 只能报告与 POBJ_EVENT_ERROR 有关的错误  。

如果在 "wParam "中指定的引用在函数被调用时无效(例如,响应数据先前已被删除),那么将报告错误1205(没有响应或事件数据存在)。

Description

该函数用于从先前由 PviReadRequest / PviXReadRequest或 PviReadArgumentRequest / PviXReadArgumentRequest发出的请求中读取事件数据或响应数据

该响应或事件数据被复制到用户数据缓冲区。如果用户数据缓冲区的长度大于实际数据的长度,那么缓冲区中剩下的空间将被填充为二进制的0(零)。如果用户数据缓冲区的长度小于数据的长度,那么当达到缓冲区的末端时,就停止复制。任何剩余的响应或事件数据都会丢失。为了防止这种情况发生,PVI应用程序必须相应地设置用户数据缓冲区的尺寸。为了实现这一点,应用程序可以  在调用此函数之前PviGetResponseInfoPviXGetResponseInfo 函数询问响应/事件数据的长度  。

在收到与读请求或事件有关的用户信息后,必须调用PviReadResponse或PviXReadResponse。然而,当使用PVICALLBACK_DATA类型的回调函数时,这并不适用。