_aligned_realloc
_aligned_malloc または _aligned_offset_mallocで割り当てられたメモリ ブロックのサイズを変更します。
void * _aligned_realloc(
void *memblock,
size_t size,
size_t alignment
);
パラメーター
[入力] memblock
現在のメモリ ブロックのポインター。[入力] size
要求されたメモリ割り当てのサイズ。[入力] alignment
アラインメント値。2 の整数乗である必要があります。
戻り値
_aligned_realloc が 再割り当てされる場合 (移動) メモリ ブロックの void なポインターを返します。 戻り値は、buffer 引数が NULLである場合、または特定のサイズにブロックを展開する十分な使用可能なメモリがサイズがゼロである場合 NULL です。 最初のケースでは、元のブロックが解除されます。 第 2 に、元のブロックは変更されません。 戻り値は適切にどの型のオブジェクトを格納するために配置されることが保証されるストレージ領域を指します。 void 以外の型へのポインターを取得するには、戻り値の型キャストを使用してください。
これは、メモリの再割り当てされ、ブロックの配置を変更するとエラーになります。
解説
_aligned_realloc は mallocに基づいています。 _aligned_offset_mallocの詳細については、「malloc」を参照してください。
この関数は、メモリ割り当てが失敗するか、要求されたサイズが _HEAP_MAXREQ より大きかった場合に、errno を ENOMEM に設定します。 errno の詳細については、「errno、_doserrno、_sys_errlist、および _sys_nerr」を参照してください。 また、_aligned_realloc はそのパラメーターを検証します。 alignment が 2 の累乗でない場合、この関数は パラメーターの検証"に説明されているように、無効なパラメーター ハンドラーを呼び出します。 実行の継続が許可された場合、この関数は NULL を返し、errno を EINVAL に設定します。
必要条件
ルーチン |
必須ヘッダー |
---|---|
_aligned_realloc |
<malloc.h> |
使用例
詳細については、「_aligned_malloc」を参照してください。