OS_ClearExtraHeap

構文

#include <nitro/os.h>
void OS_ClearExtraHeap( OSArenaId id, OSHeapHandle heap );
  

引数

id クリアする特殊ヒープが含まれるアリーナのアリーナID
heap クリアする特殊ヒープのヒープハンドラ

返り値

なし。

説明

既にある特殊ヒープに対し、クリアして初期化を行ないます。

この関数は OS_CreateExtraHeap() で作成された特殊なヒープに対してクリア操作を行います。OS_CreateHeap() で作成された通常のヒープに対しては OS_ClearHeap() を使用してください。

アリーナID idOS_CreateExtraHeap() したときの引数、ヒープハンドラ heapOS_CreateExtraHeap() の返り値であるはずです。システム内部でも保持している特殊ヒープに対するパラメータと異なっている値が指定された場合は何も行いません。

ヒープに確保していたメモリブロックはすべて破棄されます。但しそれはメインメモリ先頭の 16KB についてであり、OS_AddToHeap() による飛び地がある場合、そこは初期化対象になりません。また、初期化によってその領域はヒープの一部から外れてしまいますので注意が必要です。

NITRO ROM や、TWL LIMITED ROM では、本関数を呼ぶことは出来ません。(HYBRID ROM ビルドでしか存在しませんのでコンパイルエラーとなります。) また、HYBRID ROM を TWL ハードウェア上で TWL モードで動作させているときには、本関数を呼んでも何も行いません。

参照

OS_InitAlloc, OS_CreateExtraHeap, OS_AddExtraAreaToHeap

履歴

2009/04/03 初版