目次 - SDL 3.0 API(機能別) - I/Oストリーム - SDL_CloseIO

SDL_CloseIO

I/Oストリームをクローズして解放する

ヘッダ

SDL3/SDL_iostream.h

構文

bool SDL_CloseIO(SDL_IOStream *context);

引数

SDL_IOStream *context閉じるSDL_IOStream

戻り値

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

詳細

SDL_CloseIO()はSDL_IOStreamをクローズし後処理を行う. ストリームが使用する資源とSDL_IOStream自身が解放される. この関数が成功すると真を戻す. 掃き出しの(例えばディスクへの)書き込みに失敗すると偽を戻す.

どのような理由でも, ストリームの掃き出しに失敗するとこの関数はエラーを報告するが, その場合でも関数から戻るとSDL_IOStreamは無効になる.

この関数は掃き出しでオペレーティングシステムに対して書き込みを指示するが, 物理メディアに書き込まれる保証はない. データはOSのファイルキャッシュ内にあり, ディスクへの書き込みを待っている可能性がある. 即座にディクスに書き込むことが絶対的に重要で, ファイルキャッシュに追いつく前に電源が失われたとしても確実に書き込むには, クローズの前にSDL_FlushIO()を呼ぶ必要がある. 掃き出しには時間がかかり, システムとアプリケーションにとって非効率なため, あまり頻繁に行うべきではない.

スレッドセーフ

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

バージョン

SDL 3.2.0以降

関連項目

SDL Wikiへのリンク

SDL_CloseIO - SDL Wiki