2

我编写了一个自定义外部文件处理程序 (EXTFH),但在某些情况下我想恢复为 Micro Focus EXTFH。这些案例是基于文件的(而不是基于文件类型的)。

我的想法是,在打开时,我在 FCD 中放置一个标记,告诉后续操作(READ、WRITE、CLOSE)使用的是哪个 EXTFH。

我的 EXTFH 有控制权,如果 FCD 中有一个位置保证不会被 MicroFocus 破坏,那么逻辑可以非常简单。

FCD(fcd2.h 和 fcd3.h)中是否有可以将打开的文件标记为由我的 EXTFH 打开的位置?

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

以下是 Micro Focus 关于 EXTFH 的文档:http: //supportline.microfocus.com/documentation/books/sx20books/fhexfh.htm

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

[编辑以阐明我们将如何使用检测使用哪个:我们将使用文件名的扩展名来确定要使用的文件处理程序。例如,如果扩展名为:.xyz,则使用我们的 EXTFH,否则使用 MF EXTFH]。看来我们可以检查每个 fileio 上的文件名,但我认为如果我们只检查 OPEN 会更清晰。对于该文件的后续调用,我们只需检查 FCD 中的某些内容。

4

0 回答 0