[英]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.