繁体   English   中英

启用S​​IU事件时出现WFS_ERR_SIU_INVALID_PORT(-801)错误

[英]WFS_ERR_SIU_INVALID_PORT (-801) error when enabling events for SIU

我正在尝试为SIU设备启用事件,如下所示:

    LPWFSRESULT lpWfsResult;
    WFSSIUENABLE commandData;
    commandData.fwSensors[WFS_SIU_OPERATORSWITCH] = WFS_SIU_ENABLE_EVENT;
    commandData.fwIndicators[WFS_SIU_OPENCLOSE] = WFS_SIU_ENABLE_EVENT;

    HRESULT hResult = WFSExecute(hService, WFS_CMD_SIU_ENABLE_EVENTS, &commandData, 10000, &lpWfsResult);
    cout << "Events enabled?:" << hResult << endl;
    WFSFreeResult(lpWfsResult);

这在其中一个测试ATM中按预期方式工作(hResult = 0)。 但是,在另一个测试ATM上,这将返回WFS_ERR_SIU_INVALID_PORT(-801)。

根据XFS doc ,这意味着:

尝试将端口设置为新值是无效的,因为该端口不存在或该端口已预先配置为输入端口。

我不太了解文档的描述。 有人可以解释为什么返回此状态以及应该怎么做吗?

谢谢。

我认为您需要在WFSExecute之前初始化WFSSIUENABLE结构。 您仅在设置操作员开关和打开/关闭的值,其他设置呢? 尝试做一个memset来将所有其他设置为零(WFS_SIU_NO_CHANGE):

memset( commandData, 0, sizeof( WFSSIUENABLE));

另一件事是要知道该自动柜员机中有哪些端口可用,首先询问SIU功能。 如果尝试启用ATM中不可用的端口,则会出现此错误。 并非所有AMT都具有相同的端口。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM