#include <nnsys/snd.h>typedef void (*NNSSndHeapDisposeCallback)( void* mem, u32 size, u32 data1, u32 data2 );void* NNS_SndHeapAlloc( NNSSndHeapHandle heap, u32 size, NNSSndHeapDisposeCallback callback, u32 data1, u32 data2 );
heap |
サウンドヒープハンドルです。 |
size |
確保するメモリサイズです。 |
callback |
メモリブロックが解放されるときに呼びだされるコールバック関数です。 |
data1, data2 |
コールバック関数の引数用のユーザーデータです。 |
サウンドヒープからメモリを確保します。確保されたメモリブロックの先頭アドレスは、32バイトアライメントされます。
各メモリブロックには、管理領域が必要になります。そのため実際には、確保するメモリサイズsize
よりも、少し大きな空き容量が必要になります。空き容量が足りない場合は、関数は失敗します。
コールバック関数callbackは、
NNS_SndHeapClear関数または、
NNS_SndHeapLoadState関数によって、
メモリブロックが解放されたときに呼びだされます。
コールバック関数の引数には、メモリブロックの先頭アドレスmem、メモリブロックのサイズsize、
ユーザーデータdata1、data2が渡されます。
コールバック関数が不要の時は、callbackにNULLを入れます。
NNS_SndHeapClear, NNS_SndHeapLoadState
2007/04/24 アライメントに関する説明追加
2004/06/01 初版