wlm_key2class 子例程
用途
从键中检索类名。
库
工作负载管理器库 (libwlm.a)
语法
#include <sys/wlm.h
int wlm_key2class (struct wlm_args *阿尔格斯, wlm_key_t 钥匙, void *中央)
描述
wlm_key2class 子例程从使用 wlm_class2key 子例程计算的 64 位密钥中检索类名。 通过浏览在 wlm_args 结构中指定的由 args 指向的配置 (或所有 WLM 配置文件,如果未提供任何配置名称) 的 WLM 配置文件,并将所有类名转换为 64 位密钥,直到找到匹配的密钥为止,就可以进行键到类的转换。
此过程非常耗时,并且 WLM 为需要将多个 64 位密钥转换回类名的应用程序提供了子例程 wlm_initkey 和 Wlm_endkey 。 这些子例程可以与 wlm_key2class 子例程一起使用,以加快搜索速度。
wlm_initkey 子例程分配一个内存块,在作用域内计算对应于配置中的类名的键,将这些名称与对应的键一起存储在内存缓冲区中,并返回其地址。 使用 中央 参数将此地址传递到 wlm_key2class 子例程,以便 wlm_key2class 只需要在内存缓冲区中进行搜索。
在将所有键都转换为类名后,应用程序必须调用 Wlm_endkey 以释放内存缓冲区。 或者,对于仅转换一个键的应用程序,可以在 中央 参数中直接使用空指针来调用 wlm_key2class 。 这导致 wlm_key2class 子例程在内部调用 wlm_initkey 和 Wlm_endkey。
通过 WLM 配置文件检索类名的方法意味着,如果在将类名转换为键和调用 wlm_key2class 子例程之间删除了类,那么将找不到对应于该键的名称,并且 wlm_key2class 子例程将返回错误。
参数
| 项 | 描述 |
|---|---|
| -参数 | 指向 wlm_args 结构的指针:
|
| -ctx | 由 wlm_initkey返回的上下文处理程序,否则为 NULL 指针。 |
| -钥匙 | 搜索键。 |
返回值
当 wlm_key2class 操作成功时,将在 阿尔格斯所指向的 wlm_args 结构的名称子字段中返回与键值匹配的第一个类名。
错误代码
如果 wlm_key2class 子例程不成功,那么将返回下列其中一个错误代码:
| 项 | 描述 |
|---|---|
| WLM_BADVERS | 版本号不正确。 |
| 已执行 WLM_NOT_INITED | 缺少对 wlm_init的调用。 |
| WLM_NOMEM | 无足够内存。 |
| WLM_NOCLASS | 找不到与键匹配的类。 |
| WLM_EFAULT | 中央 或 阿尔格斯 参数无效。 |