目次 - SDL 3.0 API(機能別) - 非同期I/O - SDL_LoadFileAsync

SDL_LoadFileAsync

非同期にファイルからデータを全て読み込む

ヘッダ

SDL3/SDL_asyncio.h

構文

bool SDL_LoadFileAsync(const char *file, SDL_AsyncIOQueue *queue, void *userdata);

引数

const char *fileオープンするファイルの名前のUTF-8文字列
SDL_AsyncIOQueue *queue新しいSDL_AsyncIOの追加先キュー
void *userdata処理結果に渡されるアプリケーション定義のポインタ

戻り値

(bool) 成功のとき真, 失敗のとき偽を戻す. SDL_GetError()を呼んで詳細を知ることができる.

詳細

この関数は読み込みの完了を待たず, 可能な限り早く戻る. 成功して戻ったとき, 処理は背後で行われている. 処理が始まった後は失敗も非同期である. この関数が失敗の値を戻すのは処理を開始できなかった場合のみである.

データの末尾には便利のためNUL文字が追加される. これはSDL_AsyncIOOutcomebytes_transferredの値には含まれない.

この関数はファイルの内容のバッファを確保する. SDL_AsyncIOOutcomebufferは不要になったときSDL_free()で解放する必要がある.

SDL_AsyncIOQueueは必ず指定しなければならない. クローズ処理が完了したとき, 新しいタスクが生成されここに追加される.

スレッドセーフ

この関数はどのスレッドからも安全に呼べる.

バージョン

SDL 3.2.0以降

関連項目

SDL Wikiへのリンク

SDL_LoadFileAsync - SDL Wiki