bool SDL_ReadAsyncIO(SDL_AsyncIO *asyncio, void *ptr, Uint64 offset, Uint64 size, SDL_AsyncIOQueue *queue, void *userdata);
| SDL_AsyncIO * | asyncio | 非同期I/O操作 |
| void * | ptr | 読込先へのポインタ |
| Uint64 | offset | データ元の読込開始位置 |
| Uint64 | size | データ元からの読込バイト数 |
| SDL_AsyncIOQueue * | queue | 新しいSDL_AsyncIOの追加先キュー |
| void * | userdata | 処理結果に渡されるアプリケーション定義のポインタ |
この関数はデータ元からsizeバイトを読み込み, ptrが指定するエリアに書き込む.
この関数の読み込みは要求より少ないこともある.
この関数は読み込みの完了を待たず, 可能な限り早く戻る. 成功して戻ったとき, 処理は背後で行われている. 処理が始まった後は失敗も非同期である. この関数が失敗の値を戻すのは処理を開始できなかった場合のみである.
ptrは処理が完了するまで有効である必要があり, それまではシステムがいつでもアクセスする可能性がある.
これをスタック上に確保してはならない. 呼び出した関数から戻った後も必要な可能性があるためである.
SDL_AsyncIOQueueは必ず渡す必要がある. タスクの処理が完了すると, 新たにここに追加される.