通过


Icom3270.wait 方法

等待方法等待会话进入允许输入或屏幕修改的状态。

语法

  
void Wait(  
   uint howLong,  
   int waitForUpdate  
)  

参数

参数
howLong 线程愿意放弃用于启用输入或更新屏幕的时间段,以 0.5 秒为单位。 0xffffffff指示线程应无限期等待。
waitForUpdate 如果为 false,则当会话处于允许输入状态时,此方法将立即返回。

如果会话当前处于允许输入状态,则会话将立即返回。

有关详细信息,请参见“备注”部分。

返回值

说明
S_OK 会话可用于输入。
C3270_S_SIZECHANGED 会话可用于输入,但在等待调用期间修改了屏幕大小。 你应该使用 gall getScreenSize 来确定新的屏幕大小。
C3270_E_SESSIONBUSY 3270 会话仍然繁忙,但 howLong 指定的超时期限已过期。

在再次调用 wait 之前,应执行任何必要的处理。
C3270_E_SESSSIONLOCKED 由于本地锁定条件,3270 会话已锁定。

应检查 OIA 缓冲区以确定错误原因。 在再次调用等待或执行任何其他恢复操作之前,还可以发送 RESET 键击来解锁键盘。
C3270_E_SESSIONFAILURE 3270 会话失败。 等待正在进行时,PLU_SLU或 SSCP 会话已停用。

应检查会话的 OIA 中的会话状态,并采取适当的恢复操作。
C3270_E_SYSERROR 方法由于内部错误而失败。

注解

调用 wait 允许会话在应用程序处于活动状态、连接到主机并等待数据时处理来自主机的消息。

当主机解锁键盘并通过单独的操作发送屏幕更新时,应将 waitForUpdate 设置为 true。 具体而言,应在 SSCP 会话上执行此操作,该会话在收到来自客户端数据的 SNA 响应时启用输入。 回复数据在后续消息上缩进。