SDL_IOStream * SDL_IOFromMem(void *mem, size_t size);
| void * | mem | SDL_IOStreamに供給するバッファへのポインタ |
| size_t | size | バッファのバイト数のサイズ |
この関数は決められたサイズの読込と書込の両方を行えるメモリ領域のSDL_IOStreamを生成する.
このメモリバッファはSDL_IOStreamにコピーされないため, 渡したポインタはストリームをクローズするまで有効な状態を保つ必要がある.
メモリに書き込まないことを保証するSDL_IOStreamが必要な場合は, 代わりにSDL_IOFromConstMem()と読取専用メモリバッファを使う必要がある.
生成時に次のプロパティがSDLによって設定される:
SDL_PROP_IOSTREAM_MEMORY_POINTER: この関数の引数memに渡したポインタ
SDL_PROP_IOSTREAM_MEMORY_SIZE_NUMBER: この関数の引数sizeに渡した値
さらに, 次のプロパティを認識する:
SDL_PROP_IOSTREAM_MEMORY_FREE_FUNC_POINTER: このプロパティにNULL以外の値が設定されている場合, SDL_free_func型の関数へのポインタで, ストリームが閉じられるときmemポインタを渡して呼ばれる.
デフォルトでは設定されない. そのため, メモリは解放されない.