
#include <nitro/os.h>
void OS_ClearExtraHeap( OSArenaId id, OSHeapHandle heap );
| id | クリアする特殊ヒープが含まれるアリーナのアリーナID |
| heap | クリアする特殊ヒープのヒープハンドラ |
なし。
既にある特殊ヒープに対し、クリアして初期化を行ないます。
この関数は OS_CreateExtraHeap() で作成された特殊なヒープに対してクリア操作を行います。OS_CreateHeap() で作成された通常のヒープに対しては OS_ClearHeap() を使用してください。
アリーナID id は OS_CreateExtraHeap() したときの引数、ヒープハンドラ heap は OS_CreateExtraHeap() の返り値であるはずです。システム内部でも保持している特殊ヒープに対するパラメータと異なっている値が指定された場合は何も行いません。
ヒープに確保していたメモリブロックはすべて破棄されます。但しそれはメインメモリ先頭の
16KB についてであり、OS_AddToHeap() による飛び地がある場合、そこは初期化対象になりません。また、初期化によってその領域はヒープの一部から外れてしまいますので注意が必要です。
NITRO ROM や、TWL LIMITED ROM では、本関数を呼ぶことは出来ません。(HYBRID ROM ビルドでしか存在しませんのでコンパイルエラーとなります。) また、HYBRID ROM を TWL ハードウェア上で TWL モードで動作させているときには、本関数を呼んでも何も行いません。
OS_InitAlloc, OS_CreateExtraHeap, OS_AddExtraAreaToHeap
2009/04/03 初版