EssRealloc

定義されたメモリー割当ての仕組みを使用して、以前に割り当てられたメモリー・ブロックを異なるサイズに再割当てします。

構文

            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);
}
      

関連トピック