20.1.14 ead_get_all()(valueの一括取得)
(1) 機能
指定したkeyの一覧に関連づけられたvalueを一括取得します。
同じkeyを複数指定した場合は,keyの一覧に指定した順にそれぞれ実行します。
(2) 形式
#include <eads.h> ead_get_all_results ead_get_all ( const EAD_CACHE *cp, /* In */ const ead_keys *keys, /* In */ int *error_code /* Out */ );
(3) 引数
- cp
-
取得するvalueが格納されているキャッシュのハンドル(ポインタ)を指定します。
ead_start_cache()で取得したハンドルを指定してください。
- keys
-
取得するvalueに関連づけられたkeyの一覧(ead_keys構造体)を指定します。
指定できるデータについては,「15.2.2(1) keyとして指定できるデータ」を参照してください。
ead_keys構造体の形式と説明については,「20.1.45 ead_keys構造体(複数のkey)」を参照してください。
- error_code
-
エラーコード取得先のポインタを指定します。
エラーコードについては,「20.2 クライアントライブラリのエラーコード(C言語)」を参照してください。
(4) 戻り値
指定したkeyの一覧に関連づけられたvalueの一括取得の結果(ead_get_all_results構造体)が返却されます。
-
一括取得に成功している場合
valuesメンバに,引数に指定したkeyの一覧に対応するvalueが返却されます。
-
一括取得に一部失敗した場合
failure_infoメンバに,failure_operation_numberメンバに示す個数分,失敗した操作の情報が返却されます。
取得に失敗したkeyに対応するvaluesメンバの位置には,valueがNULLであるead_value_element構造体が返却されます。
-
一括取得にすべて失敗した場合
values_lengthメンバに0,valuesメンバにはNULLが格納されます。
-
keyごとの処理以外でエラーが発生した場合(引数の不正やメモリ領域の不足などが発生した場合)
ead_get_all_results構造体の数値型のメンバは0,ポインタ型のメンバはNULLになります。
ead_get_all_results構造体の形式と説明については,「20.1.48 ead_get_all_results構造体(ead_get_all()の実行結果)」を参照してください。
(5) 注意事項
-
valueの一括取得に失敗した場合,次のエラーコードが返却されます。
-
一括取得にすべて失敗したとき
EAD_ERROR_BATCH_FAILED_ALL
-
一括取得に一部失敗したとき
EAD_ERROR_BATCH_FAILED_PART
-
-
戻り値として返却された,valueの一括取得の結果を格納するメモリ領域は,自動的に解放されないため,APで解放してください。詳細については,「19.1.1(10) 戻り値として返却されたメモリ領域を解放する」を参照してください。
-
キャッシュの操作が部分的に失敗した場合,戻り値からどの操作が失敗したか判別して,必要に応じてこの関数を再度実行してください。
-
キャッシュの操作中に排他処理はされません。そのため,一括操作中に,ほかのキャッシュ操作によって操作対象のvalueが変更されることがあります。
-
大量のデータを一括操作する場合,EADSクライアントおよびEADSサーバでメモリが大量に消費されることがあります。
-
大量のデータを一括操作する場合,操作の完了までに時間が掛かることがあります。そのため,タイムアウト時間を適切に設計してください。