Create a stdio_stream instance through the factory-compatible constructor contract.
ud != NULL, ud must point to a valid stdio_stream_ctor_ud_t.args != NULL, args must point to a valid stdio_stream_args_t.ud must not be NULL.args must not be NULL.out must not be NULL.((const stdio_stream_args_t *)args)->kind must be one of:STDIO_STREAM_KIND_STDINSTDIO_STREAM_KIND_STDOUTSTDIO_STREAM_KIND_STDERRSTREAM_STATUS_OK.*out.stdin when ((const stdio_stream_args_t *)args)->kind == STDIO_STREAM_KIND_STDINstdout when ((const stdio_stream_args_t *)args)->kind == STDIO_STREAM_KIND_STDOUTstderr when ((const stdio_stream_args_t *)args)->kind == STDIO_STREAM_KIND_STDERRSTREAM_STATUS_INVALID for invalid arguments.STREAM_STATUS_OOM if memory allocation fails.stdio_stream_create_stream().*out unchanged if out is not NULL.stream_destroy().stream_adapter_desc_t and invoked through the stream factory contract.stdin, stdout, stderr) and does not take ownership of them.ud is borrowed for the duration of the call.ud or args.