MetadataReaderProvider.FromMetadataStream(Stream, MetadataStreamOptions, Int32) Metodo

Definizione

Crea un provider per un flusso delle dimensioni specificate con inizio nella posizione corrente.Creates a provider for a stream of the specified size beginning at its current position.

public static System.Reflection.Metadata.MetadataReaderProvider FromMetadataStream (System.IO.Stream stream, System.Reflection.Metadata.MetadataStreamOptions options = System.Reflection.Metadata.MetadataStreamOptions.Default, int size = 0);
static member FromMetadataStream : System.IO.Stream * System.Reflection.Metadata.MetadataStreamOptions * int -> System.Reflection.Metadata.MetadataReaderProvider

Parametri

stream
Stream

Istanza di Stream.A Stream instance.

options
MetadataStreamOptions

Opzioni che specificano la modalità di lettura delle sezioni dell'immagine dal flusso.Options specifying how sections of the image are read from the stream.

size
Int32

Dimensioni del BLOB di metadati nel flusso.Size of the metadata blob in the stream. Se non è specificato, si presuppone che il BLOB di metadati si estenda fino alla fine del flusso.If not specified, the metadata blob is assumed to span to the end of the stream.

Restituisce

Il nuovo provider.The new provider.

Eccezioni

stream è null.stream is null.

stream non supporta le operazioni read (lettura) e seek (ricerca).stream doesn't support read and seek operations.

Le dimensioni sono negative o si estendono oltre la fine del flusso.Size is negative or extends past the end of the stream.

Errore durante la lettura dal flusso (solo quando è specificato PrefetchMetadata).Error reading from the stream (only when PrefetchMetadata is specified).

Commenti

A meno che non sia specificato MetadataStreamOptions.LeaveOpen, la proprietà del flusso viene trasferita al MetadataReaderProvider al completamento della convalida degli argomenti.Unless MetadataStreamOptions.LeaveOpen is specified, ownership of the stream is transferred to the MetadataReaderProvider upon successful argument validation. Verrà eliminato dal MetadataReaderProvidere il chiamante non deve modificarlo.It will be disposed by the MetadataReaderProvider, and the caller must not manipulate it.

A meno che non sia specificato MetadataStreamOptions.PrefetchMetadata, nessun dato viene letto dal flusso durante la costruzione dell'MetadataReaderProvider.Unless MetadataStreamOptions.PrefetchMetadata is specified, no data is read from the stream during construction of the MetadataReaderProvider. Il flusso, inoltre, non deve essere modificato dal chiamante mentre il MetadataReaderProvider è attivo e non è disposto.Furthermore, the stream must not be manipulated by caller while the MetadataReaderProvider is alive and undisposed.

Se MetadataStreamOptions.PrefetchMetadata, l'MetadataReaderProvider avrà letto tutti i dati richiesti durante la costruzione.If MetadataStreamOptions.PrefetchMetadata, the MetadataReaderProvider will have read all of the data requested during construction. Di conseguenza, se viene specificato anche MetadataStreamOptions.LeaveOpen, il chiamante mantiene la proprietà completa del flusso ed è certo che non verrà modificato dall'MetadataReaderProvider dopo la costruzione.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.

Si applica a