通过出口 XFCAREQ 和 XFCAREQC 修改 EID

无法修改 EID 以对请求进行重大更改。 例如,无法将 INQUIRE FILE 请求更改为 SET FILE 请求。 但是,您可以对请求进行细微更改,例如,对当前请求中未指定的变量开启存在位。

以下段落列出了 EID 中可以修改的位。 将忽略修改 EID 的任何其他部分的任何尝试。

出口程序可以修改 FCIS_BITS1, FCIS_BITS2, FCIS_BITS3, FCIS_BITS4, FCIS_BITS5, FCIS_BITS6 和 FCIS_BITS7 中的任何位,但除外:
  • FILE 关键字的存在位。
  • START , NEXT , END , DEFINESOURCE , INSTALLAGENT , INSTALLUSRID 和 CHANGEAGENT 关键字的位。
  • 描述为 "未由文件控制使用" 的任何位。
  • 与不适用于正在执行的命令的关键字对应的任何位。 例如, CLOSED 关键字的位可以在 SET FILE 请求上修改,但不能在 INQUIRE FILE 请求上修改,因为 CLOSED 仅对 SET FILE 请求有意义。 请参阅 表 1表 2中的描述。

您的程序可以提供自己的命令级参数结构和 EID ,在这种情况下,您应该分别修改 UEPCLPS 和 TS_ADDR0 以指向新结构。

在返回到应用程序之前,会将 EID 重置为其原始值。 即,仅在文件控制 SPI 请求的持续时间内保留对 EID 的更改。

注: 如果修改 EID ,那么必须注意不要创建不一致的参数。 例如,如果原始请求指定了 SET FILE OPEN ,并且您的出口开启了 CLOSED 的 EID 位,那么生成的 SET FILE 请求将同时指定 OPEN 和 CLOSED。 在这种情况下,命令的结果将不可预测。