Cobol 将自定义外部文件处理程序与微焦点默认EXTFH混合使用

Cobol 将自定义外部文件处理程序与微焦点默认EXTFH混合使用,cobol,microfocus,Cobol,Microfocus,我已经编写了一个自定义外部文件处理程序(EXTFH),但在某些情况下,我希望恢复到微焦点EXTFH。案例以文件为基础(而不是以文件类型为基础) 我的想法是,打开时,我在FCD中放置一个标记,告诉后续操作(读、写、关闭)使用的是哪个EXTFH 我的EXTFH具有控制功能,如果FCD中有一个位置保证不会被微焦点损坏,那么逻辑就非常简单 FCD(fcd2.h和fcd3.h)中是否有一个地方可以将打开的文件标记为由EXTFH打开 我最糟糕的情况是,我保存了一个已分配的fcd->handle指针列表,若已

我已经编写了一个自定义外部文件处理程序(EXTFH),但在某些情况下,我希望恢复到微焦点EXTFH。案例以文件为基础(而不是以文件类型为基础)

我的想法是,打开时,我在FCD中放置一个标记,告诉后续操作(读、写、关闭)使用的是哪个EXTFH

我的EXTFH具有控制功能,如果FCD中有一个位置保证不会被微焦点损坏,那么逻辑就非常简单

FCD(fcd2.h和fcd3.h)中是否有一个地方可以将打开的文件标记为由EXTFH打开

我最糟糕的情况是,我保存了一个已分配的fcd->handle指针列表,若已分配,则直接指向我的EXTFH。如果没有,请直接联系MF EXTFH

以下是Micro Focus关于EXTFH的文档:

这是较旧的文档,但似乎是最新的


[编辑以澄清我们将如何使用detect来使用:我们将使用文件名上的扩展名来确定要使用的文件处理程序。例如,如果扩展名为:.xyz,则使用我们的EXTFH,否则使用MF EXTFH]。似乎我们可以检查每个文件IO上的文件名,但我认为如果我们只在打开时检查,它会更干净。对于该文件的后续调用,我们只需检查FCD中的某些内容。

我认为,从链接来看,这意味着否:“FCD的所有未使用或保留区域必须设置为二进制零。”因此,您要么使用结构中的字段对该调用有意义,要么它们是二进制零,否则可能会发生意外情况(现在或将来)。您必须为此编写代码。大概您知道在编写代码时需要哪个文件处理程序?您有时不需要自定义,有时不需要默认,从一个运行到另一个运行?如果是这样,如果您使用“段落/节”,则无需执行任何操作你能展示一个普通输入文件的代码示例吗?