目次 - SDL 3.0 API(機能別) - プロセス - SDL_ProcessIO

SDL_ProcessIO

生成するプロセスの入出力ストリームの接続の列挙体

ヘッダ

SDL3/SDL_timer.h

SDL_PROCESS_STDIO_INHERITED入出力ストリームはアプリケーションから継承する
SDL_PROCESS_STDIO_NULL入出力ストリームを無視する
SDL_PROCESS_STDIO_APP入出力ストリームは新しく生成するアプリケーションが読み書きできるSDL_IOStreamに接続する
SDL_PROCESS_STDIO_REDIRECT入出力ストリームは既存のSDL_IOStreamにリダイレクトする

詳細

SDL_PROCESS_STDIO_INHERITEDを設定した場合, アプリケーションの入出力ストリームと同じ場所になる. これは標準出力と標準エラーのデフォルトである.

SDL_PROCESS_STDIO_NULLを設定した場合, WindowsならばNULに接続され, POSIXならば/dev/nullに接続される. これは標準入力のデフォルトである.

SDL_PROCESS_STDIO_APPを設定した場合, 新しく生成されたSDL_IOStreamに接続される. 標準入力はSDL_PROP_PROCESS_STDIN_POINTERまたはSDL_GetProcessInput()で, 標準出力はSDL_PROP_PROCESS_STDOUT_POINTERまたはSDL_ReadProcess()またはSDL_GetProcessOutput()で, 標準エラーはSDL_PROP_PROCESS_STDERR_POINTERで使用できる.

SDL_PROCESS_STDIO_REDIRECTを設定した場合, アプリケーションの既存のSDL_IOStreamに接続される. 標準入力ならばSDL_PROP_PROCESS_CREATE_STDIN_POINTERに, 標準出力ならばSDL_PROP_PROCESS_CREATE_STDOUT_POINTERに, 標準エラーならばSDL_PROP_PROCESS_CREATE_STDERR_POINTERに渡してプロセスを作成する. プロセスが生成された後, 既存のストリームはアプリケーションでクローズする必要がある.

SDL_IOStreamをSDL_PROCESS_STDIO_REDIRECTで使用するためには, SDL_PROP_IOSTREAM_WINDOWS_HANDLE_POINTERまたはSDL_PROP_IOSTREAM_FILE_DESCRIPTOR_NUMBERが設定されている必要がある. これはファイルとプロセスの入出力を表すストリームの両方に当てはまる.

バージョン

SDL 3.2.0以降

関連項目

SDL Wikiへのリンク

SDL_ProcessIO - SDL Wiki