定義されたメモリー割当ての仕組みを使用して、以前に割り当てられたメモリー・ブロックを異なるサイズに再割当てします。
構文
ESS_FUNC_M EssRealloc (
hInstance, Size, ppBlock
);
パラメータ | データ型 | 説明 |
---|---|---|
hInstance |
ESS_HINST_T |
APIインスタンス・ハンドル。 |
Size |
ESS_SIZE_T |
再割当てするメモリー・ブロックの新規サイズ。 |
ppBlock |
ESS_PPVOID_T |
以前に割り当てられたメモリー・ブロックへのポインタのアドレス。このポインタは、再割当てされたメモリー・ブロックを参照するように更新されます。 |
備考
戻り値
正常終了の場合、再割当てされたメモリー・ブロックへのポインタがppBlockに戻されます。
アクセス
この関数を使用するのに、特別な権限は必要ありません。
例
ESS_VOID_T ESS_Realloc (ESS_HINST_T hInst) { ESS_FUNC_M sts = ESS_STS_NOERR; ESS_SIZE_T Size; ESS_PVOID_T pBlock = NULL; /* Allocate memory */ Size = 10; sts = EssAlloc(hInst, Size, &pBlock); if(sts) printf("Cannot allocate memory\r\n"); /* Reallocate memory */ Size = 20; if(!sts) { sts = EssRealloc(hInst, Size, &pBlock); if(sts) printf("Cannot reallocate memory\r\n"); } if(pBlock) EssFree(hInst, pBlock); }
関連トピック