SDL_IOStream * SDL_IOFromConstMem(const void *mem, size_t size);
| const void * | mem | SDL_IOStreamに供給する読取専用バッファへのポインタ |
| size_t | size | バッファのバイト数のサイズ |
この関数は決められたサイズの書き込むことができないメモリ領域のSDL_IOStreamを生成する.
SDL_IOStreamに書き込もうとすると, メモリバッファには書き込めずエラーを報告する.
このメモリバッファはSDL_IOStreamにコピーされないため, 渡したポインタはデータストリームをクローズするまで有効な状態を保つ必要がある.
メモリに書き込む必要がある場合は, 代わりにSDL_IOFromMem()と書込可能なメモリバッファを使う必要がある.
生成時に次のプロパティが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ポインタを渡して呼ばれる.
デフォルトでは設定されない. そのため, メモリは解放されない.