wlm_key2class サブルーチン
目的
キーからクラス名を取得します。
ライブラリー
ワークロード・マネージャー・ライブラリー (libwlm.a)
構文
#include <sys/wlm.h
int wlm_key2class (struct wlm_args *引数、wlm_key_t キー、void *CtX)
説明
wlm_key2class サブルーチンは、 wlm_class2key サブルーチンを使用して計算された 64 ビット・キーからクラス名を取り出します。 キーからクラスへの変換は、引数が指す wlm_args 構造 (構成名が指定されていない場合はすべての WLM 構成ファイル) で指定された構成の WLM 構成ファイルを調べて、一致するキーが見つかるまですべてのクラス名を 64 ビット・キーに変換することによって行われます。
このプロセスには時間がかかり、WLM は、いくつかの 64 ビット・キーをクラス名に変換する必要があるアプリケーション用のサブルーチン wlm_initkey および wlm_endkey を提供します。 これらのサブルーチンを wlm_key2class サブルーチンと一緒に使用して、検索を高速化することができます。
wlm_initkey サブルーチンは、メモリーのブロックを割り振り、スコープ内の構成内のクラス名に対応するキーを計算し、対応するキーとともにその名前をメモリー・バッファーに保管し、そのアドレスを戻します。 このアドレスは CtX 引数を使用して wlm_key2class サブルーチンに渡されるため、 wlm_key2class はメモリー・バッファーを検索するだけで済みます。
すべてのキーがクラス名に変換された後、アプリケーションは wlm_endkey を呼び出してメモリー・バッファーを解放する必要があります。 あるいは、1 つのキーのみを変換するアプリケーションの場合は、 CtX 引数にヌル・ポインターを使用して 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_バッドバー | バージョン番号が正しくありません。 |
| WLM が初期化されていません | wlm_initへの呼び出しが欠落しています。 |
| WLM はありません | メモリーが不足しています。 |
| WLM がクラスなし | キーに一致するクラスが見つかりませんでした。 |
| 作業指示のデフォルト | CtX または 引数 引数が無効です。 |