文章
· 十二月 22, 2023 阅读大约需 3 分钟

第二章 $ZF Callout函数概述

第二章 $ZF Callout函数概述

IRIS $ZF系统功能是一套相关功能的容器。$ZF套件中的大多数函数都由函数调用的第一个参数标识,该参数将是一个负数,-100-3-6。例如,调用操作系统命令的函数具有$ZF(-100, <oscommand>)的形式,其中<oscommand>是包含要执行的命令的字符串。当讨论这个函数时,它将被称为$ZF(-100)。以同样的方式,其他函数将被称为$ZF(-3)$ZF(-6),只使用实际函数调用的第一个参数。也可以在不带负数参数的情况下调用$ZF()函数,在这种情况下,它调用名为iriszf的特殊Callout库中的函数。

注:Callout Libraries是动态链接的文件(WindowsDLL文件,UNIX及相关操作系统为SO文件)。Callout库是一个共享库,它包含到$ZF Callout接口的钩子,允许各种$ZF函数在运行时加载它并调用库函数。

$ZF函数集包括以下接口:

$ZF()函数(不带负数参数)

主要的$ZF()函数提供了对来自名为iriszf的特殊Callout库的函数的直接访问。当定义并编译了这个自定义库后,只需指定函数名和参数(例如,$ZF("myFunction",arg1)),就可以调用它的函数。与$ZF(-3)$ZF(-5)$ZF(-6)不同,不需要加载库或指定库标识符。

$ZF(-100)函数

$ZF(-100)函数用于运行shell命令和操作系统服务调用。它不用于访问Callout库,可以在没有任何先前设置的情况下调用。

$ZF(-3)函数

$ZF(-3)函数是一种加载Callout库并使用一条语句调用库函数的简单方法。库及其函数都是通过名称指定的,并且库保留在内存中,直到被对另一个库的调用所替换。

$ZF(-4)函数

$ZF(-4)函数为$ZF(-5)$ZF(-6)提供了一组服务。它是由前两个参数($ZF(-4,1)$ZF(-4,8))标识的八个效用函数的容器。$ZF(-5)函数接口使用$ZF(-4,1)$ZF(-4,3)函数,$ZF(-6)函数接口使用$ZF(-4,5)$ZF(-4,8)函数。

$ZF(-5)函数接口

$ZF(-5)函数及其实用函数允许高效地处理多个库。库及其函数都由系统定义的ID值标识。多个库可以同时位于虚拟内存中。以下$ZF(-4)函数用于加载和卸载库,并获取库和函数ID值:

  • $ZF(-4,1)加载由名称指定的库,并返回一个库ID
  • $ZF(-4,2)卸载一个库。
  • $ZF(-4,3)返回指定库ID和函数名的函数ID

$ZF(-6)函数接口

$ZF(-6)函数及其实用函数提供了一种编写不需要硬编码库名称的Callout应用程序的方法。相反,实际的库文件名包含在一个单独的索引表中,其中每个库都与一个唯一的用户定义的索引号相关联。一旦定义了索引表, IRIS实例中的所有进程都可以使用它。Callout应用程序通过索引号识别一个库,并通过读取索引表来加载它。多个库可以同时在内存中。以下函数用于管理索引和加载或卸载库:

  • $ZF(-6)调用一个库函数,如果库不在内存中,则加载该库。
  • $ZF(-4,4)卸载一个库。
  • $ZF(-4,5)$ZF(-4,6)用于创建和维护系统索引表,该索引表可以被 IRIS实例中的所有进程访问。
  • $ZF(-4,7)$ZF(-4,8)用于创建和维护进程索引表,该索引表可用于覆盖单个进程中的系统索引。
讨论 (0)1
登录或注册以继续