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 構造体へのポインター:
  • wlm_initkey が以前に呼び出されていない場合 (ctx == NULL)、 wlm_initkey で説明されているように コンディル フィールドを初期化する必要があります。 それ以外の場合、 コンディル フィールドは無視されます。
  • バージョン・フラグ フィールドは、WLM_VERSION およびオプションで WLM_MUTE を使用して初期化する必要があります。
-CTX wlm_initkeyによって戻されるコンテキスト・ハンドラー、またはそれ以外の場合は NULL ポインター。
-キー 検索キー。

戻り値

wlm_key2class 命令が正常に実行されると、キーの値と一致する最初のクラス名が、 引数が指す wlm_args 構造体の名前サブフィールドに戻されます。

エラー・コード

wlm_key2class サブルーチンが失敗した場合は、以下のいずれかのエラー・コードが戻されます。

項目 説明
WLM_バッドバー バージョン番号が正しくありません。
WLM が初期化されていません wlm_initへの呼び出しが欠落しています。
WLM はありません メモリーが不足しています。
WLM がクラスなし キーに一致するクラスが見つかりませんでした。
作業指示のデフォルト CtX または 引数 引数が無効です。