gpt4 book ai didi

c++ - 为 SIU 启用事件时出现 WFS_ERR_SIU_INVALID_PORT (-801) 错误

转载 作者:行者123 更新时间:2023-11-28 04:15:02 25 4
gpt4 key购买 nike

我正在尝试为 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 ,这意味着:

An attempt to set a port to a new value was invalid because the port does not exist or the port is pre-configured as an input port.

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

谢谢。

最佳答案

我认为您需要在 WFSExecute 之前初始化 WFSSIUENABLE 结构。您只设置了 Operator Switch 和 Open/close 的值,但其他值呢?尝试执行 memset 以将所有其他设置为零 (WFS_SIU_NO_CHANGE):

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

要做的另一件事是先询问 SIU Capabilities,了解此 ATM 中哪些端口可用。如果您尝试启用 ATM 中不可用的端口,则会出现此错误。并非所有 AMT 都具有相同的可用端口。

关于c++ - 为 SIU 启用事件时出现 WFS_ERR_SIU_INVALID_PORT (-801) 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56865660/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com