Uses a background thread to prefetch data from this data stream.
If this data stream is already being prefetched in a background thread, this method may return
If this stream does not support reading or if some other error has occurred, for example an I/O error while loading small data stream into memory up-front.
Wraps this data stream in a buffered stream.
If this data stream is already buffered in memory, this method may return
An implementation may choose to perform optimizations, for example loading the whole stream content into memory for small amounts of data.
If both read and write operations are going to be used on the returned stream, seeking must be supported by this stream (see IDataStream.CanSeek).
Reads all remaining data from this stream and disposes it.
Converts this data stream into a random-access file.
It may be necessary to copy the data stream bytes to a temporary file.