MetadataReaderProvider.FromPortablePdbStream Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Creates a provider for a stream of the specified size beginning at its current position.
public static System.Reflection.Metadata.MetadataReaderProvider FromPortablePdbStream (System.IO.Stream stream, System.Reflection.Metadata.MetadataStreamOptions options = System.Reflection.Metadata.MetadataStreamOptions.Default, int size = 0);
static member FromPortablePdbStream : System.IO.Stream * System.Reflection.Metadata.MetadataStreamOptions * int -> System.Reflection.Metadata.MetadataReaderProvider
Public Shared Function FromPortablePdbStream (stream As Stream, Optional options As MetadataStreamOptions = System.Reflection.Metadata.MetadataStreamOptions.Default, Optional size As Integer = 0) As MetadataReaderProvider
Parameters
- stream
- Stream
The stream.
- options
- MetadataStreamOptions
Options specifying how sections of the image are read from the stream.
- size
- Int32
Size of the metadata blob in the stream. If not specified, the metadata blob is assumed to span to the end of the stream.
Returns
A MetadataReaderProvider instance.
Exceptions
stream
is null
.
stream
doesn't support read and seek operations.
Size is negative or extends past the end of the stream.
Remarks
Unless MetadataStreamOptions.LeaveOpen is specified, ownership of the stream is transferred to the MetadataReaderProvider upon successful argument validation. It will be disposed by the MetadataReaderProvider, and the caller must not manipulate it.
Unless MetadataStreamOptions.PrefetchMetadata is specified, no data is read from the stream during the construction of the MetadataReaderProvider. Furthermore, the stream must not be manipulated by caller while the MetadataReaderProvider is alive and undisposed.
If MetadataStreamOptions.PrefetchMetadata, the MetadataReaderProvider will have read all of the data requested during construction. As such, if MetadataStreamOptions.LeaveOpen is also specified, the caller retains full ownership of the stream and is assured that it will not be manipulated by the MetadataReaderProvider after construction.