定義されたメモリー割当ての仕組みを使用して、以前に割り当てられたメモリー・ブロックを異なるサイズに再割当てします。
構文
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);
}
関連トピック