Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/162.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为SIU启用事件时WFS_ERR_SIU_INVALID_PORT(-801)错误_C++_Cen Xfs - Fatal编程技术网

C++ 为SIU启用事件时WFS_ERR_SIU_INVALID_PORT(-801)错误

C++ 为SIU启用事件时WFS_ERR_SIU_INVALID_PORT(-801)错误,c++,cen-xfs,C++,Cen Xfs,我正在尝试为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 = WFS

我正在尝试为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);

LPWFSRESULT LPWFSRESULT;
wfssienable命令数据;
commandData.fwSensors[WFS_-SIU-OPERATORSWITCH]=WFS_-SIU-ENABLE_事件;
commandData.fwIndicators[WFS_SIU_OPENCLOSE]=WFS_SIU ENABLE_事件;
HRESULT HRESULT=wfsecute(hService、WFS_CMD_SIU_ENABLE_EVENTS、&commandData、10000、&lpWfsResult);

我想您需要在WFSEcute之前初始化WFSSIUENABLE结构。您仅设置操作员开关和打开/关闭的值,但其他值如何?尝试执行一个memset将所有其他设置为零(WFS_SIU_NO_CHANGE):


另一件事是要知道这个ATM中有哪些端口可用,首先要询问SIU功能。如果您试图启用ATM中不可用的端口,则会出现此错误。并非所有的AMT都有相同的可用端口。

Hi@SuperG280,我认为OperatorSwitch和Open/Close指示器是每个ATM中都可以使用的一些基本端口。不过,最好检查SIU功能。非常感谢你的建议。我会试试你的建议。不是所有的建议都有。在一些著名制造商的一些基本型号中,考虑到最终成本,他们移除了操作员开关按钮,当柜门打开时,您可以切换到主管模式。
memset( commandData, 0, sizeof( WFSSIUENABLE));