● fixed X ユーティリティー - 関数リファレンス

一次元配列の要素数を変更する

    int __stdcall    fixedutil_realloc_memtable(PMEMTABLEINFO prm,int newcnt,PMEMFUNC pfunc)

引数

引数名意味
prmMEMTABLEINFO構造体の実体の先頭アドレス
newcnt新しい要素数
pfuncMEMFUNC構造体の実体の先頭アドレス

戻り値

正常終了した場合は STATUS_NORMAL を返します。
設定値が異常な場合は STATUS_PARAMERROR 、メモリの確保に失敗した場合は STATUS_NOTENOUGHMEM を返します。

説明

prm のメンバ ppmem が指す FIXEDVAL値の一次元配列の要素数を変更します。
ppmem が指す一次元配列は、fixedutil_alloc_memtable により前以って作成されている必要があります。

関数が正常終了した場合、prm のメンバ cnt は、引数 newcnt に置き換わります。配列が短くなった場合は newcnt の要素数分だけ内容が保持され、残りは切り捨てられます。配列が長くなった場合は、以前の内容が全て保持され、残りはゼロで埋められます。

次の条件に一つでも該当する場合、STATUS_PARAMERROR を返し終了します。


関数がエラーで終了した場合、ppmem の指す一次元配列は、元の状態を保持します。また、newcntcnt の場合(同じ要素数で関数を実行した場合)も、元の状態を保持したまま STATUS_NORMAL を返して終了します。
newcntcnt で関数が正常終了した場合、関数実行前の一次元配列領域は解放され、新しい領域が確保されます。そのため、実行前と実行後の配列ポインタは一致しませんので注意してください。