DFSPOOL 宏返回码
IMS 存储池管理器由各种内部模块调用,以提供存储管理服务。 DFSPOOL 宏作为存储池的接口提供。 DFSPOOL 返回寄存器 15 中的所有返回码。 所有返回码都是十六进制数字。
从 DFSPOOL GET 请求返回后,注册 15 包含格式为 xxxxyyyy的返回码。 低 16 位 ( yyyy) 包含来自 DFSPOOL 的返回码。 The high 16 bits, Xxxx, contain the IMODULE return code if an IMODULE error was detected.
- DFspool 分配
- ALLOC 函数允许调用者分配一个或多个预定义的 IMS 存储池。
- 返回码
- 含义
- 00
- 已成功分配存储池。
- 04
- 已忽略该池; 已设置 PALCNULL ("FF")。
- 08
- 传递了重复的池名称。 该池名称存在于散列表中。
- 0C
- 请求的池的分配已在进行中。
- 10
- 无法分配一个或多个主块。
- 20
- 在 DFSSPM10中找不到所请求池的池定义。
- 24
- 尝试分配池头时 Imodule GETMAIN 失败。
- 28
- 为变量池指定的大小为零。
- 2C
- 尝试分配变量池时, Imodule GETMAIN 失败。
- 30
- 尝试分配 FAQE 存储器时, Imodule GETMAIN 失败。
- 34
- 要分配的主块的累积大小超过可供池使用的最大存储空间。
- 44
- 尝试分配工作区时, Imodule GETMAIN 失败。
- A0
- 传递到存储管理器的函数代码无效。
注: 对于小于 X'20 '的返回码,已分配池头,可以从池中获取缓冲区。 对于返回码 X'20 ' 或更高版本,无法分配一个或多个池。 - DFSPOOL 获取
- GET 函数允许调用者从先前分配的其中一个存储池获取缓冲区。
- 返回码
- 含义
- 00
- 已成功分配缓冲区。
- 04
- 如果满足请求,那么将超过池的上限。 由于调用者指定了 WAIT = NO ,因此存储管理器立即返回给调用者。 未分配缓冲区。
- 08
- 如果满足请求,那么将超过池的上限。 由于调用者指定了 WAIT = YES ,因此存储管理器允许调用者等待并进行额外的存储器尝试。 但是,调用者等待了最长时间,并且存储器仍然不可用。 未分配缓冲区。
- 0C
- 尝试获取新的存储器块时, Imodule GETSTOR 失败。 返回码包含高 2 字节的 IMODULE 返回码和低 2 字节的存储管理器返回码。
- 20
- 存储池位于专用存储器中,但调用者不在同一地址空间中运行。
- 28
- 无法满足缓冲区请求。 请求大小超过可用存储器。
- 24
- 缓冲区请求大小等于或小于零。
- A0
- 传递到存储管理器的函数代码无效。
- A4
- 传递到存储管理器的池名称无效。
- DFspool 关系
- REL 函数允许调用者将缓冲区返回到现有存储池。
- 返回码
- 含义
- 00
- 已成功释放缓冲区。
- A0
- 传递到存储管理器的函数代码无效。
- A4
- 传递到存储管理器的池名称无效。